Closed franburstall closed 2 years ago
I see, current-owner-id
biting us back :/
@Ambrevar, should we re-introduce this slot to not break configs? Or can we somehow configure cl-prevalence
to ignore this slot?
Yes, we can specialize the deserializer to ignore the slot for a specific class.
@franburstall The erasing issue should be fixed with 363d13f9b52d9fe43b59d2a1eea85a887a35b7c3: now on error the broken history is backed up (in the same directory). It should be listed with restore-history-by-name
.
@aartaka Note that @franburstall 's history file was older than 2.2.4, since the current-owner-node
was already deprecated by then. What we use to do is still declare the symbol to be backward compatible, but we've removed it since 3.0 breaks backward compatibility. See commit ac3f55fbbeb714a204917e0f074016512b1ac872.
Let me know if there is anything else, otherwise I believe we can close this issue.
I confirm that this does as you describe when I load nyxt with a broken history file. Very good! Many thanks.
@aartaka Note that @franburstall 's history file was older than 2.2.4, since the
current-owner-node
was already deprecated by then. What we use to do is still declare the symbol to be backward compatible, but we've removed it since 3.0 breaks backward compatibility. See commit ac3f55f.
I mean, mybe we should resurrect and export it, just to make cl-prevalence
to not die in agony when it sees current-owner-node
etc. Maybe this will even allow using the history from 2. on 3.?
It will. But when do we eventually remove deprecated content?
Well, if we go with making cl-prevalence
to somehow ignore meaningless slots (can we?), then we don't have te remove anything. Then we just ignore this slot, browse the Internet, and overwrite the history file with a new history structure having no deprecated slots at all.
And then this methods listing the meaningful slots can be updated on 4.0, because, by that time, most of people using Nyxt have already switched to 3.* and fixed their histories.
Let me see what I can do.
See #2567.
Should be done for real now.
Describe the bug
I revisited nyxt for the first time in a while and so built nyxt-3 from master and fired it up:
On load there was a warning:
and, sure enough, my old session from way back was not restored. I opened a site or two and then quit.
I then fired nyxt again and this time the session was restored with the site or two I had opened. On investigation, I discovered that the history file
had been completely overwritten and my old history wiped.
While I expected some friction after such a long time since I last tried nyxt, silently wiping the history is a little unfriendly!
Information
show-system-information
: Nyxt version: 3-pre-release-1-273-g5dfb8039 Renderer version: GI-GTK Operating system kernel: Linux 5.10.0-17-amd64 Lisp implementation: SBCL 2.1.1 (Dynamic space size: 3221225472) Features: (:WEBKIT2 :WEBKIT2-2.36 :WEBKIT2-CORS-ALLOWLIST :WEBKIT2-PASTE-PLAINTEXT :WEBKIT2-TRACKING :WEBKIT2-MUTE :WEBKIT2-EMOJI :WEBKIT2-MEDIA :WEBKIT2-SANDBOXING :GTK-3-22 :GTK-3-20 :GTK-3-18 :GTK-3-16 :GTK-3-14 :GTK-3-12 :GTK-3-10 :GTK-3-8 :GTK-3-6 :GTK-3-4 :GTK :GDK-3-22 :GDK-3-20 :GDK-3-18 :GDK-3-16 :GDK-3-14 :GDK-3-12 :GDK-3-10 :GDK-3-8 :GDK-3-6 :GDK-3-4 :CAIRO-1-10 :CAIRO-1-12 :GDK-PIXBUF :GLIB-2-30 :GLIB-2-32 :GLIB-2-34 :GLIB-2-36 :GLIB-2-38 :GLIB-2-40 :GLIB-2-42 :GLIB-2-44 :GLIB-2-46 :GLIB-2-48 :GLIB-2-50 :GLIB-2-52 :GLIB-2-54 :GLIB-2-56 :GLIB-2-58 :GLIB :NYXT-3 :CUSTOM-HASH-TABLE-NATIVE :SLYNK :PLUMP-UTF-32 :PARENSCRIPT :FSET-EXT-STRINGS :GLOBAL-VARS :DECLARE-TYPES :SBCL+SAFE-STANDARD-READTABLE :NAMED-READTABLES :SWANK :LPARALLEL :21BIT-CHARS :CLOSER-MOP :CL-PPCRE-UNICODE :CL-UNICODE :CL-JSON-DOUBLE-FLOAT-IS-SUBSUMED :CL-JSON-SINGLE-FLOAT-IS-SUBSUMED :CL-PPCRE :CHUNGA :FLEXI-STREAMS :BORDEAUX-THREADS :LPARALLEL.WITH-CLTL2 :LPARALLEL.WITH-CAS :LPARALLEL.WITH-STEALING-SCHEDULER :SPLIT-SEQUENCE CFFI-FEATURES:FLAT-NAMESPACE CFFI-FEATURES:X86-64 CFFI-FEATURES:UNIX :CFFI CFFI-SYS::FLAT-NAMESPACE ALEXANDRIA::SEQUENCE-EMPTYP :FAST-IO-SV :FAST-IO :CL-JSON-CLOS :CL-JSON :SBCL-USES-SB-ROTATE-BYTE CHIPZ-SYSTEM:GRAY-STREAMS :THREAD-SUPPORT :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :X86-64 :GENCGC :64-BIT :ANSI-CL :COMMON-LISP :ELF :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN :PACKAGE-LOCAL-NICKNAMES :SB-LDB :SB-PACKAGE-LOCKS :SB-THREAD :SB-UNICODE :SBCL :UNIX)ASDF version: 3.3.1 ASDF registries: (NYXT-SOURCE-REGISTRY ENVIRONMENT-SOURCE-REGISTRY) Critical dependencies: (/home/fran/common-lisp/nyxt/_build/cl-cffi-gtk/gtk/cl-cffi-gtk.asd /home/fran/common-lisp/nyxt/_build/cl-gobject-introspection/cl-gobject-introspection.asd /home/fran/common-lisp/nyxt/_build/cl-webkit/webkit2/cl-webkit2.asd)
Output when started from a shell (sbcl:38775): Gtk-WARNING **: 14:57:04.322: Theme parsing error: gtk-contained-dark.css:2871:228: Missing closing bracket for :not() Nyxt version 3-pre-release-1-273-g5dfb8039