Unable to consistently add bookmarks
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:
- Go to 'Home page'
- Click on 'Add bookmark'
- Wait 5 seconds
- 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.
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.
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?
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.