diff --git a/Podfile.lock b/Podfile.lock
index 7d5732330b..d7e0089e2c 100644
--- a/Podfile.lock
+++ b/Podfile.lock
@@ -157,7 +157,7 @@ CHECKOUT OPTIONS:
:commit: c34d9ccef689c55b9eae69f3c65283da8d8b0c6c
:git: https://github.com/RocketChat/RCMarkdownParser.git
RocketChatViewController:
- :commit: 93164faa2437e9a24dfbc4bc603cff2268e87a0b
+ :commit: ff8b2f080e05e10286f1d84304f0713375c3f952
:git: https://github.com/RocketChat/RocketChatViewController
SimpleImageViewer:
:commit: 8222c338de0f285ca0c2d556c5d8dedd4a365b52
diff --git a/Pods/Manifest.lock b/Pods/Manifest.lock
index 7d5732330b..d7e0089e2c 100644
--- a/Pods/Manifest.lock
+++ b/Pods/Manifest.lock
@@ -157,7 +157,7 @@ CHECKOUT OPTIONS:
:commit: c34d9ccef689c55b9eae69f3c65283da8d8b0c6c
:git: https://github.com/RocketChat/RCMarkdownParser.git
RocketChatViewController:
- :commit: 93164faa2437e9a24dfbc4bc603cff2268e87a0b
+ :commit: ff8b2f080e05e10286f1d84304f0713375c3f952
:git: https://github.com/RocketChat/RocketChatViewController
SimpleImageViewer:
:commit: 8222c338de0f285ca0c2d556c5d8dedd4a365b52
diff --git a/Pods/RocketChatViewController/Composer/Classes/Library/AudioRecorder.swift b/Pods/RocketChatViewController/Composer/Classes/Library/AudioRecorder.swift
index 047dd6a215..7b62079581 100644
--- a/Pods/RocketChatViewController/Composer/Classes/Library/AudioRecorder.swift
+++ b/Pods/RocketChatViewController/Composer/Classes/Library/AudioRecorder.swift
@@ -80,7 +80,7 @@ public class AudioRecorder: NSObject {
private func setSession(active: Bool) {
let session = AVAudioSession.sharedInstance()
do {
- try session.setActive(active)
+ try session.setActive(active, with: [.notifyOthersOnDeactivation])
} catch let error {
print("Set active error: \(error.localizedDescription).")
}
diff --git a/Pods/RocketChatViewController/Composer/Classes/Overlays/PreviewAudioView.swift b/Pods/RocketChatViewController/Composer/Classes/Overlays/PreviewAudioView.swift
index a097d21525..df91e0cba4 100644
--- a/Pods/RocketChatViewController/Composer/Classes/Overlays/PreviewAudioView.swift
+++ b/Pods/RocketChatViewController/Composer/Classes/Overlays/PreviewAudioView.swift
@@ -172,11 +172,15 @@ public class PreviewAudioView: UIView, ComposerLocalizable {
// MARK: Events
extension PreviewAudioView {
+
@objc func touchUpInsideDiscardButton() {
guard let url = audioView.audioUrl else {
return
}
+ audioView.player?.stop()
+ audioView.player = nil
+
delegate?.previewAudioView(self, didDiscardAudio: url)
}
@@ -185,8 +189,12 @@ extension PreviewAudioView {
return
}
+ audioView.player?.stop()
+ audioView.player = nil
+
delegate?.previewAudioView(self, didConfirmAudio: url)
}
+
}
// MARK: SwipeIndicatorView
@@ -357,15 +365,18 @@ public class AudioView: UIView {
// MARK: AVAudioPlayerDelegate
extension AudioView: AVAudioPlayerDelegate {
- func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
+
+ private func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
playing = false
progressSlider.value = 0.0
}
+
}
// MARK: Events
extension AudioView {
+
@objc func didStartSlidingSlider(_ sender: UISlider) {
playing = false
}
@@ -384,4 +395,5 @@ extension AudioView {
@objc func didPressPlayButton(_ sender: UIButton) {
playing = !playing
}
+
}
diff --git a/Pods/RocketChatViewController/Composer/Classes/Overlays/RecordAudioView.swift b/Pods/RocketChatViewController/Composer/Classes/Overlays/RecordAudioView.swift
index bda8b6b53f..6d1eee5f5d 100644
--- a/Pods/RocketChatViewController/Composer/Classes/Overlays/RecordAudioView.swift
+++ b/Pods/RocketChatViewController/Composer/Classes/Overlays/RecordAudioView.swift
@@ -19,8 +19,7 @@ public class RecordAudioView: UIView {
public var soundFeedbacksPlayer: AVAudioPlayer?
- internal let impactFeedbackLight = UIImpactFeedbackGenerator(style: .light)
- internal let impactFeedbackMedium = UIImpactFeedbackGenerator(style: .medium)
+ internal let feedbackNotification = UINotificationFeedbackGenerator()
public let audioRecorder = AudioRecorder()
@@ -88,11 +87,11 @@ public class RecordAudioView: UIView {
micButton.transform = CGAffineTransform(translationX: translationX, y: 0)
timeLabel.alpha = 0
- UIView.animate(withDuration: 0.25, animations: {
+ UIView.animate(withDuration: 0.25, delay: 0, options: .allowUserInteraction, animations: {
self.swipeIndicatorView.transform = CGAffineTransform(translationX: 0, y: 0)
self.micButton.transform = CGAffineTransform(translationX: 0, y: 0)
self.timeLabel.alpha = 1
- })
+ }, completion: nil)
}
public override init(frame: CGRect) {
@@ -172,13 +171,13 @@ public class RecordAudioView: UIView {
*/
func startRecording() {
if !audioRecorder.isRecording {
- impactFeedbackMedium.impactOccurred()
+ feedbackNotification.notificationOccurred(.warning)
if let startAudioRecordURL = ComposerAssets.startAudioRecordSound {
play(sound: startAudioRecordURL)
}
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
+ DispatchQueue.main.asyncAfter(deadline: .now() + 0.75) {
self.audioRecorder.record()
}
}
@@ -190,10 +189,7 @@ public class RecordAudioView: UIView {
func stopRecording() {
if audioRecorder.isRecording {
audioRecorder.stop()
-
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.15) {
- self.impactFeedbackLight.impactOccurred()
- }
+ self.feedbackNotification.notificationOccurred(.success)
}
}
@@ -205,16 +201,14 @@ public class RecordAudioView: UIView {
play(sound: cancelAudioRecordURL)
}
+ self.feedbackNotification.notificationOccurred(.success)
+
UIView.animate(withDuration: 0.25, animations: {
self.transform = CGAffineTransform(translationX: -self.frame.width, y: 0)
}) { _ in
self.audioRecorder.delegate = nil
self.audioRecorder.cancel()
self.delegate?.recordAudioViewDidCancel(self)
-
- DispatchQueue.main.asyncAfter(deadline: .now() + 0.15) {
- self.impactFeedbackLight.impactOccurred()
- }
}
}
diff --git a/Rocket.Chat.ShareExtension/Info.plist b/Rocket.Chat.ShareExtension/Info.plist
index 9ab65131e2..e9b62a5f40 100644
--- a/Rocket.Chat.ShareExtension/Info.plist
+++ b/Rocket.Chat.ShareExtension/Info.plist
@@ -19,7 +19,7 @@
CFBundleShortVersionString
3.4.0
CFBundleVersion
- 245
+ 247
ITSEncryptionExportComplianceCode
NSExtension
diff --git a/Rocket.Chat/Info.plist b/Rocket.Chat/Info.plist
index 0b582cfcca..ac3448b998 100644
--- a/Rocket.Chat/Info.plist
+++ b/Rocket.Chat/Info.plist
@@ -222,7 +222,7 @@
CFBundleVersion
- 245
+ 247
Fabric
APIKey
diff --git a/Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift b/Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift
index d3da013b97..b70062068a 100644
--- a/Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift
+++ b/Rocket.Chat/Models/Mapping/SubscriptionModelMapping.swift
@@ -135,9 +135,18 @@ extension Subscription: ModelMappeable {
}
if values["lastMessage"].dictionary != nil {
- let user = User()
- user.map(values["lastMessage"]["u"], realm: realm)
- realm?.add(user, update: true)
+ if let userIdentifier = values["lastMessage"]["u"]["_id"].string {
+ if let realm = realm {
+ if let user = realm.object(ofType: User.self, forPrimaryKey: userIdentifier as AnyObject) {
+ user.map(values["u"], realm: realm)
+ realm.add(user, update: true)
+ } else {
+ let user = User()
+ user.map(values["u"], realm: realm)
+ realm.add(user, update: true)
+ }
+ }
+ }
let message = Message()
message.map(values["lastMessage"], realm: realm)
diff --git a/Rocket.Chat/Models/Subscription/Subscription.swift b/Rocket.Chat/Models/Subscription/Subscription.swift
index 64c4b52cfc..939a4661c7 100644
--- a/Rocket.Chat/Models/Subscription/Subscription.swift
+++ b/Rocket.Chat/Models/Subscription/Subscription.swift
@@ -151,12 +151,14 @@ extension Subscription {
guard
let auth = auth ?? AuthManager.isAuthenticated(),
let baseURL = auth.baseURL(),
+ let userId = auth.userId,
+ let token = auth.token,
let encodedName = name.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed)
else {
return nil
}
- return URL(string: "\(baseURL)/avatar/%22\(encodedName)?format=jpeg")
+ return URL(string: "\(baseURL)/avatar/%22\(encodedName)?format=jpeg&rc_uid=\(userId)&rc_token=\(token)")
}
}
diff --git a/Rocket.Chat/Resources/el.lproj/Localizable.strings b/Rocket.Chat/Resources/el.lproj/Localizable.strings
index 10961f5d05..d059487a34 100644
--- a/Rocket.Chat/Resources/el.lproj/Localizable.strings
+++ b/Rocket.Chat/Resources/el.lproj/Localizable.strings
@@ -3,7 +3,7 @@
"global.yes" = "Ναι";
"global.no" = "Όχι";
"global.cancel" = "Ακύρωση";
-"global.error" = "λάθος";
+"global.error" = "Λάθος";
// Errors
"error.socket.default_error.title" = "Ωπ!";
@@ -50,7 +50,7 @@
"alert.authorization_error.create_channel.description" = "Δεν μπορείτε να δημιουργήστετε κανάλια";
"alert.unsupported_feature.title" = "Η λειτουργικότητα δεν υποστηρίζεται";
-"alert.unsupported_feature.message" = "Η έκδοση του εξυπηρετητή είναι: %@. Αητή η λειτουργικότητα υποστηρίζεται μονο σε εκδόσεις %@ και άνω.";
+"alert.unsupported_feature.message" = "Η έκδοση του εξυπηρετητή είναι: %@. Αυτή η λειτουργικότητα υποστηρίζεται μόνο σε εκδόσεις %@ και άνω.";
"alert.upload_error.title" = "Σφάλμα στο ανέβασμα";
"alert.upload_error.message" = "Συνέβη κάποιο σφάλμα ενώ ανεβάζατε το αρχείο σας. Παρακαλούμε ξαναπροσπαθήστε.";
@@ -94,14 +94,14 @@
// Socket Connection
"connection.title" = "Συνδεθείτε στον εξυπηρετητή σας";
"connection.button_connect" = "Σύνδεση";
-"connection.server_url.placeholder" = "your-company.rocket.chat"; // TODO
+"connection.server_url.placeholder" = "δική-σας-εταιρία.rocket.chat";
"connection.offline.banner.message" = "Βρίσκεστε εκτός σύνδεσης, προσπαθήστε να συνδεθείτε ξανά";
"connection.connecting.banner.message" = "Συνδεόμαστε...";
"connection.waiting_for_network.banner.message" = "Περιμένετε για το δίκτυο";
// Onboarding
-"onboarding.label_welcome" = "Καλώς ορίσατε στο Rocket Chat";
-"onboarding.label_subtitle" = "Team Communication"; // TODO
+"onboarding.label_welcome" = "Καλωσήρθατε στο Rocket Chat";
+"onboarding.label_subtitle" = "Επικοινωνία Ομάδας";
"onboarding.button_connect_server" = "Συνδεθείτε σε ένα εξυπηρετητή";
"onboarding.button_create_server" = "Συνδεθείτε σε ένα Χώρο Εργασίας";
"onboarding.button_join_community_prefix" = "Συνδεθείτε με την κοινότητα";
@@ -111,7 +111,7 @@
"auth.connect.ssl_required" = "Απαιτείται υποστήριξη SSL στον εξυπηρετητή";
"auth.connect.connecting" = "Σύνδεση σε εξέλιξη. Περιμένετε παρακαλώ";
"auth.email_auth_prefix" = "Σύνδεση με ";
-"auth.email_auth" = "e-mail"; // TODO
+"auth.email_auth" = "e-mail"; // TODO: maybe should not be translated
"auth.login_service_prefix" = "Συνέχεια με ";
"auth.signup_title" = "Εγγραφή";
@@ -152,11 +152,11 @@
"subscriptions.list.no_message" = "Κανένα μήνυμα";
"subscriptions.list.sent_an_attachment" = "στείλτε ένα συνημμένο";
"subscriptions.list.date.yesterday" = "Εχθές";
-"subscriptions.list.actions.read" = "Read"; // TODO
-"subscriptions.list.actions.unread" = "Unread"; // TODO
-"subscriptions.list.actions.favorite" = "Favorite"; // TODO
-"subscriptions.list.actions.unfavorite" = "Unfavorite"; // TODO
-"subscriptions.list.actions.hide" = "Hide"; // TODO
+"subscriptions.list.actions.read" = "Αναγνωσμένο";
+"subscriptions.list.actions.unread" = "Αδιάβαστο";
+"subscriptions.list.actions.favorite" = "Αγαπημένο";
+"subscriptions.list.actions.unfavorite" = "Μη αγαπημένο";
+"subscriptions.list.actions.hide" = "Απόκρυψη";
// Servers
"servers.add_new_team" = "Προσθέστε νέα ομάδας";
@@ -200,11 +200,11 @@
"chat.muted" = "Έχετε τεθεί σε σίγαση";
"chat.loading_messages" = "Φόρτωση μηνυμάτων...";
"chat.unread_separator" = "νέα μηνύματα";
-"chat.preview.actions.read" = "Mark as read"; // TODO
-"chat.preview.actions.unread" = "Mark as unread"; // TODO
-"chat.preview.actions.favorite" = "Favorite"; // TODO
-"chat.preview.actions.unfavorite" = "Unfavorite"; // TODO
-"chat.preview.actions.hide" = "Hide"; // TODO
+"chat.preview.actions.read" = "Σημαδέψτε σαν αναγνωσμένο";
+"chat.preview.actions.unread" = "Σημαδέψτε σαν μη αναγνωσμένο";
+"chat.preview.actions.favorite" = "Αγαπημένο";
+"chat.preview.actions.unfavorite" = "Μη αγαπημένο";
+"chat.preview.actions.hide" = "Κρυφό";
// Read Receipts
"chat.read_receipt_list.title" = "Διαβάστηκε από";
@@ -223,8 +223,8 @@
"chat.message.actions.unstar" = "Όχι-αστέρι";
"chat.message.actions.quote" = "Επιδείξτε μήνυμα";
"chat.message.actions.reply" = "Απαντήστε σε μήνυμα";
-"chat.message.actions.join_video_call" = "Join Video Call"; // TODO
-"chat.message.actions.permalink" = "Permalink"; //TODO
+"chat.message.actions.join_video_call" = "Συνδεση σε βιντεοκλήση";
+"chat.message.actions.permalink" = "Μόνιμος σύνδεσμος";
"chat.message.actions.delete" = "Διαγράψτε μήνυμα";
"chat.message.actions.delete.confirm.title" = "Να διαγράψουμε αυτό το μήνυμα;";
"chat.message.actions.delete.confirm.message" = "Σίγουρα θέλετε να διαγράψετε αυτό το μήνυμα; Αυτή η διαδικασία δεν μπορεί να ακυρωθεί.";
@@ -267,10 +267,10 @@
"chat.drawing.settings.color.others" = "Επιλλέξτε χρώμα:";
// Chat Typing
-"chat.users_are_typing" = "%@ are typing..."; // TODO
-"chat.user_is_typing" = "%@ is typing..."; // TODO
-"chat.typing" = "typing..."; // TODO
-"chat.several_typing" = "several users are typing..."; // TODO
+"chat.users_are_typing" = "%@ πληκτρολογούν...";
+"chat.user_is_typing" = "%@ πληκτρολογεί...";
+"chat.typing" = "πληκτρολογεί...";
+"chat.several_typing" = "διαφοροι χρήστες πληκτρολογούν...";
// Message Types
"chat.message.type.room_name_changed" = "Το όνομα του δωματίου άλλαξε σε: %@ by %@";
@@ -287,12 +287,12 @@
"chat.message.type.room_archived" = "Αυτό το δωμάτιο αρχειοθετήθηκε από %@";
"chat.message.type.room_unarchived" = "Αυτό το δωμάτιο αποαρχειοθετήθηκε από %@";
"chat.message.type.message_pinned" = "Καρφιτσώθηκε ένα μήνυμα:";
-"chat.message.type.message_snippeted" = "Created a snippet: \"%@\""; // TODO
-"chat.message.type.room_changed_privacy" = "Room privacy changed to \"%@\" by %@"; // TODO
-"chat.message.type.room_changed_topic" = "Room topic changed to \"%@\" by %@"; // TODO
-"chat.message.type.room_changed_announcement" = "Room annoucement changed to \"%@\" by %@"; // TODO
-"chat.message.type.room_changed_description" = "Room description changed to \"%@\" by %@"; // TODO
-"chat.message.type.video_call_started" = "Video call started by %@"; // TODO
+"chat.message.type.message_snippeted" = "Δημιουργήστε ένα απόσπασμα: \"%@\"";
+"chat.message.type.room_changed_privacy" = "H Ιδιωτικότητα(απόρρητο) του Δωματίου μεταβλήθηκε σε \"%@\" από %@";
+"chat.message.type.room_changed_topic" = "Το θέμα του δωματίου μεταβλήθηκε σε \"%@\" από %@";
+"chat.message.type.room_changed_announcement" = "Η αναγγελία του δωματίου μεταβλήθηκε σε \"%@\" από %@";
+"chat.message.type.room_changed_description" = "Η περιγραφή του Δωματίου μεταβλήθηκε σε \"%@\" από %@";
+"chat.message.type.video_call_started" = "Μια Βεντοκλήση ξεκίνησε από %@";
// Chat Information
"chat.info.title" = "Πληροφορία";
@@ -300,13 +300,13 @@
"chat.info.item.no_topic" = "Όχι θέμα";
"chat.info.item.description" = "Περιγραφή";
"chat.info.item.no_description" = "Έλλειψη περιγραφής";
-"chat.info.item.announcement" = "Announcement"; // TODO
-"chat.info.item.no_announcement" = "No announcement"; // TODO
-"chat.info.item.notifications" = "Ειδοποιήσεις";
+"chat.info.item.announcement" = "Αναγγελία";
+"chat.info.item.no_announcement" = "Καμία αναγγελία";
+"chat.info.item.notifications" = "Γνωστοποιήσεις";
"chat.info.item.members" = "Μέλη";
"chat.info.item.pinned" = "Καρφιτσωμένα";
"chat.info.item.starred" = "Αστερωμένα";
-"chat.info.item.mentions" = "Αναφέρθηκαν";
+"chat.info.item.mentions" = "Αναφορές";
"chat.info.item.files" = "Αρχεία";
"chat.info.item.share" = "Κοινή Χρήση";
@@ -324,7 +324,7 @@
"chat.messages.list.search.placeholder" = "Αναζήτηση μηνυμάτων";
"chat.messages.pinned.list.title" = "Καρφιτσωμένα Μηνύματα";
"chat.messages.starred.list.title" = "Αστερωμένα Μηνύματα";
-"chat.messages.mentions.list.title" = "Αναφέρθηκε";
+"chat.messages.mentions.list.title" = "Αναφορές";
"chat.messages.files.list.title" = "Αρχεία";
"chat.messages.files.list.empty" = "Δεν βρέθηκαν αρχεία";
@@ -340,15 +340,15 @@
"myaccount.settings.contactus" = "Επικοινωνήστε μαζί μας";
"myaccount.settings.profile" = "Λογαριασμός";
"myaccount.settings.license" = "Άδεια";
-"myaccount.settings.language" = "Language";
-"myaccount.settings.review" = "Review this App"; // TODO
-"myaccount.settings.share" = "Share this App"; // TODO
+"myaccount.settings.language" = "Γλώσσα";
+"myaccount.settings.review" = "Αξιολογήστε την εφαρμογή";
+"myaccount.settings.share" = "Μοιραστείτε την εφαρμογή";
"myaccount.settings.appicon" = "Εικονίδιο Εφαρμογής";
"myaccount.settings.version" = "Έκδοση: %@ (%@)";
"myaccount.settings.server_version" = "Έκδοση Εξυπηρετητή: %@";
"myaccount.settings.web_browser" = "Πρόγραμμα Περιήγησης";
"myaccount.settings.tracking.title" = "Αποστολή Αναφοράς Κατάρευσης";
-"myaccount.settings.tracking.footer" = "Δεν καταγράφουμε ποτέ το περιεχόμενο των συνομιλιών σας. Η αναφορά κατάρευσης πειλαμβάνει μόνο σχετική πληροφορία για μας ώστε να εντοπίσουμε προβλήματα και να τα διορθώσουμε.";
+"myaccount.settings.tracking.footer" = "Δεν καταγράφουμε ποτέ το περιεχόμενο των συνομιλιών σας. Η αναφορά κατάρρευσης περιλαμβάνει μόνο σχετική πληροφορία για μας ώστε να εντοπίσουμε προβλήματα και να τα διορθώσουμε.";
// Change Application Icon
"myaccount.settings.changeicon.title" = "Επιλέξτε Εικονίδιο";
@@ -362,53 +362,53 @@
"myaccount.settings.language.message" = "Έχετε μεταβάλει τις ρυθμίσεις γλώσσας. Πρέπει να επανεκκινήσετε το Rocket.Chat ώστε να τεθούν σε εφαρμογή οι νέες ρυθμίσεις.";
// Notifications preferences
-"myaccount.settings.notifications.title" = "Notification Preferences"; // TODO
-"myaccount.settings.notifications.save" = "Save"; // TODO
+"myaccount.settings.notifications.title" = "Προτιμήσεις Γνωστοποιήσεων";
+"myaccount.settings.notifications.save" = "Αποθήκευση";
-"myaccount.settings.notifications.receive.title" = "Receive Notifications"; // TODO
-"myaccount.settings.notifications.receive.footer" = "Receive notifications from %@"; // TODO
-"myaccount.settings.notifications.show.title" = "Show Unread Counter"; // TODO
-"myaccount.settings.notifications.show.footer" = "Unread counter is displayed as a badge on to the right of the channel, in the list."; // TODO
+"myaccount.settings.notifications.receive.title" = "Λήψη Γνωστοποιήσεων";
+"myaccount.settings.notifications.receive.footer" = "Λήψη Γνωστοποιήσεων από %@";
+"myaccount.settings.notifications.show.title" = "Εμφάνιση Μετρητή μη αναγνωσμένων";
+"myaccount.settings.notifications.show.footer" = "Ο μετρητής μη αναγνωσμένων εμφανίζεται σαν σήμα στα δεξιά του καναλιού, στη λίστα.";
-"myaccount.settings.notifications.inapp" = "In-app and Desktop"; // TODO
-"myaccount.settings.notifications.inapp.alerts" = "Alerts"; // TODO
-"myaccount.settings.notifications.inapp.footer" = "Displays a banner at the top of the screen when the app is open, and displays a notification on desktop."; // TODO
+"myaccount.settings.notifications.inapp" = "Εντός-Εφαρμογής και Επιφάνειας Εργασίας";
+"myaccount.settings.notifications.inapp.alerts" = "Συναγερμοί";
+"myaccount.settings.notifications.inapp.footer" = "Εμφανίζει ένα μπάνερ στην κορυφή της οθόνης όταν η εφαρμογή είναι ανοιχτή, και εμφανίζει μια γνωστοποίηση στην επιφάνεια εργασίας.";
-"myaccount.settings.notifications.mobile" = "Mobile"; // TODO
-"myaccount.settings.notifications.mobile.alerts" = "Alerts"; // TODO
-"myaccount.settings.notifications.mobile.footer" = "These notifications are delivered to your device when the app is not open."; // TODO
+"myaccount.settings.notifications.mobile" = "Κινητού";
+"myaccount.settings.notifications.mobile.alerts" = "Συναγερμοί";
+"myaccount.settings.notifications.mobile.footer" = "Αυτές οι γνωστοποιήσεις εμφανίζονται στη συσκευή σας όταν η εφαρμογή δεν είναι ενεργή.";
-"myaccount.settings.notifications.desktop" = "Desktop options"; // TODO
-"myaccount.settings.notifications.desktop.audio" = "Audio"; // TODO
-"myaccount.settings.notifications.desktop.sound" = "Sound"; // TODO
-"myaccount.settings.notifications.desktop.duration" = "Notification Duration"; // TODO
+"myaccount.settings.notifications.desktop" = "Επιλογές Επιφάνειας";
+"myaccount.settings.notifications.desktop.audio" = "Ακουστική";
+"myaccount.settings.notifications.desktop.sound" = "Ήχος";
+"myaccount.settings.notifications.desktop.duration" = "Διάρκεια Γνωστοποιήσεων";
-"myaccount.settings.notifications.mail" = "Email"; // TODO
-"myaccount.settings.notifications.email.alerts" = "Alerts"; // TODO
+"myaccount.settings.notifications.mail" = "Email"; // TODO: maybe should not be translated
+"myaccount.settings.notifications.email.alerts" = "Συναγερμοί";
-"myaccount.settings.notifications.duration.default" = "Default"; // TODO
-"myaccount.settings.notifications.duration.seconds" = "seconds"; // TODO
+"myaccount.settings.notifications.duration.default" = "Προεπιλογή";
+"myaccount.settings.notifications.duration.seconds" = "δευτερόλεπτα";
-"alert.update_notifications_preferences_success.title" = "Preferences saved"; // TODO
+"alert.update_notifications_preferences_success.title" = "Οι Προτιμήσεις αποθηκεύτηκαν";
-"alert.update_notifications_preferences_save_error.title" = "Failed to update notifications preferences"; // TODO:
-"alert.update_notifications_preferences_save_error.message" = "Something wrong happened while saving your notification preferences. Please, try again."; // TODO
+"alert.update_notifications_preferences_save_error.title" = "Απέτυχε η ενημέρωση των προτιμήσεων γνωστοποιήσεων";
+"alert.update_notifications_preferences_save_error.message" = "Κάποιο σφάλμα συνέβη κατά την αποθήκευση των προτιμήσεών σας για τις Γνωστοποιήσεις. Παρακαλούμε ξαναπροσπαθήστε.";
// Enum SubscriptionNotificationsStatus
-"subscription.notifications.status.default" = "Default"; // TODO
-"subscription.notifications.status.nothing" = "Nothing"; // TODO
-"subscription.notifications.status.all" = "All"; // TODO
-"subscription.notifications.status.mentions" = "Mentions"; // TODO
+"subscription.notifications.status.default" = "Προεπιλογή";
+"subscription.notifications.status.nothing" = "Καμία";
+"subscription.notifications.status.all" = "Όλες";
+"subscription.notifications.status.mentions" = "Αναφορές";
// Enum SubscriptionNotificationsAudioValue
-"subscription.notifications.audio.value.none" = "None"; // TODO
-"subscription.notifications.audio.value.default" = "Default"; // TODO
-"subscription.notifications.audio.value.beep" = "Beep"; // TODO
+"subscription.notifications.audio.value.none" = "Καμία";
+"subscription.notifications.audio.value.default" = "Προεπιλογή";
+"subscription.notifications.audio.value.beep" = "Μπίπ";
"subscription.notifications.audio.value.chelle" = "Chelle"; // TODO
-"subscription.notifications.audio.value.ding" = "Ding"; // TODO
-"subscription.notifications.audio.value.droplet" = "Droplet"; // TODO
-"subscription.notifications.audio.value.highbell" = "Highbell"; // TODO
-"subscription.notifications.audio.value.seasons" = "Seasons"; // TODO
+"subscription.notifications.audio.value.ding" = "Κουδούνι";
+"subscription.notifications.audio.value.droplet" = "Σταγόνα";
+"subscription.notifications.audio.value.highbell" = "Καμπάνα";
+"subscription.notifications.audio.value.seasons" = "Εποχές";
// Choose Web Browser
"web_browser.safari.title" = "Safari";
@@ -417,7 +417,7 @@
"web_browser.opera.title" = "Opera Mini";
"web_browser.firefox.title" = "Firefox";
"myaccount.settings.web_browser.title" = "Πρόγραμμα Περιήγησης";
-"myaccount.settings.web_browser.footer" = "Αυτή η εφαρμογή θα χρησμοποιηθεί για να ανοίξει συνδέσμους στο Rocket Chat.";
+"myaccount.settings.web_browser.footer" = "Αυτή η εφαρμογή θα χρησιμοποιηθεί για να ανοίξει συνδέσμους στο Rocket Chat.";
// Update Profile
"myaccount.settings.profile.title" = "Λογαριασμός";
@@ -429,7 +429,7 @@
"myaccount.settings.profile.section.password" = "Συνθηματικό";
"myaccount.settings.profile.name_placeholder" = "Όνομα";
"myaccount.settings.profile.username_placeholder" = "Όνομα χρήστη";
-"myaccount.settings.profile.email_placeholder" = "E-mail";
+"myaccount.settings.profile.email_placeholder" = "E-mail"; //TODO: maybe should not be translated
"myaccount.settings.profile.status.title" = "Κατάσταση";
"myaccount.settings.profile.password_required.title" = "Εισάγετε το συνθηματικό σας";
"myaccount.settings.profile.password_required.message" = "Το συνθηματικό σας είναι απαραίτητο όταν αλλάζετε το e-mail σας.";
@@ -438,7 +438,7 @@
// New Password
"myaccount.settings.profile.new_password.title" = "Νέο συνθηματικό";
"myaccount.settings.profile.new_password.section.password" = "Συνθηματικό";
-"myaccount.settings.profile.new_password.actions.save" = "Save";
+"myaccount.settings.profile.new_password.actions.save" = "Αποθήκευση";
"myaccount.settings.profile.new_password.password_placeholder" = "Νέο συνθηματικό";
"myaccount.settings.profile.new_password.password_confirmation_placeholder" = "Επιβεβαίωση Συνθηματικού";
"myaccount.settings.profile.new_password.password_required.title" = "Εισάγετε το συνθηματικό σας";
@@ -455,12 +455,12 @@
"user_details.status" = "Κατάσταση";
"user_details.role" = "Ρόλος";
"user_details.roles" = "Ρόλοι";
-"user_details.email" = "Email"; // TODO
-"user_details.emails" = "Emails"; // TODO
+"user_details.email" = "Email"; // TODO: maybe should not be translated
+"user_details.emails" = "Emails"; // TODO: maybe should not be translated
"user_details.timezone" = "Ζώνη ώρας";
"user_details.message_button" = "Μήνυμα";
-"user_details.voice_call_button" = "Κλήση Ομιλίας";
-"user_details.video_call_button" = "Κλήση Βίντεο";
+"user_details.voice_call_button" = "Φωνητική κλήση";
+"user_details.video_call_button" = "Βιντεοκλήση";
// Theme
"theme.settings.title" = "Θέμα";
@@ -480,36 +480,36 @@
"subscriptions.grouping.unread_top" = "Αδιάβαστα στην κορυφή";
// Shortcuts
-"shortcuts.type_message" = "Type message"; //TODO
-"shortcuts.preferences" = "Preferences"; //TODO
-"shortcuts.room_search" = "Rooms search"; //TODO
-"shortcuts.room_selection" = "Room selection 1...9"; //TODO
-"shortcuts.next_room" = "Next room"; //TODO
-"shortcuts.previous_room" = "Previous room"; //TODO
-"shortcuts.new_room" = "New room"; //TODO
-"shortcuts.room_actions" = "Room actions"; //TODO
-"shortcuts.upload_room" = "Upload to room"; //TODO
-"shortcuts.search_messages" = "Search messages"; //TODO
-"shortcuts.scroll_messages" = "Scroll messages"; //TODO
-"shortcuts.reply_latest" = "Reply to latest"; //TODO
-"shortcuts.server_selection" = "Server selection"; //TODO
-"shortcuts.server_selection_numbers" = "Server selection 1...9"; //TODO
-"shortcuts.add_server" = "Add server"; //TODO
-"shortcuts.change_theme" = "Change theme"; //TODO
-"shortcuts.send" = "Send"; //TODO
-"shortcuts.new_line" = "New line"; //TODO
+"shortcuts.type_message" = "Γράψτε μήνυμα";
+"shortcuts.preferences" = "Προτιμήσεις";
+"shortcuts.room_search" = "Αναζήτηση δωματίου";
+"shortcuts.room_selection" = "Επιλογή δωματίου 1...9";
+"shortcuts.next_room" = "Επόμενο δωματιο";
+"shortcuts.previous_room" = "Προηγούμενο δωμάτιο";
+"shortcuts.new_room" = "Νέο δωμάτιο";
+"shortcuts.room_actions" = "Ενέργειες δωματίων";
+"shortcuts.upload_room" = "Μεταφόρτωση στο δωμάτιο";
+"shortcuts.search_messages" = "Αναζήτηση μηνυμάτων";
+"shortcuts.scroll_messages" = "Κοίληση μηνυμάτων";
+"shortcuts.reply_latest" = "Απάντηση στο πιο πρόσφατο";
+"shortcuts.server_selection" = "Επιλογή εξυπηρετητή";
+"shortcuts.server_selection_numbers" = "Επιλογή εξυπηρετητή 1...9";
+"shortcuts.add_server" = "Προσθήκη εξυπηρετητή";
+"shortcuts.change_theme" = "Αλλαγή θέματος";
+"shortcuts.send" = "Αποστολή";
+"shortcuts.new_line" = "Νέα γραμμή";
// Chat Components
-"chat.components.quote.replied" = "Replied"; //TODO
-"chat.components.quote.pinned" = "Pinned"; //TODO
-"chat.components.text_attachment.no_title" = "No title"; //TODO
+"chat.components.quote.replied" = "Απαντήθηκε";
+"chat.components.quote.pinned" = "Καρφιτσώθηκε";
+"chat.components.text_attachment.no_title" = "Χωρίς Τίτλο";
// Directory
-"directory.title" = "Directory"; // TODO
-"directory.filters.channels" = "Channels"; // TODO
-"directory.filters.users" = "Users"; // TODO
-"directory.filters.by" = "Search by"; // TODO
-"directory.filters.global.title" = "Search for global users"; // TODO
-"directory.filters.global.subtitle" = "If you turn-on, you can search for any user from others companies or servers. "; // TODO
-"directory.users.1_user" = "1 member"; // TODO
-"directory.users.x_users" = "%@ members"; // TODO
+"directory.title" = "Κατάλογος";
+"directory.filters.channels" = "Κανάλια";
+"directory.filters.users" = "Χρήστες";
+"directory.filters.by" = "Αναζήτηση με";
+"directory.filters.global.title" = "Αναζήτηση για χρήστες παντού";
+"directory.filters.global.subtitle" = "Αν το ενεργοποιήσετε, θα μπορείτε να αναζητήσετε για οποιοδήποτε χρήστη και από άλλες εταιρίες ή εξυπηρετητές. ";
+"directory.users.1_user" = "1 μέλος";
+"directory.users.x_users" = "%@ μέλη";
diff --git a/Rocket.Chat/Views/Cells/Subscription/BaseSubscriptionCell.swift b/Rocket.Chat/Views/Cells/Subscription/BaseSubscriptionCell.swift
index d0519a94cb..246575bf15 100644
--- a/Rocket.Chat/Views/Cells/Subscription/BaseSubscriptionCell.swift
+++ b/Rocket.Chat/Views/Cells/Subscription/BaseSubscriptionCell.swift
@@ -109,8 +109,7 @@ class BaseSubscriptionCell: SwipeTableViewCell, SubscriptionCellProtocol {
labelUnread.text = "\(subscription.unread)"
}
} else {
- viewUnread.isHidden = false
- labelUnread.text = "!"
+ viewUnread.isHidden = true
}
}
diff --git a/Rocket.Chat/Views/Cells/Subscription/SubscriptionCell.swift b/Rocket.Chat/Views/Cells/Subscription/SubscriptionCell.swift
index 9286410649..3aacb33c19 100644
--- a/Rocket.Chat/Views/Cells/Subscription/SubscriptionCell.swift
+++ b/Rocket.Chat/Views/Cells/Subscription/SubscriptionCell.swift
@@ -42,19 +42,37 @@ final class SubscriptionCell: BaseSubscriptionCell {
super.updateSubscriptionInformation()
+ setLastMessageColor()
setDateColor()
}
override func updateViewForAlert(with subscription: Subscription) {
super.updateViewForAlert(with: subscription)
+ labelDate.font = UIFont.systemFont(ofSize: labelDate.font.pointSize, weight: .bold)
labelLastMessage.font = UIFont.systemFont(ofSize: labelLastMessage.font.pointSize, weight: .medium)
}
override func updateViewForNoAlert(with subscription: Subscription) {
super.updateViewForNoAlert(with: subscription)
+ labelDate.font = UIFont.systemFont(ofSize: labelDate.font.pointSize, weight: .regular)
labelLastMessage.font = UIFont.systemFont(ofSize: labelLastMessage.font.pointSize, weight: .regular)
}
+ private func setLastMessageColor() {
+ guard
+ let theme = theme,
+ let subscription = subscription?.managedObject
+ else {
+ return
+ }
+
+ if subscription.unread > 0 || subscription.alert {
+ labelLastMessage.textColor = theme.bodyText
+ } else {
+ labelLastMessage.textColor = theme.auxiliaryText
+ }
+ }
+
private func setDateColor() {
guard
let theme = theme,
@@ -90,9 +108,7 @@ final class SubscriptionCell: BaseSubscriptionCell {
extension SubscriptionCell {
override func applyTheme() {
super.applyTheme()
- guard let theme = theme else { return }
-
- labelLastMessage.textColor = theme.auxiliaryText
+ setLastMessageColor()
setDateColor()
}
}
diff --git a/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.swift b/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.swift
index dec5328ffd..4534da82f8 100644
--- a/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.swift
+++ b/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.swift
@@ -85,7 +85,7 @@ extension QuoteCell {
let theme = self.theme ?? .light
containerView.backgroundColor = theme.chatComponentBackground
purpose.textColor = theme.auxiliaryText
- username.textColor = theme.actionTintColor
+ username.textColor = theme.bodyText
text.textColor = theme.bodyText
containerView.layer.borderColor = theme.borderColor.cgColor
}
diff --git a/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.xib b/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.xib
index a49585cf8f..ee6f62d3ce 100644
--- a/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.xib
+++ b/Rocket.Chat/Views/Chat/New Chat/Cells/QuoteCell.xib
@@ -37,11 +37,10 @@
-