Expensify / App

Welcome to New Expensify: a complete re-imagination of financial collaboration, centered around chat. Help us build the next generation of Expensify by sharing feedback and contributing to the code.
https://new.expensify.com
MIT License
3.98k stars 2.98k forks source link

[$250][HOLD #53145] add keyboard shortcuts for markdown formatting and handle format toggling #55088

Open blimpich opened 2 weeks ago

blimpich commented 2 weeks ago

This issue is a follow up to this issue. In that issue we added the ability to apply markdown formatting via the iOS format menu. See below example:

https://github.com/user-attachments/assets/46e8055f-5f0f-4980-bee2-8cf35f26a0c8

🎉 This is great 🥳. However, there's a couple things we want to add to make this better.

Part 1: Toggle behavior

Right now if you take a piece of text and format it to be bold it encircles it with asterisks. If you then repeat this process on the same text it adds another layer of asterisks. This adds no value to the user, and isn't how other websites handle this behavior (e.g. Github). Instead of adding redundant asterisks, we want the following behavior:

Example:

https://github.com/user-attachments/assets/2405e483-f6f1-43a9-891e-a79f3f1bb19e

Note: (1) this example is from Github and they use double asterisks for bolding, we only use single asterisk (2) the format menu isn't used here, instead I'm using keyboard shortcuts, but the intended result is the same

Part 2: Keyboard shortcuts

In addition to being able to use the format menu on mWeb Safari, we want keyboard shortcuts to work on MacOS: Chrome / Safari and MacOS: Desktop. It would behave like this:

Conclusion:

Please present proposals that implements both of these behaviors and accounts describes unit tests that will cover these new behaviors.

Upwork Automation - Do Not Edit
  • Upwork Job URL: https://www.upwork.com/jobs/~021878872781943838427
  • Upwork Job ID: 1878872781943838427
  • Last Price Increase: 2025-01-13
Issue OwnerCurrent Issue Owner: @
melvin-bot[bot] commented 2 weeks ago

Current assignee @dubielzyk-expensify is eligible for the Design assigner, not assigning anyone new.

blimpich commented 2 weeks ago

Looking to get confirmation from @Expensify/design before applying the external label to this. Are we good with the behavior changes outlined in the issue?

Contributors: please hold on proposals until we've finalized the design. Lets hear some proposals!

dannymcclain commented 2 weeks ago

I think they look great!

dubielzyk-expensify commented 1 week ago

Looks good to me too 👍

shawnborton commented 1 week ago

Me three!

melvin-bot[bot] commented 1 week ago

Job added to Upwork: https://www.upwork.com/jobs/~021878872781943838427

melvin-bot[bot] commented 1 week ago

Current assignee @mananjadhav is eligible for the External assigner, not assigning anyone new.

melvin-bot[bot] commented 1 week ago

Triggered auto assignment to @johncschuster (NewFeature), see https://stackoverflowteams.com/c/expensify/questions/14418#:~:text=BugZero%20process%20steps%20for%20feature%20requests for more details. Please add this Feature request to a GH project, as outlined in the SO.

melvin-bot[bot] commented 1 week ago

:warning: It looks like this issue is labelled as a New Feature but not tied to any GitHub Project. Keep in mind that all new features should be tied to GitHub Projects in order to properly track external CAP software time :warning:

melvin-bot[bot] commented 1 week ago

Current assignee @dubielzyk-expensify is eligible for the NewFeature assigner, not assigning anyone new.

blimpich commented 1 week ago

Oops, looks like the original PR that this was suppose to be a follow up to got reverted. Going to put this on hold for now.

blimpich commented 1 week ago

Removing help wanted label for now since we're waiting on the original issue to be fixed.

johncschuster commented 3 days ago

Bumping for Melvin. This is still on hold.