Page MenuHomePhorge

D134.1732488779.diff
No OneTemporary

Size
5 KB
Referenced Files
None
Subscribers
None

D134.1732488779.diff

diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
# libkazv {#mainpage}
-[![pipeline status](https://lily.kazv.moe/kazv/libkazv/badges/servant/pipeline.svg)](https://lily.kazv.moe/kazv/libkazv/-/commits/servant)
-[![coverage report](https://lily.kazv.moe/kazv/libkazv/badges/servant/coverage.svg)](https://lily.kazv.moe/kazv/libkazv/-/commits/servant)
+[![pipeline status](https://lily-is.land/kazv/libkazv/badges/servant/pipeline.svg)](https://lily-is.land/kazv/libkazv/-/commits/servant)
+[![coverage report](https://lily-is.land/kazv/libkazv/badges/servant/coverage.svg)](https://lily-is.land/kazv/libkazv/-/commits/servant)
libkazv is a matrix client sdk built upon [lager](https://github.com/arximboldi/lager)
and the value-oriented design it enables.
@@ -13,7 +13,7 @@
- Logging in
- Receiving room states
- Receiving room messages
-- Receiving account data
+- Receiving and sending account data
- Receiving presence
- Sending messages
- Send room state events
@@ -27,20 +27,20 @@
- Send-to-device messages
- E2EE (send and receive events only and attachments)
- Banning and kicking
+- Direct messages
+- Redactions
+- Room tagging
+- Mentions
These functionalities are currently not supported:
- Setting presence
- Device management
-- Direct messages
-- Redactions
- Room history visibility
- Registering
- VoIP
-- Room tagging
- Searching
- Room previews
-- Mentions
These functionalities may be implemented, but in a low priority:
@@ -132,12 +132,12 @@
Tutorial 0: [Getting started with libkazv][tut0]
-[tut0]: https://gitlab.com/kazv/libkazv/-/blob/servant/tutorials/tutorial0.md
+[tut0]: https://lily-is.land/kazv/libkazv/-/blob/servant/tutorials/tutorial0.md
# APIs
-The API documentation is available at https://mxc.kazv.moe/libkazv/ .
-You can also use `doxygen Doxyfile` at the root directory of the repository
+The API documentation is available at <https://kazv.chat/libkazv/api/>.
+You can also use `doxygen` at the root directory of the repository
to build docs locally. It will be generated in `doc/`.
You SHOULD use only the following APIs in your program:
@@ -197,8 +197,8 @@
libkazv uses [gtad](https://github.com/KitsuneRal/gtad) to generate the API
definitions it needed. The source of the Matrix API is
-[https://github.com/matrix-org/matrix-doc](https://github.com/matrix-org/matrix-doc)
-. The gtad configuration files and json/query serializing used in libkazv are
+<https://github.com/matrix-org/matrix-spec/tree/main/data>.
+The gtad configuration files and json/query serializing used in libkazv are
adapted from the ones in [libQuotient](https://github.com/quotient-im/libQuotient).
libQuotient is released under GNU LGPL v2.1. The changes in said files
in libkazv compared to libQuotient's are:
@@ -209,7 +209,7 @@
# License
-Copyright (C) 2020 Tusooa Zhu
+Copyright (C) 2020-2024 the Kazv Project <https://kazv.chat>
libkazv is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
diff --git a/design-docs/libkazvfixtures.md b/design-docs/libkazvfixtures.md
--- a/design-docs/libkazvfixtures.md
+++ b/design-docs/libkazvfixtures.md
@@ -5,7 +5,7 @@
All functions lie in the `Kazv::Factory` namespace. The header file to include is `<testfixtures/factory.hpp>`.
-```c++
+```cpp
#include <factory.hpp>
using namespace Kazv::Factory;
@@ -17,14 +17,14 @@
A `ComposedModifier<ModelType>` is basically a function that takes a `ModelType &` and modify it, so you can put a lambda here:
-```c++
+```cpp
auto client = makeClient([](ClientModel &m) { m.userId = "@some-user:example.com"; });
// client.userId == "@some-user:example.com"
```
Just as its name suggests, you can compose multiple `ComposedModifier` with `operator|()`, and they will execute in the sequence in which they are composed:
-```c++
+```cpp
auto client = makeClient(
ComposedModifier<ClientModel>([](ClientModel &m) { m.serverUrl = "tusooa.xyz"; })
| ComposedModifier<ClientModel>([](ClientModel &m) { m.userId = "@some-user:" + m.serverUrl; })
@@ -35,7 +35,7 @@
A `ComposedModifier<ModelType>` is an `std::function<void(ModelType &)>` but it won't throw when a default-constructed instance is being invoked, instead it would just do nothing, so you can write the following when you do not need any particular tweak:
-```c++
+```cpp
auto client = makeClient({});
```
@@ -43,7 +43,7 @@
To make our life easier, we defined some commonly used modifiers. The most generic one is `withAttr()`, which takes a pointer to a class member and a value. When invoked, it sets that member to the value provided.
-```c++
+```cpp
auto client = makeClient(
withAttr(&ClientModel::serverUrl, "tusooa.xyz")
| withAttr(&ClientModel::token, "token")
@@ -57,7 +57,7 @@
Some modifiers add values to a mapping, for example `withRoom()`, `withRoomState()`, `withRoomTimeline()`, `withRoomAccountData()`. They take care of the keys automatically so instead of writing
-```c++
+```cpp
auto room = makeRoom();
auto client = makeClient(
[room](auto &m) { m.roomList.rooms = m.roomList.rooms.set(room.roomId, room); }
@@ -66,7 +66,7 @@
you can just do
-```c++
+```cpp
auto client = makeClient(
withRoom(makeRoom({}))
);

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 24, 2:52 PM (10 h, 51 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
39875
Default Alt Text
D134.1732488779.diff (5 KB)

Event Timeline