Matt Isenhower
38caca3e48
Add unit tests for ImageProcessor
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:45:20 -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
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
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
6dc7fd0bdb
Download private storage before pulling data from Splatnet
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
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
ba44aec52a
Make the data archive optional
Deploy / deploy-frontend (push) Has been cancelled
Deploy / deploy-backend (push) Has been cancelled
2024-11-29 14:35:52 -05: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
Deploy / deploy-frontend (push) Waiting to run
Deploy / deploy-backend (push) Waiting to run
2024-11-21 22:09:16 -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
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
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
c726f25910
Fix X-Rank updater
2024-09-12 10:36:29 -07:00
Matt Isenhower
2736996f05
Tweak Splatfest updater to handle new paginated query
2024-09-05 08:01:12 -07:00
Matt Isenhower
37ee0c4dc9
Prefer single quotes and enforce semicolons
2024-03-17 10:20:17 -07:00
Matt Isenhower
e87a4b241d
lint-fix
2024-03-17 10:15:18 -07:00
Matt Isenhower
c6091d822e
Fix import errors
2024-03-17 10:12:13 -07:00
Matt Isenhower
8b55a5deba
Fix linting issues
2024-03-16 22:31:20 -07:00
Matt Isenhower
3b85e1f59b
Report to Sentry when an update fails
2023-12-02 17:25:46 -08:00
Matt Isenhower
cce839e3bd
Tweak festival updater
2023-12-02 11:13:54 -08:00
Matt Isenhower
6173693520
Make updaters more configurable
...
This should reduce the number of queries needed during high-load times (like waiting for Splatfest results).
2023-12-02 11:06:45 -08:00
Matt Isenhower
6909cfb864
Cleanup
2023-12-02 10:21:29 -08:00
Matt Isenhower
77c1680bb9
Use new boss data
2023-11-29 20:09:20 -08:00
Matt Isenhower
cde9aa111c
Fix a bug causing localizations to be pulled more often than needed
2023-08-30 16:26:26 -07:00
Matt Isenhower
10ee1f862a
Fix festival ranking updater
2023-08-13 19:46:16 -07:00
Matt Isenhower
51348effc8
Prevent issues with nulls
2023-07-23 08:36:43 -07:00
Matt Isenhower
e4e6051999
Run linter
2023-06-25 20:59:43 -07:00
Matt Isenhower
edfeb9b51c
Retrieve translations for events
2023-06-01 09:32:42 -07:00
Matt Isenhower
b9ed1ff5ab
Delete files after archiving them
2023-05-31 18:01:49 -07:00
Matt Isenhower
0e4d059602
Automatically archive new data
2023-05-30 20:46:32 -07:00
Matt Isenhower
f88538a798
Disable auto-delete for now
2023-05-30 20:18:04 -07:00
Matt Isenhower
ec783f52ec
Add S3 data archiver
2023-05-30 20:17:32 -07:00
Matt Isenhower
840d45373a
Move archives back to storage dir and use precise time for X-Rank
2023-05-30 19:33:37 -07:00
Matt Isenhower
69ea3962cb
Fix a mistake
2023-05-23 17:51:46 -07:00
Matt Isenhower
ba54d94e09
Make data archives more accessible, and store only one file per hour
2023-05-23 17:48:30 -07:00
Matt Isenhower
ce838a7652
Fix broken X-Rank images
2023-04-29 09:24:45 -07:00
Matt Isenhower
4b142c890e
Only update X-Rank details when needed
2023-04-22 14:33:51 -07:00