Commit Graph

634 Commits

Author SHA1 Message Date
Matt Isenhower
7adb9c313e Add mkdirp utility to avoid verbose fs.mkdir calls
Added mkdirp() helper to app/common/fs.mjs that wraps
fs.mkdir(dir, { recursive: true }). Updated all call sites to use it.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:09:02 -08:00
Matt Isenhower
8780463c66 Replace deprecated and unmaintained packages
- Removed mkdirp in favor of native fs.mkdir({ recursive: true })
- Replaced ecstatic (unmaintained since 2021) with sirv
- Replaced jsonpath (security vulnerability) with jsonpath-plus
  - Added jsonpathQuery/jsonpathApply helpers in app/common/util.mjs
- Updated sharp: 0.32.6 → 0.34.5
- Updated puppeteer-core: 23.8.0 → 24.37.3

Vulnerabilities reduced from 40 to 1 (only remaining: axios in
threads-api transitive dependency).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:05:49 -08:00
Matt Isenhower
e6004154b9 Migrate ESLint to v9 with flat config
- eslint: 8.57.0 → 9.39.2
- eslint-plugin-vue: 9.23.0 → 10.8.0
- eslint-plugin-jsdoc: 48.2.1 → 62.5.5
- Replaced .eslintrc.cjs with eslint.config.mjs (flat config)
- Removed @vue/eslint-config-airbnb and eslint-plugin-import
- Added @eslint/js, globals, vue-eslint-parser, typescript as deps
- Removed stale eslint-disable comments for import/no-unresolved
- Simplified lint script (ESLint 9 handles extensions/ignores via config)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 11:02:09 -08:00
Matt Isenhower
d5c97a5bf6 Update vue-i18n from v9 to v11
vue-i18n: 9.10.2 → 11.2.8

Resolves XSS and prototype pollution vulnerabilities in vue-i18n v9.
Total vulnerabilities now down to 1 (axios in threads-api transitive
dependency).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:58:39 -08:00
Matt Isenhower
0462cc2d8c Update Vite from v3 to v6
- vite: 3.2.8 → 6.4.1
- @vitejs/plugin-vue: 3.2.0 → 5.2.4
- Replaced @intlify/vite-plugin-vue-i18n with @intlify/unplugin-vue-i18n
- Narrowed i18n include pattern to *.json to avoid parsing .mjs files

This resolves the esbuild moderate severity vulnerability that was
present in Vite <=6.1.6.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:58:07 -08:00
Matt Isenhower
7c901f9ae7 Update social media API SDKs
- @atproto/api (Bluesky): 0.11.2 → 0.18.21
- masto (Mastodon): 6.7.0 → 7.10.1
- twitter-api-v2: 1.18.1 → 1.29.0

threads-api left at 1.6.3 (no newer version available; vulnerable
axios dependency is a transitive issue in that package).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:52:07 -08:00
Matt Isenhower
89daffe6c1 Update Sentry from v7 to v10
@sentry/node: 7.107.0 → 10.38.0

The project uses only Sentry.init() and Sentry.captureException(),
which are compatible across versions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:48:28 -08:00
Matt Isenhower
4a5a2aca42 Update Vue ecosystem packages
- vue: 3.4.21 → 3.5.28
- vue-router: 4.3.0 → 4.5.0
- pinia: 2.2.2 → 2.3.1
- @headlessui/vue: 1.7.19 → 1.7.23
- @heroicons/vue: 2.1.1 → 2.2.0

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:47:26 -08:00
Matt Isenhower
c20642feb4 Upgrade Node.js from 20 to 22 LTS
Node 20 LTS reaches end-of-life April 2026. Updated all references:
- Dockerfile base image to node:22
- All GitHub Actions workflows to Node 22
- Bumped actions/checkout and actions/setup-node to v4 where outdated
- Added .nvmrc file for local development

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:46:54 -08:00
Matt Isenhower
055fa35b84 Fix non-breaking security vulnerabilities (40 → 9 remaining)
Updated transitive dependencies to resolve 31 security vulnerabilities
including critical, high, and moderate severity issues. Remaining 9
vulnerabilities require breaking major version updates (vue-i18n, vite,
threads-api) which will be addressed separately. Also updated the
browserslist database.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 10:46:11 -08:00
Matt Isenhower
e1bc498879 Tag me for a code review of query hash updates
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
2026-01-31 20:11:56 -08:00
Matt Isenhower
0793cde63e
Merge pull request #99 from misenhower/claude-cleanups
Claude cleanups
2026-01-31 20:11:05 -08:00
Matt Isenhower
c93854c610 Improve error logging for data loading and localization
Replace silent error handling with descriptive messages: log
HTTP status in i18n locale loading, log response details in
data store fetch, and warn on unexpected localization file
read errors.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:04:34 -08:00
Matt Isenhower
f45a4654d1 Extract shared cache expiry calculation to utility function
Deduplicate identical _calculateCacheExpiry methods from
SplatNet3Client and NsoClient into a shared calculateCacheExpiry
function in util.mjs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:04:23 -08:00
Matt Isenhower
647d62dbd2 Remove dead code in GearCard and App components
Remove permanently disabled v-if="false" Order button block and
its unused SquidTape import from GearCard. Remove unnecessary
try-catch around mobile browser detection in App.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:04:14 -08:00
Matt Isenhower
011430f344 Fix code inconsistencies across frontend and backend
Use strict equality in TricolorBox, add async keyword to
CoopUpdater/GearUpdater getData() for consistency, and add
missing HMR accept for useCoopGearStore.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:04:05 -08:00
Matt Isenhower
ca632864f8 Add error handling and media validation to social media clients
Wrap send() methods in try-catch with descriptive error messages
and add early return when media is missing.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:03:56 -08:00
Matt Isenhower
c1a290e7bc Add null/bounds checks for media arrays and Splatfest results
Guard against accessing undefined media arrays in FileWriter,
ImageWriter, and protect against findIndex returning -1 in
SplatfestResultsBox.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:03:48 -08:00
Matt Isenhower
abb6eff676 Fix potential duplicate event listener in i18n initialization
Add a guard variable to prevent accumulating storage event listeners
during HMR module reloads.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 20:03:38 -08:00
Matt Isenhower
3053dc4cd5
Merge pull request #98 from misenhower/update-query-hashes
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update query hashes
2026-01-28 20:06:58 -08:00
misenhower
bf106dd8da Update query hashes 2026-01-29 02:20:12 +00:00
Matt Isenhower
8295e58127
Merge pull request #97 from misenhower/update-query-hashes
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update query hashes
2026-01-11 19:13:33 -08:00
misenhower
79def4da32 Update query hashes 2026-01-12 03:12:41 +00:00
Matt Isenhower
4e933667e7 Update query updater script 2026-01-11 19:11:08 -08:00
Matt Isenhower
c74c3b626e Add query hash utility 2026-01-11 19:09:24 -08:00
Matt Isenhower
ab6d91d0fc Disable query hash updater for now 2026-01-11 09:54:26 -08:00
Matt Isenhower
e084122255 Update query hashes 2026-01-11 09:53:16 -08:00
Matt Isenhower
a19b817630 Update nxapi
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update query hashes / check-and-create-pr (push) Has been cancelled
2025-05-01 09:17:33 +09:00
Matt Isenhower
1611468f33
Merge pull request #86 from Hoshimikan6490/main
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update Japanese translations
2025-04-04 18:11:15 -07:00
Hoshimikan6490
4082a0dd45 Fix Japanese translation mistakes 2025-03-27 10:28:07 +09:00
Hoshimikan6490
487ce58753 Update Japanese translations 2025-03-27 10:13:19 +09:00
Matt Isenhower
ccc18df431 Disable Twitter client
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update query hashes / check-and-create-pr (push) Has been cancelled
2025-02-25 13:06:51 -08:00
Matt Isenhower
f7f25aa854 Update screenshot footer
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Update query hashes / check-and-create-pr (push) Has been cancelled
2024-12-21 08:02:10 -08:00
Matt Isenhower
67e6737ccb Fix time display on splatnet gear
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
2024-12-14 23:33:00 -08:00
Matt Isenhower
6dc7fd0bdb Download private storage before pulling data from Splatnet
Some checks are pending
Build frontend / build (20.x) (push) Waiting to run
Deploy / deploy-frontend (push) Waiting to run
Deploy / deploy-backend (push) Waiting to run
Fix code styles / build (push) Waiting to run
2024-12-14 16:02:49 -08:00
Matt Isenhower
9eb3c4c1bc Add directory browser to assets dir 2024-12-14 08:43:55 -08:00
Matt Isenhower
06806c9de4 Disable non-US updaters for now
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
2024-12-12 09:20:14 -08:00
Matt Isenhower
d728a584ce
Merge pull request #83 from misenhower/develop
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
Release
2024-12-06 08:37:01 -08:00
Matt Isenhower
bfb0741f44 Add data directory listing
Some checks failed
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
2024-12-06 08:27:00 -08:00
Matt Isenhower
47d15e8f7e Fix Bluesky image ratios
Some checks failed
Build frontend / build (20.x) (push) Has been cancelled
Fix code styles / build (push) Has been cancelled
2024-11-30 09:59:08 -05:00
Matt Isenhower
ba44aec52a Make the data archive optional
Some checks failed
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
2024-11-29 14:35:52 -05:00
Matt Isenhower
d702340ae5 Fix Grizzco Mystery weapon detection 2024-11-29 14:33:01 -05:00
Matt Isenhower
951a12e7b8 Improve time display for upcoming Salmon Run shifts
Some checks failed
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
2024-11-22 14:03:12 -08:00
Matt Isenhower
be2ff7bac6 Use hours for daily drop gear 2024-11-22 13:44:01 -08:00
Matt Isenhower
8dd2246490 Suppress some errors 2024-11-22 13:26:38 -08:00
Matt Isenhower
9ecd9b2ae6 Always display gear times in hours 2024-11-22 12:06:47 -08:00
Matt Isenhower
330a299e3e Ignore a weird issue with ESLint for now 2024-11-22 11:50:56 -08:00
Matt Isenhower
71965990bd Make festival update atomic
Some checks are pending
Deploy / deploy-frontend (push) Waiting to run
Deploy / deploy-backend (push) Waiting to run
2024-11-21 22:09:16 -08:00
Matt Isenhower
1b153f777c Cleanup 2024-11-21 22:08:57 -08:00
Matt Isenhower
664f7546b8 Add a limit for the NSO APIs 2024-11-21 22:08:51 -08:00