feature/listening-history #39
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Slovo_Propovedi/slovo-propovedi-mobile!39
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/listening-history"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Сохранение истории и прогресса прослушивания проповедей в приложении, без бэкенда
Все неплохо, за исключением некоторых нюансов
@ -0,0 +29,4 @@const raw = await AsyncStorage.getItem(LISTENING_PROGRESS_SNAPSHOT)if (!raw) return undefinedconst parsed = JSON.parse(raw) as unknownне лучше ли через zod схему валидировать?
@ -0,0 +33,4 @@? oldEntry.durationMs: Math.max(params.oldPositionMs, oldEntry.positionMs)if (finalPosition > oldEntry.positionMs || params.markOldCompleted) {надо чтобы новая позиция сохранялась, даже если я перекручу проповедь назад, а не только если она больше чем предыдущая сохраненная позиция
@ -0,0 +41,4 @@...overrides,})const renderWithCtx = async (у нас уже есть утилита renderHookWithProviders, использовать её
@ -0,0 +103,4 @@mockHistoryAtom(ctx, [])})test('(a) different sermon → replaceAudio called with resume ms', async () => {зачем буквы в начале тестов?
@ -2,0 +5,4 @@historyAtom,recordPlaybackStartAction,recordSermonSwitchAction,} from 'entities/listening-history'импорт должен быть через entities/listening-history/@x/player
@ -0,0 +82,4 @@getCachedSectionsMock.mockResolvedValue(undefined)})test('(a) found in live atom → returned, cache NOT read', async () => {тоже не понятно зачем их нумеровать буквами
@ -1,2 +1,3 @@export * from './capitalizeString'export * from './formatRelativeDate'тут должны быть все реэкспорты именованными, и реэкспортить только то что реально используется за границами этой папки или за границами shared
@ -10,6 +10,7 @@ export * from './loading'export * from './marquee-text/marquee-text'export * from './modal'export * from './MovingText'export * from './progress-bar/ProgressBar'тут должны быть все реэкспорты именованными, и реэкспортить только то что реально используется за границами этой папки или за границами shared
WIP: feature/listening-historyto feature/listening-history