mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-04-13 09:12:51 -07:00
* Improve IPC sync and multi-window browser views Add robust revision tracking and per-title save serialization to the IPC sync adaptor to ignore stale SSE echoes and prevent overlapping saves (titlesBeingSaved, lastSavedRevisions, pendingSaveOperations, queueSaveOperation, markSaveStart/Finish). Ensure deletions and loads update stored revisions. Disable backgroundThrottling for BrowserWindow/WebContentsView so renderer callbacks (SSE/observables) continue while windows/views are hidden. Update webContents view helpers and step definitions to target a specific window/page (pass Page/currentWindow through executeInBrowserView, getTextContent, click/type/press helpers), and improve view selection by matching target window URL. Update docs to document hidden-window behavior and revision filtering, and add/update feature tests for cross-window sync, hidden TidGi mini window sync, and a rapid-save tiddler scenario. * Handle main workspace routing for tiddlers Adjust FileSystemAdaptor routing so that when a tiddler matches the main workspace it uses the main watch path (watchPathBase) instead of treating it as a sub-wiki folder. Add an isMainWorkspaceMatch check to pick the correct target directory and to avoid generating sub-wiki file info for the main workspace. Also update tests and feature file: extend subWiki.feature to verify routing to the main workspace path when the workspace has a routing tag configured, and add unit tests to assert routing to the main wiki tiddlers folder and to the wiki root when useWikiFolderAsTiddlersPath is enabled. * review * v0.13.0-prerelease22
59 lines
3.5 KiB
Gherkin
59 lines
3.5 KiB
Gherkin
@tidgi-mini-window
|
|
Feature: TidGi Mini Window
|
|
As a user
|
|
I want to enable and use the TidGi mini window
|
|
So that I can quickly access TidGi from the system tray
|
|
|
|
Scenario: Enable tidgi mini window and test keyboard shortcut
|
|
Given I cleanup test wiki so it could create a new one on start
|
|
And I launch the TidGi application
|
|
And I wait for the page to load completely
|
|
And I click on an "open preferences button" element with selector "#open-preferences-button"
|
|
And I switch to "preferences" window
|
|
When I click on a "tidgi mini window section" element with selector "[data-testid='preference-section-tidgiMiniWindow']"
|
|
And I confirm the "tidgiMiniWindow" window does not exist
|
|
When I click on an "attach to tidgi mini window switch" element with selector "[data-testid='attach-to-tidgi-mini-window-switch']"
|
|
And I confirm the "tidgiMiniWindow" window exists
|
|
And I confirm the "tidgiMiniWindow" window not visible
|
|
Then I should see "always on top toggle and workspace sync toggle" elements with selectors:
|
|
| element description | selector |
|
|
| always on top toggle | [data-testid='tidgi-mini-window-always-on-top-switch'] |
|
|
| workspace sync toggle | [data-testid='tidgi-mini-window-sync-workspace-switch'] |
|
|
Then I click on a "shortcut register button" element with selector "[data-testid='shortcut-register-button']"
|
|
And I press the key combination "CommandOrControl+Shift+M"
|
|
And I click on a "shortcut confirm button" element with selector "[data-testid='shortcut-confirm-button']"
|
|
And I close "preferences" window
|
|
Then I switch to "main" window
|
|
When I press the key combination "CommandOrControl+Shift+M"
|
|
And I confirm the "tidgiMiniWindow" window exists
|
|
And I confirm the "tidgiMiniWindow" window visible
|
|
And I confirm the "tidgiMiniWindow" window browser view is positioned within visible window bounds
|
|
And I switch to "tidgiMiniWindow" window
|
|
Then the browser view should be loaded and visible
|
|
And I should see "我的 TiddlyWiki" in the browser view content
|
|
Then I switch to "main" window
|
|
When I press the key combination "CommandOrControl+Shift+M"
|
|
And I confirm the "tidgiMiniWindow" window exists
|
|
And I confirm the "tidgiMiniWindow" window not visible
|
|
|
|
Scenario: Hidden tidgi mini window catches up with main window changes when shown again
|
|
Given I configure tidgi mini window with shortcut
|
|
And I cleanup test wiki so it could create a new one on start
|
|
And I launch the TidGi application
|
|
And I wait for the page to load completely
|
|
Then I switch to "main" window
|
|
When I press the key combination "CommandOrControl+Shift+M"
|
|
And I confirm the "tidgiMiniWindow" window exists
|
|
And I confirm the "tidgiMiniWindow" window visible
|
|
Then I switch to "tidgiMiniWindow" window
|
|
And the browser view should be loaded and visible
|
|
Then I switch to "main" window
|
|
When I press the key combination "CommandOrControl+Shift+M"
|
|
And I confirm the "tidgiMiniWindow" window not visible
|
|
When I execute TiddlyWiki code in browser view: "$tw.wiki.addTiddler(new $tw.Tiddler({title: 'Index', text: 'TidgiMiniWindowHiddenSync123'}))"
|
|
And I press the key combination "CommandOrControl+Shift+M"
|
|
And I confirm the "tidgiMiniWindow" window visible
|
|
Then I switch to "tidgiMiniWindow" window
|
|
And the browser view should be loaded and visible
|
|
And I should see "TidgiMiniWindowHiddenSync123" in the browser view content
|
|
|