Skip to content

How to disable emoji pop-up in issue editor? #11343

@dpifke

Description

@dpifke
  • Gitea version (or commit ref): 1.11.4
  • Git version: 2.17.1
  • Operating system: Ubuntu 18.04
  • Database (use [x]):
    • PostgreSQL
      MySQL
      MSSQL
      SQLite
  • Can you reproduce the bug at https://try.gitea.io:
    • Yes (provide example URL)
      No
      Not relevant

Description

99.99999% of the time when I type a colon (:), I want to insert a colon. I don't ever want emoji in my issue descriptions, and the pop-up is super-annoying.

I tried to disable the pop-up by setting REACTIONS to an empty string in the [ui] section of app.ini. But this didn't work.

If disabling these via REACTIONS is not practical, an additional configuration option is needed. (I'm OK with reactions being available via a dedicated UI button but not every time I type colon.)

Activity

techknowlogick

techknowlogick commented on May 8, 2020

@techknowlogick
Member

REACTIONS are for reacting to tickets, not for emoji within the ticket. For example, I "reacted" to your ticket with the rocket emoji.

dpifke

dpifke commented on May 8, 2020

@dpifke
Author

Ah, perhaps I'm confused because the first two emoji which pop up when I type colon are +1 and -1, and the behavior started when I upgraded Gitea from a version which didn't have reactions. My issue is with the text-entry pop-up, not the concept of reacting to issues.

changed the title [-]Setting REACTIONS to empty string in config doesn't disable them[/-] [+]How to disable emoji pop-up in issue editor?[/+] on May 8, 2020
silverwind

silverwind commented on May 8, 2020

@silverwind
Member

I guess no one would oppose a PR that adds a ui.ENABLE_EMOJI_DROPDOWN, defaulting to true.

mrsdizzie

mrsdizzie commented on May 8, 2020

@mrsdizzie
Member

Maybe a config option that lets you decide what tribute items to enable/disable. Right now I think we just have usernames and emojis, but I could see issues being a future addition as Github has. with all of them defaulting to on.

silverwind

silverwind commented on May 8, 2020

@silverwind
Member

Right, maybe a ui.DISABLE_MARKDOWN_EDITOR_DROPDOWNS = emoji,username (default empty). It's a runtime setting so it needs to be handed down to JS via window.config.

septatrix

septatrix commented on May 14, 2020

@septatrix

I think a delayed popup like it Github seems to use is preferable. The popup does not steal keyboard input or similar but sometimes can be annoying when typing fast.

stale

stale commented on Jul 13, 2020

@stale

This issue has been automatically marked as stale because it has not had recent activity. I am here to help clear issues left open even if solved or waiting for more insight. This issue will be closed if no further activity occurs during the next 2 weeks. If the issue is still valid just add a comment to keep it alive. Thank you for your contributions.

added
issue/confirmedIssue has been reviewed and confirmed to be present or accepted to be implemented
on Jul 14, 2020
wyattoday

wyattoday commented on Apr 21, 2022

@wyattoday

We also run into this. We frequently type colons, and get random emoticons throughout issues if we're not watching the screen while we type.

Not great UI. So, this is a real bug that needs fixing.

silverwind

silverwind commented on Apr 21, 2022

@silverwind
Member

I think we should just make the : popup trigger smarter: It should only trigger the popup when the preceding character is either whitespace, newline or if there is no content yet. That alone should eliminate a lot of false triggers on the dialog.

The code for this is in tribute.js. If anyone wants to contribute, I think this would be a good first issue.

silverwind

silverwind commented on Apr 21, 2022

@silverwind
Member

Edit: Actually I think the tribute.js requireLeadingSpace we already set does covers many accidential emoticons already. More control on the popup may require replaceing tribute.js which is non-trivial.

@wyattoday can you maybe describe a few entered text sequences where accidential emoticon popup occurs? I too get them sometimes, but I can't seem to recall the exact sequences to trigger it.

wyattoday

wyattoday commented on Apr 21, 2022

@wyattoday

@silverwind

Typically it's going back and adding a colon to a line before a list. Whether that's changing a period to a colon or adding a colon where there was no punctuation.

Does that make sense?

So, if I were to type...

TODO:

the reactions dialog wouldn't show. However if I typed:

TODO

then typed elsewhere in the issue, and went back and added a colon after it, the dialog would be triggered.

Similarly, if we typed...

X should be changed to Y.

And then backspaced over the period to change it to a colon, again the reactions dialog would be shown.

So, if there is a requireLeadingSpace and you're using it, then its implementation is buggy.

Github handles this correctly. In fact, I've never accidentally triggered their "reactions" popup (I had never actually seen it until deliberately trying to trigger it right now).

Edit: I've searched the other JS in the repository and don't see any other references to requireLeadingSpace. So, it looks like a property that was never implemented in whatever code is used to decide when to render the popup or not.

I don't have the time right now to dig into which JS file exactly does that rendering, so can't make a quick fix here.

septatrix

septatrix commented on Apr 21, 2022

@septatrix

I adding a debounce before showing the popup (i.e. wait until no input was triggered for e.g. 200ms) would solve most problems because if someone is entering some flowtext there will normally not be such a delay between key presses. This would also work if someone wants to input a classical smiley :D

silverwind

silverwind commented on Apr 21, 2022

@silverwind
Member

Thanks, I can reproduce the buggy popups with a key sequence like a, :, backspace, :. In fact, just clicking into the input area again and entering a : anywhere also triggers buggy popups.

requireLeadingSpace is from https://github.com/zurb/tribute which we use, but I guess we should look for alternative modules that aren't so buggy.

Delaying the popup by like 500ms is also something we should definitely do.

silverwind

silverwind commented on Apr 21, 2022

@silverwind
Member

Buggy popups do not reproduce when switching the editor to textarea, so unfortunately, I think the bug may be cause by the interactions between CodeMirror and Tribute and a proper fix can only come with elimination of CodeMirror, e.g. #10729.

JulienPalard

JulienPalard commented on Nov 25, 2023

@JulienPalard
Contributor

I'd also like to see a way to disable this. In French the "requireLeadingSpace" thing does not helps, all our colons are preceded by whitespaces.

Hopefully french people are often writing issues in english. But I happen to work on the french translation of the cpython doc, so I write in french in pull requests comments, and the popup is really annoying me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    issue/confirmedIssue has been reviewed and confirmed to be present or accepted to be implementedoutdated/theme/markdowntopic/uiChange the appearance of the Gitea UI

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @lunny@silverwind@techknowlogick@JulienPalard@dpifke

        Issue actions

          How to disable emoji pop-up in issue editor? · Issue #11343 · go-gitea/gitea