super-productivity/packages
Johannes Millan 33b91716b1
test: close critical E2E and CI coverage gaps (#9274)
* test(worklog): verify archived duration corrections persist

* ci(android): run JVM tests on pull requests

Run the Play and F-Droid debug JVM suites for Android-affecting changes while keeping a stable required-check status on unrelated PRs.\n\nCloses #8734

* test(supersync): run repair causality integration test

Include the PostgreSQL repair-causality regression in the CI integration script's explicit test list.\n\nCloses #8773

* ci(sync): close provider E2E path gaps

Select both real-provider suites for every persistent action owner and the client clock, date, and replay guards. Mirror the same coverage on master and release pushes.\n\nRefs #8733\nRefs #9262

* ci(android): run instrumentation tests on emulator

Use the AndroidX test runner and execute the Play debug instrumentation suite on an API 35 emulator for Android-affecting pull requests. This gates the on-device CursorWindow data-loss regression.\n\nRefs #8401\nRefs #9262

* ci(shared-schema): run package tests

* ci(plugins): discover test suites from manifests

Closes #8733

* test(boards): verify board creation persists

* test(migration): require legacy error recovery flow

* test(navigation): remove redundant route smoke

* test(keyboard): verify default shortcut behavior

* test(migration): verify error acknowledgement cleanup

* test(worklog): verify corrected time CSV export

* test(keyboard): verify remapped shortcut persistence

* test(recurring): verify occurrence and series removal

* test(mobile): add WebKit touch smoke

* test(pwa): verify persisted offline reload

* test(pwa): verify update activation

* test(performance): verify large-list row reuse

* test(webdav): cover split migration recovery

Exercise a real v2-to-v3 migration through WebDAV when the primary tombstone commits but its response is lost. Verify restart recovery, backup neutralization, pending-data survival, and the split-disabled no-write guard.
2026-07-24 10:57:29 +02:00
..
plugin-api feat(plugin): add PluginAPI.request with manifest allowedHosts allowlist (#8721) 2026-07-07 11:50:17 +02:00
plugin-dev test: close critical E2E and CI coverage gaps (#9274) 2026-07-24 10:57:29 +02:00
shared-schema Merge branch 'feat/with-the-latest-changes-i-get-your-app-4212df' 2026-07-17 20:47:30 +02:00
super-sync-server test: close critical E2E and CI coverage gaps (#9274) 2026-07-24 10:57:29 +02:00
sync-core fix(sync): keep import author in client-side clock pruning (#9096) (#9102) 2026-07-17 12:35:15 +02:00
sync-providers fix(sync): use canonical Nextcloud ETags for uploads (#9251) 2026-07-22 23:32:08 +02:00
vite-plugin chore(deps): bump esbuild in the npm_and_yarn group across 0 directory (#8451) 2026-06-17 14:41:32 +02:00
build-packages.js fix(plugin): refresh procrastination buster i18n #5102 (#8145) 2026-06-08 20:44:43 +02:00
README.md feat: cleanup and update plugins 2 2025-06-29 06:36:02 +02:00

Super Productivity Packages

This directory contains plugin packages and the plugin API for Super Productivity.

Structure

  • plugin-api/ - TypeScript definitions for the plugin API
  • plugin-dev/ - Plugin development examples and tools
    • api-test-plugin/ - Basic API test plugin
    • procrastination-buster/ - Example SolidJS-based plugin
    • yesterday-tasks-plugin/ - Simple plugin showing yesterday's tasks
    • boilerplate-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:

  1. Builds the plugin-api TypeScript definitions
  2. Builds plugins that require compilation (e.g., procrastination-buster)
  3. 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

  1. Create a new directory in plugin-dev/
  2. Add the plugin configuration to /packages/build-packages.js
  3. Run npm run build:packages to test the build

Notes

  • The boilerplate-solid-js and sync-md plugins 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