Skip to content

Feat: Local Extension Registry (EXT-2) - #214

Merged
ZhuchkaTriplesix merged 1 commit into
devfrom
feature/208-local-extension-registry
Jun 21, 2026
Merged

Feat: Local Extension Registry (EXT-2)#214
ZhuchkaTriplesix merged 1 commit into
devfrom
feature/208-local-extension-registry

Conversation

@ZhuchkaTriplesix

Copy link
Copy Markdown
Member

Closes #208.

Changes:

  • Added ExtensionPaths helper.
  • Added LocalExtensionRegistry which scans ~/.querya/extensions and loads manifest.json files.
  • Added installPath to ExtensionManifest to track the local filesystem location of the loaded extension.

- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest
@ZhuchkaTriplesix ZhuchkaTriplesix added the enhancement New feature or request label Jun 21, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix merged commit 7bb0e97 into dev Jun 21, 2026
4 checks passed
ZhuchkaTriplesix added a commit that referenced this pull request Jun 21, 2026
* Fix #211: Execute only selected SQL text and strip SQLite comments (#213)

* feat(extensions): implement LocalExtensionRegistry (EXT-2) (#214)

- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest

* Test: Unit Tests for Extension Registry (EXT-4) (#215)

* test(extensions): add unit tests for LocalExtensionRegistry (EXT-4)

- Mock ExtensionPaths.extensionsDirectory for testing
- Verify registry parses valid manifests
- Verify invalid manifests and plain files are ignored
- Verify registry cache logic

* fix(extensions): use flutter foundation for @VisibleForTesting instead of meta to satisfy linter

* Feat: Migrate Custom Themes to Extension Registry (EXT-3) (#216)

* fix(theme): use braces for multiline if statement

* fix(theme): fix theme registry migration unit tests and watcher path

* fix(theme): remove unused import theme_paths.dart

* test(settings): fix preferences appearance section widget test by mocking extensions dir and utilizing pumpAndSettle

* Fix TOCTOU, ID collisions, redundant scans, and remove legacy theme code (#221)

* chore(release): prepare release 0.4.7
@ZhuchkaTriplesix ZhuchkaTriplesix linked an issue Jun 22, 2026 that may be closed by this pull request
ZhuchkaTriplesix added a commit that referenced this pull request Jun 22, 2026
* Fix #211: Execute only selected SQL text and strip SQLite comments (#213)

* feat(extensions): implement LocalExtensionRegistry (EXT-2) (#214)

- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest

* Test: Unit Tests for Extension Registry (EXT-4) (#215)

* test(extensions): add unit tests for LocalExtensionRegistry (EXT-4)

- Mock ExtensionPaths.extensionsDirectory for testing
- Verify registry parses valid manifests
- Verify invalid manifests and plain files are ignored
- Verify registry cache logic

* fix(extensions): use flutter foundation for @VisibleForTesting instead of meta to satisfy linter

* Feat: Migrate Custom Themes to Extension Registry (EXT-3) (#216)

* fix(theme): use braces for multiline if statement

* fix(theme): fix theme registry migration unit tests and watcher path

* fix(theme): remove unused import theme_paths.dart

* test(settings): fix preferences appearance section widget test by mocking extensions dir and utilizing pumpAndSettle

* Fix TOCTOU, ID collisions, redundant scans, and remove legacy theme code (#221)

* chore(release): prepare release 0.4.7

* feat(menu): implement File -> Exit to close the application window (#230)

* feat(menu): implement File -> New, Open..., Save actions (#231)

* feat(menu): implement File -> New, Open..., Save actions via Intents/Actions

* refactor(menu): remove unnecessary widgets import in title bar

* feat: implement connection management improvements and read-only mode (Issues #225, #226) (#232)

* feat(connection): implement connection actions and fix layout test hang

* feat(connection): implement Invalidate/Reconnect menu item

* feat: implement Connection -> Read-only mode for database connections

* fix ci

* docs: document SQLite support, read-only mode, and connection actions

* chore(release): prepare pre-release 0.4.7-a
@ZhuchkaTriplesix ZhuchkaTriplesix self-assigned this Jul 12, 2026
@ZhuchkaTriplesix
ZhuchkaTriplesix deleted the feature/208-local-extension-registry branch July 26, 2026 14:36
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
* Fix #211: Execute only selected SQL text and strip SQLite comments (#213)

* feat(extensions): implement LocalExtensionRegistry (EXT-2) (#214)

- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest

* Test: Unit Tests for Extension Registry (EXT-4) (#215)

* test(extensions): add unit tests for LocalExtensionRegistry (EXT-4)

- Mock ExtensionPaths.extensionsDirectory for testing
- Verify registry parses valid manifests
- Verify invalid manifests and plain files are ignored
- Verify registry cache logic

* fix(extensions): use flutter foundation for @VisibleForTesting instead of meta to satisfy linter

* Feat: Migrate Custom Themes to Extension Registry (EXT-3) (#216)

* fix(theme): use braces for multiline if statement

* fix(theme): fix theme registry migration unit tests and watcher path

* fix(theme): remove unused import theme_paths.dart

* test(settings): fix preferences appearance section widget test by mocking extensions dir and utilizing pumpAndSettle

* Fix TOCTOU, ID collisions, redundant scans, and remove legacy theme code (#221)

* chore(release): prepare release 0.4.7
ZhuchkaTriplesix added a commit that referenced this pull request Jul 27, 2026
* Fix #211: Execute only selected SQL text and strip SQLite comments (#213)

* feat(extensions): implement LocalExtensionRegistry (EXT-2) (#214)

- Add ExtensionPaths for locating ~/.querya/extensions
- Add LocalExtensionRegistry for parsing manifest.json from extensions dir
- Add installPath to ExtensionManifest

* Test: Unit Tests for Extension Registry (EXT-4) (#215)

* test(extensions): add unit tests for LocalExtensionRegistry (EXT-4)

- Mock ExtensionPaths.extensionsDirectory for testing
- Verify registry parses valid manifests
- Verify invalid manifests and plain files are ignored
- Verify registry cache logic

* fix(extensions): use flutter foundation for @VisibleForTesting instead of meta to satisfy linter

* Feat: Migrate Custom Themes to Extension Registry (EXT-3) (#216)

* fix(theme): use braces for multiline if statement

* fix(theme): fix theme registry migration unit tests and watcher path

* fix(theme): remove unused import theme_paths.dart

* test(settings): fix preferences appearance section widget test by mocking extensions dir and utilizing pumpAndSettle

* Fix TOCTOU, ID collisions, redundant scans, and remove legacy theme code (#221)

* chore(release): prepare release 0.4.7

* feat(menu): implement File -> Exit to close the application window (#230)

* feat(menu): implement File -> New, Open..., Save actions (#231)

* feat(menu): implement File -> New, Open..., Save actions via Intents/Actions

* refactor(menu): remove unnecessary widgets import in title bar

* feat: implement connection management improvements and read-only mode (Issues #225, #226) (#232)

* feat(connection): implement connection actions and fix layout test hang

* feat(connection): implement Invalidate/Reconnect menu item

* feat: implement Connection -> Read-only mode for database connections

* fix ci

* docs: document SQLite support, read-only mode, and connection actions

* chore(release): prepare pre-release 0.4.7-a
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EXT-2: LocalExtensionRegistry

1 participant