docs: backfill changelog and add release verification
This commit is contained in:
@@ -0,0 +1,28 @@
|
|||||||
|
name: CI
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Node.js
|
||||||
|
uses: actions/setup-node@v4
|
||||||
|
with:
|
||||||
|
node-version: 24
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Typecheck and test
|
||||||
|
run: npm run typecheck && npm test
|
||||||
@@ -26,7 +26,7 @@ jobs:
|
|||||||
run: node -e "const {version}=require('./package.json'); const tag=process.env.GITHUB_REF_NAME.replace(/^v/,''); if(version!==tag){console.error(\`Tag \${tag} does not match package.json version \${version}\`); process.exit(1);}"
|
run: node -e "const {version}=require('./package.json'); const tag=process.env.GITHUB_REF_NAME.replace(/^v/,''); if(version!==tag){console.error(\`Tag \${tag} does not match package.json version \${version}\`); process.exit(1);}"
|
||||||
|
|
||||||
- name: Upgrade npm
|
- name: Upgrade npm
|
||||||
run: npm install -g npm@latest
|
run: npm install -g npm@11
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ node --import @mariozechner/jiti/register --input-type=module -e "import('./src/
|
|||||||
- Auth tries macOS app token first via `defaults read ai.perplexity.mac authToken`, unless `PI_AUTH_NO_BORROW=1`.
|
- Auth tries macOS app token first via `defaults read ai.perplexity.mac authToken`, unless `PI_AUTH_NO_BORROW=1`.
|
||||||
- Email OTP fallback uses `ctx.ui.input()`.
|
- Email OTP fallback uses `ctx.ui.input()`.
|
||||||
- Tokens are stored at `~/.config/pi-perplexity/auth.json` with mode `0600`.
|
- Tokens are stored at `~/.config/pi-perplexity/auth.json` with mode `0600`.
|
||||||
- JWT expiry is `decoded.exp * 1000` with a 5 minute buffer; decode failures fall back to 1 hour.
|
- Stored tokens have no expiry tracking; `loadToken()` returns any cached token and expiry surfaces as 401/403 at request time.
|
||||||
- AUTH errors preserve the cached token; users explicitly clear/re-auth with `/perplexity-login --force`.
|
- AUTH errors preserve the cached token; users explicitly clear/re-auth with `/perplexity-login --force`.
|
||||||
|
|
||||||
## Boundaries
|
## Boundaries
|
||||||
|
|||||||
@@ -9,6 +9,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- Browser credential paste now runs exclusively through `/perplexity-login --browser`; `authenticate()` no longer prompts inline on Cloudflare challenges.
|
||||||
|
- URL deduplication of sources now lowercases only the scheme and host, keeping case-sensitive paths and queries distinct.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Stop clearing the cached auth token automatically when Perplexity rejects authentication (transient 401/403); use `/perplexity-login --force` to re-auth explicitly.
|
||||||
|
- Import `randomUUID` from `node:crypto` instead of relying on the global WebCrypto object, restoring the documented Node 18.14.1 support.
|
||||||
|
- Report `sourceCount` consistently with the rendered source list when `limit` is fractional or out of range.
|
||||||
|
|
||||||
|
### CI
|
||||||
|
|
||||||
|
- Run typecheck and tests on push/PR and before npm publish.
|
||||||
|
|
||||||
|
## [0.2.4] - 2026-06-24
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Browser cookie login fallback: paste a Copy-as-cURL command or Cookie header via `/perplexity-login` when desktop/OTP auth is unavailable.
|
||||||
|
|
||||||
|
## [0.2.3] - 2026-06-24
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
- Removed the Bun runtime dependency; Perplexity requests now use pi's Node runtime and development uses npm scripts.
|
- Removed the Bun runtime dependency; Perplexity requests now use pi's Node runtime and development uses npm scripts.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|||||||
Reference in New Issue
Block a user