Skip to content

Releases: rinafcode/teachLink_mobile

Release v1.15.0

01 Jun 17:43

Choose a tag to compare

What's Changed

  • perf: memoize FlatList renderItem and enforce exhaustive-deps
  • chore(release): v1.14.0 [skip ci]
  • chore(release): v1.13.0 [skip ci]
  • chore(release): v1.12.0 [skip ci]
  • chore(release): v1.11.0 [skip ci]
  • chore(release): v1.10.0 [skip ci]
  • style: apply prettier formatting to changed files
  • test: stabilize axios mock and timer cleanup in batchClient tests
  • fix: align axios mock with project standard pattern (all HTTP methods)
  • fix: validate and sanitize incoming deep links to prevent open redirects
  • feat: add analytics event batching with offline queue (#670)
  • fix(#594): cap requestDeduplicator at 100 entries with 30s TTL eviction
  • feat: add jailbreak/root detection to gate biometric auth and payments
  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 3914f3c...v1.15.0

Release v1.14.1

01 Jun 17:13

Choose a tag to compare

What's Changed

  • fix: prevent generic prop spreading in mobile drawer and offline indicator
  • chore: prevent component prop spreading

Full Changelog: ce92a8b...v1.14.1

Release v1.14.0

01 Jun 16:37

Choose a tag to compare

What's Changed

  • chore(release): v1.13.0 [skip ci]
  • chore(release): v1.12.0 [skip ci]
  • chore(release): v1.11.0 [skip ci]
  • chore(release): v1.10.0 [skip ci]
  • style: apply prettier formatting to changed files
  • test: stabilize axios mock and timer cleanup in batchClient tests
  • fix: align axios mock with project standard pattern (all HTTP methods)
  • fix: validate and sanitize incoming deep links to prevent open redirects
  • feat: add analytics event batching with offline queue (#670)
  • fix(#594): cap requestDeduplicator at 100 entries with 30s TTL eviction
  • feat: add jailbreak/root detection to gate biometric auth and payments
  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 508f23c...v1.14.0

Release v1.13.0

01 Jun 16:30

Choose a tag to compare

What's Changed

  • chore(release): v1.12.0 [skip ci]
  • chore(release): v1.11.0 [skip ci]
  • chore(release): v1.10.0 [skip ci]
  • style: apply prettier formatting to changed files
  • test: stabilize axios mock and timer cleanup in batchClient tests
  • fix: align axios mock with project standard pattern (all HTTP methods)
  • feat: add analytics event batching with offline queue (#670)
  • fix(#594): cap requestDeduplicator at 100 entries with 30s TTL eviction
  • feat: add jailbreak/root detection to gate biometric auth and payments
  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: d6648d1...v1.13.0

Release v1.12.0

01 Jun 16:27

Choose a tag to compare

What's Changed

  • chore(release): v1.11.0 [skip ci]
  • chore(release): v1.10.0 [skip ci]
  • fix(#594): cap requestDeduplicator at 100 entries with 30s TTL eviction
  • feat: add jailbreak/root detection to gate biometric auth and payments
  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 48bbc31...v1.12.0

Release v1.11.0

01 Jun 14:30

Choose a tag to compare

What's Changed

  • chore(release): v1.10.0 [skip ci]
  • fix(#594): cap requestDeduplicator at 100 entries with 30s TTL eviction
  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: d7d9fb3...v1.11.0

Release v1.10.0

30 May 19:28
df4ea2f

Choose a tag to compare

What's Changed

  • fix: clean up lint warnings in socket service after merge
  • fix(#599): debounce useFormCache writes at 800ms, add flushCache and unmount cleanup
  • chore: revert package-lock.json changes
  • fix search index debounce performance
  • Update package-lock.json with missing dependencies
  • fix(store): fix degradedFeatures Set serialization bug in persist middleware
  • fix(security): validate & sanitise notification payload to block prototype pollution (#586)
  • chore(release): v1.9.0 [skip ci]
  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • fix(mobile): optimize quiz analytics and socket reconnect backoff (#593, #601)
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • feat: implement shimmer SkeletonLoader and fix quizStore index persistence bug
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 29fd712...v1.10.0

Release v1.9.0

30 May 19:27

Choose a tag to compare

What's Changed

  • chore(release): v1.8.0 [skip ci]
  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • perf: virtualize bookmark & syllabus lists (#219)
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: aa1bb7e...v1.9.0

Release v1.8.0

30 May 08:46

Choose a tag to compare

What's Changed

  • chore(release): v1.7.0 [skip ci]
  • fix: resolve CI test failures by fixing test mocks and expectations
  • chore(release): v1.6.0 [skip ci]
  • fix: add getItemLayout to FlatLists for virtualization performance
  • chore(release): v1.5.0 [skip ci]
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 5ff1f48...v1.8.0

Release v1.7.0

30 May 08:43

Choose a tag to compare

What's Changed

  • chore(release): v1.6.0 [skip ci]
  • chore(release): v1.5.0 [skip ci]
  • Add sync backoff circuit breaker
  • feat: implement lazy video initialization for MobileVideoPlayer
  • fix: cap metrics buffers, add auto‑flush and memory‑pressure flushing
  • CI: fix lint errors, add timeout handling, socket heartbeat, disk caching
  • Added network consideration
  • fix: store notification timestamps as numeric ms, add migration and update logic
  • feat: implement intersection observer and viewability hooks for OptimizedVideoPlayer visibility management
  • feat: implement app version auto-update mechanism
  • Implement asset serving with CDN and caching headers
  • Implement TypeScript strict mode for type safety
  • fix: resolve CI test failures from bad merge artifacts
  • fix failure errors
  • effficient
  • feat: styling optimization and font subsetting pipeline
  • automated CI
  • perf: implement exponential backoff (#225), request deduplication (#224), and document lazy loading (#216, #223)
  • feat(api): add SWR-style cache revalidation with visible syncing state
  • feat(#244): Optimized context re-renders with useMemo and useCallback and also added a test for it
  • feat: implement idle task scheduling for non-critical initialization (#243)
  • perf(frontend): decouple typing loops from heavy transaction calculations with useTransition (#245)
  • feat: implement touch event deduplication to prevent double-triggers (#330)
  • feat(#390): implement activity/metrics dashboard for team visibility
  • Implemented the fore ground app background
  • feat(android): configure ProGuard/R8 for APK size reduction (#239)
  • feat: implement aggressive image prefetching for likely user flows
  • Implement offline-first sync layer
  • feat: add smart multi-tier API cache
  • chore: revert CachedImage/imageCache/imageFormat to upstream versions
  • fix: pin jest-expo@54.0.17 (upstream ~54.0.19 doesn't exist on npm)
  • feat: add WebP image format negotiation with PNG fallback
  • chore: fix stale lockfile — jest-expo version mismatch
  • perf: strategic memoization based on re-render profiling
  • chore: Export scroll restoration hooks from main hooks index
  • feat(#337): Implement scroll position restoration for navigation
  • Fix parallax stale closure and clean up tsconfig path aliases
  • Update performance reports
  • Update store alias configuration
  • Update parallax scroll view and tests
  • feat: implement differential privacy for analytics (#407)
  • docs: improve project setup, logging, and deployment documentation
  • feat: implement background task scheduling to optimize UI responsiveness (#268)
  • fix: resolve CI failures, dependency mismatches and security vulnerabilities
  • recent update
  • chore: add Dependabot config for weekly npm updates
  • chore: remove unused @lhci/cli devDependency to avoid transitive vulnerabilities
  • Fix dependency audit and depcheck workflow issues
  • Refactor AdvancedDataGrid to use GridExporter component for export functionality; improve InfiniteVirtualList to handle Jest testing environment; enhance LessonCarousel with debounced scroll handling; update video quality service to include slow cellular network type; adjust debounce integration tests for LessonCarousel; mock mobile analytics service in AB testing tests.
  • Fix tests: AdvancedDataGrid, InfiniteVirtualList, LessonCarousel, and related Jest setup
  • chore: improve documentation and developer setup guide for TeachLink Mobile
  • fix: resolve ESLint errors — remove stale ScrollView ref, fix import order, wire onScroll handlers
  • feat(images): implement progressive loading with LQIP and WebP (#231)
  • #361 Implement efficient SVG rendering with memoization
  • #353 Implement search result pagination to prevent large list renders
  • feat: Implement progressive image loading with LQIP and WebP
  • feat: enhance request queue with persistence, priority levels, and batch sync (#228)
  • Resolve merge conflicts
  • fix: resolve failing test suites for secureStorage, streaming, videoQuality, notifications, and card components
  • fix: wrap bundle-size comment step in try-catch to allow fork PRs to pass
  • fix: explicitly add typescript and dependencies to sync lockfile for CI clean install
  • fix: rename streaming test to TSX for JSX parsing support and commit updated lockfile
  • fix: correct style array syntax in MobileProfile and format modified files
  • fix: import missing components in AdvancedDataGrid and add rules of hooks bypasses
  • fix: resolve upstream tsconfig and carousel syntax errors
  • feat: migrate forms to react-hook-form for minimal re-renders
  • feat: Implement graceful degradation for camera and location features
  • add useDeviceUiComplexity hook for adaptive UI complexity based on device capabilities
  • docs: add complete CI fixes summary
  • fix: allow lint warnings and use npm install in test workflow
  • chore: trigger CI with correct expo-store-review version
  • fix: correct expo-store-review version to 8.0.0
  • fix: change npm ci to npm install in workflows
  • fix: add environment variables to all CI workflows
  • fix: add build script for CI workflow
  • fix: add expo-store-review dependency and test mocks
  • feat: implement smart in-app review system
  • fix: refactor component tree to reduce re-render propagation
  • perf: reduce store memory footprint at startup
  • perf: split appStore and lazy-init achievement state
  • perf: enable removeClippedSubviews on ScrollView and FlatList
  • perf: add removeClippedSubviews to FlatList components
  • #405 Implement critical feature flagging for progressive rollout

Full Changelog: 8fd4113...v1.7.0