Skip to content

Commit bc3bf92

Browse files
committed
Merge branch 'dev'
2 parents 7499a55 + e88af6f commit bc3bf92

File tree

46 files changed

+388
-276
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+388
-276
lines changed

apps/backend/CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
66

77
## Unreleased
88

9+
## [6.0.2] - 2025-04-03
10+
11+
### Added
12+
- Email settings URL to chat digest and comment digest notification emails
13+
914
## [6.0.0] - 2025-03-14
1015

1116
Major Hylo redesign! After 6 months of work, we've redesigned the entire app more reliable, more functional,and easier to use.

apps/backend/api/models/TagFollow.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,13 @@ module.exports = bookshelf.Model.extend(Object.assign({
198198
if (!tagFollow.relations.user?.get('email')) continue
199199

200200
const locale = mapLocaleToSendWithUS(tagFollow.relations.user?.get('settings')?.locale || 'en-US')
201+
202+
const clickthroughParams = '?' + new URLSearchParams({
203+
ctt: 'chat_digest_email',
204+
cti: tagFollow.relations.user.id,
205+
ctcn: tagFollow.relations.group.get('name')
206+
}).toString()
207+
201208
const result = await Email.sendChatDigest({
202209
version: 'Redesign 2025',
203210
email: tagFollow.relations.user.get('email'),
@@ -206,10 +213,11 @@ module.exports = bookshelf.Model.extend(Object.assign({
206213
count: postData.length,
207214
chat_topic: tagFollow.relations.tag.get('name'),
208215
// For the overall chat room URL use the URL of the last post in the email digest
209-
chat_room_url: Frontend.Route.post(posts.models[posts.models.length - 1], tagFollow.relations.group),
216+
chat_room_url: Frontend.Route.post(posts.models[posts.models.length - 1], tagFollow.relations.group) + clickthroughParams,
210217
// date: TextHelpers.formatDatePair(posts[0].get('created_at'), false, false, posts[0].get('timezone')),
218+
email_settings_url: Frontend.Route.notificationsSettings(clickthroughParams, tagFollow.relations.user),
211219
group_name: tagFollow.relations.group.get('name'),
212-
group_avatar_url: tagFollow.relations.group.get('avatar_url'),
220+
group_avatar_url: tagFollow.relations.group.get('avatar_url') + clickthroughParams,
213221
posts: postData
214222
}
215223
})

apps/backend/api/models/comment/notifications.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -105,16 +105,23 @@ export const sendDigests = async () => {
105105
? otherNames[0]
106106
: otherNames.slice(0, otherNames.length - 1).join(', ') + ' & ' + otherNames[otherNames.length - 1]
107107

108+
const clickthroughParams = '?' + new URLSearchParams({
109+
ctt: 'message_digest_email',
110+
cti: user.id,
111+
ctcn: firstGroup.get('name')
112+
}).toString()
113+
108114
return Email.sendMessageDigest({
109115
email: user.get('email'),
110116
locale,
111117
data: {
112118
count: filtered.length,
113119
date: TextHelpers.formatDatePair(filtered[0].get('created_at'), false, false),
120+
email_settings_url: Frontend.Route.notificationsSettings(clickthroughParams, user),
114121
participant_avatars: otherAvatarUrls[0],
115122
participant_names: participantNames,
116123
other_names: otherNames,
117-
thread_url: Frontend.Route.thread(post),
124+
thread_url: Frontend.Route.thread(post) + clickthroughParams,
118125
messages: filtered.map(presentComment)
119126
},
120127
sender: {
@@ -128,15 +135,22 @@ export const sendDigests = async () => {
128135
const hasMention = ({ text }) =>
129136
RichText.getUserMentions(text).includes(user.id)
130137

138+
const clickthroughParams = '?' + new URLSearchParams({
139+
ctt: 'comment_digest_email',
140+
cti: user.id,
141+
ctcn: firstGroup.get('name')
142+
}).toString()
143+
131144
return Email.sendCommentDigest({
132145
email: user.get('email'),
133146
locale,
134147
data: {
135148
count: commentData.length,
136149
date: TextHelpers.formatDatePair(filtered[0].get('created_at'), false, false, post.get('timezone')),
150+
email_settings_url: Frontend.Route.notificationsSettings(clickthroughParams, user),
137151
post_title: post.summary(),
138-
post_creator_avatar_url: post.relations.user.get('avatar_url'),
139-
thread_url: Frontend.Route.comment({ comment: filtered[0], group: firstGroup, post }),
152+
post_creator_avatar_url: post.relations.user.get('avatar_url') + clickthroughParams,
153+
thread_url: Frontend.Route.comment({ comment: filtered[0], group: firstGroup, post }) + clickthroughParams,
140154
comments: commentData,
141155
subject_prefix: some(hasMention, commentData)
142156
? 'You were mentioned in'

apps/backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
"author": "Hylo <hello@hylo.com>",
66
"license": "Apache-2.0",
77
"private": true,
8-
"version": "6.0.0",
8+
"version": "6.0.2",
99
"nyc": {
1010
"sourceMap": false,
1111
"instrument": false,

apps/mobile/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ Here are the common scenarios in which we should run the `bump-version` command:
6666
- Upload the APK file downloaded from Bitrise and tested above
6767
- Add release notes
6868
- Submit for review/release
69-
- Once the release is accepted by both the stores run `yarn bump-version version prereleaase` on `dev`, commit the changes, then `git push --tags` to setup the next prerelease build versioning.
69+
- Once the release is accepted by both the stores run `yarn bump-version prepatch` and commit the changes to `dev` to setup the next patch version in a pre-release state (necessary for Apple to accept beta build after the current version is in production).
7070
- Open a new Milestone with the current pre-release version:
7171
- Look to `package.json#version` to get the new version, but leave off the `-0`
7272

@@ -76,4 +76,11 @@ Sentry error reporting is always on in production, and optionally enabled in dev
7676

7777
### Debugging, quirks, work-arounds
7878

79-
You’ll want to get familiar with the tooling for debugging actual WebView loads: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Debugging.md#debugging-webview-contents
79+
###### Webview
80+
81+
We use webviews a lot. These allow us to point at pieces of the web app in mobile screens. It is both very cool and has quirks.
82+
83+
You’ll want to get familiar with the tooling for debugging actual WebView loads: https://github.com/react-native-webview/react-native-webview/blob/master/docs/Debugging.md#debugging-webview-contents
84+
85+
###### Urql
86+
We use urql for most of our graphQL and data fetching/handling needs. Its good to get familiar with the devtools for this. https://github.com/urql-graphql/urql-devtools-exchange#usage

apps/mobile/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,8 @@ android {
9090
applicationId "com.hylo.hyloandroid"
9191
minSdkVersion rootProject.ext.minSdkVersion
9292
targetSdkVersion rootProject.ext.targetSdkVersion
93-
versionCode 297
94-
versionName "6.0.1"
93+
versionCode 298
94+
versionName "6.0.2-0"
9595
}
9696
signingConfigs {
9797
debug {

apps/mobile/ios/HyloReactNative/Info.plist

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<key>CFBundlePackageType</key>
1818
<string>APPL</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>6.0.1</string>
20+
<string>6.0.2</string>
2121
<key>CFBundleSignature</key>
2222
<string>????</string>
2323
<key>CFBundleURLTypes</key>
@@ -40,7 +40,7 @@
4040
<key>CFBundleTypeRole</key>
4141
<string>Editor</string>
4242
<key>CFBundleURLIconFile</key>
43-
<string></string>
43+
<string />
4444
<key>CFBundleURLName</key>
4545
<string>hyloapp</string>
4646
<key>CFBundleURLSchemes</key>
@@ -50,19 +50,19 @@
5050
</dict>
5151
</array>
5252
<key>CFBundleVersion</key>
53-
<string>10000</string>
53+
<string>10001</string>
5454
<key>FacebookAdvertiserIDCollectionEnabled</key>
55-
<false/>
55+
<false />
5656
<key>FacebookAppID</key>
5757
<string>$(FACEBOOK_APP_ID)</string>
5858
<key>FacebookAutoLogAppEventsEnabled</key>
59-
<false/>
59+
<false />
6060
<key>FacebookClientToken</key>
6161
<string>$(FACEBOOK_CLIENT_TOKEN)</string>
6262
<key>FacebookDisplayName</key>
6363
<string>Hylo</string>
6464
<key>ITSAppUsesNonExemptEncryption</key>
65-
<false/>
65+
<false />
6666
<key>LSApplicationQueriesSchemes</key>
6767
<array>
6868
<string>fbapi</string>
@@ -71,13 +71,13 @@
7171
<string>fbshareextension</string>
7272
</array>
7373
<key>LSRequiresIPhoneOS</key>
74-
<true/>
74+
<true />
7575
<key>NSAppTransportSecurity</key>
7676
<dict>
7777
<key>NSAllowsArbitraryLoads</key>
78-
<false/>
78+
<false />
7979
<key>NSAllowsLocalNetworking</key>
80-
<true/>
80+
<true />
8181
</dict>
8282
<key>NSCameraUsageDescription</key>
8383
<string>Take photos to add to your posts</string>
@@ -134,6 +134,6 @@
134134
<key>UIUserInterfaceStyle</key>
135135
<string>Light</string>
136136
<key>UIViewControllerBasedStatusBarAppearance</key>
137-
<false/>
137+
<false />
138138
</dict>
139139
</plist>

apps/mobile/ios/HyloReactNativeTests/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@
1515
<key>CFBundlePackageType</key>
1616
<string>BNDL</string>
1717
<key>CFBundleShortVersionString</key>
18-
<string>6.0.1</string>
18+
<string>6.0.2</string>
1919
<key>CFBundleSignature</key>
2020
<string>????</string>
2121
<key>CFBundleVersion</key>
22-
<string>217</string>
22+
<string>218</string>
2323
</dict>
2424
</plist>

apps/mobile/ios/OneSignalNotificationServiceExtension/Info.plist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717
<key>CFBundlePackageType</key>
1818
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
1919
<key>CFBundleShortVersionString</key>
20-
<string>6.0.1</string>
20+
<string>6.0.2</string>
2121
<key>CFBundleVersion</key>
22-
<string>217</string>
22+
<string>218</string>
2323
<key>NSExtension</key>
2424
<dict>
2525
<key>NSExtensionPointIdentifier</key>

apps/mobile/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "mobile",
3-
"version": "6.0.1",
3+
"version": "6.0.2-0",
44
"private": true,
55
"scripts": {
66
"android": "adb reverse tcp:3001 tcp:3001 && adb reverse tcp:3000 tcp:3000 && react-native run-android",

0 commit comments

Comments
 (0)