fixxing android pipe #26
@@ -41,9 +41,7 @@ jobs:
|
||||
printf 'y\n' | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" --licenses > /dev/null
|
||||
"$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" \
|
||||
"platform-tools" \
|
||||
"platforms;android-35" \
|
||||
"platforms;android-36" \
|
||||
"build-tools;35.0.0" \
|
||||
"build-tools;36.0.0" \
|
||||
"ndk;27.1.12297006"
|
||||
mkdir -p carry-your-live/android/app
|
||||
|
||||
@@ -10,7 +10,7 @@ permissions:
|
||||
|
||||
jobs:
|
||||
release:
|
||||
needs: build-apk
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
@@ -60,13 +60,5 @@ jobs:
|
||||
tag_name: ${{ steps.version.outputs.next }}
|
||||
name: ${{ steps.version.outputs.next }}
|
||||
body: ${{ steps.changelog.outputs.body }}
|
||||
generate_release_notes: false
|
||||
|
||||
- name: Upload APK to release
|
||||
uses: actions/upload-release-asset@v1
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
file: ./carry-your-live/android/app/build/outputs/release/app-release.apk
|
||||
asset_name: carry-your-live-release.apk
|
||||
asset_type: application/vnd.android.package-archive
|
||||
asset_title: Carry Your Live Release
|
||||
files: ./app-release.apk
|
||||
generate_release_notes: false
|
||||
@@ -63,7 +63,6 @@ screenOptions={{
|
||||
key={route.name}
|
||||
style={[
|
||||
styles.tabItem,
|
||||
focused && styles.tabItemActive,
|
||||
{ backgroundColor: focused ? theme.accentSoft : 'transparent' },
|
||||
]}
|
||||
onPress={() => props.navigation.navigate(route.name as never)}
|
||||
@@ -122,9 +121,6 @@ const styles = StyleSheet.create({
|
||||
borderRadius: 8,
|
||||
minWidth: 70,
|
||||
},
|
||||
tabItemActive: {
|
||||
backgroundColor: theme.accentSoft,
|
||||
},
|
||||
rippleContainer: {
|
||||
width: 44,
|
||||
height: 44,
|
||||
|
||||
@@ -10,7 +10,6 @@ import { useEffect } from 'react';
|
||||
import { requestQuickAddFocus } from '@/utils/quickAddFocus';
|
||||
import { registerForPushNotificationsAsync, setupNotificationChannels, addNotificationResponseReceivedListener, removeNotificationSubscription } from '@/services/pushNotifications';
|
||||
import * as Notifications from 'expo-notifications';
|
||||
import { Platform } from 'react-native';
|
||||
|
||||
Notifications.setNotificationHandler({
|
||||
handleNotification: async () => ({
|
||||
@@ -57,31 +56,18 @@ function RootNavigator() {
|
||||
Linking.getInitialURL().then(handleUrl).catch(() => {});
|
||||
const subscription = Linking.addEventListener('url', ({ url }) => handleUrl(url));
|
||||
|
||||
useEffect(() => {
|
||||
const handleKeyDown = (event: KeyboardEvent) => {
|
||||
if (event.key === 'Escape') {
|
||||
const router = useRouter();
|
||||
router.back();
|
||||
}
|
||||
};
|
||||
|
||||
window.addEventListener('keydown', handleKeyDown);
|
||||
return () => window.removeEventListener('keydown', handleKeyDown);
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
const unsubscribe = Linking.addEventListener('url', ({ url }) => {
|
||||
if (!url || !url.includes('://quick-add')) return;
|
||||
router.replace('/(tabs)');
|
||||
requestQuickAddFocus();
|
||||
});
|
||||
|
||||
return () => unsubscribe();
|
||||
}, []);
|
||||
|
||||
return () => {
|
||||
subscription.remove();
|
||||
removeNotificationSubscription(responseListener);
|
||||
window.removeEventListener('keydown', handleKeyDown);
|
||||
};
|
||||
}, [router]);
|
||||
|
||||
|
||||
@@ -220,5 +220,9 @@ export const migrations = schemaMigrations({
|
||||
}),
|
||||
],
|
||||
},
|
||||
{
|
||||
toVersion: 21,
|
||||
steps: [],
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -11,7 +11,6 @@ import RepeatProfile from '@/models/RepeatProfile';
|
||||
import Friendship from '@/models/Friendship';
|
||||
import { TombstoneEntity } from '@/models/Tombstone';
|
||||
import { fetchPendingTombstones, removeTombstonesInBatch } from './tombstones';
|
||||
import { useOnline } from '@/hooks/useOnline';
|
||||
|
||||
const LAST_PULLED_AT_KEY = 'sync:lastPulledAt';
|
||||
const LAST_PUSHED_AT_KEY = 'sync:lastPushedAt';
|
||||
@@ -96,7 +95,7 @@ export async function runSync(): Promise<SyncResult> {
|
||||
}
|
||||
|
||||
// If offline, mark timestamps and return early - changes will sync on next foreground launch
|
||||
const isCurrentlyOnline = await useOnline();
|
||||
const isCurrentlyOnline = navigator.onLine;
|
||||
if (!isCurrentlyOnline) {
|
||||
const now = Date.now();
|
||||
await setLastPulledAt(now);
|
||||
|
||||
Reference in New Issue
Block a user