@@ -20,7 +20,7 @@ import { Button } from './components/ui/Button';
2020import { Toast } from './components/ui/Toast' ;
2121import { motion , AnimatePresence } from 'motion/react' ;
2222import { FileSpreadsheet , Download } from 'lucide-react' ;
23- import { checkForUpdate , CURRENT_APP_VERSION } from './lib/updater' ;
23+ import { checkForUpdate , getAppVersion } from './lib/updater' ;
2424import { fetchAnnouncements , resetAnnouncementState } from './lib/announcements' ;
2525import {
2626 getStoredNotifications ,
@@ -44,6 +44,7 @@ import {
4444
4545export default function App ( ) {
4646 const isDesktop = isTauri ( ) ;
47+ const [ appVersion , setAppVersion ] = useState ( '' ) ;
4748 const [ entries , setEntries ] = useState ( [ ] ) ;
4849 const [ isLoading , setIsLoading ] = useState ( true ) ;
4950
@@ -169,6 +170,11 @@ export default function App() {
169170 const loadData = useCallback ( async ( ) => {
170171 const startTime = Date . now ( ) ;
171172 try {
173+ // Hydrate runtime app version asynchronously
174+ getAppVersion ( ) . then ( ( v ) => {
175+ if ( v ) setAppVersion ( v ) ;
176+ } ) ;
177+
172178 await trackerDB . seedInitialDataIfEmpty ( ) ;
173179 const all = await trackerDB . getAllEntries ( ) ;
174180 setEntries ( all ) ;
@@ -245,7 +251,7 @@ export default function App() {
245251 if ( res ?. error ) {
246252 showToast ( 'Unable to connect to update server' , { variant : 'destructive' } ) ;
247253 } else {
248- showToast ( `Checkpoint is up to date (v${ CURRENT_APP_VERSION } ) ` ) ;
254+ showToast ( `Checkpoint is up to date${ res ?. currentVersion ? ` (v${ res . currentVersion } )` : '' } ` ) ;
249255 }
250256 }
251257 }
@@ -347,7 +353,7 @@ export default function App() {
347353 } else if ( res ?. error ) {
348354 showToast ( 'Unable to connect to update server' , { variant : 'destructive' } ) ;
349355 } else {
350- showToast ( `Checkpoint is up to date (v${ CURRENT_APP_VERSION } ) ` ) ;
356+ showToast ( `Checkpoint is up to date${ ( res ?. currentVersion || appVersion ) ? ` (v${ res ?. currentVersion || appVersion } )` : '' } ` ) ;
351357 }
352358 } ;
353359
@@ -676,7 +682,7 @@ export default function App() {
676682
677683 const backupData = {
678684 app : 'CHECKPOINT' ,
679- version : '2.1 .0',
685+ version : appVersion || '0.0 .0',
680686 exportDate : new Date ( ) . toISOString ( ) ,
681687 currency : globalCurrency ,
682688 goldRateTOMAN,
@@ -900,7 +906,7 @@ export default function App() {
900906 onOpenSettings = { ( ) => setIsSettingsOpen ( true ) }
901907 onOpenShortcuts = { ( ) => setIsShortcutsOpen ( true ) }
902908 entriesCount = { entries . length }
903- appVersion = { CURRENT_APP_VERSION }
909+ appVersion = { appVersion }
904910 updateInfo = { updateInfo }
905911 onOpenUpdateModal = { ( ) => setIsUpdateModalOpen ( true ) }
906912 unreadNotificationsCount = { unreadNotificationsCount }
@@ -911,6 +917,7 @@ export default function App() {
911917 { ! isDesktop && (
912918 < MobileHeader
913919 globalCurrency = { globalCurrency }
920+ appVersion = { appVersion }
914921 onOpenSettings = { ( ) => setIsSettingsOpen ( true ) }
915922 onOpenWorkModal = { handleOpenWorkModal }
916923 onOpenQuickAdd = { ( ) => setIsQuickAddOpen ( true ) }
@@ -1052,7 +1059,7 @@ export default function App() {
10521059 onClearAllData = { handleClearAllData }
10531060 onToast = { showToast }
10541061 entriesCount = { entries . length }
1055- appVersion = { CURRENT_APP_VERSION }
1062+ appVersion = { appVersion }
10561063 updateInfo = { updateInfo }
10571064 onCheckUpdates = { handleCheckUpdates }
10581065 isCheckingUpdates = { isCheckingUpdates }
0 commit comments