Skip to content
This repository was archived by the owner on May 12, 2021. It is now read-only.

Commit a9ac053

Browse files
committed
Merge remote-tracking branch 'origin/master' into remove-unused
2 parents 8770d9e + 33f96c4 commit a9ac053

File tree

7 files changed

+450
-368
lines changed

7 files changed

+450
-368
lines changed

docs/CHANGELOG.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1414
### Security
1515
-->
1616

17-
## [Unreleased]
17+
## v3.15.0 - 2019-08-08
18+
19+
### Added
20+
- Developer script to output release notes (#1095)
21+
- Documentation for which versions of Node we can support (#1115)
22+
- Esperanto translation (#1126)
23+
- Option to delete feeds from blocked authors (#1026)
24+
- Traditional Chinese translation (#1130)
25+
26+
### Changed
27+
- Encode emoji as unicode character instead of `:shortcode` (#1105)
28+
- Switch input textarea font from monospace to sans-serif (#1120)
29+
- Refactor to remove unused code (#1122)
30+
- Increase size of emoji in helper (#1139)
31+
- Upgrade JavaScript dependencies (#1141)
1832

1933
### Fixed
20-
- Fixed corners of avatar images in private messages not matching up.
34+
- Fixed corners of avatar images in private messages not matching up (#1075)
35+
- Spanish typo for public messages (#1113)
36+
- Bug where gathering was showing as "private" in preview (#1131)
37+
- Mistranslations in Simplified Chinese (#1137)
2138

2239
## v3.14.1 - 2019-06-17
2340

lib/depject/page/html/render/settings.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ exports.create = function (api) {
3535
const fontSize = api.settings.obs.get('patchwork.fontSize', '')
3636
const fontFamily = api.settings.obs.get('patchwork.fontFamily', '')
3737
const includeParticipating = api.settings.obs.get('patchwork.includeParticipating', false)
38+
const autoDeleteBlocked = api.settings.obs.get('patchwork.autoDeleteBlocked', false)
3839

3940
// const filterFollowing = api.settings.obs.get('filters.following')
4041
// const filterSubscriptions = api.settings.obs.get('filters.subscriptions')
@@ -108,6 +109,14 @@ exports.create = function (api) {
108109
checkbox(includeParticipating, {
109110
label: i18n('Include "Participating" tab in navigation bar')
110111
})
112+
]),
113+
114+
h('h2', i18n('Blocking')),
115+
116+
h('div', [
117+
checkbox(autoDeleteBlocked, {
118+
label: i18n('Automatically delete messages from blocked authors. This is irreversible and will cause problems with clients that share the database but do not support deleted messages. Enable at your own risk!')
119+
})
111120
])
112121
]),
113122

lib/main-window.js

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ module.exports = function (config) {
6262
const latestUpdate = LatestUpdate()
6363
const subscribedChannels = api.channel.obs.subscribed(id)
6464
const includeParticipating = api.settings.obs.get('patchwork.includeParticipating', false)
65+
const autoDeleteBlocked = api.settings.obs.get('patchwork.autoDeleteBlocked', false)
6566

6667
// prompt to setup profile on first use
6768
onceTrue(api.sbot.obs.connection, (ssb) => {
@@ -79,39 +80,42 @@ module.exports = function (config) {
7980
const currentlyDeleting = {}
8081

8182
watch(api.contact.obs.blocking(id), (blocking) => {
83+
if (autoDeleteBlocked() !== true) return
8284
if (blocking.length === 0) return
8385

8486
if (ssb.del == null) return
8587

86-
blocking.forEach(feed => {
87-
pull(
88-
ssb.createUserStream({ id: feed }),
89-
pull.asyncMap((msg, cb) => {
90-
const key = msg.key
91-
if (currentlyDeleting[key] === true) {
92-
return cb(null, null) // already deleting
93-
}
88+
blocking
89+
.filter(feedId => feedId !== ssb.id)
90+
.forEach(feed => {
91+
pull(
92+
ssb.createUserStream({ id: feed }),
93+
pull.asyncMap((msg, cb) => {
94+
const key = msg.key
95+
if (currentlyDeleting[key] === true) {
96+
return cb(null, null) // already deleting
97+
}
9498

95-
currentlyDeleting[key] = true
99+
currentlyDeleting[key] = true
100+
101+
ssb.del(key, (err) => {
102+
currentlyDeleting[key] = false
103+
cb(err, key)
104+
})
105+
}),
106+
pull.filter(),
107+
pull.collect((err, keys) => {
108+
if (err) {
109+
console.error(keys)
110+
throw err
111+
}
96112

97-
ssb.del(key, (err) => {
98-
currentlyDeleting[key] = false
99-
cb(err, key)
113+
if (keys.length > 0) {
114+
console.log(`deleted ${keys.length} messages from blocked authors`)
115+
}
100116
})
101-
}),
102-
pull.filter(),
103-
pull.collect((err, keys) => {
104-
if (err) {
105-
console.error(keys)
106-
throw err
107-
}
108-
109-
if (keys.length > 0) {
110-
console.log(`deleted ${keys.length} messages from blocked authors`)
111-
}
112-
})
113-
)
114-
})
117+
)
118+
})
115119
})
116120
})
117121

locales/en.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -308,5 +308,8 @@
308308
" replied but is blocked by ": " replied but is blocked by ",
309309
"Content of a blocked user": "Content of a blocked user",
310310
"el": "el",
311-
"eo": "eo"
312-
}
311+
"eo": "eo",
312+
"zh-TW": "zh-TW",
313+
"Blocking": "Blocking",
314+
"Automatically delete messages from blocked authors. This is irreversible and will cause problems with clients that share the database but do not support deleted messages. Enable at your own risk!": "Automatically delete messages from blocked authors. This is irreversible and will cause problems with clients that share the database but do not support deleted messages. Enable at your own risk!"
315+
}

locales/eo.json

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -147,18 +147,18 @@
147147
"Blocked": "Blokita",
148148
"blocked ": "blokis ",
149149
"unblocked ": "malblokis ",
150-
"Click to block syncing with this person and hide their posts": "Alklaku por bloki sinkroniganta kun ĉi tiu persono kaj kaŝi iliajn afiŝojn",
150+
"Click to block syncing with this person and hide their posts": "Alklaku por bloki sinkroniganta kun ĉi tiu persono kaj kaŝi ĝiajn afiŝojn",
151151
"Public key for this profile": "Publika ŝlosilo por ĉi tiu profilo",
152152
"Liked by": "Ŝatata de",
153153
"You don't follow anyone who follows this person": "Vi ne sekvas iun ajn kiu sekvas ĉi tiun personon",
154-
"You might not be seeing their latest messages. You could try joining a pub that they are a member of.": "Vi eble ne povas vidi iliajn lastajn mesaĝojn. Vi povus provi membriĝi al pub en kiu ili estas membro.",
154+
"You might not be seeing their latest messages. You could try joining a pub that they are a member of.": "Vi eble ne povas vidi ĝiajn lastajn mesaĝojn. Vi povus provi membriĝi al pub en kiu ĝi estas membro.",
155155
"Mutual Friends": "Reciprokaj amikoj",
156156
"You share %s mutual friends with this person.": {
157157
"one": "Vi kunhavas %s reciprokan amikon kun ĉi tiu persono.",
158158
"other": "Vi kunhavas %s reciprokajn amikojn kun ĉi tiu persono."
159159
},
160160
"This person does not follow anyone that follows you": "Ĉi tiu persono ne sekvas iun ajn, kiu sekvas vin",
161-
"They might not receive your private messages or replies. You could try joining a pub that they are a member of.": "Ili eble ne ricevos viajn privatajn mesaĝojn aŭ respondojn. Vi povus provi membriĝi al pub en kiu ili estas membro.",
161+
"They might not receive your private messages or replies. You could try joining a pub that they are a member of.": "Ĝi eble ne ricevos viajn privatajn mesaĝojn aŭ respondojn. Vi povus provi membriĝi al pub en kiu ĝi estas membro.",
162162
"External Link": "Ligilo ekstera",
163163
"This is you.": "Ĉi tiu estas vi",
164164
"This person is blocked by %s of your friends.": {
@@ -167,15 +167,15 @@
167167
},
168168
"Blocked by": "Blokita de",
169169
"However, this person should be able to see your posts.": "Tamen, ĉi tiu persono devas povi vidi viajn afiŝojn.",
170-
"However, since they follow someone that follows you, they should be able to see your posts.": "Tamen, pro ili sekvas iun, kiu sekvas vin, ili devas povi vidi viajn afiŝojn.",
171-
"They might not be able to see your posts either.": "Ili ankaŭ eble ne povas vidi viajn afiŝojn.",
172-
"However, since you follow someone that follows them, you should be able to see their latest posts.": "Tamen, pro ili sekvas iun, kiu sekvas vin, vi devas povi vidi iliajn lastajn afiŝojn.",
170+
"However, since they follow someone that follows you, they should be able to see your posts.": "Tamen, pro ĝi sekvas iun, kiu sekvas vin, ĝi devas povi vidi viajn afiŝojn.",
171+
"They might not be able to see your posts either.": "Ĝi ankaŭ eble ne povas vidi viajn afiŝojn.",
172+
"However, since you follow someone that follows them, you should be able to see their latest posts.": "Tamen, pro ĝi sekvas iun, kiu sekvas vin, vi devas povi vidi ĝiajn lastajn afiŝojn.",
173173
"An error occurred while publishing your message.": "Eraro okazis dum publikiganta vian mesaĝon.",
174174
"Private Message": "Privatan mesaĝon",
175175
"Missing message": "Mankanta mesaĝon",
176176
" via ": " per ",
177177
"Cannot load thread": "Ne povas ŝargi fadenon",
178-
"The author of this message could be outside of your follow range or they may be blocked.": "La aŭtoro de ĉi tiu mesaĝo povus esti ekster via sekvivariejo aŭ ili povus esti blokita.",
178+
"The author of this message could be outside of your follow range or they may be blocked.": "La aŭtoro de ĉi tiu mesaĝo povus esti ekster via sekvivariejo aŭ ĝi povus esti blokita.",
179179
"You follow %s people that follow this person.": {
180180
"one": "Vi sekvas %s personon, kiu sekvas ĉi tiun personon.",
181181
"other": "Vi sekvas %s personojn, kiuj sekvas ĉi tiun personon."
@@ -241,7 +241,7 @@
241241
"forked from parent thread ": "forkata de patra fadeno ",
242242
"(ignored)": "(ignorita)",
243243
"(listening)": "(aŭskultanta)",
244-
"Click for options to block syncing with this person and/or hide their posts": "Alklaku por opcioj bloki sinkroniganta kun ĉi tiu persono kaj kaŝi iliajn afiŝojn",
244+
"Click for options to block syncing with this person and/or hide their posts": "Alklaku por opcioj bloki sinkroniganta kun ĉi tiu persono kaj kaŝi ĝiajn afiŝojn",
245245
"Options": "Opcioj",
246246
"Browse Recently Active": "Vidi Lastatempe Aktiva",
247247
"el": "el",
@@ -257,7 +257,7 @@
257257
"Notification Options": "Sciigaj Opcioj",
258258
"Include \"Participating\" tab in navigation bar": "Inkludi \"Partoprenanta\" langeton en naviga breto",
259259
"can attend": "povas ĉeesti",
260-
"updated their profile": "actualigis ilian profilon",
260+
"updated their profile": "actualigis ĝian profilon",
261261
"You have chosen to publicly block this person.": "Vi elektis publike bloki ĉi tiun personon.",
262262
"You have chosen to privately ignore this person.": "Vi elektis prive ignori ĉi tiun personon.",
263263
"No new messages will be downloaded. Existing messages will be hidden.": "Novaj mesaĝoj ne estos elŝutitaj. Ekzistantaj mesaĝoj estos kaŝitaj.",
@@ -270,8 +270,12 @@
270270
"Edit Gathering": "Redakti Renkontiĝo",
271271
"identified": "indentigas",
272272
"Add tags here": "Aldoni etikedojn ĉi tie",
273-
"Save": "Konserv",
273+
"Save": "Konservi",
274274
"blocked": "blokita",
275275
"filter names": "filtri nomojn",
276-
"subscribed to": "abonis al"
276+
"subscribed to": "abonis al",
277+
"invited you to this gathering": "invitis vin al ĉi tiu renkontiĝo",
278+
"Are you certain you want to clear your draft?": "Ĉu vi vere volas vakigi vian malneton?",
279+
" replied but is blocked by ": " respondis sed estas blokita de ",
280+
"Content of a blocked user": "Enhavo de blokita uzanto"
277281
}

0 commit comments

Comments
 (0)