Commit Graph
100 Commits
Author SHA1 Message Date
PiEgg 2e3e30fcbc 📦 Chore(github): add default code owner for review requests 2026-10-09 20:20:57 -04:00
PiEgg b6ad09936b 📦 Chore(ci): bump node version to 24 in release workflow 2026-10-07 10:48:56 +08:00
PiEgg 4c1009e8bb 📦 Chore: bump node version to 24 2026-10-07 10:43:10 +08:00
PiEgg 7a9bc23084 ✨ Feature(gui): configure server upload secret in settings (#1451)
* ✨ Feature(gui): configure server upload secret in settings

PicGo Core already supports authenticating `POST /upload` with a shared secret (`Authorization: Bearer <secret>`, `X-PicGo-Secret` or `?secret=`), resolved from `PICGO_SERVER_SECRET` or `settings.server.secret`, but the GUI offered no way to set it. Add a masked secret field with a show/hide toggle to the PicGo Server dialog, next to host and port.

The dialog saves the trimmed value as `settings.server.secret`; an empty value disables authentication. Saving already restarts the server, and Core reads the secret from config on `listen()`, so the main process needs no change and `PICGO_SERVER_SECRET` still takes precedence. The secret value is never added to the settings search index.

* 🐛 Fix(gui): keep server secret when normalizing settings

normalizeSettingsConfig only copied host, port and enable from `settings.server`, so after a reload the renderer state had no secret: the server dialog reopened with an empty secret field, and saving it again (e.g. after changing the port) would have silently cleared the secret and disabled authentication. Keep `secret` (falling back to an empty string) and cover it with a test.

* 📝 Docs: document renderer config normalizer whitelist in AGENTS.md

The server secret was dropped from renderer state because normalizeSettingsConfig only copies listed fields, and the server dialog re-saves the whole object. Record the rule for future changes: when adding a persisted config field, update the shared types, renderer state type, default value and normalizer, and add a round-trip normalizer test. Also give `settings.server.secret` an explicit empty default to follow that rule.

* 📝 Docs: require English PRs and squash merges in AGENTS.md
2026-10-05 20:26:32 +08:00
PiEgg 1c0716f59b ✅ Test(gui): wait for schema sync in plugin detail panel tests (#1449)
Mode is hydrated synchronously, but Verbosity / API version only show the saved values after the async refreshConfigSchema call resolves with the advanced-state choices. Both tests waited for Mode and then asserted the dependent fields synchronously, so on a slow CI runner they could still see the placeholder ("verbosity▼"). Move those assertions into waitFor.
2026-10-05 19:14:44 +08:00
PiEgg 98c640c01a 🎉 Release: v3.0.3 2026-10-05 19:03:53 +08:00
PiEgg 6e8387fe69 🐛 Fix(build): patch electron-builder keychain unlock for macOS 26.6 (#1448) 2026-10-05 19:01:16 +08:00
PiEgg 5cead90732 ✨ Feature(server): support per-upload configurations (#1447)
Forward per-upload Core options through the GUI HTTP server, isolate upload task window state, scope rename listener cleanup, and align uploader fallbacks with PicGo Cloud. Add regression coverage and PR/mainline commitlint and test checks.
2026-10-05 17:03:32 +08:00
PiEgg a24af3006f 📝 Docs: prefix sponsor descriptions with brand names 2026-09-24 09:07:05 +08:00
PiEgg 99b0331561 📝 Docs: update sponsor table with Modelflare and Castaly 2026-09-23 16:08:55 +08:00
PiEgg d5543073ea ✨ Feature: rebuild picgo.app when a release is published (#1444)
* ✨ Feature: rebuild picgo.app when a release is published

The download page on picgo.app reads the installer list from the GitHub API at
build time, so a new release does not appear there until the site rebuilds.

Fires on `release: published` rather than on the tag push, because releases are
created as drafts here -- at tag time `releases/latest` still points at the
previous version, so the rebuild would pick up stale installers.

Needs a HOMEPAGE_DISPATCH_TOKEN secret with workflow scope on the homepage
repository; the existing GH_TOKEN is not reused so the two can be revoked
independently.

* 📦 Chore: allow builds for the native dependencies

pnpm 11 gates build scripts behind an explicit allowlist, so a fresh install
stopped partway and asked for `pnpm approve-builds`, which breaks any
non-interactive run including the husky pre-commit hook.

Records the approvals that were already implied by onlyBuiltDependencies. The
spacing change in supportedArchitectures is pnpm rewriting the file.
2026-09-01 20:01:23 +08:00
PiEgg 07ec7068a5 ⬆️ Upgrade: bump @picgo/bump-version to 3.0.0
3.0.0 ships as ESM and renamed the configs it exposes to consumers, so
the cz-customizable and commitlint paths gain their .cjs extensions.

It also stopped shipping contributor tooling as runtime dependencies,
which this repo was relying on: @commitlint/cli reached the commitlint
script only as a transitive dependency of bump-version 2, so the upgrade
would have removed the binary the commit-msg hook needs. It is now a
direct devDependency.

Drops the "husky" field, which has been dead config since c84d542 moved
this repo to husky 9 — v9 reads .husky/ and ignores it entirely. The
circular-dependency check it used to declare has been unhooked ever
since, so lint:dpdm moves to .husky/pre-commit where it actually runs.
Confirmed it both passes on the current tree and fails on a deliberately
introduced cycle, so it is a real gate rather than a no-op.
2026-08-22 22:58:01 +08:00
PiEgg d7d2c22994 📝 Docs: add AI-friendly section for skills and dsh plugin 2026-08-22 13:09:52 +08:00
PiEgg e21e92c0d3 📝 Docs: replace Warp sponsorship with NocoBase 2026-08-17 14:59:27 +08:00
PiEgg a0d5dfaed1 🐛 Fix(gui): make backgroundThrottling optional in window options type
#1435 removed `backgroundThrottling: false` from `defaultWebPreferences`, but
`IBrowserWindowOptions.webPreferences` still declared the field as required, so
`tsc` failed on all five window definitions.

Mark it optional rather than dropping it: omitting the field keeps Electron's
default (throttle when hidden), which is what #1435 intended, while individual
windows can still opt out explicitly if they ever need full-speed background
rendering.
2026-08-17 14:59:09 +08:00
PiEgg 4676326eb8 🎉 Release: v3.0.2 2026-08-14 15:49:03 +08:00
PiEgg 33bbc9a512 ⚡ Perf(gui): stop idle GPU churn from uploader status dot (#1436) 2026-08-14 15:45:41 +08:00
PiEgg 77f1ed16b7 🐛 Fix(gui): protect persisted provider credentials 2026-07-21 14:21:10 +08:00
PiEgg e410afa9bd 🎉 Release: v3.0.1 2026-07-12 17:29:51 +08:00
PiEgg 33c9530658 ✨ Feature(i18n): add Japanese (ja) translation (#1422) 2026-07-12 13:59:51 +08:00
PiEgg 26fc8e46de 🎨 Style(gui): refine title bar layout, restore mini window button and fix related bugs (#1421) 2026-07-11 12:35:52 +08:00
PiEgg 80beead2a5 🎨 Style: improve tray & rename dialog layout and add GitHub Sponsors button (#1416) 2026-07-02 16:46:36 +08:00
PiEgg 4056447ba2 📝 Docs: update docs 2026-07-01 14:23:43 +08:00
PiEgg e26a21c4ea 📝 Docs: update docs 2026-07-01 14:22:14 +08:00
PiEgg 9ba9c3e30c 🎉 Release: v3.0.0 2026-07-01 11:15:32 +08:00
PiEgg 810cfb1963 🐛 Fix: picgo-core link bug 2026-07-01 11:15:08 +08:00
PiEgg 93bbb29d54 ✨ Feature: v3 (#1414) 2026-07-01 10:22:36 +08:00
PiEgg 01130f2a0a 📝 Docs: update readme 2026-06-10 15:56:38 +08:00
PiEgg d3dcd2362b 🐛 Fix: signed path extract error (#1407) 2026-04-11 19:42:20 +08:00
PiEgg e1b04b838e 🐛 Fix(gui): migrate renderer electron access to preload bridge (#1405) 2026-04-04 00:13:20 +08:00
PiEgg 43a21de380 fix: pin pnpm to 10.29.2 for release builds (#1400) 2026-03-06 17:09:42 +08:00
PiEgg ff85edeaaf 📝 Docs: add 2.5.3 docs 2026-03-06 15:30:30 +08:00
PiEgg ba9fd5c1af 🎉 Release: v2.5.3 2026-03-06 14:38:46 +08:00
PiEgg c7ca0de0c3 🐛 Fix(update): correct latest version lookup with beta channel (#1396) (#1397) 2026-03-03 16:03:29 +08:00
PiEgg 0e452e1459 🐛 Fix(plugin): refresh plugin config dialog state (#1395)
ISSUE_CLOSED: #1394
2026-03-03 15:11:31 +08:00
PiEgg f05ab6348a 📦 Chore: add oz agent for issues (#1392) 2026-02-26 22:41:36 +08:00
PiEgg 87d92d51e0 📝 Docs: update sponsor 2026-02-21 22:07:58 +08:00
PiEgg ac9a00bf25 📝 Docs: update docs 2026-02-10 22:16:26 +08:00
PiEgg 84fe4259eb 🎉 Release: v2.5.2 2026-02-10 22:08:05 +08:00
PiEgg a1f76cac9a 🐛 Fix: s.ee upload error
ISSUES CLOSED: #1385
2026-02-10 22:07:38 +08:00
PiEgg d0defeede9 📝 Docs: update readme for s.ee 2026-02-10 15:47:32 +08:00
PiEgg 5008a92842 📝 Docs: add 2.5.1 docs 2026-02-10 15:26:38 +08:00
PiEgg 905e34aefe 🎉 Release: v2.5.1 2026-02-10 12:21:13 +08:00
PiEgg 592f9855f8 📦 Chore(notification): add notification for windows sign (#1387) 2026-02-10 11:38:46 +08:00
PiEgg e2e05aef49 📦 Chore: update picgo version to support s.ee
ISSUES CLOSED: #1385
2026-02-10 10:30:55 +08:00
PiEgg 781cf30c55 ✨ Feature: windows signature (#1386) 2026-02-10 10:25:53 +08:00
PiEgg 27464dcf29 📦 Chore: update link 2026-02-04 10:54:46 +08:00
PiEgg ef07c15085 🐛 Fix(plugin): plugin search error
ISSUES CLOSED: #1383
2026-01-31 08:13:12 +08:00
PiEgg 8952c98351 🎉 Release: v2.5.0 2026-01-27 16:57:41 +08:00
PiEgg 5cabbbdb90 🐛 Fix: review changes 2026-01-27 16:56:35 +08:00
PiEgg 43447726ef ✨ Feature: add picgo cloud and config sync (#1382)
ISSUES CLOSED: #1381
2026-01-27 16:52:23 +08:00
PiEgg 678cb713a9 📦 Chore(multi-arch): add multi-arch build support (#1379) 2026-01-20 14:54:55 +08:00
PiEgg 32f501cadb 🔨 Refactor(config): multi-config handle by picgo-core (#1378) 2026-01-13 20:41:15 +08:00
PiEgg 4fb3f2d488 📝 Docs(faq): update faq 2026-01-12 21:18:36 +08:00
PiEgg 5eb3755fa2 📝 Docs(release): update 2.4.3 docs 2026-01-12 20:57:54 +08:00
PiEgg 2a716ecdbc 🎉 Release: v2.4.3 2026-01-12 20:11:52 +08:00
PiEgg 089884b10a 🐛 Fix(ui): some ui bugs 2026-01-12 20:10:56 +08:00
PiEgg 2ed1dd5abd ✨ Feature: add global url rewrite support (#1377)
ISSUES CLOSED: #1255, #1281
2026-01-12 18:41:17 +08:00
PiEgg c84d542557 ✨ Feature(upload): add batch url upload support (#1376)
ISSUES CLOSED: #1302
2026-01-12 09:29:01 +08:00
PiEgg dfe92d496b 🐛 Fix(gallery): fix picbed list visible status not sync with gallery (#1373)
ISSUES CLOSED: #1372
2026-01-08 17:16:56 +08:00
PiEgg 3a9ff25071 🎉 Release: v2.4.2 2026-01-07 16:13:28 +08:00
PiEgg 2c9a188dbb 📝 Docs(2.4.2): update changelog 2026-01-07 16:13:04 +08:00
PiEgg 525492bed1 🐛 Fix(tray): clamp image titles to two lines
Prevent long file names from stretching the tray item layout.
2026-01-07 15:45:11 +08:00
PiEgg 50881b071a 🔨 Refactor(db): rm config store (#1371) 2026-01-07 15:13:25 +08:00
PiEgg 2936b19008 ✨ Feature(notification): refactor notification and add notificationSound settings (#1370)
ISSUES CLOSED: #1229
2026-01-04 17:08:19 +08:00
PiEgg b881161bcd 🎉 Release: v2.4.2-beta.0 2025-12-31 14:44:07 +08:00
PiEgg a1d22e5742 📦 Chore: fix workflow build 2025-12-31 14:41:45 +08:00
PiEgg f7f580412f 📦 Chore: update FAQ \&\& plugin filter logic 2025-12-30 22:45:05 +08:00
PiEgg 25f86a69e1 ✨ Feature(config): add copy config \&\& add double confirm before copy \& delete config 2025-12-27 17:17:35 +08:00
PiEgg 840c33bfa5 🐛 Fix(icon): app icon too large in macOS 15.x
ISSUES CLOSED: #1367
2025-12-26 14:15:17 +08:00
PiEgg ee6ca02da7 📦 Chore(signature): add signature \& notarization process 2025-12-25 17:28:57 +08:00
PiEgg 9269f969b8 📦 Chore: electron builder not publish with build command 2025-12-23 20:32:15 +08:00
PiEgg 4d04a9b711 🎉 Release: v2.4.1 2025-12-23 19:37:55 +08:00
PiEgg d071957968 📝 Docs: update 2.4.1 changelog 2025-12-23 19:37:33 +08:00
PiEgg d0eb3da45a ✨ Feature: add showMenubarIcon setting (#1366) 2025-12-23 18:06:17 +08:00
PiEgg eef736ff57 🐛 Fix(custom): data report 2025-12-22 21:34:10 +08:00
PiEgg a671ea4b26 📝 Docs(custom): update readme 2025-12-19 10:18:24 +08:00
PiEgg c658b9bdb1 📝 Docs(custom): update readme 2025-12-18 14:02:19 +08:00
PiEgg c8c9122e5b 📝 Docs(custom): update README 2025-12-18 10:42:58 +08:00
PiEgg 8c310e7a94 📦 Chore(custom): rm yarn.lock 2025-12-11 15:05:22 +08:00
PiEgg f84f5f1d92 🐛 Fix(custom): workflow env bug 2025-12-10 23:38:00 +08:00
PiEgg a0db473178 🐛 Fix(custom): build workflow error 2025-12-10 23:27:23 +08:00
PiEgg 89c24e7f8d 🎉 Release: v2.4.1-beta.1 2025-12-10 23:18:44 +08:00
PiEgg 54d15a6749 🐛 Fix(custom): the issue that x64 macOS app can't be opened
ISSUES CLOSED: #1363
2025-12-10 23:17:53 +08:00
PiEgg 2cc29833df 📦 Chore: update builder config && add legacy version file upload process 2025-12-09 17:42:22 +08:00
PiEgg f695e7ccaf 🎉 Release: v2.4.1-beta.0 2025-12-09 15:47:26 +08:00
PiEgg 366ac11ee2 📦 Chore: disabled build universal installer 2025-12-09 15:46:32 +08:00
PiEgg 9d4ea8277d 📦 Chore: change release url 2025-12-08 21:27:03 +08:00
PiEgg 56f61d458e 🐛 Fix: tray window clipboard image not show bug (#1362) 2025-12-08 21:16:25 +08:00
PiEgg 8e94b2a4d4 📦 Chore: fix upload dist arch bug 2025-12-08 18:47:05 +08:00
PiEgg db627a450f 📦 Chore: fix some workflow bug 2025-12-08 18:12:55 +08:00
PiEgg 070ce2b666 📦 Chore: upgrade electron version && migrate to electron-vite (#1361) 2025-12-08 17:42:35 +08:00
PiEgg b421c4b42a 🐛 Fix: pic-migrater post handler error 2025-11-28 21:18:52 +08:00
PiEgg d6c0a85a0f 🐛 Fix: fix docs link 2025-11-27 11:16:23 +08:00
PiEgg ca805f36f8 🎉 Release: v2.4.0 2025-11-23 08:30:58 +08:00
PiEgg cccd2954db 📝 Docs: add 2.4.0 changelog 2025-11-18 16:55:04 +08:00
PiEgg cfb6146de5 📦 Chore: update picgo core to 1.5.11 to solve url encode bug 2025-11-14 14:51:50 +08:00
PiEgg 45b3227456 📝 Docs: update readme & warp sponsor link 2025-11-03 17:29:14 +08:00
PiEgg 7bc70628f9 🔨 Refactor: refactor the form uploader 2025-06-02 17:16:52 +08:00
PiEgg 8cede85732 🎉 Release: v2.4.0-beta.6 2023-11-19 09:27:56 +08:00