mirror of
https://github.com/sonr-io/sonr.git
synced 2026-08-03 09:51:39 +00:00
- **deps: remove tigerbeetle-go dependency** - **refactor: remove unused landing page components and models** - **feat: add pin and publish vault handlers** - **refactor: move payment and credential services to webui browser package** - **refactor: remove unused credentials management components** - **feat: add landing page components and middleware for credentials and payments** - **refactor: remove unused imports in vault config** - **refactor: remove unused bank, DID, and DWN gRPC clients** - **refactor: rename client files and improve code structure** - **feat: add session middleware helpers and landing page components** - **feat: add user profile registration flow** - **feat: Implement WebAuthn registration flow** - **feat: add error view for users without WebAuthn devices** - **chore: update htmx to include extensions** - **refactor: rename pin handler to claim handler and update routes** - **chore: update import paths after moving UI components and styles** - **fix: address potential server errors by handling and logging them properly** - **refactor: move vault config to gateway package and update related dependencies** - **style: simplify form styling and remove unnecessary components** - **feat: improve UI design for registration flow** - **feat: implement passkey-based authentication** - **refactor: migrate registration forms to use reusable form components** - **refactor: remove tailwindcss setup and use CDN instead** - **style: update submit button style to use outline variant** - **refactor: refactor server and IPFS client, remove MPC encryption** - **refactor: Abstract keyshare functionality and improve message encoding** - **refactor: improve keyset JSON marshaling and error handling** - **feat: add support for digital signatures using MPC keys** - **fix: Refactor MarshalJSON to use standard json.Marshal for Message serialization** - **fix: Encode messages before storing in keyshare structs** - **style: update form input styles for improved user experience** - **refactor: improve code structure in registration handlers** - **refactor: consolidate signer middleware and IPFS interaction** - **refactor: rename MPC signing and refresh protocol functions** - **refactor: update hway configuration loading mechanism** - **feat: integrate database support for sessions and users** - **refactor: remove devnet infrastructure and simplify build process** - **docs(guides): add Sonr DID module guide** - **feat: integrate progress bar into registration form** - **refactor: migrate WebAuthn dependencies to protocol package** - **feat: enhance user registration with passkey integration and improved form styling** - **refactor: move gateway view handlers to internal pages package** - **refactor: Move address package to MPC module** - **feat: integrate turnstile for registration** - **style: remove unnecessary size attribute from buttons** - **refactor: rename cookie package to session/cookie** - **refactor: remove unnecessary types.Session dependency** - **refactor: rename pkg/core to pkg/chain** - **refactor: simplify deployment process by removing testnet-specific Taskfile and devbox configuration** - **feat: add error redirect functionality and improve routes** - **feat: implement custom error handling for gateway** - **chore: update version number to 0.0.7 in template** - **feat: add IPFS client implementation** - **feat: Implement full IPFS client interface with comprehensive methods** - **refactor: improve IPFS client path handling** - **refactor: Move UCAN middleware to controller package** - **feat: add UCAN middleware to motr** - **refactor: update libp2p dependency** - **docs: add UCAN specification document** - **refactor: move UCAN controller logic to common package** - **refactor: rename exports.go to common.go** - **feat: add UCAN token support** - **refactor: migrate UCAN token parsing to dedicated package** - **refactor: improve CometBFT and app config initialization** - **refactor: improve deployment scripts and documentation** - **feat: integrate IPFS and producer middleware** - **refactor: rename agent directory to aider** - **fix: correct libp2p import path** - **refactor: remove redundant dependency** - **cleanup: remove unnecessary test files** - **refactor: move attention types to crypto/ucan package** - **feat: expand capabilities and resource types for UCANs** - **refactor: rename sonr.go to codec.go and update related imports** - **feat: add IPFS-based token store** - **feat: Implement IPFS-based token store with caching and UCAN integration** - **feat: Add dynamic attenuation constructor for UCAN presets** - **fix: Handle missing or invalid attenuation data with EmptyAttenuation** - **fix: Update UCAN attenuation tests with correct capability types** - **feat: integrate UCAN-based authorization into the producer middleware** - **refactor: remove unused dependency on go-ucan** - **refactor: Move address handling logic to DID module** - **feat: Add support for compressed and uncompressed Secp256k1 public keys in didkey** - **test: Add test for generating DID key from MPC keyshares** - **feat: Add methods for extracting compressed and uncompressed public keys in share types** - **feat: Add BaseKeyshare struct with public key conversion methods** - **refactor: Use compressed and uncompressed public keys in keyshare, fix public key usage in tests and verification** - **feat: add support for key generation policy type** - **fix: correct typo in VaultPermissions constant** - **refactor: move JWT related code to ucan package** - **refactor: move UCAN JWT and source code to spec package**
139 lines
3.7 KiB
HTML
139 lines
3.7 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Sonr DWN</title>
|
|
|
|
<!-- HTMX -->
|
|
<script src="https://unpkg.com/htmx.org@1.9.10"></script>
|
|
|
|
<!-- WASM Support -->
|
|
<script src="https://cdn.jsdelivr.net/gh/golang/go@go1.22.5/misc/wasm/wasm_exec.js"></script>
|
|
|
|
<!-- Main JS -->
|
|
<script src="main.js"></script>
|
|
|
|
<!-- Tailwind (assuming you're using it based on your classes) -->
|
|
<script src="https://cdn.tailwindcss.com"></script>
|
|
|
|
<!-- Add manifest for PWA support -->
|
|
<link
|
|
rel="manifest"
|
|
href="/app.webmanifest"
|
|
crossorigin="use-credentials"
|
|
/>
|
|
|
|
<!-- Offline detection styles -->
|
|
<style>
|
|
.offline-indicator {
|
|
display: none;
|
|
}
|
|
|
|
body.offline .offline-indicator {
|
|
display: block;
|
|
background: #f44336;
|
|
color: white;
|
|
text-align: center;
|
|
padding: 0.5rem;
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
z-index: 1000;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body
|
|
class="flex items-center justify-center h-full bg-zinc-50 lg:p-24 md:16 p-4"
|
|
>
|
|
<!-- Offline indicator -->
|
|
<div class="offline-indicator">
|
|
You are currently offline. Some features may be limited.
|
|
</div>
|
|
|
|
<!-- Loading indicator -->
|
|
<div
|
|
id="loading-indicator"
|
|
class="fixed top-0 left-0 w-full h-1 bg-blue-200 transition-all duration-300"
|
|
style="display: none"
|
|
>
|
|
<div class="h-full bg-blue-600 w-0 transition-all duration-300"></div>
|
|
</div>
|
|
|
|
<main
|
|
class="flex-row items-center justify-center mx-auto w-fit max-w-screen-sm gap-y-3"
|
|
>
|
|
<div
|
|
id="content"
|
|
hx-get="/#"
|
|
hx-trigger="load"
|
|
hx-swap="outerHTML"
|
|
hx-indicator="#loading-indicator"
|
|
>
|
|
Loading...
|
|
</div>
|
|
</main>
|
|
|
|
<!-- WASM Ready Indicator (hidden) -->
|
|
<div
|
|
id="wasm-status"
|
|
class="hidden fixed bottom-4 right-4 p-2 rounded-md bg-green-500 text-white"
|
|
hx-swap-oob="true"
|
|
>
|
|
WASM Ready
|
|
</div>
|
|
|
|
<script>
|
|
// Initialize service worker
|
|
if ("serviceWorker" in navigator) {
|
|
window.addEventListener("load", async function () {
|
|
try {
|
|
const registration =
|
|
await navigator.serviceWorker.register("/sw.js");
|
|
console.log(
|
|
"Service Worker registered with scope:",
|
|
registration.scope,
|
|
);
|
|
} catch (error) {
|
|
console.error("Service Worker registration failed:", error);
|
|
}
|
|
});
|
|
}
|
|
|
|
// HTMX loading indicator
|
|
htmx.on("htmx:beforeRequest", function (evt) {
|
|
document.getElementById("loading-indicator").style.display = "block";
|
|
});
|
|
|
|
htmx.on("htmx:afterRequest", function (evt) {
|
|
document.getElementById("loading-indicator").style.display = "none";
|
|
});
|
|
|
|
// WASM ready event handler
|
|
document.addEventListener("wasm-ready", function () {
|
|
const status = document.getElementById("wasm-status");
|
|
status.classList.remove("hidden");
|
|
setTimeout(() => {
|
|
status.classList.add("hidden");
|
|
}, 3000);
|
|
});
|
|
|
|
// Offline status handler
|
|
window.addEventListener("offline", function () {
|
|
document.body.classList.add("offline");
|
|
});
|
|
|
|
window.addEventListener("online", function () {
|
|
document.body.classList.remove("offline");
|
|
});
|
|
|
|
// Initial offline check
|
|
if (!navigator.onLine) {
|
|
document.body.classList.add("offline");
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|