Commit Graph
5510 Commits
Author SHA1 Message Date
Jeremy Ruston fd96e5c8cb Add tests for changecount, scheme imports, derived palette entries and readability tests 2026-07-23 13:32:19 +01:00
Jeremy Ruston 002fd550a8 Store palette customisations in a layer above the palette itself
Customisations no longer modify the palette tiddler. They are stored in a
tiddler titled $:/config/PaletteCustomisations/<palette-title> that imports
the palette and is compiled in its place, so plugin palettes continue to
receive updates. Adds a reset button to the palette chooser, and a warning
banner and per-entry markers to the palette editor. Also excludes the type
field from palette field inheritance, which previously broke compilation of
JSON data tiddler palettes
2026-07-22 18:18:34 +01:00
Jeremy Ruston c1d9b07b20 Standardise on customisations terminology for palette customisation panels
Renames the settings field to customisations, the panel tiddlers from
Settings to Customisations, and updates the docs to match
2026-07-22 17:36:20 +01:00
Jeremy Ruston 187849a6a9 Fix palette fallback wrongly treating shadow palettes as missing
The is[missing] operator returns true for shadow tiddlers, so the fallback
introduced for missing palettes made every plugin palette compile as Vanilla
2026-07-22 17:36:20 +01:00
Jeremy Ruston d5f8a04230 Fall back to the Vanilla palette when the current palette is missing 2026-07-22 17:11:02 +01:00
Jeremy Ruston 73ad4f633b Document the palette plugins
Adds an impact note for the palettes moving to the Legacy Palettes plugin,
readmes for both palette plugins, and official plugin doc tiddlers on tw5.com
2026-07-22 17:03:29 +01:00
Jeremy Ruston df80a42d13 Restrict filter pragmas to the start of a filter
Pragmas appearing after a filter run now return an error. This removes the
ambiguity where the subfilter and filter operators saw the final pragma value
regardless of their position. Adds generic docs for filter pragmas and an
impact note for titles beginning with double colons
2026-07-22 16:13:46 +01:00
Jeremy Ruston 07d5f55abe Impact notes for the colour macro alpha suffix idiom and the lingo macro 2026-07-22 15:43:20 +01:00
Jeremy Ruston a0ee17989b Remove the unimplemented DeltaPhi suffix from colour contrast callers 2026-07-22 15:33:41 +01:00
Jeremy Ruston 503c60f666 Add colour-composite operator and use it to fix contrast tests for translucent colours 2026-07-22 15:05:49 +01:00
Jeremy Ruston 4259ce4979 Docs updates 2026-07-21 18:49:42 +01:00
Jeremy Ruston 7f808bc64f Fix default colour space for colour-interpolate filter 2026-07-20 18:48:29 +01:00
Jeremy Ruston be9dc59f73 Fix test for recursive palettes 2026-07-20 18:47:56 +01:00
Jeremy Ruston 1103b733fe Guard colour operators against achromatic hues and unparseable target colours 2026-07-19 15:57:28 +01:00
Jeremy Ruston 3dba0f2938 Report palette entries with recursive definitions
Recursive definitions are blanked and reported via the readability test mechanism
2026-07-19 15:57:28 +01:00
Jeremy Ruston ff8b077b0e Fix palette preview handling of scheme-suffixed entries and circular imports
The scheme-suffixed lookup key was constructed backwards, and imported
palettes are now tracked in an exclusions list to guard against loops
2026-07-19 15:57:28 +01:00
Jeremy Ruston 66b5d3f0fd Fix compilation of scheme-suffixed palette entries
Suffixed entries are now copied after unsuffixed entries so that they override
them as documented, the names and values are sorted consistently, and a
malformed <%endif%> is corrected
2026-07-19 15:57:28 +01:00
Jeremy Ruston ec5d73c3a8 Fix incorrect signature for calling wiki.filterTiddlers method 2026-07-19 15:57:27 +01:00
Jeremy Ruston b71c3044ce Docs 2026-07-19 15:57:27 +01:00
Jeremy Ruston f09cc75fb6 Another palette typo 2026-07-19 13:23:45 +01:00
Jeremy Ruston 6a2670592f Update release notes 2026-07-18 15:00:22 +01:00
Jeremy Ruston 3862082f64 Update release note 2026-07-18 11:55:13 +01:00
Jeremy Ruston b7d2cb9b78 Remove typo 2026-07-18 11:55:01 +01:00
Jeremy Ruston 29c3a8d412 Improve introduction 2026-07-18 11:54:43 +01:00
Jeremy Ruston 46ffd7ebf3 Default to the hire jeremy banner in the sidebar 2026-07-13 16:02:28 +01:00
Jeremy Ruston 65605d7b72 Typo 2026-07-13 15:56:51 +01:00
Jeremy Ruston 038d9e474e Merge branch 'master' into colour-improvements 2026-07-13 14:47:21 +01:00
Mario PietschandGitHub f5317dc225 Fix Node.js deprecated warning (#9742)
* Fix Node.js deprecated warning

* Add ChangeNote

* Change deprecation to bugfix for DEP0169 warning

Updated change type from 'deprecation' to 'bugfix' for the Node.js server's handling of the DEP0169 warning.
2026-07-13 13:43:07 +02:00
lin onetwoandGitHub c952450c2e fix(filter): optimize tag[] and !tag[] with Set for O(1) lookup (#9715)
* fix(filter): optimize tag[] and !tag[] with Set for O(1) lookup, resolves performance gap vs search:tags[]

* useless test

* note

* note
2026-07-13 13:37:05 +02:00
saqimtiaz c9f1154643 chore: preparing for v5.5.0 2026-07-10 12:41:53 +02:00
Jeremy Ruston 748f04c9e3 Update TiddlyWiki release checklist 2026-07-10 11:01:22 +01:00
saqimtiaz 967140a148 Merge branch 'master' of github.com:TiddlyWiki/TiddlyWiki5 2026-07-10 11:37:07 +02:00
saqimtiaz 95e68b0437 chore: added missing changenotes 2026-07-10 11:36:59 +02:00
Jeremy Ruston 8ddede1611 Missing v5.4.1 release notes 2026-07-10 10:36:20 +01:00
saqimtiaz 00e5f48a59 chore: preparing for v5.4.1 release 2026-07-10 11:12:01 +02:00
Jeremy Ruston 839fa2417d Fix CI issues
1. Remove references to obsolete plugins
2. Fix duplicate language string entry
2026-07-09 14:12:10 +01:00
Saq ImtiazandGitHub 1b8610e4d8 Fixes issue with copying cross window event properties (#9905)
* fix: issue with copying cross window event properties

* docs: added changenote
2026-07-09 12:50:12 +01:00
Mario PietschandGitHub ca063cbe90 Add quick test runner (#9743) 2026-07-08 13:56:16 +01:00
Jeremy Ruston 7d4328b2fb Merge branch 'master' of https://github.com/TiddlyWiki/TiddlyWiki5 2026-07-08 12:02:55 +01:00
Jeremy Ruston 1ae224ab74 Merge branch 'tiddlywiki-com' 2026-07-08 12:02:50 +01:00
Mario PietschandGitHub c308fc44c4 Fix invalid source positions in parse tree nodes (#9882)
* Fix invalid source positions in parse tree nodes

Several wikitext rules recorded start and end offsets that did not match
the source they represent. The offsets are only used for source position
mapping, not rendering or serialization, so output is unchanged and
source.slice(start, end) now equals the node text.

* import: the filter attribute start was set to the whole source string
  instead of the numeric offset. It used this.parser.source where it
  meant this.parser.pos, so every \import node carried a copy of the
  entire source as its start.

* codeinline: the text node end pointed past the closing backtick, so the
  span included the closing delimiter and could read one or two characters
  too far. It now ends where the content ends.

* wikilinkprefix and extlink: a suppressed link such as ~SomeLink or
  ~http://example.com produced a text node whose span included the
  leading ~ while its text did not. The span now starts after the ~.

* Add 5.4.1 change note for #9882

Document the parse tree source position fixes: inline code, suppressed
external links, suppressed wikilinks, and the import filter rule.

* Add tests for parse tree source positions

Cover the four wikitext parser rules whose `start` and `end` offsets are
corrected in this PR: codeinline, extlink, wikilinkprefix, and import.
2026-07-08 10:03:11 +01:00
Jeremy Ruston bd052a33f8 Correct v5.4.1 banner 2026-07-08 09:45:29 +01:00
superuser-doesandGitHub bb766c36c3 [DOCS] Fix survey image link (#9897) 2026-07-01 15:55:49 +02:00
s793016andGitHub e730836d6f Freelinks Plugin: Add configurable MaxLinks cap and remove search truncation (#9836)
* Update aho-corasick.js

Optimized Aho-Corasick string matching algorithm implementation with enhanced
performance and error handling for TiddlyWiki freelinking functionality.
 
- Uses WeakMap for failure links. WeakMap keys are compared by object identity
  (reference equality), which is required here because trie nodes are plain
  objects — a regular {} map would not work because JavaScript only supports
  string and Symbol keys, forcing object keys to be coerced to strings.
- Outputs are merged at build time (classic AC optimization), eliminating the
  need to walk the failure chain during search.
- search() converts case per character to avoid Unicode index desync (e.g.
  Turkish İ expands under toLowerCase(), shifting subsequent indices).
- No match count cap in search(); truncation is handled at the render stage
  by processTextWithMatches() to avoid silently dropping matches mid-text.
- Optional word boundary filtering: CJK always allowed; Latin requires
  non-word characters on both sides.

* Update text.js

- Render output capped by $:/config/Freelinks/MaxLinks (default 500).
  The cap applies to the final set of non-overlapping rendered links, not to
  the raw search results: search always runs to completion so that the
  longest-match selection has full information. Text beyond the cap remains
  as plain text rather than being silently omitted.

* Create config-Freelinks-MAX_LINKS_TIDDLER.tid

setting for MAX_LINKS_TIDDLER

* Update and rename config-Freelinks-MAX_LINKS_TIDDLER.tid to config-Freelinks-MaxLinks.tid

fix typo

* Update settings.tid

add MaxLinks setting

* Update readme.tid

add MaxLinks setting text

* Create #9836.tid

release note

* Update tiddlywiki.info

add freelinks for test build

* Update macros-view.tid

fix structure problem

* Update text.js

add IGNORE_CASE_TIDDLER  to whitelist

* Rename #9836.tid to #9836.tid

move to 5.4.1

* Update text.js

I deleted the wrong line last time, so I'm putting it back.

* Update text.js

eslint fix

* Update text.js

refactor: inline plain-text via dynamic core reference

* Delete plugins/tiddlywiki/freelinks/plain-text.js

remove plain-text.js: now inlined via dynamic core reference

* Update text.js

restore plain-text.js, remove new Function extraction

* Add files via upload

restore plain-text.js, remove new Function extraction

* Update #9836.tid

update new bug

* Update #9836.tid

tw version fix

* Update tiddlywiki.info

reverse to original
2026-06-20 19:25:19 +01:00
IchijikuIchigoandGitHub 635f6b5e76 [ja_JP] Update of Japanese translations (#9870)
* [ja_JP] Japanese translation update from commit: 3ed481b

* [ja_JP] Japanese translation update from commit: ad3587b

* [ja_JP] Japanese translation update from commit: 6bc77cf

* [ja_JP] Japanese translation update from commit: 5d1c1ea, c4991a5

* [ja_JP] Japanese translation update from commit: 37a4613

* [ja_JP] Japanese translation update from commit: 748ef8a

* [ja_JP] Japanese translation update from commit: 92caa73

* [ja_JP] Japanese translation update from commit: 87ba87b

* [ja_JP] Japanese translation update from commit: 15ba415

* [ja_JP] Japanese translation update from commit: 64ee20e

* [ja_JP] Japanese translation update from commit: 5d1c1ea,add3d42

* [ja_JP] Japanese translation update from commit: 64ee20e

* [ja_JP] Japanese translation update from commit: b001333

* [ja_JP] Japanese translation update from commit: b434b9d

* [ja_JP] Japanese translation update from commit: 3983086
2026-06-05 16:23:47 +01:00
Saq ImtiazandGitHub 40d0d542f7 playwright: revert timeout to 60s 2026-06-04 09:46:36 +02:00
Saq ImtiazandGitHub a66d9a596c playwright: change timeout to 45s 2026-06-04 09:37:21 +02:00
Saq ImtiazandGitHub 23063ea9c8 playwright: increase timeout to 60s 2026-06-04 09:32:23 +02:00
Jeremy Ruston 9c1f69e9c1 Revert "[ja_JP] Update of Japanese translations (#9853)"
Reverting as was inadvertently merged to tiddlywiki-com

This reverts commit 14b11575d0.
2026-06-04 08:28:09 +01:00
IchijikuIchigoandGitHub 14b11575d0 [ja_JP] Update of Japanese translations (#9853)
* [ja_JP] Japanese translation update from commit: 3ed481b

* [ja_JP] Japanese translation update from commit: ad3587b

* [ja_JP] Japanese translation update from commit: 6bc77cf

* [ja_JP] Japanese translation update from commit: 5d1c1ea, c4991a5

* [ja_JP] Japanese translation update from commit: 37a4613

* [ja_JP] Japanese translation update from commit: 748ef8a

* [ja_JP] Japanese translation update from commit: 92caa73

* [ja_JP] Japanese translation update from commit: 87ba87b

* [ja_JP] Japanese translation update from commit: 15ba415

* [ja_JP] Japanese translation update from commit: 64ee20e

* [ja_JP] Japanese translation update from commit: 5d1c1ea,add3d42

* [ja_JP] Japanese translation update from commit: 64ee20e

* [ja_JP] Japanese translation update from commit: b001333

* [ja_JP] Japanese translation update from commit: b434b9d

* [ja_JP] Japanese translation update from commit: 3983086
2026-06-04 08:25:12 +01:00