element-hq / element-hq/element-web

ED logs out after laptop shutdown

Open
#34,929 3 comments 0 reactions 0 assignees View on GitHub
A-Seshat O-Uncommon S-Major T-Defect
Dominant language
TypeScript
Stars
13.5k
Forks
2.8k
PR merge metrics
PR metrics pending

Description

ED logs out when reopened after the PC was shutdown.

**Step to reproduce:**
1. Used ED
2. Shutdown the PC without closing the ED
3. Power PC and launch ED
4. ED is log out

In the log, Seshat has left some directory leftover: atomicwrite.0etle.

```
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Error deleting a file in EventStore directory Error: EISDIR: illegal operation on a directory, unlink '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.0etle>
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async Object.unlink (node:internal/fs/promises:1070:10)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async deleteContents (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:58:17)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async IpcMainImpl. (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:139:13) {
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: errno: -21,
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: code: 'EISDIR',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: syscall: 'unlink',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: path: '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.0etlewjhZ0yk'
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: }
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Error deleting a file in EventStore directory Error: EISDIR: illegal operation on a directory, unlink '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.H2MH9>
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async Object.unlink (node:internal/fs/promises:1070:10)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async deleteContents (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:58:17)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async IpcMainImpl. (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:139:13) {
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: errno: -21,
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: code: 'EISDIR',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: syscall: 'unlink',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: path: '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.H2MH9sefa5fJ'
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: }
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Error deleting a file in EventStore directory Error: EISDIR: illegal operation on a directory, unlink '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.ReqfS>
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async Object.unlink (node:internal/fs/promises:1070:10)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async deleteContents (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:58:17)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async IpcMainImpl. (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:139:13) {
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: errno: -21,
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: code: 'EISDIR',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: syscall: 'unlink',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: path: '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.ReqfSL2dcLLl'
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: }
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Error deleting a file in EventStore directory Error: EISDIR: illegal operation on a directory, unlink '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.W9jei>
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async Object.unlink (node:internal/fs/promises:1070:10)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async deleteContents (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:58:17)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async IpcMainImpl. (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:139:13) {
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: errno: -21,
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: code: 'EISDIR',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: syscall: 'unlink',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: path: '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.W9jeiJhQnp5x'
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: }
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Error deleting a file in EventStore directory Error: EISDIR: illegal operation on a directory, unlink '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.ljOtE>
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async Object.unlink (node:internal/fs/promises:1070:10)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async deleteContents (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:58:17)
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: at async IpcMainImpl. (file:///opt/Element-Nightly/resources/app.asar/lib/seshat.js:139:13) {
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: errno: -21,
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: code: 'EISDIR',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: syscall: 'unlink',
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: path: '/home/gaelg/.config/Element-Nightly/EventStore/.atomicwrite.ljOtEqmaQ6N4'
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: }
sept. 04 09:31:51 gaelg-laptop element-desktop-nightly[4210]: Relaunching app...
```

Contributor guide

Open the contributing guide

Research direction

Start in lib/seshat.js at deleteContents around line 58 and the IPC handler around line 139, then reproduce the shutdown and relaunch sequence. Inspect how leftover .atomicwrite directories in the EventStore are handled. Done means relaunching after shutdown does not log the user out and cleanup no longer reports EISDIR errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, node.js
Domain
desktop
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.