Releases: crisp-im/crisp-sdk-android
Releases · crisp-im/crisp-sdk-android
v2.0.3beta4: Merge pull request #190 from crisp-im/beta
v2.0.2beta3
Features
- Audio player : added playback speed,
- Session data/segments events: added a debounce to merge and delay events by 6s to avoid rate limit.
Fixes
- List fading edges : fix wrong color applied,
- Helpdesk articles list : fix padding,
- TextArea : fixed randomly not cleared after the 1st message is sent,
- #179: fixed crash about Drawable.isProjected() NPE,
- #180: fixed crash about message sent by a plugin,
- #184: fixed crash,
- #175: tried to fix crash, seems to be due to Glide image loading if chatbox is closed instantly after being opened.
Dependencies
- updated
gradle
from8.4
to8.7
, - updated
AGP
from8.3.2
to8.5.0
, - updated
SdkExtension
from11
to12
, - updated
androidx.test.ext:junit
from1.1.5
to1.2.1
, - updated
androidx.test.espresso:espresso-core
from3.5.1
to3.6.1
, - updated
androidx.appcompat:appcompat
from1.6.1
to1.7.0
, - updated
androidx.media3:media3-exoplayer
from1.2.1
to1.3.1
, - updated
com.google.android.material:material
from1.11.0
to1.12.0
.
v2.0.1beta2
Features
- added video game suggestion,
- added new messages alerts,
- sync compose, text area, operator, scroll and wait for reply and new messages alerts.
Fixes
- added missing markwon proguard rules,
- fixed #173 crash by asking permission on photo taking when embedding app declares using
CAMERA
permission. If user denied it, next taps on this feature will show a dialog redirecting him to the app permission setting, - fixed attachment & loading dialogs color in Dark mode,
- fixed
SecurityException
crashes on link touch due tofile://
schemes or 3rd-party installed app set to open any link but not exporting their Activity... So added aUnable to open link. Check if an app, except you browser, is configured to open any link.
toast when touched link cannot be opened, - fixed a markdown parsing crash when it is too complex (huge regex or obfuscated code) by simply not applying markdown on this case,
- fixed smileys horizontal alignment and ripple color on touch,
- fixed picker choice icon alpha when disabled,
- fixed a random audio player crash when released.
Dependencies
- updated
AGP
from8.2.2
to8.3.2
.
Installation update
If your app declares a FileProvider
in its AndroidManifest.xml
, please add Crisp authority and path to it as follows as it is required for the file upload feature.
AndroidManifest.xml
<provider android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.fileprovider;${applicationId}.im.crisp.client.uploadfileprovider"
android:exported="false"
android:grantUriPermissions="true"
tools:replace="android:authorities">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths"
tools:replace="android:resource" />
</provider>
res/xml/file_paths.xml
<files-path name="crisp_sdk_attachments" path="im.crisp.client/attachments/" />
v2.0.0beta1
Features
- updated UI to match Web & iOS chatboxes,
- #100: added Take photo support,
- #136: added Customization plugin support,
- #149: added Helpdesk public APIs:
searchHelpdesk
: opens helpdesk search, right away if theChatActivity
is running, on its next start otherwise,openHelpdeskArticle
: views helpdesk article, right away if theChatActivity
is running, on its next start otherwise.
- #167: added
carousel
messagetype
support, - added chatbox behaviors:
- Operator privacy mode,
- MagicType,
- Helpdesk link & Helpdesk-only mode.
- added Request feedback,
- added
action
support forpicker
message type, - added
required
support forfield
&picker
message types, - added De-branding plugin support,
- added hardware keyboard support (
SHIFT+ENTER
inserts a line break,ENTER
only sends the message), - updated localization.
Fixes
- #63: using
flexbox
now forpicker
message type, should fix choices list cutted, - #128: using
glide
now for media loading, should fix NPE on GIF parsing, - #166: synced
user
messages sent outside of the Android chatbox, - fixed possibility to send empty messages/field value & trim sent ones,
- fixed
read
status message duplicates, - fixed various not yet reported bugs & crashes.
Dependencies
- added:
com.google.android.flexbox:flexbox:3.0.0
for Smileys/GIFs lists &picker
messagetype
,com.facebook.shimmer:shimmer:0.5.0
for skeleton loading,com.github.bumptech.glide:glide:4.16.0
&com.github.bumptech.glide:okhttp3-integration:4.11.0
for image loading,io.noties.markwon:core:4.6.2
,io.noties.markwon:image:4.6.2
,io.noties.markwon:linkify:4.6.2
,io.noties.markwon:ext-tables:4.6.2
&pl.droidsonroids.gif:android-gif-drawable:1.2.28
for Markdown support,
- updated:
AGP
from7.4.2
to8.2.2
,com.google.android.material:material
from1.10.0
to1.11.0
,androidx.media3:media3-exoplayer
from1.1.1
to1.2.1
.
v1.0.18
v1.0.16
- Added Website settings
chatbox.hide_vacation
&chatbox.blocked_locales
support by disabling input & displaying "Messaging is unavailable", - Fixed crash #161 when trying to access file to upload but permission is not granted anymore, displaying an error message,
- Fixed crash #144 when trying to send a message while no session is in cache, displaying an error message,
- Updated dependencies:
- Migrated ExoPlayer library from
com.google.android.exoplayer:exoplayer:2.18.7
toandroidx.media3:media3-exoplayer:1.1.0
, - Updated
org.jetbrains.kotlinx:kotlinx-coroutines-android
from1.6.1
to1.6.4
.
- Migrated ExoPlayer library from
v1.0.15
- Fix crash due to not well formatted args in i18n website source files (#150),
- Fix crashes about unsupported message type and not found message on
message:updated
socket message (#154), ignoring them, - Fix #143 & #153, i.e.:
- make SDK resilient to some constructors (e.g. Samsung) memory cleaning feature by caching
websiteID
andtokenID
and keep a session per website instead of only one, - consolidate SDK against successive calls to
Crisp.configure
, postponing REST/Socket calls toChatActivity.onCreate
instead ofCrisp.configure
, instantiating everything in it, keepingChatActivity
context instead of the one provided inCrisp.configure
, limit REST calls on start and use cache if it fails.
- make SDK resilient to some constructors (e.g. Samsung) memory cleaning feature by caching
- Handle
message:removed
socket message, - Add following public APIs:
void Crisp.configure(Context context, String websiteID, String tokenID)
,String Crisp.getSessionIdentifier(Context)
(GitHub #125),void Crisp.setSessionSegment(String segment, boolean overwrite)
,void Crisp.setSessionSegments(List<String> segments, boolean overwrite)
,void Crisp.setSessionSegments(List<String> segments)
withoverwrite=false
,void Crisp.pushSessionEvents(List<SessionEvent> events)
.
- Update public APIs:
void Crisp.configure(Context context, String websiteID)
now resets thetokenID
,void setTokenID(Context context, String tokenID)
,Crisp.configure
&Crisp.setTokenID
now are ignored while a session is ongoing instead of postponing them to chat closing like the Web SDK,Crisp.resetChatSession
now is done right away if a session is ongoing, closing the chat,void Crisp.setSessionSegment(String segment)
now sends explicitlyoverwrite=false
.
- Update SDK & libs.
v1.0.14
- Fix various NPE (#137, #139, #142),
- Support HTTP scheme for media loading (#140),
- Support remote file upload (#141),
- Fixed not preserved session with
tokenIDs
(#143), - Fix parsing issue from cache, especially for Settings object (#146),
- Handled
session:request:purge
socket event (#147), - If
websiteId
is not configured, just silently fails from now and exitsChatActivity
instead of crashing... - Update SDK & libs.
v1.0.13
- Fixed #74 about crash on fragment transaction commit state loss,
- Fixed #126 about crash while uploading if
resetChatSession
is called while socket is disconnect orinvalid_session
error occurs, - Fixed #131 about known Android crash while trying to check connectivity,
- Update ChatActivity
launchMode
tosingleInstance
to prevent multiple instance to be launched, - Fix text and choices width for Picker message type,
- Added logs for #128 about crash when trying to decode GIF,
- Update gradle and libs.
v1.0.12
- Fixed #108 about NPE on cache when
Crisp.resetChatSession
is called, - Fixed #109 about missing no args fragment constructor,
- Fixed #110 about OOM crash when zooming in Image,
- Fixed #112 about
storage.state.scroll
cast from float to int crash (now use float), - Fixed #113 about
null
context when releasing ExoPlayer, - Fixed #114 about unregistering an already unregistered NetworkCallback,
- Fixed #116 about every
null
context crashes, - Fixed #117 about making links clickable (TODO: handle Markdown),
- Fixed #120 about protecting from
null
context from socket messages, - Fixed #121 about cache concurrency,
- Fixed issue with new APIs with input not following the keyboard.