diff --git a/.github/auto-merge.yml b/.github/auto-merge.yml deleted file mode 100644 index 2f40196d..00000000 --- a/.github/auto-merge.yml +++ /dev/null @@ -1,3 +0,0 @@ -requiredLabels: - - automerge -deleteBranchAfterMerge: true diff --git a/.github/workflows/automerge.yml b/.github/workflows/automerge.yml index 93081ee6..0263b366 100644 --- a/.github/workflows/automerge.yml +++ b/.github/workflows/automerge.yml @@ -25,3 +25,5 @@ jobs: uses: "pascalgn/automerge-action@v0.11.0" env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + UPDATE_RETRIES: 10 + UPDATE_RETRY_SLEEP: 60000 diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index 1ce29317..06628731 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -17,9 +17,9 @@ jobs: pull_number: context.payload.number, per_page: 100 }) - const serviceChanged = result.data.filter(f => f.filename.startsWith("app/") || f.filename.endsWith("gradle") || f.filename.startsWith(".github/workflows/pull_request.yml") || f.filename.startsWith("gradle") || f.filename.endsWith("properties")).length > 0 - console.log(serviceChanged) - return serviceChanged + const shouldRun = result.data.filter(f => !f.filename.endsWith(".md") || !f.filename.endsWith(".yml")).length > 0 + console.log(shouldRun) + return shouldRun - name: Checkout repository if: ${{ steps.service-changed.outputs.result == 'true' }} diff --git a/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt b/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt index 39bcf1a3..545fd881 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/data/LobstersViewModel.kt @@ -11,6 +11,7 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch +import java.net.SocketTimeoutException import java.net.UnknownHostException class LobstersViewModel @ViewModelInject constructor( @@ -22,8 +23,8 @@ class LobstersViewModel @ViewModelInject constructor( private val dao = database.postsDao() private val coroutineExceptionHandler = CoroutineExceptionHandler { _, throwable -> when (throwable) { - // Swallow UHE since that happens when there is no internet and we'll just rely on our cache - is UnknownHostException -> {} + // Swallow known network errors that can be recovered from. + is UnknownHostException, is SocketTimeoutException -> {} else -> throw throwable } } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt index 4dcf72a4..fc61b9d4 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/LobstersItem.kt @@ -1,9 +1,7 @@ package dev.msfjarvis.lobsters.ui -import androidx.compose.foundation.BorderStroke import androidx.compose.foundation.Text import androidx.compose.foundation.background -import androidx.compose.foundation.border import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column @@ -56,9 +54,8 @@ fun LazyItemScope.LobstersItem( Text( text = tag, modifier = Modifier - .border(BorderStroke(1.dp, Color.Gray)) - .background(Color(0xFFFFFCD7), RoundedCornerShape(4.dp)) - .padding(vertical = 2.dp, horizontal = 4.dp), + .background(Color(0xFFFFFCD7), RoundedCornerShape(8.dp)) + .padding(vertical = 2.dp, horizontal = 6.dp), color = Color.DarkGray, ) } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/ui/Theme.kt b/app/src/main/java/dev/msfjarvis/lobsters/ui/Theme.kt index 5db0b20f..c98c31f0 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/ui/Theme.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/ui/Theme.kt @@ -1,25 +1,25 @@ package dev.msfjarvis.lobsters.ui import androidx.compose.material.MaterialTheme -import androidx.compose.material.lightColors +import androidx.compose.material.darkColors import androidx.compose.runtime.Composable import androidx.compose.ui.graphics.Color -val lightColors = lightColors( +val darkColors = darkColors( primary = Color.White, secondary = Color(0xFF6C0000), - background = Color.White, - surface = Color.White, - onPrimary = Color.DarkGray, + background = Color.Black, + surface = Color.Black, + onPrimary = Color.Black, onSecondary = Color.White, - onBackground = Color.Black, - onSurface = Color.Black, + onBackground = Color.White, + onSurface = Color.White, ) @Composable fun LobstersTheme(children: @Composable () -> Unit) { MaterialTheme( - colors = lightColors, + colors = darkColors, content = children, ) } diff --git a/app/src/main/java/dev/msfjarvis/lobsters/urllauncher/UrlLauncherImpl.kt b/app/src/main/java/dev/msfjarvis/lobsters/urllauncher/UrlLauncherImpl.kt index 7369d202..abaffcb6 100644 --- a/app/src/main/java/dev/msfjarvis/lobsters/urllauncher/UrlLauncherImpl.kt +++ b/app/src/main/java/dev/msfjarvis/lobsters/urllauncher/UrlLauncherImpl.kt @@ -9,6 +9,7 @@ class UrlLauncherImpl(private val context: Context) : UrlLauncher { val customTabsIntent = CustomTabsIntent.Builder() .setShareState(CustomTabsIntent.SHARE_STATE_ON) .setShowTitle(true) + .setColorScheme(CustomTabsIntent.COLOR_SCHEME_DARK) .build() customTabsIntent.launchUrl(context, Uri.parse(url)) }