Commit graph

30443 commits

Author SHA1 Message Date
isaac
4406fc6239 Spec: ListView pin-to-edge half-area cap
Cover clipping behavior and bottom-inset overflow.
2026-05-02 00:36:32 +02:00
Ilya Laktyushin
ffd82647ee Various fixes 2026-05-01 15:29:18 +02:00
Ilya Laktyushin
533a179131 Auth payment improvements 2026-05-01 15:28:26 +02:00
Ilya Laktyushin
2481687329 Add auth product 2026-05-01 15:08:48 +02:00
isaac
2edd2ffea7 Update instructions and fix build 2026-05-01 00:49:47 +02:00
Ilya Laktyushin
43b0124790 Fix poll countries limit 2026-05-01 00:09:52 +02:00
isaac
ebe43c72c6 Merge commit '8dc06f48ce'
# Conflicts:
#	submodules/TgVoipWebrtc/tgcalls
2026-04-30 22:24:28 +02:00
isaac
c63d2b115c Update submodules 2026-04-30 22:22:56 +02:00
Isaac
8dc06f48ce Merge commit '5b013073bf'
# Conflicts:
#	CLAUDE.md
#	MODULE.bazel.lock
#	submodules/TgVoipWebrtc/tgcalls
#	third-party/td/build-td-bazel.sh
#	third-party/webrtc/webrtc
2026-04-30 22:20:45 +02:00
Isaac
203727d4fb Extract tgcalls helpers into tgcalls 2026-04-30 22:13:55 +02:00
Isaac
5962a563e4 feat: tgcalls CLI test tool with group SFU, video, and adaptation
Squashed buildout of the tgcalls testbench:

- CLI test tool with --mode p2p/reflector/group/group-churn,
  cross-version interop (--version, --version2), and quiet/summary output
- Linux toolchain + Docker multi-stage build, AWS Fargate mass test harness,
  local parallel mass test harness with signaling loss simulation
- SCTP writable gate, retransmission timer tuning, role-based handshake
- InstanceV2CompatImpl (PeerConnection backend with V2Impl signaling) and
  SignalingTranslator for v14.0.0 interop
- In-process Go/Pion SFU (ICE+DTLS+SRTP+SCTP per participant) with audio
  RTP forwarding, ActiveAudio/VideoSsrcs data channel broadcast, RTCP
  feedback path, and CGo c-archive integration
- GroupInstanceReferenceImpl (PeerConnection group-call) and mixed-impl
  group mode (--reference-participants), with SDP munging for simulcast
- H264 simulcast group video (FakeVideoTrackSource pattern generator,
  FakeVideoSink frame counting, --video flag, two-pass channel setup,
  reactive video setup from ActiveVideoSsrcs)
- Group churn stress mode (--mode group-churn, --churn-cycles)
- SFU stream-quality adaptation: BandwidthEstimator, LayerSelector
  state machine, RtxRingBuffer, simulcast SSRC rewrite
- Transport-cc feedback generation, NetworkSimulator (delay/jitter/loss/
  token-bucket bandwidth), --network-scenario step-down-up
- CLAUDE.md updates throughout

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-30 18:28:43 +02:00
isaac
6758c94e33 Reapply "Update tgcalls"
This reverts commit 4e81b79254.
2026-04-30 17:31:21 +02:00
Ilya Laktyushin
9b8abdb5ee Fix 2026-04-30 16:51:22 +02:00
Ilya Laktyushin
5b013073bf Fix 2026-04-30 16:50:01 +02:00
Ilya Laktyushin
0664197b53 Poll improvements 2026-04-30 15:43:05 +02:00
Ilya Laktyushin
4ca7d4231b Poll improvements 2026-04-30 15:42:18 +02:00
Ilya Laktyushin
e8baaa5a22 Poll improvements 2026-04-30 15:36:13 +02:00
Ilya Laktyushin
9c3cab27e1 Fix time-limited poll closing 2026-04-30 13:14:56 +02:00
Ilya Laktyushin
fce36108da Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-30 13:14:18 +02:00
Ilya Laktyushin
5a2d6658e7 Fix time-limited poll closing 2026-04-30 13:12:46 +02:00
isaac
4e81b79254 Revert "Update tgcalls"
This reverts commit 5588a3996b.
2026-04-30 14:53:16 +04:00
isaac
5588a3996b Update tgcalls 2026-04-30 14:49:43 +04:00
isaac
207c971358 Merge commit '330fed199d' 2026-04-30 14:43:45 +04:00
isaac
266b1c5941 Fix ListViewProtocol 2026-04-30 14:43:41 +04:00
Ilya Laktyushin
29ecff3728 Various fixes 2026-04-30 12:43:12 +02:00
Ilya Laktyushin
330fed199d Improve quick share toast 2026-04-30 12:39:54 +02:00
Ilya Laktyushin
15f6811a5f Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-30 12:15:44 +02:00
Ilya Laktyushin
b222387923 Make origin check optional 2026-04-30 12:14:39 +02:00
isaac
7ef7f16727 Improve animations 2026-04-30 12:56:55 +04:00
isaac
d6899098a6 Merge branch 'draft-improvements' 2026-04-30 12:18:38 +04:00
isaac
06d744495c Improve draft sorting 2026-04-30 12:15:57 +04:00
isaac
e7662a3de5 Add typing-draft send delay
Delay outgoing messages while the peer in the same (peerId, threadId)
chat is live-typing an incoming message, gated via a new per-account
Postbox `.allTypingDrafts` view feeding a synchronous Set membership
check inside PendingMessageManager.

Postbox:
- Add `AllTypingDraftsView` tracking `Set<PeerAndThreadId>` of active
  typing drafts; expose via `PostboxViewKey.allTypingDrafts`.
- Disambiguate `PostboxViewKey` hash arms for `.typingDrafts` (constant
  prefix 23) and `.contacts` (16 → 24) to avoid runtime collisions
  with peerId-only arms and `.combinedReadState`. Hash values are
  runtime-only, so this is safe.

PendingMessageManager:
- Add `.waitingForSendGate(groupId:content:)` parking state for single
  messages and albums whose upload finished but are gated on a
  typing-draft-clearing event; update `groupId` accessor and
  `dataForPendingMessageGroup` so partially-parked albums drain on
  gate open.
- Add `.waitingForForwardSendGate` parking state for forwards (no
  associated values) so drain section (1) routes single non-grouped
  messages via `commitSendingSingleMessage` and section (3) routes
  forwards via `sendGroupMessagesContent`, avoiding the double-dispatch
  that occurred when forwards reused `.waitingForSendGate`.
- Subscribe to `.allTypingDrafts`; wire the gate at single-message,
  album, and forward send paths and at drain.
- Cleanup parked forwards on pending-message removal; snapshot
  Dictionary keys before iterating to avoid mutation during iteration.

Specs and plan documents are included under `docs/superpowers/`.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-30 12:15:55 +04:00
Ilya Laktyushin
00f87c7b6e Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-29 23:29:49 +02:00
Ilya Laktyushin
c74220300f Various fixes 2026-04-29 23:29:42 +02:00
isaac
f34fdef432 Bump version 2026-04-29 23:55:11 +04:00
isaac
f92aabea7e Merge commit 'fd75bdb356' 2026-04-29 23:35:40 +04:00
isaac
1c27b2c426 Animation and cleanup 2026-04-29 23:35:19 +04:00
isaac
dda6054ef1 Spec: ListView.isStrictlyScrolledToPinToEdgeItem
Design doc for filling in the empty stub at ListView.swift:2674.
Defines the "strictly scrolled" condition as the equation that the
pin-to-edge scroll math at line 3115 lands on:
apparentFrame.maxY == (visibleSize.height - insets.bottom) + scrollPositioningInsets.bottom
with a 0.5pt tolerance.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-29 23:18:17 +04:00
Ilya Laktyushin
fd75bdb356 Fix 2026-04-29 21:15:55 +02:00
Ilya Laktyushin
5c2cebc7bf Merge branch 'master' of gitlab.com:peter-iakovlev/telegram-ios 2026-04-29 20:27:28 +02:00
Ilya Laktyushin
14bbdca050 Various improvements 2026-04-29 20:24:29 +02:00
isaac
301be02a89 Update localization 2026-04-29 21:23:36 +04:00
isaac
53ed837123 Filter draft events 2026-04-29 21:22:51 +04:00
Ilya Laktyushin
06a0031bdd Various improvements 2026-04-29 18:22:42 +02:00
isaac
fefea439ba Merge commit '37d1e2d93e' 2026-04-29 18:45:34 +04:00
isaac
6eb2014650 Fix web 2026-04-29 18:45:26 +04:00
Ilya Laktyushin
37d1e2d93e Various fixes 2026-04-29 15:49:21 +02:00
isaac
3188c793bc Merge commit 'd25010c1cb' 2026-04-29 16:55:40 +04:00
isaac
96089108ca Fixes 2026-04-29 16:55:37 +04:00
Ilya Laktyushin
d25010c1cb Various fixes 2026-04-29 12:46:08 +02:00