Files
mobile-ios/Rosetta/Core/Data/Models/RecentSearch.swift
senseiGai dd4642f251 encryptWithPassword возвращён к SHA256+rawDeflate (iOS-only данные)
Добавлен encryptWithPasswordDesktopCompat (SHA1+zlibDeflate) для кросс-платформенных данных (aesChachaKey, аватар)
3 вызова в SessionManager переведены на desktop-compatible путь
Добавлен Notification.Name.profileDidUpdate для мгновенного обновления имени в Settings
Удалены debug-логи из CryptoManager и SessionManager
2026-03-15 03:50:56 +05:00

30 lines
1.0 KiB
Swift

import Foundation
struct RecentSearch: Codable, Equatable, Sendable {
let publicKey: String
var title: String
var username: String
/// Verification level from server (0 = not verified).
var verified: Int = 0
// MARK: - Migration: ignore unknown keys from old persisted data
enum CodingKeys: String, CodingKey {
case publicKey, title, username, verified
}
init(publicKey: String, title: String, username: String, verified: Int = 0) {
self.publicKey = publicKey
self.title = title
self.username = username
self.verified = verified
}
init(from decoder: Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
publicKey = try container.decode(String.self, forKey: .publicKey)
title = try container.decode(String.self, forKey: .title)
username = try container.decode(String.self, forKey: .username)
verified = (try? container.decode(Int.self, forKey: .verified)) ?? 0
}
}