Commit Graph

343 Commits

Author SHA1 Message Date
Cheng
236e59badf
added error logging capability for sqlite3,
which is an irrelevant digression, since it already
reports errors on calls

Maybe I will get reports if I fail to finalize a compiled
sql statement before shutting down a database connection,
but the most likely circumstance for this to happen is
on program close, when I am unlikely to be able to see
the log.
2023-11-13 15:54:53 +10:00
Cheng
3e480213cc
Massive bug, in that a long time ago I made changes to sqlite.h
but not to the corresponding copy of sqlite.h
Fixed case that there are no yet any names in
the database - it now automatically nags you.
2023-11-13 10:41:39 +10:00
Cheng
224ab60395
layout bug due to failure to call layout.
Sqlite3 crash due to premature call to shutdown.

calls to layout very rarely have any obvious effect,
but sometimes under odd and idiosyncratic circumstances
they do.

Called shutdown after the destroy was executed, but destroy does
not immediately destroy the windows, thus does not immediately
finalize all compiled sql statements and close all database
connections. You have to wait for all the windows to be destroyed.
Again, a rare crash except under certain special circumstances.
2023-11-12 19:43:19 +10:00
Cheng
c65f2fbf6e
Cleaned up the add name on the dry prinicple
fixed bug in the position of the inserted
name that happened with names identical
except for capitalization.
2023-11-12 14:53:23 +10:00
Cheng
55d0d69c8f
removed redundant std_uniques, and fixed
add name so it does not flash so horribly

Massively violating dry - I need to extract the repeated
code into a struct that does the cleanup when it is
destroyed
2023-11-12 13:56:48 +10:00
Cheng
53cd580da1
Merge remote-tracking branch 'origin/docs' 2023-11-12 08:35:52 +10:00
Cheng
ffa392b922
removed a the redundantly explicit std::uniques
from display_wallet.h and display_wallet.cpp

They are now all wrapped in the long promised
and long forgotten wrapper class.

Long, long ago, I intended to implement the Pimpl idiom,
but these days std::unique takes care of all that work for
you.  You just wrap your low level pimple class in a high
level wrapper whose base class is an std_unique_ptr to
to an instance of your low level class.
2023-11-12 08:28:00 +10:00
Cheng
f819b98d9e
window refreshed on add username
but the overhead and screen flash
of destroying and recreating every
little window is annoying.

I should use something like:
SELECT COUNT(*) FROM UserZookoIDs
WHERE LOWER("name")<LOWER(?1) AND "name"<?1);
and insert a new item at that position
2023-11-11 12:10:37 +10:00
Cheng
35a3be9aa7
Made a start on amending the code to take advantage of
the sqlite view capability VIEW UserZookoIDs

Made add_name responsive, but add_name still
does not use the VIEW triggers.

Got distracted by sizing issues.  There is some issues
with resizing architecture - I know they put an ad hoc
workaround in on dialogs, need to read up on what they
did and why.
2023-11-10 22:00:16 +10:00
reaction.la
ed1f395eb9
begin move to markdown 2023-11-09 07:04:19 +10:00
reaction.la
0e4da6d133
typos 2023-11-09 07:03:22 +10:00
reaction.la
0eefc8fd48
Merge remote-tracking branch 'origin/master' into docs 2023-11-09 05:22:34 +10:00
reaction.la
f249adda03
Added discussion of recent history of the cold
start problem.
modified:   docs/manifesto/social_networking.md

Discussion of gpg has been obsoleted by
by git adding its own trust mechanism
to deal with the trust problems of gpg.
modified:   docs/rootDocs/README.md
modified:   docs/setup/contributor_code_of_conduct.md
2023-11-09 05:20:16 +10:00
Cheng
84c6984e40
Merge branch 'wxMenuTracker' 2023-11-08 17:24:34 +10:00
Cheng
22f4e2c1e4
Merge remote-tracking branch 'origin/docs' 2023-11-08 17:24:00 +10:00
Cheng
cfa234ef09
Amended the dynamic menu handling
for the case where we have many windows and
you want to change the menu on change of focus

Which is a classic example of writing code before
it is needed.
2023-11-08 17:23:12 +10:00
reaction.la
f683a3ab0e
Minor correction
manifesto/sox_accounting.md
2023-11-04 09:58:43 +10:00
reaction.la
0e195d8e68
sox_accounting.md -> manifesto/sox_accounting.md 2023-11-04 09:35:46 +10:00
reaction.la
611c7014f9
moved triple entry accounting to manifesto 2023-11-04 09:30:40 +10:00
reaction.la
9341691d26
minor corrections and cleanup 2023-11-04 09:28:05 +10:00
reaction.la
90ac55f30a
Obsoleted by Git now implementing its own trust model
so my elaborate workarounds of gpg's trust model are
rendered irrelevant and stupid.
2023-11-04 09:24:15 +10:00
reaction.la
a88fc58e71
Saner plan for representing bit strings.
Because I realized that the merkle
vertex encloses them and gives them order
and the merkle vertex is itself enclosed
and given order.
2023-11-04 09:19:26 +10:00
reaction.la
022d794d5f
Corrected origins of modern capitalism 2023-11-04 09:18:34 +10:00
Cheng
a29b8c7e52
fixed vcxproj to not use solutiondir,
but to default from its homedir
2023-10-29 15:42:43 +10:00
Cheng
3d805aa7c5
Fixed wallet to use the default wallet location
if available, rather than asking for a location
2023-10-29 15:37:33 +10:00
reaction.la
6d686ee527
conforming the mkdocs structure to dry 2023-10-27 10:12:00 +10:00
reaction.la
699bf5a2ac
Finally completed amending my html generation from markdown
to the new cool style imitating other successful open
software movements.

But all my navbars are the same navbar.  The point of the new
style is to make information readily available.

We will want multiple button bars in the navbar, and possibly a
related materials sidebar.  Or perhaps simply link pages.

We also need to change the introductory paragraph in every page
to the abstract style.
2023-10-26 17:12:35 +10:00
reaction.la
bde195fe98
Merge remote-tracking branch 'origin/master' into docs 2023-10-20 20:38:18 +10:00
reaction.la
3750500d1a
updating libs preparatory to merge 2023-10-20 20:37:42 +10:00
reaction.la
3c6ec5283d
finally figured out how to represent numbers and variable
length bitfields to that they will sort correctly in a Merkle Patricia
tree.

Have written no end of rubbish on this with needs to be deleted or
modified
2023-10-20 20:30:32 +10:00
Cheng
1d7ce60cf7
Fixed the default directory to be
standardpath /vendor name/appname
2023-10-20 12:51:51 +10:00
Cheng
d59729f396
Never really figured out why my code was breaking
fixed it by looking for funny things that deviated from
the sameples,  and doing various recommended safe things,
and found a few sql errors, and one by one the crashes
went away.

The new wxWidgets just seems less tolerant of little careless
stuff that is not right.
2023-10-18 20:23:56 +10:00
reaction.la
06b9fc4017
figured out, at least in outline, how to make
a distributed hash table byzantine fault tolerant

Slight clarification on scalability

Figured out how to make variable length integers that
will be represented in correct order in a patricia
merkle tree.
2023-10-13 21:14:31 +10:00
Cheng
bd08d22cef
empty commit to record known bugs
Halting work on main program to re-integrate libraries.

Crash on file dialog.  Does not happen in
wxWidgets sample code

Failure to record last used.  Does not happen in
wxWidgets sample code

Failure to throw hash re-use exception
(the library always returns zero on hashing data into an
unfinalized, or finalizing an already finalized hash)

Need to use std::variant, with the variants being
monotype for the default init of hash and blob of unsigned
char for the init with an hsh argument, with a member
function blob that does get_if<1> and casts it to byte,
(and throws if it returns null) and for hsh, the variants
being monotype, the libsodium data structure,
and another monotype after the hash is finalized.

For every cross type constructor, you need a corresponding
static cast in the source type, so that copy construction works.

I don't know why << fails with a left hand type.
2023-10-12 11:32:38 +10:00
Cheng
0f214cb028
broken file dialog, broken save default file
looks like wxWidgets bugs
going back to sample code
either sample code breaks, and I make a bug report
to wxWidgets, or I converge the sample code to my
code, and see when it breaks
2023-10-05 20:31:45 +10:00
Cheng
145a3a911f
Finally documented the api to my hash code.
Also fixed it so that
hash<...> a = hsh() << ...;
Actually works.  Needed a cast in the hsh class that calls
the constructor in the hash class.
2023-10-03 11:34:30 +10:00
reaction.la
776c18a4a6
Merge remote-tracking branch 'origin/master' into docs 2023-10-02 23:05:21 +10:00
reaction.la
678e2d7dce
updating wxWidgets 2023-10-02 23:00:39 +10:00
reaction.la
e645c3b381
Added the proposal for variable length quantities
that sort as bitstrings
2023-10-02 21:45:59 +10:00
Cheng
7ba674c29a
Cajoled visual studio into issuing intelligent error messages
when an unserializable type is in the parameter pack.
2023-10-02 11:49:04 +10:00
Cheng
dbe030ba21
Went all in on concepts because of nicer error messages
But did not apply the concept to the parameter pack,
event though I applied no end of cleverness to generate
a variant concept, because
visual studio gives meaningless error messages when applying
a variant concept to a parameter pack.

This will probably improve in later or different compilers,
but right now, this feature does not work
2023-10-01 06:11:15 +10:00
Cheng
bc3f2c9daf
Removed the old "is_serializable" in favor of C++20 concepts syntax.
Changed the name to "has_machine_independent_representation" for a more
intellible error explanation
2023-09-30 15:13:26 +10:00
Cheng
5f4fe3104b
Moved the compiled sql statments from the stack to unique
pointers that are members of the window
2023-09-29 21:16:13 +10:00
Cheng
883d8c5b51
Found the sanity test bug.
My hashing code incorrectly ignored the trailing null in std::strings.
(but not in c strings)
2023-09-29 18:44:49 +10:00
Cheng
bba593180e
displays names in alphabetic order
sanity test of pubkey mysteriously fails in display_wallet, yet identical test with same values succeeds in unit_test
need to create a view once sanity test passes.
then need to refresh display on edit/add name
need to make a second try at integrating release v3.2.2.1
2023-09-29 08:14:29 +10:00
Cheng
d82d5218bc
Got it working, the mystery crash was my update to wxWidgets 3.2.2.1 2023-09-28 18:14:32 +10:00
Cheng
a68282e390
modified: .gitconfig 2023-09-28 14:34:51 +10:00
Cheng
b60c57c2d2
rolling back wx widgets to v3.2.0
file dialog now works, but bugs in my sql code
2023-09-28 12:13:08 +10:00
Cheng
b16ddb2071
stashing changes here, and going back in time till file dialogs work 2023-09-27 22:50:55 +10:00
Cheng
f7876905e3
Simplifying the serialization to and from VLQ integer format with C++20 concepts.
Moving serialization to a new header, serialization.h
2023-09-25 18:51:12 +10:00