!PtKxxSgyjbNPrkBvRG:matrix.org

Jeon project (another Matrix implementation on java)

24 Members
https://github.com/ma1uta/jeon (mirror: https://gitlab.com/ma1uta/jeon)9 Servers

Load older messages


SenderMessageTime
11 Oct 2018
@ma1uta:ru-matrix.orgma1uta Some bad news: in java we have the json-b (jsr 367) is a open specifications. But there is only one implementation - the slow https://github.com/eclipse/yasson. Other libraries have broken or partial support. 10:57:44
@benpa:matrix.orgbenpa-matrixthat is surprising, seems like json-object binding would be something fairly fundamental?11:00:21
@ma1uta:ru-matrix.orgma1utaAlso I will refactor event objects. Current clads hierarchy is unusable and too complicated.11:15:15
@benpa:matrix.orgbenpa-matrix Maximus might have information 11:00:43
@max:kamax.io@max:kamax.ioGson is what I use for anything JSON related11:38:28
@max:kamax.io@max:kamax.io https://github.com/google/gson 11:38:52
@ma1uta:ru-matrix.orgma1utaYep, de facto developers uses jackson or json.13:00:44
@ma1uta:ru-matrix.orgma1uta*gson13:00:47
@ma1uta:ru-matrix.orgma1uta I will look at https://github.com/protostuff/protostuff the serialization library based on the protocol buffers but can works with the json too. 13:05:57
@max:kamax.io@max:kamax.io ma1uta: is there an issue with Gson? 14:09:57
@ma1uta:ru-matrix.orgma1uta The main idea of the Jeon is a open specification. Using this interfaces you can write you own implementation and run it on your own server. Jeon can run on any jee 8.0 server with full or micro profile (wildfly 14, websphere 18, glassfish 5, https://helidon.io, etc). Therefore I use a JAX-RS 2.1 for the interface description, Swagger for the OpenAPI schema autocreation (I have migrated to the third version and preparing the Matrix API specification (json and yaml)), JSON-B for json model binding, slf4j-api for logging. There isn't issue with Gson, you can use it as a implementation of the json model binding. Or replace it with the Yasson or Jackson in depend on what you use. 14:55:14
@max:kamax.io@max:kamax.ioah I see, I didn't realise it was integrated that much as a standard - fair enough14:57:13
@ma1uta:ru-matrix.orgma1uta And then I want to write my own matrix server. :) I spent some weeks to investigate platforms, web servers, frameworks, libraries which I will use. And I'm spending some time to investigate Matrix bottlenecks. For example describe (with tests) the state resolution algorithms and other rules (https://matrix.org/docs/spec/server_server/unstable.html#id25, https://matrix.org/docs/spec/client_server/r0.4.0.html#id266, https://matrix.org/docs/spec/client_server/r0.4.0.html#id346, etc). 15:11:02
@ma1uta:ru-matrix.orgma1utaAnd I am still waiting the release of the federation API.15:13:47
@max:kamax.io@max:kamax.ioGood luck with the HS part15:13:57
@ma1uta:ru-matrix.orgma1utabenpa: when will the Federation be released? :-)15:15:21
@ma1uta:ru-matrix.orgma1uta
In reply to @max:kamax.io
Good luck with the HS part
Thanks
15:15:24
@ma1uta:ru-matrix.orgma1uta*Federation API15:15:46
@benpa:matrix.orgbenpa-matrixwith regret: I don't have a date15:16:22
@ma1uta:ru-matrix.orgma1uta
In reply to @matt:thehurley3.com
thank you, I'm pretty new to just jetty I've always used Play or SpringBoot for webservers mostly for work so it always just shipped with what I needed or someone else set up the dependencys. This time its just me and I'm using jetty embedded. I feel jetty + making most things on my own fits better for this project then using all the pre incluided weight that play and spring come with
You can look at the https://www.dropwizard.io/1.3.5/docs/ it is a framework based on the jetty and jersey.
16:23:06
@benpa:matrix.orgbenpa-matrixwe should make a public summary of the status and delay15:16:46
14 Oct 2018
@adam:thebeckmeyers.xyz@adam:thebeckmeyers.xyz left the room.02:58:29
15 Oct 2018
@groo:meshspace.de⌠✦groo✦⌡ 🌿 changed their profile picture.14:35:59
23 Oct 2018
@travnewmatic:keelung1.ddns.net@travnewmatic:keelung1.ddns.net joined the room.06:34:56
27 Oct 2018
@ma1uta:ru-matrix.orgma1uta 0.6.0 version has been released.
Changes:
1 - migration to the OpenAPI 3.0
2 - event refactoring. Old Event was splitted to Event, RoomEvent and StateEvent. Type Event is no longer a field and each matrix event has own subclass of the Event, RoomEvent or StateEvent accordingly. The event type can be accessed via the method getType which return constant.
14:08:09
@ma1uta:ru-matrix.orgma1utaThe updated openapi schemas have the followed urls: https://ma1uta.github.io/swagger/c2s.json or https://ma1uta.github.io/swagger/c2s.yaml - the Client API. https://ma1uta.github.io/swagger/as.json or https://ma1uta.github.io/swagger/as.yaml - the Application API. https://ma1uta.github.io/swagger/push.json or https://ma1uta.github.io/swagger/push.yaml - the Push API. https://ma1uta.github.io/swagger/id.json or https://ma1uta.github.io/swagger/id.yaml - the Identity API.14:10:20
@ma1uta:ru-matrix.orgma1utaArtifacts will be published in central maven repository in a few days.14:11:26
@thehurley3:matrix.org@thehurley3:matrix.org left the room.16:37:13
3 Nov 2018
@groo:meshspace.de⌠✦groo✦⌡ 🌿 changed their display name from groo to groo 🌿.01:15:26
5 Nov 2018
@ma1uta:ru-matrix.orgma1uta0.7.0-beta2 release has been released. Changes: 1 - compatibility with java 9+. 2 - fixes, fixes and fixes. 🙂20:11:50

Show newer messages


Back to Room ListRoom Version: