mirror of
https://github.com/tiddly-gittly/TidGi-Desktop.git
synced 2026-03-07 14:30:42 -08:00
Add end-to-end test for editing workspace and improve shutdown/database cleanup and edit-workspace behavior. Key changes: - features/editWorkspace.feature: new E2E scenario to verify save button behavior when enabling HTTP API and restarting a wiki. - src/main.ts: wrap before-quit cleanup in try/catch/finally, call databaseService.closeAllDatabases() early, and add logging to make shutdown order explicit. - src/services/database/*: add prepareDatabase pragmas (busy_timeout, synchronous) to SQLite config, make closeAppDatabase more robust with safer dataSource.destroy() handling, and add closeAllDatabases() to close all connections and backup stream to avoid better-sqlite3 crashes. - src/services/database/interface.ts: expose closeAllDatabases() in the service interface and IPC descriptor. - src/services/workspaces/interface.ts: mark runtime-only fields as non-config (add lastUrl, homeUrl, hibernated, active), move port to localOnlyFields and remove it from syncableConfigFields to avoid spurious save prompts. - src/services/workspacesView/index.ts: emit a test log marker ([test-id-WIKI_WORKER_RESTARTING]) when a workspace restart is initiated to help tests detect restart events. - src/windows/EditWorkspace/server.tsx: add data-testid attributes to server options accordion and HTTP API switch to support the new test selectors. - src/windows/EditWorkspace/useForm.ts: tighten effect dependencies and adjust originalWorkspace change handling to avoid unnecessary form resets during user edits. Why: fixes intermittent crashes on app quit related to better-sqlite3 by closing DBs first and finalizing resources, and stabilizes edit-workspace UI and tests by preventing runtime-only field changes from triggering save UI and by adding testable hooks. |
||
|---|---|---|
| .. | ||
| stepDefinitions | ||
| supports | ||
| agent.feature | ||
| aiCommitMessage.feature | ||
| configError.feature | ||
| crossWindowSync.feature | ||
| cucumber.config.js | ||
| defaultWiki.feature | ||
| editWorkspace.feature | ||
| filesystemPlugin.feature | ||
| gitLog.feature | ||
| hibernation.feature | ||
| logging.feature | ||
| newAgent.feature | ||
| oauthLogin.feature | ||
| preference.feature | ||
| smoke.feature | ||
| streamingStatus.feature | ||
| subWiki.feature | ||
| sync.feature | ||
| talkWithAI.feature | ||
| tiddler.feature | ||
| tidgiMiniWindow.feature | ||
| tidgiMiniWindowWorkspace.feature | ||
| tsconfig.json | ||
| vectorSearch.feature | ||
| workspaceConfig.feature | ||