litecord issueshttps://gitlab.com/litecord/litecord/-/issues2023-05-26T23:30:55Zhttps://gitlab.com/litecord/litecord/-/issues/148test suite is too slow2023-05-26T23:30:55Zlunatest suite is too slowit should run in under 20 seconds. its almost 2 minutes (ALREADY 2 minutes on the CI).
find whatever tricks are reasonable to pull this off.it should run in under 20 seconds. its almost 2 minutes (ALREADY 2 minutes on the CI).
find whatever tricks are reasonable to pull this off.https://gitlab.com/litecord/litecord/-/issues/147Unique usernames2023-05-19T18:48:43ZErkin Alp GüneyUnique usernamesDiscord is removing discriminators. This should also be implemented in litecord, possibly with a way to migrate users automatically to new names; and a possibility to keep discriminators via the server configuration.Discord is removing discriminators. This should also be implemented in litecord, possibly with a way to migrate users automatically to new names; and a possibility to keep discriminators via the server configuration.https://gitlab.com/litecord/litecord/-/issues/146Instance wide user permissions ("user rights")2023-04-23T12:40:23ZErkin Alp GüneyInstance wide user permissions ("user rights")Instance administrators might want to limit a user's certain permission (for example, ability edit their own messages) instance wide. For this purpose, a user rights system could be implemented in litecord.
Litecord could take inspirat...Instance administrators might want to limit a user's certain permission (for example, ability edit their own messages) instance wide. For this purpose, a user rights system could be implemented in litecord.
Litecord could take inspiration from spacebar about what rights to implement (with certain reductions as litecord has fewer functionalities implemented): https://docs.spacebar.chat/api/rights/https://gitlab.com/litecord/litecord/-/issues/124Configurable maximum message lengths2022-12-09T15:51:18ZErkin Alp GüneyConfigurable maximum message lengthsDiscord is now allowing 4k chars instead of 2k for premium. Hence, a configurable maximum message length would be useful to test the performance of bots with various maximum message lengths.Discord is now allowing 4k chars instead of 2k for premium. Hence, a configurable maximum message length would be useful to test the performance of bots with various maximum message lengths.https://gitlab.com/litecord/litecord/-/issues/104Is mass USER_UPDATE intentional behaviour?2022-08-19T02:26:41Zabc641Is mass USER_UPDATE intentional behaviour?Hello, sending mass USER_UPDATE gateway events is the current behaviour when updating one's profile. Maybe I'm wrong, but shouldn't that event only be sent to the user that changed his profile in the first place, while others only receiv...Hello, sending mass USER_UPDATE gateway events is the current behaviour when updating one's profile. Maybe I'm wrong, but shouldn't that event only be sent to the user that changed his profile in the first place, while others only receive a GUILD_MEMBER_UPDATE?
(for non-bot users atleast)lunalunahttps://gitlab.com/litecord/litecord/-/issues/54add support for compute_prune_count2022-08-14T18:36:46Zlunaadd support for compute_prune_countcurrently we calculate a full member list and count when pruning, which could be a way to cause mayhem on the database easily.currently we calculate a full member list and count when pruning, which could be a way to cause mayhem on the database easily.lunalunahttps://gitlab.com/litecord/litecord/-/issues/29Application / Bot support2022-08-14T02:37:33ZalulaApplication / Bot support* [x] Basic bot user support
* [x] Support creation of applications and bots
* [ ] ~~Implement basic dev portal functionality~~ Requires frontend work that can't be done by me at the moment, create new specific issue.
* [x] Rich pres...* [x] Basic bot user support
* [x] Support creation of applications and bots
* [ ] ~~Implement basic dev portal functionality~~ Requires frontend work that can't be done by me at the moment, create new specific issue.
* [x] Rich presences?
* [ ] ~~OAuth2?~~ (superseded by https://gitlab.com/litecord/litecord/-/issues/142)https://gitlab.com/litecord/litecord/-/issues/142Add makeguild and makemember command2022-08-14T02:36:25ZLeCuayAdd makeguild and makemember commandAs far as I know there's no possible way to create a `guild` or add a `member` to an existing one that doesn't involve accessing Database and using Raw Queries.
I think it will be pretty useful to have a command for bot making guilds and...As far as I know there's no possible way to create a `guild` or add a `member` to an existing one that doesn't involve accessing Database and using Raw Queries.
I think it will be pretty useful to have a command for bot making guilds and adding users to them.https://gitlab.com/litecord/litecord/-/issues/50structure pubsub flags2022-08-14T02:27:47Zlunastructure pubsub flagsrelated to !40
flags currently are just dictionaries with any keys. we should make a proper structure for each backend's acceptable flags.related to !40
flags currently are just dictionaries with any keys. we should make a proper structure for each backend's acceptable flags.lunalunahttps://gitlab.com/litecord/litecord/-/issues/77use app context more2022-08-14T02:23:04Zlunause app context moreremove depedency of keeping own attributes in singleton classes and instead use app context (remove `self.app` everywhere)
- helped by !52 which makes gateway loop be inside app contextremove depedency of keeping own attributes in singleton classes and instead use app context (remove `self.app` everywhere)
- helped by !52 which makes gateway loop be inside app contextlunalunahttps://gitlab.com/litecord/litecord/-/issues/81Sessions are randomly swapped2022-08-14T02:22:04ZGhost UserSessions are randomly swappedHi there,
Sorry for this one, but I don't really have any specific reproduction steps, but basically:
- Use the Litecord instance with the latest updates applied.
- Have 3-4 users connected to the gateway at once.
- Notice how all user...Hi there,
Sorry for this one, but I don't really have any specific reproduction steps, but basically:
- Use the Litecord instance with the latest updates applied.
- Have 3-4 users connected to the gateway at once.
- Notice how all users suddenly becomes one of the connected users.
I have no specific error connected to this bug happening in the logs :thinking:
The problem is resolved by reloading the instance.
Kind regards,
Hampus Kraft.https://gitlab.com/litecord/litecord/-/issues/82improve typing2022-08-14T02:20:10Zlunaimprove typingimprove the types of the codebaseimprove the types of the codebaselunalunahttps://gitlab.com/litecord/litecord/-/issues/98nicknames don't seem to persist well2022-08-14T02:15:52Zlunanicknames don't seem to persist welllunalunahttps://gitlab.com/litecord/litecord/-/issues/130Copy guild.region into channel.rtc_region2022-08-14T01:46:47ZlunaCopy guild.region into channel.rtc_regionI don't plan to support channels having their own regions, but API users might rely on the field existing.I don't plan to support channels having their own regions, but API users might rely on the field existing.lunalunahttps://gitlab.com/litecord/litecord/-/issues/136NoneType has no attribute 'seq' when dispatching GUILD_CREATE2022-08-14T01:43:47ZspiralNoneType has no attribute 'seq' when dispatching GUILD_CREATE```
[2021-09-24 16:58:17.937220] ERROR: litecord.jobs: Error while running job
Traceback (most recent call last):
File "/home/spiral/sources/litecord/litecord/jobs.py", line 54, in _wrapper
await coro
File "/home/spiral/sources/l...```
[2021-09-24 16:58:17.937220] ERROR: litecord.jobs: Error while running job
Traceback (most recent call last):
File "/home/spiral/sources/litecord/litecord/jobs.py", line 54, in _wrapper
await coro
File "/home/spiral/sources/litecord/litecord/jobs.py", line 63, in _ctx_wrapper_bg
return await coro
File "/home/spiral/sources/litecord/litecord/gateway/websocket.py", line 471, in _guild_dispatch
await self.dispatch_raw("GUILD_CREATE", guild)
File "/home/spiral/sources/litecord/litecord/gateway/websocket.py", line 422, in dispatch_raw
"s": self.state.seq,
AttributeError: 'NoneType' object has no attribute 'seq'
```
This happened right after I killed my bot process. Seems like litecord doesn't realize the shard got disconnected?https://gitlab.com/litecord/litecord/-/issues/143add resume_gateway_url2022-08-14T01:39:55Zlunaadd resume_gateway_urlhttps://discord.com/developers/docs/change-log#sessionspecific-gateway-resume-urls
> A new resume_gateway_url field has been added to the Ready gateway event to support session-specific gateway connections. The value of resume_gateway_u...https://discord.com/developers/docs/change-log#sessionspecific-gateway-resume-urls
> A new resume_gateway_url field has been added to the Ready gateway event to support session-specific gateway connections. The value of resume_gateway_url is a session-specific URL that should be used when resuming the gateway session after a disconnect. Previously, wss://gateway.discord.gg was used to connect and resume sessions, but should now only be used during the connection.
Just provide the same value always on the field, as we don't support multi-session.https://gitlab.com/litecord/litecord/-/issues/133allowed_mentions semantic support2022-08-13T22:52:50Zlunaallowed_mentions semantic support`message.allowed_mentions` support was added in !79 but it is not complete, as we currently always calculate mentions from message content.
As far as the documentation goes, having the field in [makes us have to cross-reference message ...`message.allowed_mentions` support was added in !79 but it is not complete, as we currently always calculate mentions from message content.
As far as the documentation goes, having the field in [makes us have to cross-reference message content with the field's value](https://discord.com/developers/docs/resources/channel#allowed-mentions-object).https://gitlab.com/litecord/litecord/-/issues/145Multiple API version support2022-08-13T03:27:54ZlunaMultiple API version supportThis is a big one (codebase impact-wise).
At the current moment, Litecord targets API v6 + whatever compatible changes we can make to it.
This is not suitable for the long term future of the project, especially with API v10 in the hori...This is a big one (codebase impact-wise).
At the current moment, Litecord targets API v6 + whatever compatible changes we can make to it.
This is not suitable for the long term future of the project, especially with API v10 in the horizon and new features also targeting v10.
However, I do want to maintain v6 support for as long as possible, it serves as a target for exploration with old client code that targeted v6.
Here's my proposal:
- Refactor storage functions to use dataclasses (User, Guild, Channel, etc), and serialize those on output. This is a _really_ big one as most of my code does not have any structure on a model layer, and so, `Storage` just returns pure API objects you spit out as JSON.
- The models inside are targeting all fields and v10 functionality API wise.
- If a model is being serialized into API v6, remove or change fields as needed.https://gitlab.com/litecord/litecord/-/issues/144Error out on non-ASCII characters in channel names2022-08-13T03:17:36ZlunaError out on non-ASCII characters in channel namesSee previous discussion in !70.
The plan is to add a regex for channel names so things with non-ASCII get rejected *for now*, proper Unicode support path is something that I don't know how to do yet.See previous discussion in !70.
The plan is to add a regex for channel names so things with non-ASCII get rejected *for now*, proper Unicode support path is something that I don't know how to do yet.https://gitlab.com/litecord/litecord/-/issues/141Remove references to make_staff command in docs2022-03-18T13:43:52ZLeCuayRemove references to make_staff command in docsSo in `docs/` there's still documentation about `make_staff` but this command seems to have been removed from the `manage.py` commands.
Is there any reason this was removed?
Also would it be added in the future.
For now I'd like to kno...So in `docs/` there's still documentation about `make_staff` but this command seems to have been removed from the `manage.py` commands.
Is there any reason this was removed?
Also would it be added in the future.
For now I'd like to know a workaround (even if it implies working with raw SQL on databases). Could you help me?