Changed
- The bundle now targets OTE Spec 0.4.0 (
oteSpecVersion), a
compatibility release that only relaxes validation: no field was added or
removed, and every 0.3.0 feed this widget renders today keeps rendering
identically. Two relaxations reach the widget — HTTP(S) URL fields validate
asiri(a publishedid,urlor image address may contain non-ASCII
characters such as…/pycamp-españa), andimage[]acceptshttp://as
well ashttps://. - An
http://image is treated as absent on anhttpspage. The browser
blocks it as mixed content before a byte arrives, so an<img>there can
only ever produce a broken frame. Cards fall back to the usual placeholder
(orplaceholder-image), and the list body and detail modal render without
an image and reclaim its space — exactly what an event with no image looks
like. On anhttppage the image is not blocked and is rendered as
published. No feed that is valid under 0.3.0 can hit this:http://images
only became legal in 0.4.0. - When an event lists several images, the first
https://entry is preferred
over an earlierhttp://one instead of the list's first entry winning
unconditionally (@opentechevents/preview-feed'sfirstImage). The
publisher's order still decides between entries the browser will actually
load; falling through is never worse, since anhttpsimage loads on an
httppage too.
Fixed
- Non-ASCII addresses survive the render path unencoded:
event-idmatches an
idcontaining a literalñ(the match is exact string comparison, so a
single re-encoding anywhere would silently empty a page pinned to one
event), and event links and imagesrcs keep the spelling the feed
published.<ote-subscribe>'s links keep encoding the feed URL exactly once
where it is a query parameter (Feedly, OTE Reader, OTE Tools preview) and
not at all where the scheme is swapped for a handler to open
(webcal://,feed://, Google Calendar'scid).
Pin this build at https://tools.opentechevents.org/embed/v0.8.0/ote-events.js (and ote-subscribe.js alongside it).