2020-09-21 05:50:39
that's also sounds like a problem one should not run into with a language where the language level primitives are able to do the right thing

Rotonen
2020-09-21 07:22:44
yeah, true. Not sure what is going wrong there.

Fireduck
2020-09-21 07:23:17
presumably I am doing something stupid somewhere

Fireduck
2020-09-21 07:25:06
yeah, finding the root is recommendable

Rotonen
2020-09-21 16:40:45
I suspect it is in the link generation for making the static html pages

Fireduck
2020-09-21 22:21:48
i keep telling you to not try to roll your own web things :smile:

Rotonen
2020-09-21 22:22:48
it took our species some 15 years to get collectively not horrible at that, maybe stand on those shoulders

Rotonen
2020-09-21 22:22:49
Ha. Probably just need to set the character set on the generated html index pages

Fireduck
2020-09-21 22:23:09
that idea sounds even worse to me

Rotonen
2020-09-21 22:23:14
I haven't seen a lot of evidence of "not horrible"

Fireduck
2020-09-21 22:23:40
it implies you're doing your own content negotiation scheme somewhere to begin with, and instead of actually handling that for anything a client might request, you just do 'something'

Rotonen
2020-09-21 22:24:24
I'll ping you on the code change so you can shake your head at it

Fireduck
2020-09-21 22:24:39
i can comment on your content negotiation flow graph if you have one

Rotonen
2020-09-21 22:25:03
this page for example: https://chan-relay.snowblossom.org/channel/duck-factorio/

Fireduck
2020-09-21 22:25:07
the markup generation side of it does not even matter if the underlying transport layer is not up to par

Rotonen
2020-09-21 22:25:18
The HTML for that page is generated at channel import time, listing the files and directories

Fireduck
2020-09-21 22:25:40
and there's no render time transform layer?

Rotonen
2020-09-21 22:26:10
and no storage layer semantics around what the payload's pile of bytes is encoded as

Rotonen
2020-09-21 22:26:14
nope, the web serving is fairly simple. Look up item for URL path, serve thing

Fireduck
2020-09-21 22:26:26
there is size and content type saved

Fireduck
2020-09-21 22:26:29
with the thing

Fireduck
2020-09-21 22:26:33
yeah, that's http 1.0 era internet stuff

Rotonen
2020-09-21 22:26:42
we went quite far from there

Rotonen
2020-09-21 22:27:12
does content type include storage encoding details as well?

Rotonen
2020-09-21 22:27:35
i guess not really if people "just edit things with text editors and just serve files"

Rotonen
2020-09-21 22:28:16
what sort of sort of storage details?
There is a map of objects for each channel and if an object exists it maps to a ContnetID, which is a message on a channel block

Fireduck
2020-09-21 22:28:36
The message on the channel block might reference other chunks if the file isn't trivially small

Fireduck
2020-09-21 22:28:58
details like "is this ascii, latin-1, utf-8 - which byte order - how are composables normalised"

Rotonen
2020-09-21 22:29:13
ah, I don't have any of that

Fireduck
2020-09-21 22:29:41
could add it as needed

Fireduck
2020-09-21 22:29:43
and that's probably why you don't have an oracle based on which to set the correct response header for the content you serve

Rotonen
2020-09-21 22:30:09
so am setting the content-type based on metadata. I can add other metadata as needed.

Fireduck
2020-09-21 22:30:15
nor the ability for a client to request it in an another one and that being transformed on the fly

Rotonen
2020-09-21 22:30:47
content type charset is what i'm mostly on about

Rotonen
2020-09-21 22:31:02
hardcoding that is an equally bad idea to not setting it at all

Rotonen
2020-09-21 22:31:26
yeah, I can see that

Fireduck
2020-09-21 22:31:34
and going deeper into getting that right is something i do not recommend rolling your own on

Rotonen
2020-09-21 22:32:29
and when i say web, you think it's only http, whereas i take the tim berners lee holistic view of the total service

Rotonen
2020-09-21 22:33:08
the combination of transport and content and client empowernment is a classic and difficult triangle to fully cover

Rotonen
2020-09-21 22:33:47
when you do "web", you're not "serving files" or generating "api responses" anymore

Rotonen
2020-09-21 22:34:21
content is hard

Rotonen
2020-09-21 22:34:31
and we're not even talking of semantic web here yet :slightly_smiling_face:

Rotonen
2020-09-21 22:35:16
Right now, I'm focusing on simple have static content, want to serve static content sort of cases

Fireduck
2020-09-21 22:35:49
if you just want to do serving of files, maybe find a WebDAV implementation

Rotonen
2020-09-21 22:36:10
Serving files to browsers mostly :wink:

Fireduck
2020-09-21 22:36:16
I remember when webdav was hot

Fireduck
2020-09-21 22:36:37
it never went anywhere

Rotonen
2020-09-21 22:36:45
that even half looks like what you're cooking

Rotonen