mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-08-02 04:22:32 +00:00
vector-clocks.md still described detectConflictForEntity as the combined OR + orderBy filter and vouched for it - 'a BitmapOr + sort bounded by the entity's stored version depth (op-log pruning keeps that small)'. That is the exact false assumption behind the 2026-07-20 outage, in the authoritative doc. Worse, the escalation it recommended (two ordered LIMIT 1 lookups) is itself a measured-catastrophic shape: the array side still cannot order on GIN. Also fix a test that could not fail. 'does not alias a POST-split misc write onto tasks' probed 'tasks-v2-only', but the legacy-misc branch is entered only for entityId === 'tasks', so it never reached the gate it claimed to guard - breaking the gate to 'lte' left all 915 tests green. It now probes 'tasks' under its own tenant, and is verified red under that mutation. Correct three overclaims in the comments: production does get custom plans for the first ~5 executions before settling generic; a partial expression GIN can skip the single-entity majority; fastupdate=off stops new pending entries but does not flush existing ones, and 140 blocks is not a ceiling. |
||
|---|---|---|
| .. | ||
| plugin-api | ||
| plugin-dev | ||
| shared-schema | ||
| super-sync-server | ||
| sync-core | ||
| sync-providers | ||
| vite-plugin | ||
| build-packages.js | ||
| README.md | ||
Super Productivity Packages
This directory contains plugin packages and the plugin API for Super Productivity.
Structure
plugin-api/- TypeScript definitions for the plugin APIplugin-dev/- Plugin development examples and toolsapi-test-plugin/- Basic API test pluginprocrastination-buster/- Example SolidJS-based pluginyesterday-tasks-plugin/- Simple plugin showing yesterday's tasksboilerplate-solid-js/- Template for creating new SolidJS plugins (not built)sync-md/- Markdown sync plugin (not built)
Building Packages
All packages are built automatically when running the main build process:
npm run build:packages
This command:
- Builds the plugin-api TypeScript definitions
- Builds plugins that require compilation (e.g., procrastination-buster)
- Copies plugin files to
src/assets/for inclusion in the app
Development
To work on a specific plugin:
cd plugin-dev/[plugin-name]
npm install
npm run dev
Adding a New Plugin
- Create a new directory in
plugin-dev/ - Add the plugin configuration to
/packages/build-packages.js - Run
npm run build:packagesto test the build
Notes
- The
boilerplate-solid-jsandsync-mdplugins are development templates and are not included in production builds - Plugin files are automatically copied to
src/assets/during the build process - The build script handles dependency installation automatically