Commit Graph

264 Commits

Author SHA1 Message Date
Matt Isenhower
10b035661f Restart daily to refresh nxapi config 2026-08-17 13:10:23 -07:00
misenhower
ae0fe6f936 Update query hashes 2026-06-11 03:49:23 +00:00
misenhower
f49f4bd424 Update query hashes 2026-03-19 02:21:14 +00:00
misenhower
feba392d6e Update query hashes 2026-02-25 08:49:30 +00:00
Matt Isenhower
96725eecbb Use prefixedConsole for VFS logging
Lazily initialized to avoid console-stamp issues in test environment.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:11:40 -08:00
Matt Isenhower
941a6eb258 Remove unused catch binding variables in fs.mjs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 10:09:17 -08:00
Matt Isenhower
6dac044a69 Make VFS load lazily
VFS now loads on first has()/getMtime() call rather than requiring
explicit initialization in sync/index.mjs. This ensures it works
regardless of entry point (sync:download, splatnet:quick, etc.).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 09:55:13 -08:00
Matt Isenhower
7125f30bfc Remove inline base64 image embedding from iCal output
No major calendar client renders these inline binary attachments.
The ATTACH URL is kept, which links to the publicly hosted image.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 09:44:04 -08:00
Matt Isenhower
e6e96ac8f9 Check local disk before VFS, removing need for manual vfs.track()
exists() and olderThan() now check the local filesystem first and only
consult the VFS as a fallback. This means freshly written files are
found naturally without callers needing to register them.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 09:27:00 -08:00
Matt Isenhower
41c9f9a315 Add VFS layer to avoid downloading files only needed for existence checks
Uses S3 ListObjectsV2 to build an in-memory file listing at startup,
allowing exists() and olderThan() to resolve from the listing instead
of requiring files on disk. sync:download now skips assets/splatnet/,
data/xrank/, data/festivals.ranking.*, and status-screenshots/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 09:26:05 -08:00
Matt Isenhower
94aa3d7ece Replace # private class members with _ prefix convention for consistency
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-21 16:01:09 -08:00
Matt Isenhower
c1664590b5 Auto-update social media avatars
Some checks failed
Build frontend / build (22.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
Tests / test (22.x) (push) Has been cancelled
2026-02-20 08:56:19 -08:00
Matt Isenhower
09c2031ece Improve logging 2026-02-17 22:27:25 -08:00
Matt Isenhower
f363d9551e Use Threads-specific URL 2026-02-17 22:24:31 -08:00
Matt Isenhower
1b8a866548 Update Threads client 2026-02-17 22:20:51 -08:00
Matt Isenhower
811cd7fcd3 Improve error reporting 2026-02-17 22:05:05 -08:00
Matt Isenhower
60c61e6231 Fix bug with invalid data on disk 2026-02-17 21:35:21 -08:00
Matt Isenhower
fc4aa746c3 Re-enable EU/JP/AP updaters 2026-02-16 16:32:56 -08:00
Matt Isenhower
79c7325f1a Add nxapi-auth support 2026-02-16 16:32:46 -08:00
Matt Isenhower
eba99cbb10 Merge pull request #102 from misenhower/add-tests
Add tests
2026-02-16 15:53:24 -08:00
Matt Isenhower
7cfe3775fe Remove unused variable in util test
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 15:51:53 -08:00
Matt Isenhower
d6ea4827b6 Disable Threads for now
Some checks are pending
Build frontend / build (22.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
2026-02-15 18:37:43 -08:00
Matt Isenhower
4f482f3a40 Add unit tests for LocalizationProcessor and br2nl
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:55:31 -08:00
Matt Isenhower
6fba6f3076 Remove stale jsonpath tests from util.test.mjs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 16:55:28 -08:00
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
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