{"_id":"@benvargas/bb-plugin-project-activity-sort","_rev":"2-e91859ba8e937518805ae6e9795d2b6d","name":"@benvargas/bb-plugin-project-activity-sort","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@benvargas/bb-plugin-project-activity-sort","version":"0.1.0","license":"MIT","_id":"@benvargas/bb-plugin-project-activity-sort@0.1.0","maintainers":[{"name":"benvargas","email":"ben@vargas.com"}],"homepage":"https://github.com/ben-vargas/bb-plugins#readme","bugs":{"url":"https://github.com/ben-vargas/bb-plugins/issues"},"bb":{"app":"./app.tsx","name":"Project Activity Sort","server":"./server.ts","skills":[],"branding":{"icon":"Sort"},"description":"Sort sidebar project groups by their most recently updated thread."},"dist":{"shasum":"2a6c6a0ffaad0b9fd46fed1e25cf4f16f12dd861","tarball":"https://registry.npmjs.org/@benvargas/bb-plugin-project-activity-sort/-/bb-plugin-project-activity-sort-0.1.0.tgz","fileCount":12,"integrity":"sha512-PFN1QIz++MmxKxrcSUIA4t4TPmO+UY9fC9GxIRYbhwhEeaGo7RcGEUN4UiZoX6/sHx4Gq3vZqW4ghdqADmeYOA==","signatures":[{"sig":"MEYCIQCN63EEiU4amxShBw6BgMo4ujqMXyqr1LbtBrSiguykgQIhAJ4b3fV/W3buyNwzPwTQF3CxsBPzjF7N0lQBO+4U5J5H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18879},"type":"module","engines":{"bb":">=0.39","bbPluginSdk":">=0.4.8"},"gitHead":"09e3a700c87acb4a2660e5ac96fc08cf427d266b","scripts":{"test":"vitest run","build":"bb plugin build","check":"tsc --noEmit"},"_npmUser":{"name":"benvargas","email":"ben@vargas.com"},"repository":{"url":"git+https://github.com/ben-vargas/bb-plugins.git","type":"git","directory":"plugins/project-activity-sort"},"_npmVersion":"11.8.0","description":"A bb sidebar plugin that changes one thing: project sections are ordered by the most recent thread update in each project.","directories":{},"_nodeVersion":"24.13.1","_hasShrinkwrap":false,"devDependencies":{"jsdom":"^29.1.1","react":"^19.2.8","vitest":"^4.1.11","react-dom":"^19.2.8","typescript":"^5.7.0","@types/node":"^22.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","@get-bb/plugin-sdk":"0.4.8","@types/better-sqlite3":"^7.6.12","@testing-library/react":"^16.3.2"},"_npmOperationalInternal":{"tmp":"tmp/bb-plugin-project-activity-sort_0.1.0_1787731008509_0.5741749948596555","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"bb":{"name":"Project Activity Sort","server":"./server.ts","skills":[],"branding":{"icon":"Sort"},"description":"Sort sidebar project sections by their most recently updated thread."},"_id":"@benvargas/bb-plugin-project-activity-sort@0.2.0","bugs":{"url":"https://github.com/ben-vargas/bb-plugins/issues"},"dist":{"shasum":"340182e0cf1b4d30e0dabd6beae1bb862e99ee94","tarball":"https://registry.npmjs.org/@benvargas/bb-plugin-project-activity-sort/-/bb-plugin-project-activity-sort-0.2.0.tgz","fileCount":13,"integrity":"sha512-yD3LcQOMYG87epQOocNoHMylJBo3DHxGNOjSStHMqMjePvRVM4TZpvRcrb8bRzwyOp+a17I/J0tG+SsxwgL0Lg==","signatures":[{"sig":"MEUCIQDjTjLiPwf8ReHE6E/LHZdB22qoskKFvvF086mKO3LEkAIgf+llidXGHBgRXjiz2liTiwRzh3W/lESgX0TsBVNjFaw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICLlYo8QFGHFSn/hQM5silYwgOr/jGAS8afQZTFYmJwUAiADYlp02k0fQmYn3C5VZeluAIYAEGEABux1IggEdr8UVw=="}],"unpackedSize":379418},"name":"@benvargas/bb-plugin-project-activity-sort","type":"module","engines":{"bb":">=0.43","bbPluginSdk":">=0.5.9"},"gitHead":"8285f3d1fbd84142033af072042c122935c151da","license":"MIT","scripts":{"test":"vitest run","build":"bb plugin build","check":"tsc --noEmit"},"version":"0.2.0","_npmUser":{"name":"benvargas","email":"ben@vargas.com"},"homepage":"https://github.com/ben-vargas/bb-plugins#readme","keywords":["bb-plugin"],"repository":{"url":"git+https://github.com/ben-vargas/bb-plugins.git","type":"git","directory":"plugins/project-activity-sort"},"_npmVersion":"11.19.0","description":"A bb plugin that changes one thing: project sections are ordered by the most recent thread update in each project.","directories":{},"maintainers":[{"name":"benvargas","email":"ben@vargas.com"}],"_nodeVersion":"24.20.0","dependencies":{"zod":"^4.3.6"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^4.1.11","typescript":"^5.7.0","@types/node":"^22.0.0","@get-bb/plugin-sdk":"0.5.15","@types/better-sqlite3":"^7.6.12"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/bb-plugin-project-activity-sort_0.2.0_1790146825341_0.7937627925346946"}}},"time":{"created":"2026-08-26T07:56:48.255Z","modified":"2026-09-23T07:00:25.645Z","0.1.0":"2026-08-26T07:56:48.650Z","0.2.0":"2026-09-23T07:00:25.477Z"},"bugs":{"url":"https://github.com/ben-vargas/bb-plugins/issues"},"license":"MIT","homepage":"https://github.com/ben-vargas/bb-plugins#readme","repository":{"url":"git+https://github.com/ben-vargas/bb-plugins.git","type":"git","directory":"plugins/project-activity-sort"},"description":"A bb plugin that changes one thing: project sections are ordered by the most recent thread update in each project.","maintainers":[{"name":"benvargas","email":"ben@vargas.com"}],"readme":"# Project Activity Sort for bb\n\nA bb plugin that changes one thing: project sections are ordered by\nthe most recent thread update in each project.\n\nIf project `def` contains the newest thread, `def` appears first. When a thread\nin `xyz` receives a newer `updatedAt` value, `xyz` moves above it.\n\n## How it works\n\nThe plugin has no UI. bb's bundled **Thread list** plugin keeps drawing the\nsidebar, so unread indicators, activity spinners, row menus, collapse\nbehavior, drag and drop, and keyboard navigation all behave exactly as in\nstock bb.\n\nA small server-side process keeps the Thread list plugin's `sectionOrder`\npreference in activity order:\n\n- Rank each project by `max(thread.updatedAt)` across its visible,\n  non-archived threads.\n- Reorder only the `project:<id>` entries in `sectionOrder`; Pinned, Threads,\n  and any other entries keep their positions.\n- Keep the current order when update times tie.\n- Leave bb's Personal project in the Threads section.\n\nA nested child thread contributes activity to its root thread's project.\n\nThe plugin re-syncs on thread lifecycle events (debounced), every five\nminutes as a fallback, and on start. It writes only when the order actually\nchanges. The preference syncs through the bb server, so every window and\ndevice updates live.\n\nOrdering applies when the sidebar is organized **By project**\n(`bb thread-list prefs set organizationMode project`). Manually dragging a\nproject works, but the next thread update re-sorts the list.\n\n## Compatibility\n\nRequires bb `>=0.43` (the release where the sidebar became the bundled\n`thread-list` plugin) and plugin SDK `>=0.5.9`. The plugin reads and writes\nthe preference through the Thread list plugin's `listPreferences` and\n`setPreference` RPC methods. The same data is available from\n`bb thread-list prefs get sectionOrder`.\n\nVersion 0.1.0 targeted bb 0.39–0.42. It replaced the sidebar list and wrote\n`localStorage`. It does not work on bb 0.43 or later.\n\n## Install from GitHub\n\n```sh\nbb plugin install \\\n  git:https://github.com/ben-vargas/bb-plugins.git@main \\\n  --plugin project-activity-sort\n```\n\nIf you pinned **Projects by recent activity** as the sidebar provider in an\nearlier version, switch **Settings → Appearance → Sidebar** back to\nAutomatic or Thread list.\n\n## Develop and verify\n\nFrom the monorepo root:\n\n```sh\nnpm install\nnpm run ci\nbb plugin install path:. --plugin project-activity-sort\nbb plugin dev plugins/project-activity-sort\n```\n","readmeFilename":"README.md","keywords":["bb-plugin"]}