Mac OS X text replacement is acceptd from ANY user input

Once you’ve done the above, delete everything above this line.

Steps to reproduce

  • Have a text replacement set up in the OS already. We will use (c)© for this example
  • Start to type (cat)
  • Obsidian will replace it with © as the A is typed, interpretting any further text input as request for text replacement.

Did you follow the troubleshooting guide? [Y]

Expected result

On Mac, Text Replacements are a common issue I see listed here on the forums. My current gripe is that the text replacement is overzealous. I cannot type (cat) without Obsidian converting it to ©at). It brings up the text replacement hover box (as it should) but interacting/not interacting with the text replacement hover box is disregarded by obsidian as any further input is taken as request to replace the text.

Actual result

Obsdian immediately replaces any instance of text replacement without regard to further text (expected behavior) or ignored text replacement hover box (expected behavior).

Environment

SYSTEM INFO:
Obsidian version: v1.3.5
Installer version: v1.1.9
Operating system: Darwin Kernel Version 22.5.0: Mon Apr 24 20:51:50 PDT 2023; root:xnu-8796.121.2~5/RELEASE_X86_64 22.5.0
Login status: not logged in
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Restricted mode: on

RECOMMENDATIONS:
none


Additional information

cat

1 Like

This continues to be an issue and has yet to be fixed.

Don’t think there is anything to fix as it is the OS creating the text replacement, not Obsidian. Some workarounds:

  1. Turn off Auto pair brackets in Obsidian
  2. Leave Auto pair brackets in Obsidian turned on, but if you need to type a word in brackets that is going to be interpreted by the OS as a text replacement because of the closing bracket, delete the closing bracket before you type any letters
  3. Delete (c) as a text replacement in macOS System Settings and replace it with something that doesn’t conflict, such as ,c,
2 Likes

You either disable autopair in obsidian or text replacement in Marcos.

2 Likes

I would explore and selectively use OS features for productivity. Some OS features can be even buggy. You need to always use software that provides solutions to specific purpose to get the best possible experience.

1 Like

I have seen perhaps a similar issue. When typing out the beginning of a text replacement (so that pressing space would insert it), if you instead press delete, Obsidian not only inserts the replacement (??) but joins the previous line with the current one as well. In the video below, the text replacement I have is thothough. After pressing delete, the subsequent line gets moved into this one. (Also, the replacement preview popup is below the Obsidian window instead of inline with the text.)

Running into the same issue.

I want to point out that Obsidian handles this differently than some other macOS apps in a way that makes it more frustrating.

For example, in TextEdit I can type “()”, put the caret in the center, and then type “(cats)” without any problems. If I type “(c)”, an autocomplete popover with © shows up, but doesn’t immediately replace the value.

In this textarea in a Chrome-based browser (Arc), typing the c in “(c)” will produce “©”, but importantly, cmd+z to undo will turn “©” back into “(c)”. That does not work in Obsidian.

One great improvement would be for undo in Obsidian to undo text replacements.

1 Like

I am still having this issue. I have turned off Autopair Brackets and the issue continues, because the issue isn’t the brackets but Obsidian’s overzealous replacement approach.

(I require text replacements for other parts of my work, so turning them off just because Obsidian is overzealous with its replacements is not an option. No other Mac app does this. I understand that Obsidian is not a “native” Mac app, but surely there must be some solution?)

For example, I have a shortcut “starting nowish” set to “sni”. I cannot type the word “snippet” for example without Obsidian deciding I must want to type “starting nowishppet”.

The standard behavior for this is that a space is required after the end of the text replacement trigger. Can this please be implemented in Obsidian?

Screen-Recording-2023-11-15-at-09.05.43
Attaching a gif, for a clearer explanation. Though the gif seems to be slower than it should be, there is zero pause between typing the i and p.

To compare, this is normal Mac behavior, as evidenced in iA Writer (but all native Mac apps operate under these rules).

Screen-Recording-2023-11-15-at-10.29.01

Note: Continuing to type ignores the text replacement rule. Pressing space autofills the text replacement. I hope this helps explain what the behavior should be.

1 Like

Generally, text expanders work separately from any app. They basically listen to what you are typing and then act as a fake keyboard or clipboard to rewrite what you wrote. There is nothing implemented in Obsidian and likely any other app to manage this.

The text replacement software I use (Espanso), has a special setting if the text replacement has to happen immediately or wait for a whitespace.

I don’t know how the built in macos text replacement works, and it is possible that it is incompatible with Obsidian.
You can try to open this page in Chrome (not Safari) and see how it acts.

From what I’ve seen discussed online, this seems to be an Electron problem, not restricted to Obsidian but a problem with most Electron apps (Lots of people complaining about Notion as well.) I don’t have Chrome or use any other Electron apps so I haven’t seen it elsewhere.

If Obsidian could implement this possibility (see screenshot) it would allow me to turn off text replacements entirely for Obsidian. Unless there’s another way you can suggest that doesn’t involve me turning off text replacements for my entire machine just for Obsidian?

The 3rd post tells you everything

Btw, I don’t think the copyright letter is more important than brackets.

Brackets are used to structure sentences and to add links.

If you really want a shortcut, type alt+g on your keyboard (mac at least).

check your keyboard preferences and hold alt to find out where the copyright letter is hidden on your keyboard.

By the way, try to use another shortcut string to expand your copyright or -Even simpler- deactivate Obsidians auto pairing of brackets in Settings > Editor

This is all well and good but irrelevant for non-bracketed text replacements as mentioned above.

I am also a person who does not speak English natively, so please forgive any errors in my own communication.

I flagged your post as abusive because to instruct someone, who has done nothing but follow the troubleshooting offered to no avail, that the entire app and everything that makes it worthwhile is “not a good fit” and to go away and use anything else is not a best practice for civil conversation.

If I was interested in using other apps, I would. I would like to use Obsidian. All I have done has been follow the troubleshooting and communicated which troubleshooting measures are ineffective to not only my needs, but to many other Mac users, both here and on the Discord, and elsewhere online. I’m sorry that you find that to be discordant to however you expected this conversation to go.

Have a good day.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.