Skip to content

Releases: crisp-im/crisp-sdk-android

v2.0.1beta2

31 May 13:19
0d431b7
Compare
Choose a tag to compare

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 to file:// schemes or 3rd-party installed app set to open any link but not exporting their Activity... So added a Unable 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 from 8.2.2 to 8.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

21 Feb 18:22
ed7e5a2
Compare
Choose a tag to compare

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 the ChatActivity is running, on its next start otherwise,
    • openHelpdeskArticle: views helpdesk article, right away if the ChatActivity is running, on its next start otherwise.
  • #167: added carousel message type support,
  • added chatbox behaviors:
    • Operator privacy mode,
    • MagicType,
    • Helpdesk link & Helpdesk-only mode.
  • added Request feedback,
  • added action support for picker message type,
  • added required support for field & 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 for picker 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 message type,
    • 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 from 7.4.2 to 8.2.2,
    • com.google.android.material:material from 1.10.0 to 1.11.0,
    • androidx.media3:media3-exoplayer from 1.1.1 to 1.2.1.

v1.0.18

21 Nov 10:40
abffa6a
Compare
Choose a tag to compare
  • Added Markdown support (#118)
  • Updated dependencies:
    • com.google.android.material:material from 1.9.0 to 1.10.0,
    • androidx.media3:media3-exoplayer from 1.1.0 to 1.1.1.
  • Update Android SDK from API 33 to 34.

v1.0.16

30 Aug 16:16
d8bfdf0
Compare
Choose a tag to compare
  • 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 to androidx.media3:media3-exoplayer:1.1.0,
    • Updated org.jetbrains.kotlinx:kotlinx-coroutines-android from 1.6.1 to 1.6.4.

v1.0.15

25 Jul 15:28
8f24a67
Compare
Choose a tag to compare
  • 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 and tokenID and keep a session per website instead of only one,
    • consolidate SDK against successive calls to Crisp.configure, postponing REST/Socket calls to ChatActivity.onCreate instead of Crisp.configure, instantiating everything in it, keeping ChatActivity context instead of the one provided in Crisp.configure, limit REST calls on start and use cache if it fails.
  • 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) with overwrite=false,
    • void Crisp.pushSessionEvents(List<SessionEvent> events).
  • Update public APIs:
    • void Crisp.configure(Context context, String websiteID) now resets the tokenID,
    • 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 explicitly overwrite=false.
  • Update SDK & libs.

v1.0.14

03 Jan 14:25
a5ca9ae
Compare
Choose a tag to compare
  • 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 exits ChatActivity instead of crashing...
  • Update SDK & libs.

v1.0.13

03 Jan 14:23
d1d5083
Compare
Choose a tag to compare
  • Fixed #74 about crash on fragment transaction commit state loss,
  • Fixed #126 about crash while uploading if resetChatSession is called while socket is disconnect or invalid_session error occurs,
  • Fixed #131 about known Android crash while trying to check connectivity,
  • Update ChatActivity launchMode to singleInstance 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

03 Jan 14:21
6ef93ba
Compare
Choose a tag to compare
  • 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.

v1.0.11

02 Jan 09:26
2baa7eb
Compare
Choose a tag to compare
  • Fixed #102 about Socket.IO migration,
  • Fixed #106 about upload crashing when chatbox is closed then reopen (no more access to file selected).

v1.0.10

02 Jan 09:22
a91535b
Compare
Choose a tag to compare
  • Fixed #95 updating Google ExoPlayer library to latest, also fix a crash for audio messages with length == 0,
  • Fixed #96 for experimental R8 full mode, rolling back to R8 and adding missing proguard rules for Gson & Retrofit,
  • Fixed #97 Part 1 with Android 4.4 backward compatible OkHttp & Retrofit, updating to latest & dropping Android 4.4 support,
  • Added missing FR translations.