16:26:58 ryu ty. cya 16:27:05 epiphany cya all 16:27:31 anom13 What was the problem with radicle? Reliability or features? 16:28:01 upgrayedd different way of handling things entirely 16:28:04 frieren-elf64 we just wanted to push but it was so hard to get working 16:29:03 upgrayedd its a local-first collab git, so everyone has and maintains their view, and then decide whats the mainline which adds an unneccessary extra step on normal git operations 16:29:18 hero is this the new darkfi git https://git.dark.fi/darkrenaissance/darkfi/ 16:29:20 chadbot Title: darkrenaissance/darkfi: Anonymous. Uncensored. Sovereign. https://dark.fi - DarkFi 16:29:29 frieren-elf64 yes 16:29:33 frieren-elf64 hey hero 16:29:35 upgrayedd XD 16:29:40 hero hey yo 16:29:45 upgrayedd not fully migrated yet, its the dev testing one 16:29:56 hero okk 16:29:56 anom13 upgrayedd: I could see how that workflow would be tough. Thanks for the insight. 16:30:12 upgrayedd yeah its also prone to mistakes in terms of keeping anonimity 16:31:07 anom13 Yeah, the anonymity stuff is definitely a problem. Even with Tor there is a fair amount of info in the p2p network from what I was able to tell. 16:31:07 upgrayedd but overall its a good platform to host repos in decentralized manner for single devs or signle authority teams 16:43:42 frieren-elf64 dasman: 1. install openspec using the command here https://openspec.dev/ 2. unzip this in bin/app https://agorism.dev/uploads/openspec.zip 3. run `openspec init` and choose opencode (or ur preferred cli) 4. start opencode and type `/opsx-apply` 16:43:42 chadbot Title: OpenSpec — A lightweight spec‑driven framework 16:44:19 frieren-elf64 also review the files in openspec/changes/darkirc-reverse-dag-sync/ 16:44:51 frieren-elf64 i read it too but i dont have enough context for the impl recommendations 16:51:34 dasman alrighty, tyty 16:52:10 frieren-elf64 lmk how u get on, this is a kinda test for this workflow 16:55:04 dasman https://i.programmerhumor.io/2022/10/programmerhumor-io-javascript-memes-frontend-memes-539f27d89106d2a.jpg 16:59:45 frieren 😆 17:15:26 frieren-elf64 shayan where is this one abt connectivity stuff? 17:15:30 frieren-elf64 where is the branch? 17:15:55 frieren-elf64 i actually noticed its connected but it seems to be evgr sync issues 17:18:55 shayan fireren-elf64 I have some confusion abt branches and the changes I remade give me some time Ill find and tell.. 17:21:20 shayan I finish this as you said tho: 17:21:34 shayan bin/app: route lifecycle events through event publisher commit: 205823e959 17:23:15 shayan tested, working as expected: 17:23:17 shayan 3 ob conn - scren on/app on 17:23:19 shayan 1 ob conn - screen off/app bg 17:23:41 shayan leaved in background for 3 - 4 hour, when turn back was able to recieve and send messages.. 17:26:16 shayan with connectivity patch something is not adding up I migrate it from core lib to bin/app and fck't up somewhere.. will dig into it and after will tell 17:31:03 frieren-elf64 did u try the instructions i gave u in random 17:31:13 frieren-elf64 again 3rd time im saying this 17:33:34 shayan haven't tried that yet. I got busy with your suggestion about moving the lifecycle handling into bin/app and routing it through /window, plus the connectivity confusion. I have it noted though — as soon as I fix this shit I created, that's next. 17:56:53 shayan frieren-elf64: https://dpaste.com/64FJBRTCV.txt 17:59:59 shayan fck don't bother to look that that link.. still didn't solve all the issues 19:20:59 line may I ask where is the latest git I can pull 19:21:34 shayan https://git.dark.fi/darkrenaissance/darkfi 19:21:36 chadbot Title: darkrenaissance/darkfi: Anonymous. Uncensored. Sovereign. https://dark.fi - DarkFi 19:21:44 line thats self hosted? 19:22:05 line wtf is this nice 19:23:04 shayan │17:29:45 upgrayedd │ not fully migrated yet, its the dev testing one 19:23:56 line thats cool 19:24:05 line ty 19:24:22 shayan np 20:08:31 line I compiled the app on arch, I am comfused as it does show the wallet, if I reach chat, I dont seem to be able to reach back the wallet view. Would also be great to have a visual tutorial uppon first launch (I can try if you guys not already working on this) 20:10:03 shayan I have same issue on android: I can see the wallet just on fresh start but if I leave that screen no way to turn back.. 20:33:23 line how do you propose PR on that dev gog repo shayan? Or you still use codeberg/github? 20:42:11 shayan pushing on codeberg without creating new PR and sendind the commit id 20:43:17 line i see 20:48:57 frieren-elf64 we are waiting for urs work 20:49:01 frieren-elf64 the buttons are fucked up 20:51:00 line I mean 20:51:09 line frieren-elf64 the back button seems to be there 20:51:18 line its just transparent overlay and weird placement 20:51:29 line there is even a flag for first launch for a future tutorial 20:51:35 line and settings fully commented 20:52:25 frieren-elf64 there is no future tutorial in there 20:52:33 line no 20:52:36 frieren-elf64 and the button is in the bottom right behind the menu 20:52:41 frieren-elf64 the wallet button 20:52:47 frieren-elf64 u can click it but its hard 20:52:50 line but a first_time marker file already exists and an is_first_time flag flows through startup 20:53:14 line that could be a great starting point of a tutorial lol 20:53:30 frieren-elf64 i believe the app shud be intuitive enough to have no tutorial 20:53:35 frieren-elf64 i hate tutorials in apps 20:53:40 frieren-elf64 it shud be work and go 20:53:46 frieren-elf64 no setup etc 20:53:46 line I mean 20:53:49 line Building blocks (overlay layers with z-index/priority, multi-step wizard pattern from the wallet send flow) are all there 20:53:56 line So I am guessing someone tought it was a good idea 20:54:00 frieren-elf64 where? 20:54:02 frieren-elf64 no there isnt 20:54:02 line and possibly already working on 20:54:04 line one sec 20:54:14 frieren-elf64 where there is def no wizard in the app 20:54:25 frieren-elf64 the ui design is strongly anti wizard 20:54:42 frieren-elf64 as much as possible try to make things stateless 20:54:56 line there is no wizard in the app yet I KNOW 20:56:46 line First launch: first_time marker (~/.cache/darkfi/app/first_time, created in schema/mod.rs:677-684) and is_first_time flag exist but nothing consumes them. No tutorial UI exists. Overlay + multi-step wizard patterns already exist in the codebase (chat select_layer z100/p100; wallet send_step1..4 layers). 20:57:34 line Im just saying 20:57:37 line Because I opened 20:57:43 line Saw the token/wallet UI 20:57:44 epiphany no wizard here, only magicians 20:57:48 line hahaha 20:57:58 line then sadly lost the wallet view forever 20:58:06 line it is overwhelming for a newcommer 20:58:50 anon 🤣 20:59:08 epiphany wallet's step layers aren't a wizard at all, they are just named like that because they must be shown in the right order 21:06:28 shayan gn 22:18:38 frieren-elf64 line theres a button but urs is styling it 22:18:59 frieren-elf64 urs, in the future do one thing -> we merge -> do another thing -> we merge and talk more 22:19:37 frieren-elf64 its a lil silly to go quiet a week, do 5 features and then we have to untangle it all 22:41:23 frieren-elf64 gnnn 10:03:47 shayan gm 10:03:48 anom13 gm 10:03:48 ryu gm 10:03:48 urs gm 10:03:48 dubh gm 10:04:39 frieren-elf64 gm 12:02:11 frieren-elf64 grug here??? 12:02:16 grug Yep hi 12:02:25 frieren-elf64 hey did u get my dm? 12:02:45 grug Yes sec let me reply 12:02:51 frieren-elf64 ok ty 12:07:16 frieren-elf64 grug, upgrayedd so abt openspec 12:08:21 frieren-elf64 basically lets say i want to make a new feature but its vague. i do `/opsx-explore desc of feature`, it will do an in depth deep search of codebase to figure everything out and create structured docs around that 12:09:20 frieren-elf64 then u basically talk with ur ai tool like claude/opencode etc to refine the design further. once ur ready to go into impl phase and have made choices then u do `/opsx-propose` 12:09:41 frieren-elf64 it then creates a subdir inside openspec/specs/ with design.md proposal.md and tasks.md 12:09:49 frieren-elf64 these are meant to be committed to the repo 12:09:50 grug Is this in opencode or another tool? 12:09:54 frieren-elf64 its any tool 12:10:01 frieren-elf64 its a plugin for those tools 12:10:06 grug aha 12:10:20 frieren-elf64 then if for example i want grug or dasman to review the feature, they just git pull and review the spec 12:10:33 frieren-elf64 then they can refine it further etc 12:11:13 frieren-elf64 so for example with tasks.md u can specify its done in 4 phases like a migration with testing between each phase 12:11:42 frieren-elf64 then it will do tasks from phase 1, pause until u say continue .etc 12:11:51 frieren-elf64 it makes collab around dev plans much easier i think 12:12:12 frieren-elf64 and also we can just propose half assed ideas that ppl can pickup and refine then ask us for feedback before impl 12:12:30 frieren-elf64 its like a collaborative beefy plan mode for teams to work on 12:13:08 frieren-elf64 lastly once its finished, u do /opsx-archive, it then turns the spec for that feature into part of a living ongoing architecture doc 12:13:40 frieren-elf64 so that when ur ai tool is coding it doesnt make stupid mistakes but actually has memory of internals and context around proj structure .etc 12:14:21 frieren-elf64 grug, if u wanna test, i gave this to dasman abt the evgr2 backsync topic yday 12:14:22 frieren-elf64 1. install openspec using the command here https://openspec.dev/ 2. unzip this in bin/app https://agorism.dev/uploads/openspec.zip 3. run `openspec init` and choose opencode (or ur preferred cli) 4. start opencode and type `/opsx-apply` 12:14:23 chadbot Title: OpenSpec — A lightweight spec‑driven framework 12:14:30 grug Yeah sounds good to me 12:14:45 grug Lemme try 12:15:12 frieren-elf64 theres also other tools like this https://github.com/gytis-ivaskevicius/peck but i just tried openspec so far 12:15:13 chadbot Title: GitHub - gytis-ivaskevicius/peck · GitHub 12:15:46 frieren-elf64 sry the features go in openspec/changes/ whereas the living arch is in openspec/arch/ 12:16:03 frieren-elf64 rn i use it in bin/app/ but maybe we will use it just in the proj root directly 12:16:36 grug Yeah prob better to have it overall 12:16:53 grug Give me a bit to set it up and check 12:17:42 frieren-elf64 yep 12:22:17 grug So this dir should be in bin/app/openspec/ ? 12:23:07 frieren-elf64 yep 12:23:13 frieren-elf64 w changes and specs inside 12:24:49 grug ok now the llm asks me which change it should apply 12:24:57 frieren-elf64 openspec list 12:25:31 grug I'm trying in codex 12:25:53 grug Yeah it's working 12:26:14 frieren-elf64 theres also continue and ff commands 12:27:21 frieren-elf64 https://openspec.dev/docs/the-workflow 12:27:21 chadbot Title: Workflows — OpenSpec 12:27:29 grug ok cool 12:27:46 grug If we put this in root then we can also have a good task tracker in the repo itself 12:28:08 grug It will also probably have a better context of the repository this way 12:28:58 grug We can try peck too to see if it's less verbose 12:29:18 frieren-elf64 yep exactly 12:29:21 frieren-elf64 try this too 12:29:23 frieren-elf64 openspec config profile 12:29:28 frieren-elf64 sudo openspec update 12:29:50 frieren-elf64 (go to workflows and add all the commands) 12:30:24 grug aha sweet 12:30:36 grug btw you can do it all without root if you change the npm prefix to something local 12:30:57 frieren-elf64 ah yeah thats better 12:31:37 grug https://github.com/gytis-ivaskevicius/peck#why-no-architecture-docs 12:31:38 chadbot Title: GitHub - gytis-ivaskevicius/peck · GitHub 12:31:43 grug I think this is pretty reasonable 12:37:40 frieren-elf64 i actually like detailed plans tho, often it will give sth confused and u have to keep hammering and hammering 12:37:59 grug Depends on prompt proficiency 12:38:08 grug I'd like to try peck tho 12:38:14 frieren-elf64 yeah try it 12:38:18 frieren-elf64 no rush to adopt any one tool 12:38:23 frieren-elf64 lets check back in a week or 2 12:39:06 grug We'll likely need more than one anyway 12:39:17 grug This is also just for impl stuff 12:39:40 grug We need somehow to also do auditing and have it all tightened down 12:41:20 upgrayedd use a metarepo... 12:41:26 upgrayedd don 12:41:36 upgrayedd ''t put bloat inside the repo 12:44:49 upgrayedd "sudo openspec" hell to the nah lol 12:45:03 dubh lol 12:47:39 grug ah ok peck understands how to do auditing as well 13:02:17 frieren-elf64 epiphany: git pull, i put the URL to the public darkfid instance, the wallet seems to connect but idk if its syncing since the status logo remains unchanged 13:03:16 grug frieren-elf64: Should be tcp+tls not tcp 13:03:47 grug Also it's the wrong domain 13:05:11 epiphany frieren-elf64: also theres 4 states for the indicator: disconnected (the red one), syncing (<50%), syncing (>50%), synced 13:05:41 frieren-elf64 ahhh ty grug 13:06:24 grug :D 13:07:06 upgrayedd did you even test before pushing? XD 13:08:47 anon upgrayedd a luddite 13:09:31 line upgrayedd what do you think about the points I mentionned 13:09:37 line I built app on arch 13:09:59 line wallet button weird and confusing 13:10:13 line aaactually all buttons 13:10:28 upgrayedd dunno haven't checked the gui out 13:10:29 line and is_first_time could be used for a "tutorial" 13:10:42 anon upgrayedd doesnt use soygui 13:10:48 line XD 13:11:02 line Me neither that is why I propose these 13:11:13 frieren-elf64 well its weird 13:11:30 line so I can bring friends 13:11:50 line friends dummmy they want to create and join private chats easily 13:12:49 frieren-elf64 its weird cos with the wrong url tcp://node.dark.fi i saw the DRK token 13:13:02 frieren-elf64 but now i updated the url and it still works but it doesnt seem to sync 13:13:19 frieren-elf64 const DARKFID_ENDPOINT: &str = "tcp+tls://node0.testnet.dark.fi:18340"; 13:13:49 frieren-elf64 or maybe thats just cos of enable-plugin-drk? 13:14:18 frieren-elf64 epiphany, any idea? 13:14:37 urs line: try builing my branch: https://codeberg.org/eliedinner561/darkfi/commits/branch/menu 13:14:54 urs i worked on a lot of the buttons e.g the wallet button on main screen 13:23:05 epiphany frieren-elf64: iirc it adds a DRK row at the top of the token table even if you have no DRK 13:23:59 epiphany one sec i'm building with that endpoint 13:24:14 frieren-elf64 ty 13:27:25 line ty urs 13:27:40 line I am excited just trying to figure out how will I bring friends lol 13:35:22 epiphany frieren-elf64: port 18340 is inbound p2p, drk needs the rpc endpoint 13:36:58 grug oh that wasn't told to me :D 13:37:08 grug upgrayedd: Can we make node0/1 have public rpc? 13:38:20 upgrayedd grug: what are you asking? XD 13:39:21 grug To change it from localhost listen to tcp+tls public-facing 13:41:50 frieren-elf64 urs in the future 1 branch per feature not 1 branch for 5 features 13:42:04 frieren-elf64 1 branch -> ask for merge 13:42:12 upgrayedd grug: yeah sure, just check if the management port is active 13:42:53 grug ok 13:48:18 urs frieren-elf64: alright 13:48:59 frieren-elf64 lookup git worktrees 13:49:09 frieren-elf64 u can have a bunch of branches in parallel 13:53:38 grug frieren-elf64: tcp+tls://node{0,1}.testnet.dark.fi:18345 13:53:51 frieren-elf64 testoing 14:00:59 upgrayedd grug: you see the rpc spam right? XD 14:04:21 frieren-elf64 const DARKFID_ENDPOINT: &str = "tcp+tls://node0.testnet.dark.fi:18345"; 14:04:24 frieren-elf64 doesnt werk :/ 14:05:08 grug The rpc is accessible so it's a problem with your stuff 14:05:17 grug rlwrap openssl s_client -connect node0.testnet.dark.fi:18345 14:05:22 grug {"jsonrpc":"2.0","method":"ping","params":[],"id":1} 14:05:26 frieren-elf64 epiphant FIX IT! 14:05:30 frieren-elf64 NAO 14:05:43 epiphany NO 14:05:48 frieren-elf64 do something NOW 14:06:24 frieren-elf64 12:05:54 [INFO] plugin::drk: Attempting to connect to darkfid daemon at tcp+tls://node0.testnet.dark.fi:18345 14:06:24 frieren-elf64 12:05:54 [ERROR] plugin::drk: Failed during drk scanning: WalletDbError::GenericError 14:06:24 frieren-elf64 12:05:54 [INFO] plugin::drk: Retrying connection to darkfid in 20 seconds... 14:06:34 grug upgrayedd: I dunno if the listener.next stuff is actually rpc or p2p 14:06:54 grug But shouldn't matter in any case, it's just a failed conn log 14:07:06 frieren-elf64 i tried that cmd grug 14:07:08 frieren-elf64 i get errors 14:07:14 grug impossibru 14:07:16 frieren-elf64 Verification error: self-signed certificate 14:07:38 upgrayedd grug: does https werk? 14:07:42 grug Call the police then to provide you a cert 14:07:46 upgrayedd XD 14:07:54 epiphany lmao 14:08:27 grug upgrayedd: It doesn't need https 14:12:04 upgrayedd grug: yeah tested it with drk it werks 14:12:10 upgrayedd its an app issue 14:12:27 frieren-elf64 oh 14:12:30 frieren-elf64 its the ipv6 addr 14:12:33 frieren-elf64 its not working 14:12:41 frieren-elf64 [2001:41d0:...:233]:18345 (IPv6) — connection refused 14:12:47 upgrayedd lmao so its your net again XD 14:12:50 frieren-elf64 the domain resolves to that 14:12:57 grug ipv6 causing more trouble than it's useful 14:13:25 frieren-elf64 hmmm ping works 14:13:27 frieren-elf64 ping 2001:41d0:1004:49a:abcd:ef01:2345:233 14:13:52 grug It's only listening on the ipv4 socket because we didn't add multiple-listener support to the RPC thing 14:14:13 grug tbh we should just remove AAAA records lol 14:14:28 frieren-elf64 ohhhh 14:14:41 frieren-elf64 just add the ipv6 listeners 14:14:44 frieren-elf64 [::] 14:14:56 frieren-elf64 oh nvm i re-read wat u said just now 14:14:58 grug No RPC doesn't do an array 14:15:00 frieren-elf64 ok 14:15:02 grug It needs more cooding 14:18:40 frieren-elf64 ok trying ipv4 rpc 14:22:42 frieren-elf64 coooool workking 14:22:58 epiphany it werks im syncing 14:23:07 epiphany oh too late 14:23:13 frieren-elf64 XD 14:23:21 frieren-elf64 yru twerking 14:27:24 frieren-elf64 https://agorism.dev/uploads/darkfi-app.apk 14:27:41 frieren-elf64 try on ur phones guys 14:28:00 frieren-elf64 12/10 best free virus 14:28:09 upgrayedd fix the repo commit 14:28:39 grug lmao 14:28:48 frieren-elf64 shall i put domain or ip? cos domain doesnt work yet 14:29:00 upgrayedd domain works... 14:29:04 frieren-elf64 it doesnt 14:29:19 upgrayedd it doesn't in your network 14:29:23 epiphany im syncing with domain rn 14:29:27 upgrayedd thats not representantive of rest of the world lol 14:29:34 frieren-elf64 its not my network 14:29:50 frieren-elf64 the domain has ipv6 record. darkfi json doesnt do ipv4 fallback, it just fails 14:29:57 grug You're the only one using ipv6 here 14:29:58 upgrayedd 3 people here on diff networks tell you that domain works 14:30:13 frieren-elf64 yes cos they use ipv4 14:30:20 upgrayedd like most of the world yes 14:30:22 grug >not my network 14:30:28 grug #notmynetwork 14:30:42 frieren-elf64 half the world uses ipv6 14:30:50 grug I'll just cd kode and fix it 14:30:50 epiphany the wrong half 14:30:56 grug lol 14:31:00 frieren-elf64 ok ill put domain then 14:31:00 upgrayedd ++ 14:31:35 upgrayedd better yet, fix up the configurable settings 14:31:46 upgrayedd so everyone puts whatever and we don't have to deal with the hardcoded stuff anymore 14:31:54 frieren-elf64 not in this release 14:32:11 grug virus-free no config 14:32:38 frieren-elf64 next release has settings, themes, plugins 14:32:43 frieren-elf64 + dex + bridge 14:33:13 frieren-elf64 and multi-token (rn is just drk) 14:34:55 upgrayedd lol anything else? maybe a lazor? 14:36:55 frieren-elf64 thats pretty basic in terms of phone wallets. maybe u shud try some out 14:38:39 frieren-elf64 edge, exodus, metamask, phantom, solflare, uniswap, zashi, cake, unstoppable 14:39:03 frieren-elf64 they all got some basic multi token wallet + swaps going on (zec zashi uses near intents) 14:39:10 upgrayedd none of those tries to be a super app.... in any case I was being sarcastic lol 14:39:35 frieren-elf64 okkkk 14:40:02 frieren-elf64 i just think this core featureset is essential for user accrual 14:52:53 grug Pushed the RPC "fix" 14:52:59 grug Will restart darkfids as soon as they compile 14:58:45 frieren-elf64 noooooice 15:03:35 grug Should be ok now 15:03:41 grug In your half of the world :p 15:03:56 upgrayedd grug: you see the rpc is something hitting it constantly 15:04:03 upgrayedd since you restarted it its still spamming 15:04:05 upgrayedd so not p2p 15:04:24 grug Why does it matter? 15:04:51 grug It's a public node ofc it's gonna be spammed 15:05:38 grug A lot more things are happening but just this one is loud so you're noticing :D 15:05:44 upgrayedd don't say it does, its just a spammy log 15:05:55 upgrayedd yeah I know just saying if something slipt through the cracks XD 15:06:07 grug It didn't it's just the unhandled code path 15:06:19 grug It's loud so it gets handled 15:06:22 upgrayedd handle it XD 15:06:58 grug I don't want to stop the node now since they're working on the app 15:07:03 grug It literally doesn't matter 15:07:19 anon its alive 15:07:20 grug I'd have to run in debug and catch it 15:40:06 grug frieren-elf64: This is what peck+opencode produced with gpt-5.6: https://termbin.com/yq775 15:40:20 grug frieren-elf64: I asked it to check the p2p stack and lilith as an example task/project 15:41:09 grug It made an initial plan and then asked some follow up questions 15:41:14 grug Was pretty straightforward 15:41:53 grug The text is a bit dense though 15:42:48 frieren-elf64 u can choose 15:43:44 grug However it does seem to understand the architecture really well 15:44:16 frieren-elf64 main thing is i want to spec features for domain specific devs to impl 15:44:27 frieren-elf64 i like openspec has the 3 docs: proposal, design and tasks 15:45:08 frieren-elf64 this means we can avoid confusion where dev gets task, makes mistakes, we have to repeat. the spec ensures there will be minimal misunderstanding upfront 15:45:24 grug ++ definitely 15:45:33 frieren-elf64 then they can modify and restructure, ask for review .etc before executing 15:45:47 grug I'll try openspec with the same task and compare 15:46:19 grug Keep in mind probably a lot of this also depends on the model being used 15:46:25 grug And how "smart" it is 15:47:07 grug But I like it 15:47:25 frieren-elf64 try openspec for impl a feature 15:47:28 frieren-elf64 and try explore mode first 15:47:49 frieren-elf64 for example "how can we ensure packets are within nym packet size" 15:48:11 frieren-elf64 btw maybe we should use QUIC by default? 15:48:31 grug We should test it a bit before migrating but yeah I'm for it 15:49:46 frieren-elf64 cool i think it will speed up dev 15:53:31 grug If we don't use it we'll fall behind 15:53:39 grug Adapt or die lol 15:54:20 frieren-elf64 yk how the auditing companies are spamming us 15:54:24 frieren-elf64 rough time for them 15:54:30 grug :D 15:54:46 frieren-elf64 ik a big one just went rekt after pouring millions into a static analysis software for smart contracts 15:55:05 frieren-elf64 and ik a dev shop just let go of 35 devs and closed down after 8+ yrs 15:55:23 grug Yep 15:55:33 grug Not surprised 16:05:18 grug frieren-elf64: Would it be possible to make a release (nondebug) build of the apk? 16:05:31 grug I tried myself but when I open it it immediately crashes 16:05:41 grug Didn't use podman but build natively 16:06:25 frieren-elf64 can u share logfile? 16:06:29 frieren-elf64 it will have the crash bt 16:06:49 frieren-elf64 /Android/data/darkfi.darkfi_app/files/darkfi-app.log 16:07:10 grug lmc 16:08:45 grug /system/bin/sh: cd: /Android/data/darkfi.darkfi_app/files: No such file or directory 16:09:16 frieren-elf64 i just dont see why making a release will change anything 16:09:20 grug I don't think the app actually even opens 16:09:23 frieren-elf64 cd /sdcard/ 16:09:30 frieren-elf64 ls 16:09:32 frieren-elf64 cd Android 16:09:33 frieren-elf64 .etc 16:09:34 grug It's also not there 16:09:58 frieren-elf64 ru connected via adb? 16:10:04 grug ofc 16:10:09 grug debug builds are a lot slower 16:10:16 frieren-elf64 make log-apk 16:10:19 frieren-elf64 try this cmd 16:10:31 grug So it might be better to build release and just add debug symbols if you're interested in those 16:10:37 frieren-elf64 ah yes debug is a lot slower true but i meant for the crash 16:12:58 frieren-elf64 cargo quad-apk build --no-default-features schema-app,enable-plugin-drk,enable-plugin-darkirc 16:13:06 frieren-elf64 oops 16:13:11 frieren-elf64 cargo quad-apk build --no-default-features schema-app,enable-plugin-drk,enable-plugin-darkirc --release 16:13:14 grug Yeah I built it like that 16:13:37 frieren-elf64 enable-filelog 16:13:40 frieren-elf64 for the file logging 16:13:44 grug Android says: java.lang.UnsatisfiedLinkError: dlopen failed: TLS symbol "(null)" in dlopened 16:13:57 frieren-elf64 full bt? 16:14:06 grug I used this: cargo quad-apk build --release --no-default-features --features=enable-filelog,enable-netdebug,enable-plugins 16:15:02 frieren-elf64 needs 16:15:05 frieren-elf64 schema-app too 16:15:17 grug https://paste.centos.org/view/0832230f 16:15:23 frieren-elf64 it needs a schema 16:16:17 frieren-elf64 update quad-apk? 16:16:31 frieren-elf64 https://github.com/not-fl3/cargo-quad-apk/ 16:16:47 grug I installed the latest one with `cargo install --git ` 16:16:50 grug Lemme try with schema 16:17:26 frieren-elf64 oh hmmm 16:18:21 grug Is there a chance that it created an x86 apk? 16:18:38 upgrayedd XD 16:19:45 frieren-elf64 no its cross platform 16:19:47 frieren-elf64 all targets 16:20:24 frieren-elf64 62efc1f13b48846790a137a75aef6dc082e0737d 16:20:28 frieren-elf64 i wonder if related to this 16:21:18 frieren-elf64 wtf is TLS symbol "(null)" 16:22:12 grug Some thread-local-storage mismatch ig 16:22:26 grug Doubt it's related to that commit 16:22:43 grug I'll investigate more l8r 16:23:05 upgrayedd that commit looks wrong tho 16:23:36 upgrayedd why would merkle and util be guarded behind wasm32 arch? 16:23:45 upgrayedd the sdk is not just for wasm 16:24:08 frieren-elf64 hmm lemme check 16:24:34 frieren-elf64 these are wasm fns 16:24:53 frieren-elf64 they dont exist in native abi 16:25:24 upgrayedd 1) What 16:27:20 frieren-elf64 idgi 16:27:30 frieren-elf64 sparse_merkle_insert_batch_() 16:27:30 upgrayedd ah saw it its the merkle and util inside sdk/src/wasm 16:27:36 frieren-elf64 okkkk 16:27:43 frieren-elf64 yep 16:28:04 frieren-elf64 linux doesnt resolve this so no dlopen crash but android does and gives dlopen crash 16:30:56 grug Crazy 16:32:59 frieren-elf64 grug https://agorism.dev/uploads/ANDROID_TLS.md 16:35:21 anon I built it with schema and it works now 16:35:23 anon lol 16:35:47 anon Damn still no text selection 😆 16:36:33 frieren-elf64 yes there is 16:37:14 frieren-elf64 long hold 16:38:12 frieren-elf64 copy is top right, remove sel is top left 16:38:19 frieren-elf64 nothing is shown waiting on buttons from urs 16:38:26 frieren-elf64 but u can click them 16:38:38 grug ah yeah it's weird without the btns 16:38:51 grug The longhold timeout is a bit too long imo 16:39:02 frieren-elf64 yeah maybe its like 2s 16:39:10 frieren-elf64 also URLs are clickable and copyable 16:39:31 grug Yeah it's cool 16:39:43 grug I can give you this kind of annoying feedback if you're interested 16:39:45 grug :D 16:39:48 frieren-elf64 yes 16:40:04 frieren-elf64 more eyes makes bugs swallow 16:40:12 grug kk, lemme use it for a bit then 16:40:27 urs frieren-elf64: have you also seen my other commits with the buttons etc.? 16:40:29 frieren-elf64 - steve jobs creator of linux 16:40:41 frieren-elf64 urs menu branch? 16:40:46 urs yes 16:40:48 frieren-elf64 i looked at all the commits 16:40:54 frieren-elf64 but theres too much random stuff mixed in 16:41:19 urs wdym? the android commit? 16:41:21 frieren-elf64 changes to core code must not be part of styling, should be separate branches 16:41:38 frieren-elf64 idgi do i need to check again today? 16:42:05 urs both the commits you mentioned before are not in the brach anymore - moved to experimental until i fully understand etc. 16:42:10 frieren-elf64 ok 16:42:12 frieren-elf64 checking 16:42:52 urs apart from the buttons i also tried to act on my own, as you wanted me to and e.g made the version block look like in the designs more 16:43:16 frieren-elf64 ok already looks much better 16:43:24 urs the headers are also unified now, looking like in the design 16:43:24 frieren-elf64 i will look more closely later and if its good merge 16:43:38 frieren-elf64 super lemme compile and run 16:44:19 urs i spent time studying the key generation part, as far as i can tell it looks good, but needs an extra eye to be sure 16:45:55 frieren-elf64 cool ty 16:48:46 urs its not much different from other things, just uses the random OsRng module to generate a random number based on some 'environmental parameters' 16:49:36 urs also i used openspec recently to get a better understanding of the general infra. like from display touch to task execution 16:49:50 urs it worked pretty well 16:52:19 frieren-elf64 can u rebase master 16:52:29 urs okay 16:52:39 frieren-elf64 needs testing 16:53:36 urs ++ 17:13:19 upgrayedd grug: latest commit broke the http rpc test, can you fix it? cargo test --release --all-features --workspace http_jsonrpc_reqrep -- --nocapture 19:38:48 anon Yeah will do 20:12:25 grug frieren-elf64: Where do you want me to write feedback for the app? 20:12:40 grug I just have short notes, about a dozen 20:13:06 frieren here? 20:13:56 grug Sure, you can copy it down somewhere then 20:14:11 grug - IRC ACTION didn't seem to be rendered properly 20:14:34 grug - Text selection has a too long timeout until it actually happens (also confusing but maybe gets better with the dedicated buttons) 20:14:59 grug - It would be good to add swipe left/right screen gestures, e.g. swiping left can open the channel list 20:15:30 grug - Backwards sync would be interesting to see in action, when scrolling up (there is an example in darkirc on how to do this) 20:15:56 frieren i think it should just sync back even without scrolling up 20:15:57 grug - When you scroll far back, it would be useful to have a button/gesture to scroll back down to newest messages immediately 20:16:01 frieren theres too much network latency 20:16:23 grug - Holding backspace in the input box doesn't delete 20:16:31 grug - Missing completion for nicknames 20:17:03 grug - Force Stop in android, when I opened the app again it reset the nickname to 'anon'. Not sure how persistent local state is handled 20:17:22 grug - It would be good to have a setting that can stop p2p/net to save data 20:18:03 frieren good feedback ty 20:18:08 grug frieren: It can sync back but that can also abuse the data plan. There should be some realistic limit like 1-2 days. But then manually if you wanna go further you can show some progressbar or information that it's syncing further back 20:18:27 frieren i think just 1-2 days default 20:18:47 grug Yeah I think that's reasonable. And then if you wanna go further back it can trigger more sync 20:20:58 grug It can look good if done properly 20:21:29 grug Like you scroll back to top, and then one more scroll gesture can trigger it, and you can place some kind of wheel/bar that indicates that a sync is happening 20:22:01 grug But it was a bit tedious to scroll back to newest from there so I thought something to jump back to present would be useful as well 20:22:17 frieren-elf64 yeah lets see, will focus on fixing bugs in this release, maybe a couple of these items 20:22:40 frieren-elf64 whats missing completion for nicknames? is that on desktop? 20:22:51 grug Yeah no worries, just copy them down somewhere and we can add them as time goes 20:23:00 frieren-elf64 yes agree abt the stop button for p2p too 20:23:04 grug No, all feedback is for mobile 20:23:16 frieren-elf64 how does that work? u mean text suggestion? 20:23:29 grug Completion like if I start writing "fri.." maybe something can pop up 20:23:39 grug (Not the dots) 20:23:58 grug It doesn't even need to be a regex since you check from beginning of line 20:24:14 frieren-elf64 ic maybe @fri or sth 20:24:15 grug 2 or 3 chars would be enough to trigger it 20:24:27 grug 1 char can be annoying since it would trigger too often 20:24:50 grug And then whatever pops up would autocomplete a "frieren-elf64:" 20:25:00 grug "frieren-elf64: " even 20:25:38 grug @ could be good too maybe, if it pops up a small window with all the nicks 20:25:57 grug It would have to be limited in height and scrollable tho 20:30:00 grug upgrayedd: The test doesn't fail for me. What's the error you saw? 21:53:12 frieren-elf64 ok gotcha ty 21:53:16 frieren-elf64 gn all 21:54:43 epiphany cya 22:10:57 shayan cya 22:11:06 shayan gn all too 22:31:09 grug gn cya 08:50:07 dasman for nick completion i would also suggest double tapping on a nick (as it appears on every msg line) automatically writes it down in msg text box 08:50:07 dasman very useful for replys 08:50:07 upgrayedd grug: Failed starting JSON-RPC server: URL parse error: http+tcp://127.0.0.1:{random_port} 08:50:07 upgrayedd and then Error: Io(ConnectionRefused) 08:50:07 upgrayedd grug: btw the warning was due to explorer since it was trying the rpc without tls 08:50:07 upgrayedd set it for the correct transport and now everything is noice 08:50:07 dasman frieren-elf64: tried opencode applied the spec built with deepseek (cuz why not :D), reviewed, built and tested everything verks perfectly 08:50:07 dasman i see you planned to use dag_sync_range() instead of catch_up_sync() as a future task which makes more sense to go page by page as opposed to sync all of newest dag as a whole 08:50:08 shayan gm 08:50:08 ryu gm 08:50:08 anomie gm 08:50:08 fc44arm64_8f16456cbNoTST interestingly on macbook air m4 all tests pass, build time about 78 minutes versus about 108 minutes on rk3588 with some tests skipped 08:50:32 frieren-elf64 dasman i didnt plan anything D: i have no idea what any of it is saying 08:51:38 frieren-elf64 nick double tap works cool 09:18:25 dubh gm 18:21:40 anon gm 18:21:40 urs 'gm 18:21:40 grug gm 18:21:42 upgrayedd grug: passing now thanks 18:21:42 dasman frieren-elf64: ah it's added as non-goal, to keep the reverse sync spec tight and focused 18:21:42 grug upgrayedd: gr8 18:26:05 meruem urs, plz rebase master asap so i can merge 18:26:11 meruem new changes should go on new branch 18:26:16 meruem its exhausting i keep having to say this 18:27:01 meruem the new branch is good tho and ready to merge i just need it rebased 18:27:08 meruem feedback: 18:27:10 meruem w / 2 + CONTENT_MARGIN * 3.0 - CHANNELS_ICON_SCALE * 1.6 18:27:12 meruem dont like this formula, where did those magic consts 3.0 and 1.6 come from? 18:27:14 meruem channels_icon_2? pick a better name 18:42:36 grug meruem: Hey, I've been trying openspec today and I think I prefer it to peck actually 18:42:52 grug meruem: I created custom agents however 18:43:04 grug meruem: But they can be refined if we decide to use this 18:44:40 meruem so so cool custom agents 18:44:53 meruem can u plz look at dasman work btw for backsync, just ack it 18:45:11 grug I had claude opus help me design them 18:45:46 meruem nice why do u use gpt, opus .etc instead of glm? do u find differences between them? 18:45:55 grug Where is dasman's code? 18:46:26 grug meruem: Yeah I use both gpt and opus back and forth and they get even better when you challenge them against each other lol 18:46:28 meruem idk if it landed yet 18:46:39 meruem oh sick 18:46:42 grug You can tell gpt that opus made something and it gets very vigilant 18:46:55 grug So reviews better because it knows what the bad things with the other model are 18:47:44 grug I've been following this https://github.com/Fission-AI/OpenSpec/blob/main/docs/workflows.md 18:47:44 chadbot Title: OpenSpec/docs/workflows.md at main · Fission-AI/OpenSpec · GitHub 18:51:23 grug meruem: Generally I've found gpt good at lowlevel and opus at ui/ux highlevel 18:53:17 meruem so interesting! 19:21:20 grug !topic openspec 19:21:21 meetbot Added topic: openspec (by grug) 19:23:09 dasman meruem: i haven't push my work, thought it's just review/test openspec 19:23:27 dasman i'll push later tonight, I'm having some guests rn 19:23:34 meruem yep ok ty 21:57:27 lotus hi 08:20:18 lotus I’m glad to be part of this community and to learn from everyone here. 08:20:18 lotus I also have a suggestion regarding the nickname autocomplete feature. I agree with Dasman’s suggestion, and I’d like to suggest another option as well: using the Tab key to autocomplete a nickname after typing the beginning of it!. 08:20:18 shayan gn 08:20:18 dasman meruem, grug: check latest commit, i can also share openspec dir externally so this step is checked from design 08:20:18 dasman lotus: tab comletion for desktop, and double tap for android 08:20:18 dasman tab and tap :D 08:20:18 shayan gm 08:20:30 frieren-elf64 gm 08:20:51 frieren-elf64 ty dasman 08:21:34 anon gm 08:21:41 urs 'gm 08:22:22 frieren-elf64 urs saw what i wrote yday? 08:34:21 ryu gm 08:34:49 frieren-elf64 https://zakura.com/engineering/key-agreement/ 08:34:50 chadbot Title: Faster Ironwood Key Agreement — Zakura 08:34:50 frieren-elf64 exciting 08:42:44 urs frieren-elf64: didn't see, will do now 08:44:41 frieren-elf64 final tasks: 1. fix menu rendering 2. select timeouts 3. test backsync 4. see state filesize 08:45:14 frieren-elf64 i wont do more than this unless its a bug. lets kick it out already 08:46:09 urs gm 09:05:00 dubh gm 10:24:24 anomie gm 10:54:29 frieren-elf64 urs wyd? 11:02:53 urs i am moving the commits to a new branch and rebasing with master 11:03:40 urs also you gave feedback on the magic numbers, so i will think how to position correctly without them 11:04:16 urs on experiment branch i am trying to turn the search bar into the pub key display 11:05:18 urs ah, and the channels_icon2, i am planning to rename them icon left and right and gray and green 11:05:49 frieren great tysm, lets get the menu branch merged asap 11:09:35 urs yes 13:05:37 lotus dasman: ah perfect : 13:06:36 anon GM DARKFRAUD SISTERS!! WEN MAINET 13:06:38 anon REEEEEEEEEEEEEEEEEEEEEEEEEE 13:28:40 frieren-elf64 can we get github mirror working again 15:08:04 temp Test 15:08:04 chadbot Test back 15:55:10 gugu can someone send me some drk pls? 15:55:11 gugu fS5wCLrgnBMKempf5D5BK3GFGaMyP6AtBHrKJdXqN8Kx63HJJaXwBZB8 16:22:36 frieren-elf64 sec spinning up my node 16:35:43 frieren-elf64 syncing 17:36:31 urs epiphany: i see this error compiling and it also effects the wallet https://bpa.st/HL26C 17:36:31 chadbot Title: View paste HL26C 17:52:29 epiphany urs: see those commits https://git.dark.fi/darkrenaissance/darkfi/commit/17da9178bf3b43825d3851be5576a50fac196553 https://git.dark.fi/darkrenaissance/darkfi/commit/12691bdca18ae35ab2dc5547444d9180cd6dd867 17:52:31 chadbot Title: app/layer: migrate Layer to new trigger redraw paradigm. · 17da9178bf - DarkFi 17:52:35 chadbot Title: app: migrate all remaining widgets to the new draw paradigm. remove RendererSync and batch IDs from gfx. · 12691bdca1 - DarkFi 17:54:20 epiphany looks like wallet/main.rs was migrated 17:55:39 epiphany so i guess it's a merging issue with your branch 17:56:51 shayan my last build app size is behave wierdly.. the app size rising till 12gb and after dropping to 2gb and never settle.. 2 min ago was 6gb and now is 1.62.. any idea why thats happening? 18:00:38 upgrayedd its a debug build so logs are spammy af 18:01:01 shayan aha.. thnx) 18:01:02 upgrayedd everything is unoptimized so its expected 18:03:54 frieren-elf64 logs are capped at 5mb tho 18:04:07 frieren-elf64 weirdly had other ppl saying this 18:04:27 frieren-elf64 maybe db related weirdness, would appreciate someone look into it 18:04:30 frieren-elf64 bbiab 20:55:16 shayan am still try to figure out how to make stable app with outbound reduce 3<>1 that's the fourth build for today)) 20:55:16 shayan this time feels it going to work tho.. 20:55:16 shayan last time it was behave when screen on/off but dropped all the peers when app bg.. and sometimes reclaim when fg, sometimes not.. hope this last attempt will solve that issue as well.. 20:55:16 upgrayedd frieren-elf64: most likely sled then, since its hella unoptimized when not on --release 20:55:16 anon fS5wCLrgnBMKempf5D5BK3GFGaMyP6AtBHrKJdXqN8Kx63HJJaXwBZB8 20:55:16 anon can only past half my wallet 20:55:16 anon or is the rest only seen on pc? (using android) 20:55:16 anon android app doesnt show CA fully 20:55:16 grug frieren-elf64: We'll have a drop-in db replacement very soon 20:55:16 urs epiphany: ty, okay will check again 20:55:16 urs no, i already had the commit, so the errors seem independent of that 20:55:16 urs should i just fix the missing ones also in /wallet? epiphany 20:55:16 urs it's just one or two changes and the commits you mentioned show how to do it 20:55:16 shayan does the upcoming drop in db affect the branch am currently working on? Shud I rebase/update against git.darkfi.fi master once that lands, or thats its irrelevant ? 20:55:16 epiphany urs: see your commit fcaaf76453d3f5bcd92dd82261917e98cbdf2a09 20:55:16 urs hmm 20:55:16 urs ic. ty 20:55:16 epiphany np 20:55:31 frieren-elf64 upgrayedd ohhhh ty i didnt know 20:55:43 frieren-elf64 anon whats CA? 20:56:09 frieren-elf64 shayan no dont worry 21:02:03 shayan ok 22:06:12 grug gn 22:11:41 frieren-elf64 gn 22:16:49 shayan cya 22:34:25 anon /frieren-elf64 07:02:31 anon fS5wCLrgnBMKempf5D5BK3GF 07:02:31 anon GaMyP6AtBHrKJdXqN8Kx63 07:02:31 anon HJJaXwBZB8 07:02:31 anon /frieren-elf64 07:02:32 shayan gn 07:03:05 shayan gm 07:04:46 frieren-elf64 gm 07:42:26 anomie gm 07:54:13 urs gm 09:00:05 ryu gm 10:01:38 urs frieren-elf64: the work is now in menu/menu-buttons branch and i think things look good. one last thing i forgot, but it's quick, is to remove the search bar 10:35:00 anon test 10:35:00 chadbot test back 10:35:10 bdass test 10:35:10 chadbot test back 11:14:47 frieren-elf64 ty 11:14:52 frieren-elf64 urs great 11:17:55 frieren-elf64 urs do u mean this branch? media/menu-buttons 11:18:06 frieren-elf64 btw maybe delete some old branches 11:18:12 frieren-elf64 altho nbd 11:19:43 frieren-elf64 ty this looks much better 11:27:55 urs yes, media/menu-buttons 11:35:57 frieren-elf64 urs pushed ;))) 11:36:20 frieren-elf64 i fixed the menu too 11:36:39 frieren-elf64 grug fixed long press and bunch of stuff if u wanna test 11:40:56 urs thx 12:17:19 frieren-elf64 upgrayedd: i get this error for drk 12:17:20 frieren-elf64 [scan_blocks] Generating scan cache failed: Database error: [get_money_secrets] Secret keys retrieval failed: WalletDbError::QueryPreparationFailed 12:17:36 frieren-elf64 i havent used it in a while so did stuff change? guess i have to reset the db 12:18:45 upgrayedd you still on rusqlite v? 12:19:39 frieren-elf64 lemme update. been a while 12:42:05 frieren-elf64 upgrayedd: send coins fXVHj32CiRAiA6751PoJJDrvT2YhCtdwijGn1B3wT257MZ4MEM2Hew3o 12:44:34 upgrayedd pablo now 13:07:44 anon ty 13:16:34 frieren-elf64 yay 13:30:28 frieren with backsync chat syncs near instantly 13:31:01 frieren !list 13:31:01 meetbot Topics: 13:31:01 meetbot 1. openspec (by grug) 13:31:07 frieren !topic wallet sync indicator 13:31:07 meetbot Added topic: wallet sync indicator (by frieren) 13:31:28 frieren !topic app next steps 13:31:28 meetbot Added topic: app next steps (by frieren) 13:39:05 frieren epiphany, when we create the wallet from scratch, we shouldnt scan from the start 13:45:27 epiphany frieren: yep, adding a wallet restore height to drk was proposed some time ago for this 13:45:38 frieren ah its a drk feature ok 13:45:39 epiphany needs to be impl 13:45:57 frieren rn im trying to sync a new wallet and its taking forever 13:47:16 frieren eventually this can be fixed 13:47:48 frieren https://zakura.com/engineering/key-agreement/ 13:47:49 chadbot Title: Faster Ironwood Key Agreement — Zakura 14:14:08 frieren still syncing... 14:15:34 frieren !list 14:15:34 meetbot Topics: 14:15:34 meetbot 1. openspec (by grug) 14:15:35 meetbot 2. wallet sync indicator (by frieren) 14:15:35 meetbot 3. app next steps (by frieren) 14:15:38 frieren !deltopic 2 14:15:38 meetbot Removed topic 2 14:15:40 frieren !list 14:15:40 meetbot Topics: 14:15:40 meetbot 1. openspec (by grug) 14:15:40 meetbot 2. app next steps (by frieren) 14:19:02 epiphany maybe in the meantime we can just add a little text progress next to the sync indicator so you know stuff is happening 14:19:44 epiphany i think the drk plugin already gets the data needed for this like how many blocks are remaining 14:20:18 epiphany but yea we need drk to be able to start sync from wherever 14:25:36 frieren yeah that indicator would be great, can u make it like 2% 5% etc? 14:25:45 frieren just put it left of the icon 14:26:09 epiphany yeah i guess 14:26:30 epiphany can also make it like 123/1234 blocks 14:26:48 frieren however u prefer tbh 14:27:22 epiphany ok will do 14:30:31 frieren tysm 14:56:54 frieren 30 mns and still not synced, damn 14:57:10 frieren this is gonna be a real issue 15:10:15 frieren-elf64 RPC is a bottleneck 15:11:13 frieren-elf64 sequential TLS roundtrips 15:24:28 frieren-elf64 epiphany, is this change ok? https://agorism.dev/uploads/drk.diff 15:26:59 shayan branch: android-reduce-outbound-on-screen-off 15:27:01 shayan commit: b229f7f7b - bin/app: reduce outbound connections while screen is off 15:27:03 shayan https://codeberg.org/shayan13g/darkfi-reports/src/branch/main/android-outbound-connection-reduction.md 15:27:04 chadbot Title: Cookie monster! 15:27:05 shayan *** 15:27:07 shayan I know core lib is normally out of bounds, but couldnt figure out how to get the required peer-drop behaviour without touching it.. tried multiple builds and approaches, but none worked properly. 15:27:09 shayan I kept the change minimal, only added the cleanup in `OutboundSession::Slot::stop()` to drop connected peers. 15:27:11 shayan *** 15:27:13 shayan p.s. i stressed more right now than i did when i was crossing the minefield to get this sent out.. 15:31:18 epiphany frieren-elf64: looks ok 15:31:54 frieren-elf64 shayan: check comment for P2p::reload() method. nothing needs changing in p2p 15:32:45 frieren-elf64 upgrayedd: do we need to flush every block in drk? https://agorism.dev/uploads/rpc.diff 15:32:49 frieren-elf64 can this work 15:44:19 frieren-elf64 urs: https://dark.fi/book/dev/dev.html#cargo-fmt-pre-commit-hook 15:44:20 chadbot Title: Development - The DarkFi Book 15:44:26 frieren-elf64 i just run make fmt and fucked up my repo 15:48:46 frieren-elf64 !list 15:48:46 meetbot Topics: 15:48:46 meetbot 1. openspec (by grug) 15:48:46 meetbot 2. app next steps (by frieren) 15:48:51 frieren-elf64 !topic github mirroring 15:48:51 meetbot Added topic: github mirroring (by frieren-elf64) 15:58:20 urs frieren-elf64: i am sorry, i thought i've done it 15:58:23 urs won't happen again 16:06:04 frieren-elf64 just add the hook 16:10:03 urs will do 16:10:28 frieren-elf64 epiphany signals can send data, u dont need to send a signal then also call get_balance, that is extra work 16:14:29 frieren-elf64 i will amend this 16:15:44 shayan fireren-elf64: bro, honestly don't get what you mean) i didnt touch p2p, just used P2p::reload() exactly like the comment says. only added that small `OutboundSession::Slot::stop()` so the connected peer actually gets dropped. do you mean that one? can you give bit more context - last time it took like 5 explanations, hopefully it will take less attemts this round lol) 16:16:23 epiphany frieren-elf64: ok ty 16:18:55 frieren-elf64 ahh ok shayan will look in a bit, currently deep in 3 ongoing major changes 16:19:45 shayan ok tysm 16:21:30 shayan https://codeberg.org/shayan13g/darkfi-reports/src/branch/main/android-outbound-connection-reduction.md - this is the report not the code 16:21:31 chadbot Title: Cookie monster! 16:21:47 line Hey I have a question. I see everyone on android mentionning the space it take and the battery drain. I understand the need of running our own nodes. its not expected in darkfi that you connect to someone else or public darkirc, darkfid or drk. It would leak privacy and wallets informations/keys right 16:22:40 line But is this in the plan to let the app allow to connect to each binary considering some technical users might want to run each binary on a server and connect a GUI over them instead of bundling all of them on the device app running? 16:29:22 frieren-elf64 line, wdym? dont use ui or use ui if u want, setup ur own darkfid local or connect to a remote either tcp or nym/tor .etc 16:29:50 frieren-elf64 no keys are leaked 16:30:04 frieren-elf64 !list 16:30:05 meetbot Topics: 16:30:05 meetbot 1. openspec (by grug) 16:30:05 meetbot 2. app next steps (by frieren) 16:30:05 meetbot 3. github mirroring (by frieren-elf64) 16:34:46 line frieren-elf64 my point is if using app UI , you cannot set it to connect to a remote darkfid/darkirc that run on a 24/7 server with more bandwich or space or battery lets say 16:35:04 frieren-elf64 in the future it will exist np 16:35:12 line that is what I tough thank you 16:39:07 frieren np 16:43:47 frieren epiphany also in this update loop its looking up nodes repeatedly nonstop 16:45:07 frieren oh wait nvm if its called periodically its fine (or only on an update) 16:45:59 frieren ok this should only emit when balances actually change 16:46:17 frieren i think rn it just blindly is called during scanning 16:49:25 epiphany yea it's doing it blindly 16:49:58 epiphany will need to add a pubsub or something to drk 16:50:22 frieren ok checking now 19:29:10 frieren-elf64 sry upgrayedd lmk wen abt got sth to ask 19:41:43 frieren-elf64 epiphany: check last commit src/main.rs changed, i improved the look of ur code, we can unwrap all that stuff to flatten it and avoid excessive if let nesting 19:46:39 frieren-elf64 or grug here? 19:47:16 epiphany noice 19:50:01 epiphany frieren-elf64: building the app is still building fud 19:50:16 epiphany prob because enable-plugins is a default feature 19:50:45 frieren-elf64 which target? 19:50:51 frieren-elf64 it should have changed 19:51:05 frieren-elf64 see Makefile _FEATURES 19:51:26 shayan my app is 10gb lol)) 19:51:35 frieren-elf64 how? what is 10gb? 19:51:38 frieren-elf64 android? 19:53:36 epiphany make is running cargo build --release --features=schema-app,enable-filelog,enable-plugin-darkirc,enable-plugin-drk 19:53:41 epiphany i think its missing --no-default-features 19:53:50 epiphany target linux x64 19:54:19 shayan frieren-elf64: yeah on android its always floating up and down 19:54:58 shayan max seen 17 - 19gb, notice it when phone says no space lefft.. after it dropping to 2gb and going back and forth 19:55:32 shayan can be that because I add `enable-netdebug` in release.. dunno now how its related tho 19:55:44 frieren-elf64 nah 19:57:20 frieren-elf64 woah ic 6 gb user data 19:58:08 shayan watch it its constantly changing every sec 20:00:16 grug frieren-elf64: I'm here 20:01:14 frieren-elf64 hey grug so basically the roundtrip getblock during wallet scanning is so so slow, we need to do batches getblocks. i have made a branch called getblocks. if its good can we merge? 20:01:28 frieren-elf64 or maybe just remove getblock and replace with getblocks? 20:02:09 frieren-elf64 ohhh i just found sth: 20:02:11 frieren-elf64 > The core issue: sled never returns disk space — there are zero Db::compress() calls in the codebase, and chat history + eventgraph are append-heavy, so the DBs only grow. 20:04:11 frieren-elf64 huh this is fake news 20:05:20 shayan mmm 20:05:34 frieren-elf64 this fucking 6+ gb is insane, idk where it comes from. i checked the dbs and they look reasonable? 20:07:29 frieren-elf64 ok its the drk cache 20:07:33 frieren-elf64 its insane 20:07:36 shayan https://imgsharehub.com/ge2rsccb 20:07:36 chadbot Title: Image ge2rsccb | ImgShareHub 20:08:08 grug The disk space is being reduced once fjall is in 20:08:33 grug I agree with replacing with getblocks 20:08:46 grug But we might need to increase the RPC reqrep size limit 20:09:22 frieren-elf64 6gb is excessive tho 20:09:32 frieren-elf64 it is storing the state inverse diff 20:09:52 frieren-elf64 > per-block full inverse state diffs — used to roll back wallet state on reorgs (this is the bulk) 20:10:40 grug Yeah, upgrayedd can explain this better 20:10:56 frieren-elf64 we should just drop the inverse diffs beyond 100 blocks or so 20:10:58 grug Basically if the wallet sees a reorg it needs a way to revert 20:11:14 grug We can't just rescan from a specific height because we're maintaining Merkle trees 20:11:33 grug So at the very least we need the tree diffs 20:11:44 grug (Again upgrayedd knows all the tiny details) 20:12:10 frieren-elf64 man this would be much easier with opensec ^^ 20:12:13 frieren-elf64 openspec 20:12:19 grug :) 20:12:25 frieren-elf64 i also need sync from height too 20:12:58 grug There's 2 things, sync and scan 20:13:09 grug sync always needs to be full in order to build the merkle tree(s) 20:13:24 grug scan is probablly what you're talking about, wrt. finding coins to use 20:13:25 frieren-elf64 oh ic 20:13:30 frieren-elf64 yep the scan 20:14:56 frieren-elf64 backsync works well. chat near instantly syncs 20:15:21 grug Sweet 20:15:40 frieren-elf64 also the string building in scan i think should be guarded with a macro to make it optional 20:15:59 frieren-elf64 basically like if logger.is_some() { build the string } 20:16:11 grug Add this as a mtg topic, we can discuss everything u need 20:16:15 frieren-elf64 ok 20:16:19 frieren-elf64 !list 20:16:19 meetbot Topics: 20:16:19 meetbot 1. openspec (by grug) 20:16:19 meetbot 2. app next steps (by frieren) 20:16:19 meetbot 3. github mirroring (by frieren-elf64) 20:16:58 frieren-elf64 !topic getblocks scan 20:16:59 meetbot Added topic: getblocks scan (by frieren-elf64) 20:17:06 frieren-elf64 !topic scan from height 20:17:06 meetbot Added topic: scan from height (by frieren-elf64) 20:17:19 frieren-elf64 !topic guard string building in scan 20:17:19 meetbot Added topic: guard string building in scan (by frieren-elf64) 20:17:29 frieren-elf64 !topic drop old state inverse diffs from drk 20:17:29 meetbot Added topic: drop old state inverse diffs from drk (by frieren-elf64) 20:19:08 lotus !list 20:19:08 meetbot Topics: 20:19:09 meetbot 1. openspec (by grug) 20:19:09 meetbot 2. app next steps (by frieren) 20:19:09 meetbot 3. github mirroring (by frieren-elf64) 20:19:09 meetbot 4. getblocks scan (by frieren-elf64) 20:19:09 meetbot 5. scan from height (by frieren-elf64) 20:19:09 meetbot 6. guard string building in scan (by frieren-elf64) 20:19:09 meetbot 7. drop old state inverse diffs from drk (by frieren-elf64) 20:20:49 frieren-elf64 !deltopic 3 20:20:49 meetbot Removed topic 3 20:20:52 frieren-elf64 !list 20:20:52 meetbot Topics: 20:20:52 meetbot 1. openspec (by grug) 20:20:52 meetbot 2. app next steps (by frieren) 20:20:52 meetbot 3. getblocks scan (by frieren-elf64) 20:20:52 meetbot 4. scan from height (by frieren-elf64) 20:20:52 meetbot 5. guard string building in scan (by frieren-elf64) 20:20:52 meetbot 6. drop old state inverse diffs from drk (by frieren-elf64) 20:40:01 frieren-elf64 grug, the dag_prune_task() doesnt work well on the phone, we need to use the actual clock instead 20:43:12 grug You mean the system clock? 20:43:16 frieren-elf64 https://agorism.dev/uploads/DAGBUG.md 20:44:45 frieren-elf64 whats weird is it remains connected 20:45:39 grug dasman had an idea for this iirc 20:46:19 frieren-elf64 hmmm im looking too cos it should not be suspended 20:46:55 dasman grug: you had an idea too lol, should I Impl mine? 20:47:45 grug I mean I was just talking about detecting time jumps, but I'm not sure if it's applicable here 20:47:56 grug I think you had thought of something better 20:48:03 dasman frieren-elf64: that happens cuz we check seconds to next rotation once, we should do a loop 20:48:15 dasman yes that's ^^ my idea 20:48:34 dasman that will effectively detect jumps as well 20:48:39 grug Right 20:49:00 frieren-elf64 ohhh my foreground service prevents the darkirc from being KILLED but it doesnt stop it being suspended 20:49:57 frieren-elf64 ok its expected cos i just dont want app stopping when randomly closed or in the bg for like 1-2 mns, but yeah it can be suspended after like 15 mns phone is off 20:50:26 frieren-elf64 i can acquire a wakelock to force phone to keep it awake but thats kinda messed up 20:50:32 frieren-elf64 and flaky 20:51:03 dasman yeah that's a no no, I'll impl my idea and see 20:51:26 grug No don't do that lol 20:51:34 grug Then the phone will never idle 20:51:49 grug Which means 2 hrs of battery life before requiring charge lmao 20:51:58 dasman XD 20:52:29 frieren-elf64 yeah we already are rinsing the battery 20:52:38 shayan app all the time using cpu doesn matter fg or bg 20:52:39 grug It's probably more important that it quickly reconnects after waking up from suspend 20:54:56 frieren-elf64 https://agorism.dev/uploads/CRITIQUE.md 20:55:41 frieren-elf64 i think its saying nodes still get penalized for being too far ahead 20:55:49 frieren-elf64 so they get banned()/blacklisted in p2p 20:56:36 frieren-elf64 lol that fucking table is it being real 20:56:52 frieren-elf64 | loop fix | ≤1s + sled write | 0–2 | ~0 | 20:57:17 frieren-elf64 strikes: ~0, errors: 0 - 2, latency: <= 1s 20:59:08 frieren-elf64 idk wdyt? https://agorism.dev/uploads/RESOLV.md 20:59:43 frieren-elf64 the reasoning here seems to make sense 20:59:48 frieren-elf64 but idk evgr2 code 21:01:34 grug I mean yeah but you should have that dag created 21:02:02 grug The DAG missing is the main problem 22:27:53 grug gn 22:39:32 shayan battery issue getting wild.. %50 22:39:46 shayan in three hours or something.. 22:47:31 shayan something wierd with dag_sync.. with only 1 peer it hits continue with no sleep so notify_connect fires nonstop.. an seeing connect events every few ms on android.. 22:47:51 shayan is that same issue you talk previously? 22:59:49 shayan looks like our outbound reduction to 1 clashes with the existing SYNC_MIN_PEERS = 2 logic - once OB drops to 1, dag_sync can never reach the min and starts hammering the loop/reconnect logic endlessly 23:00:45 shayan can be that the reason of high cpu and battery consumption.. 23:00:48 shayan ? 23:02:01 frieren-elf64 gn 23:02:09 shayan cya 23:02:32 frieren-elf64 no idea, is it the ui, the p2p .etc? try compiling with p2p disabled for example 23:02:49 frieren-elf64 like what is battery with just ui vs ui+p2p 08:08:46 frieren-elf64 !list 08:09:14 shayan i can add a wait to my patch si it doesnt go full maniac when there is onlu 1 peer.. but prooly that just temproary fix.. 08:09:14 shayan will lool into that.. just waited till you check my code to move on on the battery investigation issue 08:09:14 shayan *task 08:09:14 shayan ok my eyes not see anymore will take a break for today.. will look into it tomorrow.. 08:09:14 shayan gn * 08:09:14 shayan worth to note this wanst an issue before i drop OB to 1 it was max %21 over night (7h) 08:09:15 anon hi there pps 08:09:15 anon hi🤫 08:09:15 anon p 08:09:15 anon hi 08:09:15 dasman i can't seem to reproduce the suspend issue, since network disconnects first then suspend (so it becomes a reconnection issue _which is handled pretty well_ rather than messed up msleep()) 08:09:15 dasman so the code would be test in production :D 08:09:15 shayan gm 08:09:20 frieren-elf64 gmgm 08:09:21 frieren-elf64 !list 08:09:22 meetbot Topics: 08:09:22 meetbot 1. openspec (by grug) 08:09:22 meetbot 2. app next steps (by frieren) 08:09:22 meetbot 3. getblocks scan (by frieren-elf64) 08:09:22 meetbot 4. scan from height (by frieren-elf64) 08:09:22 meetbot 5. guard string building in scan (by frieren-elf64) 08:09:23 meetbot 6. drop old state inverse diffs from drk (by frieren-elf64) 08:09:57 frieren-elf64 !topic out of band mailbox for darkfid 08:09:57 meetbot Added topic: out of band mailbox for darkfid (by frieren-elf64) 09:08:26 frieren-elf64 !deltopic 7 09:08:26 meetbot Removed topic 7 09:13:31 frieren-elf64 this doesnt rly get anything tbh, i dont think tachyon has solved this issue 09:22:32 shayan *** 09:22:34 shayan const SYNC_MIN_PEERS: usize = 2; 09:22:36 shayan *** 09:22:38 shayan if peers_count < SYNC_MIN_PEERS { 09:22:40 shayan i!("Connected to {peers_count} peers. Waiting for more connections."); 09:22:42 shayan continue 09:22:44 shayan } 09:22:46 shayan *** 09:22:48 shayan may I add this to that one: 09:22:50 shayan let _ = channel_sub.receive().await; 09:22:52 shayan *** 09:22:54 shayan so when peer count is 1 it stops spinning like crazy? 09:28:26 shayan or is there is something that i dont understand and that would create a regression.. 09:30:08 frieren-elf64 ohh what line is that? 09:38:44 shayan that line makes the `< SYNC_MIN_PEERS` path wait for the next P2P channel even instead of immediately looping again. With OB=1 / peers=1 that you requested to reduce to, dag_sync() keep spinning and fire notify_connect() nonstop, basically every ms. that could explain the battry going from ~21% to ~%50, plus the constant CPU usage. 09:38:46 shayan *** 09:38:48 shayan not saying this is the cure just wanna try it.. I am only asking because this polling logic was introduced recently upstream and seems to conflict with the app's idle OB=1 policy we introduced.. 09:39:33 shayan *** 09:42:10 shayan /bin/app/src/plugin/darkirc.rs 09:46:15 urs gm 09:47:49 shayan app is 14gb today lol 09:50:06 frieren-elf64 yeah we know why now 09:50:29 frieren-elf64 shayan what line number 09:51:01 shayan 377-382 09:51:33 shayan 50m runtime and already = 8.5% battery consumption lol) 09:54:38 shayan *** 09:54:40 shayan the idea is: 09:54:42 shayan Before: with 1 peer, connect events flooded every few ms. 09:54:44 shayan *** 09:54:46 shayan After: with 1 peer, it should settle and wait; no continuous notify_connect() storm. Then when a secondpeer connects, the sync loop should wake and continue. 09:54:48 shayan *** 09:54:50 shayan theoretically.. 09:55:15 frieren-elf64 why did u delete notify_start() and notify_stop()? 09:57:42 frieren-elf64 for the src/net/session/outbound_session.rs change either need to ask dasman or grug abt that, share the diff w them 09:58:46 frieren-elf64 it looks good otherwise, i would remove GraphicsEventScreen and just use a bool. also the field name "screen" is not good, if u notice the others all describe actions like "key_down" "resize" whereas screen is a noun. 09:58:59 frieren-elf64 "screen_changed" for example 10:02:15 shayan i didnt remove the methods, only calls from GOD.. I assumed that notify_start/stop just trigger the same /window signal that Window::start/stop now emit themselvs, so keeping both would fire them twice.. I left methods in place as you requested earlier.. 10:02:17 shayan if you want them back I can put them back.. 10:02:19 shayan *** 10:02:21 shayan note it will change that right away, and ask to the grug or dasman about other issue when they come.. 10:02:23 shayan otherwise everything is ok? 10:07:53 frieren-elf64 yep gj yeah just wondering abt moving the signals to Window::stop() vs keeping them in App 10:08:21 frieren-elf64 i need to know where stop() is actually called since ur smol::block_on() is blocking there 10:14:05 shayan *** 10:14:07 shayan found the call path: gfx::quit_requested_event() → God::stop_app() → App::stop() → Window::stop(), and Window::stop() currently does the smol::block_on(trigger("stop")). 10:14:09 shayan ***