Skip to content

Prepare to v0.0.2 with UX Improvements#1

Open
sergeyfast wants to merge 5 commits intomasterfrom
ux-improvements-v0.0.2
Open

Prepare to v0.0.2 with UX Improvements#1
sergeyfast wants to merge 5 commits intomasterfrom
ux-improvements-v0.0.2

Conversation

@sergeyfast
Copy link
Contributor

No description provided.

- Add @vueuse/core dependency
- Replace manual addEventListener/removeEventListener with
  useEventListener
- Replace manual clipboard API + setTimeout with useClipboard
- Replace manual setInterval/clearInterval with useIntervalFn
- Replace manual localStorage + classList.toggle with useDark
- Replace manual document.title with useTitle
- Replace manual getBoundingClientRect with useElementBounding
- Replace manual setTimeout/clearTimeout debounce with useDebounceFn
- Replace watch + setTimeout with watchDebounced
- Replace document.activeElement check with useActiveElement
- Replace global click listener with onClickOutside for context menu
- Replace watch(source, v => { if (v) }) with whenever
- Replace ref() template refs with useTemplateRef() (Vue 3.5+)
- Replace ref() with shallowRef() for large store objects (schema, info,
  settings)
- Add onCleanup to async watchers in DiffUnsavedDialog and
  ProjectSettingsDialog
- Fix race condition on rapid open/close of async dialogs
- Replace index-based v-for :key with stable name-based keys
- Replace direct Pinia store mutations with store actions
  (clearTestData, clearServerErrors)
Backend:
- Add AppManager (pkg/designer) to centralize file/demo/diff operations
- Add ListDirectory, GetHomePath, GetRecentFilesInfo, RemoveRecentFile RPC methods
- Add SupportedExtensions map to pkg/format
- Add Config.RemoveRecentFile for recent files management
- Add addRecentFile callback to ProjectService for SaveAs
- Block new filesystem RPC methods in read-only mode

Frontend:
- Rewrite OpenDialog with tabs (Recent / Browse / DSN) and rich recent files list
- Add FileBrowser component for server-side directory navigation
- Add SaveDialog and useSaveDialog composable for Save As flow
- Replace appPrompt-based Save As with proper SaveDialog in MenuBar and confirmUnsaved
- Disable Save As on welcome screen
- Add IntrospectDSN RPC: connect to PostgreSQL, return preview of schemas, tables, views, functions, triggers, enums, domains, sequences,
  extensions, roles
- Add ImportDSN RPC: import schema with filtering by schemas, tables, and categories
- Add pkg/format/pgre/preview.go: PostgreSQL introspection via pg_catalog queries
- Add pkg/designer/app_manager.go: centralize app-level operations
- Add pkg/rpc/convert_app.go: DSN preview/role model converters
- Rewrite OpenDialog DSN tab with 2-step flow: connect → select schemas/tables → import
- Block IntrospectDSN and ImportDSN in read-only mode
- Add pkg/app/updater.go: fetch latest release from GitHub API, semver compare via golang.org/x/mod/semver, cache result for 24h in config
- Add pkg/app/updater_test.go: 10 test cases for version comparison
- Add LastUpdateCheck, CachedLatestVersion, DismissedVersion fields to Config
- Add UpdateInfo model and CheckForUpdate, DismissUpdate RPC methods
- Wire update check callbacks in app.go
- Block DismissUpdate in read-only mode
- Add updateInfo state, checkForUpdate(), dismissUpdate() to ui store
- Show "↑ v0.x.x" badge in status bar (both project and welcome screen)
- Call checkForUpdate() on mount without blocking startup
- Regenerate rpc_zenrpc.go and factory.generated.ts
- Add SaveTextFile RPC to write DDL/diff SQL to user-chosen path
- Add auto-save DDL (.sql next to .pgd) on Save/SaveAs with project setting
- Add autoSaveDDL project setting (default: on) with checkbox in settings
- Replace "Download .sql" with "Save .sql..." in DDL dialog (uses SaveDialog)
- Add "Save .sql..." button to Diff dialog with YYYY-MM-DD.sql default name
- Add defaultExtension prop to FileBrowser/SaveDialog (.pgd or .sql)
- Replace native title tooltips with custom popup tooltips in project settings
- Add custom styled checkbox for auto-save setting aligned with form layout
- Add two-column layout to Keyboard Reference dialog to avoid scrolling
- Add unit tests for filterProject and toSet (11 tests)
- Fix default column storage not emitted in DDL (compare attstorage vs typstorage)
@sergeyfast sergeyfast changed the title Ux improvements v0.0.2 Prepare to v0.0.2 with UX Improvements Mar 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant