19 Jul 2024 |
RSS | Uusi tuutti @matrixdotorg:lta:
Megabridges, Synapse cleaning, and a retreat. That and much more happened This Week In Matrix! https://matrix.org/blog/2024/07/19/this-week-in-matrix-2024-07-19/
| 19:09:34 |
tdb | Taas tämmönen hassu kryptattu viesti joka piti lukea Fluffyllä jotta se ilmesty Nhekoon näkyviin. Nää avaimethan menee jotenki clienttien välisinä viesteinä eikä huoneen eventteinä, eikös? Voiko olla et lähettäjän clientti jostain syystä lähettää sen väärälle miun clienteistä? | 21:22:43 |
20 Jul 2024 |
vurpo | In reply to @tdb:tdb.fi Taas tämmönen hassu kryptattu viesti joka piti lukea Fluffyllä jotta se ilmesty Nhekoon näkyviin. Nää avaimethan menee jotenki clienttien välisinä viesteinä eikä huoneen eventteinä, eikös? Voiko olla et lähettäjän clientti jostain syystä lähettää sen väärälle miun clienteistä? Ne avaimet menee erillisinä viesteinä lähettävältä laitteelta suoraan jokaiselle vastaanottavalle laitteelle erikseen | 00:25:56 |
vurpo | Mutta jos joku sinun laitteista ei jostain syystä saanut sitä, se voi myös jälkeenpäin pyytää sitä toiselta laitteelta joka sai sen onnistuneesti | 00:26:28 |
vurpo | eli tässä tapauksessa avain lähetettiin alun perin erikseen nhekolle ja fluffychatille, nheko jostain syystä ei saanut sitä, mutta pyysi sitä sitten fluffychatilta joka välitti sen edelleen | 00:28:12 |
vurpo | Clientti ei kuitenkaan voi vastaanottaa "väärälle" clientille lähetettyä to-device-viestiä | 00:28:39 |
Dataaja95 | Redacted or Malformed Event | 07:49:31 |
22 Jul 2024 |
SamLeh | Matrix aiheuttaa kyllä omat haasteensa käyttäjille. https://mementomori.social/@paxed/112828851160551745 | 17:10:14 |
Sami Olmari | "en tykkää -> rinkirunkku?" 😂 | 17:11:16 |
SamLeh | In reply to @olmari:hacklab.fi "en tykkää -> rinkirunkku?" 😂 Siinä on usein omat etunsa, että joku plattari on tietyllä tavalla profiloitunut. Niin hyvässä kuin huonossakin toki. | 17:20:07 |
24 Jul 2024 |
Dataaja95 | Ensimmäisen kerran näen kunnon spämmereitä matrixissa, floodasivat erään huoneen täyteen paskaa ja ainakin tuolla sai kivasti perus elementin jumiin | 06:02:30 |
Dataaja95 | Jouduin poistumaan huoneesta ennen kuin elementn lähti toimimaan, no jospa adminit olisivat sen verran hereillä että poistaisivat nuo spämmerin lähes 600 viestiä paskaa | 06:05:10 |
Jassuko | Älä huoli… se niiden viestien postaminen tekee jumituksesta todennäköisesti vielä isomman koska sit joutuu käsittelemään sekä ne eventit, että redaction eventit. ;) | 06:34:58 |
Dataaja95 | In reply to @jassu:kumma.juttu.asia Älä huoli… se niiden viestien postaminen tekee jumituksesta todennäköisesti vielä isomman koska sit joutuu käsittelemään sekä ne eventit, että redaction eventit. ;) ELi käsitelläänkö jokainen viesti erikseen ja sille vielä oma poistoeventtinsä, kiva kiva | 07:31:10 |
Dataaja95 | Nyt näyttäisi toimivan jopa ok, kun liityin huoneeseen takaisin, helvetillistä jumitusta kyllä element koki liittymisessä, mutta nyt sentään pystyy käyttämään muita huoneita | 07:32:24 |
Jassuko | Toki vaan niin kauan, kun ne eventit on relevantisti siinä osassa timelineä, jonka se clientti latailee näkyville. | 09:27:10 |
Paul | In reply to @dataaja95:harrastenurkka.fi ELi käsitelläänkö jokainen viesti erikseen ja sille vielä oma poistoeventtinsä, kiva kiva Historian eheys, kuten gitissä | 16:44:58 |
flux | eikös bulkkipoistoon tullut eventtiä, vai oliko se vain ehdotus? | 17:03:22 |
Aminda.eu she/they ⚧︎ | /matrix gc | 17:08:17 |
Dataaja95 | Synapsen databaselle oli muistaakseni hyödyllistä ajella jotain huoltoeventtejä tasaisin väliajoin. Muistaakseni postgresqln vakuum ei poista databasesta turhaa roskaa jota synapse tuntuu sinne keräävän. Mitäs eventtejä tuolle kannattaisi ajella vai pitääkö tunkkailla tauluja ihan käsin | 17:30:47 |
cos | Muistelen että jossain oli jotain skriptiä tms siivoushommiin. @olmari:hacklab.fi varmaan tietää mitä kannattaa tehdä. | 17:32:34 |
Sami Olmari | Purge empty rooms, find-unreffed-states -tool, compress-state -tool, psql vacuum, full jos tarvitsee kovalevypinnaltakin vapaaksi tilan | 17:34:55 |
Sami Olmari | siinäpä ne suunnilleen | 17:35:05 |
Dataaja95 | In reply to @olmari:hacklab.fi Purge empty rooms, find-unreffed-states -tool, compress-state -tool, psql vacuum, full jos tarvitsee kovalevypinnaltakin vapaaksi tilan Oliko tuohon find-unreffed statesin suorittamiseen jotain skriptiä, huoneessa taisi joskus pyöriä sellainen | 17:54:02 |
25 Jul 2024 |
Sami Olmari | In reply to @dataaja95:harrastenurkka.fi Oliko tuohon find-unreffed statesin suorittamiseen jotain skriptiä, huoneessa taisi joskus pyöriä sellainen Noo kyl jokaiseen joku loitsu löytyy... | 17:31:18 |
Sami Olmari | Purge empty rooms
#!/bin/bash
TOKEN=yep
TOPURGE=$(curl -s -X GET --header "Authorization: Bearer $TOKEN" --header "Content-Type: application/json" --data-binary '{}' 'http://localhost:8008/_synapse/admin/v1/rooms?limit=100000'|jq --raw-output '.rooms[] | select(.joined_local_members == 0) | .room_id')
for f in $TOPURGE
do
echo "Processing $f room..."
curl -w "\n\nResponse code: %{response_code}\n\n" -s \
-X DELETE \
--header "Authorization: Bearer $TOKEN" \
--header "Content-Type: application/json" \
--data-binary \
'{}' \
'http://localhost:8008/_synapse/admin/v1/rooms/'"$f"''
done
echo "done"
Find unreffed states menee melko lailla käsin GH readme:n mukaan, joku saa toki koodata automaattiseman skriptin..
Compress state olis "moderni" automaattiversio jonka voi ajastaa vaik kerran päiväs tekemään vähän, itte oon ajanu manuaaliversiota koska... oon ajanu...
#!/bin/bash
stty -echoctl # Hide ^C
# User defined variables
ROOM_LIMIT=1000000 # How many rooms to list once, no key for "all", so set it absurdly high
WORK_DIR=tmp
ACCESSTOKEN=also_yep
PSQLADDRESS="postgresql:///synapse?user=matrix-synapse&host=/var/run/postgresql"
sigint_trap () {
tput setaf 1
echo "SIGINT caught"
tput sgr0
return 2
}
function create_work_dirs () {
mkdir -p ${WORK_DIR}/new_states || { echo "Failed to create working directories!"; return 1; }
}
function generate_room_list () {
echo "Generating room list"
curl --silent \
--request GET \
--header "Authorization: Bearer ${ACCESSTOKEN}" \
--header "Content-Type: application/json" \
'http://localhost:8008/_synapse/admin/v1/rooms?limit='"${ROOM_LIMIT}"''|jq -r '.rooms[] | .room_id'>${WORK_DIR}/roomlist.txt || { echo "Failed to generate room list!"; return 1; }
}
function compress_rooms () {
echo "Compressing rooms"
for ROOM in $(cat ${WORK_DIR}/roomlist.txt)
do
echo "Processing room $ROOM"
ionice -c 3 nice -n 20 ./rust-synapse-compress-state/target/debug/synapse_compress_state -t -c -o ${WORK_DIR}/new_states/${ROOM} -p ${PSQLADDRESS} -r "${ROOM}" || { echo "Failed to compress room $ROOM"; return 1; }
done
}
function cleanup () {
echo "Cleaning up"
rm --recursive --force ${WORK_DIR} || { echo "Failed to clean up working directories!"; return 1; }
}
# Main program
trap 'sigint_trap' SIGINT
create_work_dirs || { cleanup; exit 1;}
generate_room_list || { cleanup; exit 1;}
compress_rooms || { cleanup; exit 1;}
cleanup || exit 1
echo "Finished successfully"
| 17:35:18 |
Dataaja95 | In reply to @olmari:hacklab.fi
Purge empty rooms
#!/bin/bash
TOKEN=yep
TOPURGE=$(curl -s -X GET --header "Authorization: Bearer $TOKEN" --header "Content-Type: application/json" --data-binary '{}' 'http://localhost:8008/_synapse/admin/v1/rooms?limit=100000'|jq --raw-output '.rooms[] | select(.joined_local_members == 0) | .room_id')
for f in $TOPURGE
do
echo "Processing $f room..."
curl -w "\n\nResponse code: %{response_code}\n\n" -s \
-X DELETE \
--header "Authorization: Bearer $TOKEN" \
--header "Content-Type: application/json" \
--data-binary \
'{}' \
'http://localhost:8008/_synapse/admin/v1/rooms/'"$f"''
done
echo "done"
Find unreffed states menee melko lailla käsin GH readme:n mukaan, joku saa toki koodata automaattiseman skriptin..
Compress state olis "moderni" automaattiversio jonka voi ajastaa vaik kerran päiväs tekemään vähän, itte oon ajanu manuaaliversiota koska... oon ajanu...
#!/bin/bash
stty -echoctl # Hide ^C
# User defined variables
ROOM_LIMIT=1000000 # How many rooms to list once, no key for "all", so set it absurdly high
WORK_DIR=tmp
ACCESSTOKEN=also_yep
PSQLADDRESS="postgresql:///synapse?user=matrix-synapse&host=/var/run/postgresql"
sigint_trap () {
tput setaf 1
echo "SIGINT caught"
tput sgr0
return 2
}
function create_work_dirs () {
mkdir -p ${WORK_DIR}/new_states || { echo "Failed to create working directories!"; return 1; }
}
function generate_room_list () {
echo "Generating room list"
curl --silent \
--request GET \
--header "Authorization: Bearer ${ACCESSTOKEN}" \
--header "Content-Type: application/json" \
'http://localhost:8008/_synapse/admin/v1/rooms?limit='"${ROOM_LIMIT}"''|jq -r '.rooms[] | .room_id'>${WORK_DIR}/roomlist.txt || { echo "Failed to generate room list!"; return 1; }
}
function compress_rooms () {
echo "Compressing rooms"
for ROOM in $(cat ${WORK_DIR}/roomlist.txt)
do
echo "Processing room $ROOM"
ionice -c 3 nice -n 20 ./rust-synapse-compress-state/target/debug/synapse_compress_state -t -c -o ${WORK_DIR}/new_states/${ROOM} -p ${PSQLADDRESS} -r "${ROOM}" || { echo "Failed to compress room $ROOM"; return 1; }
done
}
function cleanup () {
echo "Cleaning up"
rm --recursive --force ${WORK_DIR} || { echo "Failed to clean up working directories!"; return 1; }
}
# Main program
trap 'sigint_trap' SIGINT
create_work_dirs || { cleanup; exit 1;}
generate_room_list || { cleanup; exit 1;}
compress_rooms || { cleanup; exit 1;}
cleanup || exit 1
echo "Finished successfully"
Meikällä synapse pyörii dockerissa, joten pitää ehkä hieman säätää tuota skriptiä, mutta eiköhnä tuo lähde toimimaan | 18:07:13 |
Sami Olmari | Niin, no kunhan tommonen sunnuntai-skripti mitä joskus tehny jne | 18:07:52 |
26 Jul 2024 |
RSS | New post in Matrix.org: This Week in Matrix 2024-07-26
| 19:40:58 |
RSS | Uusi tuutti @matrixdotorg:lta:
The Matrix Conference programme revealed, Circles going to the community, and bots updates. That and more happened This Week in Matrix! https://matrix.org/blog/2024/07/26/this-week-in-matrix-2024-07-26/
| 19:41:04 |