What's Changed
- feat: Authentication bypass via biometric enrollment change by @OtavioStasiak in #7351
- feat: floating date separator by @OtavioStasiak in #7588
- feat: render custom sidebar categories in rooms list by @diegolmello in #7734
- fix(android): remove extra header height in NewServerView by @Rohit3523 in #7432
- fix(security): harden Android notification receivers, token storage, and deep-link login by @OtavioStasiak in #7447
- fix: room list rendering wrong built-in emoji when a custom emoji shares its shortcode by @Rohit3523 in #7462
- fix: video attachments not reproducing on iOS by @OtavioStasiak in #7530
- fix: prepare subscription updates inside the writer lock by @diegolmello in #7544
- fix(voip): unblock incoming calls on Android below API 33 by @OtavioStasiak in #7579
- fix: crash in ShareView when a shared file no longer exists by @Rohit3523 in #7581
- fix: emojis sent from web not rendering by @OtavioStasiak in #7594
- fix: resolved link preview cleared by partial message sync by @Rohit3523 in #7597
- fix: reaction list cuts off last reactors behind the nav bar by @Rohit3523 in #7620
- fix: reactions not displaying on thread main message by @OtavioStasiak in #7621
- fix: reaction sheet blank when server omits reaction names by @Rohit3523 in #7622
- fix: UNIQUE constraint failed on threads.id by @diegolmello in #7625
- fix: leaked prepared subscriptions break lastOpen writes by @diegolmello in #7626
- fix: fewer-hooks crash on NewServerView by @Rohit3523 in #7651
- fix: admin panel requiring a new login by @diegolmello in #7665
- fix: allow channel, user and emoji autocomplete after slash command by @Rohit3523 in #7668
- fix(android): E2E not building on CI by @OtavioStasiak in #7688
- fix: show stored messages when a room's first load fails by @diegolmello in #7736
- regression: custom emoji rendering as raw shortname in reaction bar and emoji picker by @OtavioStasiak in #7671
- chore: migrate from expo-av to expo-audio and expo-video by @Rohit3523 in #6719
- chore: align encrypted option background color and add top margin in create discussion by @Rohit3523 in #7254
- chore: update @rocket.chat/sdk to 2.0.0-mobile by @diegolmello in #7574
- chore: add oxlint complexity rules by @diegolmello in #7610
- chore: Bump version to 4.77.0 by @diegolmello in #7617
- chore: remove all import/no-cycle warnings by @diegolmello in #7619
- chore: replace react-native-dotenv with transform-inline-environment-variables by @Rohit3523 in #7646
- chore: add cognitive complexity lint rule by @diegolmello in #7652
- chore: unit tests for sendMessages, resendMessages, UpdateMessages and readMessages by @OtavioStasiak in #7677
- chore: replace react-native-restart with expo reloadAppAsync by @diegolmello in #7684
- chore: replace react-native-background-timer with setInterval by @diegolmello in #7685
- chore: bump react-native-localize to 3.7.0 by @diegolmello in #7686
- chore: replace react-native-file-viewer with expo-quick-look by @diegolmello in #7687
- refactor: migrate RoomView to a function component by @diegolmello in #7482
- refactor: replace deep relative imports with application aliases by @diegolmello in #7656
- tests: Add CAS and SAML login E2E Test by @Rohit3523 in #7659
- test: e2e encryption banner race and iOS Maestro shard 11 timeout by @diegolmello in #7663
- test: add unit tests for buildMessage and normalizeMessage by @Rohit3523 in #7700
- test: add unit test for audio and file upload helpers by @Rohit3523 in #7701
- test: add unit test for MessageComposer audio recording components by @Rohit3523 in #7704
- test: add unit test for getMoreMessages, loadNextMessages and loadSurroundingMessages by @Rohit3523 in #7708
- docs: make Workspace the canonical domain term over Server by @diegolmello in #7603
Full Changelog: 4.76.0...4.77.0