grimoire icon indicating copy to clipboard operation
grimoire copied to clipboard

Unable to consistently add bookmarks

Open ItsMeBrianD opened this issue 9 months ago • 3 comments

Describe the bug If you wait too long, or attempt to add multiple bookmarks, the URL field does not respond to a link being input

To Reproduce Steps to reproduce the behavior:

  1. Go to 'Home page'
  2. Click on 'Add bookmark'
  3. Wait 5 seconds
  4. Paste a link

Expected behavior Metadata for the pasted / inputted URL

Screenshots

Desktop (please complete the following information):

  • OS: MacOS 15.3
  • Browser: Arc & Safari
  • Version: Arc 133.0.6943.127 (arm64), Safari 18.3

Additional context I did a bit of digging and I think the issue has to do with the abort signal here: https://github.com/goniszewski/grimoire/blob/main/src/lib/components/AddBookmarkForm/AddBookmarkForm.svelte#L191

When I add a breakpoint in Safari to the URL input for on:input, I see that e.aborted=true within the internals of the debounce functionality. I think this component is essentially disabling itself after 5 seconds.

Similarly, because the AddBookmarkForm is being processed on page mount (rather than on modal open), I believe you are essentially unable to add a new bookmark if more than 5 seconds have passed since you opened the page.

ItsMeBrianD avatar Feb 28 '25 16:02 ItsMeBrianD

Hello @ItsMeBrianD! Thank you for all the details, I will investigate it further after resolving some other issues. I will update you with my findings.

goniszewski avatar Mar 01 '25 17:03 goniszewski

I'm having this issue as well, with a fresh install. The browser add-on works perfectly, and if I refresh and immediately paste the link it will work. After 5 seconds (or less) the "add" button is grayed and will not accept a new bookmark. Thanksfully, the broswer add-on is available as a workaround.

Has there been any information on this bug since March 1st?

shalone86 avatar Aug 01 '25 17:08 shalone86

Hi, I am having the same issues and tried to forked and debug the problem.

It seems that this is due to the DebounceOptions of signal: AbortSignal.timeout(5000), introduced in v0.5.0 in the AddBookmarkForm component.

https://github.com/goniszewski/grimoire/blob/7bb6e74c1f6c026040c5be53d5d45eac7c44ee91/src/lib/components/AddBookmarkForm/AddBookmarkForm.svelte#L191

Due to my lack of understanding of the debounce function I consult ChatGPT and it says that this option disable the debounce after 5s of the component being rendered.

I am not aware of the reason behind the introduction of this options and have not tried to perform build of the app so I am not willing to submit PR for removing this options now.

Maybe after further testing and familiarity with this project I might.

robertojohansalim avatar Oct 27 '25 03:10 robertojohansalim