element-hq / element-hq/element-web
ED logs out after laptop shutdown
- 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
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