diff --git a/CHANGELOG.md b/CHANGELOG.md
index e547ccf91..975edd6f6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
# Changelog
+## v. 0.X.Y | WIP
+
+
+
+
+
## v. 0.3.0 | [853930](https://mempool.space/block/00000000000000000002eb5e9a7950ca2d5d98bd1ed28fc9098aa630d417985d) - 2024/07/26

diff --git a/app/package.json b/app/package.json
index 0191c8699..86eedbbf1 100644
--- a/app/package.json
+++ b/app/package.json
@@ -34,7 +34,7 @@
"prettier-plugin-tailwindcss": "^0.6.5",
"pwa-asset-generator": "^6.3.1",
"rollup-plugin-visualizer": "^5.12.0",
- "tailwindcss": "^3.4.6",
+ "tailwindcss": "^3.4.7",
"typescript": "^5.5.4",
"unplugin-auto-import": "^0.18.2",
"unplugin-icons": "^0.19.0",
@@ -42,6 +42,6 @@
"vite-plugin-pwa": "^0.20.1",
"vite-plugin-solid": "^2.10.2",
"workbox-window": "^7.1.0",
- "wrangler": "^3.66.0"
+ "wrangler": "^3.67.0"
}
}
diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml
index 09c5e586d..4ddf51317 100644
--- a/app/pnpm-lock.yaml
+++ b/app/pnpm-lock.yaml
@@ -36,7 +36,7 @@ devDependencies:
version: 1.1.118
'@tailwindcss/container-queries':
specifier: ^0.1.1
- version: 0.1.1(tailwindcss@3.4.6)
+ version: 0.1.1(tailwindcss@3.4.7)
autoprefixer:
specifier: ^10.4.19
version: 10.4.19(postcss@8.4.40)
@@ -56,8 +56,8 @@ devDependencies:
specifier: ^5.12.0
version: 5.12.0(rollup@2.79.1)
tailwindcss:
- specifier: ^3.4.6
- version: 3.4.6
+ specifier: ^3.4.7
+ version: 3.4.7
typescript:
specifier: ^5.5.4
version: 5.5.4
@@ -80,8 +80,8 @@ devDependencies:
specifier: ^7.1.0
version: 7.1.0
wrangler:
- specifier: ^3.66.0
- version: 3.66.0
+ specifier: ^3.67.0
+ version: 3.67.0
packages:
@@ -2295,12 +2295,12 @@ packages:
string.prototype.matchall: 4.0.11
dev: true
- /@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.6):
+ /@tailwindcss/container-queries@0.1.1(tailwindcss@3.4.7):
resolution: {integrity: sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==}
peerDependencies:
tailwindcss: '>=3.2.0'
dependencies:
- tailwindcss: 3.4.6
+ tailwindcss: 3.4.7
dev: true
/@types/babel__core@7.20.5:
@@ -2635,7 +2635,7 @@ packages:
hasBin: true
dependencies:
caniuse-lite: 1.0.30001643
- electron-to-chromium: 1.5.1
+ electron-to-chromium: 1.5.2
node-releases: 2.0.18
update-browserslist-db: 1.1.0(browserslist@4.23.2)
dev: true
@@ -3101,8 +3101,8 @@ packages:
jake: 10.9.2
dev: true
- /electron-to-chromium@1.5.1:
- resolution: {integrity: sha512-FKbOCOQ5QRB3VlIbl1LZQefWIYwszlBloaXcY2rbfpu9ioJnNh3TK03YtIDKDo3WKBi8u+YV4+Fn2CkEozgf4w==}
+ /electron-to-chromium@1.5.2:
+ resolution: {integrity: sha512-kc4r3U3V3WLaaZqThjYz/Y6z8tJe+7K0bbjUVo3i+LWIypVdMx5nXCkwRe6SWbY6ILqLdc1rKcKmr3HoH7wjSQ==}
dev: true
/emoji-regex@8.0.0:
@@ -5469,8 +5469,8 @@ packages:
engines: {node: '>= 0.4'}
dev: true
- /tailwindcss@3.4.6:
- resolution: {integrity: sha512-1uRHzPB+Vzu57ocybfZ4jh5Q3SdlH7XW23J5sQoM9LhE9eIOlzxer/3XPSsycvih3rboRsvt0QCmzSrqyOYUIA==}
+ /tailwindcss@3.4.7:
+ resolution: {integrity: sha512-rxWZbe87YJb4OcSopb7up2Ba4U82BoiSGUdoDr3Ydrg9ckxFS/YWsvhN323GMcddgU65QRy7JndC7ahhInhvlQ==}
engines: {node: '>=14.0.0'}
hasBin: true
dependencies:
@@ -6184,8 +6184,8 @@ packages:
'@cloudflare/workerd-windows-64': 1.20240718.0
dev: true
- /wrangler@3.66.0:
- resolution: {integrity: sha512-5fEyXsP8qvrUeR13kCfA3OG1z/ABx+/a8hzIA55nCUM2/tjI67ZkfeN1VdOmG6cipZDvs4HfN8rp7j+e+21nKA==}
+ /wrangler@3.67.0:
+ resolution: {integrity: sha512-elun6p9rAmGr/CtnCixhUXWeKT+LnFbHDsLLizgAlFJbsgCPV/O1if7uMjTGD/fUJNXrwbTVRpxvInz5X9gE2Q==}
engines: {node: '>=16.17.0'}
hasBin: true
peerDependencies:
diff --git a/app/src/app/components/background.tsx b/app/src/app/components/background.tsx
index 2637f313d..b2fac03c7 100644
--- a/app/src/app/components/background.tsx
+++ b/app/src/app/components/background.tsx
@@ -1,3 +1,4 @@
+import { phone, touchScreen } from "/src/env";
import { createRWS } from "/src/solid/rws";
const texts = [
@@ -135,9 +136,12 @@ function TextWrapper({
}
});
- onMount(() => {
- seconds.set(Math.round(p()!.clientWidth / 20));
- });
+ // Bug in Safari iOS, not sure where else, works perfectly on Mac OS though
+ if (!touchScreen) {
+ onMount(() => {
+ seconds.set(Math.round(p()!.clientWidth / 20));
+ });
+ }
return (
(
- preferredColorSchemeMatchMedia.matches ? "dark" : "light",
- );
-
- function preferredColorSchemeListener(event: MediaQueryListEvent) {
- return preferredSystemTheme.set(event.matches ? "dark" : "light");
- }
-
- preferredColorSchemeMatchMedia.addEventListener(
- "change",
- preferredColorSchemeListener,
- );
-
- onCleanup(() => {
- preferredColorSchemeMatchMedia.removeEventListener(
- "change",
- preferredColorSchemeListener,
- );
+ const userConfig = createUserConfig({
+ dark,
});
- createEffect(() => {
- if (
- appTheme.selected() === "Dark" ||
- (appTheme.selected() === "System" && preferredSystemTheme() === "dark")
- ) {
- dark.set(true);
- document.documentElement.classList.add("dark");
- } else {
- dark.set(false);
- document.documentElement.classList.remove("dark");
- }
- });
-
- const backgroundMode = createSL(["Scroll", "Static"] as const, {
- saveable: {
- key: "bg-mode",
- mode: "localStorage",
- },
- defaultIndex: 0,
- });
-
- const backgroundOpacity = createSL(
- [
- {
- text: "Strong",
- value: 0.0444,
- },
- {
- text: "Normal",
- value: 0.0333,
- },
- {
- text: "Light",
- value: 0.0222,
- },
- {
- text: "Subtle",
- value: 0.0111,
- },
- ] as const,
- {
- saveable: {
- key: "bg-text-opacity",
- mode: "localStorage",
- },
- defaultIndex: 2,
- },
- );
-
const fullscreen = createRWS(
readBooleanURLParam(LOCAL_STORAGE_FULLSCREEN) ||
readBooleanFromStorage(LOCAL_STORAGE_FULLSCREEN) ||
@@ -240,8 +164,8 @@ export function App() {
<>
diff --git a/app/src/app/scripts/types.d.ts b/app/src/app/scripts/types.d.ts
new file mode 100644
index 000000000..4f0d75f68
--- /dev/null
+++ b/app/src/app/scripts/types.d.ts
@@ -0,0 +1 @@
+type UserConfig = ReturnType;
diff --git a/app/src/app/scripts/user.ts b/app/src/app/scripts/user.ts
new file mode 100644
index 000000000..5e42601b9
--- /dev/null
+++ b/app/src/app/scripts/user.ts
@@ -0,0 +1,70 @@
+import { createSL } from "/src/scripts/utils/selectableList/static";
+import { createPreferredColorSchemeAccessor } from "/src/solid/prefferedColorScheme";
+
+export function createUserConfig({ dark }: { dark: RWS }) {
+ const userConfig = {
+ settings: {
+ appTheme: createSL(["System", "Dark", "Light"] as const, {
+ saveable: {
+ key: "app-theme",
+ mode: "localStorage",
+ },
+ defaultIndex: 1,
+ }),
+ background: {
+ mode: createSL(["Scroll", "Static"] as const, {
+ saveable: {
+ key: "bg-mode",
+ mode: "localStorage",
+ },
+ defaultIndex: 0,
+ }),
+ opacity: createSL(
+ [
+ {
+ text: "Strong",
+ value: 0.0444,
+ },
+ {
+ text: "Normal",
+ value: 0.0333,
+ },
+ {
+ text: "Light",
+ value: 0.0222,
+ },
+ {
+ text: "Subtle",
+ value: 0.0111,
+ },
+ ] as const,
+ {
+ saveable: {
+ key: "bg-text-opacity",
+ mode: "localStorage",
+ },
+ defaultIndex: 2,
+ },
+ ),
+ },
+ },
+ };
+
+ const preferredSystemTheme = createPreferredColorSchemeAccessor();
+
+ createEffect(() => {
+ if (
+ userConfig.settings.appTheme.selected() === "Dark" ||
+ (userConfig.settings.appTheme.selected() === "System" &&
+ preferredSystemTheme() === "dark")
+ ) {
+ dark.set(true);
+ document.documentElement.classList.add("dark");
+ } else {
+ dark.set(false);
+ document.documentElement.classList.remove("dark");
+ }
+ });
+
+ return userConfig;
+}
diff --git a/app/src/solid/prefferedColorScheme.ts b/app/src/solid/prefferedColorScheme.ts
new file mode 100644
index 000000000..516759c23
--- /dev/null
+++ b/app/src/solid/prefferedColorScheme.ts
@@ -0,0 +1,31 @@
+import { createRWS } from "./rws";
+
+type ColorScheme = "light" | "dark";
+
+export function createPreferredColorSchemeAccessor() {
+ const preferredColorSchemeMatchMedia = window.matchMedia(
+ "(prefers-color-scheme: dark)",
+ );
+
+ const preferredColorScheme = createRWS(
+ preferredColorSchemeMatchMedia.matches ? "dark" : "light",
+ );
+
+ function preferredColorSchemeListener(event: MediaQueryListEvent) {
+ return preferredColorScheme.set(event.matches ? "dark" : "light");
+ }
+
+ preferredColorSchemeMatchMedia.addEventListener(
+ "change",
+ preferredColorSchemeListener,
+ );
+
+ onCleanup(() => {
+ preferredColorSchemeMatchMedia.removeEventListener(
+ "change",
+ preferredColorSchemeListener,
+ );
+ });
+
+ return preferredColorScheme satisfies Accessor;
+}
diff --git a/parser/Cargo.lock b/parser/Cargo.lock
index 3881b6b68..a009a121f 100644
--- a/parser/Cargo.lock
+++ b/parser/Cargo.lock
@@ -301,9 +301,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
+checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
"clap_derive",
@@ -311,9 +311,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
+checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -323,9 +323,9 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.8"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
+checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck",
"proc-macro2",
@@ -1625,9 +1625,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -1860,9 +1860,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.15"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
+checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c"
dependencies = [
"serde",
"serde_spanned",
@@ -1872,18 +1872,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.16"
+version = "0.22.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
+checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
dependencies = [
"indexmap",
"serde",
diff --git a/parser/Cargo.toml b/parser/Cargo.toml
index 0a188eefd..e11a78e56 100644
--- a/parser/Cargo.toml
+++ b/parser/Cargo.toml
@@ -15,7 +15,7 @@ bitcoin = { version = "0.32.2", features = ["serde"] }
bitcoin_hashes = { version = "0.14.0" }
byteorder = "1.5.0"
chrono = { version = "0.4.38", features = ["serde"] }
-clap = { version = "4.5.9", features = ["derive"] }
+clap = { version = "4.5.11", features = ["derive"] }
color-eyre = "0.6.3"
db-key = "=0.0.5"
derive_deref = "1.1.1"
@@ -30,4 +30,4 @@ reqwest = { version = "0.12.5", features = ["blocking", "json"] }
sanakirja = "1.4.2"
serde = { version = "1.0.204", features = ["derive"] }
serde_json = "1.0.120"
-toml = "0.8.15"
+toml = "0.8.16"
diff --git a/parser/src/price/satonomics.rs b/parser/src/price/satonomics.rs
index 4a02a1011..2453b9481 100644
--- a/parser/src/price/satonomics.rs
+++ b/parser/src/price/satonomics.rs
@@ -21,11 +21,11 @@ const RETRIES: usize = 10;
impl Satonomics {
fn get_base_url(try_index: usize) -> &'static str {
- // if try_index < RETRIES / 2 {
- SATONOMICS_OFFICIAL_URL
- // } else {
- // SATONOMICS_OFFICIAL_BACKUP_URL
- // }
+ if try_index < RETRIES / 2 {
+ SATONOMICS_OFFICIAL_URL
+ } else {
+ SATONOMICS_OFFICIAL_BACKUP_URL
+ }
}
pub fn fetch_height_prices(chunk_id: HeightMapChunkId) -> color_eyre::Result> {
diff --git a/server/Cargo.lock b/server/Cargo.lock
index 2d90bf329..1a09858de 100644
--- a/server/Cargo.lock
+++ b/server/Cargo.lock
@@ -432,9 +432,9 @@ dependencies = [
[[package]]
name = "clap"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
+checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
dependencies = [
"clap_builder",
"clap_derive",
@@ -442,9 +442,9 @@ dependencies = [
[[package]]
name = "clap_builder"
-version = "4.5.9"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
+checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
dependencies = [
"anstream",
"anstyle",
@@ -454,9 +454,9 @@ dependencies = [
[[package]]
name = "clap_derive"
-version = "4.5.8"
+version = "4.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
+checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
dependencies = [
"heck",
"proc-macro2",
@@ -1852,9 +1852,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
+checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
dependencies = [
"serde",
]
@@ -2135,9 +2135,9 @@ dependencies = [
[[package]]
name = "toml"
-version = "0.8.15"
+version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
+checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c"
dependencies = [
"serde",
"serde_spanned",
@@ -2147,18 +2147,18 @@ dependencies = [
[[package]]
name = "toml_datetime"
-version = "0.6.6"
+version = "0.6.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
+checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
dependencies = [
"serde",
]
[[package]]
name = "toml_edit"
-version = "0.22.16"
+version = "0.22.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
+checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
dependencies = [
"indexmap",
"serde",