Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port to GTK 4 #799

Merged
merged 104 commits into from
Dec 3, 2023
Merged

Port to GTK 4 #799

merged 104 commits into from
Dec 3, 2023

Conversation

rdbende
Copy link
Collaborator

@rdbende rdbende commented Nov 20, 2023

This seems to be almost complete.
I haven't changed much on the UI style/layout, except migrating to the latest libadwaita widgets. I have some plans for future UI refacroings, but I'll leave them for separate PRs.

I've set master as the target of this PR, but if this is too much diff in one go, let me know, and I can modify it to your gtk4 branch.

Resolves #760
Fixes #755
Fixes #734
Fixes #638

@rdbende
Copy link
Collaborator Author

rdbende commented Nov 29, 2023

I think I'm done with this. I didn't touch the "what's new" dialogs, mainly because I'm not sure whether they are even needed any more.

README.md Outdated Show resolved Hide resolved
@geigi
Copy link
Owner

geigi commented Nov 30, 2023

@rdbende Very nice! I hope I can have a look at my remaining tasks on Sunday.
Hopefully I can test a little bit more and if everything is fine the next steps would be to merge this branch to master. I would suggest the following timeline:

  • I'll update po files and wait a few days if anything new from Transifex pops in
  • Next I would update all screenshots and anything else that's outdated on the website
  • Release :)
  • We can use the TWIG Bot in Matrix to get a feature of the update in https://thisweek.gnome.org/

Alternatively I think it's possible to create a Beta on Flathub and we can ask for feedback on Matrix in the Gnome channels

@ghost
Copy link

ghost commented Nov 30, 2023

Please send a notification to translators before new releases. Thanks.

@grahamvh
Copy link

grahamvh commented Dec 1, 2023

I am seeing an issue with this when using a virtual keyboard (mobile uses this), where if you try to type in the virtual keyboard, the search bar immediately disappears. You can reproduce this on non mobile by installing a virtual keyboard and activating it.

@rdbende
Copy link
Collaborator Author

rdbende commented Dec 1, 2023

To be honest, I wouldn't make a new release just yet. I know the last one was more than a year ago, but even though Cozy now technically uses GTK 4 + libadwaita, the UI is still in a transitional state between GTK 3 and 4, so other than the new style sheet, vastly better UI speed and responsiveness, and a few bug fixes, it doesn't bring much improvement UX-wise, as the UI is a bit broken at this phase.

Things that I know are broken on mobile:

  • The search popover, as @grahamvh mentioned. When the on-screen keyboard appears, the popover gets dismissed. As I mentioned earlier, I would use a separate stack page instead of popover.
  • The preferences window is cut off when a long path is selected in the storage locations field.
  • The right click menu is still not quite optimal on mobile.

There is also a regression introduced by this PR:
The search bar jumps to the position immediately after the click, and not when the drag has stopped and the mouse button has been released. For some reason, the released signal is not emitted when the scale is released. I will need to look at how other applications handle this problem.

I wouldn't do a new release without at least fixing these issues, but it would be good to put it on Flathub Beta and ask for feedback in #cozy:gnome.org.

@geigi
Copy link
Owner

geigi commented Dec 3, 2023

Thanks for your input :) Makes totally sense and sounds like a good idea. How should we proceed further? My suggestion would be to merge this PR to master. I think it's a nice base and it would make it easier to work with future PRs until the next release and I could create a beta on Flathub. I could also inform the translators, I think there are only some small changes for now but maybe it helps getting the routine back up and running again.
What do you think?

@rdbende
Copy link
Collaborator Author

rdbende commented Dec 3, 2023

I think we should merge it, if it looks good to you. Even if the network drives bug remains for now, it would probably be easier to fix in a separate PR with clear commit history and diff (btw, I pushed two bug fixes related to storage handling. Don't know if it's related, but I just noticed them).
I also already have two open PRs based on this branch, and two more local branches, that I didn't dare to push. I think if you merge this PR without squashing, then the other two will have a cleaner commit history (I tried to do my best with commit messages in this branch :))

@rdbende
Copy link
Collaborator Author

rdbende commented Dec 3, 2023

Looks like both Codeclimate and the unit testing job is out-of-date :(

@geigi
Copy link
Owner

geigi commented Dec 3, 2023

I'll have a look at github actions

@geigi
Copy link
Owner

geigi commented Dec 3, 2023

The unit tests are working again, but the test build with ninja is failing. If I try it on my machine inside the docker container it works totally fine. Seems like we're hit by this bug which might only get fixed if GitHub updates their docker hosts at some time:
moby/moby#43595
I would suggest to merge this anyway since all unit tests are working. I'll then remove the test build with ninja from the Unit Test Github Actions for now. As we're also building a flatpak every commit we can be sure the ninja build is actually working.

@geigi geigi merged commit 6c27470 into geigi:master Dec 3, 2023
2 of 4 checks passed
@geigi
Copy link
Owner

geigi commented Dec 3, 2023

Merged! 🎉 🥳
Everything from here will be done in new PRs :)

@geigi
Copy link
Owner

geigi commented Dec 3, 2023

The beta is ready on Flathub:

flatpak --user remote-add flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
flatpak --user install flathub-beta com.github.geigi.cozy

@rdbende rdbende deleted the gtk4 branch December 6, 2023 19:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants