- 09-12 17:25 sha: d7d92ebopen
Merge pull request #38 from vastsa/fix/catalog-preserve-publish-times
fix(catalog): preserve release timestamps on rebuild
- 09-12 17:25 sha: 7984fc2open
fix(catalog): preserve release timestamps on rebuild
- 09-12 17:15 sha: 843120copen
Merge pull request #37 from vastsa/fix/deps-audit-security-hardening
fix(deps-audit): harden untrusted URLs and staging boundaries
- 09-12 17:14 sha: 906882aopen
docs(deps-audit): remove unrelated README content
- 09-12 17:08 sha: 23e3642open
fix(deps-audit): round-2 security hardening (href scheme, staging containment, docs)
Review round 2 blockers: - audit.html: reference URLs from scanner output are scheme-validated — only http/https render as links, anything else degrades to plain text (escapeAttr alone cannot stop javascript:/data:). - pickManifests: 'wanted' names are strictly allowlisted against the known manifest set and canonicalized against the workspace root, so traversal attempts ('../../outside.txt') are rejected at the plugin boundary regardless of host gateway behavior. The staging write gets the same canonical containment check. Negative tests added. - README: permission table now matches manifest.json exactly (fs.read root-manifest scope + clipboard.write; agent.complete/models.list not declared), the troubleshooting command uses the v2 CLI, and the design section documents the staged-copy containment model. Branch also merges current main (catalog.json conflict resolved by regenerating through rebuild_catalog.py). Re-packed 0.2.0: sha256 f6aac93e..., 82,678 bytes. security_audit --check-packages: 0 blockers. Repo suite: 331/331. (cherry picked from commit a4013d1c2a1c500fe5c083e83f848eeed170a15c)
- 09-12 17:09 sha: 450a6b9open
Merge pull request #36 from vastsa/maintainer/merge-pr-35
chore: integrate deps-audit contribution from PR #35
- 09-12 17:06 sha: 1f4de88open
chore(deps-audit): sync PR branch with main
- 09-12 16:53 sha: d18bf98open
fix(deps-audit): rework per maintainer review (lifecycle, scoping, permissions)
Address all seven findings from the #20 review, plus the testing gaps it called out: - Lifecycle (F1): the host builds the API as globalThis.pi and calls onLoad() with no argument, so the previous onLoad(pi) signature never registered anything. Commands, the agent tool, and onUnload now go through the global, with lifecycle regression tests. - Scanner CLI (F2): osv-scanner v2 invocation corrected to 'scan source --format json --recursive <dir>' (was the invalid per-manifest 'scan source -L <file>'), pinned by buildScanArgs and asserted end to end with an argv-recording stub binary. Verified against the real 2.5.1 binary on a seeded lodash 4.17.15 lockfile. - Workspace scoping (F3): panel scans resolve the active project via pi.workspace.get() and settings via pi.plugin.getSettings(); the process.cwd() fallback is gone (no open project = invalid_workspace_root with an actionable message). - Permission containment (F4): manifests are read through the host fs gateway under a declared root-manifest fs.read scope, staged as sanitized copies in a throwaway temp directory, and osv-scanner runs against that directory only - the spawned binary never touches the workspace, and the plugin process makes no network calls of its own (osv-scanner contacts OSV itself). deps_audit_run is declared high risk per the SECURITY.md tier for native execution + network. Negative paths (missing/corrupt binary, timeout, non-zero exit, parse error, missing gateway) are test-covered. - Clipboard (F5): the panel copies through the host clipboard.write bridge instead of navigator.clipboard. - Windows (F6): PATH lookup uses where.exe on Windows and which elsewhere, and every PATH hit is exec-probed so a corrupt download earlier on the PATH fails cleanly instead of crashing the spawn. - Panel chrome (F7): the v3 chrome contract assertions pass and the panel-chrome test count is updated for the added plugin. Real-binary verification: 2.5.1 on a seeded lodash 4.17.15 lockfile finds the advisory through the staged copies. Repo suite: 325/325.
- 09-12 16:51 sha: 8fd5a83open
Merge pull request #34: fix(pi.ssh-manager): close askpass unload race
Merge follow-up SSH lifecycle fix and publish pi.ssh-manager 0.1.4.
- 09-12 16:50 sha: 4ca82c0open
fix(pi.ssh-manager): close askpass unload race
- 09-12 16:46 sha: d8cba51open
Merge pull request #33: fix(pi.ssh-manager): preserve SSH connection diagnostics
Merge reviewed SSH Manager 0.1.3 release. Source/package review and tests passed; Vercel status is an external authorization failure.
- 09-12 16:42 sha: 36c3d8fopen
chore(pi.ssh-manager): sync release branch with main
- 09-12 16:27 sha: 5a48cf9open
Merge pull request #29 from muzimu217/feat/session-import-0.4.8
Reviewed source and packed artifact; merged after conflict resolution against current main. Local security audit and full test suite passed; CI test passed on the merge-ready head.
- 09-12 16:25 sha: 10060a3open
chore(session-import): resolve catalog after main merge
- 09-12 16:23 sha: 2b6d19bopen
Merge pull request #31 from pkmcenter/feat/pi.parchment-1.0.4
Reviewed source and packed artifact; targeted and full repository tests passed. Vercel status is an external team-authorization failure.
- 09-12 14:51 sha: ee54325open
fix(pi.ssh-manager): close config and broker lifecycle gaps
- 09-12 14:15 sha: a010660open
fix(pi.ssh-manager): isolate transient askpass credentials
- 09-12 13:41 sha: af942c0open
fix(pi.ssh-manager): preserve SSH connection diagnostics
- 09-12 09:15 sha: 92b2c6dopen
chore(pi.parchment): repack 1.0.4 with normalized LF line endings and .gitattributes
Repacked pi.parchment-1.0.4.piplug per repo .gitattributes (manifest.json and themes/*.css are eol=lf). CSS content is byte-identical to the previous package; catalog.json shasum/size sync: 11397e2f..., 351052 bytes.
- 09-12 08:17 sha: 69d363bopen
feat(pi.parchment): release 1.0.4 — fix invisible filenames, links and inline code in dark user bubbles
- 09-12 04:46 sha: 568aeb5open
feat(io.github.muzimu217.session-import): publish 0.4.8 (default project binding)
Import behaviour fix on top of 0.4.7 — the plugin now always groups imported sessions under their source project: - Drop the "group to project" checkbox. It was a no-op: the host's import_session calls ensure_project(path) whenever project_path is non-empty and ignores projectId, so unchecking it never produced a standalone import. Placement now defaults to "project"; sessions with no projectPath fall back to the standalone SESSIONS list (NULL project_id index), so no data is lost. - Remove the post-import "session forge" native notification (unclear copy) and drop the now-unused `notify` permission. The forge feature itself is kept. - Simplify the import-done copy to a single line. Keeps 0.4.7 (declarative drivers + custom sources and its security hardening: filesystem-root/Windows-drive rejection, extension suffix validation, SQLite identifier charset limits, convert() confined to the spec root) and the 0.4.6 robustness work unchanged. Package is packed from the in-repo source so security_audit --check-packages matches byte for byte; catalog gains a 0.4.8 entry alongside 0.4.7.
- 09-11 18:49 sha: b600109open
fix(io.github.muzimu217.session-import): harden 0.4.7 custom sources
Reject Windows drive roots and empty extensions, charset-limit SQLite identifiers, keep convert() inside the spec root, load plugin tests from the in-repo path, and align the contract test with 0.4.7.
- 09-11 18:39 sha: c2397b6open
Merge pull request #27 from muzimu217/feat/session-import-0.4.7
Publish io.github.muzimu217.session-import 0.4.7 (declarative source drivers + user-defined sources). Catalog regenerated after conflict with the 0.4.4 CI-gate rebuild.
- 09-11 18:28 sha: a7f3a8dopen
Merge pull request #28 from vastsa/fix/ci-session-import-gates
fix: restore session-import CI gates
- 09-11 18:26 sha: 525f494open
fix: restore session-import CI gates
Stop treating host method calls such as pi.session.import() as dynamic module loading, load plugin tests from the in-repo path, and align the 0.4.4 contract test with the published manifest and package.
- 09-11 18:21 sha: 911e053open
feat(plugin): publish io.github.muzimu217.session-import 0.4.7 (declarative source drivers + user-defined sources)
- 09-11 14:18 sha: d44c283open
Merge pull request #24 from Tioit-Wang/feat/pi-file-manager
feat(pi.file-manager): add editable file manager work-panel view
- 09-11 14:05 sha: 5fbe846open
feat(pi.file-manager): add editable file manager work-panel view
Adds the marketplace's first contributes.views plugin: an editable file manager docked in the right work panel, alongside the bundled read-only Files view rather than replacing it. - Full directory tree with per-file-type icons, lazy loading and keyboard navigation; the selected row is visually distinct from hover. - Split list/editor layout with a draggable divider that persists. - CodeMirror 6 editing with bundled syntax highlighting for 30+ languages and a Markdown preview/edit toggle. - Context menu for create file/folder, rename, move, open and refresh. - Paginated filename search and .gitignore/.ignore aware filtering (with no rule file present nothing is filtered out). - Declares only ui.view. File access runs on Node fs inside the plugin process because manifest.fs cannot express a whole-tree write, so the plugin enforces its own limits: root-relative paths only with symlink and junction escapes refused, a credential-path deny list, atomic writes (temp + fsync + rename), mtime/size conflict detection before overwriting an out-of-editor change, a write audit log and size caps. Packed with scripts/pack_plugin.py; catalog rebuilt as a minimal diff so no existing entry changes. 10 new tests cover manifest identity, the file://-safe view entry, the pi.fs-free path, traversal and credential refusals, symlink escape, atomic and conflicting writes, ignore rules, search pagination and the no-workspace path. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
- 09-11 13:46 sha: d4945f2open
Merge pull request #23 from muzimu217/feat/session-import-0.4.4
feat(plugin): publish io.github.muzimu217.session-import 0.4.4
- 09-11 06:59 sha: 2ecb03dopen
feat(plugin): publish io.github.muzimu217.session-import 0.4.4
Bump Universal Session Import from 0.4.2 to 0.4.4: - Adapt to the merged official session-import contract pi.session.importBatch (#169): tighten tool-payload guardrails by serialized-byte depth, skip bad entries instead of poisoning the whole batch, cap messages at the official 2000 limit, and route through the single import.commit entry point (with automatic fallback to the legacy session.import bridge when the host has not wired it). - Forge adapts to the official session.list {items} shape. - Add bus/history/i18n/save-modes modules, expanded tests, and docs. Local marketplace compatibility verified: the regenerated catalog entry passes scripts/check-marketplace-catalog.mjs and the package SHA-256/size match.
- 09-11 00:42 sha: f38be16open
Merge fix: declare session import permission
- 09-11 00:41 sha: 2e426daopen
fix(io.github.muzimu217.session-import): declare session import permission
- 09-10 18:13 sha: 27cd58bopen
Merge pull request #22: add workspace file guard
Reviewed and approved after security hardening. Preserves the author commit and the follow-up fix commit.
- 09-10 18:02 sha: 9a64ca7open
fix(pi.workspace-file-guard): harden path checks and env output
- 09-10 17:22 sha: f137ec4open
feat: 新增 pi.workspace-file-guard 工作区文件护栏
把测试、临时、草稿、日志、缓存等垃圾文件关在当前工作区或 PI scratch。 行为约束 skill 包,注册路径分类工具,不写盘、不联网。
- 09-10 16:24 sha: f7440ccopen
feat: reorganize plugin categories and site branding
- 09-10 16:11 sha: 8657845open
feat(pi.parchment): add theme marketplace tag
- 09-10 16:03 sha: b9d8936open
fix(website): contain images in plugin documentation
- 09-10 15:52 sha: 492ddadopen
fix(pi.markdown): repack 0.5.0 artifact
- 09-10 15:50 sha: d09c74bopen
Merge pull request #21 from pkmcenter/pi.parchment-1.0.2
docs(pi.parchment): add README screenshots; release 1.0.2
- 09-10 15:42 sha: d6cb3beopen
chore(pi.parchment): sync catalog sha/size with LF-repacked 1.0.2 package
- 09-10 15:38 sha: 5ebbb15open
fix(pi.parchment): normalize package line endings to LF
Repack pi.parchment-1.0.2 with LF-normalized source files so the security audit's packed-bytes-vs-source comparison passes on CI (Linux checkout). Previous package embedded CRLF from a Windows working copy.
- 09-10 15:32 sha: 28826e1open
fix(pi.parchment): beat host light-theme cascade on code surfaces; update version test to 1.0.2
- 09-10 15:20 sha: b067eeeopen
docs(pi.parchment): add README screenshots; release 1.0.2
- 09-10 10:34 sha: b3930ddopen
chore(pi.markdown): pack 0.5.0 and rebuild the catalog
python scripts/pack_plugin.py plugins/pi.markdown sha256 e8433c1b3b8477f5c893ab816db194915551c32d5609a7e90bb28241c4d055fc size 18666645 bytes python scripts/rebuild_catalog.py regenerates the index for all 17 plugins, which is the same wholesale retimestamp the previous catalog commit carried. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
- 09-10 10:34 sha: 017b841open
feat(pi.markdown): replace open_file with a read-only preview mode
preview_file opens one Markdown/text file by absolute path as a read-only preview: the panel hides the sidebar, renders the document, and the user clicks Edit to modify it, after which edits save back automatically. The file is read and written through node fs, so no directory grant is needed and any absolute path works; fs.read/fs.write and manifest.fs are dropped. The panel also moves to the Typora Inkwell palette (light/dark), gives the code block a single rounded container with a language header, follows the theme in Mermaid diagrams, and drops dead selectors that never matched the React tree. Co-authored-by: CommandCodeBot <noreply@commandcode.ai>
- 09-10 09:03 sha: 9549b46open
fix(session-import): align plugin with security gates
- 09-10 08:55 sha: 4d2b819open
chore: add plugin security review gate
- 09-10 08:28 sha: c0561a9open
fix(pi.parchment): correct theme cascade and panel chrome
- 09-10 08:37 sha: 3850710open
Merge pull request #19 from muzimu217/feat/session-import
- 09-10 08:25 sha: b2a94d2open
Merge pull request #18 from pkmcenter/pi.parchment
Add pi.parchment 1.0.0: warm parchment global theme
- 09-10 05:01 sha: 49960efopen
feat(plugin): publish io.github.muzimu217.session-import 0.4.1
Universal session import + forge: bring sessions in from ZCode, WorkBuddy, Claude Code, Codex, OpenCode and Pi, then distill them back into project conventions and reusable practices. - six-source detection, per-project grouping, preview before import - session forge: pi.agent.complete distillation with a corpus budget and an ADR 0174 rate-limit guard; fs.write scoped to AGENTS.md / *.md / docs/** / .agents/skills/** - i18n (en, zh-CN), categories, changelog and safetyNotes per CONTRIBUTING - engines >=0.14.3, matching the newest community plugins Packed with scripts/pack_plugin.py; catalog rebuilt with scripts/rebuild_catalog.py.
- 09-10 04:22 sha: 423cfd4open
Add pi.parchment 1.0.0: warm parchment global theme
- 09-10 01:42 sha: 0f6301aopen
docs: split README into English (default) and Chinese editions
README.md is now English-first with a link to README.zh-CN.md. Chinese content moved to README.zh-CN.md with a back-link to the English version. Both manifest examples include the i18n block.
- 09-09 18:51 sha: fd5b834open
chore(catalog): delist com.vastsa.voice-assistant
Keep the source in plugins/ but omit the voice assistant from catalog.json so the marketplace no longer lists it.
- 09-09 18:30 sha: 9b68e43open
fix(com.vastsa.voice-assistant): emit catalog author as a string
PI-Desktop parses marketplace author as a string. An object author on the voice-assistant entry made the whole catalog refresh fail.
- 09-09 18:10 sha: 2661a67open
docs: add AGENTS.md for AI coding agents
- 09-09 18:08 sha: 99f57a9open
fix: add missing i18n blocks and safetyNotes to 3 plugins
- com.vastsa.voice-assistant: add i18n block (en/zh-CN with safetyNotes) - demo.hello: add safetyNotes to i18n - demo.workspace-notes: add safetyNotes to i18n All 16 plugins now have complete i18n (name, description, safetyNotes) in both en and zh-CN.
- 09-09 18:04 sha: 9db8cf5open
chore: pack pi.goal-x 0.1.1 and rebuild catalog (16 plugins)
- 09-09 17:45 sha: e351b64open
fix(chrome): opt remaining panels into v3 host chrome
Voice Assistant and Log Viewer still declared the old panel chrome contract, which failed tests/panel-chrome.test.mjs on CI.
- 09-09 17:29 sha: 879b031open
chore: restore GitHub-first plugin publish flow
plugins.aiuo.net is not live yet. Pack + rebuild_catalog.py is again the official release path, and the hourly mirror workflow is removed so it cannot overwrite catalog.json.
- 09-09 17:24 sha: e013db1open
fix(pi.goal-x): docked chrome, fail-closed storage, namespaced commands
Keep a usable toolbar when the work-panel titlebar height is 0, show the three-pane layout at the default window size, refuse malformed goal state, write a complete settings object, and gate renderer mocks behind ?preview=1.
- 09-09 17:19 sha: b606af3open
feat(plugin): publish standalone voice assistant
- 09-09 17:05 sha: 89adbb4open
Merge pull request #17 from niansi1/feat/pi-goal-x
feat: add Goal X plugin
- 09-09 17:01 sha: 08bb222open
chore(catalog): publish pi.ssh-manager 0.1.2
Sync the GitHub raw catalog readme and updatedAt with the packed 0.1.2 artifact so marketplace clients can install config scan, identity-file picker, OpenSSH diagnostics, and the Windows ssh.exe env fix.
- 09-09 16:41 sha: d894f07open
feat(pi.ssh-manager): scan OpenSSH config and diagnose connect failures
Import concrete hosts from ~/.ssh/config, add an identity-file picker, show OpenSSH diagnostics instead of a bare exit 255, inherit Windows system env so ssh.exe can run, and kill leftover ssh processes on unload.
- 09-09 16:22 sha: 330a4ebopen
feat: add Goal X plugin
- 09-09 08:17 sha: 17dd4a1open
Merge pull request #16 from vastsa/feat/catalog-pi-log-viewer
catalog: register pi.log-viewer 0.2.0
- 09-09 08:17 sha: e683bbaopen
catalog: register pi.log-viewer 0.2.0
plugins.aiuo.net is not live yet; GitHub catalog.json is the client fallback source. Add the installable piplug and entry so PI-Desktop marketplace search can find Log Viewer.
- 09-09 03:17 sha: 24ae407open
Merge pull request #15 from vastsa/feat/add-pi-log-viewer
feat(plugins): add pi.log-viewer (Log Viewer)
- 09-09 03:16 sha: bd09d43open
feat(plugins): add pi.log-viewer (Log Viewer)
Streamed large-log viewer: virtual scroll, tail, search vs filter, level badges, pin lines, bilingual manifest (en / zh-CN).
- 09-09 02:46 sha: 315274copen
chore(pi.bianqian): refresh catalog for 0.1.5
- 09-09 02:44 sha: 77875f2open
fix(pi.bianqian): avoid host capsule overlap
- 09-07 07:28 sha: c8b3493open
chore(catalog): publish pi.token-insights 0.4.8
Point the GitHub raw catalog at the packed 0.4.8 artifact so marketplace clients can install the completed-turn remainder scan.
- 09-07 07:16 sha: 71b4cfcopen
feat(pi.token-insights): fold host completed-turn remainders
PI-Desktop transcript rows still drive model rankings. When host turns totals exceed those rows, add the subagent remainder without rewriting message.usage. This panel is the usage dashboard after Settings dropped its Usage page.
- 09-07 06:49 sha: 8603539open
chore(catalog): publish pi.gitlens 0.2.7
Source already followed the app color mode only; ship the package so the GitHub raw catalog can install it.
- 09-07 02:41 sha: b670fc3open
chore(catalog): publish pi.terminal 0.1.6
Windows ConPTY now stays inside the work panel instead of opening a separate PowerShell window.
- 09-07 02:41 sha: 6151af2open
fix(pi.terminal): attach Windows PowerShell to in-app ConPTY
Passing &hpc to PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE left the child unattached, so powershell.exe opened a real console window instead of feeding the work-panel xterm. Pass the HPCON handle, hide the child console, and build the Windows helper as GUI subsystem.
- 09-07 02:10 sha: eedaef9open
fix(appearance): follow app color mode, never snap to OS
Resolving "system" against prefers-color-scheme fought the host palette and flashed when the app and OS disagreed. Keep the last app light/dark instead, and stop the extra terminal appearance poll from overwriting it.
- 09-06 15:09 sha: 091a79eopen
feat: migrate marketplace to plugins.aiuo.net, repo becomes GitHub raw mirror
- Add CI workflows: sync-catalog (hourly mirror) and tests - Add scripts/sync_catalog.py and tests/test_sync_catalog.py - Update CLAUDE.md, README, CONTRIBUTING to reflect new architecture - Update website docs for marketplace migration - Add __pycache__/ to .gitignore, clean up rebuild_catalog.py docstring
- 09-06 12:58 sha: 906d09eopen
chore(catalog): publish pi.terminal 0.1.4 and pi.gitlens 0.2.6
Work-panel views follow the app light/dark mode live.
- 09-06 12:24 sha: 8cf73acopen
fix(appearance): follow app color mode in work-panel views
Work-panel views never receive appearance:changed. The shared adapter now polls app.getAppearance, Terminal and Git Lens proxy the host snapshot from the plugin process, and xterm refreshes its canvas with the active palette.
- 09-06 09:02 sha: ce062beopen
feat(pi.gitlens): drop agent tools, keep work-panel UI only
Git Lens no longer registers git_* tools or the Git workflow skill. The dashboard stays in the right work panel for humans; permission is ui.view only.
- 09-06 08:57 sha: a93fbf5open
feat(pi.terminal): add work-panel terminal with per-project sessions
Otty-inspired interactive terminal that docks in the right work panel. Sessions are login shells with the user PATH, driven by a bundled PTY helper, and isolated per open workspace so switching projects cannot mix tabs.
- 09-06 08:57 sha: 762bc81open
feat(pi.gitlens): dock in the work panel and follow app locale
Release 0.2.4: Git Lens no longer opens a detached window; it docks in the right work panel, with a compact overview, full-page diff sheets, and UI that follows the host language from the first paint.
- 09-01 13:26 sha: 9f63f74open
chore(pi.token-insights): publish 0.4.7
- 09-01 13:26 sha: 32b3051open
merge: sync remote marketplace updates
- 09-01 13:26 sha: bb69002open
chore(catalog): publish pi.ssh-manager 0.1.1
- 09-01 13:24 sha: afe760dopen
feat(pi.ssh-manager): merge SSH manager plugin
- 09-01 12:00 sha: 2341677open
fix(pi.token-insights): remove duplicate Windows scrollbar gutter
- 08-27 16:02 sha: 199ac57open
fix(pi.token-insights): keep titlebar clear of window capsule
The panel paints through the host's 46px band under v3 chrome, but the three-button window-control capsule still floats over the top-right corner. The titlebar put its appearance and refresh buttons at right: 12px, so both sat under the capsule and stopped being clickable. Reserve the capsule's 104px corner once as --capsule-reserve and consume it where the panel reaches that corner: - .titlebar pads the right side by the reserve - .menu re-applies it, since an absolute offset resolves against the padding box and would otherwise stay under the capsule - the <=560px gutter override now tightens the left side only; its padding-inline shorthand previously reset the right side to 12px - a long localized title truncates instead of running under the reserve
- 08-22 08:48 sha: a6918ccopen
Merge pull request #12 from vastsa/feat/pi-todo-065-background-service
feat(pi.todo): 0.6.5 到期提醒迁移到宿主后台服务(due-reminder + background.service)
- 08-22 08:18 sha: 9670de2open
feat(pi.todo): release v0.6.5 sync from source repo (background due-reminder service)
- 08-22 07:39 sha: fa6576eopen
Merge pull request #11 from vastsa/feat/v3-header-chrome-064-034-044
feat: 全部插件 v3 头部对齐 — pi.todo 0.6.4 / pi.scratch-calc 0.3.4 / pi.super-domain-man 0.4.4
- 08-22 07:38 sha: a3b2facopen
chore(catalog): publish pi.todo 0.6.4 / pi.scratch-calc 0.3.4 / pi.super-domain-man 0.4.4
- 08-22 07:38 sha: 09ce276open
feat(pi.super-domain-man): release v0.4.4 sync from source repo (v3 header chrome + capsule retint)
- 08-22 07:38 sha: 3b2a8c7open
feat(pi.scratch-calc): release v0.3.4 sync from source repo (v3 header chrome + capsule retint)
- 08-22 07:38 sha: 2dfeef8open
feat(pi.todo): release v0.6.4 sync from source repo (v3 header chrome + capsule retint)
- 08-22 06:52 sha: e4729bbopen
build(pi.gitlens): refresh 0.1.4 package
- 08-22 06:52 sha: cbb666fopen
fix(pi.gitlens): guard capsule retint observer