Philipp Hörist pushed to branch application-title at gajim / gajim


Commits:
32931edf by Philipp Hörist at 2026-05-17T10:56:55+02:00
fix: ChatStack: Only handle allowed formats when DnD

Fixes #12718

- - - - -
d30fefe4 by Philipp Hörist at 2026-05-17T19:09:41+02:00
new: Storage: Add better way to explain queries

- - - - -
2f44aa01 by Philipp Hörist at 2026-05-25T10:14:07+02:00
perf: ArchiveStorage: Add new indexes

Add missing indexes for the tables

- oob
- opengraph
- reaction
- retraction

- - - - -
d94f779a by Philipp Hörist at 2026-05-25T10:14:16+02:00
new: ArchiveStorage: Don't load relationships by default

This ensures that we need to think about what to load for every query, 
preventing loading data we don't need.

- - - - -
52a91ba6 by Philipp Hörist at 2026-05-25T10:14:16+02:00
imprv: Storage: Correctly delete related data for corrections

- Add test coverage for deleting messages

- - - - -
6aaa9c2c by Philipp Hörist at 2026-05-25T10:14:16+02:00
new: Storage: Use recommended autocommit option

See 
https://docs.sqlalchemy.org/en/20/dialects/sqlite.html#transactions-with-sqlite-and-the-sqlite3-driver

- - - - -
1c196f25 by Philipp Hörist at 2026-05-25T10:14:16+02:00
change: Require Python 3.12

- - - - -
c70877a5 by Philipp Hörist at 2026-05-25T10:14:16+02:00
refactor: Storage: Always create a new session

It is recommended to make sessions shortlived by SQLAlchemy

- - - - -
41efa012 by Philipp Hörist at 2026-05-25T10:14:16+02:00
cq: Tests: Add pyright ignores

- - - - -
0dd81925 by Philipp Hörist at 2026-05-25T10:14:16+02:00
refactor: ArchiveStorage: Move outerjoin after select

This resembles more how the text SQL query would be written

- - - - -
de73cc03 by Philipp Hörist at 2026-05-25T10:15:03+02:00
refactor: Storage: Ensure pragmas are always correctly executed

- Provide functions for common pragmas in Base
- Add _dbapi_execute_multiple() to ensure autocommit is correctly set

- - - - -
7f936954 by Philipp Hörist at 2026-05-25T10:15:03+02:00
new: Tests: Add util method for enabling logging

- - - - -
74675e4e by Philipp Hörist at 2026-05-25T10:15:03+02:00
new: Logging: Enable storage logging automatically with ENV var

- - - - -
bc4aa8e5 by Philipp Hörist at 2026-05-25T10:15:03+02:00
new: Storage: Pass options through when loading corrections

- - - - -
526a612a by Philipp Hörist at 2026-05-25T10:15:03+02:00
new: Tests: Add database test for get_message_with_pk()

- - - - -
ca79b433 by Philipp Hörist at 2026-05-25T10:15:03+02:00
refactor: Simplify message correction logic

- Load message with id instead of having customised method
- Check in util method if message fits the criteria

- - - - -
7ca3946e by Philipp Hörist at 2026-05-25T10:15:03+02:00
refactor: Storage: Make get_user_version() public

- - - - -
f5459b1e by Philipp Hörist at 2026-05-25T10:15:03+02:00
new: Tests: Add migration test

- - - - -
0933625f by Philipp Hörist at 2026-05-25T10:54:42+02:00
new: Storage: Allow to load multiple occupants at once

- This should improve performance for the cases where we need to load many 
occupants
- Add tests

- - - - -
3b5d6fec by Philipp Hörist at 2026-05-25T11:00:09+02:00
refactor: Use single sentinal value

- - - - -
a718461a by Philipp Hörist at 2026-05-30T12:43:15+02:00
new: Client: Make sure account-disconnected signal is triggered last

We need to ensure that the client state-changed signal is not triggered after
account-disconnected, because state-change can cause database access and we 
shutdown
the database in the account-disconnected handler.

- - - - -
0d1a8920 by Philipp Hörist at 2026-05-30T13:44:33+02:00
new: ArchiveStorage: Add contact table

Move all contact related data from the cache database into the archive database.
This makes the data persistent and allows us to gather all contact related data 
in a single place.

- - - - -
a25aad09 by Philipp Hörist at 2026-05-30T13:55:51+02:00
feat: Store drafts across restarts

- - - - -
d9174d79 by Philipp Hörist at 2026-05-30T13:55:51+02:00
new: ArchiveStorage: Store roster custom names in contact table

- - - - -
89a64d0a by Philipp Hörist at 2026-05-30T13:55:51+02:00
new: ArchiveStorage: Add get_contact() method

This allows us to get the complete database row content

- - - - -
7b44ec5c by Philipp Hörist at 2026-05-30T13:55:51+02:00
new: ArchiveStorage: Store bookmark name in contact table

- - - - -
ded83714 by Philipp Hörist at 2026-05-30T13:55:51+02:00
refactor: Get group chat name from contact table

- - - - -
546a067e by Philipp Hörist at 2026-05-31T20:50:04+02:00
cq: Format common modules with ruff

- - - - -
bdf8e32c by Philipp Hörist at 2026-06-04T19:49:57+02:00
imprv: Disable http2 by default

As it seems either our library or servers have compatibility problems

- - - - -
3630d2fe by Philipp Hörist at 2026-06-05T09:41:40+02:00
refactor: MUC: Fix type errors

- - - - -
0285e8d2 by Philipp Hörist at 2026-06-05T09:41:40+02:00
refactor: Presence: Fix type errors

- Use client var instead of conn
- Remove not used attributes from Presence events
- Use JID object where possible

- - - - -
f879c325 by Philipp Hörist at 2026-06-05T09:41:40+02:00
refactor: OMEMO: Fix type annotations

- - - - -
b32cc934 by Philipp Hörist at 2026-06-05T10:56:29+02:00
cq: UserAvatar: Fix type errors

- - - - -
f97bfbe9 by Philipp Hörist at 2026-06-05T10:57:58+02:00
cq: Util: Ignore type errors

- - - - -
a700f4da by Philipp Hörist at 2026-06-05T14:03:11+02:00
imprv: ChangePassword: Require current password before change

- - - - -
ea175e84 by Philipp Hörist at 2026-06-05T19:42:39+02:00
new: Core: Make application easier testable

- Add in_memory arg for databases
- Move shutdown of tray to GajimApplication
- Add option to not connect after enabling accounts
- Fix circular imports

- - - - -
e58257a2 by Philipp Hörist at 2026-06-05T19:42:39+02:00
new: Tests: Add GajimTestApplication

Small wrapper around CoreApplication which can be used for tests

- - - - -
0e834a22 by Philipp Hörist at 2026-06-05T19:58:27+02:00
refactor: Tests: Port group chat invitation to GajimTestApplication

- - - - -
e05e6c85 by Philipp Hörist at 2026-06-05T20:17:40+02:00
cq: Application: Fix type annotation

- - - - -
fc5f9213 by Philipp Hörist at 2026-06-06T15:45:41+00:00
imprv: GroupChat: Name chat after participants if no other name is available

- - - - -
0fccfc31 by Philipp Hörist at 2026-06-06T15:45:41+00:00
new: MUC: Raise signal when affiliation request is complete

- - - - -
5074c36c by Philipp Hörist at 2026-06-06T15:45:41+00:00
refactor: MUC: Make AffiliationManager methods private

- - - - -
5e9d3cc5 by Philipp Hörist at 2026-06-06T15:45:41+00:00
new: MUC: Use account log adapter for affiliation manager

- - - - -
004ca9db by cal0pteryx at 2026-06-06T18:24:06+00:00
imprv: Set window title depending on selection (chat, activity feed, account)

- - - - -


126 changed files:

- README.md
- debian/control
- gajim/common/app.py
- gajim/common/application.py
- gajim/common/call_manager.py
- gajim/common/cert_store.py
- gajim/common/client.py
- gajim/common/client_modules.py
- gajim/common/commands.py
- gajim/common/configpaths.py
- gajim/common/const.py
- gajim/common/events.py
- gajim/common/exceptions.py
- gajim/common/file_props.py
- gajim/common/file_transfer_manager.py
- gajim/common/filetransfer.py
- gajim/common/ged.py
- gajim/common/helpers.py
- gajim/common/i18n.py
- gajim/common/idle.py
- gajim/common/jingle_content.py
- gajim/common/jingle_ft.py
- gajim/common/jingle_ftstates.py
- gajim/common/jingle_rtp.py
- gajim/common/jingle_session.py
- gajim/common/jingle_transport.py
- gajim/common/logging_helpers.py
- gajim/common/modules/__init__.py
- gajim/common/modules/adhoc_commands.py
- gajim/common/modules/annotations.py
- gajim/common/modules/base.py
- gajim/common/modules/bits_of_binary.py
- gajim/common/modules/blocking.py
- gajim/common/modules/bookmarks.py
- gajim/common/modules/bytestream.py
- gajim/common/modules/caps.py
- gajim/common/modules/carbons.py
- gajim/common/modules/chat_markers.py
- gajim/common/modules/chatstates.py
- gajim/common/modules/contacts.py
- gajim/common/modules/discovery.py
- gajim/common/modules/entity_time.py
- gajim/common/modules/gateway.py
- gajim/common/modules/http_auth.py
- gajim/common/modules/ibb.py
- gajim/common/modules/iq.py
- gajim/common/modules/jingle.py
- gajim/common/modules/last_activity.py
- gajim/common/modules/mam.py
- gajim/common/modules/mds.py
- gajim/common/modules/message.py
- gajim/common/modules/message_util.py
- gajim/common/modules/misc.py
- gajim/common/modules/moderations.py
- gajim/common/modules/muc.py
- gajim/common/modules/omemo.py
- gajim/common/modules/openpgp.py
- gajim/common/modules/pep.py
- gajim/common/modules/ping.py
- gajim/common/modules/presence.py
- gajim/common/modules/pubsub.py
- gajim/common/modules/reactions.py
- gajim/common/modules/receipts.py
- gajim/common/modules/register.py
- gajim/common/modules/retraction.py
- gajim/common/modules/roster.py
- gajim/common/modules/roster_item_exchange.py
- gajim/common/modules/search.py
- gajim/common/modules/security_labels.py
- gajim/common/modules/software_version.py
- gajim/common/modules/user_avatar.py
- gajim/common/modules/user_location.py
- gajim/common/modules/user_nickname.py
- gajim/common/modules/user_tune.py
- gajim/common/modules/util.py
- gajim/common/modules/vcard4.py
- gajim/common/modules/vcard_avatars.py
- gajim/common/modules/vcard_temp.py
- gajim/common/multiprocess/http.py
- gajim/common/multiprocess/url_preview.py
- gajim/common/passwords.py
- gajim/common/regex.py
- gajim/common/setting_values.py
- gajim/common/settings.py
- gajim/common/socks5.py
- gajim/common/sound.py
- gajim/common/storage/archive/migration.py
- gajim/common/storage/archive/models.py
- gajim/common/storage/archive/storage.py
- gajim/common/storage/base.py
- gajim/common/storage/cache.py
- − gajim/common/storage/draft.py
- gajim/common/storage/events/storage.py
- gajim/common/storage/openpgp/storage.py
- gajim/common/structs.py
- gajim/common/styling.py
- gajim/common/task_manager.py
- gajim/common/types.py
- gajim/common/util/muc.py
- gajim/gtk/activity_list.py
- gajim/gtk/application.py
- gajim/gtk/avatar.py
- gajim/gtk/change_password.py
- gajim/gtk/chat_banner.py
- gajim/gtk/chat_list_row.py
- gajim/gtk/chat_page.py
- gajim/gtk/chat_stack.py
- gajim/gtk/groupchat_creation.py
- gajim/gtk/groupchat_roster.py
- gajim/gtk/main.py
- gajim/gtk/main_stack.py
- gajim/gtk/menus.py
- gajim/gtk/message_actions_box.py
- gajim/gtk/message_url_previews.py
- gajim/gtk/roster_item_exchange.py
- gajim/gtk/util/misc.py
- pyproject.toml
- test/database/test_methods.py
- + test/database/test_migration.py
- test/database/test_reactions.py
- test/database/util.py
- + test/gtk/application.py
- test/gtk/ui_test_activity_feed.py
- test/gtk/ui_test_groupchat_creation.py
- test/gtk/ui_test_groupchat_invitation.py
- test/gui/test_util.py


The diff was not included because it is too large.


View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/b7a4ca20ac74ebdb5f5aa4a4f11905f3ec51e3bf...004ca9dbeb1265a2e8cf32938070e6bf8d09b1f3

-- 
View it on GitLab: 
https://dev.gajim.org/gajim/gajim/-/compare/b7a4ca20ac74ebdb5f5aa4a4f11905f3ec51e3bf...004ca9dbeb1265a2e8cf32938070e6bf8d09b1f3
You're receiving this email because of your account on dev.gajim.org.


_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to