Skip to content

chore: new package and 1.5.0 features - #1

Merged
FoxyIsCoding merged 74 commits into
masterfrom
wiffles
Oct 9, 2026
Merged

FoxyIsCoding merged 74 commits into
masterfrom
wiffles

Conversation

@FoxyIsCoding

Copy link
Copy Markdown
Contributor
  • rename app package to com.wiffles.edupage
  • AI study chat with markdown, math and attachments
  • AI study settings with custom prompt
  • AI auto-assign subject icons
  • important messages stand out
  • first install clears unread grades and closes overdue homework
  • fix subject class average
  • version 1.5.0
  • add license and readme

whoisfoxy and others added 30 commits March 4, 2026 17:57
- Cards default to collapsed; subjects with unseen grades auto-expand
- Small dot badge on subject header when new grades are present
- Collapsing a card marks its grades as read (persisted via SharedPreferences)
- Mark-all-read button (CheckCircle) appears in top bar when any new grade exists
- AppPreferences stores seen event IDs per term (T1/T2) as comma-separated set
- GradesViewModel: injects AppPreferences, exposes markSubjectRead/markAllRead
- GradesUiState.Success now carries hasAnyNew; GradeSubjectGroup carries hasNewGrades
- Fixed infinite reload loop (loadJob cancellation) and cleaned up debug logging in Grades.kt
Fetch T1 and T2 concurrently on init; if T2 has any grades switch to it
automatically. Manual term switching and refresh still work as before.
- GradesCache: flat JSON file per term (T1/T2) in filesDir, survives process death
- On open: show cached grades immediately with LinearProgressIndicator, then fetch
  fresh data in background and update silently (new grades get dot badges as usual)
- Auto-term selection now also uses cache for instant T2 detection before network
- Term switch: same pattern — cache first, then network refresh
- Manual refresh button: keeps content visible, shows spinner, then updates
- Network errors during background refresh keep cached content visible (no error flash)
- GradesUiState.Success gains isRefreshing flag; screen shows animated LinearProgress
- GradeMessageCheckWorker: periodic WorkManager job checking both grades
  and messages in a single run; seeds lastTimelineId on first run to
  avoid notification flood
- NotificationScheduler: scheduleGradeMessageCheck / cancelGradeMessageCheck
  using user-configurable interval from AppPreferences
- EdupageApp: register grades_new and messages_new notification channels
- BootReceiver: re-schedule grade/message worker on boot if either toggle on
- SettingsViewModel + SettingsScreen: new Grades & Messages section with
  per-toggle switches and 15/30/60/120 min interval picker
- All 3 locale files (EN/CS/SK): added all notif_* and settings_notif_* strings
- Removed all single-line (//), multi-line (/* */), and KDoc (/** */) comments across 83 source files.
- Cleaned up trailing whitespace and ensured no more than one consecutive empty line exists.
- Removed leading and trailing empty lines from all modified files.
- Unified AiService supporting Gemini, OpenRouter, OpenAI and any
  OpenAI-compatible custom endpoint, with model listing and connection test
- Step-by-step provider setup wizard; API keys stored in
  EncryptedSharedPreferences (legacy plaintext key migrated and removed)
- AI flashcard decks with generation from a topic or study material and a
  flip-animation study mode with known/learning tracking
- AI study chat with a local, educative system prompt including pending
  homework context; conversation persisted on-device
- Quiz polish: animated question transitions, animated option states,
  progress bar, animated explanation reveal and animated result screen
- Expose quiz, flashcards and chat as AI Study quick actions on Overview,
  gated by the experimental toggle
- Export quizzes and flashcards in DataExporter; EN/CS/SK strings
- Rewire cloud upload to the timeline uploadAtt endpoint with cloud.js fallback
- Show an attachment badge on message list items
- Filter empty phantom replies out of message/overview grouping
- Highlight important messages in red and warn before opening (marks as read)
- Never preview important message content in notifications
…ring

- Native Compose Markdown renderer (headings, lists, code, quotes, links)
- Dependency-free LaTeX math renderer for inline and block formulas
- Attach files to a message (copied locally, text folded into the prompt)
- Long-press a message to copy or share it
- Expressive gradient, avatars, animated send and larger shapes
@FoxyIsCoding
FoxyIsCoding merged commit 8f6a912 into master Oct 9, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant