reosarevok: always happy to help with posting to Mastodon/Bluesky - what can I do? (it’s a shame we can’t literally schedule posts there, I don’t think..)
reosarevok[m]
Well, that was the first question, does it have scheduling
reosarevok[m] sent a code block: https://matrix.chatbrainz.org/_matrix/media/v3/download/chatbrainz.org/BxNbcDKZnGuqCwcfWWKZKMWI
davic joined the channel
aerozol[m]
I tend to avoid third-party schedulers when we have multiple services to post to, it adds so many logins etc
Hmm maybe I should look into that but I can’t help but think it’s easy enough to pop in to post something in Mastodon and Bluesky. Shall I put it in my literal calendar?
Oh, 1 hour before might need to be done by you devs I guess, depending on timezone
reosarevok[m]
Yeah, 1h before you wouldn't be around
The reason we schedule it generally is just so we don't forget with all the other stuff :D
But I guess writing it in advance and just posting it will have to do
aerozol[m]
Did we/you ever schedule it?
I can look into Buffer, I see it includes Mastodon and Bluesky - my only question is if this leaves more room for error, e.g. forgetting to de-schedule stuff if plans change. You might want to pop in to manually post that things are back up again, anyway
_BrainzGit
[listenbrainz-android] 14hemang-mishra opened pull request #566 (03main…add-to-playlist): Implementation of "Add to Playlist" & "Remove from playlist" in dropdown https://github.com/metabrainz/listenbrainz-andr...
mshahnawaz1[m] uploaded an image: (28KiB) < https://matrix.chatbrainz.org/_matrix/media/v3/download/chatbrainz.org/zBuWMoIorGwiHrcSUyKZVevr/image.png >
mshahnawaz1[m] uploaded an image: (28KiB) < https://matrix.chatbrainz.org/_matrix/media/v3/download/chatbrainz.org/whHqMhqDyEZbXVXACUPNPbXp/image.png >
mshahnawaz1[m]
m getting this error while loading feed in local server.
mshahnawaz1[m] uploaded an image: (28KiB) < https://matrix.chatbrainz.org/_matrix/media/v3/download/chatbrainz.org/qANQdTMLGQttWIljTuZxXbzg/image.png >
Hi , I am getting this error while loading feed section in my local server.
reosarevok[m]
<aerozol[m]> "Did we/you ever schedule it?" <- Basically last year it suggested we did, but I dunno if we did or not
In the end it's fine to post manually, I think the point of scheduling these was that 1 day before it's easy to forget and 1 h before we're stressed as is :D
But then let's at least come up with something that can be just copy-pasted
aerozol[m]
I can make an account in Buffer, we will just have to share an email login (unless we decide the service kicks ass and is worth $), as the “team plan” starts costing
Want to link me the doc and I can write some copypasta?
OK, Buffer looks pretty rad actually
Goemon has quit
Goemon joined the channel
Buffer is cool, but it charges per channel, and MetaBrainz has… 4 x 2 channels, making it all rather complicated. The free account only lets us connect 3 anyway, so I have just connected the MB ones (x2) for now. I added the login details to the syswiki if anyone wants to have a play, but since all sites are impacted there will have to be some manual sharing across channels for this schema change anyway.
mayhem[m]
ask if non-profits get a free account or more channels.
aerozol[m]
I added some copypasta to the upgrade doc reosarevok, hopefully that’s easy enough to copy and paste before you get going, and then share on the others
Looks like they offer a 50% discount mayhem. If we wanted to hook up 8 channels that’s $40 /month with team access, or $20 /month for single login (we don’t have approval systems etc so I don’t think we need the team one). I personally don’t really need it, but maybe reo and others would like it
I’m off for the night but ping me any time, peeps
mayhem[m]
k, let me know what the consensus is
k
not sure tbh
julian45[m]
bitmap zas mayhem : new thing ready for SSO integration testing - please try going to outline dot meb dot org in your browser. (free self-hosted copy of [outline](https://www.getoutline.com/))
if you have an active session with authentik already, you should get logged into the thing pretty quickly; if not, you should get redirected for auth and then sent back soon after
no implication of obligation to use this outline instance at all going forward (unless there's interest); outline just happened to be easy to spin up & integrate
mayhem[m] congratulates lucifer on the use of the word "gnarly" in a PR description. ready to move to california!
lucifer[m]
🤣
mayhem[m]
julian45: I logged into outline -- looks interesting. Is the idea to migrate syswiki there?
lucifer: on said dump PR -- how carefully do I need to read that code? is it mostly moving code around?
julian45[m]
mayhem[m]: if there was enough interest and justification, yes that'd be a good use case
lucifer[m]
[@mayhem:chatbrainz.org](https://matrix.to/#/@mayhem:chatbrainz.org) yes that PR is only moving code around, but the next one that I intend to finish later today and is based on this refactors a lot of stuff. So if you want can skip this one and just review the coming one.
mayhem[m]
normally my attitude to a lot of these things is to avoid self hosting where possible, but docker makes all of this so much easier.
julian45[m]
although gating behind auth helps, i'm iffy about putting stuff like passwords into something like outline bc those credentials are ultimately still getting stored/handled in plaintext
mayhem[m]
fair point.
julian45[m]
currently looking into hashicorp vault/openbao (linux foundation fork) to see if they'd be viable for credential management; if not, there are both traditional solutions like bitwarden/vaultwarden/1password and some alternatives like passbolt
mayhem[m]
Is there such a thing as a team password manager?
julian45[m]
yes indeed, which is what i was starting to get into
mayhem[m]
ok, great. then we can separate the two types of content.
julian45[m]
i'm a happy user of 1password in both my personal life and at $dayjob, but it's pricey and not (as) open source
mayhem[m]
yep, same here.
and striking up more general long term plans... the writing is on the wall that one day will come where us using google workspace isn't going to be a good fit for us going forward.
I'm very much eyeing proton here -- for just about everything google.
I'm watching proton keenly as they develop more apps. and the swiss are just the type of people you want to be running this stuff.
<lucifer[m]> "monkey: this is the sporadic..." <- I am in favor of whatever solution we can come up with to solve this issue.
Perhaps we could add a flag if the DB scan stops early (i.e. the 12 months you suggested) and do a separate call after page load to load more listens (count = 25 - early-return-listen-count, max_ts= early-return-earliest-listen-ts). Do you think something like that could work?
Now we have the query manager in the front-end (and a bit more experience using it) it's a bit easier to have these advanced scenarios
lucifer[m]
mayhem: as said on the PR, let's implement it as a user_preferences table instead. like we have a separate user and user_preferences table in LB.
monkey: i think the frontend call the api for extra listens if the listens are less than 25 and the last listen ts is not equal to the earliest listen ts?
monkey[m]
As in already does that?
lucifer[m]
i see, so no changes should be needed on the frontend then? the backend can just restrict the search to last 12 months for the initial load?
monkey[m]
lucifer[m]: Small changes required on f-e: basically, if the aforementioned flag is in the api response (early-return or whatever), we react to it and try to load the "missing" listens with the information we have, i.e. number of listens in the first response, ts of the earliest one in those listens, and the earliest_listen_ts as constraint
fettuccinae[m]
lucifer: we store client_id and client_secret in client table, but how do i to verify that the request sent to the endpoint is from the actual projects(like do i need to create a custom decorator which checks if the request was made from a client with specific client_id and client_secret?).
lucifer[m]
@fettuccinae:matrix.org: i remember implementing that already for oauth tokens in lb or meb, i'll try to find it. i'll add the the client credentials grant to our oauth provider and then you can use it to obtain oauth tokens in the projects and use those tokens to call the notification endpoint.
does that make sense?
if yes, i can add that grant in a couple of days and in the meanwhile you can skip auth checks.
fettuccinae[m]
lucifer[m]: yup, makes sense. 👍 for the time being, ill create the endpoint without decorators.
JadedBlueEyes9 has quit
lucifer[m]
yup sounds good, just add a todo to add it later.
monkey: yes makes sense but i don't understand the additional value provided by the early return flag?
fettuccinae[m]
lucifer[m]: yes
lucifer[m]
fwiw i don't intend to do early returns or searches on normal api calls or navigation calls, just the initial load.
which sends listens through props no?
JadedBlueEyes9 joined the channel
monkey[m]
I don't think we load listens through props on first load anymore, let me check
Oh, but otherwise we wouldn't have the 504s, huh
Yeah, of course we do. Sounds sane to restrict to a year (or even less? how long is a scan for 12 months?) for this first load
And I suppose I can detect if a user has no listens at all if their oldest_listen_ts/earliest_listen_ts is not set? I'll have to check what the default value is if any.
fettuccinae[m]
monkey[m]: i think we already do that, if min_ts and max_ts are not set, we render that import listens prop
i think ive made changed in the frontend for the required.
monkey[m]
Yeah, some of those !listens.length conditions will need to be refactored based on the absence of min_ts and max_ts values instead
fettuccinae[m]
s/changed/changes/
monkey[m]
Right, I see your changes on the same lines, I'll need to review it. I think we want to remove the !listens.length parts for some conditions because we can have some listens in the response, just not the expected 25.
(and `latestListenTs === 0 && oldestListenTs === 0` already suggests that the user has no listens at all)
fettuccinae[m]
monkey[m]: yeah, for such conditions, we render a button which makes the api call for listens in next 12 months.
reosarevok[m]
yvanzo: tested search-690 now with 2to3 and the latest packages
monkey[m]
Well, looks like you've done all the required front-end changes! :)
I'll need to review everything, but at a glance it looks good
reosarevok[m] sent a code block: https://matrix.chatbrainz.org/_matrix/media/v3/download/chatbrainz.org/byGRPEHcgMHJDJHheNogeSYy
(etc)
yvanzo: let me know what else I can do of use at the moment, I have a few hours available :)
Rachel[m] joined the channel
Rachel[m]
Hello, I've written an email to MetaBrainz support recently, tried to send, but it's not sending. Why? I didn't make any typos in the recipient section, I've double-checked
reosarevok[m]
Rachel: that's strange - if need be you can PM me for now (I'm the one who primarily checks support anyway)
(solved)
yvanzo, bitmap: I started drafting the upgrade instructions blog post. Since we have nothing else than the schema change this time and no beta, it's a bit shorter than other times.
Not sure whether we will have info on the blog post about updating solr and sir and the like in-place, or whether we will only support that for musicbrainz-docker users?