Skip to content

Releases: JikoSchnee/Study-Desk

v1.7.1

Choose a tag to compare

@JikoSchnee JikoSchnee released this 11 Aug 06:44

本次更新

  • ea54cf2 chore(release): bump version to 1.7.1

  • 50e2ec8 docs(supabase): consolidate setup and history guidance

Provide one repeatable initialization script and document Magic Link, encrypted session renewal, shared retention settings, and history recovery.

  • 04e6684 feat(settings): manage cloud sync from one panel

Add shared sync preferences, mutually exclusive provider switches, Supabase history and restore controls, stateful sidebar feedback, and README help anchors.

  • 9f8df75 feat(sync): add secure Supabase scheduling

Add persistent automatic sync scheduling, history retention support, Magic Link desktop session handling, and encrypted refresh-token rotation. Expired sessions now clear safely and return a re-login prompt instead of raw JWT errors.

  • 3b7f27b docs(sync): document WebDAV and Supabase setup

Document provider setup, email OTP templates, RLS migration, and cross-device sync guidance.

  • a7f5420 feat(sync): add Supabase account synchronization

Add OTP account sync with RLS-backed snapshots, secure desktop session storage, mutually exclusive sync controls, and improved desktop development startup.

  • 126e003 feat(webdav): add guided self-hosted setup

Provide an interactive WebDAV setup script and validation command for self-hosted sync deployments.

v1.7.0

Choose a tag to compare

@JikoSchnee JikoSchnee released this 10 Aug 09:41

本次更新

  • 3db16e0 chore(release): bump version to 1.7.0

  • fb1aa0b feat(settings): organize sync controls and preferences

Group settings into navigable sections, surface desktop cloud-sync status, and document shared WebDAV setup.

  • f2f0315 fix(deploy): read setup prompts from terminal

  • 16c1ed6 feat(sync): add self-hosted WebDAV synchronization

Add encrypted desktop credentials, automatic snapshot merge, and a one-command Docker WebDAV deployment path.

  • 4a900f4 feat(mcp): add agent learning integration

Expose Study Desk cards, reviews, and interviews through a local MCP server with confirmation and idempotency safeguards. Add an Agent MCP guide and surface it from Settings.

v1.6.5

Choose a tag to compare

@JikoSchnee JikoSchnee released this 05 Aug 06:45

本次更新

  • 1252dcf chore(release): bump version to 1.6.5

  • 3853aac feat(branding): rename app to Study Desk

Align the sidebar, web metadata, Electron window, and local configuration label with Study Desk. Show the package version below the sidebar title.

  • b564f1c chore: ignore Finder metadata

  • c5c1406 docs(mcp): add Study Desk integration design

Document the local stdio MCP architecture, read/write safety boundaries, schemas, and phased implementation plan.

  • ab48a2a fix(desktop): route network requests through Electron

Load the Next utility process with an Electron net.fetch bridge and the default session so Windows system proxy and PAC policies apply to service requests. Add layered Electron and service diagnostics with actionable failure guidance.

  • fc6bc3f feat(planner): use a rolling daily task window

Carry unfinished work into subsequent days, preserve tasks completed today when restarting, and trim the newest pending tasks back to each daily target.\n\nTrack task completion times so dashboard progress and reports use the actual completion day.

v1.6.4

Choose a tag to compare

@JikoSchnee JikoSchnee released this 05 Aug 03:45

本次更新

  • 93dbf09 chore(release): bump version to 1.6.4

  • 78f4798 feat(reports): open single-card learning details

Make completed daily-report card entries open their learning details, including practice history and answer feedback.

  • d8eba31 feat(review): add extra first-study sessions

Allow completed first-study plans to append one unplanned new card at a time, include it in today's progress, and invalidate completed reports until the added task is finished.

  • 8590b2e fix(review): sync guided queues after plan restart

Read first-study and due-review progress from today's generated tasks, and discard cached review sessions after restarting the plan.

  • eb60711 fix(desktop): honor Windows system proxy

Resolve the Electron system proxy before starting the Next utility process so diagnostics, AI requests, and model downloads use the configured Windows network route.

v1.6.3

Choose a tag to compare

@JikoSchnee JikoSchnee released this 05 Aug 02:28

本次更新

  • 6fad5bd chore(release): bump version to 1.6.3

  • bf82264 feat(settings): add network diagnostics

Add an in-app test that distinguishes baseline connectivity from GitHub and Hugging Face access, with actionable DNS, TLS, timeout, connection, and HTTP results.

  • cb73690 feat(settings): add preference help tooltips

Add focusable question-mark tooltips for all learning preference labels and keep explanations out of the form layout.

  • 615ac42 fix(review): reset session progress with daily plan

Count completed study and review items from today's restartable plan so a plan restart resets session progress without deleting learning history.

  • e13c8e2 feat(reports): add retained daily learning summaries

Persist a daily report once planned learning and review are complete, show it from the home page and calendar, and let learners choose how long report details are retained without affecting card history.

  • 0868474 perf(review): avoid repeated evaluation on rating

Reuse the server-side evaluation while the learner selects a rating, skip unchanged first-study card saves, and schedule backups after responses so advancing is not blocked by model inference or backup I/O.

  • 61790a5 fix(tags): classify new card labels by language

v1.6.2

Choose a tag to compare

@JikoSchnee JikoSchnee released this 31 Jul 10:17

本次更新

  • 40db418 chore(release): bump version to 1.6.2

  • 2d36ed3 fix(cards): stabilize tilt hover bounds

Keep card tilt active within the bounds captured on pointer entry so transform-driven hit testing cannot repeatedly reset and re-enter the hover state.

  • 91c612f feat(backup): add configurable automatic backups

Add desktop-local automatic backup scheduling, storage limits, and settings controls.\n\nTrigger backups after persisted training data changes and preserve unrelated manual backup flows.

  • cc880d2 feat(updates): show release reports on web

Render release notes as safe GFM Markdown and fetch the latest GitHub Release for the web settings page.

  • c9feb26 feat(settings): embed online README

Add a settings entry and accessible dialog that loads the latest repository README through a timeout-protected API and renders safe GFM Markdown.

  • f9455a1 fix(planner): prevent duplicate daily tasks

Only fill the remaining learning and review slots when the dashboard regenerates today's plan. Add regression coverage for repeated plan loading.

  • fa32851 refactor(hooks): satisfy exhaustive dependencies

  • 862c2d6 fix(embedding): preserve ready status for downloaded models

Align bge-m3 readiness checks with the files written by automatic downloads, and cover recovery after a server restart.

v1.6.1

Choose a tag to compare

@JikoSchnee JikoSchnee released this 31 Jul 08:26

本次更新

  • 148a9cd fix(desktop): run electron rebuild portably

  • 0cfa341 chore(release): bump version to 1.6.1

  • 19adfa3 refactor(settings): centralize local API error handling

  • 47d9be9 fix(knowledge-base): move source file selection into workspace

  • b5fcaf8 fix(desktop): configure knowledge base and degrade Windows speech

  • 82ac323 fix(desktop): verify packaged SQLite ABI

Rebuild and exercise better-sqlite3 under Electron, then gate standalone and packaged builds with API smoke checks.

Normalize local API failures so dashboard and card requests receive actionable JSON errors instead of HTML parsing failures.

Test: npm run lint; npm test; npm run build; npm run desktop:build; electron-builder --mac --arm64 --dir --publish never

  • 2b5ec60 fix(updates): preserve and contain version reports

Keep update reports across app restarts, dismiss only the floating prompt, and constrain release notes within the settings panel.

v1.6.0

Choose a tag to compare

@JikoSchnee JikoSchnee released this 31 Jul 07:11

本次更新

  • 5da94da chore(release): bump version to 1.6.0

  • ce5764b feat(study): refine planning and learning controls

  • 1cc86dd fix(review): honor updated launch queue

  • 75fcc39 feat(library): rename card library to collection

  • 6889a0e fix(review): honor today queue launch targets

Load the requested learning or review queue from Today while retaining the active session when it already matches.\n\nTest:\n- npx tsc --noEmit\n- npm test -- --run src/app/api/review/next/route.test.ts src/app/api/review/queue/route.test.ts

  • a88629e feat(review): refine in-session card editing

Keep full card editing in the learning view, save inline study notes before completion, and clarify progress, tags, and exit controls.\n\nTest:\n- npx tsc --noEmit\n- npm test -- --run src/lib/review.test.ts src/app/api/review/study/route.test.ts

  • c5de2f3 feat(review): stream learning assistant replies

Add streamed assistant output, preserve its panel state, and refine the responsive drawer interaction.\n\nTest: npm test -- --run src/app/api/review/chat/route.test.ts src/lib/ai.test.ts

  • 06d4670 feat: improve learning and desktop resilience

What changed:

  • streamline initial learning and preserve in-app page state
  • add AI learning chat and related card drafting
  • harden desktop update, service status, and model download behavior

Test:

  • npx tsc --noEmit

  • npm test -- --run src/lib/review.test.ts src/app/api/review/study/route.test.ts

  • npm run build

  • 555a14b fix(library): replace bulk edit prompts

Use an in-app dialog for bulk tag and type changes, with persistent error feedback for failed requests.

  • 73b3ff7 feat(cards): add knowledge base type tags

Keep each card discoverable by its current knowledge-base type across manual, imported, and bulk updates.

  • 62237f7 fix(tags): preserve typed value on Enter

Require explicit keyboard navigation or a click before choosing a matching tag suggestion.

  • 27ab0dc feat(cards): remember last manual knowledge base type

Reuse the last successfully saved type for new and cleared manual card drafts.

v1.5.7

Choose a tag to compare

@JikoSchnee JikoSchnee released this 31 Jul 01:30

本次更新

  • b5ed3d5 chore(release): bump version to 1.5.7

  • 4bea28f fix(desktop): harden local model setup

Keep local API failures within JSON responses and make bge-m3 downloads cancellable, time-bounded, and removable from Settings.

  • 713be0f fix(desktop): recover local server after sleep

Restart the embedded Next server when it exits unexpectedly and verify it on macOS wake. Reuse the original port so the active renderer and draft can continue using relative API requests.

  • a350eb9 fix(home): disable unavailable interview entry

Mark the home-page mock interview action as unavailable and show a disabled indicator on hover.

  • 799d6ba fix(library): keep archive filters accessible

Keep the card filters visible for empty results and provide a return path from an empty archive view.

  • 976c332 fix(updater): retain manual update status

Persist the current update result for the app session so it remains visible after returning to settings.

  • b6ab0aa feat(updater): keep update notices across pages

Check for updates when the desktop app starts and keep available release notes visible while navigating between pages.

  • 4811009 feat(updater): show release notes for new versions

Display the latest release notes beneath the new-version prompt and safely render supported HTML content.

v1.5.6

Choose a tag to compare

@JikoSchnee JikoSchnee released this 30 Jul 09:40

本次更新

  • f553d7e fix(environment): resolve persisted settings path at runtime

  • 6f8ee68 chore(release): bump version to 1.5.6

  • 7dafc23 feat(cards): add infinite library loading

Paginate filtered card queries and load 20 cards at a time as the library reaches its sentinel. Add a fixed top navigation control that returns to the reader's prior scroll position, while keeping the relationship picker fully searchable.

  • 41aed6f fix(cards): persist answer points when editing cards

  • cd4ef47 fix(ai): restore persisted model settings after restart

  • c64d077 feat(settings): add offline bge-m3 model setup

Add a complete local ZIP import flow for bge-m3 and persist the selected automatic or offline model source. Reorganize and standardize the settings page around the new model controls.

Test: npm test -- --run src/lib/settings.test.ts src/lib/answer-comparison.test.ts; npm run lint; npm run build