[PR #296] [CLOSED] Add PWA service worker, manifest, and assets #561

Closed
opened 2026-02-25 23:34:44 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-shiori/shiori/pull/296
Author: @m-bers
Created: 1/25/2021
Status: Closed

Base: masterHead: master


📝 Commits (2)

  • 9f59508 Add PWA service worker, manifest, and assets
  • 0bffe11 Fix service worker caching

📊 Changes

8 files changed (+164 additions, -66 deletions)

View changed files

📝 internal/view/content.html (+9 -0)
📝 internal/view/index.html (+9 -0)
📝 internal/view/login.html (+9 -0)
internal/view/manifest.json (+26 -0)
internal/view/pwabuilder-sw.js (+18 -0)
internal/view/res/apple-touch-icon-512x512.png (+0 -0)
📝 internal/webserver/assets-prod.go (+90 -66)
📝 internal/webserver/server.go (+3 -0)

📄 Description

Not a perfect lighthouse score, but Shiori is installable as a PWA, and the app currently works offline for articles that have already loaded.
Screen Shot 2021-01-24 at 8 40 27 PM

Either use localhost or serve (with SSL/TLS) using a reverse proxy like NGINX:

server {
    listen       80;
    listen  [::]:80;
    server_name  shiori.example.com;
    return 301 https://shiori.example.com$request_uri;
}

server {
    listen              443 ssl;
    server_name         shiori.example.com;

    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

    ssl_certificate     /etc/letsencrypt/live/example.com/cert.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

    location / {
        proxy_pass http://shiori:8080;
    }
}

The goal is to eventually make use of the Web Share Target API so it's as easy to save a link to Shiori from Android/iOS as it is with the browser extension.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-shiori/shiori/pull/296 **Author:** [@m-bers](https://github.com/m-bers) **Created:** 1/25/2021 **Status:** ❌ Closed **Base:** `master` ← **Head:** `master` --- ### 📝 Commits (2) - [`9f59508`](https://github.com/go-shiori/shiori/commit/9f59508b7481c05927984cb1912342521c243eaa) Add PWA service worker, manifest, and assets - [`0bffe11`](https://github.com/go-shiori/shiori/commit/0bffe1147f6d9aca62e6ed4de2f49db673bdf093) Fix service worker caching ### 📊 Changes **8 files changed** (+164 additions, -66 deletions) <details> <summary>View changed files</summary> 📝 `internal/view/content.html` (+9 -0) 📝 `internal/view/index.html` (+9 -0) 📝 `internal/view/login.html` (+9 -0) ➕ `internal/view/manifest.json` (+26 -0) ➕ `internal/view/pwabuilder-sw.js` (+18 -0) ➕ `internal/view/res/apple-touch-icon-512x512.png` (+0 -0) 📝 `internal/webserver/assets-prod.go` (+90 -66) 📝 `internal/webserver/server.go` (+3 -0) </details> ### 📄 Description Not a perfect lighthouse score, but Shiori is installable as a PWA, and the app currently works offline for articles that have already loaded. <img width="913" alt="Screen Shot 2021-01-24 at 8 40 27 PM" src="https://user-images.githubusercontent.com/4750774/105662373-68178d00-5e84-11eb-8fcb-81fc0b659a3a.png"> Either use localhost or serve (with SSL/TLS) using a reverse proxy like NGINX: ``` server { listen 80; listen [::]:80; server_name shiori.example.com; return 301 https://shiori.example.com$request_uri; } server { listen 443 ssl; server_name shiori.example.com; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_certificate /etc/letsencrypt/live/example.com/cert.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; location / { proxy_pass http://shiori:8080; } } ``` The goal is to eventually make use of the [Web Share Target API](https://web.dev/web-share-target/) so it's as easy to save a link to Shiori from Android/iOS as it is with the browser extension. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-25 23:34:44 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/shiori#561
No description provided.