-
-
Notifications
You must be signed in to change notification settings - Fork 31
Modernize eXide: CM6 editor, REx parser, REST API, LSP integration #778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
joewiz
wants to merge
55
commits into
eXist-db:develop
Choose a base branch
from
joewiz:pr/modernize-eXide
base: develop
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 14 commits
Commits
Show all changes
55 commits
Select commit
Hold shift + click to select a range
ae7cc21
Replace xqlint parser with REx-generated XQuery 3.1 parser
joewiz 770d4cf
Replace Ace editor with CodeMirror 6
joewiz aa1575c
Add Prettier-based code formatting for XQuery, XML, HTML, CSS, and more
joewiz 4e77dae
Remove jQuery, jQuery UI, and AG Grid dependencies
joewiz 85c9d6d
Add OpenAPI/Roaster REST API and remove legacy XQuery modules
joewiz a4b20a4
Redesign UI: toolbar, status bar, dialogs, tabs, dark mode, and outline
joewiz be322b0
Add CM6 autocomplete, semantic highlighting, and multi-language helpers
joewiz 0578fb7
Add Cypress integration tests and remaining frontend updates
joewiz cf60941
Add tag matching, exist-next compat, and CI fixes
joewiz 00bafd0
Add /api/query/references endpoint for find-all-references
joewiz 150ef01
Add Tauri v2 scaffolding for eXide Desktop
joewiz 9621143
Add Tauri filesystem/dialog plugins and desktop bridge
joewiz 454e819
Add eXide Desktop: Tauri v2 native app with custom icon
joewiz aeef7ad
Add server connection page and store plugin for eXide Desktop
joewiz da98134
Add native macOS menu bar for eXide Desktop
joewiz 0a61787
Add local filesystem pane for eXide Desktop
joewiz e046310
Add local file opening via custom localfs:// protocol
joewiz 98216fc
Fix local file tab names, add connection timeout and cancel
joewiz 29d826a
Add WebSocket transport layer for real-time LSP and monitoring
joewiz 9d5be4f
Wire WebSocket auto-connect, monitoring, and LSP hover
joewiz 3bcaf02
Fix WebSocket ping handling and add Cypress tests
joewiz 42fe5f4
Fix LOCAL tab active indicator and match Collections pane styling
joewiz f4bacb1
Add WebSocket monitoring push and eXide channel subscription
joewiz d20cc86
Wire monitoring tab to WebSocket push for real-time updates
joewiz 07c9629
Update monitor tests for WebSocket-based polling
joewiz b854b97
Push LSP diagnostics via WebSocket after compilation
joewiz 505ec01
Stop JMX polling when WebSocket monitor takes over
joewiz 0504a67
Fix monitoring: JMX running/recent queries via EXPath HTTP Client
joewiz 8d37d65
Wire kill query button and add Cypress test
joewiz 2c212c9
Fix duplicate namespace prefix in autocomplete and storage API path e…
joewiz def6732
Replace query execution with server-side cursor pagination via lsp:ev…
joewiz 87ff519
Add AbortController-based cancel with update query warning
joewiz 9110c49
Expand cancel warning to cover all state-modifying expressions
joewiz 99a3085
Pass serialization parameters through cursor fetch pipeline
joewiz b640e92
Add pagination, large result, and serialization toggle tests
joewiz 46cfbb2
Add Cypress tests for go-to-definition, references, tag matching, sco…
joewiz db773f8
Show compile/evaluate timing breakdown in results bar
joewiz 3637f23
Update favicon to multi-resolution eXist X icon with transparent back…
joewiz 23e5c33
Update LSP dependency from exist-lsp to exist-api package
joewiz 60414ea
Add ws dev dependency for WebSocket endpoint testing
joewiz a23c9cf
Bump version to 3.6.0
joewiz da20fc6
Restore license header in collection.xconf.xsd
joewiz 17c172b
Replace var with const/let in ui-init.js
joewiz 42e6a71
Extract test file cleanup into cy.cleanupTestFiles() custom command
joewiz 24ef119
Replace arbitrary cy.wait() with cy.intercept() named routes in autoc…
joewiz ea7d771
Remove committed REx.class binary; compile from REx.java on demand
joewiz 1ddca80
Improve CI: unit tests, OpenAPI validation, gh CLI for Roaster download
joewiz 46002c2
Separate copied results with newlines
joewiz ac72beb
Re-fetch page 1 when number-of-results changes
joewiz 866b38d
Make active toggle buttons visually distinct from hover state
joewiz 30dced8
Toggle menubar menu closed when clicking the active menu
joewiz 699e333
[bugfix] Fix DB manager copy returning mixed sequence (SERE0023)
joewiz ca8e4e5
[test] Fix autocomplete insertion tests after cy.wait() removal
joewiz 16fe4d0
Route query execution through exist-api, bump version to 4.0.0
joewiz 27384e3
Add adaptive serialization Cypress tests
joewiz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend using gh cli, and download both latest release and the min version as per expath-pkg.xml in a matrix
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[This response was co-authored with Claude Code. -Joe]
Done in commits ea7d771–1ddca80: replaced
curlwithgh release download(using the built-inGITHUB_TOKEN) for the Roaster dependency. The existingrelease/latestDocker matrix covers the most important cases — testing against the specificsemver-minfromexpath-pkg.xml(6.1.0) would require an old Docker image that predates the Roaster/lsp:* dependencies this PR needs. Happy to add that as a separate matrix entry once we settle on the minimum version the full feature set requires.