diff --git a/BACKPORT b/BACKPORT new file mode 100644 index 00000000..abbc05f5 --- /dev/null +++ b/BACKPORT @@ -0,0 +1,343 @@ +This fork of Dino diverged from upstream on this commit: + +f25bfb00969a7e09996da2d5500e6718f4cc0148 + +However, this fork of Dino aims to backport all compatible security +fixes and improvements from upstream. This is an exhaustive list of +every commit that was reviewed and its status, plus additional +comments: + +7e7dcedaf31ee35499875491c9f569c575d28435: Not applied. +As its commit message suggests, this commit ported Dino from GTK3 to +GTK4, but this fork will keep using GTK3 as a requirement. + +2b3ce5fc95c63ed7d54e207db0585c8b8bbcd603: Not applied. +GTK4-related changes are out of scope for this fork. + +f44cbe02c17df1f02ad49c63cd784fec0ea02d85: Not applied. +GTK4-related changes are out of scope for this fork. + +e51b55432fe98e0fbc036fe785ef50fbf1589034: Not applied. +GTK4-related changes are out of scope for this fork. + +0af92393f134c59646deaab7d963a32c0d3d58b2: Not applied. +GTK4-related changes are out of scope for this fork. + +517363dfc9dab81c4b59310c739bcf71266fabe0: Not applied. +GTK4-related changes are out of scope for this fork. + +6bfa70fc7045669be435d3757456e1da7d341927: Not applied. +GTK4-related changes are out of scope for this fork. + +5103a7fb7b32fcee6656dbae0eec54fb26f89d80: Not applied. +The resource tree for Dino got changed during the GTK4 port, including +some icons. However, this commit is not needed for this fork. + +7b252d040a845b7e9c515f61927fbf5bf7ed4c3a: Partially applied. +However, it had to be slightly adapted to the dependencies as listed +by our version of plugins/rtp/CMakeLists.txt. + +d6afa6e8ff4cfb533140d9434b83f18f627f11ca: Not applied. +GTK4-related changes are out of scope for this fork. + +054d3fec1627a9ee8d84d636d578aa68d3494d19: Not applied. +None of these changes seem required or seem to fix anything in our +fork. + +e85477bb19166e742e34852b2a99b33e55565ded: Not applied. +I am unsure whether this commit would break anything, and so far I had +no problems on 0.56.0, which is older than 0.56.1. +Also, these changes were introduced by the change from GTK3 to GTK4. +Some further reference: https://github.com/dino/dino/pull/1234. + +0aa73c4569a90031d8a88173f8689c18d02ddbe2: Not applied. +Because of the same reasons as e85477bb19166e742e34852b2a99b33e55565ded. + +14bc3d6717515e0b34b02ef5b5ad4c3ec52ccdc2: Not applied. +This is regression introduced by +f44cbe02c17df1f02ad49c63cd784fec0ea02d85, which was part of the effort +to port Dino to GTK4. + +117f19381233207e4b5aef03c82e7dd4b2d1debd: Not applied. +Again, these look like regressions introduced with the migration to +GTK4. + +b8e84c83268a11ae41ad1d673999362427fd755c: Applied. + +7ad52d9335579d03613036a7da9967fcf0c5d6b3: Not applied. +This commit looks incompatible with GTK3, but I might be wrong. + +146af3152475f12c9b19a92c4779a53f6fc517ce: Not applied. +Some resources were moved when porting Dino to GTK4, but this does not +apply to our fork. + +21ab48e09aa6b0ade8f25bdc93f89f8d3aa462e7: Not applied. +It looks like this is trying to solve a regression introduced during +the migration from GTK3 to GTK4, as the calls to +jid_entry.key_release_event.connect() and +nick_entry.key_release_event.connect() are not commented out on this +fork. + +85342ee2eb2aa3e6d7599c503d17c00d861bafcb: Not applied. +Drag and drop uploading always forked for this fork. + +03878eee495cac8dcc8baf0ff4f84e4c9e76114e: Not applied. +These were disabled during the migration from GTK3 to GTK4, so this +commit does not apply to this fork. + +7d8b08deca0aa4eb24def6b9af4ec180c0bc9a27: Partially applied. +Whereas the changes on list_row.ui caused many conflicts, the null +check on conversation_view_controller.vala is required. + +9c736af765d8c62838440afbfd2ad7ee78b44951: Not applied. +check_if_done() was introduced by +21ab48e09aa6b0ade8f25bdc93f89f8d3aa462e7, which was not applied, +either. + +6c6e7e3aa7935ec513b7e5ea9b53a92b741ecf92: Partially applied. +Almost everything could be cleanly backported, except from +main/src/ui/add_conversation/conference_list.vala, where the original +implementation was preferred. + +80258a874ddfeb87b4b71f5791eab94a2465de6d: Not applied. +I have no personal interest in XMPP reactions for this fork, as other +popular XMPP clients such as Conversations are still rely on styling as +described on https://xmpp.org/extensions/xep-0393.html#quote. + +bc5a1d35cbf5c1aca406fa0fe81ca60d6b280bd5: Applied. + +7e0d1db1965555720db2bef7380e61c23ef6dbcd: Applied. + +f82f788f43e385391db2827cde151830fc91bc14: Applied. + +1bf57a42fa5c36977132d21f59ca6637fcd0c3d3: Applied. + +11b6e615b73e4183a06f9d456634c44ead612336: Not applied. +GTK4-related changes are out of scope for this fork. + +09829b33824ab7d1fbf9886b7ed3e42cd8c34ff2: Not applied. +This commit fixes a regression introduced by +80258a874ddfeb87b4b71f5791eab94a2465de6d, which is related to +reactions, something this fork does not implement. + +a45280f8dfe45f8908b44cd13996316af44117e9: Not applied. +This commit is related to reactions, which this fork does not +implement. + +2ab7374aa53f70b30765a02865d92e6d71c6e623: Not applied. +This commit is related to reactions, which this fork does not +implement. + +a2f2224781a82121c86a1f19b309245bc8369a91: Applied. + +809c1579e41000f2f43eeb05735afc8165a1a430: Applied. +The commit message was a bit misleading: the real intention behind it +was to use the same implementation for both libsoup2/3. + +6e37f3fe3fa0f4ce9a25a91e9d97191c8e4abec1: Applied. + +e62955d3cf266a7f7ff0f2085a64f1c99021127c: Not applied. +Async uploads and downloads seem to work well. I do not see the need +for this patch. + +7a19a25156a73e7e6b6d77fabc7621e7d2c443f0: Partially applied. +The changes to libdino/src/service/reactions.vala are out of scope for +this fork. + +a2e894dda132f1679ee8e9998879be6bda7ab320: Applied. + +cdd22e404eca3db640b6f2f2789314f7cbb65de6: Not applied. +GTK4-related changes are out of scope for this fork. + +d1fb22ebedca7dbbbd0f693baa3c38d99ab5c344: Not applied. +This commit is related to reactions, which this fork does not +implement. + +4d50c51a75de70c0f30a196e1f128154ba1651fa: Applied. + +30f99d1347f8f5e2db364a25910d76b0faf2ea36: Applied. + +799d09a4c98d1a00790f261600d3f4d813140954: Applied. + +4d7809bb12199a598b531ca3ca019a4bb5a867f7: Partially applied. +- Too many changes are introduced to +main/src/ui/chat_input/encryption_button.vala, which might break this +fork. +- Changes related to own_occupant_ids are +related to reactions (as introduced by +80258a874ddfeb87b4b71f5791eab94a2465de6d), and thus are out of scope +for this fork. +- This commit removes plugins/omemo/src/ui/manage_key_dialog.vala, which +this fork still relies on. +- headerbar is still used by plugins/omemo/src/ui/manage_key_dialog.vala, +and thus should not be removed. +- Too many changes are introduced to +main/src/ui/conversation_content_view/conversation_item_skeleton.vala, +which might break this fork. +- The changes in +main/src/ui/conversation_content_view/conversation_view.vala break +the build. +- The changes in +main/src/ui/conversation_view_controller.vala break the build. + +dc52e7595cca06d0a2da7d11b3c88cb2f7ce529c: Not applied. +I am not interested in XEP-0461 (replies) for this fork, as the +fallback implementations is already provided here. + +60371331e0882758b0b9c2efedb3821e716defd7: Not applied. +Replies are out of scope for this fork. + +424a4290622246303a7b73410d7e4a5a6d57dd6b: Not applied. +Replies are out of scope for this fork. + +0c4aea96ffbc05d6efeb9a83424b872ce7f30d88: Not applied. +Replies are out of scope for this fork. + +cb3b19b01deb8460627578b885339e7528411f6f: Not applied. +Replies are out of scope for this fork. + +75500dc767f2cf657c0fbb5d2a4d4557183ed2e9: Not applied. +This commit breaks the build in some places, and I am not particulary +interested in conversation pinning anyway. + +860c72bfc93d252d45eb97e71cf9ff22985c7ef9: Not applied. +This commit fixes regressions introduced by other commits that were not +introduced by this fork, such as +7e7dcedaf31ee35499875491c9f569c575d28435. + +73c0263f35a73b68d20d299ee7fe8c37b9a6ffeb: Not applied. +This commit depends on other commits that were not introduced by this +fork, such as cb3b19b01deb8460627578b885339e7528411f6f, which was +related to replies (not implemented by this fork). + +05289e0b4dc9bc076955e27b30b386cb7f0604c7: Not applied. +Replies are out of scope for this fork. + +7da79864b384c9370a5937d480230e771834d91a: Not applied. +Conversation pinning is out of scope for this fork. + +7e0d1db1965555720db2bef7380e61c23ef6dbcd: Applied. + +f6e73d85c00a60a719da95a048ba2c15712325c3: Not applied. +GTK4-related changes are out of scope for this fork. + +1ef42b47d22d21600ccf1e2d8b4d80605448660d: Not applied. +GTK4-related changes are out of scope for this fork. + +2741bf21ae6d53324a512dacef65d540be840fe4: Not applied. +GTK4-related changes are out of scope for this fork. + +ba9462503c0561dbe8306e3bf6aa49392bfc8078: Not applied. +GTK4-related changes are out of scope for this fork. + +04acab82c98f5d9cdb798ba3baac8d73b097b1df: Not applied. +GTK4-related changes are out of scope for this fork. + +e934a76a1139938ae668836b812102cd5d9c9d9f: Not applied. +GTK4-related changes are out of scope for this fork. +Also, this fork already has a back button for ConversationTitleBar. + +0d7c8bb6e117f8cdd631730302413aad21632c2d: Not applied. +GTK4-related changes are out of scope for this fork. + +92aca5672db723121471e513e83b68742761d1b5: Not applied. +GTK4-related changes are out of scope for this fork. + +4b391f3f31c2272be11a24c8301641b045260e99: Not applied. +GTK4-related changes are out of scope for this fork. + +ef98adb18a016dba65162602eb336fb82c64805e: Not applied. +GTK4-related changes are out of scope for this fork. + +6a182ba313026b93d54a9d2246a0ab68894c6833: Not applied. +GTK4-related changes are out of scope for this fork. + +99d9cb383abb1a33f6d0572deb4292dbf358f3ce: Not applied. +GTK4-related changes are out of scope for this fork. + +cc7db3b85f7b29bfac333937d8bf09a81d8dc4a5: Not applied. +GTK4-related changes are out of scope for this fork. + +e35df88d4a00c3a34f2b4d9fb7f10bb5d877bd29: Not applied. +GTK4-related changes are out of scope for this fork. + +26be9d4bb40b223cb8a657b03e6457988a8cc269: Not applied. +Reactions are out of scope for this fork. + +5d9978b38bb0e729dcccecddd08cc59e5585a6cc: Not applied. +Reactions are out of scope for this fork. + +c813a6d2405980c71450cefa10abdf11fab8e995: Not applied. +GTK4-related changes are out of scope for this fork. + +e833a924b5a66048506b4e0b0885ce2e35cac6fc: Applied. + +e833a924b5a66048506b4e0b0885ce2e35cac6fc: Applied. + +04eb0e763b0e02ea1bc698f1ccb24f84b0154010: Not applied. +This commit is way too big to merge and is tighly coupled to upstream +source code. Maybe a similar commit can be provided independently. + +d0a00e1e7549609f7d83e7b432f7f547a1fcebb0: Applied. + +1dbacbbcab139d0f8036446441ad143ef7e7eb30: Applied. + +10a2bce5122dcd1e6fef037633a26568bf27d4d1: Applied. + +b0b81b88c6948dcfd2b1b82a9fe7357316a3af1f: Not applied. +Both reactions and replies are out of scope for this fork. + +e3c833bce0713e9a0290841306c7727dfc1e3860: Applied. +This fork defines different logic for update_received_mark(), so the +commit was adapted to it. + +1e23b7bbd2a66e5ff40ae5fc5aa6523fa604f242: Not applied. +Replies are out of scope for this fork. + +9e11bef219880b5bdc5d299c31ec6249596a86ba: Not applied. +string_if_tooltips_active() was added by +6bfa70fc7045669be435d3757456e1da7d341927, which is GTK4-related. + +921f28c84bbda56ec93df7dcde7c828eaabb0b58: Not applied. +Reactions are out of scope for this fork. + +3aa3912dc3ea740a5b93f8b694ead45e1b655238: Not applied. +main/src/ui/widgets/date_separator.vala depends on GTK4 libadwaita. + +e0ece2aa62aa6b8350be83c787ea003a75f07437: Partially applied. +The changes to main/data/unified_main_content.ui and +main/src/ui/conversation_selector/conversation_selector.vala depend on +other commits related to GTK4 and libadwaita. + +95fefaff51e5506d3f0e5fe8bced14aeb3fbe037: Applied. + +18321ed15ce782ff5d1f24de9f2fb459d714d125: Partially applied. +The changes to libdino/src/service/reactions.vala and +xmpp-vala/src/module/xep/0444_reactions.vala are not relevant to this +fork. + +d76e12b215eb62e4eda5a0f92fbf5c1bd7c1848e: Applied. + +f74c1f18b12df0d650f74b6fa43b7f2f0a9bce79: Applied. + +1d123c7e66d963fd8cc8cc4250b5813a62676f56: Applied. + +d092473fe401a5a668e57f054efbd1e84ac6ca59: Applied. + +1559a7a60370c2aa0203e5c4222def4ae3258006: Applied. + +32ae87a3c4cebaa05e0e702d744900cd414000db: Not applied. +Seems to cause many conflicts while providing little benefit. + +116682e311edca6665a0497c8b225b4fe69859a7: Partially applied. +Changes to main/src/ui/conversation_content_view/quote_widget.vala are +not relevant to this fork. + +9c5e36020d8997452d4fd07c5a153e1e7fc24088: Applied. + +e73b556a1ae5ea4af41c610f7b05545cf60d59c4: Not applied. +This commit is way too big to merge and is tighly coupled to upstream +source code. Maybe a similar commit can be provided independently. + +5568bbc6bf505c4f8ea93fc460dbeff6f4d36e15: Partially applied. +Changes related to libadwaita are out of scope for this fork. diff --git a/README.md b/README.md index 6950de7f..c133b2b2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ - Keeps using GTK3. - Includes some features that did not make into upstream. -- Backports bugfixes and improvements from upstream. +- Backports bugfixes and improvements from upstream (see [`BACKPORT`](BACKPORT)). ## TODO