briar issueshttps://code.briarproject.org/groups/briar/-/issues2023-03-15T12:35:33Zhttps://code.briarproject.org/briar/briar/-/issues/1822Import RSS feeds shared by other apps2023-03-15T12:35:33ZakwizgranImport RSS feeds shared by other appsImport RSS feeds shared as XML files by other apps.
This should use the same parsing and import logic as #1810.Import RSS feeds shared as XML files by other apps.
This should use the same parsing and import logic as #1810.RSS import2023-02-28https://code.briarproject.org/briar/briar-mailbox/-/issues/6Implement RSS API2022-11-17T14:30:52ZakwizgranImplement RSS APIImplement the RSS endpoints of the mailbox REST API. These endpoints allow the owner to receive a list of feeds offered by the mailbox (including the time when each feed was last updated) and download feeds.
Related to briar#1809 and br...Implement the RSS endpoints of the mailbox REST API. These endpoints allow the owner to receive a list of feeds offered by the mailbox (including the time when each feed was last updated) and download feeds.
Related to briar#1809 and briar#1810. Depends on briar#1804.RSS import2022-10-31https://code.briarproject.org/briar/briar/-/issues/1810Download RSS feeds from mailbox2022-11-17T14:30:25ZakwizgranDownload RSS feeds from mailboxWrite backend code for downloading RSS feeds offered by the mailbox, parsing the feeds and creating Briar blog posts for any new feed items.
Only feeds the user has subscribed to (see #1809) should be downloaded.
Depends on #1804.Write backend code for downloading RSS feeds offered by the mailbox, parsing the feeds and creating Briar blog posts for any new feed items.
Only feeds the user has subscribed to (see #1809) should be downloaded.
Depends on #1804.RSS import2022-10-31https://code.briarproject.org/briar/briar/-/issues/1809Subscribe to RSS feeds offered by mailbox2022-11-17T14:30:38ZakwizgranSubscribe to RSS feeds offered by mailboxDesign and implement a UI and backend for viewing the list of RSS feeds offered by the user's mailbox and subscribing to feeds.
Depends on #1804.Design and implement a UI and backend for viewing the list of RSS feeds offered by the user's mailbox and subscribing to feeds.
Depends on #1804.RSS import2022-10-31https://code.briarproject.org/briar/briar-desktop/-/issues/505AddContact dialog: Bug in TextField2023-03-10T11:41:01ZMikolai GütschowAddContact dialog: Bug in TextFieldAfter entering the first character into the nickname field, the cursor gets reset to position 0 (the start of the string). Later keystrokes are processed correctly.
Only observed in this text field, not in the AddForum dialog, neither i...After entering the first character into the nickname field, the cursor gets reset to position 0 (the start of the string). Later keystrokes are processed correctly.
Only observed in this text field, not in the AddForum dialog, neither in the message compose field nor in the introduction/forum invitation message field.Desktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/504Tor not working on current main2023-03-10T08:50:20ZSebastianTor not working on current mainI'm getting this kind of error in the log on current main:
```
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - System's os.arch is amd64
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - T...I'm getting this kind of error in the log on current main:
```
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - System's os.arch is amd64
15:41:43.928 [pool-1-thread-1] INFO o.b.b.plugin.tor.TorPluginFactory - The selected architecture for Tor is x86_64
15:41:43.932 [pool-1-thread-4] INFO o.b.bramble.plugin.tor.TorPlugin - Installing Tor binary for x86_64
15:41:43.933 [pool-1-thread-4] WARN org.briarproject.briar.desktop.Main - Uncaught exception in thread pool-1-thread-4
java.lang.NullPointerException: null
at org.briarproject.nullsafety.NullSafety.requireNonNull(NullSafety.java:17)
at org.briarproject.bramble.system.JavaResourceProvider.getResourceInputStream(JavaResourceProvider.java:22)
at org.briarproject.bramble.plugin.tor.TorPlugin.getExecutableInputStream(TorPlugin.java:374)
at org.briarproject.bramble.plugin.tor.TorPlugin.installTorExecutable(TorPlugin.java:351)
at org.briarproject.bramble.plugin.tor.TorPlugin.installAssets(TorPlugin.java:335)
at org.briarproject.bramble.plugin.tor.TorPlugin.start(TorPlugin.java:247)
at org.briarproject.bramble.plugin.PluginManagerImpl$PluginStarter.run(PluginManagerImpl.java:232)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
```
I think it's probably due to the changes in https://code.briarproject.org/briar/briar/-/merge_requests/1775Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/503Release 0.4.1-beta2023-03-12T16:52:48ZSebastianRelease 0.4.1-betasee #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] Update translations (https://code.briarproject.org/briar/briar-desktop/-/merge_req...see #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] Update translations (https://code.briarproject.org/briar/briar-desktop/-/merge_requests/318)
- run `tx pull -a -f`, add new languages to `UnencryptedSettings.kt` (see [java locale list](https://www.oracle.com/java/technologies/javase/jdk17-suported-locales.html)), create commit
- temporarily remove `minimum_perc = 50` from `.tx/config`
- run `tx pull -a -f && rm briar-desktop/src/main/resources/strings/* && git restore briar-desktop/src/main/resources/strings/*`
- re-add `minimum_perc = 50` to `.tx/config`, append changes to last commit
* [x] Extensive testing
* [x] Update [changelog](https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog)
### Version bump
* [x] Change version in build config and metainfo.xml (https://code.briarproject.org/briar/briar-desktop/-/merge_requests/320)
* [x] Tag in Git (use `git tag -a -s <version-name>-beta -m "Briar Desktop <version-name>-beta"`) (https://code.briarproject.org/briar/briar-desktop/-/tags/0.4.1-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/13913)
### Deployment
* [x] Copy release files to desktop.briarproject.org (using [`update-binaries.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/root/update-binaries.sh) with updated version code)
* [x] Rewrite and check that permalink points to correct version (don't forget to test and reload web server)
* [x] Update version and checksums (calculated using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (website!107)
* [x] Publish website
### PR
_skipped due to critical bug detected with #507_
* [ ] ~~Inform 3rd party maintainers about release~~
* [ ] ~~Publish blog post~~
* [ ] ~~Post on social media ([Mastodon](), [Twitter](TWITTER)), useful [character counter](https://charactercounter.com/twitter)~~
* [x] ~~Update screenshot on website~~
### Backlog
* [x] Update description, milestone and due date of #337
* [x] ~~Re-enable auto-pull on Transifex under Resources > Auto update resources > add [url](https://code.briarproject.org/briar/briar-desktop/-/raw/main/briar-desktop/src/main/resources/strings/BriarDesktop.properties)~~Desktop 0.4.1https://code.briarproject.org/briar/briar-desktop/-/issues/485Context Menu translations for copy/paste are not updated at runtime2023-02-13T13:35:38ZMikolai GütschowContext Menu translations for copy/paste are not updated at runtimeTo reproduce:
- start Briar Desktop
- change language in settings screen
- right-click on a private message
- notice that the context menu entries are still in the previously selected languageTo reproduce:
- start Briar Desktop
- change language in settings screen
- right-click on a private message
- notice that the context menu entries are still in the previously selected languageDesktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/479Forum: Allow copying of message text2023-02-13T13:35:38ZMikolai GütschowForum: Allow copying of message textSimilar to what's possible for private chats.
Slightly related to (might run into same issues as) #355Similar to what's possible for private chats.
Slightly related to (might run into same issues as) #355Desktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/477Second login attempt after failed startup results in infinite loading screen2023-02-24T13:50:45ZMikolai GütschowSecond login attempt after failed startup results in infinite loading screenExperienced with the known database migration issue and version 0.4.0 on an old database.
The error screen is correctly shown, but allows to go back:
![image](/uploads/205466faf066bf4afc031ccca4d12137/image.png)
After entering the pas...Experienced with the known database migration issue and version 0.4.0 on an old database.
The error screen is correctly shown, but allows to go back:
![image](/uploads/205466faf066bf4afc031ccca4d12137/image.png)
After entering the password again, the loading screen stays forever and logs show:
```
14:44:19.987 [pool-1-thread-1] WARN o.b.b.desktop.login.StartupViewModel - Startup failed: SERVICE_ERROR
14:45:05.036 [pool-1-thread-1] WARN o.b.b.lifecycle.LifecycleManagerImpl - Already running
14:45:05.037 [pool-1-thread-1] INFO o.b.b.desktop.login.StartupViewModel - Already running
```Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/472NoticeMessageItem is not added to open contact list after sharing forum2023-03-10T08:54:48ZMikolai GütschowNoticeMessageItem is not added to open contact list after sharing forumTo reproduce:
1. Open chat with contact A
2. Switch to forums in the sidebar
3. share a forum with contact A
4. switch back to private messages
5. notice that the chat with contact A is still open, but the info message, that the forum h...To reproduce:
1. Open chat with contact A
2. Switch to forums in the sidebar
3. share a forum with contact A
4. switch back to private messages
5. notice that the chat with contact A is still open, but the info message, that the forum has been shared, is not shown
6. switch to another contact B and back to contact A, see the info messageDesktop 0.4.1https://code.briarproject.org/briar/briar-desktop/-/issues/456Consistent naming "Briar" throughout app2023-02-05T22:26:35ZMikolai GütschowConsistent naming "Briar" throughout appThe following discussion from !274 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/274#note_73755): (+3 comments)
> While trying out the installer gener...The following discussion from !274 should be addressed:
- [ ] @ialokim started a [discussion](https://code.briarproject.org/briar/briar-desktop/-/merge_requests/274#note_73755): (+3 comments)
> While trying out the installer generated by the CI, I noticed we use "Briar" as the application name during installation and also for the `.desktop` file for Linux, but the title of the main window is "Briar Desktop". Not sure if we should instead be consistent.
TL;DR: We probably want to use "Briar" everywhere instead of "Briar Desktop".Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/443Check and fix all i18n warnings found via code inspection2023-02-24T13:42:05ZSebastianCheck and fix all i18n warnings found via code inspectioneither add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)either add NON-NLS comments or `@file:Suppress("nls")` to ignore whole files (mostly useful for testing code)Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/438Fix signature of eventOccurred()2023-02-02T13:58:17ZSebastianFix signature of eventOccurred()IntelliJ shows a warning at the locations where we override `eventOccurred()` from `EventListener` with `Event?` as the argument instead of `Event`. The interface is not nullable, so I think we can make this `Event` everywhere.
```
$ gr...IntelliJ shows a warning at the locations where we override `eventOccurred()` from `EventListener` with `Event?` as the argument instead of `Event`. The interface is not nullable, so I think we can make this `Event` everywhere.
```
$ grep -rI --include "*.kt" eventOcc briar-desktop/
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/conversation/ConversationViewModel.kt: override fun eventOccurred(e: Event?) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/login/StartupViewModel.kt: override fun eventOccurred(e: Event) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ThreadedConversationViewModel.kt: override fun eventOccurred(e: Event) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/forums/ForumViewModel.kt: override fun eventOccurred(e: Event) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/privategroups/ThreadedConversationViewModel.kt: override fun eventOccurred(e: Event?) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/privategroups/PrivateGroupListViewModel.kt: override fun eventOccurred(e: Event?) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactsViewModel.kt: override fun eventOccurred(e: Event?) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactListViewModel.kt: override fun eventOccurred(e: Event?) {
briar-desktop/src/main/kotlin/org/briarproject/briar/desktop/contact/ContactListViewModel.kt: super.eventOccurred(e)
```Desktop 0.4.1SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/331Simplify Introduction Contact List2023-03-07T11:48:16ZpaulSimplify Introduction Contact List![after-0.2.1-intro0](/uploads/4fa61a59af8eb4a7bb70bdad09c7b81b/after-0.2.1-intro0.png)
While re-using the code is nice, I'm not sure if the message counters, time of last message, and online status are important to display on the conta...![after-0.2.1-intro0](/uploads/4fa61a59af8eb4a7bb70bdad09c7b81b/after-0.2.1-intro0.png)
While re-using the code is nice, I'm not sure if the message counters, time of last message, and online status are important to display on the contact list for contact introduction. Might be useful to swap this out with a simplified contact list which just displays profile pictures, alias and name?Desktop 0.4.1Mikolai GütschowMikolai Gütschowhttps://code.briarproject.org/briar/briar-desktop/-/issues/508Release 0.4.2-beta2023-08-29T13:34:52ZSebastianRelease 0.4.2-betasee #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] ~~Update translations (MR)~~
- run `tx pull -a -f`, add new languages to `Une...see #463 as reference
### Preparation
* [x] ~~String freeze (disable auto-pull) and announcement on Transifex at least a week before the release~~
* [x] ~~Update translations (MR)~~
- run `tx pull -a -f`, add new languages to `UnencryptedSettings.kt` (see [java locale list](https://www.oracle.com/java/technologies/javase/jdk17-suported-locales.html)), create commit
- temporarily remove `minimum_perc = 50` from `.tx/config`
- run `tx pull -a -f && rm briar-desktop/src/main/resources/strings/* && git restore briar-desktop/src/main/resources/strings/*`
- re-add `minimum_perc = 50` to `.tx/config`, append changes to last commit
* [x] Extensive testing
* [x] Update [changelog](https://code.briarproject.org/briar/briar-desktop/-/wikis/Changelog)
### Version bump
* [x] Change version in build config and metainfo.xml (!325)
* [x] Tag in Git (use `git tag -a -s <version-name>-beta -m "Briar Desktop <version-name>-beta"`) (https://code.briarproject.org/briar/briar-desktop/-/tags/0.4.2-beta)
* [x] GitLab CI builds release files automatically (https://code.briarproject.org/briar/briar-desktop/-/pipelines/13935)
### Deployment
* [x] Copy release files to desktop.briarproject.org (using [`update-binaries.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/root/update-binaries.sh) with updated version code)
* [x] Rewrite and check that permalink points to correct version (don't forget to test and reload web server)
* [x] Update version and checksums (calculated using [`verify_hashsums.sh`](https://code.briarproject.org/briar/briar-desktop-servers/-/blob/main/verify_hashsums.sh)) on website (https://code.briarproject.org/briar/website/-/merge_requests/108)
* [x] Publish website
### PR
* [x] Inform 3rd party maintainers about release
* [ ] Publish blog post
* [x] Post on social media ([Mastodon](), [Twitter](TWITTER)), useful [character counter](https://charactercounter.com/twitter)
* [x] ~~Update screenshot on website~~
### Backlog
* [x] Update description, milestone and due date of #337
* [x] ~~Re-enable auto-pull on Transifex under Resources > Auto update resources > add [url](https://code.briarproject.org/briar/briar-desktop/-/raw/main/briar-desktop/src/main/resources/strings/BriarDesktop.properties)~~Desktop 0.4.2https://code.briarproject.org/briar/briar-desktop/-/issues/507Crash when forum messages try to get marked as read2023-03-12T17:56:23ZSebastianCrash when forum messages try to get marked as readA user reported that opening an existing forum with unread messages crashes the app once the view tries to mark some of the messages as read. Either when there are some unread messages directly on the view when opened or once scrolling t...A user reported that opening an existing forum with unread messages crashes the app once the view tries to mark some of the messages as read. Either when there are some unread messages directly on the view when opened or once scrolling to a position where unread messages appear.
This is the stacktrace:
```
17:21:47.900 [main] INFO org.briarproject.briar.desktop.Main - This is briar-desktop version 0.4.1-beta
17:21:47.901 [main] INFO org.briarproject.briar.desktop.Main - Build info:
17:21:47.901 [main] INFO org.briarproject.briar.desktop.Main - Git hash 227dfcfa07b4da07b494209d2058434929ea9ce5
17:21:47.902 [main] INFO org.briarproject.briar.desktop.Main - Commit time 2023-03-10 11:20:52
17:21:47.902 [main] INFO org.briarproject.briar.desktop.Main - Tag 0.4.1-beta
17:21:48.963 [AWT-EventQueue-0] INFO o.b.b.d.n.l.LibnotifyNotificationProvider - Notification server capabilities: actions, body, body-hyperlinks, body-images, body-markup, persistence
17:22:05.608 [AWT-EventQueue-0] WARN org.briarproject.briar.desktop.Main - Uncaught exception in thread AWT-EventQueue-0
java.util.NoSuchElementException: null
at org.briarproject.bramble.api.Multiset.remove(Multiset.java:62)
at org.briarproject.briar.desktop.ui.MessageCounterImpl.removeCount(MessageCounterImpl.kt:113)
at org.briarproject.briar.desktop.ui.MessageCounterImpl._init_$lambda$0(MessageCounterImpl.kt:93)
at org.briarproject.bramble.event.EventBusImpl.lambda$broadcast$0(EventBusImpl.java:42)
at org.briarproject.briar.desktop.DesktopCoreModule.provideUiExecutor$lambda$0(DesktopCoreModule.kt:157)
at org.briarproject.bramble.event.EventBusImpl.broadcast(EventBusImpl.java:41)
at org.briarproject.briar.desktop.forums.ThreadedConversationViewModel.markPostsRead(ThreadedConversationViewModel.kt:186)
at org.briarproject.briar.desktop.forums.GroupConversationScreenKt$GroupConversationScreen$3$2.invoke(GroupConversationScreen.kt:84)
at org.briarproject.briar.desktop.forums.GroupConversationScreenKt$GroupConversationScreen$3$2.invoke(GroupConversationScreen.kt:84)
at org.briarproject.briar.desktop.forums.ThreadedConversationScreenKt$ThreadedConversationScreen$2$2$1.invokeSuspend(ThreadedConversationScreen.kt:90)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at androidx.compose.ui.platform.FlushCoroutineDispatcher$dispatch$2$1.invoke(FlushCoroutineDispatcher.skiko.kt:62)
at androidx.compose.ui.platform.FlushCoroutineDispatcher$dispatch$2$1.invoke(FlushCoroutineDispatcher.skiko.kt:57)
at androidx.compose.ui.platform.FlushCoroutineDispatcher.performRun(FlushCoroutineDispatcher.skiko.kt:91)
at androidx.compose.ui.platform.FlushCoroutineDispatcher.access$performRun(FlushCoroutineDispatcher.skiko.kt:37)
at androidx.compose.ui.platform.FlushCoroutineDispatcher$dispatch$2.invokeSuspend(FlushCoroutineDispatcher.skiko.kt:57)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Suppressed: kotlinx.coroutines.DiagnosticCoroutineContextException: null
```
akwizgran was also able to reproduce it.Desktop 0.4.2SebastianSebastianhttps://code.briarproject.org/briar/briar-desktop/-/issues/506Unsubscribing from forum with unread posts keeps the unread count in the mess...2023-03-12T17:00:30ZSebastianUnsubscribing from forum with unread posts keeps the unread count in the message counterThis can be observed when leaving the last forum that has unread message; the unread badge on the forum button stays there.This can be observed when leaving the last forum that has unread message; the unread badge on the forum button stays there.Desktop 0.4.2SebastianSebastianhttps://code.briarproject.org/briar/public-mesh-research/-/issues/21Initial investigations: Bluetooth Mesh2022-12-16T13:08:29ZakwizgranInitial investigations: Bluetooth MeshInvestigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-a...Investigate whether the Bluetooth Mesh standard could be useful.
https://www.bluetooth.com/wp-content/uploads/2019/03/Mesh-Technology-Overview.pdf
https://www.bluetooth.com/bluetooth-resources/controlling-bluetooth-mesh-networks-with-android-applications/Public mesh researchhttps://code.briarproject.org/briar/public-mesh-research/-/issues/19Investigate whether Android devices can connect via internet when no internet...2023-08-28T16:02:46ZakwizgranInvestigate whether Android devices can connect via internet when no internet access is detectedDuring a partial internet shutdown where a national network is disconnected from the internet but routing still works within the national network, Android devices may report that they don't have internet access because they can't fetch t...During a partial internet shutdown where a national network is disconnected from the internet but routing still works within the national network, Android devices may report that they don't have internet access because they can't fetch the URL that's used for detecting internet access (see https://stackoverflow.com/questions/33431931/how-does-android-know-if-the-wifi-connection-has-internet-access-or-not/39475588#39475588).
In this situation it would be useful to know whether an app can still route traffic to addresses on the national network. We might be able to simulate this situation by blocking access to the captive portal detection URL and perhaps also blocking DNS.Public mesh researchSebastianSebastian