[Dev] Release Candidate Feathercoin 0.9.3.2 - Check List
-
@wrapper the dark grey one looks nice and is like some dark themes available for the desktop
-
@uncle_muddy @Wellenreiter @Lizhi @MrWyrm @Aciddude @Ghostlander @RIPPEDDRAGON
Feathercoin-qt : Graphic User Interface, Development / Testing progress.
I have now spent a number of days going over the Feathercoin 0.9.3.2 GUI, how it is programmed, which files / variables / classes are involved.
AFB has assisted me and I have set him up a development environment.
We have done / identified a number of small changes, mainly removing things that weren’t done “generically”. We found yesterday, every time we made the system more “open” it looked better.
The Dark and Light theme are just KDE. We have done some work removing “specific” settings (eg mainbg.png) and doing the extra work to make the system be “Operating System Theme Aware”, then tested on various operating system themes.
We can understand now why this was awkward to customize the GUI code in the Feathercoin / Bitcoin core program.
It’s Qt widget uses the status bar (Statusbar()) at a higher (parent) level that the rest of the screen, which is handled by straight GUI coding. I think it’s because they need to pass information to the status at a parent level.
AFB and I both agreed, we’d have tried to make the status a graphics object that could be designed with style sheet and be removable by the user, like the toolbar.
That took us about 10 man hours to work out why we couldn’t put a box around the status bar, or why in the end it looked better without it.But then we need to add a line at the bottom of overview.ui - to differentiate the status bar on the main screen. The rest of the windows are already differentiated from the status bar).
It then takes 14 min’s to do a compile, to see how that looked, every time you make a change.
Results of tests
There are a lot of small changes need to finish that work, some of which we still need to study to see which method to apply across the program. Also, although it makes it a lot more difficult for AFB I have been insisting on documenting “failure” so the forum can appreciate why we are doing anything, or assist if they would like to.We have considered a number of other things such as, wither it is viable to add customization, like alternate “Feathercoin Logo” HOWEVER, AFB and I were still impressed how the “forum blue” Logo already fitted with system blues such as the status / progress bar, or button mouse over highlight, so we don’t want an option that takes extra work but makes it look worse.
A point of the Graphics work is to make sure it works across Distributions and even on windows or the MAC, so I will do the work to push intermediate changes to my Github Distro, in a form they can be pulled in by Wellenreiter, either to 0.9.3.2 or a new 0.9.6.2-GUI
What next
I will be continuing to implement some of the details we have already found and research how to do some more things in C++ and Qt. Currently we have replace the background image with common grey, the code that adds the image : needs removing, and the actual background set to OS system “default”.However, it did pass the Operating System Dark Theme test of KDE, so awaiting tests on other OSs. AFB suggested other artistic uses of the background, worth letting him review.
The other main work is improving the new forms and enforcing a common look and feel. Making the system use operating system defaults will help do that and automatically benefits from the “art work” the distribution put into those icons and effects. Investigate an alternative Light Blue Logo style.
We require the 0.9.3.2 Test versions to be built for Gnome, Unity, Windows and Mac etc, and reviewed now, and again when any significant further change has been included. Specifically looking at, Theme / icon compatibility. It is hoped to use system Icons, so it envisaged mods to specific icons may be required.
The splash screen needs a review in line with Light Blue Logo FTC default, and wither the Logo colour theme is going to be an option.)
Example UI improvement required
A common problem on all panes is that frame and button markers aren’t handled consistency with “mouse over”, some go blue others stay black. To be consistent with themes they all need to be system.I’ve already done work in 0.9.3.2 to improve the new forms, that’s been pulled into the Feathercoin version.
I’ve also added help and more logically / reposition fields, however, all the new forms require lot more work to provide a consistent look and feel and basic frame sizing options.
AFB came up with an idea to simplify this Frame on the multisig wallet. It is also little things, we also spotted this, that need to be perfect to look good. :
Information
Source Code with GUI review test changes / Logo
git clone https://github.com/wrapperband/Feathercoin
cd Feathercoin
git checkout 0.9.3.2Source Code Graphics Files are stored
/src/qt/res/imagesForm Design : view with Qt Creator.
/src/qt/overveiw.uiMain Graphics Widget initiation, status bar
/src/qt/bitcoingui.cppFeathercoin Graphics and Logos
https://www.feathercoin.com/feathercoin-graphic-resources/Graphics resources and reporting
https://github.com/wrapperband/FTC-Wallet-Layout-Examples -
Amazing work @wrapper !
-
Thanx @aciddue, I couldn’t have made the progress without AFBs help. I’ve been doing GUI background work, to make that happen, including bring AFB up to speed on where I was up to previously as well.
But as you know I am fragile physically with spine damage, we’ve done quites lot because we we’re making progress, I need a rest and AFB needs a chance to ponder what we’ve learned so far.
-
Here’s the Wallet Overviewpage.ui screen with a plain divider line added :
updated with divider line moved down -
@AFB 's done a new Feathercoin bar logo, and we’ve improved the layout of the “About box.” Using a graduated image is a temporary solution. It would be nice / we’d like to have a logo on a drawn graduated background so the window would scale. Scaling is not a priority with the about box, but the techniques would be worthwhile to find how to achieve that in Qt/C++, as it could be applied to improve other panels.
-
I’m just testing a build with the first part of an updated icon set AFB is developing :
New Icons on Wallet Menu
New Icons Settings Menu
New Button Icons, so far
-
First off, thanx and kudos to @IawgoM for his previous graphics work on FTC; including buttons, icons and graphics used in the FTC wallet, like the 0.8.7 series splashscreen.
I have made a new splash screen to identify 0.9.3.2 versions, based on the new Logo, unless someone comes up with something better. AFB has enough to do making icons and giving him a chance to look at the more interesting jobs, like improving the FTC specific forms.
We will need a better / another new splash screen for the 0.11 release, so there is slightly longer time to work on fresher ideas for that…
-
AFB has done some additional icons. MultiSig, reports, connection status. MultiSig is a first draft.
-
so I’ve gotten to the point where the following tests are compiling…NOT passing…compiling…(i should go back and edit my previous posts…
CXX test_bitcoin-alert_tests.o CXX test_bitcoin-allocator_tests.o CXX test_bitcoin-base32_tests.o CXX test_bitcoin-base58_tests.o CXX test_bitcoin-base64_tests.o CXX test_bitcoin-bignum_tests.o CXX test_bitcoin-bloom_tests.o CXX test_bitcoin-canonical_tests.o CXX test_bitcoin-checkblock_tests.o CXX test_bitcoin-Checkpoints_tests.o CXX test_bitcoin-compress_tests.o CXX test_bitcoin-DoS_tests.o CXX test_bitcoin-getarg_tests.o CXX test_bitcoin-key_tests.o CXX test_bitcoin-main_tests.o CXX test_bitcoin-miner_tests.o CXX test_bitcoin-mruset_tests.o CXX test_bitcoin-multisig_tests.o CXX test_bitcoin-netbase_tests.o CXX test_bitcoin-pmt_tests.o CXX test_bitcoin-rpc_tests.o CXX test_bitcoin-script_P2SH_tests.o CXX test_bitcoin-script_tests.o CXX test_bitcoin-serialize_tests.o CXX test_bitcoin-sigopcount_tests.o CXX test_bitcoin-test_bitcoin.o CXX test_bitcoin-transaction_tests.o CXX test_bitcoin-uint256_tests.o CXX test_bitcoin-util_tests.o CXX test_bitcoin-sighash_tests.o CXX test_bitcoin-accounting_tests.o CXX test_bitcoin-wallet_tests.o CXX test_bitcoin-rpc_wallet_tests.o
when it comes time to test “feathercoin” … (it’s still referenced as “bitcoin”)
CXXLD test_bitcoin test_bitcoin-base58_tests.o: In function `base58_tests::base58_keys_valid_parse::test_method()': /home/aciddude/FTCNEW/Feathercoin/src/test/base58_tests.cpp:160: undefined reference to `CBitcoinSecret::GetPrivKey()' /home/aciddude/FTCNEW/Feathercoin/src/test/base58_tests.cpp:161: undefined reference to `CBitcoinSecret::IsCompressed()' test_bitcoin-DoS_tests.o: In function `DoS_tests::DoS_mapOrphans::test_method()': /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:180: undefined reference to `AddOrphanTx(CTransaction const&)' /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:197: undefined reference to `AddOrphanTx(CTransaction const&)' /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:221: undefined reference to `AddOrphanTx(CTransaction const&)' test_bitcoin-DoS_tests.o: In function `DoS_tests::DoS_checkSig::test_method()': /home/aciddude/FTCNEW/Feathercoin/src/test/DoS_tests.cpp:258: undefined reference to `AddOrphanTx(CTransaction const&)' test_bitcoin-key_tests.o: In function `key_tests::key_test1::test_method()': /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:73: undefined reference to `CBitcoinSecret::GetPrivKey()' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:79: undefined reference to `CBitcoinSecret::GetPrivKey()' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:121: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:122: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:123: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:124: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:126: undefined reference to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' test_bitcoin-key_tests.o:/home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:127: more undefined references to `CPubKey::Verify(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&) const' follow test_bitcoin-key_tests.o: In function `key_tests::key_test1::test_method()': /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:152: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:153: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:154: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)' /home/aciddude/FTCNEW/Feathercoin/src/test/key_tests.cpp:155: undefined reference to `CPubKey::RecoverCompact(uint256 const&, std::vector<unsigned char, std::allocator<unsigned char> > const&)' collect2: error: ld returned 1 exit status Makefile:789: recipe for target 'test_bitcoin' failed
The base 58 and key test stuff seems to be referencing changes I’ve made…the DoS Tests were not touched…
-
It’s sensible to keep the core code the same, it just makes more work to go wrong. The test should be testing the core functionality.
-
I think, there have been changes in the procdure names of CBitcoinSecret, and you need to make these changes consistent in base58*.* and base58_tests*.*
By the way, can we split this thread in at least two ones?
- Gui development
- Test development/bug fixing
I have problems to follow the flow on the discussion in this long thread here, as Gui and test posts are mixed and the thread becomes very long
-
@Wellenreiter You are right, we did keep them here for consistency, but this thread should be for raising new issues. I was just about to post the new design on a discussion thread.
I’ve extracted as much design work for the 0.9.3.2 beta test version from AFB as I can now anyway. Plus, we still have a few minor points to polish.
The main icons for the “Material Design set” are ready, which means I can continue working on getting screen shots for the Wallet Guide again.
Feathercoin-qt 0.9.3.2 Wallet operation guide
https://github.com/wrapperband/FeathercoinWalletGuideLink to Discussion Thread.
-
I was thinking the same. In fact @wrapper and I discussed this last week or so.
I’ll make a new thread later on, I’ll reference this thread with some links and then carry on the log there.
-
AFB and I are doing some re-sync blockchain from scratch tests on the new sync animation.
Anyway, for no good reason, i.e. software changes?, the syncing seems to have degenerated again.
Although in this case I removed a couple of blocks, so the blockchain re-indexed, then it stalled at 2 years, rescanning after the re-index. (so there could be a slightly different code path)
It got stuck at 325675
2 years 0 days
Debug log : on shut down :
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 140 ,AskFor.
2016-07-28 19:54:21 Receive checkpoint,hashCheckpoint=0000000000000000000000000000000000000000000000000000000000000000
.CSyncCheckpoint::ProcessSyncCheckpoint 100,hashCheckpoint=6491791a1d27e6f56ba0d93ef6a95d4cdb47cb2b769d4b7f2038a42ecbf2023b
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 110,mapBlockIndex.count=0
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 130: pending for sync-checkpoint 6491791a1d27e6f56ba0d93ef6a95d4cdb47cb2b769d4b7f2038a42ecbf2023b
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 140 ,AskFor.
2016-07-28 19:54:21 ProcessBlock: Preliminary checks
2016-07-28 19:54:21 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2016-07-28 19:54:21 ProcessBlock() ProcessBlock: ORPHAN BLOCK 539, prev=73998e9aebc8d976d751c771ac769be0cbbd9f9d9b85a1f87690f8fc1c0f4 -
Just a note :
Status of Plugins:Status of Bitmessage testing/guide production :
Not working under 16.04 - Still trying to get this going with a normal Bitmessage Linux install (i.e. Not installed but run from it’s own directory)
- How does Bitmessage work under MS Windows? screen shot
- Where do the files go , where is Bitmessage downloaded from?.
- What is being passed to Bitmessage, what supposed to happen when bitmessage opens from the send menu right click
Wellenreiter has suggested adding a script file to /bin
if you create a shell script called pybitmessage under /usr/bin, make it executable, all should workwhereis pybitmessage pybitmessage: /usr/bin/pybitmessage /usr/share/pybitmessage /usr/share/man/man1/pybitmessage.1.gz more /usr/bin/pybitmessage #!/bin/sh cd /usr/share/pybitmessage exec /usr/bin/python2 bitmessagemain.py
I don’t have those files :
This should have worked but doesn’t, I’m still checking what or if I did wrong /other ideas ie may work if copy over depends and include our own script file in Feathercoin root.
but mainly need to finish the guide.
whereis pybitmessage pybitmessage: /bin/pybitmessage #!/bin/sh cd /home/USER/programs/PyBitmessage/src exec python /home/USER/programs/PyBitmessage/src/bitmessagemain.py bitmessagemain.py
If we change the script can we send the message to Telegram (or such) instead?
The long term aim would be to make the plugins, at least, to have options check boxes to include on the menu.
A generic system where you can include additional plugins to run a script -
@wrapper said in [Dev] Release Candidate Feathercoin 0.9.3.2 - Check List:
AFB and I are doing some re-sync blockchain from scratch tests on the new sync animation.
Anyway, for no good reason, i.e. software changes?, the syncing seems to have degenerated again.
Although in this case I removed a couple of blocks, so the blockchain re-indexed, then it stalled at 2 years, rescanning after the re-index. (so there could be a slightly different code path)
It got stuck at 325675
2 years 0 days
Debug log : on shut down :
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 140 ,AskFor.
2016-07-28 19:54:21 Receive checkpoint,hashCheckpoint=0000000000000000000000000000000000000000000000000000000000000000
.CSyncCheckpoint::ProcessSyncCheckpoint 100,hashCheckpoint=6491791a1d27e6f56ba0d93ef6a95d4cdb47cb2b769d4b7f2038a42ecbf2023b
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 110,mapBlockIndex.count=0
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 130: pending for sync-checkpoint 6491791a1d27e6f56ba0d93ef6a95d4cdb47cb2b769d4b7f2038a42ecbf2023b
2016-07-28 19:54:21 CSyncCheckpoint::ProcessSyncCheckpoint 140 ,AskFor.
2016-07-28 19:54:21 ProcessBlock: Preliminary checks
2016-07-28 19:54:21 ERROR: matches claimed amount, CheckProofOfWork() : hash doesn’t match nBits
2016-07-28 19:54:21 ProcessBlock() ProcessBlock: ORPHAN BLOCK 539, prev=73998e9aebc8d976d751c771ac769be0cbbd9f9d9b85a1f87690f8fc1c0f4The block number rings a bell. I think the last patch implemented into 0.9.3.x is mising in your version. It that possible?
-
Hopefully it’s something like that. I thought I’d pulled any changes, I’ll let you know.
Explicitly use boost overloaded functions in base58 vector ?
-
regarding bitmessage:
exec python /home/USER/programs/PyBitmessage/src/bitmessagemain.py bitmessagemain.py
should be
cd /home/USER/programs/PyBitmessage/src exec python bitmessagemain.py
assuming that bitmessagemain.py and the other .py files are in the directory /home/USER/programs/PyBitmessage/src
-
@Wellenreiter I’ve done a git pull, It looks like I was up to date.
I will test a resync from the failed test with a rebuild
then if it still fails :
try a rebuild from scratch and see if it fails at the same place.