diff --git a/html/index.html b/html/index.html index 241d905..a9f880a 100644 --- a/html/index.html +++ b/html/index.html @@ -72,7 +72,7 @@
Version
-
1.111.0
+
1.111.2
Category
diff --git a/ios/build.zsh b/ios/build.zsh index 328a6b5..a379cff 100755 --- a/ios/build.zsh +++ b/ios/build.zsh @@ -52,13 +52,12 @@ function cleanup_build { # 1.8. Update package.json version (prevent App Store version conflict) echo "1.8. Updating package.json version..." if [ -n "$APP_VERSION" ]; then - PACKAGE_JSON="$REPO_DIR/package.json" - # Use node to update version in package.json + # Use node to update version in package.json (already in REPO_DIR) node -e " const fs = require('fs'); - const pkg = JSON.parse(fs.readFileSync('$PACKAGE_JSON', 'utf8')); + const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); pkg.version = '$APP_VERSION'; - fs.writeFileSync('$PACKAGE_JSON', JSON.stringify(pkg, null, 2) + '\n'); + fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n'); " echo " ✅ Set version to $APP_VERSION" else @@ -68,8 +67,7 @@ function cleanup_build { # 1.9. Update buildNumber (CFBundleVersion) with current timestamp echo "1.9. Updating buildNumber..." local build_number=$(date +%y%m%d%H%M%S) - CONFIG_FILE="$REPO_DIR/app.config.js" - sediment "s/buildNumber: '[0-9]*'/buildNumber: '${build_number}'/" "$CONFIG_FILE" + sediment "s/buildNumber: '[0-9]*'/buildNumber: '${build_number}'/" "./app.config.js" echo " ✅ Set buildNumber to $build_number" # 2. Prebuild (Generate ios directory) diff --git a/ios/patching/022-social-app-ios-bskyweb-support-pages.patch b/ios/patching/022-social-app-ios-bskyweb-support-pages.patch index 1fa2ebe..0c983ac 100644 --- a/ios/patching/022-social-app-ios-bskyweb-support-pages.patch +++ b/ios/patching/022-social-app-ios-bskyweb-support-pages.patch @@ -16,7 +16,7 @@ index 790f211ee..ec05a8bcd 100644 e.GET("/intent/verify-email", server.WebGeneric) e.GET("/intent/age-assurance", server.WebGeneric) @@ -825,3 +831,33 @@ func (srv *Server) serveSitemapRequest(c echo.Context, url, sitemapType string) - + return nil } + @@ -49,510 +49,3 @@ index 790f211ee..ec05a8bcd 100644 + 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..62a39a21d ---- /dev/null -+++ b/bskyweb/templates/about-app.html -@@ -0,0 +1,135 @@ -+ -+ -+ -+ -+ -+ App Info - Aiat -+ -+ -+ -+ -+ -+ -+
-+ Aiat -+
Aiat
-+
v1.111.0
-+
-+ -+
-+

Aiat is a social networking application based on AT Protocol. Connect with your community on syu.is.

-+
-+ -+
-+
App Information
-+
-+
-+
Version
-+
1.111.0
-+
-+
-+
Category
-+
Social
-+
-+
-+
Supported OS
-+
iOS 26.0+
-+
-+
-+
Price
-+
Free
-+
-+
-+
-+ -+
-+
Developer
-+
syui
-+ -+ -+
-+ -+
-+
Bitcoin
-+
-+ -+ 3BqHXxraZyBapyNpJmniJDh9zqzuB8aoRr -+ copy -+
-+
-+ -+ -+ -+ -+ -+ -diff --git a/bskyweb/templates/about-help.html b/bskyweb/templates/about-help.html -new file mode 100644 -index 000000000..89f40e414 ---- /dev/null -+++ b/bskyweb/templates/about-help.html -@@ -0,0 +1,100 @@ -+ -+ -+ -+ -+ -+ Help - syu.is -+ -+ -+ -+ -+
-+ ← Back to syu.is -+

Help Center

-+
-+ -+

About syu.is

-+

syu.is is a social networking service built on the AT Protocol (Authenticated Transfer Protocol). It allows users to share content, connect with others, and participate in a decentralized social network.

-+ -+

Frequently Asked Questions

-+ -+
-+

What is the AT Protocol?

-+

The AT Protocol is a decentralized social networking protocol that allows users to own their data and identity. It enables federation between different services while maintaining user control.

-+
-+ -+
-+

How do I create an account?

-+

You can create an account by downloading the app or visiting the website. You'll need to provide an email address and choose a username.

-+
-+ -+
-+

How do I reset my password?

-+

You can reset your password through the login screen by selecting "Forgot Password" and following the instructions sent to your email.

-+
-+ -+
-+

How do I delete my account?

-+

You can delete your account through Settings > Account. Please note that account deletion is permanent and cannot be undone.

-+
-+ -+
-+

How do I report abuse or inappropriate content?

-+

You can report content by using the report function available on each post. Our moderation team will review reports and take appropriate action.

-+
-+ -+

Contact

-+
-+

For additional support or questions:

-+ -+
-+ -+

Related Links

-+ -+ -+ -+ -+ -diff --git a/bskyweb/templates/about-license.html b/bskyweb/templates/about-license.html -new file mode 100644 -index 000000000..02fe64696 ---- /dev/null -+++ b/bskyweb/templates/about-license.html -@@ -0,0 +1,66 @@ -+ -+ -+ -+ -+ -+ License - syu.is -+ -+ -+ -+ -+
-+ ← Back to syu.is -+

License

-+
-+ -+

Aiat (iOS/Android App)

-+

This application is based on the Bluesky Social App, which is open source software.

-+ -+

Open Source Licenses

-+

This app uses the following open source software:

-+ -+

Bluesky Social App

-+

Licensed under the MIT License

-+

https://github.com/bluesky-social/social-app

-+ -+

AT Protocol

-+

Licensed under the MIT License / Apache 2.0

-+

https://github.com/bluesky-social/atproto

-+ -+

Third Party Libraries

-+

This application includes various third-party libraries, each with their own licenses. For a complete list, please see the application's source code repository.

-+ -+ -+ -+ -diff --git a/bskyweb/templates/about-privacy.html b/bskyweb/templates/about-privacy.html -new file mode 100644 -index 000000000..14a1168ad ---- /dev/null -+++ b/bskyweb/templates/about-privacy.html -@@ -0,0 +1,92 @@ -+ -+ -+ -+ -+ -+ Privacy Policy - syu.is -+ -+ -+ -+ -+
-+ ← Back to syu.is -+

Privacy Policy

-+
-+ -+

1. Introduction

-+

This Privacy Policy explains how syu.is collects, uses, and protects your personal information when you use our service.

-+ -+

2. Information We Collect

-+

We collect the following types of information:

-+ -+ -+

3. How We Use Your Information

-+

We use your information to:

-+ -+ -+

4. Data Sharing

-+

As part of the AT Protocol federation, your public content may be shared with other servers in the network. We do not sell your personal information to third parties.

-+ -+

5. Data Security

-+

We implement appropriate security measures to protect your personal information. However, no method of transmission over the Internet is 100% secure.

-+ -+

6. Your Rights

-+

You have the right to:

-+ -+ -+

7. Cookies

-+

We use cookies and similar technologies to maintain your session and improve your experience.

-+ -+

8. Changes to This Policy

-+

We may update this Privacy Policy from time to time. We will notify you of any significant changes.

-+ -+

9. Contact

-+

For privacy-related questions, please visit our Help page.

-+ -+ -+ -+ -diff --git a/bskyweb/templates/about-tos.html b/bskyweb/templates/about-tos.html -new file mode 100644 -index 000000000..db5d82f5c ---- /dev/null -+++ b/bskyweb/templates/about-tos.html -@@ -0,0 +1,84 @@ -+ -+ -+ -+ -+ -+ Terms of Service - syu.is -+ -+ -+ -+ -+
-+ ← Back to syu.is -+

Terms of Service

-+
-+ -+

1. Introduction

-+

Welcome to syu.is. By using our service, you agree to these terms. Please read them carefully.

-+ -+

2. Service Description

-+

syu.is is a social networking service built on the AT Protocol. We provide a platform for users to share content and connect with others.

-+ -+

3. User Responsibilities

-+

As a user of syu.is, you agree to:

-+ -+ -+

4. Content Guidelines

-+

Users are responsible for the content they post. Prohibited content includes:

-+ -+ -+

5. Privacy

-+

Your privacy is important to us. Please review our Privacy Policy to understand how we handle your data.

-+ -+

6. Disclaimer

-+

The service is provided "as is" without warranties of any kind. We are not liable for any damages arising from your use of the service.

-+ -+

7. Changes to Terms

-+

We may update these terms from time to time. Continued use of the service after changes constitutes acceptance of the new terms.

-+ -+

8. Contact

-+

For questions about these terms, please visit our Help page.

-+ -+ -+ -+ diff --git a/ios/preview.zsh b/ios/preview.zsh index ad6eb11..3644670 100755 --- a/ios/preview.zsh +++ b/ios/preview.zsh @@ -45,12 +45,11 @@ fi # 1.8. Update package.json version (prevent App Store version conflict) echo "1.8. Updating package.json version..." if [ -n "$APP_VERSION" ]; then - PACKAGE_JSON="$REPO_DIR/package.json" node -e " const fs = require('fs'); - const pkg = JSON.parse(fs.readFileSync('$PACKAGE_JSON', 'utf8')); + const pkg = JSON.parse(fs.readFileSync('./package.json', 'utf8')); pkg.version = '$APP_VERSION'; - fs.writeFileSync('$PACKAGE_JSON', JSON.stringify(pkg, null, 2) + '\n'); + fs.writeFileSync('./package.json', JSON.stringify(pkg, null, 2) + '\n'); " echo " ✅ Set version to $APP_VERSION" else @@ -60,8 +59,7 @@ fi # 1.9. Update buildNumber (CFBundleVersion) with current timestamp echo "1.9. Updating buildNumber..." build_number=$(date +%y%m%d%H%M%S) -CONFIG_FILE="$REPO_DIR/app.config.js" -sediment "s/buildNumber: '[0-9]*'/buildNumber: '${build_number}'/" "$CONFIG_FILE" +sediment "s/buildNumber: '[0-9]*'/buildNumber: '${build_number}'/" "./app.config.js" echo " ✅ Set buildNumber to $build_number" # 2. Prebuild (Generate ios directory) diff --git a/ios/setup.zsh b/ios/setup.zsh index 2ce3727..cf3b058 100755 --- a/ios/setup.zsh +++ b/ios/setup.zsh @@ -205,52 +205,50 @@ function ios-setup-clone() { echo "Repository found: $target_dir" } -# Generate static HTML for at.syui.ai (CF Pages) -function ios-generate-static-html() { +# Generate bskyweb templates from html/ source +# html/ is the source of truth, bskyweb templates are generated +function ios-generate-bskyweb-templates() { echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" - echo "🌐 Generating static HTML for at.syui.ai..." + echo "🌐 Generating bskyweb templates from html/..." + local html_src="$d/html/about/support" local templates="$target_dir/bskyweb/templates" - local html_out="$d/html/about/support" - local static_out="$d/html/static" + local static_src="$d/html/static" + local static_out="$target_dir/bskyweb/static" - # Check if templates exist - if [ ! -d "$templates" ]; then - echo "⚠️ Templates not found, skipping static HTML generation" + # Check if html source exists + if [ ! -d "$html_src" ]; then + echo "⚠️ html/about/support not found, skipping template generation" return 1 fi - # Create output directories - mkdir -p "$html_out" + # Create output directory + mkdir -p "$templates" mkdir -p "$static_out" - # Convert templates to static HTML - # Replace {{ staticCDNHost }} with empty string (use relative paths) - for template in about-privacy.html about-license.html about-tos.html about-help.html about-app.html; do - if [ -f "$templates/$template" ]; then - local output_name="${template#about-}" # Remove 'about-' prefix - sed 's/{{ staticCDNHost }}//g' "$templates/$template" > "$html_out/$output_name" + # Convert html/ to bskyweb templates + # Add {{ staticCDNHost }} prefix to /static/ paths + for html_file in privacy.html license.html tos.html help.html app.html; do + if [ -f "$html_src/$html_file" ]; then + local template_name="about-${html_file}" + sed 's|href="/static/|href="{{ staticCDNHost }}/static/|g; s|src="/static/|src="{{ staticCDNHost }}/static/|g' \ + "$html_src/$html_file" > "$templates/$template_name" fi done - # Copy static assets from ios/assets - local favicon_src="$d/ios/assets/favicons" - if [ -d "$favicon_src" ]; then - cp -f "$favicon_src/favicon.png" "$static_out/" 2>/dev/null - fi - if [ -f "$d/ios/assets/logo.png" ]; then - cp -f "$d/ios/assets/logo.png" "$static_out/app.png" + # Also generate about-app.html from index.html if exists + if [ -f "$d/html/index.html" ]; then + sed 's|href="/static/|href="{{ staticCDNHost }}/static/|g; s|src="/static/|src="{{ staticCDNHost }}/static/|g' \ + "$d/html/index.html" > "$templates/about-app.html" fi - # Use about-app.html as index.html (root page) - if [ -f "$templates/about-app.html" ]; then - sed 's/{{ staticCDNHost }}//g' "$templates/about-app.html" > "$d/html/index.html" + # Copy static assets + if [ -d "$static_src" ]; then + cp -f "$static_src/"* "$static_out/" 2>/dev/null fi - echo "✅ Generated static HTML in $d/html/" - echo " - index.html (app info)" - echo " - about/support/privacy.html" - echo " - about/support/license.html" + echo "✅ Generated bskyweb templates" + echo " - about-privacy.html, about-tos.html, etc." echo "" } @@ -272,7 +270,7 @@ case "$1" in ios-patch-apply-all ios-restore-build-placeholder ios-copy-new-files - ios-generate-static-html + ios-generate-bskyweb-templates show-failed-patches exit ;; @@ -281,8 +279,8 @@ case "$1" in exit ;; html) - # Generate static HTML only (requires patches to be applied first) - ios-generate-static-html + # Generate bskyweb templates only (requires patches to be applied first) + ios-generate-bskyweb-templates exit ;; *) @@ -291,7 +289,7 @@ case "$1" in ios-patch-apply-all ios-restore-build-placeholder ios-copy-new-files - ios-generate-static-html + ios-generate-bskyweb-templates show-failed-patches ;; esac