Commit Graph

239 Commits

Author SHA1 Message Date
Matt Isenhower
6e4b57f6a7 Add unit tests for fs utilities and ValueCache
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:45:20 -08:00
Matt Isenhower
7257c26869 Add unit tests for app/common/util
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:45:20 -08:00
Matt Isenhower
e8714d335a Update dotenv to v17, p-limit to v7, p-queue to v9
dotenv v17: Added quiet option to suppress new default logging.
p-limit v7 and p-queue v9: No code changes needed (only dropped older Node).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:10:14 -08:00
Matt Isenhower
af526403a1 Update cron to v4 and ical-generator to v10
cron v4: No code changes needed (positional constructor args still supported).
ical-generator v10: Removed `new` keyword (now a factory function) and
switched from `attachments` property to `createAttachment()` method.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:09:19 -08:00
Matt Isenhower
8b11900905 Revert jsonpath-plus back to jsonpath
jsonpath v1.2.1 (published Feb 2025) fixed the security vulnerability
that prompted the switch to jsonpath-plus. Reverting to the original
package simplifies the code by removing the jsonpathQuery/jsonpathApply
wrapper functions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 15:56:05 -08:00
misenhower
f92267d0bf Fix styling 2026-02-15 22:04:22 +00:00
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
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
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
misenhower
bf106dd8da Update query hashes 2026-01-29 02:20:12 +00:00
misenhower
79def4da32 Update query hashes 2026-01-12 03:12:41 +00:00
Matt Isenhower
e084122255 Update query hashes 2026-01-11 09:53:16 -08: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
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
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
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
8dd2246490 Suppress some errors 2024-11-22 13:26:38 -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
Matt Isenhower
a134856713 Exclude storage/archive
Some checks are pending
Deploy / deploy-frontend (push) Waiting to run
Deploy / deploy-backend (push) Waiting to run
2024-11-20 23:50:55 -08:00
Matt Isenhower
7d4b9cc038 Skip "no need to update" message 2024-11-20 21:46:45 -08:00
Matt Isenhower
441c0b262f Run all update operations in parallel 2024-11-20 21:45:56 -08:00
Matt Isenhower
fbdea0f3c2 Update X-Rank data in parallel 2024-11-20 21:39:39 -08:00
Matt Isenhower
002ca2e34a Update festival data in parallel 2024-11-20 21:39:12 -08:00
Matt Isenhower
279671896e Formatting 2024-11-20 21:16:29 -08:00
Matt Isenhower
10c082a1c2 Retrieve localizations in parallel 2024-11-20 21:13:40 -08:00
Matt Isenhower
8054490839 Exclude the archive dir
Some checks failed
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
2024-11-18 21:09:36 -08:00
Matt Isenhower
0fe794007e Prevent storing invalid images 2024-11-18 20:33:33 -08:00
Matt Isenhower
34c2d65b15 Download images concurrently 2024-11-17 21:16:24 -08:00
Matt Isenhower
10b3b72fc2 Fix jsdoc 2024-11-17 20:18:22 -08:00
Matt Isenhower
16cf16e157 Fix some mistakes 2024-11-17 19:50:45 -08:00
Matt Isenhower
c286779cdc Linter 2024-11-17 19:35:17 -08:00
Matt Isenhower
cb76f65783 Add S3 syncer 2024-11-17 19:35:00 -08:00
Matt Isenhower
98bccc246b Update S3 config 2024-11-17 19:18:26 -08:00
Matt Isenhower
4f0a4bf684 Improve parallel behavior when sending posts 2024-11-17 17:28:24 -08:00
Matt Isenhower
35316e02f2 Use Browserless for capturing screenshots 2024-11-17 16:29:00 -08:00
Matt Isenhower
beb6bc2510 Cleanup
Some checks are pending
Build frontend / build (20.x) (push) Waiting to run
Fix code styles / build (push) Waiting to run
2024-11-03 08:47:00 -08:00
Matt Isenhower
a7d1b67391 Send social media statuses simultaneously 2024-11-03 08:46:32 -08:00
Matt Isenhower
6b7c2caddc Report social media posting errors to Sentry 2024-11-03 08:35:29 -08:00
Inkception
18f19a84b8 Add second tricolorStage to social posts 2024-10-27 02:59:36 +01:00
Matt Isenhower
5e587e46ba Tweak tricolor schedule post 2024-09-13 14:49:49 -07:00