Bytes lost when retrying firmware update

I am currently struggling with error code 308 (bytesLost). The following steps lead to said error:

Start APP firmware update
Abort while updating (using DFUServiceController.abort())
Wait until device is advertising normally again
Retry installing same file

After step 4. I get the following console output:
Data written to 8EC90001-F315-4F60-XXXX-838830DXXXXX
Notification received from 8EC90001-F315-4F60-XXXX-838830DXXXXX, value (0x): 600101
Data object 1/22 created
Application: Uploading firmware...
Sending firmware to DFU Packet characteristic...
dfuProgressDidChange(for:outOf:to:currentSpeedBytesPerSecond:avgSpeedBytesPerSecond:) > [1, 1, 0, 0.0, 0.0]
Disconnecting...
dfuError(_:didOccurWithMessage:) > 480 bytes were sent while 240 bytes were reported as received
After killing my app and starting it again, the update works just fine.
Using the nRF Connect App also works.

Sorry to hear that you're experiencing an issue, to be clear, when you say after killing my app and starting again, do you mean the peripheral's app or the actual mobile app ?

I have to kill the app on my smartphone that is using the iOSDFULibrary. The device I am trying to connect to is not restarted.
After my mobile app failed to update I can simply open the app switcher, kill the app, start it again and the update works.

I see, this is a strange issue, and from your explanation i understood that you do not need to kill the app when you do the same procedure in nRF Connect and nRF Toolbox ?

What I mean is, that aborting the update and retrying it works perfectly fine when using the nRF Connect app instead. That is why I thought the issue is probably not within the firmware itself, but a bug in the framework.
If the app fails to update, I can simply switch over to the nRF Connect app and do the update there without problems.
Thanks for your quick response by the way!

You're welcome :) it's our duty 👍
One more question, does it happen every single time with those exact sent/reported numbers ? or is it intermittent ? Trying to rule out where the issue stems from, what's a bit confusing is that this library is the exact same  one used in the nRF Connect app, so the errors should be exactly the same
is it possible to also see a code snippet where you are initialising the DFU Lib and starting the DFU process ?

Oh, ok I just tried again to check if the numbers vary (they do) and got the nRF Connect app to fail too.
I just tried again twice in a row in my app and got
dfuError(_:didOccurWithMessage:) > 5056 bytes were sent while 4336 bytes were reported as received
both times
Without killing my app, I then switched to the nRF Connect app and tried to install the same firmware. Got stuck at "Connecting" with Update: 0%. The Device I am using indicates that it is connected and the ios settings suggest the same.

That's a good thing that they're consistent, if you don't disconnect the app the peripheral will remain connected and the other apps won't be able to connect to it.
can you try (while in this state) to kill the currently connected app and then reconnect using nRF Connect to see if it reproduces there ?
I'm assuming you are using the latest version of the DFU Library ?

Yes, I am using 4.0.3 in my mobile app.
The nRF Connect app had the connection to the device. After killing the nRF app (and keeping my app alive), i started up the nRF app again and the update was successfull. After that, I switched back to my app (which was alive the whole time) and got the error again.
It seems like the error will keep on occurring until I restart the app.

will bring in @philips77 to dig into this with me, any thoughts what could be wrong here ? should we simply restart the process from the previous stored page or start from scratch if this happens ?

Hi @Michael-Bischof,
Could you post the whole log you get when the update fails, not only the error?
I'm interested in when the numbers start to split.
In theory you should be able to resume update from exactly where you aborted.
Thanks!

 13:18:11.800713+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:97] resetToDFUMode(for:completionHandler:) > resetToDFU
 13:18:11.801097+0100 [BluetoothScanner+UART+Protobuf.swift:57] buildSerializedProtobuf(for:parameter:) > command: resetdevice; parameter: bootloader
 13:18:11.801767+0100 [BluetoothScanner+UART+Protobuf.swift:167] buildSerializedProtobuf(for:parameter:) > protobufMessage; msg: Optional(XXXXBLETools.FMP_Base.OneOf_Msg.deviceResetRequest(XXXXBLETools.FMP_DeviceReset:
type: RESET_TO_BOOTLOADER
))
 13:18:11.802960+0100 [BluetoothScanner+UART+Protobuf.swift:183] buildSerializedProtobuf(for:parameter:) > payload (raw): 01A206020801409F
 13:18:11.803818+0100 [BluetoothScanner+UART+Protobuf.swift:184] buildSerializedProtobuf(for:parameter:) > payload (cobs): 0901A206020801409F00
 13:18:11.804698+0100 [BluetoothScanner+UART+Protobuf.swift:41] writeMessageToUART(_:for:) > write message to UART
 13:18:11.806753+0100 [BluetoothScanner.swift:494] processCapturedDevices() > isConnectable by state: false (true, true, true); appState: foreground
 13:18:11.873516+0100 [BluetoothScanner.swift:494] processCapturedDevices() > isConnectable by state: false (true, true, true); appState: foreground
 13:18:11.892521+0100 [FirmwareUpdateViewController.swift:312] setupBindings() > file:///var/mobile/Containers/Data/Application/XXXX-D691-4975-B9F6-C02FD6027849/Documents/DFU-APP-10042488-XXXXXXXX-SD158-BL8-APP11-P5413-J20771-XXXX_DK.zip
 13:18:11.933120+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:184] uploadFirmware(fileURL:to:) > identifier: XXXX-5A3A-B1F9-0267-98CCCC767E71; state: disconnected;
 13:18:11.935748+0100 [BluetoothScanner.swift:217] updateCapturedDevices(with:advertisementData:rssi:) > known device in DFU mode; connectable: false (1101)
 13:18:12.547113+0100 [BluetoothScanner+CBCentralManagerDelegate.swift:89] centralManager(_:didDisconnectPeripheral:error:) > uuid: XXXX-628D-28A9-8370-E36D20EB260B; The connection has timed out unexpectedly.
 13:18:12.979591+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Connecting to DFU XXXX I...
 13:18:12.979993+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > centralManager.connect(peripheral, options: nil)
 13:18:12.981214+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:248] dfuStateDidChange(to:) > Connecting
 13:18:12.982134+0100 [FirmwareUpdateViewController.swift:329] setupBindings() > pauseRunningFirmwareUpdate
 13:18:13.285753+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > [Callback] Central Manager did connect peripheral
 13:18:13.286185+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Connected to DFU XXXX I
 13:18:13.286492+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Discovering services...
 13:18:13.286785+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.discoverServices(nil)
 13:18:13.585210+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Services discovered
 13:18:13.585631+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Starting Secure DFU...
 13:18:13.586509+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Connected to DFU XXXX I
 13:18:13.586834+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Services discovered
 13:18:13.587188+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Secure DFU Service found
 13:18:13.588012+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Discovering characteristics in DFU Service...
 13:18:13.588397+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.discoverCharacteristics(nil, for: FE59)
 13:18:13.765691+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > DFU characteristics discovered
 13:18:13.766240+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Enabling notifications for 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:13.766582+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.setNotifyValue(true, for: 8EC90001-F315-4F60-9FB8-838830DAEA50)
 13:18:13.767993+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:248] dfuStateDidChange(to:) > Starting
 13:18:13.768898+0100 [FirmwareUpdateViewController.swift:329] setupBindings() > pauseRunningFirmwareUpdate
 13:18:13.769767+0100 [FirmwareUpdateViewController.swift:332] setupBindings() > resumeRunningFirmwareUpdate
 13:18:13.944406+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Notifications enabled for 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:13.944787+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Secure DFU Control Point notifications enabled
 13:18:13.945432+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:13.945898+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.writeValue(0x0601, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
 13:18:14.004332+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:14.005507+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):<PHONE_NUMBER>00008a0000003f72d0a0
 13:18:14.006000+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Command object info (Max size = 256, Offset = 138, CRC = A0D0723F) received
 13:18:14.006346+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Received CRC match Init packet
 13:18:14.006738+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:14.007236+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.writeValue(0x04, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
 13:18:14.063318+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:14.063917+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600401
 13:18:14.064093+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Command object executed
 13:18:14.064242+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:14.064356+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.writeValue(0x0602, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
 13:18:14.123733+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:14.124492+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x):<PHONE_NUMBER>0000002000001ba7ee90
 13:18:14.124754+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Data object info (Max size = 4096, Offset = 8192, CRC = 90EEA71B) received
 13:18:14.125229+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > 8192 bytes of data sent before, CRC match
 13:18:14.125397+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Resuming uploading firmware...
 13:18:14.125728+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:14.126006+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.writeValue(0x020c00, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
 13:18:14.126895+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:248] dfuStateDidChange(to:) > Uploading
 13:18:14.127897+0100 [FirmwareUpdateViewController.swift:329] setupBindings() > pauseRunningFirmwareUpdate
 13:18:14.128429+0100 [FirmwareUpdateViewController.swift:332] setupBindings() > resumeRunningFirmwareUpdate
 13:18:14.184646+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:14.185335+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600201
 13:18:14.185696+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Packet Receipt Notif enabled (Op Code = 2, Value = 12)
 13:18:14.186100+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Writing to characteristic 8EC90001-F315-4F60-9FB8-838830DAEA50...
 13:18:14.187153+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > peripheral.writeValue(0x010200100000, for: 8EC90001-F315-4F60-9FB8-838830DAEA50, type: .withResponse)
 13:18:14.244101+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data written to 8EC90001-F315-4F60-9FB8-838830DAEA50
 13:18:14.244779+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Notification received from 8EC90001-F315-4F60-9FB8-838830DAEA50, value (0x): 600101
 13:18:14.245128+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Data object 3/22 created
 13:18:14.245585+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:301] logWith(_:message:) > Application: Uploading firmware...
 13:18:14.245875+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Sending firmware to DFU Packet characteristic...
 13:18:14.255394+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:285] dfuProgressDidChange(for:outOf:to:currentSpeedBytesPerSecond:avgSpeedBytesPerSecond:) > [1, 1, 0, 0.0, 0.0]
 13:18:14.266321+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:285] dfuProgressDidChange(for:outOf:to:currentSpeedBytesPerSecond:avgSpeedBytesPerSecond:) > [1, 1, 9, 19801.96636175863, 19801.96636175863]
 13:18:14.485598+0100 [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:297] logWith(_:message:) > Disconnecting...
 13:18:14.485989+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > centralManager.cancelPeripheralConnection(peripheral)
 13:18:14.489032+0100 [11728:3039687] [Debug] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:295] logWith(_:message:) > [Callback] Central Manager did disconnect peripheral
 13:18:14.489374+0100 [11728:3039687] [Info] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:299] logWith(_:message:) > Disconnected
 13:18:14.490156+0100 [11728:3039687] [Error] [main] [BluetoothScanner+DeviceActions+FirmwareUpdate.swift:265] dfuError(_:didOccurWithMessage:) > 8912 bytes were sent while 8432 bytes were reported as received

It looks like something is wrong with PRNs. You send 3 times 1220 bytes (8192 + 31220 = 8912) and it looks like the 2 PRNs you received in between were OK, but the last one contained received bytes value 8432 (=8192 + 112*20). Could you also print number of bytes received before this https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/blob/master/iOSDFULibrary/Classes/Implementation/SecureDFU/Characteristics/SecureDFUControlPoint.swift#L469 line?

I figured it out! There is no problem with your Framework, it was my mistake.
A bug in my app called dfuController?.pause() and dfuController?.resume() multiple times in a row while the update was being installed. This only happened if I canceled the update before.
The log even said pauseRunningFirmwareUpdate and resumeRunningFirmwareUpdate a few times but I didn't give it any attention.
I have no idea how and why I got the nRF Connect to crash too. Please forgive me for wasting your time. Thank you so much for the fast and kind support. You guys are awesome

Great to hear that. But still there is a bug if pausing and resuming in random moments causes this issue. I guess that's because pause works only on during uploading while resume may... start uploading before it should? I'll have a look at it.


OpenAI TTS support

Can we add OpenAI TTS as a voice provider? I'm not sure how we want to do it since it will share an API key with an LLM provider.

I think using a separate key field is fine - even if the user uses the same actual key value.

Closing this as there is a PR for it


updated flash to <IP_ADDRESS>

Updating the :checkpoint value in appcast is required. You can find it with curl --silent --compressed "{{appcast_url}}" | sed 's|<pubDate>[^<]*</pubDate>||g' | shasum --algorithm 256 | awk '{ print $1 }'.
Alternatively, you may wish to use cask-repair. It can at once update the cask’s version (according to what you give it) taking care of updating both the cask’s sha256 and the appcast’s :checkpoint, while still giving you the chance to perform other manual fixes.
You can easily install it with brew install vitorgalvao/tiny-scripts/cask-repair. cask-repair --help will show you some options, but as a whole the script will guide you through the update process.
In addition, there was a PR template when you submitted. It must be filled.
Finally, please update the other flash casks at the same time.

https://github.com/caskroom/homebrew-cask/pull/20791


 amplify diagnose --send-report fails to send zip on windows

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

How did you install the Amplify CLI?
No response
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
v10.0.0
What operating system are you using?
Windows
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Amplify Categories
Not applicable
Amplify Commands
Not applicable
Describe the bug
Tried the new way to send debug data to you but it seems to report that it failed to send the Zip so I don't get a Project Identifier to add to issues.

Expected behavior
Zip sends and it displays my Project Identifier or it reports why it can't so I can fix it.
Reproduction steps
Simply ran  amplify diagnose --send-report  in the root of my application within a Windows Terminal run as admin.
GraphQL schema(s)

# Put schemas below this line

Project Identifier
No response
Log output

# Put your logs below this line

Additional information
No response

hey @PeteDuncanson, thank you for reaching out. I tested the flow in my windows PC by created a new folder named Franchise-Manager and then initialized a new amplify app. I tried using the CMD and powershell with both admin and without admin privileges but was unable to replicate the issue by running the amplify diagnose --send-report command.
could you provide us the logs after running the amplify diagnose --send-report command on your terminal? the logs for amplify can found at C:\Users\<username>\.amplify\logs.
could you also confirm the windows version and terminal being used(example: CMD, powershell)

Hey @ykethan,
I'm using Windows Terminal (https://apps.microsoft.com/store/detail/windows-terminal/9N0DX20HK701?hl=en-gb&gl=gb) run under admin rights.
Log today is pretty sparse though after re-running it just now:
2022-09-08T09:14:37.883Z|info : amplify diagnose core  {"send-report":true,"yes":false}
2022-09-08T09:14:37.953Z|info : amplify-cli-core.banner-message/index.ts.fetch banner messages from https://aws-amplify.github.io/amplify-cli/banner-message.json({}

Let me know if there is anything else I can do/share with you to help work this one out. Up for a screenshare if needed.

Hey @PeteDuncanson, thank you for the information. I tested this in a windows terminal(environment: windows 11) but was unable to replicate the issue.

Additionally, windows now allows users to add different terminals in one window.

Could you test the command in a different terminal such as powershell or command prompt?
Additionally, I wanted to confirm if this occurs in a specific project. For a quick test could you create a sample amplify application in a new directory and run amplify diagnose --send-report

@ykethan ive not created a new amplify project in over a year. Is there a cheat sheet somewhere or a quick how to for spinning one up for testing like this?

Hey @PeteDuncanson, I would glad in assisting you.

change the directory to a new folder different from your present Amplify project folder.
run amplify init
run amplify diagnose --send-report

@ykethan thanks for that :)
As suspected, it worked as it should!

So what to try next? Personally I'm not all that bothered about it being broken but the developer in me doesn't like that its broken and not reporting why.

Hey @PeteDuncanson, thank you for your patience. On testing multiple scenarios in my Amplify application, I was able to replicate the diagnose failure by removing the backend-config.json  and then run the diagnose command. But the diagnose command does throw an error providing information on the missing file.

For a quick test, could you copy the amplify folder to a different directory.  Then delete the amplify folder and pull the backend using the amplify pull command. Could you then run the diagnose command to test if there may be any failures.
If the command does not fail, we could check the difference between the amplify folders and check for missing files or attributes.

hey @PeteDuncanson, following up on this. Please do let us know if you require any assistance.

closing the issue due to inactivity


maxlength not present in GridView filter on top by default.

What steps will reproduce the problem?
I have a Model
I have a FindModel (not a extend of Model, search function of FindModel return DataProvider with Query for Model)
I heve a rule for FindModel [['attribute'], 'string', max=>10]
I have a index view and
I have a GridView where used dataProvider and search model.
What is the expected result?
Filter text field within 'maxlength' = 10 in tag
What do you get instead?
Filter with infinity length text field
note: for ActiveField this behavior is enabled by default.
for filter I must redefine column settings:
            [
                'attribute' => 'attribute',
                'filterInputOptions' => ['maxlength' => true],
            ],

or
            [
                'attribute' => 'attribute',
                'filterInputOptions' => ['maxlength' => 10],
            ],

instead of
'attribute',

Additional info

Q
A

Yii version
yiisoft/yii2                        2.0.36             Yii PHP Framework Version 2

PHP version
7.3

Operating system
alpine

Looks like an inconsistency. Could be considered a bug. Would you like to do a pull request fixing it?

I'll pick this one


Enable nullable context in all test projects

Fixes #323
Remarks:

IRequestAdapter.ConvertToNativeRequestAsync: Couldn't find a path in the implementation that returns a nullable HttpRequestMessage. Please check.
<Nullable>enable</Nullable> prop now flows from the root.

@microsoft-github-policy-service agree


Unable to pass xml as a body in scaffolder-backend-module-http-request

Hi Team I am trying to make a post request to Jenkins which takes XML as a body.
id: backstage_request_with_input
name: backstage request
action: http:backstage:request
input:
   method: 'POST'
   path: "/api/proxy/test
   body:
       data: 'xml content'

I if pass XML content like this It is sending a request with key-value pair as a body but instead I need to send only the value not the key.

      if (
        input.body &&
        input.headers &&
        input.headers['content-type'] &&
        input.headers['content-type'].includes('application/json')
      ) {
        inputBody = JSON.stringify(input.body);
      } else {
        inputBody = input.body;
      }

The Above is the code snippet of the scaffolder-backend-module-http-request so it is taking key value pair as the body.
Can anyone help me to send the value only?
or Is it possible to change the type of the body to accept both string and object like this
 body: {
            title: 'Request body',
            description: 'The body you would like to pass to your request',
            type: ['object','string']
          },

So I can send my XML content in the body like this
 body: 'XML content'
instead of
body:
       data: 'xml content'

@subash54 Ive releaseed a new verison of the request action. Could you give it a try to see if it has fixed it for you.

@punkle Many thanks. Now my use case is working perfectly

You are very welcome. I'm delighted it works.


_blank option

Evolution
Add a 'target="_blank"' option for link list on Tools/configuration of shaarli
So that on linklist page, each link opens in new tab.

This change needs to be done on Shaarli itself. As a theme developer, I cannot add a setting by myself. You can open an issue on the official Shaarli repository: https://github.com/shaarli/Shaarli/issues

Done !
https://github.com/shaarli/Shaarli/issues/422


Add "restfuncs" to project referers (readme.md)

Also i like the try-it-now editor. Is this an integrated vscode ? how did you do that ? Also it recompiles super quick which is nice !
(just saying. Has nothing to do with this pull request ;) )

Oh wow sorry I missed this for so long :-S

Also i like the try-it-now editor. Is this an integrated vscode ? how did you do that ? Also it recompiles super quick which is nice !
(just saying. Has nothing to do with this pull request ;) )

You can find the source code for the website/playground at https://github.com/typescript-rtti/website
It uses the Monaco editor, which is indeed the editor that powers VS Code. The site actually runs Typescript and RTTI right in your browser using the Typescript API :-)


Add list of template engines to docs

There's a list of template engines in the Express Wiki, but it looks like it hasn't been recently updated.
Can we put a list of compatible (and maintained) template engines for Express on the website, maybe under Resources or Guides?
I would love to help with this issue.

Yes, that would be great. Ideally everything in the Express wiki is moved to the website. I wouldn't do this all at once, but each at a time would be great, and template engines are a great start!
Since there is a Middleware page under Resources I think it makes sense for this to be like a new page under Resources as well.
@LinusU @wesleytodd @crandmck do you have any thoughts?

Sounds very good 👍

Agreed!  I think we should also avoid having much info there other than links out.  Just so that we don't have too much work maintaining it so it does not get out of date.
Can you link to this list?  I cant seem to find it just browsing the wiki.
PS. On a side note, alot of that content in the wiki can probably go away.  For example, I doubt we should be pointing people to books written in 2013 :)

@wesleytodd you can just scroll down on the main page of the wiki.

Oh sorry, I was looking at this repo's wiki (the website).  I knew I was looking in the wrong place, just forgot about the main express repo's wiki.  Thanks.

Good suggestion!

Since there is a Middleware page under Resources I think it makes sense for this to be like a new page under Resources as well.

Agree.
When this new page is created, please replace the link to https://github.com/strongloop/express/wiki#template-engines on
http://expressjs.com/en/guide/using-template-engines.html with a link to the new page.

I've forked the repo and made a page, now I just need to edit the Markdown. Hopefully I'll have it done by tommorow :)

@dougwilson @wesleytodd @crandmck So sorry I took so long! Just made pull request #991. It runs on my computer, so I don't think there are any bugs. Thanks!

This was resolved by PR #991


Add RealNVP and MAF for tabular data.

[x] RealNVP

[x] MAF

[x] increase code reuse

It should do the job. Ready for review.


Suggestion for cache problem

There's any plan to add randon hash at .js file names to avoid cache in PROD build?

Good point! We already have this in dev, I've missed it in production...

@mgechev - Same implementation as what is already in dev?
@gustavolira - You going to PR this or shall I?

Hi @d3viant0ne feel free if you want to make PR

The name of app.js should be changed right?

@gustavolira what do you mean?

To avoid cache, every time we build the app the names of .js files would change like:
app.4de4411f.js
next time that run npm run build.prod
app.537de411f.js
On this way every time that we need to do a new 'deploy' cache will be refresh

I think it should be fine with appending query parameter as well.

This generator https://github.com/yeoman/generator-angular change the .js files when you run grunt build and them put the right js file names at .html files
I get this idea from there

Yes, both should work.


Maven does not respect $JAVA_HOME

Describe the bug
Maven has a hard dependency to the jdk package, which refers to openjdk8.
The builder then uses --set JAVA_HOME "$jdk" to hardcode that java-Version to the mvn command.
It is therefore not even possible to choose a different jdk using something like JAVA_HOME=... mvn.
Therefore it seems not possible to build some maven projects that depend on newer features like the -release flag of newer jdk versions.
Expected behavior
There should be some easy way to specify which jdk to use.
Metadata

system: "x86_64-linux"
host os: Linux 4.14.63, NixOS, 20.03pre204199.3140fa89c51 (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.1
channels(root): "nixos-20.03pre204199.3140fa89c51"
channels(michas): "nixos-20.03pre204199.3140fa89c51"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

I noticed this also but never got to actually push a fix (its not hard).

Will be fixed by https://github.com/NixOS/nixpkgs/pull/80728.


use reqwest_retry to automatically retry failed requests

#10
Adds retries via reqwest_retry / reqwest_middlware.
Caution!!!
I'm bad at rust

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

The tests work locally when I use a new frontegg workspace.
I the tests are failing here because I don't have access to the secret because I'm using a fork. I could add secrets to my forked repo, but the workflow file client_id is hard coded. If I were to parameterize that in the code the CI tests might work here, but they'd break for non-forked PRs since there probably isn't a secret.frontegg_client_id set for this repo.

The tests work locally when I use a new frontegg workspace.
I the tests are failing here because I don't have access to the secret because I'm using a fork. I could add secrets to my forked repo, but the workflow file client_id is hard coded. If I were to parameterize that in the code the CI tests might work here, but they'd break for non-forked PRs since there probably isn't a secret.frontegg_client_id set for this repo.

My first PR was a fork as well. If I remember correctly, I ended up closing the initial PR with the fork. Then I did a new PR from within the repo (pushed to origin) and it was able to pass CI / be merged.


php8 required changes

tested with php 8.2.9
This contains only debug for fatal errors

@cesar-o9 you can ignore jpgraph changes while reviewing.  I simply upgraded them to the new version that is compatible with php 8.2 or lower. (version 4.4.2)

Straightforward, ok to merge.  Will speak to team about setting up a vm to test.


Request: Destination path pattern

It would be incredibly useful to support some kind of pattern for the destination path. This would result in less error prone writing of libman.json and could make the migration to LibraryManager faster. In the context that I just performed a migration from Bower and most of the libraries that was in used in the project had a common, yet unique destination pattern.
For example, if you have dozens of libraries that you each want to put in a path of the following format:
wwwroot/lib/{nameOfLibrary}/dist at the moment you have to write the destination for every libraries since you can't use the defaultDestination as every destination are unique.
Minimal repro steps
libman.json with the following contents.
{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "destinationPattern": "wwwroot/lib/{library}/dist/"
  "libraries": [
    {
      "destination": "wwwroot/lib/eonasdan-bootstrap-datetimepicke/build/"
      "library"<EMAIL_ADDRESS>    },
    {
        "library"<EMAIL_ADDRESS>    }
  ]
}

Expected result
A destination of the following form:
wwwroot/
     lib/
          eonasdan-bootstrap-datetimepicker/
               build/
                    ......

          jquery/
               dist/
                    ......

Duplicate of #57 , but this has a better description.

Any progress on this. Seems like a pretty basic feature to implement. Having all the scripts and content from libraries dumped in the same path will surely lead to naming conflicts besides looking like a big mess.
Is this tool still in active development???

This is addressed by #759 which adds support for [Name] and [Version] tokens in the defaultDestination


Fix to use correct variable name. js_source_text > source_text

Fixes #1286

@TremayneChrist
Please see CONTRIBUTING.md for how to run build.

Thanks for the contribution, I've tweaked it and merged.


onkyo component not working after upgrade to 0.82

Home Assistant release with the issue:
0.82.0 (running on Raspbian)
Last working Home Assistant release (if known):
0.81.6
Operating environment (Hass.io/Docker/Windows/etc.):
Raspbian
Component/platform:
onkyo
https://www.home-assistant.io/components/media_player.onkyo/
Description of problem:
After the upgrade to 0.82.0 i got this message in the log an the system is not starting:
2018-11-10 13:59:00 ERROR (MainThread) [homeassistant.components.media_player] onkyo: Error on device update!
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 251, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity.py", line 349, in async_device_update
    await self.hass.async_add_executor_job(self.update)
  File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
    yield self  # This tells Task to wait for completion.
  File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
    future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
    raise self._exception
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/media_player/onkyo.py", line 223, in update
    self._attributes["video_out"] = ','.join(hdmi_out_raw[1])
TypeError: 'bool' object is not subscriptable

if the configuration is removed, the system works fine.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
  - platform: onkyo
    host: <IP_ADDRESS>
    name: Onkyo-TX-NR509
    sources:
      video1: chromecast
      video3: ps4
      video2: tv

+1. Same issue here. However, this does not seem to apply to the (newer) TX-NR575E amp I have; this one continues to work in Hass as before. The older 656 no longer works with Hass.

As far as I can see, the only PR that touched this component was #18081 by @leothlon, but I don't see strange things in the changes.

Hi, could you try adding
if not (hdmi_out_raw):     return
before
self._attributes["video_out"] = ','.join(hdmi_out_raw[1])
on line 223
and see if that solves it?

Hi!
Just installed beta 0.83.0 to see if it includes this fix. My error message no longer appears in the use case I reported: "Error messages appear when HA is started while Onkyo receiver is already turned on."
I did not see this error occur. Also, a collateral issue I had with the volume control becoming unresponsive no longer occurs.
So I can report that this fix (or some other change in this release) fixes my Onkyo issues.
Thanks to all developers involved!
~svk

Yes. Same here. With 0.83.0 beta it is working finde


Discord Registration Banner

Add notification in the form of a banner to website and core pages.

Ideally only show to auth'ed users not yet registered
Include button / link to registration link.

:tada: This issue has been resolved in version 6.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


The right most segment in a 3 segment control appears lighter/faded?

Hi,
I noticed something strange with the segment control I created programmatially with SJFluidSegmentedControl. The third segment appears faded/lighter in color than the 2nd segment. Please see screenshot below.

When I select a different segment (2nd or 3rd) and then go back to the first segment, the third segment is no longer faded. I was trying to troubleshoot this and noticed changing the transition style from .fade (default) to .none will cause the 2nd segment to also look faded and selecting different segments will not correct the problem. But how can I correct this issue so the 3rd segment shows up correctly when the view is loaded?

Here is my code:
//
//  ViewController.swift
//  TestSJFluidSegmentedControl
//
//  Created by Jack Ngai on 9/7/17.
//  Copyright © 2017 Jack Ngai. All rights reserved.
//

import UIKit
import SJFluidSegmentedControl

class ViewController: UIViewController, SJFluidSegmentedControlDelegate, SJFluidSegmentedControlDataSource {

    lazy var mySegmentControl:SJFluidSegmentedControl = {
        [unowned self] in
        let segmentControl = SJFluidSegmentedControl(frame: CGRect(x: 50, y: 100, width: 300, height: 50))
        segmentControl.dataSource = self
        segmentControl.delegate = self
        segmentControl.backgroundColor = UIColor(red:0.85, green:0.85, blue:0.85, alpha:0.2)
        segmentControl.textColor = UIColor.red
        segmentControl.transitionStyle = .fade // Changing to .none will make all other segments look faded, .slide has is the same as .fade
        segmentControl.textFont = UIFont(name: "Montserrat-Regular", size: 12) ?? UIFont.systemFont(ofSize: 12)
        segmentControl.cornerRadius = 10
        segmentControl.shadowsEnabled = false
        segmentControl.shapeStyle = .roundedRect
        return segmentControl
    }()

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        view.addSubview(mySegmentControl)
        //mySegmentControl.translatesAutoresizingMaskIntoConstraints = false

    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func numberOfSegmentsInSegmentedControl(_ segmentedControl: SJFluidSegmentedControl) -> Int {
        return 3
    }

    func segmentedControl(_ segmentedControl: SJFluidSegmentedControl, titleForSegmentAtIndex index: Int) -> String? {
        switch index{
        case 0:
            return "THIS WEEK"
        case 1:
            return "THIS MONTH"
        case 2:
            return "THIS YEAR"
        default:
            return ""
        }
    }

    func segmentedControl(_ segmentedControl: SJFluidSegmentedControl, gradientColorsForSelectedSegmentAtIndex index: Int) -> [UIColor] {
        return [UIColor.red]
    }

}

Thanks for taking the time to read my question.

I noticed setting the current segment to the middle segment solves the problem, but it is a hack at best as I want the current segment to be the left most segment.


Is there a way to set password of an NFC tag or writing to a tag with password ?

I kinda moved at the source code a bit but couldn't find anything about the topic.Am I missing something or the feature didn't implemented yet ?

Currently it is not possible to use passwords with nfc_in_flutter.
I'll try to add it (hopefully) in the beginning of the next year, but only Android will be supported to begin with.

Thanks for the response.I would like to contribute to your work but I am kinda stranger to the NFC topic.If still there is anything I can do feel free to contact me or else I will gladly wait :)

@semlette  i need the password feature please

@semlette, is there anything we can do to get the password protection in your library? Can we help?

@semlette, is there anything we can do to get the password protection in your library? Can we help?

Can I use FlutterNfcKit.transceive method to set the password?

hello;
Hope you are doing great;
I am also working on the same issue in iOS Side using Swift5 but I am not getting any solution to set password protected NFC Tag is there any possibility Please share with me it will help me a lot
Thanks


[api-minor] Replace PDFDocumentProxy.getStats with a synchronous PDFDocumentProxy.stats getter

Please note: These changes will primarily benefit longer documents, somewhat at the expense of e.g. one-page documents.
The existing PDFDocumentProxy.getStats function, which in the default viewer is called for each rendered page, requires a round-trip to the worker-thread in order to obtain the current document stats. In the default viewer, we currently make one such API-call for every rendered page.
This patch proposes replacing that method with a synchronous PDFDocumentProxy.stats getter instead, combined with re-factoring the worker-thread code by adding a DocStats-class to track Stream/Font-types and only send them to the main-thread the first time that a type is encountered.
Note that in practice most PDF documents only use a fairly limited number of Stream/Font-types, which means that in longer documents most of the PDFDocumentProxy.getStats-calls will return the same data.[1]
This re-factoring will obviously benefit longer document the most[2], and could actually be seen as a regression for one-page documents, since in practice there'll usually be a couple of "DocStats" messages sent during the parsing of the first page. However, if the user zooms/rotates the document (which causes re-rendering), note that even a one-page document would start to benefit from these changes.
Another benefit of having the data available/cached in the API is that unless the document stats change during parsing, repeated PDFDocumentProxy.stats-calls will return the same identical object.
This is something that we can easily take advantage of in the default viewer, by now only reporting "documentStats" telemetry[3] when the data actually have changed rather than once per rendered page (again beneficial in longer documents).

[1] Furthermore, the maximium number of StreamType/FontType are 10 respectively 12, which means that regardless of the complexity and page count in a PDF document there'll never be more than twenty-two "DocStats" messages sent; see https://github.com/mozilla/pdf.js/blob/41ac3f0c07128bf34baccdcc067a108c712fd6ef/src/shared/util.js#L206-L232
[2] One example is the pdf.pdf document in the test-suite, where rendering all of its 1310 pages only result in a total of seven "DocStats" messages being sent from the worker-thread.
[3] Reporting telemetry, in Firefox, includes using JSON.stringify on the data and then sending an event to the PdfStreamConverter.jsm-code.
In that code the event is handled and JSON.parse is used to retrieve the data, and in the "documentStats"-case we'll then iterate through the data to avoid double-reporting telemetry; see https://searchfox.org/mozilla-central/rev/8f4c180b87e52f3345ef8a3432d6e54bd1eb18dc/toolkit/components/pdfjs/content/PdfStreamConverter.jsm#515-549

/botio test

Looks really good; thank you for doing this!


Field 382 subfields r, s, and t

Field 382 (Medium of performance) has a subfield r for Total number of individuals performing alongside ensembles, subfield s for Total number of performers and subfield t for Total number of ensembles.  All of the subfields contain only a number.
The conversion places the information in bf:note, which seems awkward to us.  The note label contains both the semantics and the number, which does not facilitate machine processing.
Subfield r
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
        bf:note [ a bf:Note ;
                rdfs:label "Total performers alongside ensembles: 382 r" ] ],

Subfield s
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
        bf:note [ a bf:Note ;
                rdfs:label "Total performers: 382 s" ] ],

Subfield t
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
        bf:note [ a bf:Note ;
                rdfs:label "Total ensembles: 382 t" ] ] ;

It is more straightforward to place the semantics in a label and the number in bf:count, which parallels the treatment of subfields e and n from subfields a, b, d and p.  It would be very helpful to standardize label texts across cataloging agencies to simplify machine processing.
For example:
Subfield r
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
    rdfs:label "Total performers alongside ensembles" ;
    bf:count "382 r" ]

Subfield s
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
    rdfs:label "Total performers" ;
        bf:count "382 s" ]

Subfield t
    [ a bf:MusicMedium ;
        bflc:appliesTo [ a bflc:AppliesTo ;
                rdfs:label "382 3" ] ;
    rdfs:label "Total ensembles" ;
    bf:count "382 t" ]

FWIW, this is more consistent with how subfields e and n are treated in the conversion.


Add HDL tests

All the bitstream generation tests currently used in CI depend on f4pga-examples.
We use the Flow JSON files in .github/*_test.json, but the HDL sources are coming from f4pga-examples.
That was done to get an initial working CI to start using and testing f4pga.
This PR adds minimal HDL sources to this repository, so that tests can be done regardless of f4pga-examples.
Eventually, the flow JSON files from .github should be moved to f4pga-examples, and the tests in this repo should be replaced with the local sources.
Moreover, although SymbiFlow's initial scope was Verilog, it was widened to include other HDLs, such as System Verilog (through Surelog) or VHDL (through GHDL) (https://github.com/SymbiFlow/symbiflow-website/issues/59). There is interest in the community with regard to using SV and/or VHDL to generate bitstreams or for ASICs (https://github.com/chipsalliance/f4pga/issues/292, https://github.com/The-OpenROAD-Project/OpenLane/issues/292...).
This PR shows how the F4PGA ecosystem allows generating bitstreams for Xilinx's 7 Series devices using VHDL sources. In the future, we should also add local SV and SV+Verilog+VHDL tests. There are some SV examples in f4pga-examples, but AFAIAA there is no SV+Verilog+VHDL example in the ecosystem.
Since there is no Conda package for GHDL yet (https://github.com/hdl/conda-eda/issues/171), and f4pga.flows does not support it, a two-step approach is used in this PR. First, a container is used to convert the VHDL design to Verilog. Then, the F4PGA Action is used to generate the bitstream.

Could you explain, why are you including a VHDL test?
f4pga doesn't support VHDL as for now. I you think we can bring support for VHDL with no big effort, that would be an interesting possibility to consider. I think that in that case, we should  probably extend the synth module with input for VHDL if VHDL can be handled by yosys. If an external tool is required to create Verilog from VHDL, a separate module would be better.
I think this something for the future.

I see this has something to do with that litex PR.
So to be more precise - I don't quite get, why this test is here. The tool does not support VHDL. If the flow fails, then it's due to ghdl synth, isn't it?

@kboronski-ant, see the updated description.
Overall, this PR is about showcasing possibilities in the F4PGA ecosystem, not specific about f4pga.flows. As you said, f4pga.flows does not support VHDL yet, and it's not straightforward. Implementing GHDL in f4pga.flows is relatively easy, as you can see in the synth-plugin target of the makefile in this PR. Howver, GHDL is not available in Conda, f4pga.flows does not support executing tools inside containers and there is no container with F4PGA and GHDL.
That's why this PR shows two-step solutions. In the future, when/if GHDL is available in Conda, or if a container is available including F4PGA and GHDL, VHDL tests can be reduced to a single step (a single call to f4pga build).

I see this has something to do with that litex PR.

This PR was created independently of that Litex PR. However, I believe that both Litex and Edalize do implement two-step solutions. They don't use the ghdl-yosys-plugin. Instead, they first use GHDL to convert VHDL to Verilog and then use the regular F4PGA integration.

If the flow fails, then it's due to ghdl synth, isn't it?

It depends. The failure yesterday was because a bug in the flow JSON file of the test. Bugs might be in GHDL, in Yosys, in VPR, in Surelog (when we add SV tests), etc.


Custom run artifacts path

Goal
Give more flexibility to user who have their manifest.json & catalog.json files not stored in /target, which is mainly the case for user using dbt cloud (need to retrieve the file by api call), adding a new parameter to use a custom path allow user not to create an unnecessary targetdir in their cicd pipeline
Description

Add run_artifacts_dir : Path parameter to load_manifest and load_catalog
Add optional run_artifacts_dir parameter to cli

Hey @Fszta, thanks for adding this!
Would you happen to have a bit of time to resolve the conflict in __init__.py?
Thanks!

Thanks a lot @Fszta, this looks nice!
Would you mind adding yourself to the CHANGELOG.md similarly to https://github.com/slidoapp/dbt-coverage/pull/45/files#diff-06572a96a58dc510037d5efa622f9bec8519bc1beab13c9f251e97e657a9d4edR9 ? We can then easily merge this in 🙂
Thanks again!

Sorry @Fszta, the merges from other PRs have made this such that there are again conflicts...
Would you mind resolving them one last time please?

Thanks again @Fszta, this was now released in 0.3.0!
I also took the liberty of adding a bit of documentation on it in the README: https://github.com/slidoapp/dbt-coverage#custom-run-artifacts-path-with---run-artifacts-dir
Hope you like it!


two bug about piranha and semisolid

A bug about  when mario come out a pipe with a piranha in it ，when mario come out pipe ，piranha also come out ，then mario will hurt by the piranha， this bug also exist in the gatete mario engine9.
My suggestion is add or use a parent object replace the playerparent.
A onother bug about when two semisolid is very closed in the y direction，for example ，if semisolid(a) at x = 48 , y = 16,length = 5blocks,semisolid(b) at x = 80 ,y = 32,also length = 5blcoks . if mario walk on semisolid(b) ,and move to rightest , mario will not drop if his head also collision with the semisolid（a）

I have one more question，if mario go to room b from room a ，then mario return room a . blocks and collectible items if mario hit or collected，it will reset or reappear in the room a .
It maybe neet add a global variable in those object when it hit or collected by Mario，and clear those variable when level finish or mario dead.
But i dont know add what kind of codes to resolve this problem.

For the blocks I recommend using a ds_map variable, check the ace coin object to get an example


Consider enabling the sound variance experiment.

@domesticmouse If possible, could the sound variance experiment be enabled on the master channel? (https://github.com/dart-lang/dart-pad/issues/2480#issuecomment-1476323291)

I think we should have DartPad mirror the standard configuration of the SDK; it not it seems like it might get really confusing what the default developer experience is?

[...] like it might get really confusing what the default developer experience is?

It looks to me like most people will be using the stable channel on DartPad because that is the default. It could be confusing to some people, but we already have enabled inline-classes as an experiment and it doesn't seem like that has lead to any issues so far. Furthermore, the channel selector is pretty explicit that there are experiments enabled.

The master channel + experiment flags are really convenient for discovering issues with the experiments.
An alternative would be (which Erik proposed here) to have a "bleeding_edge" channel:
Quote:

[...] or we might add a new channel (perhaps "bleeding_edge") where every experiment that has an experiment flag is enabled (or at least every experiment which isn't considered too incomplete or too unstable to be a useful foundation for exploration).

The point is that this allows developers who are interested in the evolution of Dart to try out various small experiments in Dart-with-X for any experiment X which is included. The same thing could be done using command line tools in a suitable version with --enable-experiment=X, but dart-pad is a very convenient place for trying out small exploratory programs.

Another benefit could be that upcoming experiments are thus being tested more intensively, all enabled at the same time, and this could help detecting bugs that arise because of conflicts between the code enabled for one experiment and that for a different experiment.

For example, the following issues were discovered because the master channel on DartPad enables inline-classes: https://github.com/dart-lang/sdk/issues/52667 & https://github.com/dart-lang/sdk/issues/52674
I'm trying to see if the sound variance experiment is far enough to deal with the following issue: https://github.com/dart-lang/language/issues/3156.

This experiment exist in years, and enabling it will maybe give the idea that it will be a default feature in the master branch (and thus, released in the next stable version).
Instead, we should have a way of enabling/disabling for all experiments in the DartPad menu.

Thanks for the suggestion and discussion here.
For now, we'd like to avoid too much client side configuration in the DartPad UI, especially if it requires changes to the analysis configuration and context due to the setup of the backend.
As for the sound variance experiment, we'll likely stick to only enabling experiments that are more likely to land in upcoming stable releases, and even then, only in the main channel.
Perhaps we can revisit this in the future, but giving DartPad's current goals and support levels, I think this is the best way forward for now. Please feel free to continue the discussion though!


MudListExtended - Multiple values doesn't show Initiallly when ItemCollection set

MudListExtended, @bind-SelectedValues initially loading with 3 selected..... but only one selection is rendered..... if you use the scrollbar or type in the search filter then suddenly it renders correctly.  reproduced with :  https://try.mudblazor.com/snippet/cucxOyvMVJrhvQpK

Yes, it look like we have a bug with ItemCollection approach. Initial values works with RenderFragment approach
https://try.mudblazor.com/snippet/wucRazYhLerRJsIq

Update: It also works on ItemCollection, the problem is Virtualize

Ill link a try

This issue fixed with last release, thanks to @radderz again. We can close it now.


A question about opening a new file.

Hello, in one of my project (https://github.com/ic005k/Knot) integrates the library, but found a problem, is to open the second or more files, there will be a blank, during normal open it again.
At the moment, I get around this problem by opening an empty file before opening one, but I don't think this is a scientific solution.
What do you think about that? thank you.
pdfView.load("")   pdfView.load(pdfPath)
https://github.com/ic005k/Knot/blob/e19e5ceed53f8bc9e3a3d1f19588e1cb159640ea/pdf_module/PdfPage.qml#L35

If you're interested, download the Knot and try it out. Open the pdf file under "Reader."
In the meantime, any suggestions and corrections are welcome. Thank you.

At the moment i cannot try it, but below some suggestions:

I see that in your main.cpp you called QtWebView::initialize();: this is not necessary, because it is already initialized by the QtPdfViewerInitializer (see qtpdfviewerinitializer.cpp). Multiple WebView's initializations could cause issues.

void QtPdfViewerInitializer::initialize()
{
    // To make the Qt WebView module function correctly across all platforms,
    // it is necessary to call QtWebView::initialize() before in Qt>= 5.15.0, or after in Qt<5.15.0, creating
    // the QGuiApplication instance
    QtWebView::initialize();

    // Expose classes to qml
    qmlRegisterType<LTDev::WebSocketTransport>("it.ltdev.qt.cpp.components", 1, 0, "WebSocketTransport");
    qmlRegisterSingletonType<QtPdfViewerInitializer>("it.ltdev.qt.cpp.components", 1, 0, "QtPdfViewerInitializer", &QtPdfViewerInitializer::getQmlInstance);
}

in the sample app, particularly on Android devices, i needed to play with visibility and opacity to correctly show the pdf: the WebView (and the PdfView) is always shown (--> the blank page) even if a file is not loaded. So, to visualize popup errors, like the ones used in the sample, i needed to play with those properties. Maybe your view is in a state where the pdf should be shown but the view is not visible or opacity is 0.

I see that in your  you called : this is not necessary, because it is already initialized by the  (see ). Multiple WebView's initializations could cause issues.main.cpp``QtWebView::initialize();``QtPdfViewerInitializer``qtpdfviewerinitializer.cpp

That's the question. Thank you very much.
Remove 'QtWebView::initialize(); ', everything is fine.

In addition, pdf.js seems to have a new version, I don't know if you have any plans to upgrade them, I am looking forward to it, thank you.
https://github.com/mozilla/pdf.js/releases/tag/v3.1.81

Remove QtWebView::initialize(); , everything is fine

Perfect! Then i consider the issue closed :D

In addition, pdf.js seems to have a new version, I don't know if you have any plans to upgrade them, I am looking forward to it, thank you.

Nope, i haven't any plan to upgrade it to the new version: lots of work would be needed to support older qt versions and android devices. Furthermore, some changes on pdf.js source files were needed to correctly emit signals and capture errors.

In my opinion, this is QML's best pdf solution for Android right now

Thank you! I really appreciate it! :D


Compression even when within parameters

I was wondering it it's intentional that file compressions still proceeds even if a file, for example 500kb, 256px resultion max, is within the parameters defined in options.
const options: Options = {
  maxSizeMB: 2,
  maxWidthOrHeight: 1024,
}

Or is there a switch to change this behavior ?

TLDR: this library won't directly return the input file as the output under any circumstances
This library does more than just compression in the process such as "fixing" orientation from EFIX metadata.
Image files will always be loaded into Canvas at the beginning. If the canvas file size does not exceed the maxSizeMB, the canvas file will be returned.
Currently, there is no plan to add a switch for this behavior.

May I ask what other things it does, maybe you could point me to the file where it checks what needs to be done like EXIF ?
(Also a big THX for this super useful and easy to use library !)

The file will be different once it is loaded into Canvas. The file size may change after it is "exported" back to a file.
(https://github.com/Donaldcwl/browser-image-compression/blob/b1959e08720074eb1dedff8e47d036911acd4cf2/lib/image-compression.js#L55-L92)
Currently, it only checks for EXIF orientation change rotates it if necessary.
(https://github.com/Donaldcwl/browser-image-compression/blob/b1959e08720074eb1dedff8e47d036911acd4cf2/lib/image-compression.js#L65-L68)
If the file size exceeds the maxSizeMB, the compression will kick in.
(https://github.com/Donaldcwl/browser-image-compression/blob/b1959e08720074eb1dedff8e47d036911acd4cf2/lib/image-compression.js#L95-L126)


add more infos on how to profile the javascript #10944

As said in #10944, there's not yet some good infos on how to profile the javascript.
I'm adding a mention to two ways of doing it (react-addons-perf and chrome profiler), feel free to correct me on this.
I almost added an example for react-addons-perf but I'm not sure what's the correct way to use. Here's the way I use it:
import Perf from 'react-addons-perf';

....
    componentDidMount() {
        console.log('start perf tracking');
        Perf.start();
        setTimeout(() => {
            console.log('stop perf tracking');
            Perf.stop();
            Perf.printExclusive();
        }, 10000);
   }
...

That is the correct way to use it for measuring startup time of your app. Feel free to add in the example! Also I think this applies for iOS as well. Maybe we can have one section of the document that is duplicated between both pages?

cc @hramos

@ericvicenti I've duplicated the content, maybe a good thing could be to add a section Profiling JS in Performance.md and link to it from the android profiling doc.

It looks like we only need to document this on Performance.md, which is the platform agnostic Performance doc.

@hramos thanks, I've updated the PR accordingly

@mdamien I edited the PR a bit - a link here is sufficient, no need to replicate that info in the React Native docs: https://facebook.github.io/react/docs/perf.html
@facebook-github-bot shipit


Remove Transform::apply_non_uniform_scale

This is a holdover from back when Transform was backed by a private Mat4 two years ago.
Not particularly useful anymore :)
Migration Guide
Transform::apply_non_uniform_scale has been removed.
It can be replaced with the following snippet:
transform.scale *= scale_factor;

bors r+


Syntax Coloring in VS2015 Preview

The syntax coloring option looks a bit wrong on VS2015 previews dark theme.
See this screenshot.
If I disable the syntax coloring it works ok in the dark theme.

Indent guide/depth colorizer in the dark theme makes all background white (v1.7 in VS 2015 preview), while syntax coloring works OK without the indent option
https://www.dropbox.com/s/s2ey3f8cnq5qbv5/VFST_white.png?dl=0

@buybackoff could you copy-paste the image right into this issue? I don't have access to dropbox.

@mofus @szymoc-a @buybackoff Thanks to Victor, I've got a clue to fix this. Could you guys check v1.7.1 whether the issue still persists https://ci.appveyor.com/project/dungpa/visualfsharppowertools/build/1.8.0-a1501121425/artifacts?

@dungpa fixed, now it works great

Also works for me!

Thanks guys.

In case anyone else finds this issue hoping to learn where VS2015 now stores the current theme: I used Process Monitor to look for it. As of 2015 RC (I guess it may change in RTM), it is here:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\ApplicationPrivateSettings\Microsoft\VisualStudio\ColorTheme

and the format of the string value is harder to read programmatically than it used to be, although still possible:
0*System.String*1ded0138-47ce-435e-84ef-9ec1f439b749

It would be great if there was a public API to access this value, but I haven't been able to find one.

@tgjones Thanks for the tip. I used it in #1058 to make theme detection more robust.

@tgjones I'm successfully using the VSRegistry class from Microsoft.VisualStudio.Shell, like this:
VSRegistry.RegistryRoot(Microsoft.VisualStudio.Shell.Interop.__VsLocalRegistryType.RegType_UserSettings).OpenSubKey("ApplicationPrivateSettings").OpenSubKey("Microsoft").OpenSubKey("VisualStudio").GetValue("ColorTheme", "de3dbbcd-f642-433c-8353-8f1df4370aba", Microsoft.Win32.RegistryValueOptions.DoNotExpandEnvironmentNames)

@tanathos That removes the hardcoded version number - i.e. HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0 - which is nice, but you still need to split the string, in VS2015, to get to the GUID, as far as I can see.

@tgjones yeah, the manual parsing of the value is still needed


Transmission 3.0

Description
transmission-rpc does not take into account Transmission 3.0
How to reproduce
from transmission_rpc import Client
from transmission_rpc import Torrent
torrent_hash='xxxxxxxxxxxxxxxxxxxx'
c = Client(username='myusername', password='mypassword')
print(c.rpc_version)# for me --> 16
torrent=c.get_torrent(torrent_hash)
print(torrent.labels)  #--> builtins.AttributeError:No attribute labels

Is there a field named labels' in torrent._fields`?

O sorry, I didn't realized transmission 3.0 is released. I'll make a update for it.

Is there a labels field in torrent._fields?

No there is not.

should be fixed by version 3.1.0

I just tested: it works.
Thank you for your speed !


Refactor CCM tests.

Have access to the CCMBridge so we can call operations on it. For example, if a test needs to stop, decommission, bootstrap nodes, etc.

Done, one can now call CCMTestsSupport.ccmBridge().

If we implement 1, we have a slight risk that shared context CCMBridge's could affect later tests. To alleviate this we could consider marking created CCM Cluster's as 'single-use' or 'disposable'.

I took some inspiration from Spring Tests and created a new config option: CCMConfig.dirtiesContext. If this option is true, the context is stopped after the tests and removed from the cache.

Also added support for multi-node and multi-dc setups:
@CCMConfig(numberOfNodes = { 3, 3 })

However there is a problem when starting more than one node individually with ccm nodeX start: the command fails starting from 2nd node, because of  --wait-other-notice : previous nodes do not acknowledge the arrival of new nodes.
It seems that multi-node setups need ccm create to specify the -n option that operates some extra magic. Need to investigate further.
Once this is sorted out tests such as ConsistencyTest could be refactored and CCMBridge.CCMCluster removed.

Squashed and rebased on top of current 2.1.

I noticed that the log4j.properties changed to only log at ERROR and omit timestamps, thread name, etc.  Is this intentional?   It's useful to have INFO logs for debugging in CI.

Updated a couple of tests to use CCMTestsSupport (just to get myself more familiar with the framework / test a few things).  This is working super great :+1:

Closing in favor of #566


Allow private chains to rotate validator set without emergency restarts

Currently, private chains that are configured with allow_auction_bids = false requires an emergency restart.
To avoid emergency restarts we can add 3rd mode to allow_auction_bids so add_bid and withdraw_bid can be called by admins only and that should address the problem without violating regulations. Needs more design considerations before proceeding

for starters, its not done via emergency restarts, it's done via a NORMAL upgrade.
for seconders, given that they want a CLOSED validator set and thus the auction is turned off, how do you think it would be done?
the notion that we would secure the auction by checking "administrator account" status is somewhat flawed because it confuses validators with administrators...they are not the same thing. they may coincidentally 100% overlap if made to do so, but mechanically at the code level there is no such enforcement or expectation. if you think about it, you would realize the chicken-vs-egg problems that would occur if they were the same thing.


Mixed Case Font when Creating a New Note

To reproduce
Create a new note using the button in the left file navigation sidebar:

The entered font has a mixed-case formatting:

Expected Behavior
The text in the input box should have the same formatting (case) as the final heading at the top of the note.
Details
Obsidian version: v1.0.3
Installer version: v1.0.3
Operating System: Windows 10

It appears that the Arial font is rendered like this when the Sanctum theme is applied. When i switch to default theme Arial is rendered normally in this picker. For me the issue occurs with a lot of interfaces created by plugins, so i assume a lot of them use Arial in their custom css. (Although it seems odd why they should replace the global font settings.)
I don't know a lot of css, but searching the Sanctum code for some terms i didn't find any reason why the Arial font should be explicitly replaced. Maybe someone more knowledgable can help. I can provide a lot more reproductions in several different contexts.

Okay i can update that this doesn't seem to appear on mobile with the same theme settings, which confuses me even more.
Here is a test with the rich links plugin:

I've seen this intermittently. It comes and goes; I'm not sure what causes it and usually a restart of obsidian seems to fix it.

It looks like this may have been fixed in the latest update of Obsidian (v1.3.4).


Unable to remove last env variable pair in mission control while editing deployment

If this bug restricts your use of space-cloud, give it a thumbs up reaction, so that we can determine which bugs need to be fixed immediately.
👍

Done. Coming in v0.19.3


Switching to another service from dropdown menu doesn't work

Rancher Version: 0.63

Here are screenshots and JS error in console:

Reproduced in v0.63.1.

Version - master UI 3/17
Verified fixed


drag options when wrap map with SingleChildScrollView

i am using the map wrapped with SingleChildScrollView and i cannot drag or do a pinch zoom. Any solutions?

try to put it in GestureDetector and use  behavior: HitTestBehavior.translucent

Still not working. I put the map at the bottom of a column of widget wrapped with SingleChildScrollView, so you got to scroll at the bottom to use the map. Therefore, when i want to drag horizontally or do a pinch zoom, i can't because of the SingleChildScrollView scroll behavior. Can you check if im doing it right?
GestureDetector(
                      behavior: HitTestBehavior.translucent,
                      child: OSMFlutter(
                        controller: controller,
                        osmOption: OSMOption(
                          zoomOption: const ZoomOption(
                            initZoom: 16,
                            minZoomLevel: 3,
                            maxZoomLevel: 19,
                            stepZoom: 1.0,
                          ),
                          userLocationMarker: UserLocationMaker(
                            personMarker: MarkerIcon(
                              icon: Icon(
                                Icons.location_history_rounded,
                                color: Colors.red,
                                size: 48.w,
                              ),
                            ),
                            directionArrowMarker: MarkerIcon(
                              icon: Icon(
                                Icons.location_history_rounded,
                                color: Colors.red,
                                size: 48.w,
                              ),
                            ),
                          ),
                          roadConfiguration: const RoadOption(
                            roadColor: Colors.yellowAccent,
                          ),
                          markerOption: MarkerOption(
                            defaultMarker: MarkerIcon(
                              icon: Icon(
                                Icons.person_pin_circle,
                                color: Colors.blue,
                                size: 56.w,
                              ),
                            ),
                          ),
                        ),
                      ),
                    )

i found a solution in stackoverflow: link here


Add new merge_animations_hook

Problem
I am trying to write an add-on that exports frame events from pose_markers. However, if there is more than one animation with the same name, the merge animations feature only uses extension data from the first animation it finds, and throws out the rest, so using gather_animation_hook is useless at that point.
Proposed Solution
I propose a merge_animations_hook that passes in the list of actions to be merged and the name of the NLA track that the actions will be merged into. This will allow us to add extension data to the merged animation without it being thrown away.
I have tried looking into workarounds that would allow me to prepare extension data in advance, but since the NLA track name is never passed in to the gather_animation_hook, there is no way I can see to associate the incoming animation with the track it will be merged into without forking the project.

Thinking through this a bit longer, another option here is to provide a hook that allows the addon to control how animation extensions are merged, passing in the base animation and the animation whose extensions should be merged in. That way, the core code doesn't need to understand how to merge extensions for animations and that responsibility can be handed off to the addon.


How to load a parquet file from buffer

Describe the usage question you have. Please include as many useful details as  possible.
Here is the code I have try:
// get parquet from http url
cpr::Response r = cpr::Get(cpr::Url{ "http://xxxx.parquet" });
// convert into buffer
std::shared_ptr<arrow::io::BufferReader> arrow_buffer = arrow::io::BufferReader::FromString(r.text);
// load buffer into ParquetFileReader
std::unique_ptr<parquet::ParquetFileReader> parquet_reader = parquet::ParquetFileReader::Open(arrow_buffer);  // runtime error here

Component(s)
C++

Change all the DLL into same type DEBUG fix the problem.


update dotdrop description

Thanks a lot for listing dotdrop. This PR updates the description.
Copyright Assignment

[x] This document is covered by the MIT License, and I agree to contribute this PR under the terms of the license.

Checking back - this needs to have the merge conflicts resolved. Would you like me to do that, or would you prefer to do it yourself?


Add user-defined token parameter to setup API

@samhld this already exists - https://docs.influxdata.com/influxdb/cloud/reference/cli/influx/setup/#:~:text=-t,INFLUX_TOKEN

I think we should close this issue.

No, you're referencing setup option (for the first user [admin], this works)
But we are talking about specify a token value when creating an auth from influx client.
Example;
Just create previously a KingKong user, now i want to create an auth but i want to use a specific token, look what's happening.
The token argument is the API request for this operation, not the final token value.
influx.client auth create --org gorillaCompany --all-access -d gorillaCompanyClientToken -t JhXtLWDao-xO_lkfrzTOWrqlQEVdi-hOAc59h77YfrYJOKR6feyDOaRUGcdn1t8SdFhdxD1fXgWbeFoJZ728Ew== -u KingKong
ID      Description      Token                                                         User Name        User ID          Permissions
09be98b1fa4a6000        gorillaCompanyClientToken       1cGIkLSmiYOCDwPnIIuvEBotNYjaafavJbVEwYhk4V_KM3xHSMT3slZuqa5tlgfl5p4W1YwAvCu8oyz5BQpL4g==       KingKong 09be988cb68a6000 [read:orgs/0864c388a912f3f8/aut

Influx generates a random token.
IDK if it's more clear now.
Fred

Yes, sorry, this is meant to say "auth" API @lesam. Will create a new issue so @lesam 's comments don't look weird with a new title.


Multiplication by imaginary unit generates unstable name

I'm using dask to work with complex-valued arrays and noticed that the dask name is unstable. This example replicates the issue:
import numpy as np
import dask.array as da

A = np.ones((10, 10))*5
B = np.ones((10, 10))*6
A = da.from_array(A, chunks=A.shape)
B = da.from_array(B, chunks=B.shape)
C = A + 1j * B
D = A + 1j * B
print(C.name)
print(D.name)  # this should print the same as the previous line but doesn't.

This originates from the multiplication by 1j. My current workaround is to use np.array([1j]) instead of 1j.

Thank you for tracking this down @estebanag .  Fixed (I think) in https://github.com/dask/dask/pull/2229


Trigger a Jenkins job that takes parameters

I have a Jenkins job that accepts a parameter. Does your action support passing in values for those parameters in your with block? If so, via what variable?

I'm also looking for a solution to this. For example, being able to pass the Github Actions build number.


Evaluate dorusu-js for a substitute for grpc

dorusu is a gRPC implementation written purely in JS: https://github.com/google/dorusu-js
As a quick look, the interface is different from the grpc library, it may need some rewrites on the code base. We want to explore the possibility to substitute our current usage of grpc, and evaluate the performance and the size of the changes to support it.
It is unclear the direction -- this issue simply tracks the evaluation of dorusu, i.e.

the size of the changes to be needed
feature parity (like streaming supports)
performance

cc: @omaray @ofrobots

also @bjwatson @landrito FYI

With grpc-js becoming a thing, I think we'll (eventually) be able to move over to that :)


Fix Enum.ReverbType item descriptions

Changes
Fixed grammar mistakes in the descriptions of a few enum items in Enum.ReverbType.
The description of UnderWater was also changed to be consistent with the others.
Checks
By submitting your pull request for review, you agree to the following:

[X] This contribution was created in whole or in part by me, and I have the right to submit it under the terms of this repository's open source licenses.
[X] I understand and agree that this contribution and a record of it are public, maintained indefinitely, and may be redistributed under the terms of this repository's open source licenses.
[X] To the best of my knowledge, all proposed changes are accurate.

I've also noticed that the name of one item has a mistake in it. CarpettedHallway should be CarpetedHallway. However, I don't know if that is safe to correct.


[ENH] Split DerSimonianLaird and Hedges IBMA estimators

Closes None, but references #196.

Changes proposed in this pull request:

Split Something into DerSimonianLaird and Hedges IBMA estimators
Add IBMA estimator docstrings.
Add PyMARE to intersphinx mapping.

Yeah the likelihood-based estimators are iterative and can't be efficiently parallelized (or at least, it's above my pay grade), so they're not really usable in the neuroimaging context, except maybe for ROI analyses. Probably good to make this clear somehow—minimally, by generating a warning if a user attempts voxel-wise analysis, but possibly even failing unless the user explicitly sets a run_forever flag or something to True.

The likelihood-based estimators do seem to log a warning about parallelized datasets on PyMARE's side, but I can add a usage warning to their NiMARE docstrings in #283. I'd rather hold off on adding a parameter to the classes until a user reports a problem with it.

This is the PR where I added a warning to the Fishers and Stouffers docstrings about them not calculating p-values correctly. I believe that that issue was addressed by https://github.com/neurostuff/PyMARE/pull/49.


Material 3

Use material 3
Screenshot
TODO

Before
After

Codecov Report
Base: 27.59% // Head: 27.99% // Increases project coverage by +0.40% :tada:

Coverage data is based on head (b554a56) compared to base (099820e).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #228      +/-   ##
============================================
+ Coverage     27.59%   27.99%   +0.40%
  Complexity       36       36
============================================
  Files            59       57       -2
  Lines           830      818      -12
  Branches        134      137       +3
============================================
  Hits            229      229
+ Misses          599      587      -12
  Partials          2        2

Impacted Files
Coverage Δ

...ava/com/tfandkusu/template/view/main/AppContent.kt
0.00% <ø> (ø)

...a/com/tfandkusu/template/view/main/MainActivity.kt
0.00% <ø> (ø)

.../com/tfandkusu/template/compose/home/HomeScreen.kt
0.00% <ø> (ø)

...mplate/compose/home/listitem/GitHubRepoListItem.kt
0.00% <ø> (ø)

...java/com/tfandkusu/template/compose/MyTopAppBar.kt
0.00% <0.00%> (ø)

...java/com/tfandkusu/template/ui/theme/MyAppTheme.kt
0.00% <0.00%> (ø)

...java/com/tfandkusu/template/view/error/ApiError.kt
0.00% <ø> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add cryptography to the DC/OS upstream [WIP]

Needed for downstream validation in gen lib.

@malnick needs some help


Make the code testable

Most of the existing tests are slow and rely heavily on running shell processes. Source itself also relies on shell, for example for git. This makes testing hard, especially when you'd want to mock something like git push.
In current tests git push always fails and it's ignored. There is no positive test for --post-success. I need to add a regression test for --post-success failing, for now I'll add a --mock-push option, because any other way requires significant changes, like:

[ ] use nodegit
[ ] make it possible to call the whole program from js instead of doing shell.exec (this will make mocking components possible)

Hi Michal, thanks for your input. You are right. All unit tests are actually integration. They test against a real git repo. It is very hard (impossible) to test and mock post success as it will never succeed. Our friend Brett U added post success flag not too long ago. It was in the latest release.
I had a quick look at nodegit. It looks good. As far as I remember, semantic-release use to use it too.
This is a refactoring for sure. Regarding to the behaviour changes you suggested, we can discuss in the previous issue you created.


Feature: Apply service/auth auth.yaml to casdoor

Current Implementation Description
When we start a new service-auth, for example, first run kubectl apply casdoor.yaml + kubectl apply auth.yaml
we create a new service-auth service with a new casdoor runtime and apply the oauth params into it, it works fine.
Problem
After service started, we want to add/edit some oauth providers or change the callback urls, we cannot just apply the new auth.yaml as it is using k8s's configmap to manage states, witch casdoor is not ever handle it.
Result in no updates will pass to casdoor at all.
Possible Solution
Split configmap into two formats(but keep one yaml config?):

The port/nodePort and/or casdoor's sso page config keep using configmap as it is used by communications between service-auth and k8s and casdoor.
Configs of OAuth Providers and other changes will direct update to casdoor's backend using casdoor's sdk or api call.

Support readconfig from ENV too.
Using some auto update pod when configmap changed controller. like reloader

Agree to fully remove usage of configmap to env or flag
Create a new controller just for reconcile config witch only matched casdoor's backend needs is too heavy, as casdoor's backend is not keep its config under k8s etcd. So just get config from casdoor's api and apply to it is enough.

The structure of the provider is a bit complicated. Could we pass in a json string as an environment variable?

I think we can just pass yaml conf files like currently implication, and echo auth.yaml | ./service-auth -f -- - will do.
env can change configs like port,ssoEndpoint easily, and we can support thing like this.
But Different oauth providers have differ configs(from strings to arrays, different names etc), so likely we do not need to support these using env.
Conclusion:

Support envs for prefer situation.
Update support full config using yaml.


Fix spelling, grammar, typos in CONTRIBUTING, Basic Types, Functions, Interfaces

Fixes #862
I assumed American English as the standard for some spelling.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: eawww sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Support for binary value assignments (e.g., x = 0b01;)

The documentation should note how to create numeric values not only from decimal literals, but also from hexadecimal and (starting in C# 7) binary literals.

@rpetrusha are you working on this already? If so, can you please assign this to you and add the milestone?

@mairaw Done.


Using .NET Core SDK without installing it on dev machines or servers

Hello,
I want to use .Net Core SDK and all other libraries for enterprise application without running the installer but by copying required files and pointing to them from my VSCODE environment. This will greatly simplify setting up my dev environment (which will be a big convenience in my project's case and probably for many other enterprise application builders). My development is all done on Windows OS.
Is there a way I can achieve this?

You can download the SDK binaries directly: https://dotnetcli.blob.core.windows.net/dotnet/preview/Binaries/Latest/dotnet-dev-win-x86.latest.zip
This is a link to our latest preview2.

Thanks, Livar!


Enabled metrics should be configurable via config file

There are two different kinds of metrics, the ones we use for debugging our implementation and ones that are used in production to monitor the node.

Would it perhaps be better to have multiple features for metrics, since adding them usually requires different data structures (see the channels) and this may be best determined at compile time.

I agree, similar to tokio-console, the channel-based metrics should not be exposed to the user. So they can be put behind a feature flag.
In general, I think we should be careful adding new features because they can become unwieldy.


source contral does not work any more in latest version?

Issue Type: Bug
version 1.36.0
VS Code version: Code - Insiders 1.36.0-insider (d04b5d2eb16c156e24dbf44010c315d968694bd6, 2019-06-13T05:19:34.516Z)
OS version: Windows_NT x64 10.0.17763
Remote OS version: Linux x64 4.4.0-119-generic

same here

See also #75411 which gives a more detailed description. See also this comment from me there. @zsj0613 @henrysachs do your workspaces have the "git.enabled": false setting? I found that setting had mysteriously appeared in a couple of my .code-workspace files that previously worked fine with git.

same here


[circleci] Remove caching for baseline build time

This PR will be eliminated. Just want to get a baseline align-build time on circleci

Finished gathering data. Closing this PR.
Time taken to build image: 15 minutes (not counting 3 minutes to save docker cache for future stages)
Time taken to load cached image: 5 minutes


Replace 'Q' js promises with 'bluebird' promises

Currently inside the dynamodb/* plugin code, it uses 'Q' promises (require('q')) to include Promises to the code. Since serverless is already using 'blubird' for Promises which is more capable than 'Q' and to keep the uniformity of promises, this tasks scope is to remove 'Q' promises and replace with 'bluebird' promises and remove, the dependency for 'Q' in package.json

Completed :white_check_mark:


Rewrite of the distributed working page

The Wunderway is being audited today, so no one merge this today please. Comments and feedback are very welcome though.

I like the recommendations very much! Can we somehow condense the recommendations? I imagine the pain points being in one section and then another to highlight the counter-measures and recommendations.
You could also think about adding a chapter on general guidelines/principles, which are behind each of the recommendation. These can be derived from the pain-points, by inverting them.

@huberfl I like the sound of the guidelines! I thought it would be a good idea to keep the problems/suggestions in a Q&A format. Do you think it's better to bunch all the suggestions together?
Do you have any recommendations for suggestions I could remove to condense the list? Thanks

I suggest , for the document to become more appealing, using the selective text highlighting technique in order to increase visibility of tremendously important concepts.
This will enable very important bits of information to stand out when compared to the rest and allow even the most experience of skimmers to perceive the core of the document.

@lewisnyman, I like the "pain --> solution" approach. Hence, I would keep the sections on different areas (aka pains) and how they are particular hard to tackle in a remote setup. In addition, the focus can rather be on the guidelines and examples how to tackle the challenges.
In order to do so, I image the following structure:
Remote pains
intro section, which lists the pain areas (low visibility, camaradie/bonding/team building, etc.) and their detailed challenges.
Guidelines
They are derived from the existing, detailed measures. Guidelines might be:

work out loud / share your status / be outspoken
informal, personal
have backup communication channels
address misunderstandings and conflicts by video
strive for clear, unambiguous communication
request and build a high-quality work environment
respect and learn other's culture, timezones and communication habits

Examples
for each of the guidelines and remote pains, this section will provide more detailed examples. This section can then either be structured by remote pain, or guidelines. Not sure yet, which approach will work better. I can also imagine that the examples section will at one point reference to pages, which deal with exactly one guideline/pain in more detail.

Thanks for these suggestions! I like them.
@huberfl I'm struggling to reduce the guidelines enough to have a simple list of guidelines. Do you have any ideas? You could fork my PR and have a go?

@joesb Thanks, I've fixed the errors you spotted. This should be good to merge.

Nice one @lewisnyman. Merging.


source .zimrc only if newer than init.zsh

The lines that are recommend to be added to the .zshrc at https://github.com/zimfw/install/blob/d4d894bbe8d67633dcdd2b1924759a272d78cb9e/src/templates/zshrc#L94
# Initialize modules
if [[ ${ZIM_HOME}/init.zsh -ot ${ZDOTDIR:-${HOME}}/.zimrc ]]; then
  # Update static initialization script if it's outdated, before sourcing it
  source ${ZIM_HOME}/zimfw.zsh init -q
fi
source ${ZIM_HOME}/init.zsh

do not source .zimrc if its older than init.zsh.
In case init.zsh is updated, why must the modification time of .zimrc also be updated?

@Konfekt, it's intended to update init.zsh in case .zimrc was updated (not the other way around). This is, for example, for when you remove a module from .zimrc and expect it to be gone when you start a new shell.
I'm using -ot because I also want the init.zsh file to be updated/created in case it does not exist. According to the Conditional Expressions manual:
       file1 -ot file2
              true if file1 exists and is older than file2.

But then .zimrc is no longer sourced if init.zsh happens to be newer than .zimrc?
As far as I can see, .zimrc is only sourced at
#  sh/zsh/.zim/zimfw.zsh (line 467)
init) _zimfw_source_zimrc && _zimfw_build ;;

#  sh/zsh/.zim/zimfw.zsh (lines 230-231)
_zimfw_source_zimrc() {
  local -r ztarget=${ZDOTDIR:-${HOME}}/.zimrc

I opened this issue because I did not notice for a while that .zimrc was no longer sourced and then found out it was because init.zsh was newer.
This is not to be expected.

.zimrc is not sourced during startup anymore, because it only should contain the module definitions. It's sourced by the zimfw CLI tool when you use it. Then zimfw builds the init.zsh script based on the module definitions there. That's why we want to make sure init.zsh is up to date by using the code above.
Please check the Changelog.

Got it. I thought that all files in $ZDOTDIR were sourced, but now found that .zimrc forms the exception.

The location of .zimrc didn't change when the new version of Zim was implemented. It went unnoticed that we could have thought of moving it to a different directory...

Yes, one could think of moving it to ~/.config/zimfw/ to distinguish clearly between the files sourced on ZSH startup and managed by zimfw.


LICENSE files in package subdirs

Background:
Hello, the Fuchsia project vendors crates from crates.io, and in order to do so we require explicit license files alongside the source code. Here is the policy: https://fuchsia.dev/fuchsia-src/contribute/governance/policy/open-source-licensing-policies?hl=en#licenses_and_tracking .  In particular, reading the SPDX package/license field from the crate's Cargo.toml is not good enough.
Request:
Could you please add LICENSE-* files to the package subdirectories, specifically renderdoc-sys/ (although you might as well do it for all package dirs that are uploaded to crates.io)?
We are currently using renderdoc-sys 0.7.1. Since crates.io doesn't allow re-uploading the same version with a modified crate, it seems the right thing to do is to upload new a new crate with version 0.7.2.
I'd appreciate if you're able to do this, since I have to file similar issues for many other crate dependencies. But if you don't have the bandwidth to address this issue, please let me know and I'll find time to submit a pull request (although of course I won't be able to upload anything to crates.io)

Sorry for the delayed response! I've created and merged PR #123 and will be publishing an updated release to crates.io very soon.

Sorry for the more delayed response!  Thanks for helping out :-)


[api-minor] Change the pageIndex, on PDFPageProxy instances, to a private property

This property has never been documented and/or intentionally exposed through the API, instead the PDFPageProxy.pageNumber property is the documented/intended API to use here.
Hence pageIndex is changed to a "private" property on PDFPageProxy instances, and internal API functionality is also updated to consistently use this._pageIndex rather than a mix of formats.

/botio test

Yes, this makes more sense and indeed, that property should have been private. Thanks for fixing this!


find a way to monitor const string change

find a way to monitor const string change

added a way just need to get the 192 remaining keys


pull request for e2e test at 11/09/2016 11:45:11

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.