Skip to content

Feat/polish gating and feature gaps#99

Merged
ric-v merged 3 commits into
dev-asterix:mainfrom
ric-v:feat/polish-gating-and-feature-gaps
Jun 17, 2026
Merged

Feat/polish gating and feature gaps#99
ric-v merged 3 commits into
dev-asterix:mainfrom
ric-v:feat/polish-gating-and-feature-gaps

Conversation

@ric-v

@ric-v ric-v commented Jun 17, 2026

Copy link
Copy Markdown
Member

This pull request introduces a significant refactor and modernization of the sync API endpoints. The old monolithic sync endpoints (sync-items, sync-keys, sync-manifest, sync-shares, and sync-shares-id) have been removed, and a new set of modular, workspace-aware "v2" endpoints have been added. These new endpoints provide more granular and scalable operations for collaborative workspaces, including workspace management, delta-based sync, atomic batch operations, and workspace resets. Additionally, there are improvements to license and account activity tracking.

The most important changes are:

1. Sync API v2: Workspace and Collaboration Support

  • Introduced new v2 sync endpoints for workspace-based collaboration:
    • sync-v2-spaces.js: Manage workspaces (list, create, add/remove members) with role-based access and Teams license enforcement.
    • sync-v2-pull.js: Delta pull endpoint for fetching updates in a workspace since a given cursor, with workspace membership checks.
    • sync-v2-push.js: Atomic batch push endpoint for upserts and deletes with per-item compare-and-swap, enforcing workspace write permissions.
    • sync-v2-reset.js: Endpoint to wipe a workspace (owner-only), supporting "clear cloud & push from local" workflows.

2. Removal of Legacy Sync Endpoints

  • Removed the legacy sync endpoints:
    • sync-items.js, sync-keys.js, sync-manifest.js, sync-shares.js, and sync-shares-id.js have been deleted, retiring the old sync model in favor of the new workspace-based approach. [1] [2] [3] [4] [5]

3. License and Account Activity Enhancements

  • Improved license/account management:
    • expirePastDueLicenses() now returns the list of expired license keys instead of just a count, allowing for more granular downstream processing.
    • On session creation and token refresh, accounts are now marked active/inactive as appropriate, and inactive cloud data is purged asynchronously, improving resource management and security. [1] [2]

These changes lay the foundation for robust, scalable, and collaborative sync workflows, while cleaning up legacy code and improving license/account lifecycle management.

ric-v and others added 3 commits June 14, 2026 21:31
- Added a new cron job for syncing and purging inactive licenses, improving resource management.
- Updated webhook handling to mark accounts as active or inactive based on license status, enhancing user account management.
- Refactored license expiration logic to return expired license keys for better tracking.
- Introduced new functions for marking accounts inactive and purging cloud data, streamlining license management processes.
- Updated documentation to reflect changes in license retention policies and cron job functionalities.
…provements

- Add postgres connection selection in sync settings hub
- Support opening new notebooks from cloud sync settings
- Fix path resolution inconsistencies in notebook sync (use path.resolve for normalization)
- Reorder sync acknowledge to occur before manifest updates (reduces race condition window)
- Include file paths in acknowledge keys for better sync tracking
- Improve sync conflict detection with resolved path comparisons
- Update settings hub UI with synced connection preferences

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
- Updated sync API to support new v2 functionality, including pull, push, and reset operations.
- Introduced workspace management features, allowing users to create and manage shared workspaces.
- Removed deprecated sync handlers to streamline the codebase and improve maintainability.
- Enhanced database schema for better handling of sync items and deletes.
- Updated package.json to reflect changes in command titles for improved clarity in the UI.
- Improved conflict resolution handling by removing legacy services and integrating automatic resolution strategies.
@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

@ric-v is attempting to deploy a commit to the asterix-dev Team on Vercel.

A member of the Team first needs to authorize it.

@vercel

vercel Bot commented Jun 17, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pg-studio Ready Ready Preview, Comment Jun 17, 2026 6:43pm

@ric-v ric-v merged commit ff11606 into dev-asterix:main Jun 17, 2026
4 of 15 checks passed
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