Merge branch 'main' into user-account
This commit is contained in:
		
						commit
						cf68414c40
					
				
					 6 changed files with 64 additions and 21 deletions
				
			
		
							
								
								
									
										28
									
								
								.gitpod.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.gitpod.yml
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,28 @@ | ||||||
|  | tasks: | ||||||
|  |   - name: docs | ||||||
|  |     before: make docs-deps | ||||||
|  |     command: mkdocs serve | ||||||
|  |   - name: binary | ||||||
|  |     before: | | ||||||
|  |       npm install --global nodemon | ||||||
|  |       make cli-deps-static-sites | ||||||
|  |     command: | | ||||||
|  |       nodemon --watch './**/*.go' --ext go --signal SIGTERM --exec "CGO_ENABLED=1 go run main.go serve --listen-http :2586 --debug --base-url $(gp url 2586)" | ||||||
|  |     openMode: split-right | ||||||
|  |   - name: web | ||||||
|  |     before: make web-deps | ||||||
|  |     command: cd web && npm start | ||||||
|  |     openMode: split-right | ||||||
|  | 
 | ||||||
|  | vscode: | ||||||
|  |   extensions: | ||||||
|  |     - golang.go | ||||||
|  |     - ms-azuretools.vscode-docker | ||||||
|  | 
 | ||||||
|  | ports: | ||||||
|  |   - name: docs | ||||||
|  |     port: 8000 | ||||||
|  |   - name: binary | ||||||
|  |     port: 2586 | ||||||
|  |   - name: web | ||||||
|  |     port: 3000 | ||||||
|  | @ -11,6 +11,8 @@ | ||||||
| [](https://matrix.to/#/#ntfy-space:matrix.org) | [](https://matrix.to/#/#ntfy-space:matrix.org) | ||||||
| [](https://www.reddit.com/r/ntfy/) | [](https://www.reddit.com/r/ntfy/) | ||||||
| [](https://ntfy.statuspage.io/) | [](https://ntfy.statuspage.io/) | ||||||
|  | [](https://gitpod.io/#https://github.com/binwiederhier/ntfy) | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| **ntfy** (pronounce: *notify*) is a simple HTTP-based [pub-sub](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) notification service. | **ntfy** (pronounce: *notify*) is a simple HTTP-based [pub-sub](https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern) notification service. | ||||||
| It allows you to **send notifications to your phone or desktop via scripts** from any computer, entirely **without signup or cost**. | It allows you to **send notifications to your phone or desktop via scripts** from any computer, entirely **without signup or cost**. | ||||||
|  | @ -94,8 +96,12 @@ appreciated. A big fat **Thank You** to the folks already sponsoring ntfy: | ||||||
| <a href="https://github.com/tonyakwei"><img src="https://github.com/tonyakwei.png" width="40px" /></a> | <a href="https://github.com/tonyakwei"><img src="https://github.com/tonyakwei.png" width="40px" /></a> | ||||||
| <a href="https://github.com/crosbyh"><img src="https://github.com/crosbyh.png" width="40px" /></a> | <a href="https://github.com/crosbyh"><img src="https://github.com/crosbyh.png" width="40px" /></a> | ||||||
| <a href="https://github.com/mdlnr"><img src="https://github.com/mdlnr.png" width="40px" /></a> | <a href="https://github.com/mdlnr"><img src="https://github.com/mdlnr.png" width="40px" /></a> | ||||||
|  | <a href="https://github.com/p-samuel"><img src="https://github.com/p-samuel.png" width="40px" /></a> | ||||||
|  | <a href="https://github.com/zugaldia"><img src="https://github.com/zugaldia.png" width="40px" /></a> | ||||||
|  | <a href="https://github.com/NathanSweet"><img src="https://github.com/NathanSweet.png" width="40px" /></a> | ||||||
| 
 | 
 | ||||||
| I'd also like to thank [DigitalOcean](https://www.digitalocean.com/) for supporting the project with $60/yr: | I'd also like to thank [IntelliJ IDEA](https://www.jetbrains.com/idea/) for providing their awesome IDE to me for free, | ||||||
|  | and [DigitalOcean](https://www.digitalocean.com/) for supporting the project with $60/yr: | ||||||
| 
 | 
 | ||||||
| <a href="https://www.digitalocean.com/"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px"></a> | <a href="https://www.digitalocean.com/"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" width="201px"></a> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -43,6 +43,13 @@ Build related: | ||||||
| The `web/` and `docs/` folder are the sources for web app and documentation. During the build process, | The `web/` and `docs/` folder are the sources for web app and documentation. During the build process, | ||||||
| the generated output is copied to `server/site` (web app and landing page) and `server/docs` (documentation). | the generated output is copied to `server/site` (web app and landing page) and `server/docs` (documentation). | ||||||
| 
 | 
 | ||||||
|  | ### Build/test on Gitpod | ||||||
|  | To get a quick working development environment you can use [Gitpod](https://gitpod.io), an in-browser IDE  | ||||||
|  | that makes it easy to develop ntfy without having to set up a desktop IDE. For any real development, | ||||||
|  | I do suggest a proper IDE like [IntelliJ IDEA](https://www.jetbrains.com/idea/). | ||||||
|  | 
 | ||||||
|  | [](https://gitpod.io/#https://github.com/binwiederhier/ntfy) | ||||||
|  | 
 | ||||||
| ### Build requirements | ### Build requirements | ||||||
| 
 | 
 | ||||||
| * [Go](https://go.dev/) (required for main server) | * [Go](https://go.dev/) (required for main server) | ||||||
|  |  | ||||||
|  | @ -7,33 +7,27 @@ and the [ntfy Android app](https://github.com/binwiederhier/ntfy-android/release | ||||||
| **Features:** | **Features:** | ||||||
| 
 | 
 | ||||||
| * Web: Generate random topic name button ([#453](https://github.com/binwiederhier/ntfy/issues/453), thanks to [@yardenshoham](https://github.com/yardenshoham)) | * Web: Generate random topic name button ([#453](https://github.com/binwiederhier/ntfy/issues/453), thanks to [@yardenshoham](https://github.com/yardenshoham)) | ||||||
|  | * Add [Gitpod config](https://github.com/binwiederhier/ntfy/blob/main/.gitpod.yml) ([#540](https://github.com/binwiederhier/ntfy/pull/540), thanks to [@yardenshoham](https://github.com/yardenshoham))  | ||||||
| 
 | 
 | ||||||
| **Bug fixes + maintenance:** | **Bug fixes + maintenance:** | ||||||
| 
 | 
 | ||||||
| * Remove `--env-topic` option from `ntfy publish` as per [deprecation](deprecations.md) (no ticket) | * Remove `--env-topic` option from `ntfy publish` as per [deprecation](deprecations.md) (no ticket) | ||||||
|  | * Prepared statements for message cache writes ([#542](https://github.com/binwiederhier/ntfy/pull/542), thanks to [@nicois](https://github.com/nicois)) | ||||||
| 
 | 
 | ||||||
| ## ntfy Android app v1.16.0 (UNRELEASED) | ## ntfy Android app v1.16.0 | ||||||
|  | Released December 11, 2022 | ||||||
|  | 
 | ||||||
|  | This is a feature and platform/dependency upgrade release. You can now have per-subscription notification settings | ||||||
|  | (including sounds, DND, etc.), and you can make notifications continue ringing until they are dismissed. There's also | ||||||
|  | support for thematic/adaptive launcher icon for Android 13. | ||||||
|  | 
 | ||||||
|  | There are a few more Android 13 specific things, as well as many bug fixes: No more crashes from large images, no more | ||||||
|  | opening the wrong subscription, and we also fixed the icon color issue. | ||||||
| 
 | 
 | ||||||
| **Features:** | **Features:** | ||||||
| 
 | 
 | ||||||
| * Custom per-subscription notification settings incl. sounds, DND, etc. ([#6](https://github.com/binwiederhier/ntfy/issues/6), thanks to [@doits](https://github.com/doits)) | * Custom per-subscription notification settings incl. sounds, DND, etc. ([#6](https://github.com/binwiederhier/ntfy/issues/6), thanks to [@doits](https://github.com/doits)) | ||||||
| * Insistent notifications that ring until dismissed ([#417](https://github.com/binwiederhier/ntfy/issues/417), thanks to [@danmed](https://github.com/danmed) for reporting) | * Insistent notifications that ring until dismissed ([#417](https://github.com/binwiederhier/ntfy/issues/417), thanks to [@danmed](https://github.com/danmed) for reporting) | ||||||
| 
 |  | ||||||
| **Bug fixes:** |  | ||||||
| 
 |  | ||||||
| * Android 5 (SDK 21): Fix crash on unsubscribing ([#528](https://github.com/binwiederhier/ntfy/issues/528), thanks to Roger M.) |  | ||||||
| 
 |  | ||||||
| ## ntfy Android app v1.15.2 (UNRELEASED) |  | ||||||
| 
 |  | ||||||
| This release is mainly a platform and dependency upgrade release, sprinkled with lots and lots of bugfixes. This version |  | ||||||
| now targets SDK 33 (Android 13), and brings a few Android 13 specific improvements. Most prominently, ntfy now supports  |  | ||||||
| thematic/adaptive launcher icons.  |  | ||||||
| 
 |  | ||||||
| Other than that, the app now doesn't crash anymore when you send large attachment images, and we fixed the notification |  | ||||||
| icon color. |  | ||||||
| 
 |  | ||||||
| **Features:** |  | ||||||
| 
 |  | ||||||
| * Add thematic/adaptive launcher icon ([#513](https://github.com/binwiederhier/ntfy/issues/513), thanks to [@daedric7](https://github.com/daedric7) for reporting) | * Add thematic/adaptive launcher icon ([#513](https://github.com/binwiederhier/ntfy/issues/513), thanks to [@daedric7](https://github.com/daedric7) for reporting) | ||||||
| 
 | 
 | ||||||
| **Bug fixes + maintenance:** | **Bug fixes + maintenance:** | ||||||
|  | @ -42,6 +36,7 @@ icon color. | ||||||
| * Simplify F-Droid build: Disable tasks for Google Services ([#516](https://github.com/binwiederhier/ntfy/issues/516), thanks to [@markosopcic](https://github.com/markosopcic)) | * Simplify F-Droid build: Disable tasks for Google Services ([#516](https://github.com/binwiederhier/ntfy/issues/516), thanks to [@markosopcic](https://github.com/markosopcic)) | ||||||
| * Android 13: Ask for permission to post notifications ([#508](https://github.com/binwiederhier/ntfy/issues/508)) | * Android 13: Ask for permission to post notifications ([#508](https://github.com/binwiederhier/ntfy/issues/508)) | ||||||
| * Android 13: Do not allow swiping away the foreground notification ([#521](https://github.com/binwiederhier/ntfy/issues/521), thanks to [@alexhorner](https://github.com/alexhorner) for reporting) | * Android 13: Do not allow swiping away the foreground notification ([#521](https://github.com/binwiederhier/ntfy/issues/521), thanks to [@alexhorner](https://github.com/alexhorner) for reporting) | ||||||
|  | * Android 5 (SDK 21): Fix crash on unsubscribing ([#528](https://github.com/binwiederhier/ntfy/issues/528), thanks to Roger M.) | ||||||
| * Remove timestamp when copying message text ([#471](https://github.com/binwiederhier/ntfy/issues/471), thanks to [@wunter8](https://github.com/wunter8)) | * Remove timestamp when copying message text ([#471](https://github.com/binwiederhier/ntfy/issues/471), thanks to [@wunter8](https://github.com/wunter8)) | ||||||
| * Fix auto-delete if some icons do not exist anymore ([#506](https://github.com/binwiederhier/ntfy/issues/506)) | * Fix auto-delete if some icons do not exist anymore ([#506](https://github.com/binwiederhier/ntfy/issues/506)) | ||||||
| * Fix notification icon color ([#480](https://github.com/binwiederhier/ntfy/issues/480), thanks to [@s-h-a-r-d](https://github.com/s-h-a-r-d) for reporting) | * Fix notification icon color ([#480](https://github.com/binwiederhier/ntfy/issues/480), thanks to [@s-h-a-r-d](https://github.com/s-h-a-r-d) for reporting) | ||||||
|  |  | ||||||
|  | @ -258,12 +258,20 @@ func (c *messageCache) addMessages(ms []*message) error { | ||||||
| 	if c.nop { | 	if c.nop { | ||||||
| 		return nil | 		return nil | ||||||
| 	} | 	} | ||||||
|  | 	if len(ms) == 0 { | ||||||
|  | 		return nil | ||||||
|  | 	} | ||||||
| 	start := time.Now() | 	start := time.Now() | ||||||
| 	tx, err := c.db.Begin() | 	tx, err := c.db.Begin() | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return err | 		return err | ||||||
| 	} | 	} | ||||||
| 	defer tx.Rollback() | 	defer tx.Rollback() | ||||||
|  | 	stmt, err := tx.Prepare(insertMessageQuery) | ||||||
|  | 	if err != nil { | ||||||
|  | 		return err | ||||||
|  | 	} | ||||||
|  | 	defer stmt.Close() | ||||||
| 	for _, m := range ms { | 	for _, m := range ms { | ||||||
| 		if m.Event != messageEvent { | 		if m.Event != messageEvent { | ||||||
| 			return errUnexpectedMessageType | 			return errUnexpectedMessageType | ||||||
|  | @ -291,8 +299,7 @@ func (c *messageCache) addMessages(ms []*message) error { | ||||||
| 		if m.Sender.IsValid() { | 		if m.Sender.IsValid() { | ||||||
| 			sender = m.Sender.String() | 			sender = m.Sender.String() | ||||||
| 		} | 		} | ||||||
| 		_, err := tx.Exec( | 		_, err := stmt.Exec( | ||||||
| 			insertMessageQuery, |  | ||||||
| 			m.ID, | 			m.ID, | ||||||
| 			m.Time, | 			m.Time, | ||||||
| 			m.Topic, | 			m.Topic, | ||||||
|  |  | ||||||
|  | @ -253,7 +253,7 @@ export async function* fetchLinesIterator(fileURL, headers) { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| export const randomAlphanumericString = (len) => { | export const randomAlphanumericString = (len) => { | ||||||
|     const alphabet = "abcdefghijklmnopqrstuvwxyz0123456789"; |     const alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; | ||||||
|     let id = ""; |     let id = ""; | ||||||
|     for (let i = 0; i < len; i++) { |     for (let i = 0; i < len; i++) { | ||||||
|         id += alphabet[(Math.random() * alphabet.length) | 0]; |         id += alphabet[(Math.random() * alphabet.length) | 0]; | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue