From cf9b0996beff79ea1a9a79f675d7630bdbb6778a Mon Sep 17 00:00:00 2001 From: Damien De Paoli Date: Sat, 20 Sep 2025 14:48:29 +1000 Subject: [PATCH] works with new ldap now, and put forward details of next big change into TODO --- TODO | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/TODO b/TODO index 7b0b738..22033be 100644 --- a/TODO +++ b/TODO @@ -1,6 +1,27 @@ -### GENERAL - * ldap auth requires anonymouse bind - for now, I have switched this and it won't work with new ldap - can I make python/ldap not use anonymous OR, update ldap to support it +### major fix - go to everywhere I call GetEntries(), and redo the logic totally... + * firstly, run the query as per normal, but get just the matched eids into an entry_lst + * make a unique query_id for this entry_lst, and store entry_ids into "query" table, with a unique query_id + * take most of pa_user_state that relates to query state and move it to the "query" table per query_id + * pa_user_state then becomes defaults for next query (so how_many, noo, etc) + * we can age out queries form the query_table after a few months? + * client side always has query_id. IF DB does not have query_id, then its really old? - just say so... + + * client side takes query_id, entry_lst, current_eid, offset, first/last_eid, etc. as part of its first route / html creation. + * it then decides based on all this to GetEntryDetails( subset of entry_lst ) <- needs new route + * IN THEORY some of the subset of entry_lst don't exist -- BUT, we can handle that on response, e.g. say my query used to have 1,2,3, and since then another user/action deleted 2: + - I ask for details on 1,2,3 and get back details on 1,3 only. + - On client-side, I can say, since you ran this query, data in PA has changed - image#2 is no longer in PA. + Please run a new query (or bonus points, maybe have enough of the original query to note this and ask, do you want to ignore changes, or re-run query and get latest data?) + * client can go fwd or back in the entry_lst same as now (disabling buttons as needed), BUT as entry_lst is NOT recreated per page move, then no chance to get confused about first/last + * client side: + * for real chance to stop confusion, instead of removing deleted images from DOM, we should gray them out and put a big Del (red circle with line?) though it as overlay. + * Create another table is entry_ammendments - note the deletions, rotations, flips of specific eids - then reproduce that on the client side visually as needed + - at least grayed-out, to indicate a pending action is not complete. + - When job that flips, rotates, deletes completes then lets update the query details (e.g. remove eids, or remove the ammendments) + - this actually is quite an improvement, if someone is deleting 2 as per above, I will see that as a pending change in my unrelated query, ditto flips, etc. + +### GENERAL * jobs for AI should show path name * rm dups job should show progress bar * in viewer, there is no move button (maybe add one?)