Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
4f4b791
Project Setup
vickz84259 May 18, 2021
49e26ed
Update SDK version constraints
vickz84259 May 19, 2021
f15e8bb
Implement Talk class
vickz84259 May 19, 2021
d324536
Implement User class
vickz84259 May 19, 2021
1d6b7a7
Implement ChatWebView widget
vickz84259 May 19, 2021
15bb9a0
Fix missing export
vickz84259 May 19, 2021
13b9efd
Add html asset
vickz84259 May 19, 2021
2e2003f
Implement Session class
vickz84259 May 19, 2021
6973401
Fix named parameter error in Session constructor
vickz84259 May 19, 2021
2aed365
Implement ConversationBuilder class
vickz84259 May 19, 2021
54f93da
Implement ChatBox
vickz84259 May 19, 2021
e21bac6
Refactor ChatBoxOptions
vickz84259 May 19, 2021
fd0e6a0
Refactor ChatBox
vickz84259 May 19, 2021
09a6a20
Set UI and ChatOptions as abstract
vickz84259 May 19, 2021
a0e45f3
Fix missing chatoptions export
vickz84259 May 19, 2021
21aeeb8
Implement Inbox
vickz84259 May 19, 2021
54f3942
Implement session.createInbox method
vickz84259 May 19, 2021
167dc9a
Implement session.createPopup method
vickz84259 May 19, 2021
d4dfbc4
Implement test for oneOnOneId method
vickz84259 May 19, 2021
78809bb
Refactor index.html
vickz84259 May 19, 2021
fc82f99
Fix asset not loading
vickz84259 May 19, 2021
614a933
Cleanup
vickz84259 May 19, 2021
b6b01cf
Add Library Documentation
vickz84259 May 20, 2021
f8c6a1e
Update library's README
vickz84259 May 20, 2021
34c2f7f
Update pubspec.yaml
vickz84259 May 20, 2021
56bfafb
Started ChatBox refactoring
Dec 15, 2021
1a62499
completed user and session refactoring
Dec 17, 2021
7dfc4f8
refactored ConversationBuilder
Dec 20, 2021
23a9fac
started refactoring of the ChatBox
Dec 20, 2021
c7d8a87
Refactored to create the WebView wen chatbox.mount() is called
Dec 22, 2021
c902336
Moved the project up a directory
Dec 31, 2021
40b7558
renamed ui to chatbox
Dec 31, 2021
39b4e11
Started refactoring to make the API declarative
Dec 31, 2021
99b11eb
Initial work for ChatBox events
Jan 3, 2022
dc6f6d9
Completed ChatBox events
Jan 5, 2022
e857775
Started implementing ConversationList
Jan 5, 2022
8492b9d
Refactor to allow calling build() multiple times on the widgets
Jan 10, 2022
a517f1b
Changed according to https://github.com/talkjs/talkjs/discussions/1922
Jan 19, 2022
6ae7923
Changed the getOrCreate functions to be simply called get
Jan 19, 2022
505b3e8
Fixed crash related to list hashing
Jan 24, 2022
8cc6b29
Implemented the highlightedWords property
Jan 24, 2022
3bf5522
Started working on ConversationPredicate and MessagePredicate
Jan 26, 2022
a76575f
Implemented messageFilter for the ChatBox and feedFilter for the Conv…
Jan 28, 2022
8ed1b4f
Removed useless toString override for CustomFieldPredicate
Jan 31, 2022
0b878e9
Added tests for JSON conversion of predicates
Jan 31, 2022
7c7731f
Create main.yml
bugnano Feb 2, 2022
359e33b
Implemented manual Publish to Pub.dev GitHub Workflow
Feb 2, 2022
0669bd7
Merge pull request #3 from talkjs/gh-action
bugnano Feb 2, 2022
ebee111
Update pubspec.yaml
vickz84259 Feb 2, 2022
baeb0f7
Update pubspec.lock
vickz84259 Feb 2, 2022
da4c789
Remove the extension on TextDirection
vickz84259 Feb 2, 2022
fc2ef52
(Chatbox): Simplify _createSession
vickz84259 Feb 2, 2022
5d54e28
Merge branch 'dev' of github.com:talkjs/flutter-sdk-victor into dev
vickz84259 Feb 2, 2022
748ff2d
Ready to launch
Feb 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# This is a basic workflow to help you get started with Actions

name: Publish to Pub.dev

# Controls when the workflow will run
on:
## Triggers the workflow on push or pull request events but only for the main branch
#push:
# branches: [ main ]
#pull_request:
# branches: [ main ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
publishing:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: 'Checkout'
uses: actions/checkout@v2 # required!

- name: '>> Dart package <<'
uses: k-paxian/dart-package-publisher@master
with:
accessToken: ${{ secrets.OAUTH_ACCESS_TOKEN }}
refreshToken: ${{ secrets.OAUTH_REFRESH_TOKEN }}

74 changes: 74 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/

# IntelliJ related
*.iml
*.ipr
*.iws
.idea/

# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
#.vscode/

# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.flutter-plugins-dependencies
.packages
.pub-cache/
.pub/
build/

# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java

# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Flutter.podspec
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/Flutter/flutter_export_environment.sh
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*

# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
10 changes: 10 additions & 0 deletions .metadata
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled and should not be manually edited.

version:
revision: 1d9032c7e1d867f071f2277eb1673e8f9b0274e3
channel: stable

project_type: package
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 0.1.0

- Initial version.

28 changes: 28 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
BSD 3-Clause License

Copyright (c) 2022, TalkJS

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.

3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
65 changes: 64 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,64 @@
# flutter-sdk-victor
# TalkJS Flutter SDK

Official TalkJS SDK for Flutter

**What is TalkJS?**

TalkJS lets you add user-to-user chat to your marketplace, on-demand app, or
social platform.
For more information, visit
[talkjs.com](https://talkjs.com/?ref=jssdk-npm-readme).

![Screenshots of TalkJS running on various devices](https://talkjs.com/images/devices_home.jpg)

Don't hesitate to
[let us know](https://talkjs.com/?chat)
if you have any questions about TalkJS.

## Requirements

- Dart sdk: ">=2.15.0 <3.0.0"
- Flutter: ">=2.8.1"
- Android: `minSDKVersion 19`

## Installation

Edit the dependencies section of your project's `pubspec.yaml` file in your
Flutter project as follows:

```yaml
dependencies:
talkjs_flutter: ^0.1.0
```

Run the command: `flutter pub get` on the command line or through Android
Studio's **Get dependencies** button.


## Usage

Import TalkJS in your project source files.

```dart
import 'package:talkjs_flutter/talkjs.dart';
```

Then follow our
[Flutter guide](https://talkjs.com/docs/Getting_Started/Frameworks/Flutter/)
to start using TalkJS in your project.

## TalkJS is fully forward compatible
We promise to never break API compatibility.
We may at times deprecate methods or fields, but we will never remove them.
If something that used to work stops working, then that's a bug.
Please [report it](https://talkjs.com/?chat) and we'll fix it asap.

The package is being released in a beta state.
The reason for this is that there are things that one can do with the TalkJS
JavaScript SDK that aren't possible with the Flutter SDK.
We will release v1.0.0 of this package once the two SDKs are similar in terms
of features.
This however does not take away from our commitment to always maintain backward
compatibility.
So you can be assured that the package is stable for production use.

23 changes: 23 additions & 0 deletions lib/assets/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">
<style>
html, body, #talkjs-container {
width: 100%;
height: 100%;
margin: 0;
}
</style>
<script>
(function(t,a,l,k,j,s){
s=a.createElement('script');s.async=1;s.src="https://cdn.talkjs.com/talk.js";a.head.appendChild(s)
;k=t.Promise;t.Talk={v:3,ready:{then:function(f){if(k)return new k(function(r,e){l.push([f,r,e])});l
.push([f])},catch:function(){return k&&new k()},c:l}};})(window,document,[]);
</script>
</head>
<body>
<div id="talkjs-container"></div>
</body>
</html>
Loading