diff --git a/Signal.xcodeproj/project.pbxproj b/Signal.xcodeproj/project.pbxproj index 46ac4e6aa..b67a222f7 100644 --- a/Signal.xcodeproj/project.pbxproj +++ b/Signal.xcodeproj/project.pbxproj @@ -939,45 +939,7 @@ B63AF5C61A1F757900D01AAD /* TSSocketManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TSSocketManager.m; sourceTree = ""; }; B63AF5D61A1F889500D01AAD /* SubProtocol.pb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SubProtocol.pb.h; sourceTree = ""; }; B63AF5D71A1F889500D01AAD /* SubProtocol.pb.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SubProtocol.pb.m; sourceTree = ""; }; - B6416F37199A0478003C5699 /* an */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = an; path = Localizable.strings; sourceTree = ""; }; - B6416F3A199A0478003C5699 /* ar */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ar; path = Localizable.strings; sourceTree = ""; }; - B6416F3D199A0478003C5699 /* be */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = be; path = Localizable.strings; sourceTree = ""; }; - B6416F40199A0478003C5699 /* bg_BG */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = bg_BG; path = Localizable.strings; sourceTree = ""; }; - B6416F43199A0478003C5699 /* ca-ES */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ca-ES"; path = Localizable.strings; sourceTree = ""; }; - B6416F46199A0478003C5699 /* ca */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ca; path = Localizable.strings; sourceTree = ""; }; - B6416F49199A0478003C5699 /* cs-CZ */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "cs-CZ"; path = Localizable.strings; sourceTree = ""; }; - B6416F4C199A0478003C5699 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = Localizable.strings; sourceTree = ""; }; - B6416F4F199A0478003C5699 /* da */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = da; path = Localizable.strings; sourceTree = ""; }; - B6416F52199A0478003C5699 /* de */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = de; path = Localizable.strings; sourceTree = ""; }; - B6416F55199A0478003C5699 /* el_GR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = el_GR; path = Localizable.strings; sourceTree = ""; }; B6416F58199A0478003C5699 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = ""; }; - B6416F5B199A0478003C5699 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = ""; }; - B6416F5E199A0478003C5699 /* eu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = eu; path = Localizable.strings; sourceTree = ""; }; - B6416F61199A0478003C5699 /* fa_IR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa_IR; path = Localizable.strings; sourceTree = ""; }; - B6416F64199A0478003C5699 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = Localizable.strings; sourceTree = ""; }; - B6416F67199A0478003C5699 /* fi */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fi; path = Localizable.strings; sourceTree = ""; }; - B6416F6A199A0478003C5699 /* fil */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fil; path = Localizable.strings; sourceTree = ""; }; - B6416F6D199A0478003C5699 /* fr */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fr; path = Localizable.strings; sourceTree = ""; }; - B6416F70199A0478003C5699 /* he */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = he; path = Localizable.strings; sourceTree = ""; }; - B6416F73199A0478003C5699 /* hu */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = hu; path = Localizable.strings; sourceTree = ""; }; - B6416F76199A0478003C5699 /* it_IT */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = it_IT; path = Localizable.strings; sourceTree = ""; }; - B6416F79199A0478003C5699 /* ja_JP */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ja_JP; path = Localizable.strings; sourceTree = ""; }; - B6416F7C199A0478003C5699 /* lv */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = lv; path = Localizable.strings; sourceTree = ""; }; - B6416F7F199A0478003C5699 /* nb */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nb; path = Localizable.strings; sourceTree = ""; }; - B6416F82199A0478003C5699 /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = Localizable.strings; sourceTree = ""; }; - B6416F85199A0478003C5699 /* pl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pl; path = Localizable.strings; sourceTree = ""; }; - B6416F88199A0478003C5699 /* pt_BR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt_BR; path = Localizable.strings; sourceTree = ""; }; - B6416F8B199A0478003C5699 /* ro-RO */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "ro-RO"; path = Localizable.strings; sourceTree = ""; }; - B6416F8E199A0478003C5699 /* ro */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ro; path = Localizable.strings; sourceTree = ""; }; - B6416F91199A0478003C5699 /* ru */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ru; path = Localizable.strings; sourceTree = ""; }; - B6416F94199A0478003C5699 /* sl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sl; path = Localizable.strings; sourceTree = ""; }; - B6416F97199A0478003C5699 /* sq */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sq; path = Localizable.strings; sourceTree = ""; }; - B6416F9A199A0478003C5699 /* sv_SE */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = sv_SE; path = Localizable.strings; sourceTree = ""; }; - B6416F9D199A0478003C5699 /* ta */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = ta; path = Localizable.strings; sourceTree = ""; }; - B6416FA0199A0478003C5699 /* tr_TR */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = tr_TR; path = Localizable.strings; sourceTree = ""; }; - B6416FA3199A0478003C5699 /* uk */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = uk; path = Localizable.strings; sourceTree = ""; }; - B6416FA6199A0478003C5699 /* zh_CN */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_CN; path = Localizable.strings; sourceTree = ""; }; - B6416FAC199A0478003C5699 /* zh_TW */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = zh_TW; path = Localizable.strings; sourceTree = ""; }; B657DDC91911A40500F45B0C /* Signal.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = Signal.entitlements; sourceTree = ""; }; B65EDA1019E1BE6400AAA7CB /* RPAPICall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RPAPICall.h; sourceTree = ""; }; B65EDA1119E1BE6400AAA7CB /* RPAPICall.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RPAPICall.m; sourceTree = ""; }; @@ -2225,105 +2187,6 @@ path = WebSockets; sourceTree = ""; }; - B6416F35199A0478003C5699 /* an.lproj */ = { - isa = PBXGroup; - children = ( - B6416F36199A0478003C5699 /* Localizable.strings */, - ); - name = an.lproj; - path = translations/an.lproj; - sourceTree = ""; - }; - B6416F38199A0478003C5699 /* ar.lproj */ = { - isa = PBXGroup; - children = ( - B6416F39199A0478003C5699 /* Localizable.strings */, - ); - name = ar.lproj; - path = translations/ar.lproj; - sourceTree = ""; - }; - B6416F3B199A0478003C5699 /* be.lproj */ = { - isa = PBXGroup; - children = ( - B6416F3C199A0478003C5699 /* Localizable.strings */, - ); - name = be.lproj; - path = translations/be.lproj; - sourceTree = ""; - }; - B6416F3E199A0478003C5699 /* bg_BG.lproj */ = { - isa = PBXGroup; - children = ( - B6416F3F199A0478003C5699 /* Localizable.strings */, - ); - name = bg_BG.lproj; - path = translations/bg_BG.lproj; - sourceTree = ""; - }; - B6416F41199A0478003C5699 /* ca-ES.lproj */ = { - isa = PBXGroup; - children = ( - B6416F42199A0478003C5699 /* Localizable.strings */, - ); - name = "ca-ES.lproj"; - path = "translations/ca-ES.lproj"; - sourceTree = ""; - }; - B6416F44199A0478003C5699 /* ca.lproj */ = { - isa = PBXGroup; - children = ( - B6416F45199A0478003C5699 /* Localizable.strings */, - ); - name = ca.lproj; - path = translations/ca.lproj; - sourceTree = ""; - }; - B6416F47199A0478003C5699 /* cs-CZ.lproj */ = { - isa = PBXGroup; - children = ( - B6416F48199A0478003C5699 /* Localizable.strings */, - ); - name = "cs-CZ.lproj"; - path = "translations/cs-CZ.lproj"; - sourceTree = ""; - }; - B6416F4A199A0478003C5699 /* cs.lproj */ = { - isa = PBXGroup; - children = ( - B6416F4B199A0478003C5699 /* Localizable.strings */, - ); - name = cs.lproj; - path = translations/cs.lproj; - sourceTree = ""; - }; - B6416F4D199A0478003C5699 /* da.lproj */ = { - isa = PBXGroup; - children = ( - B6416F4E199A0478003C5699 /* Localizable.strings */, - ); - name = da.lproj; - path = translations/da.lproj; - sourceTree = ""; - }; - B6416F50199A0478003C5699 /* de.lproj */ = { - isa = PBXGroup; - children = ( - B6416F51199A0478003C5699 /* Localizable.strings */, - ); - name = de.lproj; - path = translations/de.lproj; - sourceTree = ""; - }; - B6416F53199A0478003C5699 /* el_GR.lproj */ = { - isa = PBXGroup; - children = ( - B6416F54199A0478003C5699 /* Localizable.strings */, - ); - name = el_GR.lproj; - path = translations/el_GR.lproj; - sourceTree = ""; - }; B6416F56199A0478003C5699 /* en.lproj */ = { isa = PBXGroup; children = ( @@ -2333,249 +2196,6 @@ path = translations/en.lproj; sourceTree = ""; }; - B6416F59199A0478003C5699 /* es.lproj */ = { - isa = PBXGroup; - children = ( - B6416F5A199A0478003C5699 /* Localizable.strings */, - ); - name = es.lproj; - path = translations/es.lproj; - sourceTree = ""; - }; - B6416F5C199A0478003C5699 /* eu.lproj */ = { - isa = PBXGroup; - children = ( - B6416F5D199A0478003C5699 /* Localizable.strings */, - ); - name = eu.lproj; - path = translations/eu.lproj; - sourceTree = ""; - }; - B6416F5F199A0478003C5699 /* fa_IR.lproj */ = { - isa = PBXGroup; - children = ( - B6416F60199A0478003C5699 /* Localizable.strings */, - ); - name = fa_IR.lproj; - path = translations/fa_IR.lproj; - sourceTree = ""; - }; - B6416F62199A0478003C5699 /* fa.lproj */ = { - isa = PBXGroup; - children = ( - B6416F63199A0478003C5699 /* Localizable.strings */, - ); - name = fa.lproj; - path = translations/fa.lproj; - sourceTree = ""; - }; - B6416F65199A0478003C5699 /* fi.lproj */ = { - isa = PBXGroup; - children = ( - B6416F66199A0478003C5699 /* Localizable.strings */, - ); - name = fi.lproj; - path = translations/fi.lproj; - sourceTree = ""; - }; - B6416F68199A0478003C5699 /* fil.lproj */ = { - isa = PBXGroup; - children = ( - B6416F69199A0478003C5699 /* Localizable.strings */, - ); - name = fil.lproj; - path = translations/fil.lproj; - sourceTree = ""; - }; - B6416F6B199A0478003C5699 /* fr.lproj */ = { - isa = PBXGroup; - children = ( - B6416F6C199A0478003C5699 /* Localizable.strings */, - ); - name = fr.lproj; - path = translations/fr.lproj; - sourceTree = ""; - }; - B6416F6E199A0478003C5699 /* he.lproj */ = { - isa = PBXGroup; - children = ( - B6416F6F199A0478003C5699 /* Localizable.strings */, - ); - name = he.lproj; - path = translations/he.lproj; - sourceTree = ""; - }; - B6416F71199A0478003C5699 /* hu.lproj */ = { - isa = PBXGroup; - children = ( - B6416F72199A0478003C5699 /* Localizable.strings */, - ); - name = hu.lproj; - path = translations/hu.lproj; - sourceTree = ""; - }; - B6416F74199A0478003C5699 /* it_IT.lproj */ = { - isa = PBXGroup; - children = ( - B6416F75199A0478003C5699 /* Localizable.strings */, - ); - name = it_IT.lproj; - path = translations/it_IT.lproj; - sourceTree = ""; - }; - B6416F77199A0478003C5699 /* ja_JP.lproj */ = { - isa = PBXGroup; - children = ( - B6416F78199A0478003C5699 /* Localizable.strings */, - ); - name = ja_JP.lproj; - path = translations/ja_JP.lproj; - sourceTree = ""; - }; - B6416F7A199A0478003C5699 /* lv.lproj */ = { - isa = PBXGroup; - children = ( - B6416F7B199A0478003C5699 /* Localizable.strings */, - ); - name = lv.lproj; - path = translations/lv.lproj; - sourceTree = ""; - }; - B6416F7D199A0478003C5699 /* nb.lproj */ = { - isa = PBXGroup; - children = ( - B6416F7E199A0478003C5699 /* Localizable.strings */, - ); - name = nb.lproj; - path = translations/nb.lproj; - sourceTree = ""; - }; - B6416F80199A0478003C5699 /* nl.lproj */ = { - isa = PBXGroup; - children = ( - B6416F81199A0478003C5699 /* Localizable.strings */, - ); - name = nl.lproj; - path = translations/nl.lproj; - sourceTree = ""; - }; - B6416F83199A0478003C5699 /* pl.lproj */ = { - isa = PBXGroup; - children = ( - B6416F84199A0478003C5699 /* Localizable.strings */, - ); - name = pl.lproj; - path = translations/pl.lproj; - sourceTree = ""; - }; - B6416F86199A0478003C5699 /* pt_BR.lproj */ = { - isa = PBXGroup; - children = ( - B6416F87199A0478003C5699 /* Localizable.strings */, - ); - name = pt_BR.lproj; - path = translations/pt_BR.lproj; - sourceTree = ""; - }; - B6416F89199A0478003C5699 /* ro-RO.lproj */ = { - isa = PBXGroup; - children = ( - B6416F8A199A0478003C5699 /* Localizable.strings */, - ); - name = "ro-RO.lproj"; - path = "translations/ro-RO.lproj"; - sourceTree = ""; - }; - B6416F8C199A0478003C5699 /* ro.lproj */ = { - isa = PBXGroup; - children = ( - B6416F8D199A0478003C5699 /* Localizable.strings */, - ); - name = ro.lproj; - path = translations/ro.lproj; - sourceTree = ""; - }; - B6416F8F199A0478003C5699 /* ru.lproj */ = { - isa = PBXGroup; - children = ( - B6416F90199A0478003C5699 /* Localizable.strings */, - ); - name = ru.lproj; - path = translations/ru.lproj; - sourceTree = ""; - }; - B6416F92199A0478003C5699 /* sl.lproj */ = { - isa = PBXGroup; - children = ( - B6416F93199A0478003C5699 /* Localizable.strings */, - ); - name = sl.lproj; - path = translations/sl.lproj; - sourceTree = ""; - }; - B6416F95199A0478003C5699 /* sq.lproj */ = { - isa = PBXGroup; - children = ( - B6416F96199A0478003C5699 /* Localizable.strings */, - ); - name = sq.lproj; - path = translations/sq.lproj; - sourceTree = ""; - }; - B6416F98199A0478003C5699 /* sv_SE.lproj */ = { - isa = PBXGroup; - children = ( - B6416F99199A0478003C5699 /* Localizable.strings */, - ); - name = sv_SE.lproj; - path = translations/sv_SE.lproj; - sourceTree = ""; - }; - B6416F9B199A0478003C5699 /* ta.lproj */ = { - isa = PBXGroup; - children = ( - B6416F9C199A0478003C5699 /* Localizable.strings */, - ); - name = ta.lproj; - path = translations/ta.lproj; - sourceTree = ""; - }; - B6416F9E199A0478003C5699 /* tr_TR.lproj */ = { - isa = PBXGroup; - children = ( - B6416F9F199A0478003C5699 /* Localizable.strings */, - ); - name = tr_TR.lproj; - path = translations/tr_TR.lproj; - sourceTree = ""; - }; - B6416FA1199A0478003C5699 /* uk.lproj */ = { - isa = PBXGroup; - children = ( - B6416FA2199A0478003C5699 /* Localizable.strings */, - ); - name = uk.lproj; - path = translations/uk.lproj; - sourceTree = ""; - }; - B6416FA4199A0478003C5699 /* zh_CN.lproj */ = { - isa = PBXGroup; - children = ( - B6416FA5199A0478003C5699 /* Localizable.strings */, - ); - name = zh_CN.lproj; - path = translations/zh_CN.lproj; - sourceTree = ""; - }; - B6416FAA199A0478003C5699 /* zh_TW.lproj */ = { - isa = PBXGroup; - children = ( - B6416FAB199A0478003C5699 /* Localizable.strings */, - ); - name = zh_TW.lproj; - path = translations/zh_TW.lproj; - sourceTree = ""; - }; B65EDA0F19E1BE2200AAA7CB /* Requests */ = { isa = PBXGroup; children = ( @@ -2760,45 +2380,7 @@ B6B6C3C419193F5B00C0B76B /* Translations */ = { isa = PBXGroup; children = ( - B6416F35199A0478003C5699 /* an.lproj */, - B6416F38199A0478003C5699 /* ar.lproj */, - B6416F3B199A0478003C5699 /* be.lproj */, - B6416F3E199A0478003C5699 /* bg_BG.lproj */, - B6416F41199A0478003C5699 /* ca-ES.lproj */, - B6416F44199A0478003C5699 /* ca.lproj */, - B6416F47199A0478003C5699 /* cs-CZ.lproj */, - B6416F4A199A0478003C5699 /* cs.lproj */, - B6416F4D199A0478003C5699 /* da.lproj */, - B6416F50199A0478003C5699 /* de.lproj */, - B6416F53199A0478003C5699 /* el_GR.lproj */, B6416F56199A0478003C5699 /* en.lproj */, - B6416F59199A0478003C5699 /* es.lproj */, - B6416F5C199A0478003C5699 /* eu.lproj */, - B6416F5F199A0478003C5699 /* fa_IR.lproj */, - B6416F62199A0478003C5699 /* fa.lproj */, - B6416F65199A0478003C5699 /* fi.lproj */, - B6416F68199A0478003C5699 /* fil.lproj */, - B6416F6B199A0478003C5699 /* fr.lproj */, - B6416F6E199A0478003C5699 /* he.lproj */, - B6416F71199A0478003C5699 /* hu.lproj */, - B6416F74199A0478003C5699 /* it_IT.lproj */, - B6416F77199A0478003C5699 /* ja_JP.lproj */, - B6416F7A199A0478003C5699 /* lv.lproj */, - B6416F7D199A0478003C5699 /* nb.lproj */, - B6416F80199A0478003C5699 /* nl.lproj */, - B6416F83199A0478003C5699 /* pl.lproj */, - B6416F86199A0478003C5699 /* pt_BR.lproj */, - B6416F89199A0478003C5699 /* ro-RO.lproj */, - B6416F8C199A0478003C5699 /* ro.lproj */, - B6416F8F199A0478003C5699 /* ru.lproj */, - B6416F92199A0478003C5699 /* sl.lproj */, - B6416F95199A0478003C5699 /* sq.lproj */, - B6416F98199A0478003C5699 /* sv_SE.lproj */, - B6416F9B199A0478003C5699 /* ta.lproj */, - B6416F9E199A0478003C5699 /* tr_TR.lproj */, - B6416FA1199A0478003C5699 /* uk.lproj */, - B6416FA4199A0478003C5699 /* zh_CN.lproj */, - B6416FAA199A0478003C5699 /* zh_TW.lproj */, ); name = Translations; sourceTree = ""; @@ -3824,94 +3406,6 @@ /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ - B6416F36199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F37199A0478003C5699 /* an */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F39199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F3A199A0478003C5699 /* ar */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F3C199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F3D199A0478003C5699 /* be */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F3F199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F40199A0478003C5699 /* bg_BG */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F42199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F43199A0478003C5699 /* ca-ES */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F45199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F46199A0478003C5699 /* ca */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F48199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F49199A0478003C5699 /* cs-CZ */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F4B199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F4C199A0478003C5699 /* cs */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F4E199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F4F199A0478003C5699 /* da */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F51199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F52199A0478003C5699 /* de */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F54199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F55199A0478003C5699 /* el_GR */, - ); - name = Localizable.strings; - sourceTree = ""; - }; B6416F57199A0478003C5699 /* Localizable.strings */ = { isa = PBXVariantGroup; children = ( @@ -3920,222 +3414,6 @@ name = Localizable.strings; sourceTree = ""; }; - B6416F5A199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F5B199A0478003C5699 /* es */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F5D199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F5E199A0478003C5699 /* eu */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F60199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F61199A0478003C5699 /* fa_IR */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F63199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F64199A0478003C5699 /* fa */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F66199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F67199A0478003C5699 /* fi */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F69199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F6A199A0478003C5699 /* fil */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F6C199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F6D199A0478003C5699 /* fr */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F6F199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F70199A0478003C5699 /* he */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F72199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F73199A0478003C5699 /* hu */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F75199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F76199A0478003C5699 /* it_IT */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F78199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F79199A0478003C5699 /* ja_JP */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F7B199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F7C199A0478003C5699 /* lv */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F7E199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F7F199A0478003C5699 /* nb */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F81199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F82199A0478003C5699 /* nl */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F84199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F85199A0478003C5699 /* pl */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F87199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F88199A0478003C5699 /* pt_BR */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F8A199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F8B199A0478003C5699 /* ro-RO */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F8D199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F8E199A0478003C5699 /* ro */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F90199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F91199A0478003C5699 /* ru */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F93199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F94199A0478003C5699 /* sl */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F96199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F97199A0478003C5699 /* sq */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F99199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F9A199A0478003C5699 /* sv_SE */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F9C199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416F9D199A0478003C5699 /* ta */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416F9F199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416FA0199A0478003C5699 /* tr_TR */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416FA2199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416FA3199A0478003C5699 /* uk */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416FA5199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416FA6199A0478003C5699 /* zh_CN */, - ); - name = Localizable.strings; - sourceTree = ""; - }; - B6416FAB199A0478003C5699 /* Localizable.strings */ = { - isa = PBXVariantGroup; - children = ( - B6416FAC199A0478003C5699 /* zh_TW */, - ); - name = Localizable.strings; - sourceTree = ""; - }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -4253,7 +3531,7 @@ LLVM_LTO = NO; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = Signal; - PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = 1; TEST_AFTER_BUILD = YES; @@ -4488,7 +3766,7 @@ LLVM_LTO = NO; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = Signal; - PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = 1; TEST_AFTER_BUILD = YES; @@ -4542,7 +3820,7 @@ LLVM_LTO = NO; OTHER_LDFLAGS = "$(inherited)"; PRODUCT_NAME = Signal; - PROVISIONING_PROFILE = ""; + PROVISIONING_PROFILE = "a377b8e6-d43e-485d-8830-bc7bfa3d1731"; SDKROOT = iphoneos; TARGETED_DEVICE_FAMILY = 1; TEST_AFTER_BUILD = YES; diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index 7ed9c888c..608db8645 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -199,12 +199,34 @@ } -(void) application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler { - if([self.notificationTracker shouldProcessNotification:userInfo]){ - [self application:application didReceiveRemoteNotification:userInfo]; + + if ([self isRedPhonePush:userInfo]) { + if ([self.notificationTracker shouldProcessNotification:userInfo]){ + [self application:application didReceiveRemoteNotification:userInfo]; + } else{ + DDLogDebug(@"Push already processed. Skipping."); + completionHandler(UIBackgroundFetchResultNewData); + } + } else { + [TSSocketManager becomeActive]; + dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 20 * NSEC_PER_SEC), + dispatch_get_main_queue(), ^{ + // Check result of your operation and call completion block with the result + NSLog(@"Hello"); + completionHandler(UIBackgroundFetchResultNewData); + }); + } +} + +- (BOOL)isRedPhonePush:(NSDictionary*)pushDict { + NSDictionary *aps = [pushDict objectForKey:@"aps"]; + NSString *category = [aps objectForKey:@"category"]; + + if ([category isEqualToString:Signal_Call_Category]) { + return YES; } else{ - DDLogDebug(@"Push already processed. Skipping."); + return NO; } - completionHandler(UIBackgroundFetchResultNewData); } -(void) applicationDidBecomeActive:(UIApplication *)application { @@ -224,10 +246,14 @@ } - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)())completionHandler{ - if ([identifier isEqualToString:Signal_Accept_Identifier]) { + if ([identifier isEqualToString:Signal_Call_Accept_Identifier]) { [self.callPickUpFuture trySetResult:@YES]; - } else if ([identifier isEqualToString:Signal_Decline_Identifier]){ + } else if ([identifier isEqualToString:Signal_Call_Decline_Identifier]){ [self.callPickUpFuture trySetResult:@NO]; + } else if ([identifier isEqualToString:Signal_Message_MarkAsRead_Identifier]){ + //TODO + } else if ([identifier isEqualToString:Signal_Message_View_Identifier]){ + //TODO } completionHandler(); } diff --git a/Signal/src/network/PushManager.h b/Signal/src/network/PushManager.h index d07928b2c..25175e6f6 100644 --- a/Signal/src/network/PushManager.h +++ b/Signal/src/network/PushManager.h @@ -9,8 +9,14 @@ #import #import -#define Signal_Accept_Identifier @"Signal_Call_Accept" -#define Signal_Decline_Identifier @"Signal_Call_Decline" +#define Signal_Call_Accept_Identifier @"Signal_Call_Accept" +#define Signal_Call_Decline_Identifier @"Signal_Call_Decline" + +#define Signal_Call_Category @"Signal_IncomingCall" +#define Signal_Message_Category @"Signal_Message" + +#define Signal_Message_View_Identifier @"Signal_Message_Read" +#define Signal_Message_MarkAsRead_Identifier @"Signal_Message_MarkAsRead" /** * The Push Manager is responsible for registering the device for Signal push notifications. diff --git a/Signal/src/network/PushManager.m b/Signal/src/network/PushManager.m index 1e32570dd..0d753b55b 100644 --- a/Signal/src/network/PushManager.m +++ b/Signal/src/network/PushManager.m @@ -106,7 +106,10 @@ -(TOCFuture*)registerForUserNotificationsFuture{ self.userNotificationFutureSource = [TOCFutureSource new]; - [UIApplication.sharedApplication registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationType)[self allNotificationTypes] categories:[NSSet setWithObject:[self userNotificationsCallCategory]]]]; + NSSet *setOfCategories = [NSSet setWithArray:@[[self userNotificationsCallCategory], [self userNotificationsMessageCategory]]]; + UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:(UIUserNotificationType)[self allNotificationTypes] + categories:setOfCategories]; + [UIApplication.sharedApplication registerUserNotificationSettings:settings]; return self.userNotificationFutureSource.future; } @@ -195,23 +198,47 @@ return YES; } --(UIUserNotificationCategory*)userNotificationsCallCategory{ +- (UIUserNotificationCategory*)userNotificationsMessageCategory{ + UIMutableUserNotificationAction *action_accept = [UIMutableUserNotificationAction new]; + action_accept.identifier = Signal_Message_View_Identifier; + action_accept.title = NSLocalizedString(@"View", @""); + action_accept.activationMode = UIUserNotificationActivationModeForeground; + action_accept.destructive = NO; + action_accept.authenticationRequired = YES; + + UIMutableUserNotificationAction *action_decline = [UIMutableUserNotificationAction new]; + action_decline.identifier = Signal_Message_MarkAsRead_Identifier; + action_decline.title = NSLocalizedString(@"Mark as read", @""); + action_decline.activationMode = UIUserNotificationActivationModeBackground; + action_decline.destructive = NO; + action_decline.authenticationRequired = NO; + + UIMutableUserNotificationCategory *messageCategory = [UIMutableUserNotificationCategory new]; + messageCategory.identifier = Signal_Call_Category; + [messageCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextMinimal]; + [messageCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextDefault]; + + return messageCategory; + +} + +- (UIUserNotificationCategory*)userNotificationsCallCategory{ UIMutableUserNotificationAction *action_accept = [UIMutableUserNotificationAction new]; - action_accept.identifier = Signal_Accept_Identifier; + action_accept.identifier = Signal_Call_Accept_Identifier; action_accept.title = NSLocalizedString(@"ANSWER_CALL_BUTTON_TITLE", @""); action_accept.activationMode = UIUserNotificationActivationModeForeground; action_accept.destructive = NO; action_accept.authenticationRequired = NO; UIMutableUserNotificationAction *action_decline = [UIMutableUserNotificationAction new]; - action_decline.identifier = Signal_Decline_Identifier; + action_decline.identifier = Signal_Call_Decline_Identifier; action_decline.title = NSLocalizedString(@"REJECT_CALL_BUTTON_TITLE", @""); action_decline.activationMode = UIUserNotificationActivationModeBackground; action_decline.destructive = NO; action_decline.authenticationRequired = NO; UIMutableUserNotificationCategory *callCategory = [UIMutableUserNotificationCategory new]; - callCategory.identifier = @"Signal_IncomingCall"; + callCategory.identifier = Signal_Call_Category; [callCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextMinimal]; [callCategory setActions:@[action_accept, action_decline] forContext:UIUserNotificationActionContextDefault]; diff --git a/Signal/src/textsecure/Contacts/Threads/TSContactThread.m b/Signal/src/textsecure/Contacts/Threads/TSContactThread.m index 9f3e0c711..58d2f6564 100644 --- a/Signal/src/textsecure/Contacts/Threads/TSContactThread.m +++ b/Signal/src/textsecure/Contacts/Threads/TSContactThread.m @@ -71,7 +71,11 @@ } - (TSRecipient *)recipientWithTransaction:(YapDatabaseReadTransaction*)transaction{ - return [TSRecipient recipientWithTextSecureIdentifier:self.contactIdentifier withTransaction:transaction]; + TSRecipient *recipient = [TSRecipient recipientWithTextSecureIdentifier:self.contactIdentifier withTransaction:transaction]; + if (!recipient){ + recipient = [[TSRecipient alloc] initWithTextSecureIdentifier:self.contactIdentifier relay:nil]; + } + return recipient; } @end diff --git a/Signal/src/textsecure/Messages/TSInteraction.m b/Signal/src/textsecure/Messages/TSInteraction.m index 84b5eaef5..947c8a3a6 100644 --- a/Signal/src/textsecure/Messages/TSInteraction.m +++ b/Signal/src/textsecure/Messages/TSInteraction.m @@ -80,4 +80,16 @@ const struct TSMessageEdges TSMessageEdges = { return @"Interaction description"; } +- (void)saveWithTransaction:(YapDatabaseReadWriteTransaction *)transaction{ + [super saveWithTransaction:transaction]; + TSThread *fetchedThread = [TSThread fetchObjectWithUniqueID:self.uniqueThreadId]; + uint64_t timeStamp = [TSInteraction timeStampFromString:self.uniqueId]; + + if (timeStamp > fetchedThread.lastMessageId) { + fetchedThread.lastMessageId = timeStamp; + } + [fetchedThread saveWithTransaction:transaction]; +} + + @end diff --git a/Signal/src/textsecure/Messages/TSMessagesManager+sendMessages.m b/Signal/src/textsecure/Messages/TSMessagesManager+sendMessages.m index b4ac68171..1ff1f1656 100644 --- a/Signal/src/textsecure/Messages/TSMessagesManager+sendMessages.m +++ b/Signal/src/textsecure/Messages/TSMessagesManager+sendMessages.m @@ -80,11 +80,14 @@ dispatch_queue_t sendingQueue() { TSSubmitMessageRequest *request = [[TSSubmitMessageRequest alloc] initWithRecipient:recipient.uniqueId messages:messages relay:recipient.relay timeStamp:message.timeStamp]; [[TSNetworkManager sharedManager] queueAuthenticatedRequest:request success:^(NSURLSessionDataTask *task, id responseObject) { + [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { + [recipient saveWithTransaction:transaction]; + }]; [self handleMessageSent:message inThread:thread]; + } failure:^(NSURLSessionDataTask *task, NSError *error) { NSHTTPURLResponse *response = (NSHTTPURLResponse *)task.response; long statuscode = response.statusCode; - switch (statuscode) { case 404: // Recipient not found @@ -99,6 +102,10 @@ dispatch_queue_t sendingQueue() { DDLogWarn(@"Stale devices"); break; default: + [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { + [message setMessageState:TSOutgoingMessageStateUnsent]; + [message saveWithTransaction:transaction]; + }]; break; } }]; @@ -110,9 +117,6 @@ dispatch_queue_t sendingQueue() { [self.dbConnection readWriteWithBlock:^(YapDatabaseReadWriteTransaction *transaction) { [message setMessageState:TSOutgoingMessageStateSent]; [message saveWithTransaction:transaction]; - TSThread *fetchedThread = [TSThread fetchObjectWithUniqueID:thread.uniqueId]; - fetchedThread.lastMessageId = [TSInteraction timeStampFromString:message.uniqueId]; - [fetchedThread saveWithTransaction:transaction]; }]; } diff --git a/Signal/src/textsecure/Messages/TSMessagesManager.m b/Signal/src/textsecure/Messages/TSMessagesManager.m index d324a0049..854eb1de4 100644 --- a/Signal/src/textsecure/Messages/TSMessagesManager.m +++ b/Signal/src/textsecure/Messages/TSMessagesManager.m @@ -14,6 +14,8 @@ #import "IncomingPushMessageSignal.pb.h" #import "NSData+Base64.h" +#import "PushManager.h" + #import "TSIncomingMessage.h" #import "TSErrorMessage.h" #import "TSInfoMessage.h" @@ -222,10 +224,9 @@ incomingMessage = [[TSIncomingMessage alloc] initWithTimestamp:timeStamp inThread:cThread messageBody:body attachements:nil]; thread = cThread; } - [incomingMessage saveWithTransaction:transaction]; - thread.lastMessageId = [TSInteraction timeStampFromString:incomingMessage.uniqueId]; - [thread saveWithTransaction:transaction]; + NSString *name = [thread name]; + [self notifyUserForIncomingMessage:incomingMessage from:name]; }]; } @@ -246,4 +247,12 @@ }]; } +- (void)notifyUserForIncomingMessage:(TSIncomingMessage*)message from:(NSString*)name{ + UILocalNotification *notification = [[UILocalNotification alloc] init]; + notification.alertBody = [NSString stringWithFormat:@"%@: %@", name, message.body]; + notification.soundName = @"default"; + notification.category = Signal_Message_Category; + [[UIApplication sharedApplication] presentLocalNotificationNow:notification]; +} + @end diff --git a/Signal/translations/an.lproj/Localizable.strings b/Signal/translations/an.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/an.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ar.lproj/Localizable.strings b/Signal/translations/ar.lproj/Localizable.strings deleted file mode 100644 index 33d16ef5e..000000000 Binary files a/Signal/translations/ar.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/be.lproj/Localizable.strings b/Signal/translations/be.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/be.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/bg_BG.lproj/Localizable.strings b/Signal/translations/bg_BG.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/bg_BG.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ca-ES.lproj/Localizable.strings b/Signal/translations/ca-ES.lproj/Localizable.strings deleted file mode 100644 index 58340ce39..000000000 Binary files a/Signal/translations/ca-ES.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ca.lproj/Localizable.strings b/Signal/translations/ca.lproj/Localizable.strings deleted file mode 100644 index 39f572f45..000000000 Binary files a/Signal/translations/ca.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/cs-CZ.lproj/Localizable.strings b/Signal/translations/cs-CZ.lproj/Localizable.strings deleted file mode 100644 index 30ea4e5f7..000000000 Binary files a/Signal/translations/cs-CZ.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/cs.lproj/Localizable.strings b/Signal/translations/cs.lproj/Localizable.strings deleted file mode 100644 index daff88af2..000000000 Binary files a/Signal/translations/cs.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/da.lproj/Localizable.strings b/Signal/translations/da.lproj/Localizable.strings deleted file mode 100644 index 1435b1c68..000000000 Binary files a/Signal/translations/da.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/de.lproj/Localizable.strings b/Signal/translations/de.lproj/Localizable.strings deleted file mode 100644 index 170e52365..000000000 Binary files a/Signal/translations/de.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/el_GR.lproj/Localizable.strings b/Signal/translations/el_GR.lproj/Localizable.strings deleted file mode 100644 index 1c1232e83..000000000 Binary files a/Signal/translations/el_GR.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/en.lproj/Localizable.strings b/Signal/translations/en.lproj/Localizable.strings index 9282bd3b0..cc4e2d14d 100644 --- a/Signal/translations/en.lproj/Localizable.strings +++ b/Signal/translations/en.lproj/Localizable.strings @@ -1,6 +1,7 @@ "ACTION_REQUIRED_TITLE" = "Action Required"; "ANSWER_CALL_BUTTON_TITLE" = "Answer"; "APN" = "Incoming Call"; +"APN_Message" = "You got a new message!"; "AUDIO_PERMISSION_MESSAGE" = "Signal requires access to your microphone to work properly. You can restore the permission in the Settings app >> Privacy >> Microphone >> Signal"; "CALL_BUTTON_TITLE" = "Call"; "CHALLENGE_CODE_BUTTON_TITLE" = "VERIFY"; diff --git a/Signal/translations/es.lproj/Localizable.strings b/Signal/translations/es.lproj/Localizable.strings deleted file mode 100644 index 3949174d6..000000000 Binary files a/Signal/translations/es.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/eu.lproj/Localizable.strings b/Signal/translations/eu.lproj/Localizable.strings deleted file mode 100644 index cd9bbad95..000000000 Binary files a/Signal/translations/eu.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/fa.lproj/Localizable.strings b/Signal/translations/fa.lproj/Localizable.strings deleted file mode 100644 index 1ffb609a5..000000000 Binary files a/Signal/translations/fa.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/fa_IR.lproj/Localizable.strings b/Signal/translations/fa_IR.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/fa_IR.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/fi.lproj/Localizable.strings b/Signal/translations/fi.lproj/Localizable.strings deleted file mode 100644 index 4f3b9a019..000000000 Binary files a/Signal/translations/fi.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/fil.lproj/Localizable.strings b/Signal/translations/fil.lproj/Localizable.strings deleted file mode 100644 index 9b18860ed..000000000 Binary files a/Signal/translations/fil.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/fr.lproj/Localizable.strings b/Signal/translations/fr.lproj/Localizable.strings deleted file mode 100644 index cbdbbc732..000000000 Binary files a/Signal/translations/fr.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/he.lproj/Localizable.strings b/Signal/translations/he.lproj/Localizable.strings deleted file mode 100644 index 708cd3c53..000000000 Binary files a/Signal/translations/he.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/hu.lproj/Localizable.strings b/Signal/translations/hu.lproj/Localizable.strings deleted file mode 100644 index 7ee32d9a0..000000000 Binary files a/Signal/translations/hu.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/it_IT.lproj/Localizable.strings b/Signal/translations/it_IT.lproj/Localizable.strings deleted file mode 100644 index 21e0eaa52..000000000 Binary files a/Signal/translations/it_IT.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ja_JP.lproj/Localizable.strings b/Signal/translations/ja_JP.lproj/Localizable.strings deleted file mode 100644 index e02670691..000000000 Binary files a/Signal/translations/ja_JP.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/lv.lproj/Localizable.strings b/Signal/translations/lv.lproj/Localizable.strings deleted file mode 100644 index e38483564..000000000 Binary files a/Signal/translations/lv.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/nb.lproj/Localizable.strings b/Signal/translations/nb.lproj/Localizable.strings deleted file mode 100644 index f205ec16e..000000000 Binary files a/Signal/translations/nb.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/nl.lproj/Localizable.strings b/Signal/translations/nl.lproj/Localizable.strings deleted file mode 100644 index 04d01bc01..000000000 Binary files a/Signal/translations/nl.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/pl.lproj/Localizable.strings b/Signal/translations/pl.lproj/Localizable.strings deleted file mode 100644 index db663eea2..000000000 Binary files a/Signal/translations/pl.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/pt_BR.lproj/Localizable.strings b/Signal/translations/pt_BR.lproj/Localizable.strings deleted file mode 100644 index 3a83d40df..000000000 Binary files a/Signal/translations/pt_BR.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ro-RO.lproj/Localizable.strings b/Signal/translations/ro-RO.lproj/Localizable.strings deleted file mode 100644 index fc54585fb..000000000 Binary files a/Signal/translations/ro-RO.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ro.lproj/Localizable.strings b/Signal/translations/ro.lproj/Localizable.strings deleted file mode 100644 index 7a98e358b..000000000 Binary files a/Signal/translations/ro.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ru.lproj/Localizable.strings b/Signal/translations/ru.lproj/Localizable.strings deleted file mode 100644 index 53babe6f0..000000000 Binary files a/Signal/translations/ru.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/sl.lproj/Localizable.strings b/Signal/translations/sl.lproj/Localizable.strings deleted file mode 100644 index 6de69dc68..000000000 Binary files a/Signal/translations/sl.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/sq.lproj/Localizable.strings b/Signal/translations/sq.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/sq.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/sv_SE.lproj/Localizable.strings b/Signal/translations/sv_SE.lproj/Localizable.strings deleted file mode 100644 index 05301d773..000000000 Binary files a/Signal/translations/sv_SE.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/ta.lproj/Localizable.strings b/Signal/translations/ta.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/ta.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/tr_TR.lproj/Localizable.strings b/Signal/translations/tr_TR.lproj/Localizable.strings deleted file mode 100644 index 67d902b71..000000000 Binary files a/Signal/translations/tr_TR.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/uk.lproj/Localizable.strings b/Signal/translations/uk.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/uk.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/zh_CN.lproj/Localizable.strings b/Signal/translations/zh_CN.lproj/Localizable.strings deleted file mode 100644 index 4c06697bc..000000000 Binary files a/Signal/translations/zh_CN.lproj/Localizable.strings and /dev/null differ diff --git a/Signal/translations/zh_TW.lproj/Localizable.strings b/Signal/translations/zh_TW.lproj/Localizable.strings deleted file mode 100644 index d5ac99d01..000000000 Binary files a/Signal/translations/zh_TW.lproj/Localizable.strings and /dev/null differ