Skip to content

Conversation

damien-rivet
Copy link
Contributor

@damien-rivet damien-rivet commented Oct 13, 2025

Contributor checklist


Description

When using the CapsLock shift button, the uppercase characters were not displayed correctly AND when tapping on them, they would always output the lowercase version of them.

A long time ago, during another contribution, I noticed that we were using 2 separate enums to handle the state of both the shift & capslock buttons, leading to complex conditions blocks throughout the code.

In this PR, I reconcile them under a single enum & single app property to simplify the management of those buttons.

This allowed me to fix both issue with a single stone.

Screenshots

Simulator.Screen.Recording.-.iPhone.16.Pro.-.2025-10-13.at.09.29.21.mp4

Related issue

Copy link

Thank you for the pull request! ❤️

The Scribe-iOS team will do our best to address your contribution as soon as we can. If you're not already a member of our public Matrix community, please consider joining! We'd suggest that you use the Element client as well as Element X for a mobile app, and definitely join the General and iOS rooms once you're in. Also consider attending our bi-weekly Saturday dev syncs. It'd be great to meet you 😊

Copy link

github-actions bot commented Oct 13, 2025

Maintainer Checklist

The following is a checklist for maintainers to make sure this process goes as well as possible. Feel free to address the points below yourself in further commits if you realize that actions are needed :)

  • The linting and formatting workflows within the PR checks do not indicate new errors in the files changed

  • The CI unit test workflows within the PR checks do not indicate new errors in the files changed

  • The CHANGELOG has been updated with a description of the changes for the upcoming release and the corresponding issue (if necessary)

@damien-rivet damien-rivet force-pushed the fix/540-when-typing-special-character-in-uppercase-sets-character-in-lowercase branch 2 times, most recently from 55264bf to d761498 Compare October 13, 2025 07:34
@damien-rivet damien-rivet force-pushed the fix/540-when-typing-special-character-in-uppercase-sets-character-in-lowercase branch from d761498 to 7e9b0c3 Compare October 13, 2025 07:40
@andrewtavis andrewtavis added the hacktoberfest-accepted Accepted as a part of Hacktoberfest label Oct 13, 2025
@andrewtavis
Copy link
Member

Thanks so much for the PR, @damien-rivet! Always wonderful to work with you :) We'll try to get to the review in the coming days!

@damien-rivet
Copy link
Contributor Author

Thanks 🫶

I just need to figure out why the CI is acting weird but apart from that it should be a smooth review.

@damien-rivet
Copy link
Contributor Author

@andrewtavis I did some local testing and the issue is that the CI script for PRs is attempting to run the tests on the latest OS version available on the simulator.

Which results in using OS26 (which should be fine) but for an unknown reason, the simulator hangs and stays black, forcing the CI run to time out.

I've update the GHA file to force the OS to 18.5 and it solves the issue completely.

I've also added xcpretty (link) to the output to improve the output of the build logs as it was writing a lot of noise.

@damien-rivet
Copy link
Contributor Author

@andrewtavis I suspect there are quite a lot of things that can be done to improve the CI build times (simplify the xcode projects, etc.) and the GHA workflow itself (build followed by a test build is redundant for exemple and takes twice as much time).

But this can be done later on.

@andrewtavis andrewtavis self-requested a review October 20, 2025 20:50
### 🐞 Bug Fixes

- The tab bar titles are now localized for the application ([#517](https://github.com/scribe-org/Scribe-iOS/issues/517)).
- Using capslock would always output the lowercase version of the tapped character ([#540](https://github.com/scribe-org/Scribe-iOS/issues/540)).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Really appreciate the edit to the changelog, @damien-rivet!

}
if shiftButtonState == .shift {

switch shiftButtonState {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

praise: Thanks as well for doing these edits to add more switch cases to the code base in sensible places :)

Copy link
Member

@andrewtavis andrewtavis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests are passing and the functionality is exactly what we're looking for 😊 Always great to get contributions from you, @damien-rivet! Perfect timing as the changes for pr_ci.yaml will be integrated into other PRs that will make it easier on the Outreachy applicants we have in the community to contribute 😊

@andrewtavis andrewtavis merged commit c6b12e6 into scribe-org:main Oct 20, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

hacktoberfest-accepted Accepted as a part of Hacktoberfest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants