Skip to content

Conversation

@jatinfoujdar
Copy link

Contributor checklist

  • This pull request is on a separate branch and not the main branch
  • I have tested my code with the xcodebuild and swiftlint --strict commands

Description

This PR adds a new "Colon to emoji entry" toggle to the keyboard settings. When enabled, users can type a colon (:) followed by a keyword to get emoji suggestions, similar to Slack or Discord. If the toggle is off, this feature is disabled.

Main changes:

  • Added the "Colon to emoji entry" toggle to the keyboard functionality section in settings.
  • Updated the settings UI and logic to save and load the toggle state.
  • Modified the keyboard logic so colon-to-emoji suggestions only appear if the toggle is enabled.
  • Updated related models and variables to support this feature.

Related issue

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

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 😊

Note

Scribe uses Conventional Comments in reviews to make sure that communication is as clear as possible.

@github-actions
Copy link

github-actions bot commented Jan 8, 2026

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 :)

  • Tests for changes have been written and the CI unit test, linting and formatting 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)

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

First PR Commit Check

  • The commit messages for the remote branch should be checked to make sure the contributor's email is set up correctly so that they receive credit for their contribution
  • The contributor's name and icon in remote commits should be the same as what appears in the PR
  • If there's a mismatch, the contributor needs to make sure that the email they use for GitHub matches what they have for git config user.email in their local Scribe-iOS repo (can be set with git config --global user.email "GITHUB_EMAIL")

@andrewtavis andrewtavis self-requested a review January 11, 2026 17:20
@andrewtavis
Copy link
Member

Thanks for opening a PR here, @jatinfoujdar! I'll take a look to see how this is working :)

@andrewtavis
Copy link
Member

Hey @jatinfoujdar 👋 I'm taking a quick look at this, but I can't seem to get the : to emoji functionality. Maybe I'm misunderstanding how it works 🤔 Could you send along a video of how it's working for you?

@jatinfoujdar
Copy link
Author

Hey @andrewtavis! 👋

I looked into why you might not have been seeing the emoji suggestions. It turns out there was a bug where the 'colon to emoji' feature (and a few other settings) were defaulting to false in UserDefaults if they hadn't been explicitly toggled in the app's settings yet.

I've just pushed a fix that ensures these features default to true, matching the intended behavior and the Settings UI.

To use it, simply type a : followed by a keyword (e.g., :smile) on any Scribe keyboard, and you should see the emoji suggestions appear in the top bar. Typing just the : should also immediately show the most common emojis.

Let me know if it works for you now! If you'd still like a video, I'd be happy to record one from the simulator. Thanks!

@andrewtavis
Copy link
Member

Thanks for the quick fix, @jatinfoujdar! I think I'm generally seeing what's intended here :) I guess now that I'm seeing it, there is an improvement upon the already existing emoji autosuggestion functionality, but maybe we can do more? 🤔

The : functionality on GitHub and other apps functions in a similar way, but the big plus is that there are more options than what we provide (two for phones and three for pads). Could : be used in a way that we could potentially show the user more emoji options? As of now we still have the two word autosuggestion fields and are just using the two emoji suggestions.

Maybe something that could be done is we could expand the emoji fields to be six if the user types :? This would require us to regenerate the data though as we just have three per word right now. Can be done though.

Another thing that I'm seeing is that there's a background behind the autosuggestions if the user has types :. See below:

Simulator Screenshot - iPhone 16e - 2026-01-11 at 20 01 48

Could we look into fixing the above, and from there it'd be great to get your feedback on the idea of expanding the number of emojis. I just think that the way that it is now, we're still showing autosuggested words and the UI looks a bit awkward. We could expand the number of emojis per word with Scribe-Data and then provide a full row of emojis that are updating as the user types :)

@jatinfoujdar
Copy link
Author

@andrewtavis Thanks for the detailed feedback — I agree 🙂

The : entry is an improvement, but it’s still constrained by the word autosuggestion layout, which makes the UI feel a bit awkward right now.

I’ll look into fixing the autosuggestion background when typing : and hiding word suggestions when we’re clearly in emoji mode.

I also like the idea of expanding emoji suggestions to a full row (5–6) when : is active. That would likely require regenerating data in Scribe-Data and some layout changes, so it’ll take a bit of time to do properly, but it feels like the right direction.

Thanks again — happy to iterate on this 👍

@andrewtavis
Copy link
Member

Great to get your thoughts on this, @jatinfoujdar! Let's maybe start with the minor fixes to this PR so that we don't have the backgrounds being added to the suggestions. From there we can look into:

  • Adding the other four emoji buttons to the layout
  • Setting it up so that we have the left most emoji button being populated with the first emoji suggestion
  • We can then expand the selection from the database to allow more than three options per word

Really looking forward to seeing how this progresses! Thanks for your efforts so far! 😊

@jatinfoujdar
Copy link
Author

Hi @andrewtavis Thanks for the guidance! I’ve implemented the minor fix to clean up the emoji suggestion UI in this PR — backgrounds are no longer applied to emoji suggestions.
I’ll tackle the emoji button layout, leftmost mapping, and database expansion in follow-up work.

@andrewtavis
Copy link
Member

Great to see the progress here, @jatinfoujdar! Will be great to be able to bring this in :)

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.

Discussion: : to emoji entry command for Scribe keyboards

2 participants