ai/at
1
0

fix social-app ios patch

This commit is contained in:
2025-12-09 17:48:50 +09:00
parent 4ba39c15ad
commit dea55e649a

View File

@@ -2,7 +2,7 @@ diff --git a/bskyweb/cmd/bskyweb/server.go b/bskyweb/cmd/bskyweb/server.go
index ec5261dee..c670cf75a 100644 index ec5261dee..c670cf75a 100644
--- a/bskyweb/cmd/bskyweb/server.go --- a/bskyweb/cmd/bskyweb/server.go
+++ b/bskyweb/cmd/bskyweb/server.go +++ b/bskyweb/cmd/bskyweb/server.go
@@ -300,6 +300,10 @@ func serve(cctx *cli.Context) error { @@ -302,6 +302,12 @@ func serve(cctx *cli.Context) error {
e.GET("/support/tos", server.WebGeneric) e.GET("/support/tos", server.WebGeneric)
e.GET("/support/community-guidelines", server.WebGeneric) e.GET("/support/community-guidelines", server.WebGeneric)
e.GET("/support/copyright", server.WebGeneric) e.GET("/support/copyright", server.WebGeneric)
@@ -10,10 +10,12 @@ index ec5261dee..c670cf75a 100644
+ e.GET("/about/support/tos", server.WebAboutTOS) + e.GET("/about/support/tos", server.WebAboutTOS)
+ e.GET("/about/support/privacy-policy", server.WebAboutPrivacy) + e.GET("/about/support/privacy-policy", server.WebAboutPrivacy)
+ e.GET("/about/support/help", server.WebAboutHelp) + e.GET("/about/support/help", server.WebAboutHelp)
+ e.GET("/about/support/license", server.WebAboutLicense)
+ e.GET("/about/support/app", server.WebAboutApp)
e.GET("/intent/compose", server.WebGeneric) e.GET("/intent/compose", server.WebGeneric)
e.GET("/intent/verify-email", server.WebGeneric) e.GET("/intent/verify-email", server.WebGeneric)
e.GET("/intent/age-assurance", server.WebGeneric) e.GET("/intent/age-assurance", server.WebGeneric)
@@ -753,3 +757,21 @@ func (srv *Server) WebIpCC(c echo.Context) error { @@ -755,3 +761,33 @@ func (srv *Server) WebIpCC(c echo.Context) error {
} }
return c.JSON(200, outResponse) return c.JSON(200, outResponse)
} }
@@ -35,12 +37,237 @@ index ec5261dee..c670cf75a 100644
+ data := srv.NewTemplateContext() + data := srv.NewTemplateContext()
+ return c.Render(http.StatusOK, "about-help.html", data) + return c.Render(http.StatusOK, "about-help.html", data)
+} +}
+
+// Handler for About License page (syu.is specific)
+func (srv *Server) WebAboutLicense(c echo.Context) error {
+ data := srv.NewTemplateContext()
+ return c.Render(http.StatusOK, "about-license.html", data)
+}
+
+// Handler for About App page (syu.is specific)
+func (srv *Server) WebAboutApp(c echo.Context) error {
+ data := srv.NewTemplateContext()
+ return c.Render(http.StatusOK, "about-app.html", data)
+}
diff --git a/bskyweb/templates/about-app.html b/bskyweb/templates/about-app.html
new file mode 100644
index 000000000..000000002
--- /dev/null
+++ b/bskyweb/templates/about-app.html
@@ -0,0 +1,135 @@
+<!DOCTYPE html>
+<html lang="ja">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
+ <title>App Info - Aiat</title>
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
+ <style>
+ * { box-sizing: border-box; margin: 0; padding: 0; }
+ body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
+ line-height: 1.6;
+ color: #1a1a1a;
+ background: #fff;
+ padding: 20px;
+ max-width: 800px;
+ margin: 0 auto;
+ }
+ @media (prefers-color-scheme: dark) {
+ body { background: #000; color: #e0e0e0; }
+ a { color: #6bb3ff; }
+ h1, h2, h3 { color: #fff; }
+ .section { background: #1a1a1a; }
+ .info-item { background: #2a2a2a; }
+ }
+ .header { margin-bottom: 32px; }
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; color: #0066cc; text-decoration: none; }
+ .back-link:hover { text-decoration: underline; }
+ .app-header { text-align: center; margin-bottom: 32px; }
+ .app-icon { width: 80px; height: 80px; border-radius: 18px; margin-bottom: 12px; }
+ .app-name { font-size: 24px; font-weight: bold; margin-bottom: 4px; }
+ .app-version { font-size: 14px; color: #666; }
+ .section { background: #f5f5f5; border-radius: 16px; padding: 20px; margin-bottom: 16px; }
+ .section-title { font-size: 13px; font-weight: 600; color: #999; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; }
+ .description { font-size: 15px; line-height: 22px; }
+ .info-grid { display: flex; flex-wrap: wrap; gap: 8px; }
+ .info-item { flex: 1; min-width: 45%; text-align: center; background: #e8e8e8; border-radius: 12px; padding: 12px; }
+ .info-label { font-size: 11px; color: #999; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
+ .info-value { font-size: 16px; font-weight: 600; }
+ .developer-name { font-size: 18px; font-weight: 600; margin-bottom: 12px; }
+ .link-row { display: flex; align-items: center; padding: 12px 0; border-top: 1px solid rgba(0,0,0,0.1); }
+ .link-icon { font-size: 14px; font-weight: 600; color: #666; width: 70px; }
+ .link-value { flex: 1; font-size: 14px; color: #0084ff; text-decoration: none; }
+ .link-value:hover { text-decoration: underline; }
+ .link-arrow { font-size: 16px; color: #ccc; }
+ .bitcoin-row { display: flex; align-items: center; background: rgba(247, 147, 26, 0.08); border-radius: 12px; padding: 14px; gap: 10px; }
+ .bitcoin-label { font-size: 18px; font-weight: 600; color: #f7931a; }
+ .bitcoin-address { flex: 1; font-size: 11px; font-family: monospace; color: #666; word-break: break-all; }
+ .copy-btn { font-size: 12px; color: #999; cursor: pointer; min-width: 50px; text-align: right; }
+ .copy-btn:hover { color: #0084ff; }
+ .footer { text-align: center; margin-top: 32px; padding-top: 20px; border-top: 1px solid #ddd; }
+ .copyright { font-size: 12px; color: #999; }
+ </style>
+</head>
+<body>
+ <div class="header">
+ <a href="/" class="back-link">&larr; Back to syu.is</a>
+ </div>
+
+ <div class="app-header">
+ <img src="{{ staticCDNHost }}/static/favicon.png" alt="Aiat" class="app-icon">
+ <div class="app-name">Aiat</div>
+ <div class="app-version">v1.111.0</div>
+ </div>
+
+ <div class="section">
+ <p class="description">Aiat is a social networking application based on AT Protocol. Connect with your community on syu.is.</p>
+ </div>
+
+ <div class="section">
+ <div class="section-title">App Information</div>
+ <div class="info-grid">
+ <div class="info-item">
+ <div class="info-label">Version</div>
+ <div class="info-value">1.111.0</div>
+ </div>
+ <div class="info-item">
+ <div class="info-label">Category</div>
+ <div class="info-value">Social</div>
+ </div>
+ <div class="info-item">
+ <div class="info-label">Supported OS</div>
+ <div class="info-value">iOS 26.0+</div>
+ </div>
+ <div class="info-item">
+ <div class="info-label">Price</div>
+ <div class="info-value">Free</div>
+ </div>
+ </div>
+ </div>
+
+ <div class="section">
+ <div class="section-title">Developer</div>
+ <div class="developer-name">syui</div>
+ <div class="link-row">
+ <span class="link-icon">GitHub</span>
+ <a href="https://github.com/syui" class="link-value" target="_blank">github.com/syui</a>
+ <span class="link-arrow">→</span>
+ </div>
+ <div class="link-row">
+ <span class="link-icon">ATProto</span>
+ <a href="https://syu.is/syui" class="link-value" target="_blank">syu.is/syui</a>
+ <span class="link-arrow">→</span>
+ </div>
+ </div>
+
+ <div class="section">
+ <div class="section-title">Bitcoin</div>
+ <div class="bitcoin-row">
+ <span class="bitcoin-label">₿</span>
+ <span class="bitcoin-address" id="btc-address">3BqHXxraZyBapyNpJmniJDh9zqzuB8aoRr</span>
+ <span class="copy-btn" onclick="copyBTC()">copy</span>
+ </div>
+ </div>
+
+ <div class="footer">
+ <p class="copyright">© syui</p>
+ </div>
+
+ <script>
+ function copyBTC() {
+ const addr = document.getElementById('btc-address').textContent;
+ navigator.clipboard.writeText(addr).then(() => {
+ const btn = document.querySelector('.copy-btn');
+ btn.textContent = 'copied!';
+ btn.style.color = '#4CAF50';
+ setTimeout(() => {
+ btn.textContent = 'copy';
+ btn.style.color = '';
+ }, 2000);
+ });
+ }
+ </script>
+</body>
+</html>
diff --git a/bskyweb/templates/about-license.html b/bskyweb/templates/about-license.html
new file mode 100644
index 000000000..000000003
--- /dev/null
+++ b/bskyweb/templates/about-license.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html lang="ja">
+<head>
+ <meta charset="UTF-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
+ <title>License - syu.is</title>
+ <link rel="icon" type="image/png" href="{{ staticCDNHost }}/static/favicon.png">
+ <style>
+ * { box-sizing: border-box; margin: 0; padding: 0; }
+ body {
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
+ line-height: 1.6;
+ color: #1a1a1a;
+ background: #fff;
+ padding: 20px;
+ max-width: 800px;
+ margin: 0 auto;
+ }
+ @media (prefers-color-scheme: dark) {
+ body { background: #000; color: #e0e0e0; }
+ a { color: #6bb3ff; }
+ h1, h2, h3 { color: #fff; }
+ }
+ h1 { font-size: 28px; margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px solid #ddd; }
+ h2 { font-size: 20px; margin: 24px 0 12px; }
+ p { margin-bottom: 16px; }
+ ul { margin: 0 0 16px 24px; }
+ li { margin-bottom: 8px; }
+ a { color: #0066cc; text-decoration: none; }
+ a:hover { text-decoration: underline; }
+ .header { margin-bottom: 32px; }
+ .back-link { display: inline-block; margin-bottom: 16px; font-size: 14px; }
+ .footer { margin-top: 40px; padding-top: 20px; border-top: 1px solid #ddd; font-size: 14px; color: #666; }
+ pre { background: #f5f5f5; padding: 16px; border-radius: 8px; overflow-x: auto; font-size: 13px; }
+ @media (prefers-color-scheme: dark) { pre { background: #1a1a1a; } }
+ </style>
+</head>
+<body>
+ <div class="header">
+ <a href="/" class="back-link">&larr; Back to syu.is</a>
+ <h1>License</h1>
+ </div>
+
+ <h2>Aiat (iOS/Android App)</h2>
+ <p>This application is based on the Bluesky Social App, which is open source software.</p>
+
+ <h2>Open Source Licenses</h2>
+ <p>This app uses the following open source software:</p>
+
+ <h3>Bluesky Social App</h3>
+ <p>Licensed under the MIT License</p>
+ <p><a href="https://github.com/bluesky-social/social-app" target="_blank">https://github.com/bluesky-social/social-app</a></p>
+
+ <h3>AT Protocol</h3>
+ <p>Licensed under the MIT License / Apache 2.0</p>
+ <p><a href="https://github.com/bluesky-social/atproto" target="_blank">https://github.com/bluesky-social/atproto</a></p>
+
+ <h2>Third Party Libraries</h2>
+ <p>This application includes various third-party libraries, each with their own licenses. For a complete list, please see the application's source code repository.</p>
+
+ <div class="footer">
+ <p>Last updated: 2025</p>
+ <p>&copy; syu.is</p>
+ </div>
+</body>
+</html>
diff --git a/bskyweb/templates/about-help.html b/bskyweb/templates/about-help.html diff --git a/bskyweb/templates/about-help.html b/bskyweb/templates/about-help.html
new file mode 100644 new file mode 100644
index 000000000..d37db25c5 index 000000000..d37db25c5
--- /dev/null --- /dev/null
+++ b/bskyweb/templates/about-help.html +++ b/bskyweb/templates/about-help.html
@@ -0,0 +1,98 @@ @@ -0,0 +1,91 @@
+<!DOCTYPE html> +<!DOCTYPE html>
+<html lang="ja"> +<html lang="ja">
+<head> +<head>
@@ -130,6 +357,8 @@ index 000000000..d37db25c5
+ <ul> + <ul>
+ <li><a href="/about/support/tos">Terms of Service</a></li> + <li><a href="/about/support/tos">Terms of Service</a></li>
+ <li><a href="/about/support/privacy-policy">Privacy Policy</a></li> + <li><a href="/about/support/privacy-policy">Privacy Policy</a></li>
+ <li><a href="/about/support/license">License</a></li>
+ <li><a href="/about/support/app">App Info</a></li>
+ <li><a href="https://atproto.com" target="_blank">AT Protocol Documentation</a></li> + <li><a href="https://atproto.com" target="_blank">AT Protocol Documentation</a></li>
+ </ul> + </ul>
+ +
@@ -144,7 +373,7 @@ new file mode 100644
index 000000000..14a1168ad index 000000000..14a1168ad
--- /dev/null --- /dev/null
+++ b/bskyweb/templates/about-privacy.html +++ b/bskyweb/templates/about-privacy.html
@@ -0,0 +1,92 @@ @@ -0,0 +1,83 @@
+<!DOCTYPE html> +<!DOCTYPE html>
+<html lang="ja"> +<html lang="ja">
+<head> +<head>
@@ -242,7 +471,7 @@ new file mode 100644
index 000000000..db5d82f5c index 000000000..db5d82f5c
--- /dev/null --- /dev/null
+++ b/bskyweb/templates/about-tos.html +++ b/bskyweb/templates/about-tos.html
@@ -0,0 +1,84 @@ @@ -0,0 +1,76 @@
+<!DOCTYPE html> +<!DOCTYPE html>
+<html lang="ja"> +<html lang="ja">
+<head> +<head>