the latest set of typesense improvements have made a huge differnce. most test cases in my test suite bass.
2020-11-21 32614, 2020
ruaok
pass even.
2020-11-21 32626, 2020
ruaok
right then, finally bed time. hopefully ready for the hackday.
2020-11-21 32641, 2020
supersandro2000 has quit
2020-11-21 32659, 2020
supersandro2000 joined the channel
2020-11-21 32657, 2020
supersandro2000 has quit
2020-11-21 32604, 2020
supersandro2000 joined the channel
2020-11-21 32606, 2020
michaelqm has quit
2020-11-21 32622, 2020
Nyanko-sensei has quit
2020-11-21 32603, 2020
Nyanko-sensei joined the channel
2020-11-21 32627, 2020
MajorLurker joined the channel
2020-11-21 32618, 2020
davic has quit
2020-11-21 32603, 2020
sumedh joined the channel
2020-11-21 32624, 2020
d4rkie joined the channel
2020-11-21 32657, 2020
Nyanko-sensei has quit
2020-11-21 32636, 2020
shivam-kapila
morning
2020-11-21 32645, 2020
shivam-kapila
LB hackday is today!!
2020-11-21 32608, 2020
d4rkie has quit
2020-11-21 32651, 2020
Nyanko-sensei joined the channel
2020-11-21 32604, 2020
antlarr has quit
2020-11-21 32612, 2020
antlarr joined the channel
2020-11-21 32624, 2020
Mr_Monkey
Moin !
2020-11-21 32626, 2020
supersandro2000 has quit
2020-11-21 32642, 2020
supersandro2000 joined the channel
2020-11-21 32646, 2020
michaelqm joined the channel
2020-11-21 32604, 2020
michaelqm
Two questions about running a mirror. Is rebuilding indexes going to take the full amount of time each time (approx 4 hours) or is there a faster way to do it (other than the live indexing that's still in beta)?
2020-11-21 32624, 2020
michaelqm
And second, how often do you recommend rebuilding the indexes?
2020-11-21 32655, 2020
ruaok
moin!
2020-11-21 32614, 2020
ruaok drags his ass into wakedness after late night hacking
the results are rather quite good. you can take even popular track names, without an artist and it will find the right artist/release/recording in a lot of cases.
2020-11-21 32640, 2020
shivam-kapila
noice
2020-11-21 32602, 2020
shivam-kapila
ruaok: have we started with the hack day?
2020-11-21 32612, 2020
ruaok
we're gathering at the office in about half an hour to get things started.
2020-11-21 32626, 2020
shivam-kapila
cool
2020-11-21 32653, 2020
ruaok
have a look at the planning doc.
2020-11-21 32607, 2020
ruaok
I know Mr_Monkey flushed out a pile of things for the react work yesterday.
2020-11-21 32639, 2020
shivam-kapila
will do. thanks
2020-11-21 32615, 2020
ruaok goes for comfyness
2020-11-21 32629, 2020
ruaok
forget the formal office attire....
2020-11-21 32601, 2020
Gazooo79494 has quit
2020-11-21 32630, 2020
alastairp
michaelqm: if you need search on your mirror, and if you want the data to be relatively up-to-date, you should rebuild often
2020-11-21 32642, 2020
alastairp
the options are as you say, full rebuild or live indexing
2020-11-21 32643, 2020
Gazooo79494 joined the channel
2020-11-21 32639, 2020
shivam-kapila
Mr_Monkey: lets have a lil chat about react tasks when you're ready
2020-11-21 32615, 2020
alastairp
he's just making his tea
2020-11-21 32647, 2020
_lucifer
has anyone started working on the db schema?
2020-11-21 32618, 2020
Mr_Monkey
shivam-kapila: Cup of tea in hand, ready !
2020-11-21 32615, 2020
shivam-kapila
nice!! me too.
2020-11-21 32653, 2020
Mr_Monkey
So I think the easiest way to divvy it up is 1. implement API endpoints and 2. Implement the pages components
2020-11-21 32623, 2020
shivam-kapila agrees
2020-11-21 32628, 2020
Mr_Monkey
Either that or we each implement a page (all playlists and single playlist views), and each one choose either API endpoint or websockets
2020-11-21 32645, 2020
Mr_Monkey
But I think that's more chances of stepping on each other's toes, maybe.
2020-11-21 32613, 2020
Mr_Monkey
Any preference in all this?
2020-11-21 32618, 2020
shivam-kapila
I think the former is a better option
2020-11-21 32624, 2020
michaelqm has quit
2020-11-21 32657, 2020
shivam-kapila
imo api base will make it more clear how the react side should look
2020-11-21 32603, 2020
Mr_Monkey
Cool. And any preference of which side you'd like to work on?
2020-11-21 32620, 2020
shivam-kapila
in API vs websockets?
2020-11-21 32631, 2020
Mr_Monkey
APIs versus react pages
2020-11-21 32600, 2020
shivam-kapila
your call. I am cool with both
2020-11-21 32601, 2020
Mr_Monkey
I think I have an edge with CSS stuff, and with limited time it's probably a good idea that I take the charge on that.
2020-11-21 32619, 2020
Mr_Monkey
(And I've been making prototypes in my head :D)
2020-11-21 32640, 2020
shivam-kapila
truly you are CSS maester
2020-11-21 32652, 2020
Mr_Monkey
Oof, not sure about that title :D
2020-11-21 32633, 2020
Mr_Monkey
Since the API itself doesn't exist yet, it's gonna be a lot of scaffolding and setting up at first before you can test against the endpoints
2020-11-21 32604, 2020
shivam-kapila
yeah
2020-11-21 32645, 2020
Mr_Monkey
and error management etc. There's a pretty good idea of returned codes in the API endpoint description
2020-11-21 32612, 2020
Mr_Monkey
Although not complete, so you may have to ask ruaok (who's gonna be doing the API endpoints) in doubt
2020-11-21 32649, 2020
shivam-kapila
there will be many I am sure :D
2020-11-21 32654, 2020
Mr_Monkey
And there's also the need for a new SpotifyAPI component, where you can implement the playlist import/export endpoints at the very least (I think some other Spotify endpoints we call in other components will end in there too
2020-11-21 32634, 2020
shivam-kapila
so spotifyAPIService, something like that
2020-11-21 32640, 2020
Mr_Monkey
yep
2020-11-21 32646, 2020
shivam-kapila
ok ok
2020-11-21 32631, 2020
Mr_Monkey
And as for the whole websockets stuff, well… I don't know where to start really. Local dev might work but AFAIK WS is broken in prod
2020-11-21 32644, 2020
Mr_Monkey
But I think we'll keep that nugget for tomorrow anyway :)
2020-11-21 32615, 2020
shivam-kapila
cool cool
2020-11-21 32615, 2020
Mr_Monkey
Does that all sound like a plan ? Any questions?
2020-11-21 32658, 2020
shivam-kapila
thats a crisp overview for me to dig in. thanks. no questions as of now
2020-11-21 32606, 2020
Mr_Monkey
Coolio :)
2020-11-21 32622, 2020
_lucifer
alastairp: ruaok: how about making the `created_for` column to be a part of algorithm metadata instead of a separate column?
2020-11-21 32623, 2020
Mr_Monkey
Let's get this party started !
2020-11-21 32658, 2020
antlarr has quit
2020-11-21 32620, 2020
Mr_Monkey
I'll create a feature branch for us all to work on
2020-11-21 32620, 2020
Mr_Monkey
There we go ! The branch is called `playlist-feature` (how original)
2020-11-21 32609, 2020
alastairp
_lucifer: we're just having an in-person discussion to work stuff out
2020-11-21 32622, 2020
antlarr joined the channel
2020-11-21 32653, 2020
_lucifer
👍
2020-11-21 32646, 2020
ruaok
_lucifer: moin!
2020-11-21 32653, 2020
ruaok
ready to chat about what to work on?
2020-11-21 32659, 2020
_lucifer
yup
2020-11-21 32614, 2020
ruaok
ok, cool.
2020-11-21 32647, 2020
ruaok
so, the python work breaks down in to 3 areas right now: DB schema/DB models, API endpoints and websocket live playlist updates.
2020-11-21 32656, 2020
ruaok
we need someone to look at the websocket stuff
2020-11-21 32609, 2020
ruaok
right now we have the broken follow feature in LB.
2020-11-21 32625, 2020
ruaok
that is going away and should just be renamed to playlist-updates or somesuch.
2020-11-21 32610, 2020
ruaok
since we're making collaborative playlists, two or more users could have a playlist page open.
2020-11-21 32626, 2020
ruaok
if one user makes a change, the change should appear in the other users' pages.
2020-11-21 32652, 2020
ruaok
the operations will be things like: move recording with mbid at index X to index Y.
2020-11-21 32634, 2020
ruaok
that operation should be sent out to the web sockets and then the client should pick it up and adjust the ordering/content of the playlist in the UI.
2020-11-21 32637, 2020
ruaok
make sense so far?
2020-11-21 32648, 2020
_lucifer
yes
2020-11-21 32604, 2020
Mr_Monkey
So some quick analysis of the console logs on listenbrainz user page, here's the type of error I get:
2020-11-21 32606, 2020
Mr_Monkey
Access to XMLHttpRequest at 'https://sockets.listenbrainz.org/socket.io/?EIO=3&transport=polling&t=NNgPgIc' from origin 'https://listenbrainz.org' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
2020-11-21 32609, 2020
ruaok
the follow stuff is currently broken in production. it might be broken on dev as well.
2020-11-21 32647, 2020
Mr_Monkey
So I'm guessing we are doing a call for LB.org to sockets.LB.org, and the subdomain change requires us to set an HTTP header somewhere ( 'Access-Control-Allow-Origin' )
2020-11-21 32606, 2020
Mr_Monkey
That where my understanding of the situation stops
ruaok: Mr_Monkey: _lucifer: Does the 'last updated' date of a playlist reflect when recordings are added to it, or only when its metadata is changed? (we already store the date that each item is added to the playlist)
2020-11-21 32624, 2020
ruaok
the former since the latter can be derived, I would say.
2020-11-21 32633, 2020
ruaok
er..
2020-11-21 32636, 2020
ruaok
the opposite.
2020-11-21 32651, 2020
alastairp
keep in mind that this is for how it's stored in the datbase
2020-11-21 32659, 2020
ruaok
when metadata is updated, since the item timestamps can be derived from looking at the items
2020-11-21 32603, 2020
alastairp
public presentation could be modified
2020-11-21 32627, 2020
_lucifer
LB should use MUSICBRAINZ_OAUTH_URL from the config.py for redirecting the OAuth right?
2020-11-21 32633, 2020
ruaok
there should be no need for you to change that.
2020-11-21 32602, 2020
ruaok
the default of "https://musicbrainz.org/oauth2/userinfo" is fine.
2020-11-21 32621, 2020
_lucifer
i was trying to test the follow server with multiple user accounts and thought to use my existing from the test server
2020-11-21 32634, 2020
ruaok
you need to get OAuth keys from MB for settting MUSICBRAINZ_CLIENT_ID and MUSICBRAINZ_CLIENT_SECRET