QuasselDroid-ng issueshttps://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues2022-01-10T05:15:03Zhttps://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/119Dismissing notification marks entire buffer as read, not just highlights2022-01-10T05:15:03ZShane SynanDismissing notification marks entire buffer as read, not just highlights### Steps
1. Connect to core
2. Receive highlight in channel
3. Receive non-highlights in that same channel
4. Swipe away notification for highlight from that channel
### Expected
The highlight status is removed from the channel, bu...### Steps
1. Connect to core
2. Receive highlight in channel
3. Receive non-highlights in that same channel
4. Swipe away notification for highlight from that channel
### Expected
The highlight status is removed from the channel, but the other messages are not marked as read.
### Actual
The entire channel is marked as read, making it harder to see what messages may be missed.
### Additional
This depends on protocol changes to the core, and may need the core-side notification system (not just core-side highlights) in order to mark notifications as dismissed without clearing a channel's activity.
Alternatively, Quasseldroid can mark everything up to the swiped-away notification as read, but this may risk confusion among users instead of the "swipe notification == marks all as read" behavior.
This could possibly involve messing with the last read markerline to re-set that to right after the highlight.. but that still risks confusion.https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/159Empty/invalid values should be rejected in several fields2022-01-10T05:15:00ZShane SynanEmpty/invalid values should be rejected in several fields# Test case
## Steps
1. Connect to core
2. Go to overflow menu → `Core Settings`
### `Network` (servers)
1. Add a new network
2. Set `Network Name`
3. Don't add any servers
4. Press `Save`
*This one may be more difficult to imp...# Test case
## Steps
1. Connect to core
2. Go to overflow menu → `Core Settings`
### `Network` (servers)
1. Add a new network
2. Set `Network Name`
3. Don't add any servers
4. Press `Save`
*This one may be more difficult to implement and can be set aside to a new issue if desired.*
Quassel desktop actually even catches this if you delete all servers from a network after adding it:
> ### Invalid Network Settings
> **The following problems need to be corrected before your changes can be applied:**
>
> * All networks need at least one server defined
### `Network` (name)
1. Add a new network
2. Don't set `Network Name`
3. Add a dummy server
4. Press `Save`
### Network → `Server`
1. Add a new server to an existing network
2. Don't fill in `Host`
3. Press `Save`
### `Identity`
1. Add a new identity
2. Don't fill in `Identity name`
3. Press `Save`
### `Chatlists`
1. Add a new chat list
2. Don't fill in `Name`
3. Press `Save`
*Technically, this one is accepted by the Quassel core, but the desktop GUI requires specifying a name.*
### Ignore List → `Ignore Rule` (ignore rule)
1. Add a new ignore rule
2. Don't fill in `Ignore Rule`
3. Press `Save`
*Technically, this one is accepted by the Quassel core, but the desktop GUI requires specifying an ignore rule.*
### Ignore List → `Ignore Rule` (scope)
**This one needs fixed in upstream Quassel, too. It can be ignored for now, or fixed.**
1. Add a new ignore rule
2. Fill in `Ignore Rule`
2. Set Scope to `Network Scope`
2. Don't fill in `Scope Rule`
3. Press `Save`
*Technically, this one is accepted by the Quassel core, and the desktop GUI does not require specifying an ignore rule scope, but it probably should.*
### `Aliases` → `Alias` (name)
1. Add a new alias
2. Don't fill in `Name`
3. Press `Save`
Bonus: this logs a crash report in Quasseldroid due to a non-null value set to null. See [the crash issue for the specifics](https://git.kuschku.de/justJanne/QuasselDroid-ng/issues/161 ).
### `Aliases` → `Alias` (expansion)
1. Add a new alias
2. Don't fill in `Expansion`
3. Press `Save`
Bonus: this logs a crash report in Quasseldroid due to a non-null value set to null. See [the crash issue for the specifics](https://git.kuschku.de/justJanne/QuasselDroid-ng/issues/161 ).
## Expected
Quasseldroid rejects the empty fields in the above cases.
## Actual
Quasseldroid accepts the empty fields in the above cases, highlighting with red/whatever method Android uses to indicate a field is required.
# Additional
The Android approaches appears to be using `setHint` and [`setError`](https://developer.android.com/reference/android/widget/TextView#setError(java.lang.CharSequence) ).https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/168Chat View switching is not working2022-01-10T05:15:00ZZauberfischChat View switching is not workingThis seems like a new bug in the recent beta
Right after reconnecting it works fine.
After some time/minimizing the app it just stops working.This seems like a new bug in the recent beta
Right after reconnecting it works fine.
After some time/minimizing the app it just stops working.https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/176Past notifications persist on disconnect then connect to different core2022-01-10T05:15:03ZShane SynanPast notifications persist on disconnect then connect to different core## Test case
### Steps
1. Connect to a Quassel core
2. Receive a notification
3. Disconnect from Quassel core
4. Connect to a different Quassel core that doesn't have the same buffers
### Expected
Notifications that don't exist on ...## Test case
### Steps
1. Connect to a Quassel core
2. Receive a notification
3. Disconnect from Quassel core
4. Connect to a different Quassel core that doesn't have the same buffers
### Expected
Notifications that don't exist on the second Quassel core disappear.
### Actual
Notifications remain while connected to the second Quassel core.
## Additional
Alternatively, this could be fixed by removing notifications when manually disconnecting (not timeout/etc) from a Quassel core. Currently, notifications must be swiped away to clear up the system tray.
This will likely change once the goal of push notifications that arrive regardless of being actually "connected" exists in Quassel.https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/195Add workaround for IPv6 enabled cores that only listen on IPv42019-04-16T07:39:28ZJanne Mareike KoschinskiAdd workaround for IPv6 enabled cores that only listen on IPv4https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/196Add workaround to avoid keyboard showing every time2019-04-16T07:39:51ZJanne Mareike KoschinskiAdd workaround to avoid keyboard showing every timehttps://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/205Background execution notification/icon visibility can't be configured on pre-6.02019-06-07T20:19:54ZJanne Mareike KoschinskiBackground execution notification/icon visibility can't be configured on pre-6.0Janne Mareike KoschinskiJanne Mareike Koschinskihttps://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/217reconnect jumps to latest messages2022-01-10T05:21:34Zhyperfektreconnect jumps to latest messagesIf the connection to the core is reacquired while reading in a channel, the view reloads and jumps to the latest messages.
This is undesirable especially on mobile connections, where it might happen very frequently.
Version: 1.2.24If the connection to the core is reacquired while reading in a channel, the view reloads and jumps to the latest messages.
This is undesirable especially on mobile connections, where it might happen very frequently.
Version: 1.2.242.0.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/223Expanded (multi-line) message input box won't collapse with swipe down except...2022-01-10T05:20:14ZShane SynanExpanded (multi-line) message input box won't collapse with swipe down except under Send button## Steps
1. Connect to core
2. Swipe up message input box
3. Swipe down message input box by dragging `Write a message…` down
4. Observe message input box state, expanded or collapsed
5. If message input box is collapsed, swipe up m...## Steps
1. Connect to core
2. Swipe up message input box
3. Swipe down message input box by dragging `Write a message…` down
4. Observe message input box state, expanded or collapsed
5. If message input box is collapsed, swipe up message input box again
6. Swipe down message input by dragging underneath the `>` Send button
## Expected
For both steps 3 and 6, the expanded message input box collapses.
## Actual
The expanded message input box does not react to drags in step 3, but step 6 will collapse the input box.2.0.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/224Forced immersive mode results in shifting entire app UI when opening keyboard2020-10-07T08:39:33ZShane SynanForced immersive mode results in shifting entire app UI when opening keyboard## Steps
1. Connect to the device via ADB, or otherwise access an app that allows changing global preferences
2. Force system into navigation immersive mode
* `adb shell settings put global policy_control immersive.navigation=apps`...## Steps
1. Connect to the device via ADB, or otherwise access an app that allows changing global preferences
2. Force system into navigation immersive mode
* `adb shell settings put global policy_control immersive.navigation=apps`
3. Open Quasseldroid, connect to core
4. Tap the message input box to reveal the IME/keyboard
5. Tap the down arrow to hide the IME/keyboard
6. Optional: revert back to normal immersive mode
* `adb shell settings put global policy_control null`
## Expected
Revealing the keyboard reduces the amount of space available to Quasseldroid's UI, shrinking it down.
## Actual
Revealing the keyboard shifts the entire Quasseldroid UI upwards, making the ActionBar and upper UI elements inaccessible until the keyboard is hidden.
## Details
Tested using Android 10 with Gboard on a Pixel 4 XL.
I suspect this may be a bug with Android itself and not the fault of Quasseldroid. However, other apps (Firefox for Android, non-preview, the Contacts app, YouTube) appear to handle this correctly.https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/227Server Redirect Notices and User Redirect Notices should be independent2022-01-10T05:15:34ZPeGaSuSServer Redirect Notices and User Redirect Notices should be independentAs explained on IRC:
```
[12:15:49] <PeGaSuS> justJanne: I found a weird behaviour in Quasseldroid in my phone (Huawei P20 Lite). Menu > Client Settings > Message Redirection > Enable "Redirect User Notices"
[12:15:49] <PeGaSuS> Tap the ...As explained on IRC:
```
[12:15:49] <PeGaSuS> justJanne: I found a weird behaviour in Quasseldroid in my phone (Huawei P20 Lite). Menu > Client Settings > Message Redirection > Enable "Redirect User Notices"
[12:15:49] <PeGaSuS> Tap the back arrow. Menu > Client Settings > Message Redirection > "Redirect User Notices" and "Redirect Server Notices" will be enabled.
[12:15:49] <PeGaSuS> Disable "Redirect Server Notices", tap back arrow, Menu > Client Settings > Message Redirection > All redirects will be disabled
[12:17:10] <PeGaSuS> shouldn't "User Notices" and "Server Notices" be independent?
```1.6.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/228Double-tap message to insert nickname re-appends nickname after every app switch2022-01-10T05:19:39ZShane SynanDouble-tap message to insert nickname re-appends nickname after every app switch## Steps
1. Connect to core
2. In `…` → `Client Settings`, under `Autocomplete`, ensure `Double tap to autocomplete` is enabled (the default)
3. Open an IRC channel and load backlog until normal chat messages are visible
* E.g. `#...## Steps
1. Connect to core
2. In `…` → `Client Settings`, under `Autocomplete`, ensure `Double tap to autocomplete` is enabled (the default)
3. Open an IRC channel and load backlog until normal chat messages are visible
* E.g. `#quasseldroid`
4. Focus the chat input box
5. Double tap a message from any user
* E.g. `Not-####` the notification bot, or `justJanne`
6. Observe the chat input box
7. Go to the home screen via the Home button/gesture
* Do not use the Back button/gesture as that will destroy the activity
8. Open Quasseldroid
9. Observe the chat input box
10. Optional: keep going to the home screen and returning to Quasseldroid, or switch apps, or lock the screen/unlock
11. Optional: to workaround the issue, switch to another buffer and back, or use the Back button/gesture to finish the activity
## Expected
Only one instance of `nickname: ` is visible, e.g. `justJanne: `.
## Actual
Every time Quasseldroid regains focus, another instance of `nickname` is appended, e.g. `justJanne: justJanne justJanne`.
## Details
Tested using Android 10 with Gboard on a Pixel 4 XL.1.6.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/236Black cursor on AMOLED theme2022-01-10T05:17:54ZPeGaSuSBlack cursor on AMOLED themeWhen editing settings on AMOLED theme, we have a black cursor on black background.
The input box while chatting works fine though, with the cursor being orange-ish.
Screenshot below:
![Screenshot_20210104_083233_com.iskrembilen.quasseld...When editing settings on AMOLED theme, we have a black cursor on black background.
The input box while chatting works fine though, with the cursor being orange-ish.
Screenshot below:
![Screenshot_20210104_083233_com.iskrembilen.quasseldroid](/uploads/c15aa3604fbec035675f72bdbae9a6eb/Screenshot_20210104_083233_com.iskrembilen.quasseldroid.jpg)2.0.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/237Up/down arrow keys don't move cursor in multi-line message edit mode2022-01-10T05:17:24ZShane SynanUp/down arrow keys don't move cursor in multi-line message edit mode### Steps
1. Connect keyboard with either physical arrow keys or (untested) software emulation
2. Open a buffer within Quasseldroid to reveal the message input box
3. Type and send a short message (ensuring Quasseldroid has a message ...### Steps
1. Connect keyboard with either physical arrow keys or (untested) software emulation
2. Open a buffer within Quasseldroid to reveal the message input box
3. Type and send a short message (ensuring Quasseldroid has a message in the input history)
4. Expand the message input box to switch to multi-line edit mode
5. Type a long enough message that it wraps across several lines (e.g. copy-paste a few words)
6. With the input caret/cursor on the bottom, press the Up arrow key
7. Observe the results
### Expected
The input caret/cursor navigates upwards through the text, as happens with e.g. QKSMS on Android or Quassel desktop and Kate on KDE.
Only when the input caret/cursor is at the very top of the message (or anytime in single-line edit mode) should the message history be accessed.
### Actual
Quasseldroid interprets the up arrow as a request to switch to the message history, despite being in multi-line edit mode.
### Details
Quasseldroid [v1.3.3](https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/b622ad63056b6054b06e09f8e1f1ef2b0c3aaf9a )
Using a USB keyboard with the USB OTG adapter that comes in the Pixel box, on Android 11, Pixel 4 XL.
*Feel free to edit the priority as desired - I'm not sure how many folks use Quasseldroid with a keyboard - ChromeOS + USB/Bluetooth keyboards on Android, possibly?*1.6.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/238Pressing Up arrow key clears current/unsent message without saving it to mess...2022-01-10T05:17:20ZShane SynanPressing Up arrow key clears current/unsent message without saving it to message history### Steps
1. Connect keyboard with either physical arrow keys or (untested) software emulation
2. Open a buffer within Quasseldroid to reveal the message input box
3. Type and send a short message (ensuring Quasseldroid has a message ...### Steps
1. Connect keyboard with either physical arrow keys or (untested) software emulation
2. Open a buffer within Quasseldroid to reveal the message input box
3. Type and send a short message (ensuring Quasseldroid has a message in the input history)
4. Type another, different message, but don't send it
5. Press the Up arrow key
6. Observe the results
7. Press the Down arrow key
8. Observe the results
### Expected
* After pressing the Up arrow, the current message is replaced with the most recently sent message
* After pressing the Down arrow, the most recently sent message is replaced with the unsent, still-being-composed message
This matches the behavior of Quassel desktop.
### Actual
* :heavy_check_mark: After pressing the Up arrow, the current message is replaced with the most recently sent message
* :x: After pressing the Down arrow, the most recently sent message is replaced with.. **nothing - the unsent, still-being-composed message is now lost**
### Details
Quasseldroid [v1.3.3](https://git.kuschku.de/justJanne/QuasselDroid-ng/commit/b622ad63056b6054b06e09f8e1f1ef2b0c3aaf9a )
Using a USB keyboard with the USB OTG adapter that comes in the Pixel box, on Android 11, Pixel 4 XL.
*Priority is set to high due to the potential to lose chat messages in the middle of writing them on ChromeOS or with a USB/Bluetooth keyboard. This may be a smaller impact, though.*1.6.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/239Reduce chat drawer grab range when expanding message compose box2022-01-10T05:17:13ZShane SynanReduce chat drawer grab range when expanding message compose box1. Connect to core, open buffer to send message
2. Expand the message box for composing messages
3. Start typing or paste a long message
4. Try to hold-select text near the left side of the screen
5. Experience fight with the chat d...1. Connect to core, open buffer to send message
2. Expand the message box for composing messages
3. Start typing or paste a long message
4. Try to hold-select text near the left side of the screen
5. Experience fight with the chat drawer
*To be filled out more if needed when not on mobile*2.0.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/240Query with services cause unneeded notifications2022-01-10T05:17:08ZJim RamsayQuery with services cause unneeded notificationsIf I'm in a query chat with an IRC service, such as `/query nickserv` and say `help`, I get a flurry of notifications even though I'm in the chat buffer where those messages are coming in.
I don't need or want a notification for message...If I'm in a query chat with an IRC service, such as `/query nickserv` and say `help`, I get a flurry of notifications even though I'm in the chat buffer where those messages are coming in.
I don't need or want a notification for messages I'm actively reading.1.6.0https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/245ipv6 in connection list gets formatted as f00::ba2:4242 instead of [f00::ba2]...2022-05-17T17:21:18ZJanne Mareike Koschinskiipv6 in connection list gets formatted as f00::ba2:4242 instead of [f00::ba2]:4242https://git.kuschku.de/justJanne/QuasselDroid-ng/-/issues/248QD closes immediately after connecting when using Gesture Navigation2023-09-18T14:41:24ZJanne Mareike KoschinskiQD closes immediately after connecting when using Gesture Navigation