Releases: okTurtles/group-income
v1.2.1 quickfix
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
VAPID_EMAIL=mailto:[email protected]
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
Friendly Release Notes
Note: v1.2.1 quickfix addresses a problem with push notifications not working in existing (upgraded) groups.
New Features
- Push notifications! This version includes full support for end-to-end encrypted web push notifications.
Works best on mobile as a PWA.
Please see our blog for this release for more details and caveats about push notifications, especially on iOS. - Push notifications are now used for important in-group events and reminders.
- You can now change your password!
- Image compression: uploaded images will take up a maximum of ~400KB each to speed up loading times and save server space.
- Image viewer now supports left/right arrow keys to switch between multiple image attachments.
- Chat file attachments now show their size.
- You can now use the paste feature to add an image attachment.
- Mobile:
<enter>
key creates newline instead of sending message - Chelonia now runs in a service worker to support push notifications and better state management with multiple open tabs.
Bugfixes
- Prevent accidental creation of multiple DMs.
- Fixed rendering of payment table rows.
- Fixes for forced-color mode.
- Fixed remaining issues related to showing not-logged-in users under group inactivity.
- "See proposal" link should always lead to proposal.
- Fixed chat auto-scroll issue.
- Fixed various markdown rendering bugs in chat.
- Miscellaneous bug fixes.
Improvements
- Added download/delete buttons to the image viewer.
- Emojis rendered slightly larger in chat now.
- Increased the maximum length of payment details to support long Lightning payment addresses.
- Various UI/UX improvements. See below for a complete list.
Server Wipe Coming in Version 2.0!
Version 2.0 is coming soon, and with it some major backwards-incompatible changes to the internals of Group Income.
We will be forced to wipe all data on the groupincome.app site. Therefore, please backup any
important data before the release to your computer. We will host a temporary backup site where users will be able
to access their data for a period of time after the new version launches.
What's Changed
- Two bug-fixes by @SebinSong in #2405
- #2393 - Add
ButtonSubmit.vue
for 'Send message' button by @SebinSong in #2402 - #2406 - payment table UI issue by @SebinSong in #2410
- #2412
<Enter>
key issue on mobile by @SebinSong in #2413 - #2391 - Multiple images in the viewer by @SebinSong in #2419
- Update Node & Ubuntu versions by @corrideat in #2439
- fixed tooltip position on mobile by @Vayras in #2436
- #2411 - Compress large images attached in the chat by @SebinSong in #2428
- #2429 - File attachment in chat should show the size by @SebinSong in #2435
- Two bug-fixes for forced-color mode by @SebinSong in #2443
- #2418 - Show error UI for mincome maximum by @SebinSong in #2420
- #2414 - "See proposal" link should always lead to proposal by @SebinSong in #2421
- #2425 - Improve navigation behaviour by @SebinSong in #2431
- #2447 - Content overflowing issue in proposal widget on mobile size screen by @SebinSong in #2451
- Chelonia in SW by @corrideat in #2357
- #2441 - proposal notifications should have 'you' when I am the creator by @SebinSong in #2444
- #2457 - Fix the broken blockquotes in the chat markdown by @SebinSong in #2458
- #2466 - Chat auto-scroll issue by @SebinSong in #2468
- #2449 - Improve UX for 'remove-member' proposal by @SebinSong in #2463
- #2445 - add Download/Delete buttons and display image size in the image viewer by @SebinSong in #2453
- #2448 - Fix the invisible menu issue by @SebinSong in #2456
- Wait for Chelonia, more error logs by @corrideat in #2471
- Password changes by @corrideat in #2446
- Fix infinite loop on NEW_CHATROOM_UNREAD_POSITION by @corrideat in #2475
- #2467 - Broken mention in blockquotes by @SebinSong in #2480
- #2478 - Add a prompt pop-up for 'delete-account' button by @SebinSong in #2481
- #2464 - Make emoji size slightly larger in the message text by @SebinSong in #2483
- #2450 - Anchor tooltip to the element in 'Group Activity' area by @SebinSong in #2482
- Improvements to time syncing by @corrideat in #2493
- Closes #2465 by @corrideat in #2500
- Handle unhandled promise rejection by @corrideat in #2501
- #2498 - Fix the link bug in the chat by @SebinSong in #2499
- Prevent error on long press on the chatbox by @pieer in #2484
- #2490 - Implement image-attachment by pasting it by @SebinSong in #2496
- Corrideat/task/#2479 string comparison issue by @corrideat in #2504
- Basic notification support by @corrideat in #2459
- #2506 - Fix the redirection bug on
Send Message
button. by @SebinSong in #2509 - #2502 - Payment method max-char by @SebinSong in #2505
- #2417 Update the tooltip for 'Anyone link' by @SebinSong in #2488
- #2427 - Add 'reply' menu for a proposal notification message. by @SebinSong in #2491
- Bugfix, optional password salt field by @corrideat in #2511
- Bugfixes by @corrideat in #2514
- Closes #2517 by @corrideat in #2519
- #2512 - Fix a couple of chat regressions by @SebinSong in #2521
- #2518 - HTML rendering bug in
BannerGeneral.vue
by @SebinSong in #2532 - Better error handling. Closes #2522. by @corrideat in #2524
- #2520 - Sentence is cut off in the payment-streak tooltip by @SebinSong in #2531
- #2529 - Fix the chat regression by @SebinSong in #2533
New Contributors
Full Changelog: v1.1.0...v1.2.0
$ sha256sum gi-*
5a4f44cce9bf2c32b8b335f087db8a9383d9c524f4a512e07f10d262d5713e91 gi-v1.2.1.debug.tgz
0c23bf00f845c87c5cd279c588fcfbdb6f7208b7fa44f6f1bf4f85b145c77f57 gi-v1.2.1.tgz
v1.2.0
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
VAPID_EMAIL=mailto:[email protected]
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
Friendly Release Notes
New Features
- Push notifications! This version includes full support for end-to-end encrypted web push notifications.
Works best on mobile as a PWA.
Please see our blog for this release for more details and caveats about push notifications, especially on iOS. - Push notifications are now used for important in-group events and reminders.
- You can now change your password!
- Image compression: uploaded images will take up a maximum of ~400KB each to speed up loading times and save server space.
- Image viewer now supports left/right arrow keys to switch between multiple image attachments.
- Chat file attachments now show their size.
- You can now use the paste feature to add an image attachment.
- Mobile:
<enter>
key creates newline instead of sending message - Chelonia now runs in a service worker to support push notifications and better state management with multiple open tabs.
Bugfixes
- Prevent accidental creation of multiple DMs.
- Fixed rendering of payment table rows.
- Fixes for forced-color mode.
- Fixed remaining issues related to showing not-logged-in users under group inactivity.
- "See proposal" link should always lead to proposal.
- Fixed chat auto-scroll issue.
- Fixed various markdown rendering bugs in chat.
- Miscellaneous bug fixes.
Improvements
- Added download/delete buttons to the image viewer.
- Emojis rendered slightly larger in chat now.
- Increased the maximum length of payment details to support long Lightning payment addresses.
- Various UI/UX improvements. See below for a complete list.
Server Wipe Coming in Version 2.0!
Version 2.0 is coming soon, and with it some major backwards-incompatible changes to the internals of Group Income.
We will be forced to wipe all data on the groupincome.app site. Therefore, please backup any
important data before the release to your computer. We will host a temporary backup site where users will be able
to access their data for a period of time after the new version launches.
What's Changed
- Two bug-fixes by @SebinSong in #2405
- #2393 - Add
ButtonSubmit.vue
for 'Send message' button by @SebinSong in #2402 - #2406 - payment table UI issue by @SebinSong in #2410
- #2412
<Enter>
key issue on mobile by @SebinSong in #2413 - #2391 - Multiple images in the viewer by @SebinSong in #2419
- Update Node & Ubuntu versions by @corrideat in #2439
- fixed tooltip position on mobile by @Vayras in #2436
- #2411 - Compress large images attached in the chat by @SebinSong in #2428
- #2429 - File attachment in chat should show the size by @SebinSong in #2435
- Two bug-fixes for forced-color mode by @SebinSong in #2443
- #2418 - Show error UI for mincome maximum by @SebinSong in #2420
- #2414 - "See proposal" link should always lead to proposal by @SebinSong in #2421
- #2425 - Improve navigation behaviour by @SebinSong in #2431
- #2447 - Content overflowing issue in proposal widget on mobile size screen by @SebinSong in #2451
- Chelonia in SW by @corrideat in #2357
- #2441 - proposal notifications should have 'you' when I am the creator by @SebinSong in #2444
- #2457 - Fix the broken blockquotes in the chat markdown by @SebinSong in #2458
- #2466 - Chat auto-scroll issue by @SebinSong in #2468
- #2449 - Improve UX for 'remove-member' proposal by @SebinSong in #2463
- #2445 - add Download/Delete buttons and display image size in the image viewer by @SebinSong in #2453
- #2448 - Fix the invisible menu issue by @SebinSong in #2456
- Wait for Chelonia, more error logs by @corrideat in #2471
- Password changes by @corrideat in #2446
- Fix infinite loop on NEW_CHATROOM_UNREAD_POSITION by @corrideat in #2475
- #2467 - Broken mention in blockquotes by @SebinSong in #2480
- #2478 - Add a prompt pop-up for 'delete-account' button by @SebinSong in #2481
- #2464 - Make emoji size slightly larger in the message text by @SebinSong in #2483
- #2450 - Anchor tooltip to the element in 'Group Activity' area by @SebinSong in #2482
- Improvements to time syncing by @corrideat in #2493
- Closes #2465 by @corrideat in #2500
- Handle unhandled promise rejection by @corrideat in #2501
- #2498 - Fix the link bug in the chat by @SebinSong in #2499
- Prevent error on long press on the chatbox by @pieer in #2484
- #2490 - Implement image-attachment by pasting it by @SebinSong in #2496
- Corrideat/task/#2479 string comparison issue by @corrideat in #2504
- Basic notification support by @corrideat in #2459
- #2506 - Fix the redirection bug on
Send Message
button. by @SebinSong in #2509 - #2502 - Payment method max-char by @SebinSong in #2505
- #2417 Update the tooltip for 'Anyone link' by @SebinSong in #2488
- #2427 - Add 'reply' menu for a proposal notification message. by @SebinSong in #2491
- Bugfix, optional password salt field by @corrideat in #2511
- Bugfixes by @corrideat in #2514
- Closes #2517 by @corrideat in #2519
- #2512 - Fix a couple of chat regressions by @SebinSong in #2521
- #2518 - HTML rendering bug in
BannerGeneral.vue
by @SebinSong in #2532 - Better error handling. Closes #2522. by @corrideat in #2524
- #2520 - Sentence is cut off in the payment-streak tooltip by @SebinSong in #2531
- #2529 - Fix the chat regression by @SebinSong in #2533
New Contributors
Full Changelog: v1.1.0...v1.2.0
$ sha256sum gi-*
77c0ab81ecb83dc597bcaff180c7d02ece211d6817d26e27a6bf1ff31adc74e4 gi-v1.2.0.debug.tgz
6613272de6cee5101fb2674857b89257c50fe1df857363d8dc7517fb2b809f97 gi-v1.2.0.tgz
v1.1.0
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
Friendly Release Notes
New Features
- New image viewer: zoom in and out of photos with ease!
- "Notes to self": can create DM's to yourself now
- Notifications for non-monetary contributions updates
- Anyone-can-join invite links are now updated to support maximum 150 invitations
NOTE: old anyone-can-join invite links are expired, please use the new one!
Bugfixes
- The emoji selector's search field is now selected when you open it
- Fix for usernames in app notifications when user is removed
- Fix for "haven't logged in" users metric
- Fixed a markdown-related formatting issue related to lists
- Fixed send button not enabled when pasting text into chat
- Fix closing expired proposals
Improvements
- Add a red badge to the info icon to make it easier to see where DMs are
- Improved edit message input field hight
- Placeholders for payment info fields
- Misc. internal improvements
What's Changed
- Document #2271. Closes #2271. by @corrideat in #2338
- #2002 allow DM to yourself by @SebinSong in #2343
- #2345 - Broken username in the in-app notification after the user has been kicked out by @SebinSong in #2346
- Simplify and explain login flow by @corrideat in #2317
- Fix #2288 - lastLoggedIn update by @corrideat in #2304
- Fix #2125. Add message sender when available by @corrideat in #2306
- Use proper validator functions by @corrideat in #2353
- Limit logs to 500 lines. by @corrideat in #2344
- Fix #2329. Remove unused GIMessage attributes. by @corrideat in #2350
- #2305 Implement in-app notifications for non-monetary contributions by @SebinSong in #2314
- Clarify use of sync. Closes #2298 by @corrideat in #2303
- DRY kv/set by @corrideat in #2319
- #2337 - Fix the overly tall chatroom height when a message is in edit mode by @SebinSong in #2355
- No document deps by @corrideat in #2359
- Various minor fixes by @corrideat in #2360
- #2356 - Fix the chat markdown bug related to a line-break by @SebinSong in #2361
- Refactoring removing global getters from contracts by @corrideat in #2363
- Notifications without Vuex by @corrideat in #2365
- #2369 chat paste bug by @SebinSong in #2370
- Remember whether the welcome screen was seen by @corrideat in #2375
- Corrideat/task/#2341 anyone can join invite issue by @corrideat in #2366
- #2282 - Placeholders for payment info by @SebinSong in #2378
- #2342 -
bypassUI: true
option ingroup-large.spec.js
and etc. by @SebinSong in #2377 - #2374 Fix typos in various places by @SebinSong in #2376
- Revert
cy.giLogout({ bypassUI: true })
ingroup-chat-message.spec.js
by @SebinSong in #2380 - #2188 - Fix payment table UI bug that happens in certain desktop viewport range by @SebinSong in #2383
- #2347 - Build Image viewer in the app by @SebinSong in #2367
- Bugfixes by @corrideat in #2382
- Fix the broken DM notification by @SebinSong in #2389
- #2373 - Bug: Proposal does not expire by @SebinSong in #2388
- Fix #2309: Add badge on mobile if there is an unread message by @pieer in #2324
- #2392 - No need to send a notification when the chatroom is open by @SebinSong in #2394
- Move active chatroom test by @corrideat in #2399
- #2387 Two emoji picker issues by @SebinSong in #2400
Full Changelog: v1.0.8...v1.1.0
$ sha256sum gi-*
e6c9fdcc07aa5ab3f22f763fe8756ff28616ed812de711f2a21f7756cec14360 gi-v1.1.0.debug.tgz
cda5a7586887e5a34d910e7eef79a6e499b3b7cd7567ca520c1d2ed5f763eab9 gi-v1.1.0.tgz
v1.0.8
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
What's Changed
- #2325 - add
stringMax()
validator for user display name by @SebinSong in #2328 - Fix #2277 - significantly improve reference count handling on join/leave group/chatroom by @corrideat in #2294
- #2249 Bug-fix in tooltip by @SebinSong in #2327
- Fixes #2311. by @corrideat in #2333
- Sebin/task/#2284 upgrade cypress to the latest ricardo by @corrideat in #2331
- #2296 - Fix the broken search functionality in the
/payments
page by @SebinSong in #2335
Full Changelog: v1.0.7...v1.0.8
$ sha256sum gi-*
f8b4de9dd1eba3a155db66f1a8edf6d5d10f52f620654e5d3648f3ba04fdb5f4 gi-v1.0.8.debug.tgz
ecb94023ce9f9f6e9042b692a6342e5fa06d38dee358c1a1c887fbf58972deac gi-v1.0.8.tgz
v1.0.7
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
What's Changed
- #2245 - Make non-monetary contribution mandatory in IncomeDetails.vue for non-pledgers by @SebinSong in #2292
- #2283 - Chat should not replace symbols in
<code>
by @SebinSong in #2293 - #2269 - Only show history if it exists by @SebinSong in #2297
- #2241 - Bug-fix in invited-by tooltip by @SebinSong in #2295
- #2267 - Don't prompt users to "Send Payments" until first distribution period starts by @SebinSong in #2308
- Compound PR for two simple UI updates #2310 / #2200 by @SebinSong in #2315
- #2076 - Fix the group placeholder icon issue by @SebinSong in #2320
- Have timeout eat into reconnect delay by @corrideat in #2318
- #2158 - Fix the broken 'Reduced-motion' mode by @SebinSong in #2316
- #2313 Make sure at least 1 non-monetary is required in Contributions page by @SebinSong in #2321
Full Changelog: v1.0.6...v1.0.7
$ sha256sum gi-*
e1b886d70a929d846cd9d54154746e99bc627906f83b1248d4ce1cb13565e103 gi-v1.0.7.debug.tgz
8d047b4c86d8d206f9d17b054bb9afc4ada6b9ea93461c666c73a8aab5a1a8de gi-v1.0.7.tgz
v1.0.6
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
NOTE: when upgrading, it's important to first delete the dist/
folder and replace it with the new contents from the archive.
What's Changed
- #2051 - Enhance the logic handling 'Already-joined group' error by @SebinSong in #2273
- #2220 - add more numberRange / stringMax validators by @SebinSong in #2274
- rate limit signups by @taoeffect in #2280
- #2164 - Keep payments info when switching between pledger and receiver by @SebinSong in #2268
- #2217 - Add UI limit for chat message by @SebinSong in #2272
- bump ci actions to v4 by @taoeffect in #2285
- Enqueue all pubsub events by @corrideat in #2286
Full Changelog: v1.0.5...v1.0.6
sha256sum gi-*
bfeb1dc30e31ae1bd19f93991e210249e892db51f11ac0945b72dddaaed1fe10 gi-v1.0.6.debug.tgz
2814ef0ef722c4a4f8bda5022952acfc087a0b86474845e1cbf6742849115e3e gi-v1.0.6.tgz
v1.0.5
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
What's Changed
- #2252 fix newly created chatroom not joined on another offline device by @corrideat & @taoeffect in #2275
Full Changelog: v1.0.4...v1.0.5
$ sha256sum gi-*
a4dcfa1f445f52d2a9e590f9af8a82298398ad301a91d33b313c5dcf6a53317c gi-v1.0.5.debug.tgz
f3117ee4684c2c8f4be84c86e954ad6827665f4b9554cb4c4b974b96538583b0 gi-v1.0.5.tgz
v1.0.4
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
What's Changed
NOTE: This release contains no changes to the server or frontend, it just fixes an issue with 1.0.3 not running because of an issue with the Gruntfile.js.
Full Changelog: v1.0.3...v1.0.4
$ sha256sum gi-*
ccdf1400c05861c455bc69cfbb4054e5a4795cc45e07a17ca73fe3319019918a gi-v1.0.4.debug.tgz
d3e98b8bcbb1a5c9a6da8cf93b735ade1f9de90d76619e3678e0861225a08085 gi-v1.0.4.tgz
v1.0.3
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
What's Changed
- fix help and feedback page link by @taoeffect in #2263
- enable debug grunt deploy/serve by @taoeffect in #2265
Full Changelog: v1.0.2...v1.0.3
$ sha256sum gi-*
371aa1c38887f4094033251fc944a7d2a12dd3d74394eb8f458705bdc62bdf39 gi-v1.0.3.debug.tgz
cd0857daab430850717731f1685a813782bf69779591be033748741c41cb6b13 gi-v1.0.3.tgz
v1.0.2
How to run this
The archive file contains a dist/
folder that needs to be placed into a copy of this cloned repo. Then you can serve it using grunt serve
. On a production site, you should to use these environment variables:
NODE_ENV=production
GI_PERSIST=sqlite
(orGI_PERSIST=fs
, butsqlite
is recommended)
What's Changed
This release only changes the backend (not the frontend or contracts):
- log registrations + add ip to backend errors by @taoeffect in #2261
Full Changelog: v1.0.1...v1.0.2
$ sha256sum gi-*
f2287a2200c284462a0493e2fb1e9a3019f2b5fba12951ec67c844ffeb325a9e gi-v1.0.2.tgz
8d00dfe85636cf28a61d988b5c8733397bf6f0b328592de5a6e60324bcf8d4a6 gi-v1.0.2.debug.tgz