bitspook / spookfox

A tinkerer's bridge b/w Emacs and Web Browser (Firefox and Chrome)
https://bitspook.in/projects/spookfox/
GNU Affero General Public License v3.0
127 stars 8 forks source link

Maintain history of saved tabs #8

Open bitspook opened 2 years ago

bitspook commented 2 years ago

A tab is more than just a URL; browser tabs remember their history. It is useful e.g when I have reached a place after judicious searching; I'd like to revisit the search results.

MorphicResonance commented 2 years ago

Don't know is it normal but spookfox writes all opened tabs into the org file. If i run new tab via org-tabs-open it write url of the google search results page as new heading without page title. If I click on that page and link will be opened as new tab in the browser spookfox will write new heading as url too. It writes all new tabs opened.

bitspook commented 2 years ago

It is definitely not normal. And also not happening on my machineTM. Doing spookfox-org-tabs-open and entrying 'guppy' opens a DDG tab in my case, and following any link on that page is propagated to my spookfox.org file as I expect it to (i.e as a single org subtree).

Can you please tell me which versions of spookfox.el and spookfox firefox addon you are using?


There is actually a heisenbug in spookfox which show the behavior as you explain; but for me it happens super rarely and I haven't been able to replicate it reliably yet. Every once in a blue moon I see orphan subtrees in my spookfox.org file which have URL in title and about:black in URL: property. Can you please play around a bit and try to figure out a methodical way of replicating this issue?

MorphicResonance commented 2 years ago

I've run several test on windows 11 with 107.0 (64 bit) browser. Freshest ath this date. Ublock origin was turned on. Commented lines are what I've done with tabs and after # results you can see what's happened. Blank after # results mean nothing was inserted in the file.

* Tabs

# ------ test 1 --------
# run tab by opening new tab in the firefox
# results
* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 07:35]
:ID:       623e7e84-53d2-4512-a327-a587d3e122a8
:URL:      about:newtab
:CHAINED:  t
:END:

# manually insert url https://github.com/adityaathalye/shite into
# this tab
# results

# click link that opened in the same tab
# results

   # push back button

# click link that opened in the same tab again
# results

   # push back button

# open link in the new tab by opening link via context menu in the previous tab
# results
* evalapply.org/
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:08]
:ID:       cc62ad17-ac83-4caa-a3db-66182209f195
:URL:      about:blank
:CHAINED:  t
:END:

# clicked link 'thanks, Buttondown!' on the page evalapply.org. Should
# be named as 'Buttondown' 
# results

* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:12]
:ID:       6c55db51-54c3-4f48-80b5-7571ad729c5e
:URL:      about:blank
:CHAINED:  t
:END:

# clicked link 'email octopus' at the page https://buttondown.email/
# results

# open link 'convertkit'  via content menu as new window in firefox
# at the page https://buttondown.email
# results

* buttondown.email/comparisons/convertkit
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:20]
:ID:       3e8a8d0a-157a-45bf-86ae-c085749de6a1
:URL:      about:blank
:CHAINED:  t
:END:

# open link 'blog' from the page https://buttondown.email in the
# same tab
# results

# open link 'Attach files to your emails' in the new tab from the
# page https://blog.buttondown.email/
# results
* blog.buttondown.email/2022/07/17/attachments
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:24]
:ID:       2ee12449-e695-49c4-bf77-7c75dea21bd4
:URL:      about:blank
:CHAINED:  t
:END:

# ------ test 2 ------ 
# run fresh tab by clicking click
# https://github.com/adityaathalye/shite in emacs scratch buffer
# results

* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:18]
:ID:       c446968a-f0cf-49bf-ad6b-f61228682208
:URL:      about:blank
:CHAINED:  t
:END:

# click link  'slides' to pdf file on that page
# results

# push back button

# open link 'video,' into new private window
# results
# close private window

# ------ test 3 ------ 
# run spookfox-org-tabs-open with request 'shite static site generator'
# results
* google.com/search?q=shite+static+site+generator
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:39]
:ID:       45ac365a-5127-41f2-b947-dea0e8014209
:URL:      about:blank
:CHAINED:  t
:END:
# click the first serp link. opened github.com/adityaathalye/shite
# in the same tab
# results

# duplicate tab of github.com/adityaathalye/shite
# results
* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:41]
:ID:       de56b00e-9cdb-4682-9d72-bf39fedffe9a
:URL:      about:blank
:CHAINED:  t
:END:

# refresh tab
# results

# duplicate tab github.com/adityaathalye/shite again
# results
* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:43]
:ID:       dae0669c-8ae7-4a53-91b2-5823b2b269ba
:URL:      about:blank
:CHAINED:  t
:END:

# opened link github.com/topics/shell in new tab manually via
# context menu of firefox
# results
* github.com/topics/shell
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:46]
:ID:       d03ba96e-3fdf-4a7f-a9d9-54cb3faacdbd
:URL:      about:blank
:CHAINED:  t
:END:

# open link https://github.com/topics/markdown from the same page
# results

* New tab
:PROPERTIES:
:CREATED:  [2022-11-17 Thu 08:48]
:ID:       43514e74-9eee-4477-9383-cd3941f18d92
:URL:      about:blank

Note that tabs names headings filled as 1st level org heading under leader * Tabs.

bitspook commented 2 years ago

Thanks a lot for methodically test it @MorphicResonance !

The url going in heading (i.e * <url> line) should stay like that for barely a second; url always go in the :URL: property. I'll look into this. Can you please tell me the Emacs version you are using?

MorphicResonance commented 2 years ago

Currently GNU Emacs 28.1 (build 2, x86_64-w64-mingw32) of 2022-04-21. I'll try with emacs 29.

bitspook commented 2 years ago

Hey, Just wanted to drop a message that I haven't yet looked closely into this issue yet. Right now I am held up by life and will take a closer look and respond once I can get a moment of peace.

bitspook commented 1 year ago

Hello @MorphicResonance ,

Sorry for responding so late. org-tabs spookfox app has to sync a lot of state b/w Firefox and Emacs, and due to that is the most problematic one. I think I am going to significantly change its scope soon (https://github.com/bitspook/spookfox/issues/30). Instead of "this org file is now your tab bar" approach, I am going to change it to "this org file is the archive of tabs". I am still thinking it over, but if I decide to go with it, I will close this ticket as "Won't do" since it'll be out of scope then.