Skip to content

Ryan dev 12.7 - #7

Draft
duyhungtnn wants to merge 14 commits into
latest-12.7from
ryan-dev-12.7
Draft

duyhungtnn wants to merge 14 commits into
latest-12.7from
ryan-dev-12.7

Conversation

@duyhungtnn

Copy link
Copy Markdown
Collaborator

No description provided.

clientLocale <- map["client_locale"]
}

public static func getClientLocale() -> String {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be in TGUserControler instead

self.organization!.needChange = false
self.updateRequired = false
self.removeAccountUrl = nil
self.nonblockableBots = [689684671]

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Magic number: Should define "689684671" as constant var

}
}

self.checkDeprecationAlert(settings.deprecation)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since checkDeprecationAlert can display an alert popup:

  • We should verify it is safe to display.
  • Is there a better way to display it? I mean, saveSettings triggering the alert popup display doesn't sound like a good place to put that display code.
/// Special values: `lastUpdateUntrustworthy` (-1), `lastUpdateUnknown` (0).
public var lastUpdated: Int64 = TGRow.lastUpdateUnknown

public static let lastUpdateUntrustworthy: Int64 = -1

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe better use enum ? (lastUpdateUntrustworthy and lastUpdateUnknown) ?

}
}

class Deprecation: Mappable {

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need double check to under about the purpose of Deprecation

row.objectID = NSInteger(peer.peerId.id._internalGetInt64Value())
let groupId = -peer.peerId.id._internalGetInt64Value()
row.title = title as NSString
var userNames = peer.chatMainPeer?.usernames.map({ $0.username }) ?? []

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the logic to collect username has been changed.
I need double check to make sure that is correct.

sirsoweird and others added 12 commits October 18, 2026 11:48
Forward-ports the search-result filtering and blocked-chat gating from
ryan-dev-filter-search (commits 675c6c5..c354c01) onto the 12.7 base.

- Add users to sync request/response and CloudVeil availability checks
  (isAvailable(userID:), manageUsers, replayRequestWithUser); drop the dead
  disableSticker field and fix the disableStickers getter.
- Add TGRow+CloudVeilMetadata helpers to populate restricted/forum/creator
  metadata from Telegram peers.
- Collect plain users into the settings sync from the chat list.
- Add showPolicyAlerts and a plain-user branch to checkPeerIsAllowed.
- Filter search results by CloudVeil peer availability across all message
  collection paths, with an empty-query ramp-up when the first page is fully
  filtered.
- Gate long-press chat preview and search context menus for blocked peers,
  keeping management actions available via a fallback menu.

Co-authored-by: Cursor <cursoragent@cursor.com>
Reuse the existing per-chat activation gate so tapping a blocked chat shows the policy alert once and does not open the conversation.

Co-authored-by: Cursor <cursoragent@cursor.com>
Parse mini-app, Stars, music-status, and deprecation flags plus org URLs, nonblockable bots, client locale, and lastUpdated so later UI can enforce server policy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Send the latest trustworthy peer timestamp and the user's language so the server can age chats and localize policy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Block web-app launch from chat, search, attach menu, and deep links when the server disables mini apps.

Co-authored-by: Cursor <cursoragent@cursor.com>
Hide Stars, mini-app shortcuts, and org Policy/About rows unless the corresponding settings allow them, and open org URLs from the server instead of hardcoded paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove profile music, save-to-profile, and overlay-player actions so users cannot set or display a music status under that policy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep support and other server-listed bots from being stopped or blocked in chat list and peer info.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace the unlimited Telegram default so new installs keep a bounded on-device cache.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment out the DEBUG stableId ordering assert that was firing on filtered history.

Co-authored-by: Cursor <cursoragent@cursor.com>
The API isn't sending update_required, the client was reading it but not using it.

Co-Authored-By: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants