#dev 2022-04-10

2022-04-10 UTC
#
GWG-
Makes me think I should write a client. Wondering, since I build everything into my site, what would my site need a client for
#
jacky
an indieauth client? could help to reduce SPOA ;)
#
jacky
if it also had a server component too :)
#
vika_nezrimaya
My own website could be an IndieAuth client to, e.g. authorize users for viewing private posts and to provide embedded editing/deletion functionality when the website owner (i.e. me) is logged in via IndieAuth
#
vika_nezrimaya
so I log in to my own website via my own website to edit content on my own website
#
vika_nezrimaya
it sounds neat so I want to implement it
#
GWG-
jacky: My site is already an IndieAuth endpoint... but I'm wondering when it would have to be the other side of the relationship...
jacky, darkkirb and lanodan joined the channel
#
jacky
so let's say I wanted to do something like /publish_delay
#
jacky
I thought, at first, "oh I can just use a future time in my post and configure that in the editor"
#
jacky
but there's a chance that if I set it to be published in 30 seconds that the _request_ takes 40 seconds (somehow, my requests tend to complete in less than 2) and it ends up being published before I can get a chance to change it
#
jacky
(ah this reminds me that I should hold off any outgoing logic if it's not published in my code)
#
jacky
but like instead of sending a date, would it make sense to send a duration-esque value?
#
jacky
also https://microformats.org/wiki/datetime-design-pattern#Code this regex would have saved me so much time lol
#
jacky
like I'm thinking about sending `published=PT2M` instead of a fixed time so the server can do that timing correctly
#
jacky
I think that's better than the other idea of doing `post-status=published:PT2M` - feel like that'd break things
#
jacky
eh I meant to put a second heading but nbd https://github.com/indieweb/micropub-extensions/issues/47
#
Loqi
[jalcine] #47 Handling Publishing Delays
angelo joined the channel
#
Seirdy
any advice on making hyperlinked indieweb names possesive without annoying screenreader users?
#
Seirdy
for example, if I say "Firstname Lastname" that should be hyperlinked to Firstname Lastname's webpage
#
Seirdy
but if I want to make it possesive with `'s`, VoiceOver would stop at "Lastname" then require the user swipe right to move to "'s"
#
Seirdy
so "Firstname Lastname's" becomes "Firstname Lastname...(swipe)...'s"
#
Seirdy
this happens bc voiceover sort of splits things up by html elements. apple claims this is a feature not a bug
#
Seirdy
i also don't think voiceover is the only one. if it is then this could be considered a proprietary quirk and not an issue that everyone should cater to...
petermolnar, hoenir, hans63us[d], yequari[d], edburns[d], Silicon[d], shaunix[d], wackycity[d], indieweb-irc-bri, laker[d], marksuth[d] and jamietanna joined the channel
#
jamietanna
If anyone fancies doing some IndieAuth testing, https://gitlab.com/jamietanna/micropub-go now has an `auth reauth` command which should automagically go through the auth flow using an OAuth2 client, but it'd be good to know if it does work across various servers
#
jamietanna
(docs are very poor right now so happy to help anyone willing!)
omz13, Asaf_Agranat[d], Zegnat[d], justChili, YimingWu[d], Christian_Olivie, grantcodes[d], hepphepp[d], Murray[d], tetov-irc, dovedozen[d] and jacky joined the channel
#
jacky
Seridy: that's a good question
#
jacky
like at first like at first, I thought about wrapping the whole phrase "Jane F. Doe's" in a h-card but wrapping the name in a <span class="p-name"> (or whatever works for you tag-wise) and keeping it all in the link so semantically it's only the name that's marked up but I _think_ a screenreader would read those as the same unit _within_ the link
#
jeremycherfas
The complicated answer is to always rewrite to avoid the possessive apostrophe, but that can be a lot of work.
#
sknebel
do screenreaders really require action even for a span?
#
sknebel
because adding it to the link was my first idea too
#
sknebel
(authoring-wise, e.g. markdown will turn [[Webmention]]s into <a href="Webmention">Webmentions</a>, so one could extend a tag syntax to automatically include 's along those lines)
#
sknebel
no, not markdown. mediawiki will
#
sknebel
clearly need another coffee :D
#
Zegnat
The other question is if that specific instance of a person’s name must be linked. Is that the click target for the whole of the content? Is there something else that is a better click target? So rather than rewriting the text as jeremycherfas says, it might be about restructuring your linking instead.
Nan[d] and jacky joined the channel
#
jacky
indeed
GWG, jacky, trig[d], samhenrigold[d], capjamesg[d], balupton[d], johnnrs[d], toby3d[d], daiyi[d] and aspenmayer[d] joined the channel
#
capjamesg[d]
I run all of my applications using Apache and Unix sockets anyway.
#
capjamesg[d]
In hindsight, maintaining my infrastructure would be easier if everything was reverse proxied to a single domain because I wouldn't have to maintain eight or so SSL certs and config files.
omz13 and jacky joined the channel
#
Caesar[m]
capjamesg[d]: why not a wildcard cert? I use subdomains (and also more than one root domain but that's another story) and never had an issue with managing certs with LetsEncrypt. I do use reverse proxying to local sockets/ports (with Nginx) but from the subdomains.
jacky joined the channel
#
[KevinMarks]1
I need to work this out as I have subdomains on multiple providers
#
@jackyalcine
Looks like I'm scheduled to go live tonight around 7:15 PM EST on Twitch! Gonna work on some changes for Sele, a IndieAuth service, to help prepare it for beta use. (https://jacky.wtf/2022/4/Qz/QzdFOWEqnvv2LbT5PKcaoy-L)
(twitter.com/_/status/1513187675532054531)
#
jacky
is reminded to document part of his infra on his user page
jacky1, jacky and cygnoir[d] joined the channel
#
jamietanna
capjamesg[d] alternatively 1000% recommend looking at caddyserver.com as Caddy is great, super easy for SSL setup and you don't need to think about it after the initial setup :)
#
sknebel
!calc 7:15 PM EST to Berlin time
#
Loqi
1:15:00 am CEST | Monday, April 11, 2022
#
sknebel
... I could've guessed that its in that ballpark now that I think about it
#
jacky
ah that's true!
jacky and locutor99 joined the channel
#
Caesar[m]
jamietanna: thanks for reminding me of Caddy, I must have a proper play with it sometime. It looks great – not that I've ever had any complaints about nginx.
omz13 joined the channel
#
petermolnar
if you're starting today, forget I'd back caddy as well
#
petermolnar
saying that as an nginx user for 13 years now
#
jamietanna
I'd mostly used nginx and found it great, but after playing around with Caddy for a bit I don't think I ever want to go back :D
#
jamietanna
(at least when I'm managing things myself)
#
Seirdy
sknebel: only some implementations. i know apple voiceover is a little weird. im more familiar with orca and talkback
#
Seirdy
Caesar[m], jamietanna: Nginx is good for reloading all configs with zero downtime and peak performance. Caddy is good for everything else. ;)
#
Seirdy
plus nginx security is a bit lacking; some of its functionality is best replaced by shell scripts on a crontab or timer. https://github.com/tomwassenberg/certbot-ocsp-fetcher and https://github.com/GrapheneOS/nginx-rotate-session-ticket-keys namely
#
Loqi
[tomwassenberg] certbot-ocsp-fetcher: A tool that primes the OCSP cache of nginx for certificates managed by Certbot, in order to make OCSP stapling work reliably.
#
Seirdy
i use those with a statically-linked nginx compiled with boringssl. can handle over 1.4k req/sec. caddy could do like 950/sec. My biggest DoS was 1.2k/sec. so i should be able to handle a low- to medium-level DoS attack without much rate-limiting.
#
Zegnat
I have played with, and enjoyed, https://traefik.io/traefik/ for the reverse-proxy-in-front-of-all-apps use case
#
Zegnat
Though that has been because I was trying out docker for things. Traefik can keep a look at all your containers, and can take settings from docker labels. So I can add a new application image to docker, set a hostname and port in the docker labels, and Traefik automagically hooks me up with access and https
#
sknebel
yeah, for that traefik is neat. havent tried it with non-containered setups yet
adstew joined the channel
#
Seirdy
i just use nginx for everything lol
#
Seirdy
at one point i even used it for my gemini server, might try that again.
#
Seirdy
tho the cert cetup will be different for gemini since gemini's supposed to use long-lived TOFU certs.
#
sknebel
yeah, that was more a "ok, they supply a readymade traefik config and the server isn't doing anything else anyways... guess I'm trying traefik for this" for a specific setup
omz13 joined the channel
#
eb
It's so entertaining seeing people from communities I am a part of. Seirdy, I first came across your gemlog on lemmy, about drewdevault
#
jamietanna
Seirdy I've not had any complaints for downtime or performance with Caddy
#
jamietanna
But that's interesting you saw lower performance
#
@MuseResort
Our #WritingPrompts website now supports #WebMentions which means you can notify us of a story based on one of our prompts. Please do share your writing - we would love to read it.
(twitter.com/_/status/1513244169992642564)
#
Seirdy
jamietanna: i thought caddy can't reload certain config files without downtime
omz13 joined the channel
#
Seirdy
nginx stays alive by running a main process and spawning subprocesses
#
Loqi
eb has 1 karma over the last year
omz13, P1000[d], sp1ff`, angelo and tetov-irc joined the channel
#
Seirdy
jeremycherfas, jacky1, Zegnat: i found a solution to the screen-reader-split-text issue: https://axesslab.com/text-splitting/
#
Seirdy
spoiler alert: yes, it's ARIA
[arush] joined the channel
#
[arush]
Hi all. Further back in threads, someone asked if screen readers require action for a span. The short answer is that it depends on what's in the span. If the span has something like onclick attached, then keyboard listening would also have to be attached because screen readers and switch mice and dictation software rely on operability with the keyboard not mouse so that needs to be accommodated. If you're doing something like using a
#
[arush]
span to override the lang attribute for a specific piece of text that's in another language other than the page's primary language no ARIA is required.
jacky joined the channel
#
@jackyalcine
↩️ I know, I know. I'm late. But I'm live now at http://jacky.wtf/twitch! Working on Sele, a IndieAuth server to improve SSR support. (https://jacky.wtf/2022/4/DI/DIFiaoedQ_aP0A1FVmr0eFH8)
(twitter.com/_/status/1513298580831973376)
#
Seirdy
[arush]: thanks!
#
Seirdy
yeah i confirmed the behavior in Orca too
#
Seirdy
[arush]: if you're able to see scrollback, I linked a resource from Axess Lab about this. the ARIA "text" role works for telling ATs that enclosed spans are not semantically significant.
jacky joined the channel
#
[arush]
I saw the accesslab link and will bookmark that, but spans already don't have semantic significance so I'm wondering why they're suggesting an Aria fix when rule 1 of Aria is don't use Aria until you have to. They probably have a specific use case in mind though.
#
Seirdy
yeah they used it so stuff like VoiceOver won't split content when you include e.g. a <br>
#
Seirdy
i think it could be useful for "[hyperlinked name]'s", i.e. adding the possessive apostrophe-s to a person's name
#
Seirdy
if the name is hyperlinked
#
Seirdy
rn i think my best bet is to edit my shortcodes so that the "s" is included in they hyperlink but not in the p-name.
#
Seirdy
s/they/the/
nertzy joined the channel
#
Caesar[m]
The `[hyperlinked name]'s` issue seems like a bug in the screen reader, the semantics are clear both from the markup point of view and the English language point of view. But (speaking as someone who doesn't have to use one) every time I try testing a site with VoiceOver I realise how terrible VoiceOver is…
#
Seirdy
Caesar[m]: Apple argued it's a feature not a bug. also happens in Orca even with the role=text. i think it's best to include the apostrophe-s inside the hyperlink and to put the p-name in a span inside the hyperlink, separate from the apostrophe-s. that causes orca to read it correctly and it honestly seems better as a sighted user too.
#
Seirdy
ok here's a snippet of how my current setup works in Hugo:
#
Seirdy
{{<indieweb-person first-name="Ahmed" last-name="Shadeed" url="https://ishadeed.com/" appendString="'s">}} <cite>[RTL Styling 101](https://rtlstyling.com/posts/rtl-styling/)</cite>
#
Seirdy
pastebin of the actual shortcode, featuring microformats2, microformats1, *and* microdata: https://termbin.com/lo7x
#
Seirdy
the rendering of the above example is [Ahmed Shadeed's] [RTL Styling 101].
#
Seirdy
but a mf parser would extract "fn=Ahmed; ln=Shadeed"
jacky joined the channel