1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-11-23 18:17:20 +00:00
Commit Graph

122 Commits

Author SHA1 Message Date
Jeremy Ruston
00686fc002 Preparing for v5.1.23-prerelease 2020-04-15 16:23:19 +01:00
Jeremy Ruston
b95723a022
Fix syncer to handler errors properly (#4373)
* First commit

* Add throttling of saves

Now we refuse to save a tiddler more often than once per second.

* Wait for a timeout before trying again after an error

* Modest optimisations of isDirty() method

* Synchronise system tiddlers and deletions from the server

Fixes two long-standing issues:

* Changes to system tiddlers are not synchronised from the server to the browser
* Deletions of tiddlers on the server are not propagated to browser clients

* Make sure we update the dirty status even if there isn't a task to perform

* Replace save-wiki button with popup sync menu

* Remove the "Server" control panel tab

We don't need it with the enhanced sync dropdown

* Add indentation to the save-wiki button

* Fix spacing in dropdown menu items

* Switch between cloud icons according to dirty status

* Add a menu item to copy syncer logs to the clipboard

* Improve animated icon

* Remove indentation from save-wiki button

@pmario the annoying thing is that using `\trim whitespace` trims significant whitespace too, so it means we have to use <$text text=" "/> when we need a space that won't be trimmed. For the moment, I've removed the indentation but will keep thinking about it.

* Further icon, UI and copy text tweaks

Move the icons and styles from the core into the TiddlyWeb plugin

* Clean up PR diff

* Tweak animation durations

* Break the actions from the syncer dropdown into separate tiddlers

@pmario I think this makes things a bit easier to follow

* Refactor syncadaptor creation and logging

The goal is for the syncadaptor to be able to log to the same logger as the syncer, so that the "copy syncer logs to clipboard" data is more useful.

* Don't transition the dirty indicator container colour, just the SVG's colour

* Only trigger a sync for changes to tiddlers we're interested in

Otherwise it is triggered by the creation of the alert tiddlers used to display errors.

* Restore deleting local tiddlers removed from the server

(I had commented it out for some testing and accidentally commited it).

* Guard against missing adaptor info

* We still need to trigger a timeout when there was no task to process

* Avoid repeatedly polling for changes

Instead we only trigger a timeout call at if there is a pending task (ie a tiddler that has changed but isn't yet old enough to save).

* Lazy loading: include skinny versions of lazily loaded tiddlers in the index.html

* Introduce _is_skinny field for indicating that a tiddler is subject to lazy loading

* Remove savetrail plugin from prerelease

It doesn't yet work with the new syncer

* Make the savetrail plugin work again

* Clear outstanding alerts when synchronisation is restored

* Logger: only remove alerts from the same component

Missed off 9f5c0de07

* Make the saving throttle interval configurable (#4385)

After switching Bob to use the core syncer the throttle interval makes saving feel very sluggish compared to the message queue setup that I had before.
The editing lock that I use to prevent conflicts with multiple users doesn't go away until the save is completed, and with the 1 second delay it means that if you edit a tiddler and save it than you have to wait one second before you can edit it again.

* Tweaks to appearance of alerts

* Exclude temp tiddlers from offline snapshots

Otherwise alerts will persist

* Tweak appearance of status line in dropdown

* Update release note

* Web server: Don't include full path in error messages

Fixes #3724

* In change event handler check for deletions

* Disable the official plugin library when the tiddlyweb plugin is loaded

* Hide error details from browser for /files/ route

See https://github.com/Jermolene/TiddlyWiki5/issues/3724#issuecomment-565702492 -- thanks @pmario

* Revert all the changes to the relationship between the syncer and the syncadaptor

Previously we had some major rearrangements to make it possible for the syncadaptor to route it's logging to the logger used by the syncer. The motivation is so that the "copy logs to clipboard" button is more useful.

On reflection, changing the interface this drastically is undesirable from a backwards compatibility perspective, so I'm going to investigate other ways to achieve the logger sharing

* Make the tiddlyweb adaptor use the syncer's logger

So that both are availavble when copying the syncer logs to the clipboard

* Update release note

* Support setting port=0 to get an OS assigned port

Quite useful

* Update code comment

* UI: Use "Get latest changes from server" instead of "Refresh"

* Add getUpdatedTiddlers() method to syncadaptor API

See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573579495

* Refactor revision handling within the syncer

Thanks @pmario

* Fix typo in tiddlywebadaptor

* Improve presentation of errors

See https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-573695267

* Add docs for getTiddlerRevision()

* Remove unused error animation

* Update comment for GET /recipes/default/tiddlers/tiddlers.json

* Optimise SVG cloud image

* Add optional list of allowed filters for get all tiddlers route

An attempt to address @Arlen22's concern here:

https://github.com/Jermolene/TiddlyWiki5/pull/4373#pullrequestreview-342146190

* Fix network error alert text translatability

* Fix error code and logging for GET /recipes/default/tiddlers/tiddlers.json

Thanks @Arlen22

* Flip GET /recipes/default/tiddlers/tiddlers.json allowed filter handling to be secure by default

* Validate updates received from getUpdatedTiddlers()

* Add syncer method to force loading of a tiddler from the server

* Remove the release note update to remove the merge conflict

* Fix crash when there's no config section in the tiddlywiki.info file

* Use config tiddler title to check filter query (merge into fix-syncer) (#4478)

* Use config tiddler title to check filter query

* Create config-tiddlers-filter.tid

* Add config switch to enable all filters on GET /recipes/default/tiddlers/tiddlers.json

And update docs

* Fix bug when deleting a tiddler with a shadow

Reported by @kookma at https://github.com/Jermolene/TiddlyWiki5/pull/4373#issuecomment-604027528

Co-authored-by: jed <inmysocks@fastmail.com>
Co-authored-by: Arlen22 <arlenbee@gmail.com>
2020-03-30 15:24:05 +01:00
Simon Huber
3c365a2567 EditTemplate optimizations (#4104)
#4093 and #4100 are bundled in this PR

* qualified state-tiddlers for the tags input and fieldname + fieldvalue inputs
* newTagName, newFieldNameTiddler and newFieldValueTiddler variables defined in EditTemplate (all qualified through `qualify` macro)
* save-tiddler-actions macro in the EditTemplate (reused by the save-tiddler button)
* enter (configurable) in the fieldvalue field adds the field and sets focus to the next fieldname input

Edit:

* storyview="pop" for fields list
2019-10-14 14:31:57 +01:00
Simon Huber
66b68f4a58 Allow configuration of default focus field of new tiddlers (#4238)
* add editFocus attribute to edit widget

* add focus condition to title editTemplate

* add focus condition to body-editor editTemplate

* add focus attribute to type editTemplate

* add focus attribute to fields editTemplate

* add focus attribute to tag-picker

* add $:/config/AutoFocus tiddler

... default focus is title

* Update Basics.tid

* Update ControlPanel.multids

* Create minifocusswitcher.tid

* Update minifocusswitcher.tid

* Update Basics.tid

* Update body-editor.tid
2019-10-12 12:04:10 +01:00
Jeremy Ruston
7f9823c5b2 Dynamic plugins: Fix registration of themes and languages 2019-09-16 13:17:09 +01:00
Jeremy Ruston
1c23059204
Dynamic loading/unloading of plugins (#4259)
* First pass at dynamic loading/unloading

* Show warning for changes to plugins containing JS modules

* Use $:/config/RegisterPluginType/* for configuring whether a plugin type is automatically registered

Where "registered" means "the constituent shadows are loaded".

* Fix the info plugin

The previous mechanism re-read all plugin info during startup

* Don't prettify JSON in the plugin library

* Indicate in plugin library whether a plugin requires reloading

* Display the highlighted plugin name in the plugin chooser

And if there's no name field fall back to the part of the title after the final slash.
2019-09-16 12:15:39 +01:00
Jeremy Ruston
1631f21a6b Preparation for v5.1.22-prerelease 2019-09-10 17:20:36 +01:00
Jeremy Ruston
83386f34b5 Restore performance instrumentation to be disabled by default
Fixes #4201
2019-08-30 10:42:01 +01:00
Jeremy Ruston
a986e4f7d6 Prepare for v5.1.21-prerelease 2019-08-09 15:38:36 +01:00
Jeremy Ruston
ad175e222b Preparing for v5.1.20 release 2019-08-09 14:16:39 +01:00
Simon Huber
fd88be4173
Update ShortcutInfo.multids 2019-07-14 07:25:50 +02:00
Simon Huber
880a2aa153
Update ShortcutInfo.multids 2019-07-14 07:25:02 +02:00
Simon Huber
173e9c6c3a
add advanced search key combination ctrl-shift-A 2019-07-14 07:23:47 +02:00
Simon Huber
ea0e1357bf
Update ShortcutInfo.multids 2019-07-04 08:59:23 +02:00
Simon Huber
ef7210adf4
add alt-shift-S to toggle sidebar 2019-07-04 08:57:49 +02:00
Simon Huber
c578566dea
add $:/config/ui/EditTemplate 2019-07-03 15:09:32 +02:00
Simon Huber
8a0aef4dcb
add $:/config/ui/ViewTemplate 2019-07-03 15:08:43 +02:00
Jeremy Ruston
7781cb1f8b Streamline wording for sidebar search shortcut 2019-06-28 17:35:17 +01:00
Jeremy Ruston
bf51ae0019 Add keyboard shortcut for focusing sidebar search
Fixes #4020

Fixes #4025
2019-06-28 17:28:24 +01:00
Jeremy Ruston
e8d1fbba6c Performance Instrumentation: Track execution times for individual filters
Fixes #3941
2019-05-10 15:56:01 +01:00
Jermolene
eea036f803 Update plugin library location for 5.1.19 2018-12-15 16:07:49 +00:00
Jermolene
e466f62e7e Fix default global keyboard shortcuts for Mac
Fixes #3610
2018-12-02 15:47:32 +00:00
Jermolene
0ecc7c6071 Update plugin library to 5.1.18 2018-12-01 15:21:31 +00:00
BurningTreeC
22caef9e34 Fix NewImageType config (#3523)
* fix new-line in NewImageType config

sorry for this, too

* fix NewImageType config tiddler

* use "text" field for config
2018-11-07 16:51:55 +00:00
BurningTreeC
9f8a74c6d9 add new-tiddler new-journal new-image keyboard shortcuts (#3512)
* add new-tiddler action tiddler

* use new-tiddler action-tiddler

* use new-tiddler action-tiddler correctly

* use new-journal action-tiddler

* create new-journal action-tiddler

* use new-image action-tiddler

* add new-image action-tiddler

* create new-image type config

users may prefer png over jpeg for example

* add new-tiddler keyboard shortcut

* add keyboard shortcut configs

* add keyboard shortcuts ShortcutInfo

* add new-journal Keyboard shortcut

* add new-image keyboard shortcut

* Create Hidden Setting NewImageType.tid
2018-11-07 12:59:21 +00:00
Jermolene
09112ed455 Add support for webp, heic, and heif image formats
https://en.wikipedia.org/wiki/WebP
https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format
2018-08-21 11:46:46 +01:00
Jermolene
6e2b4ebf3e Remove print-tiddler-window button for v5.1.17
We'll reconsider it for v5.1.18
2018-05-12 11:20:43 +01:00
Jermolene
e11282cc08 Fix name of print tiddler button 2018-05-10 11:36:57 +01:00
Jermolene
2beae0db2e Tweaks for the new print tiddler toolbar button 2018-05-10 11:35:18 +01:00
Jermolene
aab408109f Prepare for v5.1.17 2018-05-02 15:28:17 +01:00
Mario Pietsch
2e8eb15536 Tag completion min length (#3190)
* tested with tw5.com index.html

* Controls the length of the input before the tag list is filtered
2018-04-02 19:43:18 +01:00
BurningTreeC
44a7ca7e43 Fix duplicate shortcut (#3187) 2018-03-23 11:07:50 +00:00
BurningTreeC
54f2c4c34f add transcludify & linkify shortcuts (#3174)
* add transcludify & linkify shortcuts

* correct shortcuts
2018-03-19 15:55:35 +00:00
TheDiveO
29e4965d2b implements default setting for the More sidebar in the same way as the existing default setting which sidebar tab to open as default; adds control panel setting; adds en-GB and de-DE lingo (#3135) 2018-03-05 11:14:30 +00:00
Jermolene
0224da34a9 Preparing for 5.1.15 2017-11-11 14:56:03 +00:00
Jermolene
29364cbd08 Change http://*.tiddlywiki.com/* to https:// 2017-11-11 11:56:20 +00:00
Jermolene
cf9085b5ce Stop syncing the storylist
Reverting e3544ff3c2
2017-06-24 17:59:28 +01:00
Jermolene
e3544ff3c2 Don't sync $:/StoryList
Otherwise, multiple users logged into the same server overwrite one
anothers story list.

@danielo515 would this change have any impact on NoteSelf?
2017-05-04 17:29:41 +01:00
Jermolene
02331365f0 Update plugin library location 2017-04-26 14:35:24 +01:00
Jermolene
b5059c612a Adds support for autosave with the download saver
Also does some reorganisation of control panel to move “saving” related
settings together, and expose a UI for savers to plug into.

Fixes #2741
2017-01-30 18:19:28 +00:00
Jermolene
16bb65d17f Introduce tiddler manager 2016-11-29 08:36:07 +00:00
Jeremy Ruston
a9b54d6fce Revert "Add provisional version of new tagger manager" 2016-11-28 10:40:55 +00:00
Jermolene
96708ecf65 Manager styling tweaks
* Make expand/collapse state be global across all tiddlers
* Remove “Show raw text” option, now that we’ve got the two expandable
areas for raw and wikified text
* Hide raw text by default
* Accentuate currently open tiddler
2016-11-28 10:01:30 +00:00
Jermolene
b00c1c7290 Add select box for displaying tags vs. tiddlers 2016-11-27 14:52:39 +00:00
Jermolene
e98d324e66 Add provisional version of new tagger manager
For discussion
2016-11-26 12:48:47 +00:00
Jermolene
d1121787c0 Add new button to temporarily suspend timestamps
Useful when you want to make an edit but preserve the modification
date/time.
2016-11-23 18:20:31 +00:00
Jermolene
b3273bcbda Add "sticky" mode for tiddler info panel
A new option in control panel to cause the info panel to stay open
until it is explicitly closed
2016-11-23 18:17:54 +00:00
Jermolene
0b76c327c2 Add page print button
cc @silvyn
2016-10-20 09:44:52 +01:00
Jermolene
989cee5059 Suppress search results if search string is too short
Fixes #2603
2016-10-11 09:27:26 +01:00
Jermolene
b24488174c Prepare for 5.1.13-prerelease 2016-07-13 12:14:24 +01:00