-
-
Notifications
You must be signed in to change notification settings - Fork 7
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
Desktop user experience overhaul #42
base: main
Are you sure you want to change the base?
Conversation
aa8fa12
to
bbfa8bf
Compare
bbfa8bf
to
8783694
Compare
9acd40a
to
f97587a
Compare
3fcaa21
to
8d62d24
Compare
Tested to work on Linux, Windows 10 and Intel Macs; can open documents and symlinks to documents anywhere on the filesystem.
Changes unrelated to the filesystem don't seem to break anything (good!) Some comments:
|
ae8df57
to
a389edd
Compare
Now it is possible to create new documents using the in-app "Create Empty Document" button. However, this button will only work for the electron user. Should any user choose to use Grist Desktop as a self-hosted server, external visitors will now be unable to create new documents - they will get an error when clicking on the button. |
Implemented |
46a0fa0
to
1a8aa9f
Compare
1a8aa9f
to
ab5e55d
Compare
5030fd4
to
692bc0f
Compare
0674f09
to
54200ae
Compare
54200ae
to
997694d
Compare
Make a set of changes required for Desktop FS improvements, see gristlabs/grist-desktop#42 --------- Co-authored-by: Spoffy <[email protected]> Co-authored-by: Spoffy <[email protected]>
|
||
export const create: ICreate = makeSimpleCreator({ | ||
deploymentType: "electron", | ||
sessionSecret: "something", |
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.
maybe no-longer-needed
instead of something
just to emphasize it isn't important anymore, we haven't just forgotten to put something secure here.
Testing to see if it fixes CI build hang.
This PR refactored a major portion of Grist Desktop:
WindowManager
.pendingPathToOpen
mechanism to make it more straightforward.shouldQuit
and handle single instance locks outside ofGristApp
.-psn_
argument hack and file opening logic.preload.js
withpreload.ts
, and set up electron IPC properly.Filesystem changes
Grist Desktop used to rely on symlinks to comply with Grist Core's requirement that all documents be stored centrally in
GRIST_DATA_DIR
. This causes issues on Windows, and impacts the user experience since users cannot choose where to store their Grist documents.Moreover, this contributed to a bad user experience as documents use docID as name, and
GRIST_DATA_DIR
defaults to the "Documents" folder. This means users will end up having a lot of<random string>.grist
files in their "Documents" folder.It has also led to complaints from macOS users, since they basically cannot use Grist Desktop without granting permissions to the "Documents" folder.
This PR enables Grist Desktop to open Grist documents anywhere on the local filesystem, without making symlinks. All modifications will directly write to the document.
Window manager
Grist Desktop now knows all documents it has open, and would bring the open document to you if you open it twice. It can keep track of window content changes (i.e. when a user navigates away from / into a document).
It must work together with this PR for grist-core gristlabs/grist-core#1099