Skip to content

fix: refactor credential store#363

Merged
cajus merged 14 commits intomainfrom
fix/refactor-credential-handling
Mar 4, 2026
Merged

fix: refactor credential store#363
cajus merged 14 commits intomainfrom
fix/refactor-credential-handling

Conversation

@cajus
Copy link
Copy Markdown
Member

@cajus cajus commented Mar 2, 2026

The credential store had a more simple error handling from the good old "flatpak portal only" times. Using QKeychain and more platforms / incomplete platform support / broken interfaces, we need to look more in depth here. Added more debugging to allow tracing of potential issues.

cajus added 3 commits March 2, 2026 07:31
The credential store had a more simple error handling from the
good old "flatpak portal only" times. Using QKeychain and more
platforms / incomplete platform support / broken interfaces, we
need to look more in depth here. Added more debugging to allow
tracing of potential issues.
@cajus cajus requested a review from mbgonicus March 2, 2026 07:17
Comment thread src/chat/ChatConnectorManager.cpp Outdated
@cajus
Copy link
Copy Markdown
Member Author

cajus commented Mar 2, 2026

@ljgonicus could you check whether the adressbook / calendar plugins do (re-)ask for passwords if the authentication fails?

@ljgonicus
Copy link
Copy Markdown
Member

ljgonicus commented Mar 2, 2026

@ljgonicus could you check whether the adressbook / calendar plugins do (re-)ask for passwords if the authentication fails?

@cajus As far as I can see it, the feeder managers use a method called acquireSecret() to see if there's a password stored in the keychain, otherwise the user will be prompted.

To me it seems that we now need a new method resetSecret() that can be used in a given plugin after an authentication failure has been encountered, to then allow acquireSecret() to prompt the user again - otherwise a wrong/typo'd secret would never cause a new password entry prompt to be created.

Copy link
Copy Markdown
Contributor

@mbgonicus mbgonicus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, but cannot verify it by looking at the code only. I recommend to manually test everything.

@ljgonicus
Copy link
Copy Markdown
Member

Looks good to me, but cannot verify it by looking at the code only. I recommend to manually test everything.

Working on it (LDAP to be precise)

@cajus cajus requested a review from mbgonicus March 4, 2026 12:57
@cajus cajus merged commit 9148e51 into main Mar 4, 2026
13 checks passed
@cajus cajus deleted the fix/refactor-credential-handling branch March 4, 2026 12:58
semantic-release-tokenizer Bot pushed a commit that referenced this pull request Apr 10, 2026
# [2.1.0](v2.0.9...v2.1.0) (2026-04-10)

### Bug Fixes

* add missing export for CSV addressbook ([3fd2e92](3fd2e92))
* always parse UTC offset / timezone ([#329](#329)) ([c74e7d5](c74e7d5))
* avoid early EDS objects-* signal triggers prior to view completion ([#335](#335)) ([555120a](555120a))
* avoid local time conversion for unknown timezones ([#333](#333)) ([bb45139](bb45139))
* code review loop ([#374](#374)) ([60bbbc0](60bbbc0))
* default action on linux for desktop notifications ([#364](#364)) ([af682ef](af682ef))
* default setting for mute system forwarding ([#293](#293)) ([4a90bd5](4a90bd5))
* **deps:** update EDS to 3.59.1 ([#285](#285)) ([8e3297b](8e3297b))
* disable Real Time Text (RFC 4103) ([#345](#345)) ([01cf2d3](01cf2d3))
* disable WMME in pjsip ([#397](#397)) ([b08c87e](b08c87e))
* do not call ldap feeder twice to prevent crash ([#348](#348)) ([fd305c6](fd305c6))
* first aid menu improvements ([#283](#283)) ([4680755](4680755))
* fix occasional crashes when calls end on windows ([e10a37a](e10a37a))
* fix some wintoastlib related crashes ([#356](#356)) ([7ed606a](7ed606a))
* force change for new beta release after rebase ([60ee872](60ee872))
* handle direct pjsip mute again ([#402](#402)) ([cc9373f](cc9373f))
* init Credentials class in flatpak if no SecretPortal ([#322](#322)) ([cb11ef2](cb11ef2))
* limit active ui edit mode dialogs to one & close on exiting edit mode ([#309](#309)) ([f2904ad](f2904ad))
* local shortcuts and help dialog ([#230](#230)) ([55e2133](55e2133))
* make flatpak build more stable ([07de32d](07de32d))
* make MWI subscription configurable ([#414](#414)) ([afc06fc](afc06fc))
* match any/ no spaces around codec comma separator ([#368](#368)) ([4d3a981](4d3a981))
* more sip codes lead to auth request ([#379](#379)) ([4d53b22](4d53b22))
* mwi recursions ([#405](#405)) ([a7b6e8a](a7b6e8a))
* optimize search for pure numbers ([0201a25](0201a25))
* platform updates ([#259](#259)) ([84d515e](84d515e))
* potential crash on HeadsetDevice destroyed ([#371](#371)) ([ce9045b](ce9045b))
* prevent entering of invalid DTMF chars to prevent crash ([#287](#287)) ([42cb3df](42cb3df))
* prevent hold of ongoing call on incoming when busyOnBusy ([#297](#297)) ([e061657](e061657))
* raise window after showing it ([#398](#398)) ([6da44fa](6da44fa))
* reenable CardDAV plugin ([#406](#406)) ([6829e25](6829e25))
* refactor credential store ([#363](#363)) ([9148e51](9148e51))
* remove custom libusb building ([658daa1](658daa1))
* restore functionality for feeders without network requirements ([#387](#387)) ([ce6639c](ce6639c))
* tab creation failure due to new missing boolean ([#347](#347)) ([ac48dbf](ac48dbf))
* tab switch/reset notifications ([5cdaf86](5cdaf86))
* **ui:** copy full url to clipboard not just room name (DateEventsList) ([#218](#218)) ([9452bfa](9452bfa))
* **ui:** do not disable history items in search list (if number) ([#314](#314)) ([c44b1b2](c44b1b2)), closes [#311](#311)
* **ui:** fixed selection behaviour in call list ([#271](#271)) ([734c9d8](734c9d8))
* **ui:** give focus to call screen when startet via enter ([#395](#395)) ([494402b](494402b))
* **ui:** jitsi meet chat now cleared when leaving room ([#239](#239)) ([50c6bc5](50c6bc5))
* **ui:** loading of own avatar ([#290](#290)) ([f11c4bc](f11c4bc)), closes [#276](#276)
* **ui:** next button in template wizard never enabled ([#291](#291)) ([3107665](3107665))
* **ui:** show name/time labels in jitis chat again ([#346](#346)) ([d60c925](d60c925))
* unhold other call when starting conference ([#286](#286)) ([33c43ec](33c43ec))
* use global ro settings for sip section ([#352](#352)) ([fe51b0e](fe51b0e))
* windows block logout / shutdown on ongoing call ([#338](#338)) ([bc1f790](bc1f790))
* windows block logout / shutdown on ongoing call ([#338](#338)) ([54e4657](54e4657))

### Features

* add config-based codec selection ([#354](#354)) ([b44acf2](b44acf2))
* add inhibit to windows ([#280](#280)) ([6e67f93](6e67f93))
* add Qt QML  accessibility features to the UI ([#351](#351)) ([aff8468](aff8468))
* allow pre-processing of search strings ([#274](#274)) ([ac104e4](ac104e4))
* basic MWI support ([#392](#392)) ([dcb7fbc](dcb7fbc))
* basic RTT handling in call ([#355](#355)) ([abbccfa](abbccfa))
* blocking address sources ([#325](#325)) ([ac61c48](ac61c48)), closes [#312](#312)
* calendar expansion ([#250](#250)) ([9cfdb2d](9cfdb2d))
* configure jitsi MCU via config ([#337](#337)) ([522de41](522de41))
* display sip registration status ([#375](#375)) ([4bf60d0](4bf60d0))
* do not send notifications for conferences/appointments that have been joined early ([#298](#298)) ([91ce62e](91ce62e))
* dynamic widget pages/dashboards ([#251](#251)) ([829952b](829952b))
* improved handling of full- and multi-day conferences/appointments ([#302](#302)) ([e55f897](e55f897))
* introduce custom widget settings and a new web display widget ([#284](#284)) ([30055e5](30055e5))
* packaging tuner ([#261](#261)) ([6bc1792](6bc1792))
* pause/resume media on windows ([#370](#370)) ([cf7dd0f](cf7dd0f))
* pre-fill missing it/es translations ([#377](#377)) ([6c78b55](6c78b55))
* retrieve and show phone numbers for joining jitsi conference ([#334](#334)) ([ec2804c](ec2804c))
* show connection quality and security details ([#341](#341)) ([83734f0](83734f0))
* support more platforms ([#233](#233)) ([19fff59](19fff59))
* toggle whiteboard in jitsi meet ([#235](#235)) ([23df6a2](23df6a2))
* **ui:** automatically select first search item in global search ([#292](#292)) ([117945a](117945a))
* **ui:** show red dot on active main tab bar button ([#326](#326)) ([676f283](676f283))

### Reverts

* Revert "chore(release): 2.1.0-beta.4 [skip ci]" ([e9e4cad](e9e4cad))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants