we now check when building the string through the `AttributedStringBuilder` if a URL is actually hiding a different link, if so, we create a custom URL that contains both the external and the internal URL to advise the user through an Alert about the risk
* added a way to render the room and the message
pills, but is WIP
* permalinks now get converted into pills!
* fixed an issue where room address mentions
were not adding a URL properly but a string
* updated tests
* c
* Revert "c"
This reverts commit 5c80252fa23dba7e4d44f2a07fbf1e9500e37c82.
* updated tests
* more tests
* created APIs to get a specific RoomSummary
given the id or the alias
* small mention builder improvement
* pr suggestions
* Introduce a `MediaEventsTimelineFlowCoordinator`
* Update SDK API and architecture
* Add a feature flag, add translations
* Move the media events timeline presentation under the room flow coordinator state machine
* Rename `TimelineViewState.timelineViewState` of type `TimelineState` to `timelineState`
* Enabled SwiftLint's `trailing_closure` rule and fix the warnings.
* Missing changelog.
* Parse bare room aliases as permalinks.
Update the SDK.
* Fix tapping the same permalink twice.
Add a test.
Don't clear the focussed item when reaching the bottom of the timeline.
* Make sure sending a message returns to live.
* provider can now check the current session
* More testable code
* created the test condition
* it works but not always not sure why, need to dig deeper
* sadly we need to use textkit 1 to solve this issue
* removed developer option screen test
* this experimental solution kinda works but I need a way to pill recomputation is weird
* format
* display improvement
* better and faster solution
* pilished the code
* better coloring
* swift format
* just need to solve the caching issue
* fix caching issue
* tests done!
* changelog
* pr comments addressed
* all pr comments addressed
* docs
* line lenght
* updated tests and fixed a parsing permalink issue
* MentionBuilder
* pr comments
* swiftformat
* code blocks should not have links
* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Services/Client/ClientProxy.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update UnitTests/Sources/AttributedStringBuilderTests.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* Update ElementX/Sources/Other/Pills/MentionBuilder.swift
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* pr comments
* swiftformat
---------
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
* MessageText component
* swiftformat
* fix swift format being a bit crazy
* link tapping support
* new test + fix for font + dynamic support
* fix for blockquote issue.
* code improvement
* small code improvement and fixed tests not working due to weird swiftformat behaviour
* fix boost emoji
* updated swiftformat
* better testing
* UI tests updated
* fixing the issue with the cache overriding the size category changes
* whitespaces
* appropriate color + better info plist parsing
* cleaned the code and fixed links
* tapping link fixes
* list bug fix
* ui tests regenerated
Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
* Cleanup how we use message timeline items in preparation for rich reply rendering
* Expose reply details up to the UI level
* Render replies in the timeline (textual for now). Remove now unused AttributedStringBuilderComponent isReply flag.
* Move reply detail loading to when the item appears instead of when it's created.
* Fix unit tests
* Fetch event details also when the reply details are in the error state
* Tweaks following code review
* Localise emote bodies
* Fix replies not loading sometimes, use the current event identifier instead of the one being replied to
* Pass full attributed string to TimelineItems and let the UI level handle blockquote coalescing
* Add permalink detection and attribute embedding within the attributed string
- Decryption banner on the timeline
- Bubble colours
- Background insets
- Multiline composer corner radius
- Read marker
- GIF indicator
- Reactions shape
- Use RoomTimelineViewLabelStyle everywhere possible
- Only set a line limit on reply quotes, allow all the lines for regular quotes.
- Message label icons
- Yes/No button casing
- Make sender profiles immutable.
- Enable copy link and invite buttons.
- Fix layout loop detecting multiline composer text.
- Add animation to the encryption banner.
* removing unused event id link
* changelog
* Revert "removing unused event id link"
This reverts commit aacd1124498674662123d5598604ef8bfcdfe02e.
* commented the event id add link code
* better changelog
* commenting a tes that is related to the use of event id links which we don't handle for now