beaussan / update-time-on-edit-obsidian

MIT License
152 stars 14 forks source link

Creation time set to Unix epoch #81

Open dotbugfix opened 1 week ago

dotbugfix commented 1 week ago

Creation time for a new note is always set to 1970-01-01 05:30:00 Updated time is set correctly, both at the first time and on every periodic update. Date format in the plugin is yyyy-MM-dd HH:mm:ss

Plugin version: 2.4.0 Obsidian version: 1.6.3 OS: Ubuntu 22.04

dotbugfix commented 1 week ago

If you need more logs, please tell me how to collect them

dotbugfix commented 1 week ago

Looks like the filesystem isn't reporting the ctime:

$ stat Craftsman.md 
  File: Craftsman.md
  Size: 428             Blocks: 24         IO Block: 4096   regular file
Device: 4fh/79d Inode: 1443934     Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/   user)   Gid: ( 1000/   user)
Access: 2024-06-23 12:20:23.997869716 +0530
Modify: 2024-06-23 12:20:23.993870697 +0530
Change: 2024-06-23 12:20:23.993870697 +0530
 Birth: -

The mountpoint is a ecryptfs on top of a btrfs:

$ mount | grep home
/dev/nvme1n1p9 on /home type btrfs (rw,relatime,ssd,discard=async,space_cache=v2,subvolid=5,subvol=/)
/home/.ecryptfs/<user>/.Private on /home/<user> type ecryptfs (rw,nosuid,nodev,relatime,ecryptfs_fnek_sig=<redacted>,ecryptfs_sig=<redacted>,ecryptfs_cipher=<redacted>,ecryptfs_key_bytes=<redacted>,ecryptfs_unlink_sigs)

Would it be possible to default to the value of the first update time on a new note when the filesystem stat() doesn't return a valid ctime?

dotbugfix commented 1 week ago

Related: https://forum.obsidian.md/t/linux-creation-date-of-all-notes-is-1970-01-01-read-birth-date-properly/13761/18