Skip to content

feat(desktop): file associations, open-with handler and universal syntax highlighting - #695

Merged
ZhuchkaTriplesix merged 2 commits into
devfrom
issue/694-desktop-file-associations
Sep 6, 2026
Merged

ZhuchkaTriplesix merged 2 commits into
devfrom
issue/694-desktop-file-associations

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Overview

This PR implements native OS file associations and "Open With" handling for desktop platforms (closing #694), and resolves syntax highlighting gaps and typing flicker across all views.

Key Changes

  1. Desktop File Associations & Open-With Handler (feat(platform): desktop file associations and open-with support for SQL and SQLite files #694):

    • Configured OS-level associations in macOS (macos/Runner/Info.plist), Linux (packaging/linux/*.desktop), and Windows (packaging/windows/querya.iss) for .sql, .sqlite, .sqlite3, .db, and .db3.
    • Implemented FileLaunchService with robust launch argument and URL scheme listener handling.
    • Routed file open events to auto-connect SQLite databases or load SQL scripts into active workspace tabs across PostgreSQL, MySQL, SQLite, and Extension workspaces.
  2. Universal Syntax Highlighting & Flicker Fix:

    • Fixed QueryaHighlightController: added synchronous fast-path highlighting for content < 8KB, completely eliminating the monochrome flash and lag on every keystroke.
    • Replaced plain SelectableText views with syntax-highlighted QueryaCodeEditor instances:
      • SQLite & Extension Table DDL schema dialogs (SQL)
      • PostgreSQL & MySQL Routine / Stored Procedure inspectors (SQL)
      • MongoDB Document viewer expanded view (JSON)
      • Grid Cell Popover Inspector (SQL & JSON with autofocus and shortcut preservation)

Verification

  • flutter analyze: 0 issues found.
  • All unit & widget test suites passed (198/198 tests).

Closes #694

…SQL and SQLite files (close #694)

- Add FileLaunchService with CLI argument parsing and target queue
- Route .sql files directly into active or new SQL editor tab
- Auto-mount .sqlite/.sqlite3/.db/.db3 files as temporary/persistent SQLite workspaces
- Register file associations and OpenWithProgids / SupportedTypes across Windows (Inno Setup), Linux (.desktop, Flatpak, AUR), and macOS (Info.plist CFBundleDocumentTypes)
- Add comprehensive unit and integration tests
- Add synchronous highlighting in QueryaHighlightController for buffers < 8KB, removing lag and monochrome flicker while typing
- Forward focusNode and autofocus in QueryaCodeEditor
- Enable SQL syntax highlighting in SQLite and Extensions Table DDL dialogs
- Enable SQL syntax highlighting in PostgreSQL and MySQL routine/procedure definition viewers
- Add auto-detected JSON/SQL syntax highlighting in GridCellPopoverInspector
- Add JSON syntax highlighting for expanded cards in MongoDocumentsView
@github-actions github-actions Bot added enhancement New feature or request frontend Theme parser epic label: frontend labels Sep 6, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 22aa697 into dev Sep 6, 2026
4 checks passed
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the issue/694-desktop-file-associations branch September 28, 2026 08:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request frontend Theme parser epic label: frontend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant