Add broadcast and community pages plus HLS playback, and tighten preferences.

Skip the Cloudflare cache warning when media is not proxied.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
4cuckandCursor committed 2026-10-12 22:50:25 +00:00
1 parent c63f792963
commit 5094ab658e
84 files changed
+2636 -2709

No files matched your search

+6 -13
View File
@@ -7,18 +7,11 @@
//! as-is since it's already HTML-safe. Only entity *attributes* (URLs,
//! display names) need escaping because they come from our own processing.
use std::{
borrow::Cow,
fmt::Write as _,
sync::LazyLock,
};
use std::{borrow::Cow, fmt::Write as _, sync::LazyLock};
use regex::Regex;
use crate::types::{
Entity,
EntityKind,
};
use crate::types::{Entity, EntityKind};
static MENTION_RE: LazyLock<Regex> =
LazyLock::new(|| Regex::new("(^|[^A-Za-z0-9_])@([A-Za-z0-9_]{1,15})").unwrap());
@@ -234,8 +227,8 @@ mod tests {
fn expands_mention() {
let entities = vec![Entity {
indices: (0, 5),
kind: EntityKind::Mention,
url: "/test".to_owned(),
kind: EntityKind::Mention,
url: "/test".to_owned(),
display: "Test User".to_owned(),
}];
let result = expand_entities("@test hello", &entities);
@@ -247,8 +240,8 @@ mod tests {
fn expands_hashtag() {
let entities = vec![Entity {
indices: (0, 5),
kind: EntityKind::Hashtag,
url: String::new(),
kind: EntityKind::Hashtag,
url: String::new(),
display: String::new(),
}];
let result = expand_entities("#rust is great", &entities);