it is a week since I have been using Perject as an alternative/replacement to packages like tabspaces and persp. Perject is much better than those, and I have yet to experience a bug. The workflow is:

  1. create a collection of projects: perject-open-collection
  2. create a project under a collection: perject-switch
  3. add buffer to project: perject-add-buffer-to-project

Then can create collections, projects, … and switch between them from any frame. It does auto save state, and I found it very good in reloading the saved collections/projects; I have not experienced any bug with it while I would experience much bugs with persp…

Also Perject integrates with GNU Emacs built-ins for all that, such as desktop, project.el, tab-bar, …

The author, overideal, released it recently, but it already is one my favorite Emacs packages. Really worth it trying it out.

My config if anyone wants to try it out https://codeberg.org/yymacs/yymacs/src/branch/main/yyuu/mod/yyuu-mod-emacs-uix-space.el#L43-L111