diff --git a/web/changelogs/10.0.md b/web/changelogs/10.0.md
index 86da6d3b..0e5add71 100644
--- a/web/changelogs/10.0.md
+++ b/web/changelogs/10.0.md
@@ -2,8 +2,8 @@
title: "cobalt, reborn"
date: "9 Sept, 2024"
banner:
- file: "cobalt10.png"
- alt: "image of meowbalt smiling and loafing in front of a wall of text."
+ file: "cobalt10.webp"
+ alt: "meowth plush staring into a screen with cobalt 10 ui shown."
---
everything is new! this update marks the start of the latest chapter for cobalt. we spent the entire summer working hard to deliver the best experience ever, and we really hope you enjoy the rebirth of cobalt.
diff --git a/web/changelogs/10.1.md b/web/changelogs/10.1.md
new file mode 100644
index 00000000..885018d2
--- /dev/null
+++ b/web/changelogs/10.1.md
@@ -0,0 +1,55 @@
+---
+title: "squashing bugs, improving security and ux"
+date: "1 Oct, 2024"
+banner:
+ file: "meowth101hammer.webp"
+ alt: "meowth plush getting squished with a hammer."
+---
+
+this update enhances the cobalt experience all around, here's everything that we added or changed since 10.0:
+
+### saving improvements:
+- youtube videos encoded in av1 are now downloaded in the webm container. they also include opus audio for the best quality all around.
+- fixed various bugs related to the download process on older devices/browsers. cobalt should work everywhere within sane limits.
+- fixed downloading of twitch clips.
+- fixed a bug where cobalt wouldn't download bluesky videos that are in a post with a quote.
+- fixed a bug that caused some youtube music videos to fail to download due to differently formatted metadata.
+- cobalt will no longer unexpectedly open video files on iOS. instead, a dialog with other options will be shown. this had to be done due to missing "download" button in safari's video player. you can override this by enabling [forced tunneling](/settings/privacy#tunnel).
+- fixed a bug in filename generation where certain information was added to the filename even if cobalt didn't have it (such as youtube video format).
+
+### general ui/ux improvements:
+- added a button to quickly copy a link to the section in settings or about page.
+- added `(remux)` to filenames of remuxed videos to distinguish them from the original file.
+- improved the look & behavior of the sidebar.
+- fixed cursor appearance to update correctly when using the sidebar or subpage navigation.
+- added a stepped scroller to the donation options card [on the donate page](/donate).
+- tweaked the [donate page](/donate) layout to be cleaner and more flexible.
+- fixed tab navigation for donation option buttons.
+- updated the [10.0 changelog banner](/updates#10.0) to be less boring.
+- fixed a bug that caused some changelog dates to be displayed a day later than intended.
+- changelog banner can now be saved with a right click.
+- cobalt version now gently fades in on the [settings page](/settings).
+- fixed the position of the notch easter egg on iPhone XR, 11, 16 Pro, and 16 Pro Max.
+- cobalt will let you paste the link even if the anti-bot check isn't completed yet. if anything goes wrong regarding anti-bot checks, cobalt will let you know.
+- fixed a bunch of typos and minor grammatical errors.
+- other minor changes.
+
+### about page improvements:
+- added motivation section to the [general about page](/about/general).
+- added a list of beta testers to the [credits page](/about/credits).
+- rephrased some about sections to improve clarity and readability.
+- made about page body narrower to be easier to read.
+- added extra padding between sections on about page to increase readability.
+
+### internal improvements:
+- cobalt now preloads server info for quicker access to supported services & loading turnstile on demand.
+- converted all elements and the about page to be translatable in preparations for community-sourced translations *(coming soon!)*.
+- added `content-security-policy` header to restrict and better prevent XSS attacks.
+- moved the turnstile bot check key to the server, making it load the script on the client only if necessary.
+- fixed a bug in the api that allowed for making requests without a valid `Accept` header if authentication wasn't enabled on an instance.
+
+you can also check [all commits since the 10.0 release on github](https://github.com/imputnet/cobalt/compare/08bc5022...f461b02f).
+
+we hope you enjoy this stable update and have a wonderful day!
+
+\~ your friends at imput ❤️
diff --git a/web/i18n/en/about.json b/web/i18n/en/about.json
index 59d68a7d..cfe9129f 100644
--- a/web/i18n/en/about.json
+++ b/web/i18n/en/about.json
@@ -26,5 +26,6 @@
"heading.cloudflare": "web privacy & security",
"heading.responsibility": "user responsibilities",
"heading.abuse": "reporting abuse",
- "heading.motivation": "motivation"
+ "heading.motivation": "motivation",
+ "heading.testers": "beta testers"
}
diff --git a/web/i18n/en/about/credits.md b/web/i18n/en/about/credits.md
index 27266ea4..ddfa1fc6 100644
--- a/web/i18n/en/about/credits.md
+++ b/web/i18n/en/about/credits.md
@@ -5,6 +5,29 @@
import SectionHeading from "$components/misc/SectionHeading.svelte";
+
+
+
+huge shoutout to our thing breakers for testing updates early and making sure they're stable.
+they also helped us ship cobalt 10!
+- codfish246
+- [damir](https://otomir23.me/)
+- Hunter
+- [hyperdefined](https://hyper.lol/)
+- [KwiatekMiki](https://kwiatekmiki.com/)
+- [Lao](https://lao.ooo/)
+- lostdusty
+- [noblereign](https://fursona.directory/@frost)
+- [Spax](https://spax.zone/)
+- [synzr](https://synzr.space/)
+- [vimae](https://mae.wtf/)
+
+all links are external and lead to their personal websites or social media.
+
+
{
const currentPos = donateList.scrollLeft;
- const newPos = direction === "left" ? currentPos - 150 : currentPos + 150;
const maxPos = donateList.scrollWidth - donateList.getBoundingClientRect().width;
+ const newPos = direction === "left" ? currentPos - 150 : currentPos + 150;
donateList.scroll({
left: newPos,
@@ -171,7 +171,7 @@
bind:this={donateList}
on:wheel={() => {
const currentPos = donateList.scrollLeft;
- const maxPos = donateList.scrollWidth - donateList.getBoundingClientRect().width;
+ const maxPos = donateList.scrollWidth - donateList.getBoundingClientRect().width - 5;
showLeftScroll = currentPos > 0;
showRightScroll = currentPos < maxPos && currentPos !== maxPos;
}}
diff --git a/web/src/components/misc/NotchSticker.svelte b/web/src/components/misc/NotchSticker.svelte
index 386bb04f..e43567f1 100644
--- a/web/src/components/misc/NotchSticker.svelte
+++ b/web/src/components/misc/NotchSticker.svelte
@@ -11,9 +11,12 @@
$: state = "hidden"; // "notch", "island", "notch x"
const islandValues = [
+ 53, // 16 pro max: larger text
59, // regular & plus: default
48, // regular: larger text
+ 49, // 16: larger text
51, // plus only: larger text
+ 62, // 16: regular
];
const xNotch = [44];
@@ -49,6 +52,11 @@
if (safeAreaTop === 48 && safeAreaBottom === 34) {
state = "notch";
}
+
+ // exception for iPhone 16 Pro Max
+ if (safeAreaTop === 53 && safeAreaBottom === 29) {
+ state = "notch sixteen-pro-max";
+ }
}
@@ -77,6 +85,10 @@
padding-top: 2px;
}
+ #cobalt-notch-sticker.sixteen-pro-max {
+ padding-top: 12px;
+ }
+
#cobalt-notch-sticker.notch.x :global(svg) {
height: 28px;
}
diff --git a/web/src/routes/+layout.svelte b/web/src/routes/+layout.svelte
index ed02b345..edc364c1 100644
--- a/web/src/routes/+layout.svelte
+++ b/web/src/routes/+layout.svelte
@@ -478,6 +478,7 @@
:global(.long-text-noto ul) {
padding-inline-start: 30px;
+ margin-block-start: 9px;
}
:global(.long-text-noto li) {
diff --git a/web/static/update-banners/cobalt10.png b/web/static/update-banners/cobalt10.png
deleted file mode 100644
index d95672e0..00000000
Binary files a/web/static/update-banners/cobalt10.png and /dev/null differ
diff --git a/web/static/update-banners/cobalt10.webp b/web/static/update-banners/cobalt10.webp
new file mode 100644
index 00000000..d5dee061
Binary files /dev/null and b/web/static/update-banners/cobalt10.webp differ
diff --git a/web/static/update-banners/meowth101hammer.webp b/web/static/update-banners/meowth101hammer.webp
new file mode 100644
index 00000000..36302815
Binary files /dev/null and b/web/static/update-banners/meowth101hammer.webp differ