Commit Graph

69 Commits

Author SHA1 Message Date
Kevin Park c49142f856
Apply integration of SDK and admin RPC server (#69)
Co-authored-by: 안정균 <junggyun.ahn@navercorp.com>
2023-05-30 20:00:23 +09:00
Jung gyun Ahn 80eeb8de54
Fix compile errors. (#71)
* fix xcodebuild compile errors

* Set the minimum iOS version to 13.0
2023-05-30 15:08:15 +09:00
Jung gyun Ahn 08205d230a
Update MAINTAINING.md 2023-04-04 15:06:44 +09:00
Jung gyun Ahn a32b919d3b
Add x-yorkie-user-agent (#67) 2023-03-30 19:10:19 +09:00
Jung gyun Ahn b5ec0befd8
Add RemoveDocument API (#64)
* Add RemoveDocument API

* Elaborate on the value of the PeersChanged event

* Add TC for the stream connection status change event

* Fix the watchLoop start and stop for pause, resume

* Removed the codes for changing the status of the doc, before sending the API

* Invalidate watchLoop reconnection timer when disconnecting stream

* Throws an error when server returns removed doc for the attached result
2023-03-23 09:23:35 +09:00
Jung gyun Ahn bbaa12cb07
Implement the pause/resume (#62)
* Implement the pause/resume

* modify hangul input detecting
2023-03-08 21:10:36 +09:00
Jung gyun Ahn 1ae896e9e0
Implement the select feature in the Text Editor (#61) 2023-03-02 16:31:42 +09:00
Jung gyun Ahn def81a40cd
Add toDocKey to convert to a valid key in tests (#60) 2023-02-28 19:49:20 +09:00
Jung gyun Ahn 5f123d8e45
Remove non-deterministic delays in tests (#58) 2023-02-22 08:39:23 +09:00
Jung gyun Ahn 6a17792e84
Update toJson() of Text to match results with JS (#57) 2023-02-21 16:20:41 +09:00
Jung gyun Ahn 0d82516d08
Implement Text editor sample (#54)
Fix various bugs and improve functionality in different classes

CRDTText
- Change access control of 'actor' to public
- Change content type to NSString to work with NSRange

RGATreeSplit
- Fix the issue with the incorrect split value

Document
- Fix the missing local changes when applyChangePack()

JSONCounter, JSONText:
- Add public init()

LLRBTree
- Refactor the code

SplayTree
- Fix the misbehavior of delete()
- Rename removeRange() to cutOffRange() to improve clarity
2023-02-21 11:26:35 +09:00
Jung gyun Ahn 977c2ecdbb
Remove priority queue from RHTPQMap and entire project (#56) 2023-02-20 15:25:27 +09:00
Jung gyun Ahn 81a9b5f2b9
Implement authentication of the client (#55) 2023-02-17 18:18:13 +09:00
Jung gyun Ahn 200a4b30c4
Let Client.attach wait until stream initialization is finished (#53)
* make attach wait for initialization

* change indentation

* Create the semaphore for initialization before call attach API
2023-02-10 14:52:46 +09:00
Jung gyun Ahn 247744cf1b
Change Counter increase() to accept any numeric value (#51) 2023-01-13 19:54:59 +09:00
Jung gyun Ahn 43872169ed
Remove duplicated key from TextNodeAttr (#52) 2023-01-13 19:09:28 +09:00
Jung gyun Ahn c865d0a3c9
Implement Text Element (#50)
* Implements RGATreeSplit

* Add throw noSuchElement error for failed forced unwrap
2023-01-13 10:25:07 +09:00
Jung gyun Ahn afb4047576
Update README.md 2023-01-12 19:31:02 +09:00
Jung gyun Ahn da52b92661 Update README.md (#49)
- Added basic introduction.
- Added compatibility badges.
2022-12-30 16:28:31 +09:00
Jung gyun Ahn d3ab47761b
Change the client relate code in the example (#48) 2022-12-22 11:50:24 +09:00
Jung gyun Ahn 6ef6d950f4
Implements the TLS connection (#47)
* Implements the TLS channel

* Change gRPC logLevel
2022-12-21 18:51:08 +09:00
Jung gyun Ahn a18f4db704
Apply swift-log package (#46) 2022-12-19 14:27:03 +09:00
Jung gyun Ahn 7a2c7daf5a
Prepare multiple examples (#45) 2022-12-15 18:28:14 +09:00
Youngteac Hong b722270e2a
Create MAINTAINING.md for v0.2.19 (#44)
* Update CHANGELOG.md for v0.2.19

* Increase timer to counter test

Co-authored-by: Jung gyun Ahn <Junggyun.ahn@navercorp.com>
2022-12-09 18:47:11 +09:00
Jung gyun Ahn b911416a3a Correct compile error 2022-12-09 16:39:33 +09:00
Youngteac Hong a058dfe727
Update CONTRIBUTING.md 2022-12-08 19:56:10 +09:00
원형식 41ff118ba8
Change eventStream of Client from Error to Never (#43) 2022-11-30 13:38:00 +09:00
원형식 23b9a6a00a
Apply changed comments of JS-SDK (#42) 2022-11-25 23:45:50 +09:00
원형식 7477cbaf0f
Add a github action to publish API reference docs (#41) 2022-11-25 23:44:45 +09:00
Jung gyun Ahn 8d1cb78bdf
Implement the Counter (#40)
* Add CRDT Counter

* Implement the Counter

* Remove force cast

* Correct comment typo

* Change access control of CRDTCounter

* Change parameter name

* Add YorkieCountable.swift

* Delete garbage codes

* Move GRPC test unit to integration
2022-11-23 23:43:06 +09:00
원형식 17ab7a9ddc
Setup for integration tests (#39)
* Divide tests groups into units and integration
* Setup for integration tests
* Rename Github action
2022-11-23 11:29:57 +09:00
원형식 d953ee0d46
Add get(keyPath:) to JSONObject (#38)
* Rename YorkieJSONObjectable to JSONObjectable
2022-11-23 02:43:20 +09:00
Jung gyun Ahn 3a8a7f59bd
Improve document sync test (#37)
* Change endian of Primitive values to little endian

* Improve Primitive Date
2022-11-11 23:50:29 +09:00
Jung gyun Ahn 28da76480d
Change endian of Primitive values to little endian (#36) 2022-11-10 21:13:22 +09:00
Jung gyun Ahn 75a6fcea9a
Convert Client from class to actor for concurrency. (#34)
* Convert Client from class to actor for concurrency.
* Remove force cast
2022-11-10 12:16:50 +09:00
원형식 f1aff95df0
Apply styles for Swift (#35)
* Apply styles for Swift
* Correct typos
2022-11-10 10:00:02 +09:00
원형식 ab0d8c92e9
Change some types from class to struct to avoid data racing (#33)
* Change the type of ChangePack from class to struct
* Change ``Change`` and types confirming ``Operation``  from class to struct
2022-11-10 09:41:54 +09:00
원형식 b91f55d056
Sync Kanban app with a local server and fix some bugs (#32)
* Add CodingKeys to KanbanCard and KanbanColumn

* Add eventStream.send to Document/applyChanges

* Change access modifiers of Client from internal to public

* Sync KanbanViewModel with the server
2022-11-09 10:22:41 +09:00
Jung gyun Ahn 1781b22511
Implement Client functions. (#31)
* Initial Implementation of the Client full features

* Change Indexable to Presence.

* Fix sync loop.

* Add integration tests for client

* Add Integration Test

* Fix Client Timer setting.

* Fix concurrent document syncing. and swiftFormat error.

* Change group task loop to waitForAll
2022-11-08 15:56:25 +09:00
원형식 f718a68adc
Add Kanban board to ExampleApp & Improve the interfaces of JSONObject and JSONArray (#30)
* Add Kanban board to ExampleApp
* Bind Document and KanbanViewModel
* Improve the interfaces of JSONObject and JSONArray
* Remove print
* Remove redandunt codes
* Rename CommonConstant to KanbanLayoutProperty
* Rename some variables
* Remove white spaces in files.
* Change YorkieJSONObjectable from Mirrot to Codable
* Change test codes from subscript access  to dynamicMemberLookup access
2022-11-08 12:08:21 +09:00
원형식 1bd4c0c7cc
Change Document from class to actor for concurrent access to it (#29)
* Change Document from class to actor for concurrent access to it

Remove redundant codes

Change TimeTicket/lamport and delimiter from var to let

* Change some access modifier of type properties
2022-11-03 10:08:09 +09:00
원형식 3a2cec8ea2
Create ExampleApp and fix some bugs (#28)
* Create ExampleApp

* Modify JSONArray/append  to return the number of elements

* Modify CRDTArray/toJSON use self for iteration
2022-11-03 10:02:44 +09:00
원형식 2ef8d7f60d
Add JSONArrays and unit tests for Document (#27)
* Add JSONArray and the tests

* Add test cases to JSONArrayTests

* Apply dynamicMemberLookup to JSONObject

* Add eventStream to Document and DocType

* Fix bugs of JSONArray

* Remove get(keyPath:) from JSONObject

* Add unit tests for Document

* Fix bugs for Heap.delete

* Change type_body_length of SwiftLint
2022-11-01 11:09:10 +09:00
원형식 976125d873
Remove features for dynamicMemberLookup from JSONObject (#26) 2022-10-27 16:31:18 +09:00
Jung gyun Ahn 3737f5f867
Implement converter between models and Protobuf (#24) 2022-10-25 19:16:44 +09:00
원형식 941c682da9
Add Trie, JsonObject, and Document (#25)
* Add Trie

* Add JsonObject and Document

Document and JsonArray are still in development.

* Rename Json to JSON
2022-10-25 16:45:21 +09:00
원형식 7084ee7660
Add ChangeID, Change, ChangeContext, CheckPoint and ChangePack (#23)
Co-authored-by: Jung gyun Ahn <Junggyun.ahn@navercorp.com>
2022-10-19 11:14:18 +09:00
원형식 ba5cd8decf
Modify escaping string (#22) 2022-10-13 19:38:23 +09:00
원형식 3e41826e3e
Add AddOperation and MoveOperation (#21) 2022-10-13 19:38:08 +09:00
원형식 e34214770b
Add CRDTRoot, Operation, SetOperation and RemoveOepration (#19)
* Add CRDTRoot
* Rename TimeTicket.initialTimeTicket and maxTimeTicket to initial and max
* Add RemoveOperation and SetOperation
* Remove redundant label from some methods in CRDTRoot
* Change some if to guard
2022-10-12 16:01:34 +09:00