-
-
Notifications
You must be signed in to change notification settings - Fork 426
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix history. #3598
base: master
Are you sure you want to change the base?
Fix history. #3598
Conversation
I think that this PR is still very raw to be reviewed. But I like the direction that it is taking. |
24a7716
to
ea63f53
Compare
a2703e7
to
ede34f1
Compare
a7d7c16
to
7875e68
Compare
7875e68
to
0f97945
Compare
af0ff34
to
070b1e0
Compare
@aadcg I think it is ready for review. Please let me know if I missed anything! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Commit c48d6d7 changes git submodule by mistake it seems.
I've noticed that the history file is populated by entries whose URL and title conflict with each other.
(
...
(:url "https://en.wikipedia.org/wiki/Tomato" :title "Tomato - Wikipedia")
(:url "https://en.wikipedia.org/wiki/Tobacco" :title "Tomato - Wikipedia")
...
)
Which trips the user:
I'm not convinced about the idea of keeping track of every URL, which results in duplicates. This duplicated information doesn't seem to be used anywhere.
From the user perspective, it makes sense to see the last visited URL first. Either the data structure must be free of duplicates and shuffled accordingly, or :from-end t
must be passed to remove-duplicates
.
Complete the changelog with deleted commands and other relevant API changes.
Ensure that custom spinneret tags don't reference deleted symbols.
Objects of class history-entry
are being instantiated with deleted slots.
Tests should be added as well.
This may not be an exhaustive review, but it's a start. Thanks.
:type boolean | ||
:documentation "Whether to restore buffers from the previous session. | ||
You can store and restore sessions manually to various files with | ||
`store-history-by-name' and `restore-history-by-name'.") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If this option is deleted then it needs to be documented in the changelog and migration guide.
Also, take care of (:nxref :slot 'restore-session-on-startup-p :class-name 'browser)
. The same applies to deleted symbols.
Since it's a key feature, an issue needs to be opened to remind its re-implementation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix deleted tests files in nyxt.asd
.
7d5f29e
to
5f95ac4
Compare
The history is no longer controlled on a per-buffer basis. It *will* be, but not now.
5f95ac4
to
5b81541
Compare
Description
Strip history tree for greatly simplified and more reliable history. This solves many issues within the codebase (particularly startup).
The global history tree has shown us that it does not work, and is not worth it. This simplification is the first step in building something reliable.
As soon as Nyxt is stable, we will resume with the per-buffer history tree. So we will bring back the old behavior before the global history tree.