Releases: whatrushki/schedule
Releases · whatrushki/schedule
Release list
v1.3.12
What's Changed
⚡ Performance & Architecture
- gh-pages as primary data source: Schedule data, groups, and teachers are now fetched directly from pre-parsed snapshots on GitHub Pages / raw CDN for near-instant loading (~50–150ms) across all supported institutions (РКСИ, ДГТУ, ИУБиП, РИНХ, ЮФУ).
- Resilient live parser fallback: Automatic fallback to full live parsing if cloud data is unavailable or empty.
- Force live support: Added
forceLiveparameter to bypass cloud data and directly scrape university websites when needed.
🔧 Bug Fixes
- Favorites in Search: Fixed issue where groups/teachers were not being added to favorites on long press in
ScheduleSearchPanedue to Compose equality checking inScheduleSearch. - Web avatar: Fixed GitHub profile avatar failing to load on Web due to CORS redirects by using direct CDN URL.
🧹 Refactoring
- Renamed project from
WHAT-ScheduletoScheduleacross all platforms, configs, and UI. - Unified web client into common
CloudScheduleClientin:data:commonMain.
Full Changelog: v1.3.11...v1.3.12
v1.3.11
What's Changed
🎨 Theme
- Default theme changed to navy blue (#1F2137)
🔧 Bug Fixes
- Auto-update: added User-Agent header, redirect following for GitHub downloads, strict RuStore install source detection, update check on settings screen open
- Web: virtual keyboard now opens on mobile browsers (workaround for Compose Multiplatform CMP-7836)
- Web: avatar loading fixed (CORS) — switched to direct CDN URL
- Favorites: chip now updates immediately on long press toggle without needing to reopen the sheet
🏗️ CI/CD
- macOS DMG & iOS framework now properly attach to releases
- Added XCFramework support for iOS (universal framework)
- Fixed wrong zip paths that prevented iOS artifacts from uploading
- Removed silent error swallowing in build steps
Full Changelog: v1.3.10...v1.3.11
v1.3.10
v1.3.9
Что нового в v1.3.9:
🕒 Хронологическая сортировка пар по времени (startTime)
- Заменена сортировка по номеру пары на хронологическую по реальному времени начала:
compareBy({ it.startTime }, { it.number }). - Исправлено: Классный час РКСИ (номер
0, время13:05–14:05) больше не выскакивает в самое начало дня перед первой парой (08:00), а корректно располагается между 3-й и 4-й парами. - Аналогичная хронологическая сортировка применена во всех клиентах расписания (РКСИ, ДГТУ, ЮФУ, ИУБиП).
👥 Корректное объединение подгрупп
- Добавлено автоматическое объединение уроков с одинаковым временем и предметом в единый
LessonDtoсо списком всех преподавателей и аудиторий (otUnits). - Предотвращено дублирование карточек уроков по иностранному языку и затирание подгрупп при наложении замен.
🔄 Полная унификация алгоритмов Android и Web (schedule-sync)
- В
RKSIScheduleClientдобавлен потокобезопасный in-memory кэш распарсенных планшеток замен Google Drive: файлы скачиваются и парсятся ровно один раз. - Из
tools:schedule-syncполностью удалена дублирующая самодельная логика наложения замен: теперь генератор статики для веб-версии вызывает тот же самыйRKSIScheduleClient, что гарантирует 100% идентичность расписания на Android и Web. - Корректно сохраняются названия заменяемых предметов с использованием
RKSITeacherSubjectCache.
v1.3.8
🚀 Что нового в WHAT Schedule v1.3.8
🐛 Исправления ошибок и стабильность (Android & Desktop)
- Устранён фатальный краш при запуске приложения: исправлена ошибка инжекции зависимостей Koin (
No definition found for type 'java.util.List'), возникавшая из-за попытки разрешить дефолтный аргумент конструктораInstitutionManagerчерез рефлексию.
🌐 Оптимизация и автономность веб-версии (Web Wasm)
- Идеальная посадка в экран без F11: холст
<canvas id="ComposeTarget">теперь привязан к границам окна браузера (100vw/100vh), предотвращая вылезание элементов за пределы вкладки и необходимость включения полноэкранного режима. - Корректные клики и отсутствие геометрических смещений: настроен мета-тег
viewport, устраняющий размытие растра и рассинхронизацию координат курсора мыши при масштабировании. - Поддержка CDN через
gh-pages: веб-клиент переведён на чтение данных напрямую из веткиgh-pages.
⚡ Синхронизация расписания (tools:schedule-sync)
- Однократная выгрузка и парсинг замен РКСИ: планшетки замен из Google Drive теперь скачиваются и парсятся ровно 1 раз в оперативную память в начале синка. Это полностью устранило таймауты (25с), блокировки (429 Too Many Requests) и снизило время обработки РКСИ в десятки раз.
- Снятие тестовых лимитов для всех вузов:
- ДГТУ: убраны заглушки (ранее скачивалась лишь 1 группа и 1 преподаватель), теперь скачиваются расписания всех групп и преподавателей университета.
- ЮФУ: сняты ограничения на 30 групп и 50 преподавателей.
- РИНХ: снято ограничение на 50 преподавателей.
- Отказ от тяжелых файлов
data.json: прекращена генерация склеенных файлов по 50 МБ, что исключило риск превышения лимитов GitHub. - Изоляция в ветке
gh-pages: синк расписания теперь публикует данные напрямую в веткуgh-pagesс сохранением существующих файлов (keep_files: true). Веткаmasterполностью очищена от локальной базы данных расписания и защищена через.gitignore.
v1.3.7
v1.3.6
v1.3.5
Release v1.3.5: Web fixes (realtime resizing, CORS-free synced schedu…
v1.3.4
What's Changed
- ✨ feat(web): restore authentic WHAT Schedule UI via composeApp and decouple database with AppDatabaseSource
- 🚀 release: 1.3.4
Full Changelog: v1.3.3...v1.3.4
1.3.4
🐛 fix(nav): register explicit screen factories for all features on no…