zk icon indicating copy to clipboard operation
zk copied to clipboard

Refactor tilde expansion

Open tjex opened this issue 1 year ago • 5 comments
trafficstars

We added tilde expansion for note.template so users can share template files between notebooks in https://github.com/zk-org/zk/pull/431.

We however overlooked that tilde / home dir expansion was already being implemented in isolation for the global notebook directory in container.go.

I've refactored that code into the function @WhyNotHugo created, and also made a few optimisations to it (and renamed it as it now expands more than just tildes).

Otherwise, am I overlooking anything, have I overdone / underdone anything, or is it looking alright?

tjex avatar Aug 07 '24 19:08 tjex

I'm really stumped by the failing tesh test.. It's not failing on my end. I've double checked that there have been no changes between my local branch and this remote branch...

I've tried make tesh-update, but no change.

...
OK neuron.tesh
PASSED 64 tests

tjex avatar Aug 07 '24 19:08 tjex

make tesh-update passes CI. make tesh does not.

tjex avatar Aug 08 '24 08:08 tjex

Might help you to tag the right Hugo if you want constructive feedback 😄 (Not a complaint/criticism, just you may actually want them to see this.)

hugo avatar Aug 08 '24 09:08 hugo

woops! thanks 😅 haha

tjex avatar Aug 08 '24 10:08 tjex

Suspicions were correct. GitHub CI doesn't have $HOME set. So checking directly for os.UserHomeDir() was breaking GitHub CI, while it was passing fine locally.

Solution is then exactly as @WhyNotHugo did it 😅. First check for os.CurrentUser(), which seemingly works for GitHub CI and then access the HomeDir field of the returned struct. It does not error if there is none, so the function continues executing fine and the path string passed to ExpandHomeDir() is returned unchanged.

I guess there was no issue using os.UserHomeDir() here in container.go, because there were no tesh cases for it. That threw me off for a while...

P.S The force push was just hard resetting to the previous commit in a lazy way... I know it's bad...

tjex avatar Aug 08 '24 10:08 tjex