darktable-org / darktable-org/darktable

[RFC] Should the GTK4 migration be reverted from master and put in it's own branch

Open
#21,984 12 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

gtk4
Dominant language
C
Stars
13.1k
Forks
1.4k
Avg merge
22h 14m
Merged PRs (30d)
198

Description

I'll preface this with IN MY OPINION

The GTK4 migration is not going well. There are numerous regressions which lead me to question the amount of testing that is being done. I suspect there is a very heavy reliance on AI to generate correct code and little or no testing to make sure it's correct. I'm basing this on the number of problems discovered so far and how simple it was to discover them (basically just using darktable).

My biggest concern is that this isn't going to be completed/corrected by 5.8. My second concern is that it's affecting development of other features. I'm working on a solution to #21482 where I fire events for certain rating/color label/tagging/metadata/geolocation changes but I'm having trouble testing because I'm using the UI to trigger the event and discovering the UI doesn't work (click on a rating star or color label icon to assign it to a selected image).

The migration is also hampered by the fact we have no UI testing tools, so all the testing is user intensive and experience driven (the more you know the more you can test). I think I can automate some of the UI testing using Lua and darktable.gui.action() calls. What I can't emulate/test is mouse interactions. So, I could select an image, then activate the rating button to assign a star rating, then check the image to see if the rating was applied. What I can't check would be the mouse over the rating button and the click actually causing the rating button to perform an action.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the GTK4 migration discussion and the testing concerns described for darktable's rating and color-label UI. Review the proposed Lua darktable.gui.action() approach and issue #21482; done means reaching and documenting a clear decision about reverting or branching the migration, with an agreed testing plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
lua
Domain
desktop, testing-qa
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.