Skip to content

feat: Profiles; options for 1) Zoom toggle button; 2) remember zoom/pan between sessions#265

Merged
ClassicOldSong merged 5 commits intoClassicOldSong:moonlight-noirfrom
tobitege:tobitege/profiles
Jul 11, 2025
Merged

feat: Profiles; options for 1) Zoom toggle button; 2) remember zoom/pan between sessions#265
ClassicOldSong merged 5 commits intoClassicOldSong:moonlight-noirfrom
tobitege:tobitege/profiles

Conversation

@tobitege
Copy link
Copy Markdown

Feature "Profiles" implemented with profiles list and add/edit/delete operations.

  • A profile stores only changed option values compared to "vanilla" defaults.
  • A profile editing activity looks like the regular settings
  • Profile must have a name/can be renamed and can be activated/deactived (= regular settings apply).
  • Added option to show a floating button for Zoom/Pan mode (default: false)
  • Added option to remember zoom/pan values between sessions with the active profile (default: false)
  • Added German, French and Spanish translations for additions
  • Added multitude of tests for the above features (call with ./gradlew test)

  • Tested on Pixel 9 Pro XL and Android 16

  • Fixed a missing value "5" in mouse_mode_values (upstream error?)


Reason I got this implemented: on PC my favorite ai coding IDE is running, with the ai chat taking up a column-like area.
This fits very well on my portrait mobile phone if zoomed in correctly so I can remote type my instructions into chat.
The new option to remember the last zoom level and pan position when starting a new session makes life so much easier and the (optional) zoom toggle button saves a lot of extra screen taps.
Most of the code was generated with the help of OpenAI's o3 model and looks clean and structured to me.

@ClassicOldSong
Copy link
Copy Markdown
Owner

ClassicOldSong commented Jun 29, 2025

Impressive how you managed to make such big changes with AI, it'll take some time to review...

Cursor fails me every time when a file is more than 1000 lines long or the modifications are huge...

@tobitege
Copy link
Copy Markdown
Author

Cursor fails me every time when a file is more than 1000 lines long or the modifications are huge...

It can be quite a mixed bag with file edits, depending on the LLM you use.
Lot of the code was applied iteratively and in combination with the unit tests. New files are obviously causing the least issues, unless the LLM added some (syntax) error to begin with.
What creates issues for LLM's are edits where e.g. a section of code has to be enclosed/moved inside a condition or catch, then it fairly often messes up closing (curly) brackets and such.

@tobitege
Copy link
Copy Markdown
Author

@ClassicOldSong Thanks for the other PR merge!
I've merged the noir branch into this PR now.

@ClassicOldSong
Copy link
Copy Markdown
Owner

Oh you don't need to, I'm already working on it

@ClassicOldSong
Copy link
Copy Markdown
Owner

Chat GPT produces way too much non-working/broken code... I hope you have tried to understand what it did...

@tobitege
Copy link
Copy Markdown
Author

Hmm... not sure what you mean. At least before my earlier merge the version was working on my mobile.
I have to admit, I'm not a mobile dev, so if there's something I should revert or change, I'm happy to do so.

@ClassicOldSong
Copy link
Copy Markdown
Owner

ClassicOldSong commented Jul 11, 2025

It tries to highlight changed configurations, but it actually does nothing
And search bar in the profile settings is also broken
Profiles disappear if you exit the app

@ClassicOldSong
Copy link
Copy Markdown
Owner

I'm already fixing these right now

@tobitege
Copy link
Copy Markdown
Author

Oh dang, my bad! 😞
Thank you so much for fixing this! 🤗

@ClassicOldSong
Copy link
Copy Markdown
Owner

ChatGPT just catches all errors and hides them, so it passes all the test cases it writes for itself...

@ClassicOldSong ClassicOldSong merged commit ef692e8 into ClassicOldSong:moonlight-noir Jul 11, 2025
@ClassicOldSong
Copy link
Copy Markdown
Owner

There're still bugs but I'll fix them later...

@tobitege
Copy link
Copy Markdown
Author

Thanks so much! 👏

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.

2 participants