Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
9a48ab2
feat(api): add notebookSyncLog table to Drizzle schema
tomymaritano Mar 11, 2026
3d49703
feat(storage): add notebook sync tracking migration with triggers
tomymaritano Mar 11, 2026
b6c0d96
feat(desktop): add notebook sync methods to ApiClient
tomymaritano Mar 11, 2026
403642e
test(sync-core): add tree validation unit tests for notebook sync
tomymaritano Mar 11, 2026
628b16b
feat(api): add notebook sync pull/push endpoints with tree validation
tomymaritano Mar 11, 2026
a9fde10
feat(storage): add sync methods to SQLiteNotebookRepository
tomymaritano Mar 11, 2026
26401e3
feat(desktop): integrate notebook sync into SyncService
tomymaritano Mar 11, 2026
db02671
fix(desktop): fix Timestamp type casts and use static createNotebook …
tomymaritano Mar 11, 2026
535d53c
refactor(sync-core): extract shared tree validation to sync-core package
tomymaritano Mar 11, 2026
4055595
chore: format notebook sync code and fix unused variable
tomymaritano Mar 11, 2026
305bcb5
test(sync-core): add SyncQueue unit tests
tomymaritano Mar 11, 2026
fcd26b9
test(sync-core): add SyncEngine unit tests
tomymaritano Mar 11, 2026
a88f19d
style: format sync-core test files
tomymaritano Mar 11, 2026
488359e
feat: surface sync conflicts in status indicator
tomymaritano Mar 11, 2026
f34ab5e
feat(storage): add tag sync tracking migration (UUID + triggers)
tomymaritano Mar 11, 2026
4d2c4ac
feat(api): add tagSyncLog table to server schema
tomymaritano Mar 11, 2026
fff8cd8
feat(api): add tag sync pull/push endpoints
tomymaritano Mar 11, 2026
0782ea8
feat(storage): add tag sync repository methods
tomymaritano Mar 11, 2026
1375fcd
fix(storage): remove double-invocation on transaction calls
tomymaritano Mar 11, 2026
51e8112
feat(desktop): add tag sync API client methods
tomymaritano Mar 11, 2026
2e60230
feat(desktop): add IPC bridge for tag sync
tomymaritano Mar 11, 2026
26f2757
feat(desktop): integrate tag sync into sync cycle
tomymaritano Mar 11, 2026
043148c
fix: address PR review feedback for notebook sync
tomymaritano Mar 11, 2026
e8250b8
Merge pull request #117 from tomymaritano/feature/notebook-sync
tomymaritano Mar 11, 2026
c913465
Merge pull request #118 from tomymaritano/feature/sync-tests
tomymaritano Mar 11, 2026
26bccb5
Merge pull request #119 from tomymaritano/feature/conflict-ui-polish
tomymaritano Mar 11, 2026
31a880e
Merge remote-tracking branch 'origin/develop' into feature/tag-sync
tomymaritano Mar 11, 2026
63610e4
Merge pull request #120 from tomymaritano/feature/tag-sync
tomymaritano Mar 11, 2026
73f9938
chore: add CodeRabbit configuration
tomymaritano Mar 11, 2026
cd01862
feat(plugin-api): add PluginHookOptions type for remark/rehype regist…
tomymaritano Mar 11, 2026
e1eb092
feat: add safePluginWrapper for graceful plugin failure handling
tomymaritano Mar 11, 2026
cb9a82e
feat: pass metadata through plugin registration in PluginRegistry
tomymaritano Mar 11, 2026
aa2bbf6
feat(desktop): add CSS for plugin error block boundaries in preview
tomymaritano Mar 11, 2026
46ae6de
feat: hot-reload preview when toggling plugins on/off
tomymaritano Mar 11, 2026
fbb5448
feat(plugin-api): upgrade remark/rehype stores with metadata, priorit…
tomymaritano Mar 11, 2026
4a087e7
test(plugin-api): update tests for new metadata and safePluginWrapper
tomymaritano Mar 11, 2026
3902345
docs: add remark/rehype hooks enhancement design plan
tomymaritano Mar 11, 2026
47fec79
docs: add theme system enhancement design
tomymaritano Mar 11, 2026
614b26f
docs: add theme system implementation plan
tomymaritano Mar 11, 2026
06a147d
feat(plugin-api): add theme types with token whitelist and ThemeRegis…
tomymaritano Mar 11, 2026
f5f8f25
feat(plugin-api): add useThemeOverrides hook and registerTheme contex…
tomymaritano Mar 11, 2026
5fe153e
feat: add nativeTheme IPC sync between main, preload, and renderer
tomymaritano Mar 11, 2026
56ba2a5
feat: add theme settings schema, UI selector, and startup restore
tomymaritano Mar 11, 2026
1f61ed7
test: add theme token validation and ThemeRegistry store tests
tomymaritano Mar 11, 2026
bf58f4a
docs: add Data Access API design document
tomymaritano Mar 11, 2026
7bda4c1
docs: add Data Access API implementation plan
tomymaritano Mar 11, 2026
b44fc75
feat(plugin-api): add DataAPI types, query options, and DataAccessError
tomymaritano Mar 11, 2026
9e16eec
feat(plugin-api): add DataAPI interface, bridge, and createDataAPI fa…
tomymaritano Mar 11, 2026
78a20cd
test(plugin-api): add comprehensive tests for createDataAPI
tomymaritano Mar 11, 2026
3d16297
feat(plugin-api): wire DataAPI into PluginRegistry and PluginHost
tomymaritano Mar 11, 2026
d8f8ca6
feat(plugin-api): export DataAPI types and factory from barrel
tomymaritano Mar 11, 2026
589fe17
feat: wire DataAPI bridge to IPC in App.tsx and fire data events
tomymaritano Mar 11, 2026
9f6f229
feat(api): add device list and rename endpoints
tomymaritano Mar 11, 2026
48195ab
feat(api): add device revoke and revoke-others endpoints
tomymaritano Mar 11, 2026
8ea9877
fix(api): reject token refresh for revoked devices
tomymaritano Mar 11, 2026
016a524
feat(desktop): add device management IPC handlers
tomymaritano Mar 11, 2026
0cd1214
feat(desktop): expose devices IPC bridge in preload
tomymaritano Mar 11, 2026
308c229
feat(desktop): add device management UI in settings
tomymaritano Mar 11, 2026
d1c3cb7
test(api): scaffold test infrastructure with vitest and helpers
tomymaritano Mar 11, 2026
2cb58bd
test(api): add note sync pull endpoint tests
tomymaritano Mar 11, 2026
fcc9d96
test(api): add note sync push and conflict detection tests
tomymaritano Mar 11, 2026
9f137d3
test(api): add notebook sync and tree validation tests
tomymaritano Mar 11, 2026
36e1a5b
test(api): add tag sync and sync status endpoint tests
tomymaritano Mar 11, 2026
d104dd1
test: add encryption round-trip tests for AES-256-GCM
tomymaritano Mar 11, 2026
a6b3558
docs: add sync hardening design and implementation plan
tomymaritano Mar 11, 2026
0e435e2
feat(storage): add sync_history migration for sync cycle metrics
tomymaritano Mar 11, 2026
080cb68
feat(storage): add sync history repository methods
tomymaritano Mar 11, 2026
3646cb2
feat(api-client): add bandwidth tracking to request method
tomymaritano Mar 11, 2026
57d4303
feat(sync): record sync history with per-cycle metrics and bandwidth
tomymaritano Mar 11, 2026
8153c78
feat(ipc): expose sync history via IPC and preload bridge
tomymaritano Mar 11, 2026
fc9ab96
feat(sync): auto-resume sync on network reconnect with debounce
tomymaritano Mar 11, 2026
99b3f56
feat(ui): add sync history section to Settings with bandwidth display
tomymaritano Mar 11, 2026
f4e904c
style: fix Prettier formatting across theme system and sync files
tomymaritano Mar 11, 2026
1e1a44c
docs: add Phase 2 completion design (2.4 + 2.6)
tomymaritano Mar 11, 2026
5af6419
docs: add Phase 2 completion implementation plan (2.4 + 2.6)
tomymaritano Mar 11, 2026
71bf473
fix(plugins): add enum and range to pluginScanner config schema type
tomymaritano Mar 11, 2026
249a2ad
feat(plugin-api): add validateConfigValue for config schema enforcement
tomymaritano Mar 11, 2026
801a738
feat(plugins): validate config values before persisting
tomymaritano Mar 11, 2026
17c9ff2
feat(plugins): track load timing per plugin in runtime store
tomymaritano Mar 11, 2026
3dabece
feat(plugins): add dev-mode Plugin Inspector with load timings and er…
tomymaritano Mar 11, 2026
38a5170
fix: address CodeRabbit review comments on remark/rehype hooks
tomymaritano Mar 11, 2026
c099dbd
fix: address CodeRabbit review comments on theme system
tomymaritano Mar 11, 2026
b8a4e81
docs: add theme system implementation plan
tomymaritano Mar 11, 2026
e013638
feat(plugin-api): add theme types with token whitelist and ThemeRegis…
tomymaritano Mar 11, 2026
c87de4e
feat(plugin-api): add useThemeOverrides hook and registerTheme contex…
tomymaritano Mar 11, 2026
2c753b3
feat: add nativeTheme IPC sync between main, preload, and renderer
tomymaritano Mar 11, 2026
6948a26
feat: add theme settings schema, UI selector, and startup restore
tomymaritano Mar 11, 2026
ff0e19b
test: add theme token validation and ThemeRegistry store tests
tomymaritano Mar 11, 2026
35c346e
style: fix Prettier formatting across theme system and sync files
tomymaritano Mar 11, 2026
35f3804
docs: complete documentation update for v0.8
tomymaritano Mar 11, 2026
09cf396
feat: add docs links, bug reporting, and contributor onboarding
tomymaritano Mar 11, 2026
d773955
Merge pull request #122 from tomymaritano/feature/theme-system
tomymaritano Mar 11, 2026
bc424cb
style: fix prettier formatting
tomymaritano Mar 11, 2026
c8d8833
style: fix prettier formatting
tomymaritano Mar 11, 2026
d8846d9
style: fix prettier formatting
tomymaritano Mar 11, 2026
188c7d8
style: fix prettier formatting
tomymaritano Mar 12, 2026
d86c2ec
style: fix prettier formatting
tomymaritano Mar 12, 2026
d096658
style: fix prettier formatting
tomymaritano Mar 12, 2026
65abbd6
style: fix prettier formatting
tomymaritano Mar 12, 2026
d6783af
fix: address CodeRabbit review comments on PR #127
tomymaritano Mar 12, 2026
df64ff5
fix: address CodeRabbit review comments on PR #123
tomymaritano Mar 12, 2026
f9766d3
style: fix prettier formatting in docs
tomymaritano Mar 12, 2026
452f3bd
Merge pull request #128 from tomymaritano/feature/docs-update
tomymaritano Mar 12, 2026
3f7b49d
Merge remote-tracking branch 'origin/develop' into feature/remark-reh…
tomymaritano Mar 12, 2026
5d112ff
style: fix formatting after merge
tomymaritano Mar 12, 2026
3d41f25
Merge pull request #121 from tomymaritano/feature/remark-rehype-hooks…
tomymaritano Mar 12, 2026
5e3af25
Merge remote-tracking branch 'origin/develop' into feature/phase2-com…
tomymaritano Mar 12, 2026
4b08f07
Merge pull request #127 from tomymaritano/feature/phase2-completion
tomymaritano Mar 12, 2026
7344281
Merge branch 'develop' into feature/data-access-api
tomymaritano Mar 12, 2026
b429ab3
Merge pull request #123 from tomymaritano/feature/data-access-api
tomymaritano Mar 12, 2026
3ed08b4
Merge branch 'develop' into feature/device-management
tomymaritano Mar 12, 2026
cdd2db0
Merge pull request #124 from tomymaritano/feature/device-management
tomymaritano Mar 12, 2026
177091d
Merge remote-tracking branch 'origin/develop' into feature/sync-tests
tomymaritano Mar 12, 2026
9f2ba75
Merge pull request #125 from tomymaritano/feature/sync-tests
tomymaritano Mar 12, 2026
cbe39c8
Merge remote-tracking branch 'origin/develop' into feature/sync-harde…
tomymaritano Mar 12, 2026
38b8128
Merge pull request #126 from tomymaritano/feature/sync-hardening
tomymaritano Mar 12, 2026
592d889
fix: resolve CodeRabbit review issues across merged PRs
tomymaritano Mar 12, 2026
09ac09a
chore: add Husky pre-commit hooks and auto-merge workflow
tomymaritano Mar 12, 2026
5cd5520
fix: use gh pr merge --auto for automerge workflow
tomymaritano Mar 12, 2026
2ef5a9a
ci: level up CI pipeline and Husky hooks
tomymaritano Mar 12, 2026
a8bf258
fix: remove process.env.NODE_ENV check from browser-only plugin-api
tomymaritano Mar 12, 2026
0999107
Merge pull request #129 from tomymaritano/fix/coderabbit-issues
tomymaritano Mar 12, 2026
40c5216
Merge pull request #130 from tomymaritano/feature/husky-automerge
tomymaritano Mar 12, 2026
d65eb5c
feat: unify docs-site and marketing-site into single Next.js app (#132)
tomymaritano Mar 12, 2026
8dc7079
feat: plugin auto-disable + CLI commands (Phase 2.5 & 3.1) (#131)
tomymaritano Mar 12, 2026
024e46c
fix: wrangler-action pnpm monorepo compatibility (#134)
tomymaritano Mar 12, 2026
193bbce
fix: create Cloudflare Pages project before deploy (#136)
tomymaritano Mar 12, 2026
d5cd8ed
fix: use npx wrangler for Cloudflare Pages deploy (#139)
tomymaritano Mar 12, 2026
cfe513d
fix: enable Next.js static export for Cloudflare Pages (#141)
tomymaritano Mar 12, 2026
21be0a5
feat(web): full website redesign with shadcn/ui + Magic UI (#142)
tomymaritano Mar 12, 2026
b959a25
feat(web,desktop,api): website redesign + auth UX rethink (#148)
tomymaritano Mar 13, 2026
00e25bf
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Mar 13, 2026
04e4e18
feat(desktop,api): complete Phase 1-3 roadmap implementation
tomymaritano Mar 13, 2026
21af479
feat(ai,plugins): complete Phase 4-5 — AI knowledge & extensibility
tomymaritano Mar 13, 2026
4ccab57
feat(ai): complete Phase 4-5 — AI command execution + plugin bridge (…
tomymaritano Mar 13, 2026
e908280
chore: Tailwind v4 canonical classes + tsconfig cleanup (#151)
tomymaritano Mar 13, 2026
8a1f5c8
feat(sync): connect auth → payment → sync flow with license gating (#…
tomymaritano Mar 13, 2026
a24a231
feat(ai-core): provider-agnostic AI architecture with streaming (#156)
tomymaritano Mar 14, 2026
64d7010
feat(release): automated release pipeline with semantic-release (#157)
tomymaritano Mar 14, 2026
f686ab6
fix(web): add cleanUrls to fix /auth/verify 404 (#164)
tomymaritano Mar 16, 2026
9d64ea9
feat(ai): add tool use (function calling) to AI assistant (#165)
tomymaritano Mar 18, 2026
a472580
feat(share): public notes API with metadata for portfolio consumption…
tomymaritano Mar 18, 2026
6e05279
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Mar 19, 2026
b2f65aa
fix(web,api): render shared notes as markdown + handle subscription.c…
tomymaritano Mar 19, 2026
01b51cb
Merge branch 'main' into develop
tomymaritano Mar 19, 2026
f6ddcad
feat(desktop): share store + note list and editor UI improvements
tomymaritano Mar 19, 2026
41c811c
feat: AI context scoping, newsletter unsubscribe page, create-note sc…
tomymaritano Mar 19, 2026
078c8f4
feat(mcp): add MCP server for Claude Code integration
tomymaritano Mar 20, 2026
7030149
fix(ui): modernize AI panel sidebar with cleaner chat design
tomymaritano Mar 20, 2026
ad325d8
feat(ai): OpenAI + Ollama providers, secure key storage, Connect flow UI
tomymaritano Mar 20, 2026
1680e01
fix(ui): settings visual refresh — card layout, tighter controls, cle…
tomymaritano Mar 20, 2026
31c5474
feat(admin): add dashboard with app metrics and admin API
tomymaritano Mar 20, 2026
7fd0ee1
feat(dashboard): standalone layout with sidebar, improved UI, admin e…
tomymaritano Mar 20, 2026
2bf9c1e
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Mar 20, 2026
20e101c
ci: add workflow_dispatch to build workflow
tomymaritano Mar 20, 2026
e80caf8
fix(mcp): add sql.js type declarations for CI build
tomymaritano Mar 20, 2026
e3b2ef8
fix(ci): bust corrupted electron-builder cache for Linux build
tomymaritano Mar 20, 2026
1e20308
fix(ci): clean fpm cache before Linux build to fix 7zip extraction error
tomymaritano Mar 21, 2026
fb0dafc
feat: fix cross-device sync with E2EE key hierarchy and docs cleanup …
tomymaritano Mar 29, 2026
3b01d4b
fix: address Codex review findings for sync and deep link (#178)
tomymaritano Mar 29, 2026
3f0bc7f
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Mar 29, 2026
578ad70
fix: move deep link handlers into primary instance block
tomymaritano Mar 29, 2026
ab4a486
chore(deps): bump pnpm/action-setup from 4 to 5 (#182)
dependabot[bot] Apr 2, 2026
dc5bc73
chore(deps): bump actions/labeler from 5 to 6 (#183)
dependabot[bot] Apr 2, 2026
075995d
chore(deps): bump github/codeql-action from 3 to 4 (#181)
dependabot[bot] Apr 2, 2026
0e85b24
fix: comprehensive project audit — CI, security, types, and dependencies
tomymaritano Apr 22, 2026
472bc4e
fix: floating promises, Electron upgrade, and renderer tests
tomymaritano Apr 22, 2026
4e36788
feat: design system primitives, save indicator, toast system, and UX …
tomymaritano Apr 23, 2026
d2d763f
refactor: design system consistency, onboarding, and sync progress
tomymaritano Apr 23, 2026
52a2bbe
feat: advanced search filters and functional plugin marketplace
tomymaritano Apr 23, 2026
68c56b6
feat: high-quality table rendering and improved document export
tomymaritano Apr 23, 2026
2672cdc
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Apr 23, 2026
4ace564
fix: address all PR review comments (security, a11y, UX, minor)
tomymaritano Apr 23, 2026
9bccc62
fix: resolve remaining PR review comments (encryption, sync, CI, prel…
tomymaritano Apr 23, 2026
a1f8422
fix: resolve CI failures (mcp-server build, ESLint projectService)
tomymaritano Apr 23, 2026
ef6c615
fix: address all inline and duplicate PR review findings
tomymaritano Apr 23, 2026
549339d
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Apr 23, 2026
19bf2ca
docs: enforce branch protection rules in CLAUDE.md (#199)
tomymaritano Apr 23, 2026
920cad9
fix: Modal hook order + plugin install slug check (#200)
tomymaritano Apr 23, 2026
321da87
fix: plugin install integrity check + branch rules (#201)
tomymaritano Apr 23, 2026
ebb4c17
fix: resolve main→develop merge conflicts (#203)
tomymaritano Apr 23, 2026
b0700b4
fix: address all PR #202 review findings (#204)
tomymaritano Apr 23, 2026
b5d2733
fix: sync main into develop for clean release (#205)
tomymaritano Apr 23, 2026
0dfe6db
fix(ci): remove broken tweet action, expand Linux cache cleanup (#210)
tomymaritano Apr 23, 2026
6328c4b
fix(ci): fix Linux build and Node.js 24 warnings (#212)
tomymaritano Apr 23, 2026
e366f10
fix: prevent 'Object has been destroyed' crash on update (#213)
tomymaritano Apr 23, 2026
a1a6679
refactor: split main/index.ts monolith into IPC handler modules (#214)
tomymaritano Apr 23, 2026
8deb73a
refactor: split preload, App.tsx, PluginsSection, and syncService mon…
tomymaritano Apr 23, 2026
1ab1400
fix: move single-instance lock before whenReady + branch protection (…
tomymaritano Apr 23, 2026
d58dbf8
feat: UX polish — onboarding, AiSection CSS, magic link resend (#218)
tomymaritano Apr 23, 2026
4f17e78
feat: auto-link titles, note animations, activity stats, revision tim…
tomymaritano Apr 23, 2026
807a8e4
chore(deps): bump the production group across 1 directory with 47 upd…
dependabot[bot] Apr 23, 2026
f0e2715
fix(ci): add HTTPS git rewrite to release workflow (#221)
tomymaritano Apr 23, 2026
49f5662
fix: handle @noble/ed25519 API rename (#223)
tomymaritano Apr 23, 2026
a63fad9
fix: React type compatibility after dep update (#225)
tomymaritano Apr 24, 2026
120ce15
fix: skip husky in release + React type compat (#227)
tomymaritano Apr 24, 2026
67a0831
fix: replace removed lucide brand icons (#229)
tomymaritano Apr 24, 2026
d4ce973
feat: local HTTP API, quick capture, mermaid/math plugins + ASAR fix …
tomymaritano Apr 24, 2026
bb88da2
fix: exclude @readied/* from ASAR to fix startup crash (#233)
tomymaritano Apr 24, 2026
550f1c2
fix: move @readied/* to devDependencies — fixes ASAR startup crash (#…
tomymaritano Apr 24, 2026
272c85f
feat: allow disabling built-in plugins + fix MCP server FTS5 crash (#…
tomymaritano Apr 24, 2026
1836b02
fix: gate built-in plugins until enabled state loads + fix IPC listen…
tomymaritano Apr 24, 2026
0514398
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Apr 24, 2026
32f522a
fix: unwrap getToken IPC result + use exact range for auto-link paste…
tomymaritano Apr 24, 2026
3c7fab8
fix(mcp-server): non-destructive FTS5 check + FTS5 search (#241)
tomymaritano Apr 24, 2026
f825e30
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Apr 24, 2026
b0131e5
fix: align better-sqlite3 to ^12.9.0 across all packages (#244)
tomymaritano Apr 24, 2026
8092edd
chore(deps): bump the production group across 1 directory with 34 upd…
dependabot[bot] May 9, 2026
a704dc2
chore(deps-dev): bump the dev-dependencies group across 1 directory w…
dependabot[bot] May 9, 2026
e269dff
chore(deps-dev): bump the dev-dependencies group with 3 updates (#253)
dependabot[bot] May 16, 2026
cfa59e0
chore(deps-dev): bump the dev-dependencies group with 3 updates (#255)
dependabot[bot] May 23, 2026
9b2911a
chore(deps-dev): bump eslint from 10.4.0 to 10.4.1 in the dev-depende…
dependabot[bot] May 30, 2026
fbd3b11
chore(deps-dev): bump the dev-dependencies group with 2 updates (#262)
dependabot[bot] Jun 6, 2026
f3369e3
fix(mcp-server): migrate from better-sqlite3 to node:sqlite (#264)
tomymaritano Jun 8, 2026
75fedfe
fix(typecheck): unblock pnpm -r typecheck after TS 6.x bump (#265)
tomymaritano Jun 8, 2026
fb987c1
chore(deps): bump the production group across 1 directory with 37 upd…
dependabot[bot] Jun 8, 2026
5829d6c
release: bring audit stack (19 PRs) into develop (#285)
tomymaritano Jun 9, 2026
6ae469e
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Jun 9, 2026
34ebc47
fix(ci): scope deploy-api install to the API workspace (#286)
tomymaritano Jun 9, 2026
b54541a
Merge remote-tracking branch 'origin/main' into develop
tomymaritano Jun 9, 2026
d05ff2b
fix(release): restore version bumping via scripts/bump-version.mjs (P…
tomymaritano Jun 9, 2026
ce850c2
chore(ci): add release.yml pre-flight and post-flight guardrails (Pha…
tomymaritano Jun 9, 2026
047d020
fix(lint): unblock develop CI baseline (#295)
tomymaritano Jun 9, 2026
1705e9f
ci: add PR-title commitlint as standalone workflow (#294)
tomymaritano Jun 9, 2026
79f9b55
chore(ci): unblock CI on develop — ignore CHANGELOG.md + skip native …
tomymaritano Jun 9, 2026
f5adb62
fix(desktop): pin electron to ^41.7.1 for better-sqlite3 prebuild com…
tomymaritano Jun 9, 2026
57895f0
chore(ci): workflow surface cleanup (Phase 0 B-bundle) (#292)
tomymaritano Jun 9, 2026
c9acaa4
fix(desktop): set linux.executableName for AppImage build (#298)
tomymaritano Jun 9, 2026
002a49e
chore: sync v0.15.1 release commits from main into develop (#300)
tomymaritano Jun 9, 2026
f0c89fa
chore: sync v0.15.2 release commits from main into develop (#302)
tomymaritano Jun 9, 2026
cffa98e
fix(desktop): prevent 'Object has been destroyed' and 'db not open' c…
tomymaritano Jun 10, 2026
1e2ef9e
fix(changelog): remove leftover merge conflict markers from v0.15.2 s…
tomymaritano Jun 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ env:
NODE_VERSION: '22'
ELECTRON_CACHE: ~/.cache/electron
ELECTRON_BUILDER_CACHE: ~/.cache/electron-builder
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

jobs:
build:
Expand All @@ -23,7 +22,10 @@ jobs:
include:
- os: macos-14
platform: mac
- os: windows-latest
# Pin Windows runner explicitly. `windows-latest` migrates to
# `windows-2025-vs2026` on 2026-06-15; pinning ahead avoids a
# surprise toolchain swap mid-release. Revisit on each new GA.
- os: windows-2025-vs2026
platform: win
- os: ubuntu-latest
platform: linux
Expand All @@ -32,7 +34,7 @@ jobs:

steps:
- name: Checkout tag
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
ref: ${{ github.ref }}
fetch-depth: 0
Expand All @@ -41,20 +43,20 @@ jobs:
uses: pnpm/action-setup@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'

- name: Cache pnpm store
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ~/.pnpm-store
key: pnpm-${{ matrix.platform }}-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: pnpm-${{ matrix.platform }}-

- name: Cache Electron downloads
uses: actions/cache@v4
uses: actions/cache@v5
with:
path: ${{ env.ELECTRON_CACHE }}
key: electron-v3-${{ matrix.platform }}-${{ hashFiles('apps/desktop/package.json') }}
Expand Down Expand Up @@ -105,7 +107,7 @@ jobs:
run: pnpm dist:linux --publish always

- name: Upload artifacts (backup)
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: ${{ matrix.platform }}-build
path: |
Expand All @@ -116,7 +118,11 @@ jobs:
apps/desktop/release/*.deb
apps/desktop/release/latest*.yml
apps/desktop/release/*.blockmap
if-no-files-found: ignore
# `error` (was `ignore`) — if the build silently produced zero
# artefacts (signing failure, electron-builder swallowed an
# error, wrong working-directory, etc.) we want the job to fail
# loud here, not let the release un-draft with no installers.
if-no-files-found: error
retention-days: 30

publish:
Expand Down
63 changes: 34 additions & 29 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,32 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Setup pnpm
uses: pnpm/action-setup@v5

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'

- name: Force HTTPS for GitHub git dependencies
run: git config --global 'url.https://github.com/.insteadOf' 'git@github.com:'

# CI only runs lint/test/typecheck/build — none of those exercise
# better-sqlite3 at runtime. Skipping postinstall avoids apps/desktop's
# electron-builder install-app-deps step, which rebuilds better-sqlite3
# against the bundled Electron headers — that rebuild can break the
# whole setup job when better-sqlite3 lags an Electron major (see the
# v0.15.0 incident where Electron 42's V8 API broke better-sqlite3
# 12.10.0). Same pattern used in release.yml and deploy-api.yml.
- name: Install dependencies
run: pnpm install --frozen-lockfile
run: pnpm install --frozen-lockfile --ignore-scripts

- name: Cache node_modules
uses: actions/cache/save@v4
uses: actions/cache/save@v5
with:
path: |
node_modules
Expand All @@ -50,14 +57,14 @@ jobs:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand All @@ -71,25 +78,23 @@ jobs:
- name: Prettier
run: pnpm format:check

- name: Commitlint (PR title)
if: github.event_name == 'pull_request'
env:
PR_TITLE: ${{ github.event.pull_request.title }}
run: echo "$PR_TITLE" | pnpm commitlint
# PR title commitlint moved to .github/workflows/pr-title.yml so it
# exposes a stable, standalone status-check name for branch protection
# (squash-merge makes the PR title the release-trigger commit message).

# ── Tier 1: Tests + Coverage ───────────────────────
test:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand All @@ -105,7 +110,7 @@ jobs:

- name: Upload coverage
if: always()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: coverage-report
path: |
Expand All @@ -118,14 +123,14 @@ jobs:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand All @@ -151,14 +156,14 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand All @@ -181,7 +186,7 @@ jobs:

- name: Upload Playwright report on failure
if: failure()
uses: actions/upload-artifact@v4
uses: actions/upload-artifact@v5
with:
name: playwright-report
path: apps/desktop/playwright-report/
Expand All @@ -192,14 +197,14 @@ jobs:
needs: setup
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand All @@ -220,14 +225,14 @@ jobs:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v5
- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: ${{ env.NODE_VERSION }}

- name: Restore node_modules
uses: actions/cache/restore@v4
uses: actions/cache/restore@v5
with:
path: |
node_modules
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
security-events: write
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Initialize CodeQL
uses: github/codeql-action/init@v4
Expand Down
15 changes: 11 additions & 4 deletions .github/workflows/deploy-api.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,16 +17,23 @@ on:
- staging
- production

# Minimum-privilege default. The Cloudflare deploy doesn't push commits
# or create issues; checkout + read of the workflow definition is all
# the GITHUB_TOKEN side needs. Wrangler authenticates via the
# CLOUDFLARE_API_TOKEN secret separately.
permissions:
contents: read

jobs:
test:
name: Test API
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v5

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: '22'
cache: 'pnpm'
Expand All @@ -49,11 +56,11 @@ jobs:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v5

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: '22'
cache: 'pnpm'
Expand Down
20 changes: 14 additions & 6 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,31 +9,39 @@ on:
- '.github/workflows/docs.yml'
workflow_dispatch:

permissions:
contents: read

jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v5

- uses: pnpm/action-setup@v5

- uses: actions/setup-node@v4
- uses: actions/setup-node@v5
with:
node-version: '22'
cache: 'pnpm'

- name: Force HTTPS for GitHub git dependencies
run: git config --global 'url.https://github.com/.insteadOf' 'git@github.com:'

- run: pnpm install
# Marketing site only needs @readied/web + product-config's transitive
# deps. Plain `pnpm install` would also run apps/desktop's postinstall
# (electron-builder install-app-deps -> better-sqlite3 native rebuild),
# which fails on the Linux + Node 22 runner. See #287 for the
# deploy-api workflow and #288 for release.yml — same fix shape.
- run: pnpm install --filter '@readied/web...' --ignore-scripts

- name: Build web app
working-directory: apps/web
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
cd apps/web
pnpm exec fumadocs-mdx
pnpm exec next build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Deploy to Cloudflare Pages
env:
Expand Down
Loading
Loading