Add a Software Heritage provider

Software Heritage¹ is a non-profit multi-stakeholder initiative which collects,
preserves and shares all software that is publicly available in source code
form.
It provides a public API allowing to retrieve any piece of source code
that has been ingested and is identified via its SWHID², including a
growing number of jupyter notbooks.
Thanks to the recent support for SWHID added in repo2docker, this now
bring support to SWHID to binderhub as a Provider.
¹ https://www.softwareheritage.org
² https://docs.softwareheritage.org/devel/swh-model/persistent-identifiers.html#persistent-identifiers
Note: I am not sure I did everything fine in the PR, and I have tested it (I have no minikube or k3s setup on my machine for now), so comments/criticisms very welcome!

Pushed an updated version:

rebased on current master
attempt to fix tests (kind of blindly; cannot execute them locally)

ping

Hi, is there a problem with this PR? what can I do to help it being merged?
Thanks
David
(cc @betatim @manics )

Sorry @douardda , it's the usual problem of a lack of time 😞

No pb, at least it's not some code related problem :-)

I've updated the PR to fix the conflicts, if the tests are OK I would greatly appreciate someone to merge it.
Thank you

humm no idea why the doc building job is failing here, is it related to my changes or is there a (transient) problem with the job?

It's due to https://github.com/jupyterhub/binderhub/issues/1308. Although it's fixed in master RTD builds off your branch (as opposed to merging your branch into upstream which is how GitHub workflows handle PRs)

thanks @manics, I've rebased my PR on current master, let's see how it goes

There is a failure, but it's a dataverse related one:
FAILED binderhub/tests/test_repoproviders.py::test_dataverse[10.7910/DVN/TJCLKP-10.7910/DVN/TJCLKP-3035124.v3.0-https://doi.org/10.7910/DVN/TJCLKP-dataverse-dvn-2ftjclkp]

probably a transient network failure of doi.org.
Do I need to spawn the job again?

I've rerun the CI jobs and it's green :green_heart:
Given that this is in repo2docker it should be fine to add this. I haven't had time to go through the code or test this though, hopefully someone else can review if I don't get round to it?

Thanks @manics

@betatim (gentle) ping?

I've just tried with using a UI only config and hit this error:
[E 210903 18:29:47 web:1789] Uncaught exception GET /_config (<IP_ADDRESS>)
    HTTPServerRequest(protocol='http', host='localhost:8585', method='GET', uri='/_config', version='HTTP/1.1', remote_ip='<IP_ADDRESS>')
    Traceback (most recent call last):
      File "/work/miniforge3/envs/jupyter-dev/lib/python3.9/site-packages/tornado/web.py", line 1704, in _execute
        result = await result
      File "/work/binderhub/config.py", line 13, in get
        self.write(self.generate_config())
      File "/work/binderhub/config.py", line 9, in generate_config
        config[repo_provider_class_alias] = repo_provider_class.labels
    AttributeError: type object 'SWHIDProvider' has no attribute 'labels'

This is also missing a display_name for the UI dropdown.

Respect Sir,
I'm Siddharaj Yadav a computer engineering undergraduate, Pursuing TE at D Y Patil College under (Pune University).
I am new to open source contribution but I am well aware of Python,Django,HTML and Git& GitHub. I would to contribute to your organization but could you please tell me how to get started? Gsoc
Hoping to hear from you soon
Regards
Siddharaj Yadav
mail-<EMAIL_ADDRESS>GitHub - SidharajYadav

@douardda We're planning to merge an auto-formatting PR in two weeks https://github.com/jupyterhub/binderhub/pull/1381
Since the auto-formatting will affect most files we'll give you some help with rebasing this PR if it's not ready to merge in time.

If you can add fixes for my comments I'll review and merge if possible.
FYI there's a (still in development) way to run BinderHub locally with just Docker, this might help you check the BinderHub UI
https://github.com/jupyterhub/binderhub/tree/master/testing/local-binder-local-hub


Upgrade to GPflow2 and TF2

Can we reuse the multioutput functionality from GPflow? Probably not, but worth looking into the implementation so that we can improve ours.

See e6962dee52d6ae7f6c4e45ea89384682b06ec840 and 75868ec692cdebfec7cbdcdad88376609cac456b


ADP containers in CVE Services but not in this repo?

I am not sure whether it is intentional that a CISA ADP container may be present in CVE Services production even though it is not present in the cisagov/vulnrichment repo. For example, if someone has a use case today for discovering all CISA ADP containers as soon as possible, should they be able to look only in cisagov/vulnrichment or is there a requirement that they also explore CVE Services data (through https://github.com/CVEProject/cvelistV5 or some other approach)?
examples:
https://github.com/CVEProject/cvelistV5/blob/a4d237cd57242f1c1a537ea9c778a0792457491e/cves/2024/28xxx/CVE-2024-28996.json#L182-L185
versus
https://github.com/cisagov/vulnrichment/tree/3a926686c711572123b1d07749c09677c9afbb63/2024/28xxx
https://github.com/CVEProject/cvelistV5/blob/a4d237cd57242f1c1a537ea9c778a0792457491e/cves/2024/5xxx/CVE-2024-5485.json#L133-L136
versus
https://github.com/cisagov/vulnrichment/tree/3a926686c711572123b1d07749c09677c9afbb63/2024/5xxx

@ElectricNroff During the migration to ADP production yesterday, the sync to the Vulnrichment GitHub repo was disabled. These records had been enriched and written out to disk after the last Vulnrichment repo sync prior to shutdown. They were included in the bulk load of data to ADP. After the sync was re-enabled, the next time it ran it picked up these records and sync'ed them to the Vulnrichment repo.
While that should not be a common occurrence, it is the case that the repo only updates hourly, but ADP is updated in realtime, so it will be possible to see data faster in ADP, but anything that is in ADP should also be in the repo, with some potential delay.

Like what @jwoytek-cisa said -- there will always be a little delay between the two, and right this moment, the delay is longer than usual, but going forward, it should be pretty one-to-one, per the flowchart:

If you happen to notice a ton of lag, please do report it, since it means there's a bug!


Explanation to why remaining attributes aren't added

Implementation (conditionally)needs following:

net.transport - don't think this information is available to connect
net.sock.peer.port - already setting net.peer.port
net.sock.peer.name - already setting net.peer.name
net.sock.peer.addr - Might need to add
net.sock.family - Information not available to connect

Post-release, we may want to add a PROTOCOL.md file pointing users to the relevant OTel specifications, explaining the cardinality problems with the spec, and explaining why we don't use these attributes.

net.sock.peer.addr: Does not need to be set, from the spec

Note: this section applies to socket connections visible to instrumentations. Instrumentations have limited knowledge about intermediaries communications goes through such as transparent proxies or VPN servers. Higher-level instrumentations such as HTTP don't always have access to the socket-level information and may not be able to populate socket-level attributes.
Socket-level attributes identify peer and host that are directly connected to each other. Since instrumentations may have limited knowledge on network information, instrumentations SHOULD populate such attributes to the best of their knowledge when populate them at all.

Also from the spec:

Additional attribute requirements: At least one of the following sets of attributes is required:
net.sock.peer.addr
net.peer.name

net.transport, might need to be added, but connect interceptors don't have access to this:

net.transport has the following list of well-known values. If one of them applies, then the respective value MUST be used, otherwise a custom value MAY be used.

> Value
Description

ip_tcp
ip_tcp

ip_udp
ip_udp

pipe
Named or anonymous pipe. See note below.

inproc
In-process communication. [1]

other
Something else (non IP-based).

[1]: Signals that there is only in-process communication not using a "real" network protocol in cases where network attributes would normally be expected. Usually all other network attributes can be left out in that case.

net.sock.family - Not required:

Conditionally Required: If and only if net.sock.peer.addr is set.

Closing, connect does not + will not have access to net.transport so it will not be added


Cannot find liftedTree1$1

In Scala 3:
package example
class MySuite extends munit.FunSuite {
  def sum(list: List[Int]): Int = list.sum

  test("sum of a few numbers") {
   assertEquals(sum(List(1,2,0)), 3) // breakpoint here
  }
}

In the logs there is an warning message saying: cannot find local symbol liftedTree1$1.
What is this liftedTree1$1? Should we skip it? What is the associated symbol?

Should be fixed by #599


AddDataField missing functionality - "Show items with no data"

Hello PowerBI guys!,
PowerBI - Desktop has the ability to add: "Show items with no data" to certain measures.

giving a result like this:

However, when using powerbi-report-authoring to set the "Category" (Axis) with the same measure(MonthYear) constructed like this:
const newPrimaryDataField: models.IColumnTarget = {
                $schema: 'http://powerbi.com/product/schema#column',
                column: 'MonthYear',
                table: Table_name
            };

//  Apply new data field
visual.addDataField('Category', newPrimaryDataField);

the end result is a chart with only items with data:

So the main question here is the following:
Is there a way to replicate the "Show items with no data" functionality from PowerBI-Desktop into the structure of the measure created with PowerBI-report-authoring so that the output is the same as in PowerBI-Desktop?
Thank you.

Thank you for reporting this issue. This is a feature request, please add it in the following link where we can collect votes: https://ideas.fabric.microsoft.com/ . If the feature is already there, you can add a vote.


New recipe: cheese cake

I think it is a good idea to add the recipe of cheese cake as a dessert!

Fully agree. How were we able to go without?


Add ZE_API_VERSION_CURRENT_M macro

This enables preprocessor level API version checks, which can be used to guard code that requires a specific version of the API. For example:
#ifdef ZE_API_VERSION_CURRENT_M
#if ZE_API_VERSION_CURRENT_M >= ZE_MAKE_VERSION(1, 9)

namespace {
  // test content
}

#endif
#endif

Our specific use case is the L0 conformance tests repository. Every time tests of newly released features are added, backwards compatibility with older loader releases is broken. Our users can't always choose which version of the loader they have installed, so our goal is to be able to support all loader releases at least back to v1.15 (spec API 1.8).

Will be introduced with v1.10 changes


Deliver task says the package has been successfully uploaded but Fastlane finishes with the error "Upload binary failed"

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Deliver task says the package has been successfully uploaded but Fastlane finishes with the error "Upload binary failed"
I see [10:11:05]: [Transporter]: INFO: The package: /tmp/965582748.itmsp has been successfully uploaded. then: Successfully uploaded package to iTunes Connect. It might take a few minutes until it's visible online but then Fastlane exits with an error and the message Upload binary failed.
Complete output when running fastlane, including the stack trace and command used
NOTE some verbose parts of the output below were removed to stay within GitHub's size limit (and replaced with ... on a line by itself).
[10:02:57]: Using build_number: 30000008
[10:02:57]: -------------------------------------------------
[10:02:57]: --- Step: Verifying required fastlane version ---
[10:02:57]: -------------------------------------------------
[10:02:57]: fastlane version valid
[10:02:58]: ------------------------------
[10:02:58]: --- Step: default_platform ---
[10:02:58]: ------------------------------
[10:03:05]: Driving the lane 'ios deploy' 🚀
[10:03:05]: --------------------------------------
[10:03:05]: --- Step: increment_version_number ---
[10:03:05]: --------------------------------------
[10:03:14]: $ cd /Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project && agvtool new-marketing-version 300000.0.8
[10:03:15]: ▸ Setting CFBundleShortVersionString of project AdvAnimCare to:
[10:03:15]: ▸ 300000.0.8.
[10:03:15]: ▸ Updating CFBundleShortVersionString in Info.plist(s)...
[10:03:15]: ▸ Updated CFBundleShortVersionString in "AdvAnimCare.xcodeproj/../AdvAnimCare/AdvAnimCare-Info.plist" to 300000.0.8
[10:03:15]: ------------------------------------
[10:03:15]: --- Step: increment_build_number ---
[10:03:15]: ------------------------------------
[10:03:15]: $ cd /Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project && agvtool new-version -all 30000008
[10:03:15]: ▸ Setting version of project AdvAnimCare to:
[10:03:15]: ▸ 30000008.
[10:03:15]: ▸ Also setting CFBundleVersion key (assuming it exists)
[10:03:15]: ▸ Updating CFBundleVersion in Info.plist(s)...
[10:03:15]: ▸ Updated CFBundleVersion in "AdvAnimCare.xcodeproj/../AdvAnimCare/AdvAnimCare-Info.plist" to 30000008
[10:03:16]: ---------------------
[10:03:16]: --- Step: produce ---
[10:03:16]: ---------------------

+----------------+----------------------------+
|          Summary for produce 1.1.1          |
+----------------+----------------------------+
| team_id        | V79U32D8T6                 |
| username       | <edited>    |
| app_name       | AdvAnimCare                |
| app_identifier | com.worldbizapps.SID220392 |
| skip_itc       | false                      |
| sku            |<PHONE_NUMBER>                 |
| language       | English                    |
| skip_devcenter | false                      |
+----------------+----------------------------+

[10:03:44]: [DevCenter] App 'com.worldbizapps.SID220392' already exists, nothing to do on the Dev Center
[10:03:47]: [iTC] App 'com.worldbizapps.SID220392' already exists (965582748), nothing to do on iTunes Connect
[10:03:48]: ------------------
[10:03:48]: --- Step: cert ---
[10:03:48]: ------------------

+---------------+-------------------------------------------------+
|                     Summary for cert 1.4.0                      |
+---------------+-------------------------------------------------+
| team_id       | V79U32D8T6                                      |
| username      | <edited>                         |
| development   | false                                           |
| force         | false                                           |
| keychain_path | /Users/vet2pet/Library/Keychains/login.keychain |
+---------------+-------------------------------------------------+

[10:03:49]: Starting login with user '<edited>'
[10:03:50]: Successfully logged in
[10:03:54]: Certificate H5C7ZZSW94 (Vet2Pet LLC) can't be found on your local computer
[10:03:54]: Certificate 7EH3RJHJBJ (Vet2Pet LLC) can't be found on your local computer
[10:03:55]: Found the certificate UH2S9ZYS79 (Vet2Pet LLC) which is installed on the local machine. Using this one.
[10:03:55]: Verifying the certificated is properly installed locally...
[10:03:55]: Successfully installed certificate UH2S9ZYS79
[10:03:55]: Use signing certificate 'UH2S9ZYS79' from now on!
[10:03:55]: ------------------
[10:03:55]: --- Step: sigh ---
[10:03:55]: ------------------

+-------------------------------------+----------------------------+
|                      Summary for sigh 1.4.1                      |
+-------------------------------------+----------------------------+
| team_id                             | V79U32D8T6                 |
| username                            | <edited>    |
| app_identifier                      | com.worldbizapps.SID220392 |
| adhoc                               | false                      |
| skip_install                        | false                      |
| development                         | false                      |
| force                               | false                      |
| ignore_profiles_with_different_name | false                      |
| cert_id                             | UH2S9ZYS79                 |
| skip_fetch_profiles                 | false                      |
| skip_certificate_verification       | false                      |
+-------------------------------------+----------------------------+

[10:03:56]: Starting login with user '<edited>'
[10:03:57]: Successfully logged in
[10:03:57]: Fetching profiles...
[10:04:07]: Found 1 matching profile(s)
[10:04:07]: Downloading provisioning profile...
[10:04:07]: Successfully downloaded provisioning profile...
[10:04:08]: Installing provisioning profile...
/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AppStore_com.worldbizapps.SID220392.mobileprovision
[10:04:08]: Setting Provisioning Profile type to 'app-store'
[10:04:08]: -----------------
[10:04:08]: --- Step: pem ---
[10:04:08]: -----------------

+------------------+------------------------------------+
|                 Summary for PEM 1.3.0                 |
+------------------+------------------------------------+
| team_id          | V79U32D8T6                         |
| username         | <edited>            |
| app_identifier   | com.worldbizapps.SID220392         |
| p12_password     | <edited>                     |
| pem_name         | com.worldbizapps.SID220392-apnProd |
| output_path      | /Volumes/Vet2Pet/Vet2Pet_pems      |
| development      | false                              |
| generate_p12     | true                               |
| force            | false                              |
| save_private_key | true                               |
+------------------+------------------------------------+

[10:04:09]: Starting login with user '<edited>'
[10:04:10]: Successfully logged in
[10:04:11]: Existing push notification profile 'SID220392' is valid for 395 more days.
[10:04:11]: You already have a push certificate, which is active for more than 30 more days. No need to create a new one
[10:04:11]: If you still want to create a new one, use the --force option when running PEM.
[10:04:11]: -----------------
[10:04:11]: --- Step: pem ---
[10:04:11]: -----------------

+------------------+-----------------------------------+
|                Summary for PEM 1.3.0                 |
+------------------+-----------------------------------+
| development      | true                              |
| team_id          | V79U32D8T6                        |
| username         | <edited>           |
| app_identifier   | com.worldbizapps.SID220392        |
| p12_password     | <edited>                    |
| pem_name         | com.worldbizapps.SID220392-apnDev |
| output_path      | /Volumes/Vet2Pet/Vet2Pet_pems     |
| generate_p12     | true                              |
| force            | false                             |
| save_private_key | true                              |
+------------------+-----------------------------------+

[10:04:11]: Starting login with user '<edited>'
[10:04:12]: Successfully logged in
[10:04:12]: Existing push notification profile 'SID220392' is valid for 365 more days.
[10:04:12]: You already have a push certificate, which is active for more than 30 more days. No need to create a new one
[10:04:12]: If you still want to create a new one, use the --force option when running PEM.
[10:04:12]: -----------------
[10:04:12]: --- Step: gym ---
[10:04:12]: -----------------
[10:04:15]: Installing provisioning profile...
[10:04:15]: xcrun xcodebuild -list -project './AdvAnimCare.xcodeproj'

+---------------------------+----------------------------------------------------------------------+
|                                      Summary for gym 1.6.2                                       |
+---------------------------+----------------------------------------------------------------------+
| scheme                    | AdvAnimCare                                                          |
| xcargs                    | HEADER_SEARCH_PATHS='$(OBJROOT)/UninstalledProducts/$(PLATFORM_NA... |
| provisioning_profile_path | /Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.... |
| codesigning_identity      | iPhone Distribution: Vet2Pet LLC (V79U32D8T6)                        |
| export_method             | app-store                                                            |
| project                   | ./AdvAnimCare.xcodeproj                                              |
| destination               | generic/platform=iOS                                                 |
| output_name               | AdvAnimCare                                                          |
| clean                     | false                                                                |
| output_directory          | .                                                                    |
| silent                    | false                                                                |
| use_legacy_build_api      | false                                                                |
| buildlog_path             | ~/Library/Logs/gym                                                   |
+---------------------------+----------------------------------------------------------------------+

[10:04:23]: $ set -o pipefail && xcodebuild -scheme 'AdvAnimCare' -project './AdvAnimCare.xcodeproj' -destination 'generic/platform=iOS' -archivePath '/Users/vet2pet/Library/Developer/Xcode/Archives/2016-03-16/AdvAnimCare 2016-03-16 10.04.23.xcarchive' HEADER_SEARCH_PATHS='$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include' archive CODE_SIGN_IDENTITY='iPhone Distribution: Vet2Pet LLC (V79U32D8T6)' | tee /Users/vet2pet/Library/Logs/gym/AdvAnimCare-AdvAnimCare.log | xcpretty
[10:04:29]: ▸ Building CordovaLib/CordovaLib [Release]
[10:04:29]: ▸ Check Dependencies
[10:04:29]: ▸ Copying NSDictionary+Extensions.h
[10:04:29]: ▸ Copying NSData+Base64.h
[10:04:29]: ▸ Copying CDVInvokedUrlCommand.h
[10:04:29]: ▸ Copying CDVPluginResult.h
[10:04:29]: ▸ Copying CDVPlugin.h
[10:04:29]: ▸ Copying CDVDebug.h
[10:04:29]: ▸ Copying NSMutableArray+QueueAdditions.h
[10:04:29]: ▸ Copying CDVWhitelist.h
[10:04:29]: ▸ Copying CDVURLProtocol.h
...
[10:05:48]: ▸ Archive Succeeded
[10:05:50]: Successfully stored the archive. You can find it in the Xcode Organizer.
[10:05:50]: $ /usr/bin/xcrun /usr/local/lib/ruby/gems/2.2.0/gems/gym-1.6.2/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/6j/ph_y984j1j1c3tf92zzpq0w80000gn/T/gym20160316-8330-1ghm5nu_config.plist' -archivePath '/Users/vet2pet/Library/Developer/Xcode/Archives/2016-03-16/AdvAnimCare 2016-03-16 10.04.23.xcarchive' -exportPath '/var/folders/6j/ph_y984j1j1c3tf92zzpq0w80000gn/T/gym20160316-8330-1ho7l4k.gym_output'
[10:05:59]: Compressing 1 dSYM(s)
[10:05:59]: $ cd '/Users/vet2pet/Library/Developer/Xcode/Archives/2016-03-16/AdvAnimCare 2016-03-16 10.04.23.xcarchive/dSYMs' && zip -r '/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AdvAnimCare.app.dSYM.zip' *.dSYM
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/ (stored 0%)
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/Contents/ (stored 0%)
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/Contents/Info.plist (deflated 52%)
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/Contents/Resources/ (stored 0%)
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/Contents/Resources/DWARF/ (stored 0%)
[10:06:00]: ▸   adding: AdvAnimCare.app.dSYM/Contents/Resources/DWARF/AdvAnimCare (deflated 70%)

[10:06:00]: Successfully exported and compressed dSYM file
[10:06:00]: Successfully exported and signed the ipa file:
[10:06:00]: /Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AdvAnimCare.ipa
[10:06:00]: app id: 965582748
[10:06:00]: ---------------------
[10:06:00]: --- Step: deliver ---
[10:06:00]: ---------------------
[10:06:01]: Login to iTunes Connect (<edited>)
[10:06:05]: Login successful

+--------------------+-----------------------------------------------------------------------------+
|                                      deliver 1.10.4 Summary                                      |
+--------------------+-----------------------------------------------------------------------------+
| force              | true                                                                        |
| username           | <edited>                                                     |
| app_identifier     | com.worldbizapps.SID220392                                                  |
| skip_screenshots   | true                                                                        |
| skip_metadata      | false                                                                       |
| submit_for_review  | false                                                                       |
| automatic_release  | false                                                                       |
| price_tier         | 0                                                                           |
| app_icon           | app-store-icon.png                                                          |
| copyright          | Use it please                                                               |
| primary_category   | Business                                                                    |
| description.en-US  | App description                                                             |
| keywords.en-US     | ["keyword"]                                                                 |
| name.en-US         | AdvAnimCare                                                                 |
| ipa                | /Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios... |
| screenshots_path   | ./fastlane/screenshots                                                      |
| metadata_path      | ./fastlane/metadata                                                         |
| app_version        | 300000.0.8                                                                  |
| skip_binary_upload | false                                                                       |
+--------------------+-----------------------------------------------------------------------------+

[10:06:08]: Making sure the latest version on iTunes Connect matches '300000.0.8' from the ipa file...
[10:06:11]: Successfully set the version to '300000.0.8'
[10:06:11]: Loading './fastlane/metadata/en-US/description.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/keywords.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/release_notes.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/support_url.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/marketing_url.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/name.txt'...
[10:06:11]: Loading './fastlane/metadata/en-US/privacy_url.txt'...
[10:06:11]: Loading './fastlane/metadata/copyright.txt'...
[10:06:11]: Loading './fastlane/metadata/primary_category.txt'...
[10:06:11]: Loading './fastlane/metadata/secondary_category.txt'...
[10:06:11]: Loading './fastlane/metadata/primary_first_sub_category.txt'...
[10:06:11]: Loading './fastlane/metadata/primary_second_sub_category.txt'...
[10:06:11]: Loading './fastlane/metadata/secondary_first_sub_category.txt'...
[10:06:12]: Activating language en-US...
[10:06:14]: Uploading metadata to iTunes Connect
[10:06:16]: Successfully uploaded initial set of metadata to iTunes Connect
[10:06:16]: Price Tier unchanged (tier 0)
[10:06:19]: Uploading app icon...
[10:06:25]: Uploading binary to iTunes Connect
[10:06:26]: Going to upload updated app to iTunes Connect
[10:06:26]: This might take a few minutes, please don't interrupt the script
[10:07:28]: [Transporter]: INFO: Transporter is skipping bundle update check: Already checked recently.
[10:07:30]: [Transporter]: INFO: Logging configured successfully.
...
[10:11:02]: [Transporter]: INFO: Package upload progress: 100% completed
[10:11:02]: [Transporter]: INFO: The Signiant transfer engine's status is DISCONNECTED
[10:11:03]: [Transporter]: INFO: The Signiant transfer engine's status is DISCONNECTED
[10:11:03]: [Transporter]: INFO: The file, metadata.xml, was uploaded successfully.
[10:11:03]: [Transporter]: INFO: The file, e1e31a0bbc0b7f43f6435df071fb088d.ipa, was uploaded successfully.
[10:11:03]: [Transporter]: INFO: The status for the upload is SUCCESSFUL.
[10:11:03]: [Transporter]: INFO: The package's files (965582748.itmsp) uploaded successfully.
[10:11:03]: [Transporter]: INFO: Done performing upload.
[10:11:03]: [Transporter]: DBG-X: The transfer time for the package 965582748.itmsp was 9760 milliseconds.
[10:11:03]: [Transporter]: DBG-X: Throughput information for 965582748.itmsp: 0 minutes, 9.76 seconds, 7.47MB, 783.82KB/sec
[10:11:03]: [Transporter]: INFO: Performing uploadDone notification to Apple for package 965582748.itmsp ...
[10:11:03]: [Transporter]: DBG-X: Deflated 587 bytes to 372
[10:11:03]: [Transporter]: DBG-X: Memory: [JVM] 937M free, 982M total, 982M max [System] (Physical) 59M free, 4096M total (Swap) 729M free, 1024M total
[10:11:03]: [Transporter]: DBG-X: Using operation named: uploadDoneWithArguments
[10:11:03]: [Transporter]: DBG-X: Apple's web service operation input parameters:
[10:11:03]: [Transporter]: DBG-X:   parameter Application = iTMSTransporter
[10:11:03]: [Transporter]: DBG-X:   parameter BaseVersion = 1.8.7
[10:11:03]: [Transporter]: DBG-X:   parameter CPUToken = 114470bc-52f4-477f-9c4c-b0f5b2f4f075/1458137448104
[10:11:03]: [Transporter]: DBG-X:   parameter ClientChecksumInfo = [{FileSize=7833238, CalculatedChecksum=6f64624e349a7143b098cbf25f4e9f62, FileLastModified=1458137185000, Filename=e1e31a0bbc0b7f43f6435df071fb088d.ipa, CalculationTime=106}]
[10:11:03]: [Transporter]: DBG-X:   parameter ExtraTransportLogCompressed = (suppressed)
[10:11:03]: [Transporter]: DBG-X:   parameter FileSizeInfo = {metadata.xml=450, e1e31a0bbc0b7f43f6435df071fb088d.ipa=7833238}
[10:11:03]: [Transporter]: DBG-X:   parameter NewPackageName = 965582748-20160316071050-207.itmsp
[10:11:03]: [Transporter]: DBG-X:   parameter NumberBytesTransferred = 7833688
[10:11:03]: [Transporter]: DBG-X:   parameter OSIdentifier = Mac OS X 10.11.3 (x86_64); jvm=24.80-b07; jre=1.7.0-internal-root_2015_05_12_09_52-b00
[10:11:03]: [Transporter]: DBG-X:   parameter PackagePathWithoutBase = sgr6_pod1/transporter/content/transporter/Vet2PetLLC
[10:11:03]: [Transporter]: DBG-X:   parameter Throttle = 100000
[10:11:03]: [Transporter]: DBG-X:   parameter TransferTime = 9760
[10:11:03]: [Transporter]: DBG-X:   parameter Transport = Signiant
[10:11:03]: [Transporter]: DBG-X:   parameter TransportLogCompressed = (suppressed)
[10:11:03]: [Transporter]: DBG-X:   parameter TransporterArguments = -m upload -u <edited> -p **hidden value** -f /tmp/965582748.itmsp -t Signiant -k 100000
[10:11:03]: [Transporter]: DBG-X:   parameter Username = <edited>
[10:11:03]: [Transporter]: DBG-X:   parameter Version = 1.8.8
[10:11:03]: [Transporter]: DBG-X:   parameter iTMSTransporterMode = upload
[10:11:03]: [Transporter]: INFO: id =<PHONE_NUMBER>1103-512
[10:11:05]: [Transporter]: DBG-X: Apple's web service operation return value:
[10:11:05]: [Transporter]: DBG-X:   parameter Success = true
[10:11:05]: [Transporter]: DBG-X: Unlocking token at path /Users/vet2pet/.itmstransporter/UploadTokens/V2P-build.local_Vet2PetLLC_965582748.itmsp.token
[10:11:05]: [Transporter]: DBG-X: Releasing token file lock
[10:11:05]: [Transporter]: DBG-X: Removing token at path /Users/vet2pet/.itmstransporter/UploadTokens/V2P-build.local_Vet2PetLLC_965582748.itmsp.token
[10:11:05]: [Transporter]: INFO: Done performing uploadDone notification to Apple.
[10:11:05]: [Transporter]: INFO: The package: /tmp/965582748.itmsp has been successfully uploaded.
[10:11:05]: iTunes Transporter successfully finished its job
[10:11:05]: [Transporter]: DBG-X: Returning 0
[10:11:05]: ------------------------------------------------------------------------------------------------------
[10:11:05]: Successfully uploaded package to iTunes Connect. It might take a few minutes until it's visible online.
[10:11:05]: ------------------------------------------------------------------------------------------------------
[10:11:06]: Variable Dump:
[10:11:06]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios deploy", :VERSION_NUMBER=>"300000.0.8", :BUILD_NUMBER=>"There does not seem to be a CURRENT_PROJECT_VERSION key set for this project.  Add this key to your target's expert build settings.", :PRODUCE_APPLE_ID=>"965582748", :CERT_FILE_PATH=>"/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/UH2S9ZYS79.cer", :CERT_CERTIFICATE_ID=>"UH2S9ZYS79", :SIGH_PROFILE_PATH=>"/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AppStore_com.worldbizapps.SID220392.mobileprovision", :SIGH_PROFILE_PATHS=>["/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AppStore_com.worldbizapps.SID220392.mobileprovision"], :SIGH_UDID=>"7845814c-c912-4e62-98ea-205e9fa3e5ee", :SIGH_PROFILE_TYPE=>"app-store", :IPA_OUTPUT_PATH=>"/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AdvAnimCare.ipa", :DSYM_OUTPUT_PATH=>"/Volumes/Vet2Pet/Vet2Pet_builds/advancedanimalcareofco-ver300000.0.8/ios/project/AdvAnimCare.app.dSYM.zip", :XCODEBUILD_ARCHIVE=>"/Users/vet2pet/Library/Developer/Xcode/Archives/2016-03-16/AdvAnimCare 2016-03-16 10.04.23.xcarchive"}
[10:11:06]: Upload binary failed

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | increment_version_number            | 9           |
| 4    | increment_build_number              | 1           |
| 5    | produce                             | 32          |
| 6    | cert                                | 7           |
| 7    | sigh                                | 12          |
| 8    | pem                                 | 2           |
| 9    | pem                                 | 1           |
| 10   | gym                                 | 107         |
| 11   | deliver                             | 305         |
+------+-------------------------------------+-------------+

[10:11:10]: fastlane finished with errors

[!] Upload binary failed

Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
fastlane_version "1.55.0"

require ENV["VARIABLES_FILE"]

default_platform :ios

def certificate_name(certificate_path)
  subject = `openssl x509 -in "#{certificate_path}" -inform der -noout -sha1 -subject`
  subject.match(/.*CN=(.*)\/OU=.*/)[1]
end

platform :ios do
  before_all do
  end

  desc "Deploy a new version to the App Store"
  lane :deploy do |options|
    #team_id $v2p_team_id

    increment_version_number(version_number: ENV["VERSION_NUM"])
    increment_build_number(build_number: options[:build_number])

    # snapshot(
    #   scheme: $v2p_app_name
    # )
    #
    # frameit

    # Create app id in member center and create app in itunes connect
    produce(
      team_id: $v2p_team_id,
      username: $v2p_apple_id,
      app_name: $v2p_app_name,
      app_identifier: $v2p_app_identifier,
      skip_itc: false
    )

    # Generate key and signing cert in member center
    cert(
      team_id: $v2p_team_id,
      username: $v2p_apple_id,
      development: false
    )

    # Create provisioning profile using previously generated cert
    sigh(
      team_id: $v2p_team_id,
      username: $v2p_apple_id,
      app_identifier: $v2p_app_identifier
    )

    # Generate APNS certs
    # !!! If you change password you must also change it in our Vets schema in the app !!!
    pem(
      team_id: $v2p_team_id,
      username: $v2p_apple_id,
      app_identifier: $v2p_app_identifier,
      p12_password: '<edited>',
      pem_name: $v2p_app_identifier+"-apnProd",
      output_path: '/Volumes/Vet2Pet/Vet2Pet_pems'
    )

    pem(
      development: true,
      team_id: $v2p_team_id,
      username: $v2p_apple_id,
      app_identifier: $v2p_app_identifier,
      p12_password: '<edited>',
      pem_name: $v2p_app_identifier+"-apnDev",
      output_path: '/Volumes/Vet2Pet/Vet2Pet_pems'
    )

    gym(
      #app_identifier: $v2p_app_identifier,
      scheme: $v2p_app_name,
      xcargs: "HEADER_SEARCH_PATHS='$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include'",
      provisioning_profile_path: Actions.lane_context[Actions::SharedValues::SIGH_PROFILE_PATH],
      codesigning_identity: certificate_name(Actions.lane_context[Actions::SharedValues::CERT_FILE_PATH])
    )

    puts "app id: " + Actions.lane_context[Actions::SharedValues::PRODUCE_APPLE_ID]

    deliver(force: true,
      #team_id: $v2p_team_id,
      username: $v2p_apple_id,
      app_identifier: $v2p_app_identifier,
      app: Actions.lane_context[Actions::SharedValues::PRODUCE_APPLE_ID],
      skip_screenshots: true,
      skip_metadata: false,
      submit_for_review: false,
      automatic_release: false,
      price_tier: 0,
      app_icon: "app-store-icon.png",
      copyright: "Use it please",
      primary_category: "Business",
      description: {"en-US" => "App description"},
      keywords: {"en-US" => ["keyword"]},
      name: {"en-US" => $v2p_app_name}
    )
  end

  # You can define as many lanes as you want

  after_all do |lane|
  end

  error do |lane, exception|
  end
end

# More information about multiple platforms in fastlane:
# https://github.com/KrauseFx/fastlane/blob/master/docs/Platforms.md

Environment
fastlane version (fastlane -v): fastlane 1.66.0
Do you use bundler, rbenv or rvm?
No. ruby 2.2.3p173 installed via homebrew.

Thanks for the additional report @pauldowman.
Duplicate of issue #3780 and #3768 with Spaceship and the tools that depend on it. In this case, Deliver. @revile posted some additional information in #3768 regarding the differences between the Spaceship request and the request through the web UI.
Looking forward to a fix.

Ah, sorry for the duplicate, I must have been posting this at the same time as #3780!

@pauldowman Don't apologize. I only commented that it was a duplicate to point out that there are multiple users reporting the issue.
More information is always better for those trying to tackle the issue. They'll close and duplicate as needed.

BTW, #3780 is also closed now and the title of #3768 doesn't seem to fit with what I saw, (though I'm sure it's technically correct). I'm not sure if someone looking at the issues would immediately see that it's already known.

@mfurtak I don't want to put any pressure on this, I appreciate all you do and put into Fastlane. I'm just curious if you might have an ETA or time you'd hope to have this shipped?
I have a client project that I had hoped to hand off today, but it will need to wait until this is fixed. I'd like to give them an ETA from my end if at all possible.
But again, no pressure. Thank you again for the work you put into Fastlane, I use it daily on multiple projects, it's a huge lifesaver. 🚀👍

@calebhicks Sorry this is causing so much trouble! We know you rely on fastlane for important stuff.
We're hoping to look into it today or tomorrow since we've seen that it is impacting a number of people!

@asfalcone I've made a PR to get this started (assuming it is the same issue I raised in #3768). I realise it's rough so if you guys are on to it then feel free to decline :)

@calebhicks https://github.com/fastlane/fastlane/pull/3790 Should address the erroneous [!] Upload binary failed message! We should have a release out in just a bit!

We just pushed a fix, could you try updating to the latest version of deliver and let us know if that fixes your problem :+1: https://github.com/fastlane/deliver/releases/tag/1.10.4

Fixed for me! Thanks, you guys are awesome. :star2:


Error exporting

I have Zotero standalone, chrome ext and BBT installed. I can export BibTeX and BibLaTeX fine but exporting the Better-versions give me a javascript error.
Here's the ID: EAFUV3B3.

@fedtpelsen, @stfl: could you please enable "extended debugging" in the BBT preferences, try another export, and submit a new error report? The current logs have only the error, but not the activity leading up to the error.

report id: P3SCK9RW

New ID with extended debugging: WS9ZJDIB

Same problem in both cases. The translator is being handed an empty object, but I can't replicate that on my end. Can you both try https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.77-circle-3110.xpi and subit a new debug log?

UHGR3G3A

This is strange -- I'm getting reference objects that haven't passed through my pipeline. Can you try again with https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.77-circle-3113.xpi ?
I can't yet reproduce this on my end alas, or I wouldn't be bothering you.

ID37J4A4

I just downgraded to 1.6.75 and it works..

Dammit, that rules out one possible cause. You're on Linux, right? Could you get me a real-time debug log? They say to copy to the clipboard, but just start script before you start Zotero. After you've closed Zotero, if you type exit, the whole log will be in a file called typescript.

this version may also tell me more, but I'm afraid BBT is erroring out before I even get to set up the pipeline.

While a real-time log will have the most information, this version has been instrumented to disable itself if it encounters an initialization error (which almost certainly must be the case) and will display that error in the BBT preferences. It may have enough information, and it'll be easier for you (the realtime debug log is not really an easy process).

I will give it a go in a minute

60... 59... 58...
(jk, I'm starting my commute right now so I won't be able to do anything for the next 30 minutes or so)
If it is indeed an init error:

It'll probably be fairly easy to fix, and
I have no idea why I'm not experiencing it.

when I try to open the preferences:
Initialize failed: TypeError: Zotero.BetterBibTeX.CSL.DateParser.addDateParserMonths is not a function

with version 3115:
typescript.txt
3113.txt

Well that localizes the issue but doesn't explain why you're getting an error and I'm not. So frustrating.
Could you try the same (a realtime debug log) with both this version (will still fail but hopefully with informative logging) and this version (there is a decent chance this version will just work, but I'd be a little disappointed if this were the problem).
I think I've isolated the change between .77 and .75 that could yield this particular error; .75 bundled a private copy of the Zotero citation processor, .77 uses the citation processor that's already built into Zotero, but that doesn't explain why there is apparently a difference between the bundled processor you have and the one I have.

Could it be related to the underlying firefox version?
I am using the firefox-esr from debian stable (don't know the version now)
And i haven't tried version 1.6.76

Should really more have to do with the Zotero version rather than the Firefox version. If I have identified the problem correctly, .76 should have the same issue as .77. The two versions I linked to above (variants on .77) will tell me more.
That profile picture of yours, is that from a Holi celebration?

Yes. From holi in Kathmandu :D
I semd you the report tomorrow
On Tue, Oct 18, 2016, 21:40 retorquere<EMAIL_ADDRESS>wrote:

Should really more have to do with the Zotero version rather than the
Firefox version. If I have identified the problem correctly, .76 should
have the same issue as .77. The two versions I linked to above (variants on
.77) will tell me more.
That profile picture of yours, is that from a Holi celebration?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/retorquere/zotero-better-bibtex/issues/576#issuecomment-254616423,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABQqRkhiLdka2yZcHnRCSnn2HnvIpGuoks5q1SCRgaJpZM4KZob-
.

Looking forward to that report, keen to get this solved. I haven't been able to reproduce on my end.
Where I was, Holi got out of hand really rapidly. Colors, yes, but also egg and waste motor oil.

3116.txt
3117 works..
3117.txt

I still get an error with .77
V6PRRVM2
On Wed, Oct 19, 2016 at 10:16 AM, Stefan Lendl<EMAIL_ADDRESS>wrote:

3116.txt
https://github.com/retorquere/zotero-better-bibtex/files/538289/3116.txt
3117 works..
3117.txt
https://github.com/retorquere/zotero-better-bibtex/files/538290/3117.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/retorquere/zotero-better-bibtex/issues/576#issuecomment-254745384,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACVZH0NDNfjoqqrm84s9pbNgdBg0usySks5q1dH4gaJpZM4KZob-
.

3177 works for me too!
On Wed, Oct 19, 2016 at 10:40 AM, Søren Wahlgren<EMAIL_ADDRESS>wrote:

I still get an error with .77
V6PRRVM2
On Wed, Oct 19, 2016 at 10:16 AM, Stefan Lendl<EMAIL_ADDRESS>wrote:

3116.txt
https://github.com/retorquere/zotero-better-bibtex/files/538289/3116.txt
3117 works..
3117.txt
https://github.com/retorquere/zotero-better-bibtex/files/538290/3117.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/retorquere/zotero-better-bibtex/issues/576#issuecomment-254745384,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACVZH0NDNfjoqqrm84s9pbNgdBg0usySks5q1dH4gaJpZM4KZob-
.

3117 ofc.
On Wed, Oct 19, 2016 at 10:59 AM, Søren Wahlgren<EMAIL_ADDRESS>wrote:

3177 works for me too!
On Wed, Oct 19, 2016 at 10:40 AM, Søren Wahlgren<EMAIL_ADDRESS>wrote:

I still get an error with .77
V6PRRVM2
On Wed, Oct 19, 2016 at 10:16 AM, Stefan Lendl<EMAIL_ADDRESS>wrote:

3116.txt
https://github.com/retorquere/zotero-better-bibtex/files/538289/3116.txt
3117 works..
3117.txt
https://github.com/retorquere/zotero-better-bibtex/files/538290/3117.txt
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/retorquere/zotero-better-bibtex/issues/576#issuecomment-254745384,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACVZH0NDNfjoqqrm84s9pbNgdBg0usySks5q1dH4gaJpZM4KZob-
.

Thanks for the confirmation, tests are running. A little disappointing, but so it goes.

This has been merged to master; when #579 clears I'll cut a new release.

new release is out.


Mismatch on RFFT between Cortx-M4 MCU and Python package

Hi,
I am developing a DSP application on a Cortex-M4 based STM32. I am computing the real FFT with arm_rfft_q15.
To make sure my code is correct, I am sending back and forth my data to a python script that runs the cmsis-dsp package available on PyPI.
The issue I am encountering is that the outputs of the MCU code and the Python code sometimes differ by 1 or 2 bits. From my understanding, the output of the two should be exactly the same, and it actually is for other functions like arm_sub_q15 and arm_shift_q15.
Here's a sample input for the function:
[   768,    384,   -704,   -256,   -128,    704,   4096,  -2560,
          -1088,  15104,  11840, -13824,  -7936,   2688,  14592,  14784,
           6400,  -3776,  -3904,  -9344, -13312,  -7936,  -3520,  -1216,
          -2432,   -320,   2176,  -1536,   -768,   1024,   2240,   1664,
          -3392,  -1408,  -1088,   -384,    512,   -128,    -64,   -128,
             64,   -192,   -192,     64,    320,    -64,    384,   -192,
              0,      0,      0,      0,      0,      0,      0,      0,
              0,      0,      0,      0,      0,      0,      0,      0],

And here's the output of the MCU and Python code respectively (only half since symmetric). As you can see, some elements of the two arrays differ by 1-2 LSB:
[ -31,    0,  495,    5,  -15, -732, -803,    3,  189,  788,  553,
       -507, -732, -270, -206,  815,  902,  416,  493, -966, -684, -470,
       -644,  254,  -88,  866,  753,  341,  683, -270,  136, -904, -732,
       -297, -290,  278, -182,  204,   54,  426,  374,  207,  415, -216,
         18, -353, -203, -204, -227,  116,  102,   57,  -78,   64,  163,
         15,  -28, -152,  -94,  -33, -145,  134,   99,  151]

[ -31,    0,  493,    6,  -15, -732, -803,    5,  188,  789,  553,
       -507, -732, -270, -207,  815,  902,  416,  494, -966, -684, -471,
       -643,  254,  -88,  866,  753,  340,  683, -270,  137, -904, -732,
       -297, -291,  279, -183,  204,   54,  426,  374,  207,  415, -217,
         18, -353, -205, -205, -227,  116,  102,   58,  -78,   64,  163,
         16,  -28, -152,  -94,  -33, -145,  134,   99,  153]

Please find below an extract of the code for both platforms:
MCU:
volatile int16_t dsp[MAX_SAMPLES] = {0};
int16_t dsp_buffer_0[MAX_FRAMES*2] = {0}; // Real FFT needs 2*N

  arm_rfft_instance_q15 rfft;
  if (arm_rfft_init_q15( & rfft, MAX_SAMPLES, 0, 1) != ARM_MATH_SUCCESS) {
    return -1;
  }

 arm_rfft_q15( & rfft, dsp, dsp_buffer_0);

Python:
import cmsisdsp as dsp

rfft_inst = dsp.arm_rfft_instance_q15()
dsp.arm_rfft_init_q15(rfft_inst, max_samples, 0, 1)
dsp.arm_rfft_q15(rfft_inst, input_data)

Is this expected behaviour for the python package of CMSIS-DSP? Are the two using a different algorithm?
While this is not a cause of major concern in production, I would like to know more about this issue.
Thank you!

@Sixaxis9 There are indeed differences between the implementations for different architectures. It is done for speed reasons and use the instruction set in a natural way.
For RFFT Q15, there are 3 versions:

A pure C used for M0 and in the Python wrapper.
A version for M4/M7 using DSP extensions
A version for M55/M85 using vector instructions (Helium).

Those versions give slightly different results but if I compute the SNR to compare all the versions I am getting (on your example):
SNR m0 vs. m7 = 55.74 dB
SNR m0 vs. m55 = 53.63 dB
SNR m7 vs. m0 = 55.73 dB
SNR m7 vs. m55 = 55.73 dB
SNR m55 vs. m0 = 53.63 dB
SNR m55 vs. m7 = 55.73 dB

Now if the Q15 version is compared to a double precision reference, the SNR is often below 55 (it depends on the FFT length).
So in practise, the differences between the 3 versions should be too small (compared to other sources of rounding errors) to be a problem.
I agree that it is still a bit annoying that it is not exactly the same result and that you need to revalidate the full chain.
I have used this for the SNR:
def snr(ref,test):
  ref = np.array(ref)
  test = np.array(test)
  signal_energy = np.sum(ref*ref)
  noise_energy = np.sum((ref-test)*(ref-test))
  r = np.where(noise_energy == 0, 0, signal_energy/noise_energy)
  return 10*np.log10(r)

To be totally sure, I have compared to the f64 version (converted to Q15):
res = np.round((1<<15)*scipy.fft.rfft(1.0*np.array(input_data)/(1<<15),norm="forward"))

data["f64"] = np.zeros(NB)
data["f64"][0::2] = np.real(res)[:-1]
data["f64"][1::2] = np.imag(res)[:-1]

The SNR now gives:
SNR m0 vs. f64 = 49.58 dB
SNR m7 vs. f64 = 51.34 dB
SNR m55 vs. f64 = 51.54 dB
SNR f64 vs. m0 = 49.58 dB
SNR f64 vs. m7 = 51.34 dB
SNR f64 vs. m55 = 51.55 dB

Hi @christophe0606,
Thanks a lot for your very clear and incredibly fast explanation!
I hope this issue will help others who scratch their brain to understand why there are small mismatches between the two implementations :)
Great job with CMSIS-DSP, loving them <3


return func breaks next func syntax highlighting

Does this issue occur when all extensions are disabled?: Yes

From https://github.com/microsoft/vscode/issues/232142

VS Code Version:
OS Version: Ubuntu 24.04.1 LTS

Steps to Reproduce:

Open VS Code (https://vscode.dev/)
Create a new tab and paste this:

func abc() func() int {
	return func() int {
		return 5
	}
}

var _ = b()(func() {
    fmt.Println("")
    fmt.Println("")
    fmt.Println("")
})

func b() func(...interface{}) bool {
    return func(...interface{}) bool {
        return true
    }
}

As you can see, fmt.println("") are green

Replace with this code

var _ = b()(func() {
    fmt.Println("")
    fmt.Println("")
    fmt.Println("")
})

func b() func(...interface{}) bool {
    return func(...interface{}) bool {
        return true
    }
}

func abc() func() int {
	return func() int {
		return 5
	}
}

As you can see, fmt.println("") are no longer green

I first saw this issue while opening this file: https://github.com/kubernetes/kubernetes/blob/v1.31.2/test/e2e/dra/dra.go
It happens with any theme.
It also breaks with only this:
func abc() func() {return nil}

var _ = (func() {
    fmt.Println("")
    fmt.Println("")
    fmt.Println("")
})

Thanks for reporting.
I've published a new version to fix this issue. Could you please install the latest version of go-syntax and try it?
v0.7.9

I tried it and it works great now, thank you.


Add pytest marker/fixture for client creation

Currently there's quite a bit of boilerplate code that's getting copy-pasted in each workflow module. This PR moves that code into a pytest marker + fixture for reuse / a more pleasant interface.
Steps here are to:

Add named cluster spec to cluster_kwargs.yaml
Mark test with @pytest.mark.client(<spec-name>)
Add the client fixture to the test (the materialized client will be attached to a cluster with the given spec)

This seems like a decent improvement to me

Thanks for the review @ncclementi!


Upload coverage report to codecov

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@6ce0166). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #3   +/-   ##
=======================================
  Coverage        ?   50.00%
=======================================
  Files           ?        2
  Lines           ?       18
  Branches        ?        0
=======================================
  Hits            ?        9
  Misses          ?        9
  Partials        ?        0

Flag
Coverage Δ

unittests
50.00% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


Fix issue with not building from sdist

This PR fixes the issue reported in #90 that the package could not be built from the source distribution (sdist). It also adds tests to verify building from the source distribution, ensuring this issue does not recur.
The PR also includes a few minor documentation fixes and enhancements.

To be clear, in mmh3 4.* this issue should not occur, as it was introduced in #79.
The commit #79 removed MANIFEST.in, because setup.py is no longer required by setuptools. On my local environment, the default setuptools configuration in pyproject.toml included *.h files during python -m build --sdist, but on other systems, this default configuration does not include them. I’m not sure why this discrepancy occurred, but in any case this PR resolves the issue by explicitly declaring *.h as additional package data."
[tool.setuptools]
include-package-data = true
# ...

[tool.setuptools.package-data]
mmh3 = ["*.h"]


drivers: gpio: test: add driver config and data structs

Add config and data structs to the vnd,gpio test driver as these are required by the GPIO API. Use the dedicated CONFIG_GPIO_INIT_PRIORITY for vnd,gpio test driver initialization priority.
Fixes: #55884

Tested it locally on native_posix, it fixes #55884. The pin configure now fails with a ENOTSUP, which is actually totally fine in my opinion.
Thanks @henrikbrixandersen!


Add the option to provide the python_version on any command

Would be nice to add a param to the resources of the cookbook in order to override the version of python.
For example:
pyenv_pip 'requests' do
  version '2.18.3'
  python_version '2.7.15'
end

This would update the requests library inside the python version 2.7.15 (let's suppose that the python version number 2.7.15 is already installed)
How it sounds like?
In other words, it's just a matter of using "PYTHON_VERSION" environment variable before any python/pip command.

Could you clarify what you mean by using the PYTHON_VERSION environment variable?
Also, what is the use case of this?

Sure,
Suppose that we need to maintain two projects into different versions of
python. I faced some projects running on python 2 and other ones running
into python 3 on the same host. Would be awesome that we could manage their
dependencies independently by setting which version of python we
should use, and plus, running python scripts selecting the proper version
of python.
If you want I can describe more in detail, but in the nutshell that is the
meaning of creating an optional param.
On Thu, Mar 14, 2019, 2:32 AM Darwin D Wu<EMAIL_ADDRESS>wrote:

Could you clarify what you mean by using the PYTHON_VERSION environment
variable?
Also, what is the use case of this?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/darwin67/chef-pyenv/issues/32#issuecomment-472710289,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACkRt-8K_ZgiMmpDmDP42PLcifZNiT15ks5vWd7pgaJpZM4bzL2x
.

Looks like that is something that can be achieved with the virtualenv option?
Did you give it a try?
https://github.com/darwin67/chef-pyenv/blob/master/resources/pip.rb#L24

But even with a different python version or it will depends of the running
global version of python? Virtualenv uses a version of python installed in
order to create a virtualenv. I guess that that code is coupled because on
virtualenv you ought to provide a python version as an optional param.
Isn't?
If I wish to install a python package was a "system" dependency In an non
global python it won't be possible. Right?
And I haven't found the code responsible for creating a virtualenv with the
version of python. As far as I know it will only use the global version
instead.
Oh. There is a workaround. If I set the global python pointing to one
version, install the pip packages and then turn back the python global.
Thanks and sorry for adding too much complexity. Haha
But it stills useful when dealing mainly with systems that is transitioning
from python 2 to 3 and needs to exists at the same machine.
On Fri, Mar 15, 2019, 2:29 AM Darwin D Wu<EMAIL_ADDRESS>wrote:

Looks like that is something that can be achieved with the virtualenv
option?
Did you give it a try?
https://github.com/darwin67/chef-pyenv/blob/master/resources/pip.rb#L24
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/darwin67/chef-pyenv/issues/32#issuecomment-473163704,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACkRt5jCUdGTdc667U4Xg-fwP6UPRaHYks5vWy-sgaJpZM4bzL2x
.

And I haven't found the code responsible for creating a virtualenv with the
version of python. As far as I know it will only use the global version
instead.

Yes, that part doesn't exist yet. So the virtualenv will depend on the python version available at the time when you created the virtualenv.
It might make sense for pyenv_script to accept an argument to tell it which python version to run it in. :)
I'll be happy to review if you want to create a PR for that.

Oh. There is a workaround. If I set the global python pointing to one
version, install the pip packages and then turn back the python global.

Ah yes, like you said in the case for transition, that's basically what I do. Install one python version and the pip packages before moving on to the next.
['2.7', '3.7'].each do |version|
  pyenv_python version

  pyenv_global version

  node['mycookbook']['packages'].each do |pkg| => # an array of python packages to be installed.
    pyenv_pip pkg
  end
end

Looks like this is pretty much resolved, closing.


Toggle filters

Is there any way to toggle the filters for a table?
The only way i could think of to do this right now, is to show/hide a certain row in the table.

hi @Liteolika boss, sorry that we don't have any mechanism to toggle the filters now. But you can still custom it by yourself, for example, when user click something, you remove the filter props from a specific column then rerender.
Please let me know if you have any other questions or issues. thanks


Checksum(CRC32) comparisons against special values.

It is important to only ever compare checksums against each other, and never against fixed values.
It is possible for calculated checksums to have any value, including values like 0, 0x7FFFFFFF and 0xFFFFFFFF, so it is important to never assign any special meaning to a them.
See an example here.

There are situations where you can expect certain CRC values. One such situation is when you calculate the CRC over a block with the block's CRC at the end. In that case the overall CRC will be defined based on how the CRC is defined (usually 0 or -1). But apart from that you're right with this.

True, but that should be stated as such - and ideally calculated at startup. This embeds assumptions about the results about the checksum algorithm, and makes it very hard to update/change it later.
Ideally the code would be written in such a way that the checksum algorithm can be replaced, with no additional tweaking in the rest of the code.
As an example - while investigating a performance issue, I tried to replace the checksum generation with a hardware-calculated one, but it failed due these additional assumptions dotted through the code. (There are numerous crc32 variants, and not all of them produce 0 or -1 outputs for the cases required)

As @BenBE notes, the CRC function we use in LittleFS is well defined when it includes itself at the end (crc(x ++ crc(x)) == 0). Though it is a valid point this restricts LittleFS to checksums where this property holds.

Ideally the code would be written in such a way that the checksum algorithm can be replaced, with no additional tweaking in the rest of the code.

Unfortunately, changing the checksum this way breaks portability. It's probably fine for most embedded applications, but would break any external tooling.
It wouldn't be too hard to add a checksum-type field, though I haven't ran into a compelling reason yet. I'm curious, did you end up needing to use a different checksum?

See an example here.

This one is a bit annoying to replace since it's actually looping over multiple checksums. But I actually have a branch I'm working on that refactors this quite a bit, so it should be easy to adopt there.

No, I didn't end up switching checksums - as far as I could tell, it ended up not being a significant bottleneck on my platform.
At the very least, please document any assumptions made by the code about the checksum results.
Have you considered the possibility of replacing checksums with ECC, allowing the flexibility of fixing a bit flip or two?

I've looked into using ECC before, but so far haven't found an algorithm that's a great fit. ECC is much more expensive and the types used on disks are designed to work with fixed block sizes. It also raises the question of how many bit-flips per byte is expected, though this could be a configurable value.
At the moment it's possible to use ECC in the block device layer, where I think it is a better fit. (And a number of NAND devices already provide ECC on the disk side).

One case I was considering for alternate checksums was to allow cryptographic hashes, in the case you want to create a unique identifier for the state of the filesystem (currently working on a full-filesystem hash). Though I'm not sure what interest there would be in such a feature.


translated Advanced Guide Context

I have created a pull request to this section Advanced Guide.Context. Please check it.

маш их баярлалаа


Create contributing/developer document

I see that you've moved it to "Done" but should it not be closed?


Replace the current site with a Nuxt version

Resolves #54
Draft because a) Nuxt isn't properly set up to work with GitHub or vercte.net, b) I'm not fully convinced that I removed every reference to forumoji-www and/or didn't remove/break some important feature
Edit: and apparently c) there are merge conflicts for removed files for some reason
Issues

[x] Some images are 404'ing despite existing
This is an issue with the fact that I forgot to pull the repository before forking, fixed
[x] The dark mode button still uses absolute links

Could you add back in the blue and blue dark themes?

Working on a better version that actually works


Easy Plugin Model Creation

This topic hints at a few other issues previously brought up, namely:
#928
#356
User Story
As P.D. the Plugin Developer I would like the easiest possible way to extend models
I want to be able to describe my model, and as little as possible
So that my development efforts are minimal, and I can know that I am getting the latest capabilities.
I will know this is done when when I can simply create a model (and potentially 1 or 2 more steps) and have all the views one would expect, including tables, forms, api's, UIs, etc.
Database Changes (Optional)
No
External Dependencies (Optional)
No

I have begun a POC on such a solution, and you can find here: https://github.com/nautobot/nautobot-plugin-golden-config/pull/138

Thanks for the request. In addition to the discussion ongoing on your PR above, I'd just note that some of this also ties in to internal conversations we've had about in the longer term potentially replacing Nautobot's bespoke "generic" view classes with Django's own generic view classes


allOf section with required is not working

Description

The schema combined with required is not generated correctly.
Environment

Package version:
v1.10.1
OS:

[ ] Linux
[ ] Windows
[x] macOS

Node.js version:
v16.14.2
npm version:
8.5.0

Additional context

Definition
openapi: 3.0.3
info:
  title: example
  version: 0.1.0
servers:
- url: https://example.com/v1
paths:
  /path:
    get:
      summary:
      responses:
        '200':
          description: 取得成功
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseSchema'
components:
  schemas:
    ResponseSchema:
      allOf:
        - required:
            - req_property
        - $ref: '#/components/schemas/BaseSchema'
    BaseSchema:
      type: object
      properties:
        req_property:
          type: string
          description: required property in response
        unreq_property:
          type: string
          description: unrequired property in response

Generated
/* eslint-disable */
export type ResponseSchema = string & BaseSchema

export type BaseSchema = {
  /** required property in response */
  req_property?: string | undefined
  /** unrequired property in response */
  unreq_property?: string | undefined
}

Expected
/* eslint-disable */
export type ResponseSchema = {
  /** required property in response */
  req_property: string
  /** unrequired property in response */
  unreq_property?: string | undefined
}

export type BaseSchema = {
  /** required property in response */
  req_property?: string | undefined
  /** unrequired property in response */
  unreq_property?: string | undefined
}

I could not isolate the ResponseSchema.
Instead, I fixed a bug that added a string type in v0.23.0.
/* eslint-disable */
export type ResponseSchema = BaseSchema

export type BaseSchema = {
  /** required property in response */
  req_property?: string | undefined
  /** unrequired property in response */
  unreq_property?: string | undefined
}


Create ebetesa.js

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[ ] I acknowledge that all my contributions will be made under the project's license.

Hello @GeorgiEvgeniev, thanks for making a PR. As far as I can see, these changes don't do anything though. I am going to close this pull request. If you were planning on something more or you had any questions, please do let me know in a comment  here.


Options screen doesn't activate after the first time it's accessed.

Options screen doesn't activate after the first time it's accessed.

It's worse than I thought. If a game ends, when pressing the back button, to go to the main menu, none of the options work.

Dumbass, it was just a matter of using an if/elif block.


Issue of uncorrect sorting of data in a calendar heatmap in vega lite

Hello,
When creating a calendar heatmap, we are finding discrepancies.
We have entered the values of the months to count daily attendance. The problem is that the values are not correctly reported in the order of dates. It seems as if the code moves the graph to the right. For example, in the row Sala2 for the month of January, the data of September of Sala1 are displayed.

Can you help us understand the problem?
In the attachments you can find the code of the chart
vega lite code.txt
Thanky you!
Best,
Luca

It’s possible that the issue is related to how the data is organized. Could you share the PBIX file with a sample dataset for review?

Closing this as it's a potential fix to Vega-Lite. As always, if/when a build emerges that solves the issue, we can update Deneb accordingly.


Bring Source Control Repositories back (Split Source Control) or make option to do so

Version: 1.95.3 (system setup)
Commit: f1a4fb101478ce6ec82fe9627c43efbf9e98c813
Date: 2024-11-13T14:50:04.152Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.22631

I do not know when this change happened, because it seemed to be overnight - sometime during 11/26/2024
I do not recall having VSCode update at all where this change happened out of nowhere.
So how it used to be, Source Control had several different panels - One being called Source Control Repositories, below that Source Control.
The repositories were grouped separately - one for each line/row, from which different branches could be chosen, refreshed, and all other things to be done with the ... (3-dots).
But now, there is a drop down for each repository > (arrow). Which congests things especially for having more than one.
I miss having being able to select each repository one by one and having their (now drop-down contents) being in a separate pane (window block) - which was called Source Control.
With the current version, having multiple repositories can be hard to differentiate which one you want to focus on.

Please give the option for us to be able to bring that view type back

@classicrocker883, could you please provide a screenshot?
Also, can you try the "View: Reset View Locations" command from the command palette.


Handle spaces in filenames

fixes #12

I did add the missing example that covered this bug - it was broken until I fixed the bash logic.


Make the Contact Us! form actually send the message to your mail ID.

Please assign this task to me fot GSSoC'24 lvl 1.

You can check the updated form action at: https://stately-madeleine-f2d211.netlify.app/
also update the mail id in index.html , Line 225 , from<EMAIL_ADDRESS>to your mail ID.
Also kindly accept my PR :).

Please add level 1 label


Fix guessing the MR ID based on the current branch

This PR fixes the lab's "guess" operation for retrieving the MR ID
based on the currently checked-out branch, which was, recently,
causing issues with the testing code.
Currently, if any MR opened from a forked project but with the
same source branch name will get mixed with MRs from the
original project with that name, possibly returning the wrong
ID to the user.
Check the second commit for more detailed information.
Signed-off-by: Bruno Meneguele<EMAIL_ADDRESS>

Unfortunately, I'm not being able to figure out what's going on with the test: why it's failing. Give me a few more hours and I'll have it fixed.

Ok, I had to add an additional commit to fix a few test cases that were changed due to old bogus tests that left the test repo in a weird state (ie. MRs were opened but not closed)


Add macOS support

Would you add a support for macOS?

Hey! Sure. To be honest, I've no experience in MacOS development. Would you mind help me with this?


mediawiki: 1.33.1 -> 1.34.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/mediawiki/versions.
meta.description for mediawiki is: '"The collaborative editing software that runs Wikipedia"'.
meta.homepage for mediawiki is: '"https://www.mediawiki.org/"

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 1.34.0 with grep in /nix/store/961hkkkha1qv1dn071xr4gl3shislbnp-mediawiki-1.34.0

directory tree listing: https://gist.github.com/e83e0cab3f8f334971a5eb9bf69a9676

du listing: https://gist.github.com/dad8a3b7b8da70e4b57eef3430d4d699

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
mediawiki

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/961hkkkha1qv1dn071xr4gl3shislbnp-mediawiki-1.34.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A mediawiki https://github.com/r-ryantm/nixpkgs/archive/9e5179b0b39ac860ac7bf6aa462a2a46fc78eab4.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/961hkkkha1qv1dn071xr4gl3shislbnp-mediawiki-1.34.0
ls -la /nix/store/961hkkkha1qv1dn071xr4gl3shislbnp-mediawiki-1.34.0/bin

Security report (click to expand)

CVEs resolved by this update:

CVE-2019-18611
CVE-2019-18612
CVE-2019-18987
CVE-2019-19708
CVE-2019-19709

CVEs introduced by this update:
none
CVEs present in both versions:
none

cc @redvers for testing.

@GrahamcOfBorg test mediawiki

Hmm.. maybe should upgrade to 1.33.2 instead... @redvers seeing as 1.33.2 is a security release can you please create a PR and backport?

@aanderse what about doing the full upgrade to 1.34.0 on master and separate patch level to 1.33.2 update for 19.09?

Sure that sounds good just as long as this version of wordpress will be supported until past the end of nixos 20.03.

According to the mediawiki life cycle info version 1.34 is supposed be supported until Nov 2020. With a bit of luck 1.35 LTS will even be out when the 20.03 branch off happens.

Thanks @markuskowa! Just need a19.09 security version bump... @redvers?


AoT Compiler does not work on Windows

I'm submitting a ...
[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Do you want to request a feature or report a bug?
Report a bug

What is the current behavior?
Run npm run build:aot, the AOT working on my Mac, but failing on Windows.

What is the expected behavior?
The AOT working on Windows.

Please tell us about your environment:
Windows 10 Home, NodeJS v7.5.0

I try the new version, it works well.


Extend “Interaktive Übungsaufgaben” - Mittel- und Realschule.ipynb with GeoGebra Applets

Felix in name of community wants to have src/2023/...“Interaktive Übungsaufgaben” - Mittel- und Realschule.ipynb but this times adding the GeoGebra Applets.
Improve this notebook, placing a new one in src directory, since it will be used many times from now on.
A new list of ids is attached
AP “Interaktive Übungsaufgaben” - Ordner für Statistik(1).csv

corrected list:
ids.csv

since it's was easily solved we can close this issue


Mocking Uuid::uuid4() in laravel

Hey @ramsey ,
I am trying to create a uuid that is predictable for a specific integration test where I am hitting a route in Laravel and I generate some thumbnails based on the created user uuid.  I am struggling on figuring out how to create a Mockery object that will just return the Uuid::uuid4()->toString() method with a known fake value.
Here is what I have in my eloquent model in Larave User.phpl:
    /**
     * Boot the Uuid trait for the model.
     *
     * @return void
     */
    public static function boot()
    {
        parent::boot();

        static::creating(function ($model) {
            $model->uuid = Uuid::uuid4();
        });
    }

Then my controller is doing this when creating a user:
                $user = Member::create([
                    'email' => $providerUser->getEmail(),
                    'confirmed' => true,
                    'first_name' => $name[0],
                    'last_name' => $name[1]
                ]);

So my integration test is going something I want to just setup top  in the test:
    public function setMockForAllThumbnailSizes()
    {

        $sizes = [40, 50, 80, 150];
        \Storage::shouldReceive('disk')->times(8)->with('s3')->andReturnSelf();

        foreach ($sizes as $size) {
            \File::shouldReceive('get')->once()->with("/tmp/tn-$size-bar-uuid-baz-now.jpeg")->andReturn('some file contents');

            \Storage::shouldReceive('put')->once()->withArgs([
                "images/photos/tn-$size-bar-uuid-baz-now.jpeg",
                'some file contents'
            ])->andReturn(true);

            \Storage::shouldReceive('setVisibility')->once()->withArgs([
                "images/photos/tn-$size-bar-uuid-baz-now.jpeg",
                'public'
            ])->andReturn(true);
        }
    }

You can see the tn-$size-uuid-baz-now.jpeg that is the name of thumnbail that is generated after I create the user.  I want in my test to set the output of Uuid:uuid4() to uuid-baz so that my other tests will work when generating the names of the thumbnails for the user.
I know this is long winded question but I am struggling to figure out how to swap in and control the output.
Have you ever played with Carbon?  Check this out they have a testing aid:
http://carbon.nesbot.com/docs/#api-testing
There is a way to set the now() method:
$knownDate = Carbon::create(2001, 5, 21, 12);          // create testing date
Carbon::setTestNow($knownDate);                        // set the mock (of course this could be a real mock object)
echo Carbon::now();                                    // 2001-05-21 12:00:00

Is there an easy way to do this for Uuid?  If not, it's ok just going on a tangent here which is a nice to have here.

@ramsey btw, I did read your responses here: https://github.com/ramsey/uuid/issues/23  They are all very confusing and I do not understand the correct approach here.

Update: I'm not ignoring your question; I've been dealing with moving, the holidays, death in family, and lack of Internet connectivity over the past few weeks. I hope to address your question later this week. :-)

@ramsey thank you for taking the time to respond, I am sorry to hear about your loss.  I hope you and your family had a great holiday.  Take care.

In #23, the OP couldn't mock Ramsey\Uuid\Uuid because the class was marked final. That restriction has since been removed, and the Uuid class may now be mocked. What you're running into is an issue mocking the return value of Uuid::uuid4(), since it's a static method being called from within a unit under test. Fortunately, there are several ways to go about this.
Here's an example I've whipped up and tested, so I know either of these approaches will work. Let me know if you have any questions or need clarification.
<?php
use PHPUnit\Framework\TestCase;
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidFactory;

class UuidMockTest extends TestCase
{
    public function testKnownUuidByMockingFactory()
    {
        // Create a Uuid object from a known UUID string
        $stringUuid = '253e0f90-8842-4731-91dd-0191816e6a28';
        $uuid = Uuid::fromString($stringUuid);

        // Partial mock of the factory;
        // returns $uuid object when uuid4() is called.
        $factoryMock = \Mockery::mock(UuidFactory::class . '[uuid4]', [
            'uuid4' => $uuid,
        ]);

        // Replace the default factory with our mock
        Uuid::setFactory($factoryMock);

        // Uuid::uuid4() is a proxy to the $factoryMock->uuid4() method, so
        // when Uuid::uuid4() is called, it calls the mocked method on the
        // factory and returns a valid Uuid object that we have defined.
        $this->assertSame($uuid, Uuid::uuid4());
        $this->assertEquals($stringUuid, Uuid::uuid4()->toString());
    }

    /**
     * @runInSeparateProcess
     * @preserveGlobalState disabled
     */
    public function testMockStaticUuidMethodToReturnKnownString()
    {
        // We replace the Ramsey\Uuid\Uuid class with one created by Mockery
        // (using the "alias:" prefix) so that we can mock the static uuid4()
        // method. For this to work without affecting the Ramsey\Uuid\Uuid
        // class used by other tests, we must run this in a separate process
        // with preserveGlobalState disabled (see method annotations).
        \Mockery::mock('alias:' . Uuid::class, [
            'uuid4' => 'uuid-baz',
        ]);

        // We've replaced Ramsey\Uuid\Uuid with our own class that defines the
        // method uuid4(). This method returns the string "uuid-baz."
        $this->assertEquals('uuid-baz', Uuid::uuid4());
    }
}

@cmosguy Did my answer help?

@ramsey thanks for taking the time for writing a very clear test in your response.
This is super informative and helpful. I am now able to use this in my workflow.  I had no clue you could trick phpunit like that @preserveGlobalState disabled and @runInSeparateProcess so that the mocking did not affect other tests, this is really useful.  I hope this issue helps someone else.
Thanks for the super support!

This is how I mocked it
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidInterface;
use Ramsey\Uuid\UuidFactory;

$factoryMock = $this->prophesize(UuidFactory::class);
$uuidInterface = $this->prophesize(UuidInterface::class);

$factoryMock->uuid4()->shouldBeCalled()->willReturn($uuidInterface->reveal());
$uuidInterface->toString()->shouldBeCalled()->willReturn('e36f227c-2946-11e8-b467-0ed5f89f718b');

// Replace the default factory with our mock
Uuid::setFactory($factoryMock->reveal());

This is how I called UUID generator in my class Uuid::uuid4()->toString()

Also don't forget to do:
$defaultFactory = Uuid::getFactory();
...
Uuid::setFactory($defaultFactory);

after your tests are done so you don' mess up other tests/code that uses Uuid

The other day I encountered a similar problem in a project, because the default factory was overwritten inside Uuid.
For me, relying on the Uuid singleton inside the classes to generate UUID's instead of injecting the UuidFactory into the classes seems a bad practice because it couples very tightly the code to this library for instance, and you end up needing to work around the root cause of the issue by adopting the solution @j4r3kb pointed out above.

This is how I did this thanks to https://github.com/baopham/laravel-dynamodb/issues/10#issuecomment-400094100 and https://github.com/ramsey/uuid/issues/147#issuecomment-977640310
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidFactory;

        $defaultFactory = Uuid::getFactory();
        $requestId = $this->faker->uuid;

        // Partial mock of the factory
        // returns $uuid object when uuid4() is called.
        $factoryMock = \Mockery::mock(UuidFactory::class . '[uuid4]', [
            'uuid4' => Uuid::fromString($requestId),
        ]);

        Uuid::setFactory($factoryMock);
        // set back to default
        Uuid::setFactory($defaultFactory);

One more approach if you have multiple calls to the Uuid factory in the tested code but only care about the next single/few of them:
use Ramsey\Uuid\Uuid;
use Ramsey\Uuid\UuidFactory;
use Ramsey\Uuid\UuidFactoryInterface;
use Ramsey\Uuid\UuidInterface;

class PrimedUuidFactory extends UuidFactory
{
    /**
     * @var array<int, UuidInterface>
     */
    private array $uuidList = [];

    public function __construct(
        private UuidFactoryInterface $originalFactory
    ) {
        parent::__construct();
    }

    public function uuid4(): UuidInterface
    {
        $uuid = array_shift($this->uuidList);
        if ($uuid === null) {
            return $this->originalFactory->uuid4();
        }

        return $uuid;
    }

    public function pushUuid(string $uuid4): void
    {
        $this->uuidList[] = Uuid::fromString($uuid4);
    }
}

Then in your test case:
        $uuidFactory = new PrimedUuidFactory(Uuid::getFactory());
        $uuidFactory->pushUuid('38b1020f-97eb-4561-8c95-7591caaebed3');
        Uuid::setFactory($this->uuidFactory);


Has anynone succeed in getting the performance in the paper?

not yet

not yet

hello, May I ask you a question ? I met a problem, in parallel.py, line 160, “output = module(*(input + target), **kwargs)”
TypeError: can only concatenate list (not "tuple") to list，
could you please tell how to slove it

not yet

请问你跑的结果怎么样？我跑出来的结果很差

两年前的项目了，我后面没有继续再跟了。


Consider non server consul_agent issues when running out of disk space

I recently had an issue where my / partition filled up with disk space.  If fixed the issue and later restarted the vm and the consul agent failed to start up.  I believe because one of its database files was not fully written do to running out of disk space.
To fix it i had to delete the contents of /var/vcap/store/consul_agent.
I wonder does a non server need to retain it's database?  Should non servers simply delete this directory every time it starts?
Or perhaps non server consul_agents should consider putting their database in /var/vcap/data which is usually bigger and less prone to running out of space?
Thoughts?

@youngm I believe this was fixed in https://github.com/cloudfoundry-incubator/consul-release/releases/tag/v108

Wow, that's amazing!  Fixes exactly this problem.  Sorry for being lazy.  Thanks @Amit-PivotalLabs !


Logo isn't centered on mobile.

The issue should be refixed in Base and checked (corrected if it's necessary) individually in each template.


LP-194 Implement 'Scottish Private Fund Limited Partnership name' page

JIRA link
https://companieshouse.atlassian.net/browse/LP-194
Change description

New translation texts added, some existing ones reused
New name page
Tests added

Work checklist

[X] Tests added where applicable
[ ] UI changes look good on mobile
[ ] UI changes meet accessibility criteria

Merge instructions
We are committed to keeping commit history clean, consistent and linear.  A BREAKING CHANGE can be part of commits of any type,
types other than fix: and feat: are allowed, for example build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others,
footers other than BREAKING CHANGE: <description> may be provided.

CI: No security warnings found

CI: No security warnings found

CI: No security warnings found


Requirement is incorrect ( you will not need additional licenses)

I was working on CVM issue and with SFB on-premise we discovered user requires PhoneSystem plan.
Refer : https://docs.microsoft.com/en-us/microsoftteams/set-up-phone-system-voicemail#phone-system-with-on-premises-environments
This is unclear, but seems I found some users CVM is working without PhoneSystem, please update the documents.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 469ac0c8-5c06-7f7f-fe1d-8cadb205572a
Version Independent ID: 5c9987d5-4c98-8115-55c8-f629dbd25799
Content: Plan Cloud Voicemail service for on-premises users - Skype for Business Hybrid
Content Source: Skype/SfbHybrid/hybrid/plan-cloud-voicemail.md
Product: skype-for-business-itpro
GitHub Login: @dstrome
Microsoft Alias: dstrome

@Sagamare  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@Sagamare thank you for reaching out and helping improve MS Docs.  Just for clarity, are you suggesting adding a note to these two articles mentioned that additional phone licenses are not needed? If that's not correct, please could you elaborate a bit more.

Hello Lindsay,
If you check below two docs, the information is very confusing, one says Phone System required and one Says Phone System is not required.
https://docs.microsoft.com/en-us/skypeforbusiness/hybrid/plan-cloud-voicemail#requirements
If you have an on-premises only deployment—that is, only Exchange and Skype for Business on-premises servers—but you want to take advantage of Cloud Voicemail, you will not need additional licenses.
https://docs.microsoft.com/en-us/microsoftteams/set-up-phone-system-voicemail
If the Phone System feature isn't included in your plan, you may need to purchase Phone System add-on licenses. You also need to purchase an Exchange Online license. See Microsoft Teams add-on licensinghttps://docs.microsoft.com/en-us/microsoftteams/teams-add-on-licensing/microsoft-teams-add-on-licensing.
Best regards,
Sameer Gamare | Teams & SfB
Working Hours : Mon-Fri | 09:00-06:00pm EST
<EMAIL_ADDRESS>From: Lindsay<EMAIL_ADDRESS>Sent: Monday, April 6, 2020 6:10 PM
To: MicrosoftDocs/OfficeDocs-SkypeForBusiness<EMAIL_ADDRESS>Cc: Sameer Gamare<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/OfficeDocs-SkypeForBusiness] Requirement is incorrect ( you will not need additional licenses) (#4343)
@Sagamarehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSagamare&data=02|01|Sameer.Gamare%40microsoft.com|77f92d5c1ebb474bfdf508d7da279c7c|72f988bf86f141af91ab2d7cd011db47|1|0|637217735981605797&sdata=KQ%2BMdyoYFOHuuAWMlMRanoKQcoL6gRxx5Ht9bObk96k%3D&reserved=0 thank you for reaching out and helping improve MS Docs. Just for clarity, are you suggesting adding a note to these two articles mentioned that additional phone licenses are not needed? If that's not correct, please could you elaborate a bit more.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2FOfficeDocs-SkypeForBusiness%2Fissues%2F4343%23issuecomment-609769113&data=02|01|Sameer.Gamare%40microsoft.com|77f92d5c1ebb474bfdf508d7da279c7c|72f988bf86f141af91ab2d7cd011db47|1|0|637217735981615791&sdata=rGOlmayneEOEdf57b2PmRZel8hvErnCmBxqcUy8XvpY%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAO772S4MG5X6YVIQZIAOZZLRLHERVANCNFSM4LXCEMMA&data=02|01|Sameer.Gamare%40microsoft.com|77f92d5c1ebb474bfdf508d7da279c7c|72f988bf86f141af91ab2d7cd011db47|1|0|637217735981615791&sdata=Qzha%2FoFBcsiJUVoLBt1X5mmOuQ%2BDnRei9ydIKfc9T2k%3D&reserved=0.

@dstrome please could you assist with this issue to clarify whether phone system licenses are required.

@dstrome Wondering if there are any updates on this issue? thanks

@tonysmit Can you confirm whether a pure on-prem deployment of Exchange and SfB requires Phone System licenses if they want to make use of cloud voice mail?

Yes, they need a Phone System license for "cloud voicemail".

Thanks Tony for the confirmation and Lindsay for updating the topic. I've merged the update and am closing this issue.

@tonysmit @dstrome3 @roykuntz @lindspea
This is not correct. Phone System license is not required. Previously it was required for one user to have a Phone System license so that the Business Voice Directory would be created for the SfB Online Tenant. My understanding is that all tenants have been synchronized to BVD and newly provisioned tenants will be sync'd automatically.

@carolynblanding would you like me to do another PR to revert back to original info?


Better timing

Current approach is use requestAnimationFrame, unless requestAnimationFrame isn't 60fps in which case use setTimeout to time frames. Separately, extra frames are run if the audio buffer runs low.
We can do better than this, I think. If requestAnimationFrame isn't 60fps and the browser supports audio, we can drive the emulation from the audio instead of using setTimeout. If audio isn't supported, we fall back on setTimeout.

Fixed by #196.


Error when Building Asset Packs

Hi,
When I building asset packs by the scripted build process, I got an error

can you give a bit more info. ( full stack trace)
I'm guessing the assetPackConfig is null.


Clarify rules for curations and package configurations

Propose to align on set of common rules for curations and package configurations to make it clear and concise for any contributors what is expected and why. Having rules will also help guide the auto generation of these files using orthw.
Below I took a first stab at proposing some rules - I invite all to propose their rules as input for an upcoming ORT TSC discussion.
General
Rule: Re-use the same wording for each type of curations and package configuration
Motivation:
To facilitate automation and ability to understand entries we align on same wording in comments across the ort-config repository each type of curations and package configuration. An example of this would be to use the same sentence for say each VCS path or declared license mapping.
Rule: Use >- over | for YAML multiline strings
Motivation:
Using a | preserves newlines in YAML but it results in visible \n in the resolved configuration in an ORT analyzer result. Using >- which strips new lines and folds lines does not have this issue
Rule: Links should be immutable
Motivation:
Links in comments are used to provide proof to support the curations or package configurations. If a links is not immutable by pointing to say main, master or develop branch of Git repository which likely changes overtime then verifying the proof becomes difficult.
Curations
Rule: Each curation must come with proof
Motivation:
The reason why the curation is needed/valid must be clear to all.
Rule: Individual curations should do only 1 thing
Motivation:
Mixing multiple correction says a VCS url and path curation and a concluded license curations in one block makes review harder and prevents future automation.
Rule: Namespace curations are not allowed
Motivation:
Curations that apply to whole namespaces by only setting the type and namespace of the identifier are not allowed as risk of overwriting valid data due to overbroad package id matching is too big.
Rule: Declared license mapping curations are made without specifying version (range) unless there evidence or relicensing
Motivation:
It’s generally safe to apply a mapping across any version as if a mapping does not map anymore the effect is zero. There is a risk that say a Python library which is ‘BSD licensed’  => BSD-2-Clause becomes invalid when a relicensing to BSD-3-Clause happens. However, from our experience this type of within the same family relicensing is extremely rare. If the package has been relicensed then version ranges should be used to denote the range for which the mapping is valid
Rule: VCS path curations must be for a specific version?
Motivation:
???
Package Configurations
Rule: Path excludes should use as broad matching patterns as much as possible
Motivation:
The larger the amount of path excludes the slower ORT’s evaluator/reporter execution gets so use ‘/tests/’ instead of specifying tens of absolute directory paths to various tests directories.
Rule: Each license finding curation concluded license must come with proof
Motivation:
The reason why the curation is needed/valid must be clear to all.
Rule: Concluded license in license finding curations must preserve license choices
Motivation:
License choices are project/organization-specific and it not upon the ORT community to evaluate which license is better one in case of choice between multiple.

On top of any written contribution rules, we should add automated checks for them wherever possible, as experience shows that contribution guidelines are barely read by anyone.
Actually, I'd even favor automated checks with clear failure messages (that are posted as PR comments instead of being hidden in CI logs) over having basically the same texts written in some contribution guidelines for rules.

Two more rules clarifications:
Package configurations
Rule: Concluded license curation must come with scan results and ScanCode version in commit message
Motivation:
Enable pull request reviewers to verify correctness of the curation and ScanCode version so it possible to reproduce the scan in the future.


Console spam with new forge - fluid changes

The current release of Forge slightly changes the way fluids are handled and as such the following message is now spamming the console. This is with forge <IP_ADDRESS>5.
http://pastebin.com/0jfdiyTm
While it does not initially appear to be causing any harm it is causing the server log files to run up into the 100s of megabyte. I also didn't test in detail that nothing else malfunctioned.
The new versions of Forge are needed for extra utilities and likely the CoFH mods too. As such it may be worth investigating this issue.
If you need any further information please let me know!

I also see this bug on Forge <IP_ADDRESS>0, Compact machines 1.17 and 1.18.

Any chance that we could get a beta build of this? The uploaded (preview 1.19) source doesn't want to compile for some reason. (I haven't modded in a while, so maybe things have changed, but it seems to be having some issues with the Mekanism API when I try to compile.)


Fix header comment in php files

This PR is the result of running the new HeaderCommentFixer, implemented in #1002

:+1:

IMO... This changes license header and should not be voted but discussed with creator.
Any thoughts @fabpot ?

Then @ajgarlag please leave original header and just fix the deformations.

The license header was changed by @fabpot in 926ad7d

:+1:

Wow, then we have various header depending on file? :/
Nice catch then, thanks for pointing it out!
:+1:

Thank you @ajgarlag.