| 23 Oct 2025 |
raitobezarius | not install software usability | 19:24:25 |
raitobezarius | honestly, i'd be more than happy to have someone help on Gerrit! | 19:24:34 |
raitobezarius | Gerrit already benefited from UX designs / stories in the past fwiw | 19:24:47 |
raitobezarius | https://www.gerritcodereview.com/about.html | 19:26:27 |
Rutile (Commentator2.0) feel free to ping | In reply to @raitobezarius:matrix.org Gerrit already benefited from UX designs / stories in the past fwiw And someone should really take a look at the mobile layouts | 19:27:14 |
raitobezarius | I sent an email to the mailing list | 19:29:48 |
raitobezarius | actuallyyyyyyyyyyyy | 19:29:52 |
raitobezarius | i would say this is a feature! | 19:29:54 |
raitobezarius | I'm anti Gerrit on the phone otherwise you cannot "disconnect" | 19:30:09 |
raitobezarius | (at least, this is a trap I see a lot of people getting into once they have $WORK_PROJECT_TOOL on their phone) | 19:30:31 |
raitobezarius | (and I have GitHub on my phone and I do merge things from my phone, yes.) | 19:30:39 |
piegames | How about making the mobile UI read-only? | 19:54:28 |
raitobezarius | would be interesting | 19:57:47 |
KFears (burnt out) | In reply to @piegames:flausch.social How about making the mobile UI read-only? I think it could still create an incentive to spend time looking over CLs even read-only | 20:14:55 |
| 24 Oct 2025 |
| cjab joined the room. | 02:01:11 |
| 25 Oct 2025 |
| Rcat π³οΈβππ³οΈββ§οΈ changed their profile picture. | 06:15:01 |
emily | Gerrit login appears to be broken | 14:38:16 |
emily | hm, it fixed itself | 14:44:59 |
raitobezarius | what error did you get? | 16:04:32 |
raitobezarius | (alerting shows me nothing for today for Gerrit) | 16:04:45 |
emily | it was some text/plain page when bouncing out of Keycloak | 17:49:08 |
emily | I forget the exact wording but it was literally just "Server Error" or something with nothing else | 17:49:18 |
raitobezarius | yeah, indeed | 21:18:16 |
raitobezarius | i can confirm it | 21:18:24 |
| 28 Oct 2025 |
lillecarl | diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
SQLiteStmt QueryDerivationOutputs;
SQLiteStmt QueryPathFromHashPart;
SQLiteStmt QueryValidPaths;
+ SQLiteStmt UpdateRegTime;
};
int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->RegisterValidPath = state.db.create(
"insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
state.stmts->UpdatePathInfo = state.db.create(
- "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+ "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
state.stmts->AddReference = state.db.create(
"insert or replace into Refs (referrer, reference) values (?, ?);");
state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->QueryPathFromHashPart = state.db.create(
"select path from ValidPaths where path >= ? limit 1;");
state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+ state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
}
@@ -715,6 +717,7 @@ try {
std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
/* Get the path info. */
auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
}
How on earth does this not update registrationTime on a package when I build it? π€
| 01:56:19 |
lillecarl | * diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
SQLiteStmt QueryDerivationOutputs;
SQLiteStmt QueryPathFromHashPart;
SQLiteStmt QueryValidPaths;
+ SQLiteStmt UpdateRegTime;
};
int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->RegisterValidPath = state.db.create(
"insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
state.stmts->UpdatePathInfo = state.db.create(
- "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+ "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
state.stmts->AddReference = state.db.create(
"insert or replace into Refs (referrer, reference) values (?, ?);");
state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->QueryPathFromHashPart = state.db.create(
"select path from ValidPaths where path >= ? limit 1;");
state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+ state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
}
@@ -715,6 +717,7 @@ try {
std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
/* Get the path info. */
auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
}
~~How on earth does this not update registrationTime on a package when I build it?~~ AAaaaaaaa I'm running the Nixpkgs daemon. It's getting too late π€
| 01:57:59 |
lillecarl | * diff --git a/lix/libstore/local-store.cc b/lix/libstore/local-store.cc
index d7cfe6874..865d4e030 100644
--- a/lix/libstore/local-store.cc
+++ b/lix/libstore/local-store.cc
@@ -73,6 +73,7 @@ struct LocalStore::DBState::Stmts {
SQLiteStmt QueryDerivationOutputs;
SQLiteStmt QueryPathFromHashPart;
SQLiteStmt QueryValidPaths;
+ SQLiteStmt UpdateRegTime;
};
int getSchema(Path schemaPath)
@@ -296,7 +297,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->RegisterValidPath = state.db.create(
"insert into ValidPaths (path, hash, registrationTime, deriver, narSize, ultimate, sigs, ca) values (?, ?, ?, ?, ?, ?, ?, ?);");
state.stmts->UpdatePathInfo = state.db.create(
- "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ? where path = ?;");
+ "update ValidPaths set narSize = ?, hash = ?, ultimate = ?, sigs = ?, ca = ?, registrationTime = unixepoch() where path = ?;");
state.stmts->AddReference = state.db.create(
"insert or replace into Refs (referrer, reference) values (?, ?);");
state.stmts->QueryPathInfo = state.db.create(
@@ -318,6 +319,7 @@ void LocalStore::prepareStatements(DBState & state)
state.stmts->QueryPathFromHashPart = state.db.create(
"select path from ValidPaths where path >= ? limit 1;");
state.stmts->QueryValidPaths = state.db.create("select path from ValidPaths");
+ state.stmts->UpdateRegTime= state.db.create("update ValidPaths set registrationTime = unixepoch() where path = ?;");
}
@@ -715,6 +717,7 @@ try {
std::shared_ptr<const ValidPathInfo> LocalStore::queryPathInfoInternal(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
/* Get the path info. */
auto useQueryPathInfo(state.stmts->QueryPathInfo.use()(printStorePath(path)));
@@ -779,6 +782,7 @@ void LocalStore::updatePathInfo(DBState & state, const ValidPathInfo & info)
uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
auto use(state.stmts->QueryPathInfo.use()(printStorePath(path)));
if (!use.next()) // TODO: I guess if SQLITE got corrupted..?
throw InvalidPath("path '%s' does not exist in the Lix database", printStorePath(path));
@@ -788,6 +792,7 @@ uint64_t LocalStore::queryValidPathId(DBState & state, const StorePath & path)
bool LocalStore::isValidPath_(DBState & state, const StorePath & path)
{
+ state.stmts->UpdateRegTime.use()(printStorePath(path)).exec();
return state.stmts->QueryPathInfo.use()(printStorePath(path)).next();
}
How on earth does this not update registrationTime on a package when I build it? Edit: AAaaaaaaa I'm running the Nixpkgs daemon. It's getting too late π€
| 01:58:34 |
lillecarl | [lillecarl@shitbox] in [βΈ kubernetes-admin@shitbox (nix-csi)]~/C/lix [π main][!][π¦ v1.86.0][βοΈ impure (lix-shell-env-env)][π loaded/allowed][πfish][asπ§]
[03:00:38]β― sudo -E ./build/lix/nix/nix path-info --store local /nix/store/0fc5496qwndd1m5lhxk58alv28ga0dn4-manifest.json --json | jq '.[0].registrationTime'
warning: $HOME ('/home/lillecarl') is not owned by you, falling back to the one defined in the 'passwd' file ('/root')
1761616839
[lillecarl@shitbox] in [βΈ kubernetes-admin@shitbox (nix-csi)]~/C/lix [π main][!][π¦ v1.86.0][βοΈ impure (lix-shell-env-env)][π loaded/allowed][πfish][asπ§]
[03:00:39]β― sudo -E ./build/lix/nix/nix path-info --store local /nix/store/0fc5496qwndd1m5lhxk58alv28ga0dn4-manifest.json --json | jq '.[0].registrationTime'
warning: $HOME ('/home/lillecarl') is not owned by you, falling back to the one defined in the 'passwd' file ('/root')
1761616840
That's more like it, thanks!
| 02:01:13 |
| Taeer Bar-Yam joined the room. | 22:47:00 |
| 29 Oct 2025 |
lillecarl | #maybe I was painting with a bit of a broad brush, when I implemented that update "so low" any command and his uncle will update regtime, can't query the store at all without touching π I'm happy to see it working though | 10:53:16 |