element-x-ios/CHANGES.md

14 KiB

Changes in 1.0.12 (2023-01-04)

No significant changes.

Changes in 1.0.11 (2023-01-04)

🐛 Bugfixes

  • Avoid the "Failed to load messages" popup when all messages have been loaded. (#399)
  • Fix stuck timeline pagination because of too many membership events (#394)

Changes in 1.0.10 (2022-12-22)

Features

  • Added timeline day separators and read markers (#383)
  • Add retry decryption encrypted timeline item debug menu option (#384)
  • Display an indicator if the network is currently unreachable (#258)

🐛 Bugfixes

    • moved the message delivery status outside of the main content and added it to the plain timeline as well
    • fixed glithcy scroll to bottom timeline button
    • simplified the emoji picker, double tapping a timeline item directly opens it now and added a context menu option. Linked it to rust side reaction sending
    • fixed cold cache seemingly not working (invalid rooms treated as empty)
    • made splash screen full screen
    • fixed connectivity indicator starting off as offline
    • added presentation detents on the NavigationStackCoordinator as they're not inherited from the child
    • fixed timeline item link tint colors
    • removed some unnecessary classes (#381)

Changes in 1.0.9 (2022-12-16)

Features

  • Timeline: Sending and sent state for timeline messages. (#27)
  • NSE: Configure target with commented code blocks. (#243)
  • Timeline: Display images fullscreen when tapped. (#244)
  • Implemented new SwiftUI based app navigation components (#286)
  • Send messages on return. (#314)
  • Implemented new user notification components on top of SwiftUI and the new navigation flows (#315)
  • Implement a split screen layout for when running on iPad and MacOS (#317)
  • Expose sliding sync proxy configuration URL on the server selection screen (#320)

🙌 Improvements

  • Swift from a LazyVStack to a VStack for the timeline. (#332)
  • Stop generating previews for light and dark colour schemes now that preview variants are a thing. (#345)
  • Re-write the timeline view to be backed by a UITableView to fix scroll glitches. (#349)
  • Re-write MXLogger in Swift. (#166)
  • Timeline: Add a couple of basic tests to make sure the timeline is bottom aligned. (#352)

🐛 Bugfixes

  • Fix a bug where the access token wasn't stored on macOS (Designed for iPad). (#354)
  • Message Composer: Fix vertical padding with multiple lines of text. (#305)
  • Reactions: Match alignment with the message to fix random floating reactions. (#307)
  • Timeline: Fixed scrolling performance issues. (#330)
  • Application: Fix background tasks & state machine crashes. (#341)

🧱 Build

  • The Unit Tests workflow now fails when there are SwiftFormat errors. (#353)
  • Tools: Add a command line tool to build a local copy of the SDK for debugging. (#362)

Others

  • Setup tracing with a typed configuration and add some presets. (#336)

Changes in 1.0.8 (2022-11-16)

Features

  • Timeline: Add playback support for video items. (#238)
  • Timeline: Display file messages and preview them when tapped. (#310)

📄 Documentation

  • Updated some documentation files. (#312)

Changes in 1.0.7 (2022-11-10)

Features

  • Timeline: Display video messages. (#237)
  • Timeline: Implement message editing via context menu. (#252)
  • Added support for non-decryptable timeline items (#291)
  • Added a timeline item context menu option for printing and showing their debug description (#292)

🐛 Bugfixes

  • Fix identifier regexes: Fixes permalink action on timeline. (#303)
  • Allow session restoration even while offline (#239)
  • Timeline: Reset keyboard after a message is sent. (#269)
  • Remove home screen list change animations (#273)

Changes in 1.0.6 (2022-11-02)

🙌 Improvements

  • Move Rust client operations into a dedicated concurrent queue, make sure not used on main thread. (#283)
  • Rebuilt the timeline scrolling behavior on top of a more SwiftUI centric approach (#276)

🐛 Bugfixes

  • Fix state machine crashes when backgrounding the app before the user session is setup (#277)
  • Fixed blockquote and item layout when using the plain timeline (#279)

Changes in 1.0.5 (2022-10-28)

Features

  • Enable e2e encryption support (#274)

🙌 Improvements

  • Reduce code block font size and switch to SanFrancisco Monospaced (#267)
  • Set a proper user agent (#225)

Changes in 1.0.4 (2022-10-25)

🙌 Improvements

  • Build with Xcode 14.0 and fix introspection on the timeline List. (#163)
  • Include app name in default session display name (#227)

🐛 Bugfixes

  • Fix strong reference cycle between RoomProxy and RoomTimelineProvider (#216)

📄 Documentation

  • Add notes for how to debug the network traffic (#223)

Others

  • Include changelog.d in Xcode project (#218)

Changes in 1.0.3 (2022-09-23)

Features

  • UITests: Add screenshot tests. (#9)
  • Logout from the server & implement soft logout flow. (#104)
  • Implemented timeline item repyling (#114)
  • Room: New bubbles design implementation. (#177)
  • HomeScreen: Add user options menu to avatar and display name. (#179)
  • Settings screen: Implement new design. (#180)

🙌 Improvements

  • Use unstable MSC2967 values for OIDC scopes + client registration metadata updates. (#154)
  • DesignKit: Update design tokens and add system colours to a local copy of ElementColors. (#186)
  • DesignKit: Update fonts to match Figma. (#187)
  • Include redacted events in the timeline. (#199)
  • Rename RoomTimelineProviderItem to TimelineItemProxy for clarity. (#162)
  • Style the session verification banner to match Figma. (#181)

🐛 Bugfixes

  • Replace blocking detached tasks with Task.dispatch(on:). (#201)

🧱 Build

  • Disable danger for external forks due to missing secret and run SwiftFormat as a pre-build step to fail early on CI. (#157)
  • Run SwiftFormat as a post-build script locally, with an additional pre-build step on CI. (#167)
  • Add validate-lfs.sh check from Element Android. (#203)
  • Python 3 support for localizer script. (#191)

📄 Documentation

  • CONTRIBUTING.md: Fix broken link to the createScreen.sh script. (#153)

🚧 In development 🚧

  • Begin adding the same Analytics used in Element iOS. (#106)
  • Add isEdited and reactions properties to timeline items. (#111)
  • Add a redactions context menu item (disabled for now whilst waiting for SDK releases). (#178)

Others

  • Add a pull request template. (#156)
  • Use standard file headers. (#150)

Changes in 1.0.2 (2022-07-28)

Features

  • Implement rageshake service. (#23)
  • Add filtering for rooms by name. (#26)
  • Settings screen minimal implementation. (#37)
  • Perform password login using the Rust authentication service. (#40)
  • DesignKit: Add initial implementation of DesignKit to the repo as a Swift package. (#43)
  • Room timeline: Add plain styler and add timeline option in settings screen. (#92)
  • Implement and use background tasks. (#99)

🙌 Improvements

  • Implement new ClientBuilder pattern for login (#120)
  • Flatten the room list by removing the encrypted groups. (#121)
  • Add AuthenticationService and missing UI tests on the flow. (#126)
  • Room: Use bubbles in the timeline. (#34)
  • Room: Add header view containing room avatar and encryption badge. (#35)
  • Add the splash, login and server selection screens from Element iOS along with a UserSessionStore. (#40)
  • DesignKit: Add DesignKit to the ElementX project, style the login screen with it and tint the whole app. (#43)
  • Settings: Auto dismiss bug report screen and show a success indicator when bug report completed. (#76)
  • Bug report: Add GH labels. (#77)
  • Danger: Add a check for png files and warn to use SVG and PDF files. (#87)
  • Add localizations to UI tests target and add some checks. (#101)

🐛 Bugfixes

  • ElementInfoPlist: Use custom template for Info.plist. (#71)
  • Add a sync limit of 20 timeline items and prefill rooms with this number of events when calculating the last message. (#93)

🧱 Build

  • Add swiftformat to the project and run it for the first time. (#129)
  • Use v0.0.1 of the DesignTokens package. (#78)
  • Update to v0.0.2 of the DesignTokens package. (#90)
  • Fix Danger's changelog detection. (#74)

🚧 In development 🚧

  • Add a proof of concept implementation for login with OIDC. (#42)

Others

  • Add Screen as a suffix to all screens and tidy up the template. (#125)
  • Fix project urls in Towncrier configuration. (#96)