FlorianWoelki / obsidian-iconize

Simply add icons to anything you want in Obsidian.
https://florianwoelki.github.io/obsidian-iconize/
MIT License
864 stars 59 forks source link

Iconize 2.11.9 conflicts with windows icons and Metabind #438

Closed Davve37 closed 6 months ago

Davve37 commented 6 months ago

Describe the bug Iconize conflicts with windows 11 icons and cause lines where they exist to fail. It also disrupt some Metabind fields.

To Reproduce Steps to reproduce the behavior:

  1. Enable iconize 2.11.9
  2. Go to note with windows 11 icons
  3. ???
  4. See error

Expected behavior What I expected: https://i.imgur.com/wwLGZTF.png https://i.imgur.com/oaD8AGD.png

Screenshots What I got: https://i.imgur.com/ry8o1tC.png https://i.imgur.com/goSQEgg.png

Additional context Add any other context about the problem here.

mayeenulislam commented 6 months ago

I'm having a similar issue. Any icon that is not within Iconize's radar is getting omitted from view in Editing mode. But they are working in the Reading mode.

For example, my note has a hand emoji like: πŸ‘†, which was added using the Mac Emoji picker, which is behaving like this. But if I want to pick the same emoji using : notation, it's not within the list of Icons.

I'm using Font Awesome Solid and Lucide Icons and for Emoji Style my choice is "Native"

FlorianWoelki commented 6 months ago

is it only for emojis? if so, could you check if changing the emoji mode in the settings to "native" fixes this.

mayeenulislam commented 6 months ago

It's only for Emojis. When the cursor is on that line, it's visible, like below

image

But when the cursor is out:

image

I tried changing Emoji Style to "Twimoji" and Force Reload Obsidian
Then "None" and Force Reload.

The issue persists.

The Emojis only works fine when the Iconize is inactive (even without Force Reload)

mayeenulislam commented 6 months ago

I'm afraid it's affecting the Bulleted List as well. Iconize v2.11.9.

When Iconize is active:

image

When inactive:

image
FlorianWoelki commented 6 months ago

It's only for Emojis. When the cursor is on that line, it's visible, like below

image

But when the cursor is out:

image

I tried changing Emoji Style to "Twimoji" and Force Reload Obsidian

Then "None" and Force Reload.

The issue persists.

The Emojis only works fine when the Iconize is inactive (even without Force Reload)

what about having emojis set to native and then force reload?

Davve37 commented 6 months ago

what about having emojis set to native and then force reload?

That helps a bit however it still destroys dataview tables when windows icons appear inside the dataview table.

https://i.imgur.com/kGOKCmW.png

mayeenulislam commented 6 months ago

My Emoji Style is "Native", it's the same.

However found a new bug using :FasAnglesUp: into the note:

image

When Iconize is active, opening the note by clicking on the title from Explorer giving an error:

πŸ”΄ Failed to load "MyNote.md". Ranges must be added sorted by 'from' position and 'startSide'

I-Pch commented 6 months ago

I'm having a similar issue. Any icon that is not within Iconize's radar is getting omitted from view in Editing mode. But they are working in the Reading mode.

For example, my note has a hand emoji like: πŸ‘†, which was added using the Mac Emoji picker, which is behaving like this. But if I want to pick the same emoji using : notation, it's not within the list of Icons.

I'm using Font Awesome Solid and Lucide Icons and for Emoji Style my choice is "Native"

Makes me think about was I was seeing with Iconize 2.11.7, yesterday -> https://github.com/FlorianWoelki/obsidian-iconize/issues/412#issuecomment-2041507548 (only tested with emojis/twemojis though) which I think I still get with Iconize 2.11.9 (but I didn't got the opportunity to properly test this yet)

Edit: Selected the wrong reply to quote πŸ™ˆ

Edit-2: Setting the emojis style to any of the options available, then Reload app without saving also doesn't have any effect on the "ghost" emojis: they stay invisible πŸ€·β€β™€οΈ

Edit-3: I'm also having this issue πŸ‘‡ ...

When Iconize is active, opening the note by clicking on the title from Explorer giving an error:

πŸ”΄ Failed to load "MyNote.md". Ranges must be added sorted by 'from' position and 'startSide'

schemen commented 6 months ago

Same error here: bullet points are being lost

FlorianWoelki commented 6 months ago

would it be possible for someone to give me a minimal reproduction example. especially if it is affecting dataview + iconize the specific dataview query.

primarist commented 6 months ago

I'm also experiencing this but with the Tasks plugin. Tasks uses emojis to indicate different due dates, priorities, etc. The emojis are only visible when the cursor is placed in the line containing the emoji, but when you select a different line, the emoji disappears. Additionally, when that task is queried using Dataview, the emoji is replaced by the text "null".

dkadev commented 6 months ago

I'm experiencing this with inline emojis on macOS, I can see them in source mode but as soon as I change to read mode emoji is replaced with "null". Disabling iconize plugin stops this behaviour. Happening since I updated today. I have another vault with outdated version 2.11.4 and bug does not exist.

I-Pch commented 6 months ago

would it be possible for someone to give me a minimal reproduction example. especially if it is affecting dataview + iconize the specific dataview query.

As a very minimal repro, I have this query :

> [!NOTE] Title
> ✨
> ```dataview
> TABLE file.ctime AS "Created"
> FROM "Test"
> SORT file.ctime DESC
> ```

This πŸ‘† doesn't work and in fact breaks as soon as I add the :sparkles: emoji 😊 The issue seem to be linked to having a query within a callout + at least one emoji/icon (didn't test with icons)

While this query still works as expected :

> [!NOTE] Title
> 
> ```dataview
> TABLE file.ctime AS "Created"
> FROM "Test"
> SORT file.ctime DESC
> ```

In the screenshot below, the 3 Dataview queries are the same as the ones I shared here, just placed in different context 😊 .

Dataview Iconize

Edit: Same result using just :LiSparkles: (from Lucide)

Iconize - Dataview - Lucide Icon

I have only 14 notes in the vault I'm using to test the emojis issues 😊 and only 2 plugins (Dataview and Iconize 2.11.9). I'm on Mac (Big Sur 11.7.10) + Obsidian 1.5.12 and my vault is stored on and sync through iCloud. I only use the default Obsidian Dark Theme and have no CSS snippets.

Edit: Adding a very small screen-recording where all I do to break the Dataview query is adding an emoji ...

https://github.com/FlorianWoelki/obsidian-iconize/assets/77828085/78abf9e2-c6f3-4a65-a314-05450dd2b1b4

I hope this helps 😊

ollecello commented 6 months ago

I've the same massive problems on all levels since the latest update.

FlorianWoelki commented 6 months ago

would it be possible for someone to give me a minimal reproduction example. especially if it is affecting dataview + iconize the specific dataview query.

As a very minimal repro, I have this query :

> [!NOTE] Title
> ✨
> ```dataview
> TABLE file.ctime AS "Created"
> FROM "Test"
> SORT file.ctime DESC
> ```

This πŸ‘† doesn't work and in fact breaks as soon as I add the :sparkles: emoji 😊 The issue seem to be linked to having a query within a callout + at least one emoji/icon ~(didn't test with icons)~

While this query still works as expected :

> [!NOTE] Title
> 
> ```dataview
> TABLE file.ctime AS "Created"
> FROM "Test"
> SORT file.ctime DESC
> ```

In the screenshot below, the 3 Dataview queries are the same as the ones I shared here, just placed in different context 😊 . Dataview Iconize

Edit: Same result using just :LiSparkles: (from Lucide)

Iconize - Dataview - Lucide Icon

I have only 14 notes in the vault I'm using to test the emojis issues 😊 and only 2 plugins (Dataview and Iconize 2.11.9). I'm on Mac (Big Sur 11.7.10) + Obsidian 1.5.12 and my vault is stored on and sync through iCloud. I only use the default Obsidian Dark Theme and have no CSS snippets.

Edit: Adding a very small screen-recording where all I do to break the Dataview query is adding an emoji ...

Iconize.Dataview.-.Callout.-.Emoji.mov I hope this helps 😊

thank you! this really helped and i was able to reproduce it.

FlorianWoelki commented 6 months ago

just fyi: i have a working solution, just need to adjust the code a bit and adapt it to icons as well. i'll keep you updated here.

FlorianWoelki commented 6 months ago

hey there,

I've pushed a commit to fix the latest issues. at least I am not able to reproduce any issue related to that anymore. could someone please check out the latest code and see if it works for them?

I-Pch commented 6 months ago

hey there,

I've pushed a commit to fix the latest issues. at least I am not able to reproduce any issue related to that anymore. could someone please check out the latest code and see if it works for them?

Sorry for my potential ignorant comment but don't you need to release a new version for us to test ? πŸ™ˆ ... or is there a specific process to follow ? (manual install maybe ?)

FlorianWoelki commented 6 months ago

hey there,

I've pushed a commit to fix the latest issues. at least I am not able to reproduce any issue related to that anymore. could someone please check out the latest code and see if it works for them?

Sorry for my potential ignorant comment but don't you need to release a new version for us to test ? πŸ™ˆ

... or is there a specific process to follow ? (manual install maybe ?)

no worries. yes but i want to make sure that everything works before releasing it.

you can check the development guide in the readme to get some insights on how to test things locally. if it sounds too complicated i can also upload to built files to GitHub and you can download them.

mProjectsCode commented 6 months ago

You could setup beta releases with BRAT for this. That would allow users to download beta versions via BRAT, without pushing out beta releases to all users. I do that for almost all of my plugins.

CoachKidd commented 6 months ago

I've got this issue too... Thanks for taking a look at it... Is there a release date for it yet?

FlorianWoelki commented 6 months ago

probably this weekend.

CoachKidd commented 6 months ago

probably this weekend.

That's awesome news, thanks!

As an end user of Obsidian (my days of being a competent coder are long gone) are there any user tests I can do that would be helpful for you?

FlorianWoelki commented 6 months ago

You could setup beta releases with BRAT for this. That would allow users to download beta versions via BRAT, without pushing out beta releases to all users. I do that for almost all of my plugins.

yeah so I should setup BRAT in the future, thank you for the suggestion!

probably this weekend.

That's awesome news, thanks!

As an end user of Obsidian (my days of being a competent coder are long gone) are there any user tests I can do that would be helpful for you?

sure! because BRAT (or something similar) is not embedded yet, you can copy and paste the main.js file to the Iconize plugin (sorry I cannot upload the file directly). This is the link.

These are the steps you need to follow:

  1. Quit Obsidian entirely
  2. Go to your Vault's directory (where you see the .obsidian directory)
  3. Go to: /.obsidian/plugins/obsidian-iconize (or obsidian-icon-folder)/
  4. Paste the downloaded main.js file into this directory

Then, hopefully, things will work.

CoachKidd commented 6 months ago

Thanks @FlorianWoelki ... (obsidian-icon-folder)/ works perfectly for me.

Do you have a "Buy me a coffee" link?

FlorianWoelki commented 6 months ago

Thanks @FlorianWoelki ... It works perfectly for me.

Do you have a "Buy me a coffee" link?

that's really lovely!

I do, but obviously it's not required. always appreciate the support!

I-Pch commented 6 months ago

You could setup beta releases with BRAT for this. That would allow users to download beta versions via BRAT, without pushing out beta releases to all users. I do that for almost all of my plugins.

yeah so I should setup BRAT in the future, thank you for the suggestion!

probably this weekend.

That's awesome news, thanks! As an end user of Obsidian (my days of being a competent coder are long gone) are there any user tests I can do that would be helpful for you?

sure! because BRAT (or something similar) is not embedded yet, you can copy and paste the main.js file to the Iconize plugin (sorry I cannot upload the file directly). This is the link.

These are the steps you need to follow:

  1. Quit Obsidian entirely
  2. Go to your Vault's directory (where you see the .obsidian directory)
  3. Go to: /.obsidian/plugins/obsidian-iconize (or obsidian-icon-folder)/
  4. Paste the downloaded main.js file into this directory

Then, hopefully, things will work.

Thank you for sharing the file πŸ˜„ !

I just ran some tests (in the same vault I used before) and it's way better from my side of the screen 😊 :

I was able to:

Emojis still seems to render when "they want to" in Live Preview 😊 (https://github.com/FlorianWoelki/obsidian-iconize/issues/438#issuecomment-2042773836)

Edit: Regarding the emojis 😊 : Setting them to None doesn't seems to render any emojis in Live Preview while setting them to Native render them "once in a while" (depending on the emoji) in Live Preview...

FlorianWoelki commented 6 months ago

You could setup beta releases with BRAT for this. That would allow users to download beta versions via BRAT, without pushing out beta releases to all users. I do that for almost all of my plugins.

yeah so I should setup BRAT in the future, thank you for the suggestion!

probably this weekend.

That's awesome news, thanks! As an end user of Obsidian (my days of being a competent coder are long gone) are there any user tests I can do that would be helpful for you?

sure! because BRAT (or something similar) is not embedded yet, you can copy and paste the main.js file to the Iconize plugin (sorry I cannot upload the file directly). This is the link. These are the steps you need to follow:

  1. Quit Obsidian entirely
  2. Go to your Vault's directory (where you see the .obsidian directory)
  3. Go to: /.obsidian/plugins/obsidian-iconize (or obsidian-icon-folder)/
  4. Paste the downloaded main.js file into this directory

Then, hopefully, things will work.

Thank you for sharing the file πŸ˜„ !

I just ran some tests (in the same vault I used before) and it's way better from my side of the screen 😊 :

I was able to:

  • Have Dataview queries in a callout + icon/emoji but only if I used Native emojis (using Twemojis, apparently lead to the freezing of the whole vault πŸ€·β€β™€οΈ ... where all I could do was scroll through the specific note I used for testing purpose here > Iconize 2.11.9 conflicts with windows icons and MetabindΒ #438 (comment). I had to delete the workspace.json to solve the issue (because the vault would open on the note that broke it πŸ˜… , so rebooting wasn't enough πŸ˜‡ )
  • Open notes in a split view πŸŽ‰ !!!

Emojis still seems to render when "they want to" in Live Preview 😊 (#438 (comment))

Edit: Regarding the emojis 😊 : Setting them to None doesn't seems to render any emojis in Live Preview while setting them to Native render them "once in a while" (depending on the emoji) in Live Preview...

really awesome to hear that. I am going to check out the native emoji issue. could you maybe give me some text example where it sometimes fails?

I-Pch commented 6 months ago

@FlorianWoelki 😊 : Regarding the emojis, this is a very minimal sample I used to test the rendering 😊

There's really nothing fancy πŸ˜„ (there's a mix of emojis and Lucide icons ) : (I re-wrote the "emoji names" (:herb:)

:herb:
:sparkles: :LiRedo:

:LiSparkles:

> [!note]
> 
> :LiSparkles: Something 

- :purple_heart:
- :LiSparkles:

:herb: 

I did stumbled upon on something I think could be interesting: The emojis which can be rendered in Live Preview (:sparkles: works, for example) appear twice in Source Mode ... But the ones that don't get rendered in Live Preview appear only once in Source Mode

And here's a screenshot, in the 3 views, of the result I get with the small sample I shared above 😊 : In it, you'll see that :purple_heart: and :herb: fails to render in Live Preview while :sparkles: appears without issue 😊 ...

Iconize - Emojis - 3 modes

For :purple_heart: and :herb:, they seems to only appear if my cursor is on the line and if I don't have the same note opened in split views πŸ€·β€β™€οΈ ... (That's new for me, sorry πŸ˜… )

In the screen-recording below, instead of the emojis being rendered when I place my cursor on the line (in the note at the center), the cursor gets "longer" and there seems to be a really tiny space in place of the emoji...

https://github.com/FlorianWoelki/obsidian-iconize/assets/77828085/c70b3286-7056-4ac6-94f4-68ab11cca23d

But if the note is in Live Preview and "alone", this is what I see 😊 ...

https://github.com/FlorianWoelki/obsidian-iconize/assets/77828085/2ed2225c-4b46-43a0-99b4-63584d8926ea

I do get various mixed results depending on the number of split views open and the mode the notes are in (Source, LP, Reading)

But at least, I can now have split views πŸ₯³ !!!

blooest commented 6 months ago

Seems like there's two issues in one in this thread.

Is the code in https://github.com/FlorianWoelki/obsidian-iconize/issues/438#issuecomment-2049525833 meant to fix this?

#438

When Iconize is active, opening the note by clicking on the title from Explorer giving an error:

πŸ”΄ Failed to load "MyNote.md". Ranges must be added sorted by 'from' position and 'startSide'

Because I'm still having that issue when trying to load any notes with inlines. Oddly, one that opens on startup works perfectly, with icons, until I click off of it.

FlorianWoelki commented 6 months ago

Seems like there's two issues in one in this thread.

Is the code in #438 (comment) meant to fix this?

#438 When Iconize is active, opening the note by clicking on the title from Explorer giving an error:

πŸ”΄ Failed to load "MyNote.md". Ranges must be added sorted by 'from' position and 'startSide'

Because I'm still having that issue when trying to load any notes with inlines. Oddly, one that opens on startup works perfectly, with icons, until I click off of it.

could you give me something that I can reproduce?

claremacrae commented 6 months ago

In case a simple reproduction of this issue with the Tasks plugin is useful, please see https://github.com/obsidian-tasks-group/obsidian-tasks/issues/2766#issuecomment-2052491284

FlorianWoelki commented 6 months ago

In case a simple reproduction of this issue with the Tasks plugin is useful, please see obsidian-tasks-group/obsidian-tasks#2766 (comment)

thanks. it's already fixed and I'll make a release tomorrow.

FlorianWoelki commented 6 months ago

i've released the version with the fix. hopefully it is fixed now.

m-primo commented 6 months ago

The issue still persists after the update

image

image

image