Active reader time is now kept per user in small UTC buckets (6 minutes for 120 days, then hours, dropped after three years), seeded once from the visits the clock still remembers. Settings -> Reading activity shows them as a grid whose cells glow with their total and carry a start-to-end strip; month/week cells open their days, days open their hours. Finished chapters come from progress and work without the clock. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
599 B
INI
42 lines
599 B
INI
# Explicit allowlist; runtime state and credentials never enter image layers.
|
|
**
|
|
!package.json
|
|
!server.js
|
|
!library.js
|
|
!reading-direction.js
|
|
!chapter-identity.js
|
|
!chapter-dates.js
|
|
!catalog.js
|
|
!backup.js
|
|
!reading-analytics.js
|
|
!reading-access.js
|
|
!moments.js
|
|
!reader-sessions.js
|
|
!reading-activity.js
|
|
!public/
|
|
!public/**
|
|
!greatest/
|
|
!greatest/**
|
|
!discovery/
|
|
!discovery/**
|
|
!runtime/
|
|
!runtime/**
|
|
!scraper/
|
|
!scraper/**
|
|
!peering/
|
|
!peering/**
|
|
!perf/
|
|
!perf/**
|
|
!tools/
|
|
!tools/**
|
|
scraper/.cache/**
|
|
scraper/logs/**
|
|
scraper/*.manifest.json
|
|
**/*.log
|
|
**/*.tmp
|
|
**/test/**
|
|
**/node_modules/**
|
|
**/.env*
|
|
**/*.pem
|
|
**/*.key
|