Kaidan issueshttps://invent.kde.org/network/kaidan/-/issues2018-07-14T11:28:29Zhttps://invent.kde.org/network/kaidan/-/issues/88Notifications2018-07-14T11:28:29ZBhushan ShahNotifications*Created by: LNJ2*
- [x] In-App notifications backen
- [x] In-App notifications UI
- [x] LibNotify Linux notifications*Created by: LNJ2*
- [x] In-App notifications backen
- [x] In-App notifications UI
- [x] LibNotify Linux notifications0.2https://invent.kde.org/network/kaidan/-/issues/97Use the KDE C++ coding style2018-07-14T11:28:29ZBhushan ShahUse the KDE C++ coding style*Created by: LNJ2*
https://community.kde.org/Policies/Kdelibs_Coding_Style
We can easily switch to it by using `astyle`:
```bash
astyle --indent=spaces=4 --style=linux \
--indent-labels --pad-oper --unpad-paren --pad-header...*Created by: LNJ2*
https://community.kde.org/Policies/Kdelibs_Coding_Style
We can easily switch to it by using `astyle`:
```bash
astyle --indent=spaces=4 --style=linux \
--indent-labels --pad-oper --unpad-paren --pad-header \
--keep-one-line-statements --convert-tabs \
--indent-preprocessor \
`find -type f -name '*.cpp' -or -name '*.cc' -or -name '*.h'`
```
It will use 4 spaces instead tabs. This is the only point I'm not really sure about.
But if we do this, we should do this right before the next release, when (probably) no pull request are open anymore.0.2https://invent.kde.org/network/kaidan/-/issues/269Kaidan isn't reconnecting after loosing the connection2019-07-21T21:56:22ZBhushan ShahKaidan isn't reconnecting after loosing the connectionUntil yet the bug has only been confirmed on Android, when Kaidan is paused by the android system.
---
The reconnection itself works on desktop, but when I tested it QXmpp seemed to have some other problems with stream resumption.Until yet the bug has only been confirmed on Android, when Kaidan is paused by the android system.
---
The reconnection itself works on desktop, but when I tested it QXmpp seemed to have some other problems with stream resumption.https://invent.kde.org/network/kaidan/-/issues/234Can't compile: class GlooxClient has no member named setInactive2018-06-28T00:22:02ZBhushan ShahCan't compile: class GlooxClient has no member named setInactive*Created by: Scrumplex*
If I try to compile this I get this error:
```
/opt/Kaidan/src/ClientWorker.cpp: In member function ‘void ClientWorker::setApplicationState(Qt::ApplicationState)’:
/opt/Kaidan/src/ClientWorker.cpp:157:23: erro...*Created by: Scrumplex*
If I try to compile this I get this error:
```
/opt/Kaidan/src/ClientWorker.cpp: In member function ‘void ClientWorker::setApplicationState(Qt::ApplicationState)’:
/opt/Kaidan/src/ClientWorker.cpp:157:23: error: ‘class GlooxClient’ has no member named ‘setActive’; did you mean ‘setAuthed’?
controller->client->setActive();
^~~~~~~~~
setAuthed
/opt/Kaidan/src/ClientWorker.cpp:159:23: error: ‘class GlooxClient’ has no member named ‘setInactive’
controller->client->setInactive();
^~~~~~~~~~~
```
I tried it on KDE neon (xenial), Ubuntu 17.10 (artful) and Ubuntu 18.04 LTS (bionic). I always got this error.https://invent.kde.org/network/kaidan/-/issues/271roster: 'Add new contact' action isn't displayed on desktop2019-02-05T18:00:32ZBhushan Shahroster: 'Add new contact' action isn't displayed on desktopIn some window sizes the button isn't displayed at all; if I resize the window (so that there's only this page visible) the button appears again.
![image](/uploads/278436d3320cd4816af869fafbc55c87/image.png)
This commit caused it: https...In some window sizes the button isn't displayed at all; if I resize the window (so that there's only this page visible) the button appears again.
![image](/uploads/278436d3320cd4816af869fafbc55c87/image.png)
This commit caused it: https://git.kaidan.im/kaidan/kaidan/commit/a46265e34258272c73b95b8ef287927ce2dc9842 (but it's a bug in Kirigami).
(Affected page: https://git.kaidan.im/kaidan/kaidan/blob/master/src/qml/RosterPage.qml)https://invent.kde.org/network/kaidan/-/issues/40Add documentation for functions from C++ and from QML/JS2018-07-14T11:28:30ZBhushan ShahAdd documentation for functions from C++ and from QML/JS*Created by: LNJ2*
As we have different UIs that can use the back-end of our project, it's important to document all functions that can be used [from both sides].
Maybe styled as this:
https://github.com/minetest-games/AF8/blob/mast...*Created by: LNJ2*
As we have different UIs that can use the back-end of our project, it's important to document all functions that can be used [from both sides].
Maybe styled as this:
https://github.com/minetest-games/AF8/blob/master/doc/api_toolset.mdhttps://invent.kde.org/network/kaidan/-/issues/260Switch to QXmpp (yes, really, and yes, we're switching again)2018-11-24T19:03:30ZBhushan ShahSwitch to QXmpp (yes, really, and yes, we're switching again)This is everything that is missing:
- [x] Rewrite Kaidan, ClientWorker
- [x] Rewrite RosterManager
- [x] Rewrite MessageHandler
- [x] Rewrite LogHandler
- [x] Rewrite PresenceHandler and PresenceCache (medium)
- [x] Rewrite ServiceDiscoM...This is everything that is missing:
- [x] Rewrite Kaidan, ClientWorker
- [x] Rewrite RosterManager
- [x] Rewrite MessageHandler
- [x] Rewrite LogHandler
- [x] Rewrite PresenceHandler and PresenceCache (medium)
- [x] Rewrite ServiceDiscoManager (easy)
- [x] Rewrite vCard avatar fetchment (easy)
- [x] Implement XEP-0352: Client State Indication (https://github.com/qxmpp-project/qxmpp/commit/5559ed29681d031f36e7a7d011e3ec4bec3635f5)
- [x] Implement XEP-0363: HTTP File Upload (hard)
- [x] Implement stanza extensions
- [x] Implement manager(s)
- [x] Rewrite UploadHandler (only partily, replacing gloox parts)
- [x] Use XEP-0282: Message Carbons (currently needs QXmpp master, will be in v0.9.4/v1.0.0) (easy)
- [x] Use XEP-0352: Client State Indication (currently needs QXmpp master, will be in v0.9.4/v1.0.0) (easy)
- [x] New connection error states
Still need to fix:
- [x] Fix database/roster model/message model
- [x] Received messages are not displayed?
- [ ] Reconnect problems (at least on android; probably everywhere)
- [x] VCard Avatar checksum compare isn't working -> avatars are loaded again and again0.4: File SharingBhushan ShahBhushan Shahhttps://invent.kde.org/network/kaidan/-/issues/243Click package is not working on Ubuntu Touch 16.042018-06-28T00:22:02ZBhushan ShahClick package is not working on Ubuntu Touch 16.04*Created by: nanu-c*
I have here a Fairphone2 with 16.04
```
nanu@xyW-R:~/src/ut/kaidan$ clickable
Checking dependencies
Dependencies already setup
*****************************************
Downloading Debian packages
**********...*Created by: nanu-c*
I have here a Fairphone2 with 16.04
```
nanu@xyW-R:~/src/ut/kaidan$ clickable
Checking dependencies
Dependencies already setup
*****************************************
Downloading Debian packages
*****************************************
I: Installing Kirigami 2
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
I: Installing QtQuick Controls 2
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
######################################################################## 100.0%
I: Installing gloox
######################################################################## 100.0%
######################################################################## 100.0%
I: Installing QML modules
I: Installing libraries
*****************************************
Building Kaidan
*****************************************
-- Found gloox: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/lib/arm-linux-gnueabihf/libgloox.so
--
-- The following OPTIONAL packages have been found:
* Qt5Widgets , Integration with QWidget based desktop styles
* Qt5LinguistTools
-- The following REQUIRED packages have been found:
* Qt5Core
* Qt5Network (required version >= 5.9.3)
* Qt5Qml
* Qt5Gui (required version >= 5.9.3)
* Qt5Quick
* Qt5Sql
* Qt5QuickControls2
* Qt5 (required version >= 5.8.0)
* KF5Kirigami2
* Gloox
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nanu/src/ut/kaidan/build
[1/4] Automatic moc, uic and rcc for target kaidan
[2/2] Install the project...
-- Install configuration: ""
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/kaidan
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/chat.png
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/message_checkmark.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/images.qrc
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/diaspora.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/xmpp.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/kaidan.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/banner.png
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/share/im.kaidan.kaidan/images/fallback-avatar.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/kaidan.svg
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/apparmor.json
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/kaidan.desktop
-- Installing: /home/nanu/src/ut/kaidan/bin/ubuntu-touch/tmp/manifest.json
*****************************************
Build script finished, now leaving work to 'click build'
******************************************
Successfully built package in './im.kaidan.kaidan_0.4.0~dev_armhf.click'.
[100%] /home/phablet/im.kaidan.kaidan_0.4.0~dev_armhf.click
Installing files [=========================]
Finished [=========================]
Installing files [=========================]
Starting [=========================]
Finished [=========================]
Installed im.kaidan.kaidan-0.4.0~dev.armhf (installed:click,removable=1,app_name=kaidan) summary goes here
nanu@xyW-R:~/src/ut/kaidan$ clickable launch logs
tail: cannot open '/home/phablet/.cache/upstart/application-click-im.kaidan.kaidan_kaidan_0.4.0~dev.log' for reading: No such file or directory
tail: no files remaining
```
https://invent.kde.org/network/kaidan/-/issues/152Move or hide the drawer grab button on the chat page2018-06-28T00:22:03ZBhushan ShahMove or hide the drawer grab button on the chat page*Created by: IlyaBizyaev*
![spectacle pe7721](https://user-images.githubusercontent.com/11175213/34071751-70f9f01a-e28c-11e7-8906-61164ddc98fa.png)
*Created by: IlyaBizyaev*
![spectacle pe7721](https://user-images.githubusercontent.com/11175213/34071751-70f9f01a-e28c-11e7-8906-61164ddc98fa.png)
0.4: File Sharinghttps://invent.kde.org/network/kaidan/-/issues/220Privacy violation: auto-accepting subscription requests2018-06-28T00:22:02ZBhushan ShahPrivacy violation: auto-accepting subscription requests*Created by: ge0rg*
Kaidan is silently and automatically accepting subscription requests. This is a violation of the user's privacy, because it leaks the user's availability status (allowing to monitor their behavior) and exposing full ...*Created by: ge0rg*
Kaidan is silently and automatically accepting subscription requests. This is a violation of the user's privacy, because it leaks the user's availability status (allowing to monitor their behavior) and exposing full JIDs, allowing to target individual clients.
As today most spam sending bots first send a subscription request and then a message, and many spam filters block messages from strangers, you are also exposing users to spam.
Server-side logs:
```
Mar 23 03:00:30 s2sin56532061a490 debug Received[s2sin]: <presence type='subscribe' to='georg@yax.im' from='redirect59926@jabber.o
zerki.net'>
Mar 23 03:00:30 s2sout56530f8819b0 debug sending: <presence type='unavailable' to='redirect59926@jabber.ozerki.net' from='georg@yax
.im'>
Mar 23 03:00:30 c2s5653115ea470 debug Received[c2s]: <presence type='subscribed' to='redirect59926@jabber.ozerki.net' from='georg@yax.im/e57cc71c-e400-4a4d-a60b-513ec9d4a880'>
```
```
georg@yax.im/e57cc71c-e400-4a4d-a60b-513ec9d4a880 is running Kaidan version 0.4.0-dev on Debian GNU/Linux buster/sid
```
Final result:
![image](https://user-images.githubusercontent.com/165635/37817729-18826b96-2e78-11e8-83ba-8854247bea3e.png)
If you want to improve the UX without exposing the user, I recommend the following:
* [XEP-0379: Pre-Authenticated Roster Subscription](https://xmpp.org/extensions/xep-0379.html)
* [XEP-0401: Easy User Onboarding](https://xmpp.org/extensions/xep-0401.html)
---
Edit by @LNJ2:
- [x] Don't automatically accept subscription requests
- [x] Ask the user for accepting the requests 0.4: File Sharinghttps://invent.kde.org/network/kaidan/-/issues/268Show error messages on log in failure (again)2018-11-24T19:01:12ZBhushan ShahShow error messages on log in failure (again)0.4: File Sharinghttps://invent.kde.org/network/kaidan/-/issues/248Emoji support2019-02-05T17:59:57ZBhushan ShahEmoji support*Created by: SohnyBohny*
Is there any emoji support planned?*Created by: SohnyBohny*
Is there any emoji support planned?1.0Bhushan ShahBhushan Shahhttps://invent.kde.org/network/kaidan/-/issues/262Scrolling on ChatPage is broken on desktop2018-11-18T18:52:32ZBhushan ShahScrolling on ChatPage is broken on desktopSomehow you can't scroll anymore on the chat page. Is this maybe related to a kirigami update? It's using the ScrollablePage.Somehow you can't scroll anymore on the chat page. Is this maybe related to a kirigami update? It's using the ScrollablePage.0.4: File Sharinghttps://invent.kde.org/network/kaidan/-/issues/263ChatPage: Messages are overlapping composing field2018-11-18T18:52:32ZBhushan ShahChatPage: Messages are overlapping composing field0.4: File SharingIlya BizyaevIlya Bizyaevhttps://invent.kde.org/network/kaidan/-/issues/163RosterPage: Mark currently selected chat2020-09-20T13:56:27ZBhushan ShahRosterPage: Mark currently selected chat*Created by: LNJ2*
http://doc.qt.io/qt-5/qml-qtquick-listview.html#isCurrentItem-attached-prop
E.g. the color should be changed.*Created by: LNJ2*
http://doc.qt.io/qt-5/qml-qtquick-listview.html#isCurrentItem-attached-prop
E.g. the color should be changed.0.4: File SharingBhushan ShahBhushan Shahhttps://invent.kde.org/network/kaidan/-/issues/2Git Guidelines | Organisation2022-10-24T16:07:20ZBhushan ShahGit Guidelines | Organisation*Created by: LNJ2*
## Git Guidelines
### Upstream pull requests and issues
* Don't mix multiple things in one commit. The same applies to codestyle cleanup.
* If a pull request or an issue does not get a response from its author in...*Created by: LNJ2*
## Git Guidelines
### Upstream pull requests and issues
* Don't mix multiple things in one commit. The same applies to codestyle cleanup.
* If a pull request or an issue does not get a response from its author in one month (when requiring more details), it is closed.
* If an issue is a duplicate, refer to the first one and close the later ones.
* People considering merging pull requests are not required to look anything up anywhere else than the pull request and its comments. If there is something blocking the merging of a pull request, the reason must be added as a comment to the pull request. This goes both ways: If you check a pull request to be mergeable, write a simple "+1" or ":+1:" comment to it.
### Upstream commit rules
* You can push something to upstream only if two members of the core team agree on it.
* Commit messages must start with a capital letter and be in the present tense (look at the commit log)
* Do not modify history older than 10 minutes
* Use rebase, not merge, to get linear history. (For a github pull request, this is easiest done by appending .patch to the pull request URL, wgetting it to your project directory and doing git am whatever.patch. Similarly for single commits.)
* Do not rush with anything, unless our users' data is about to be corrupted otherwise
## Organisation
### Contributors
A contributor is anyone who has made a pull request that has been merged, or succesfully sent a patch to be applied otherwise.
### Core developers have special privileges and responsibilities compared to other contributors:
* Can vote for and against merging pull requests (Two for-votes are required for code to be mergeable upstream.)
* Has write access to the minetest team's repositories on github
##### These rules are mostly copied from the open-source project "Minetest", see [Git Guidelines](http://dev.minetest.net/Git_Guidelines) and [Organisation](http://dev.minetest.net/Organisation) in the Minetest Wiki.
# **@KaidanIM/core-devs: Do you all agree with these rules? We can discuss about them.**
If everyone is satisfied, I will move this into the wiki.https://invent.kde.org/network/kaidan/-/issues/9Support SailfishOS2022-10-24T16:07:21ZBhushan ShahSupport SailfishOS*Created by: MRZA-MRZA*
As I'm going to work on SailfishOS version of Kaidan I wonder how we should handle SailfishOS specific changes, e. g. in qml files.
For SailfishOS there is need of rpm spec file and modified project file. Ther...*Created by: MRZA-MRZA*
As I'm going to work on SailfishOS version of Kaidan I wonder how we should handle SailfishOS specific changes, e. g. in qml files.
For SailfishOS there is need of rpm spec file and modified project file. There also maybe other changes.
What is the best way to avoid breaking things, incompatibility and other mess?https://invent.kde.org/network/kaidan/-/issues/171Connection failed or disconnected 132018-06-28T00:22:02ZBhushan ShahConnection failed or disconnected 13*Created by: mightyBroccoli*
I get this error on trying to connect to my server.
Server : Prosody 0.10
Client : latest Kaidan source files
OS : Archlinux
Installed with AUR : https://aur.archlinux.org/packages/kaidan-git/
> [XML]...*Created by: mightyBroccoli*
I get this error on trying to connect to my server.
Server : Prosody 0.10
Client : latest Kaidan source files
OS : Archlinux
Installed with AUR : https://aur.archlinux.org/packages/kaidan-git/
> [XML] [Outgoing] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> QXmlStreamWriter: writeCurrentToken() with invalid state.
> <stream:stream xmlns:n1="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="magicbroccoli.de" xml:lang="en" version="1.0
> [XML] [Incoming] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns:n1="jabber:client" xml:lang="en" from="magicbroccoli.de" id="3eeaf24a-0e07-496a-8809-26276dda925e" version="1.0"/>
> [XML] [Incoming] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> <stream:features xmlns:stream="http://etherx.jabber.org/streams" xmlns:n1="urn:ietf:params:xml:ns:xmpp-tls">
> <n1:starttls>
> <n1:required/>
> </n1:starttls>
> </stream:features>
> [XML] [Outgoing] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> <n1:starttls xmlns:n1="urn:ietf:params:xml:ns:xmpp-tls"/>
> [XML] [Incoming] <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> <n1:proceed xmlns:n1="urn:ietf:params:xml:ns:xmpp-tls"/>
> [Connection] Automatically accepting TLS certificate
> [Connection] Connection failed or disconnected 13https://invent.kde.org/network/kaidan/-/issues/65GUI: Layouts are only working correct after resizing2018-07-14T11:28:30ZBhushan ShahGUI: Layouts are only working correct after resizing*Created by: LNJ2*
So it looks before resizing:
![image](https://cloud.githubusercontent.com/assets/13557034/23073639/82c8a578-f536-11e6-9433-04a231618a1c.png)
And so after:
![image](https://cloud.githubusercontent.com/assets/13557...*Created by: LNJ2*
So it looks before resizing:
![image](https://cloud.githubusercontent.com/assets/13557034/23073639/82c8a578-f536-11e6-9433-04a231618a1c.png)
And so after:
![image](https://cloud.githubusercontent.com/assets/13557034/23073677/9e8e3fe8-f536-11e6-96c5-9fa77e32d79a.png)
I've already tried some things out, but nothing is working... :expressionless: https://invent.kde.org/network/kaidan/-/issues/7Might helpful documentations and tutorials2022-10-24T16:07:21ZBhushan ShahMight helpful documentations and tutorials*Created by: LNJ2*
You can post here all good tutorials and documentations, you have found.
## Kirigami API Documentation
https://api.kde.org/kirigami/html/index.html
## Chat and Contact pages in QML
Here is a good tutorial for ...*Created by: LNJ2*
You can post here all good tutorials and documentations, you have found.
## Kirigami API Documentation
https://api.kde.org/kirigami/html/index.html
## Chat and Contact pages in QML
Here is a good tutorial for the chat page in QtQuick Controls:
http://doc.qt.io/qt-5/qtquickcontrols2-chattutorial-example.html