MD5Sum for output, as an action option

@BoPeng I'm developing pipelines for a consortium where we want to distribute the otuputs from SoS runs. We believe it is best to also distribution the MD5SUM associated with outputs. I wonder if we can make SoS do it. The proposed interface is on the action level and not as a parameter. For example:
bash: ... , md5sum = True

That'd be very helpful for our project and probably for others too. What do you think?

hold on, trying really hard to make CI works again now.

Tests are passing..
Why cannot you do
[step]
output: whatever
sh:
   processing

sh: expand=True
  md5sum {_output} > {_output.with_suffix('md5')}

The only case that you cannot do this is when sh is in task, I think.

Sure. It's just that we will have to do it for every workflow step. I think it warrants a shortcut for this feature. For example the decompress option in action download is such a shortcut

But bash is an action, which in theory does not know _output. The only valid place is
[step]
output: whatever

and maybe something like
[steo]
output: whatever, md5=True

Since we are essentially adding an option to file_target.target_signature, or calling something like file_target.save_md5sum(), it could be something like -S md5 (enhanced version of -s that saves md5 for all outputs, and potentially checks md5 for all inputs.

I see ... Are you saying we can do
...
_output.save_md5sum()

at the end of a step? This is good enough I think. We have something like _input.zap() that has a similar interface

I tend to add -S md5 to specify the "type" of signatures. It is ill-defined since we cannot completely rely on md5 since we have other types of targets but in the future we could have something like -S redis://server to use a dedicated signature service.
The advance of this approach is that we can relatively easily do
sos run workflow -s build -S md5

to generate md5 after the workflow has completed, and
sos run workflow -s assert -S md5

to check md5.
However, sos is currently bloated all such features (_input.zap() is one of them) and I am hesitating if we should add additional features like this.

The patch is actually quite simple. When -S md5 is specified, file_target will use complete md5 signature for signature checking, and save .md5 file as an artifact. This applies to all file_target objects and the usual -s ignore, -s build should apply.

Thank you @BoPeng I tested it. It works well!
gw@cordata:~/tmp/05-May-2022$ sos run test.sos  -S md5
INFO: Running test:
INFO: test is completed.
INFO: test output:   2.txt
INFO: Workflow test (ID=w52da6a178fa12077) is executed successfully with 1 completed step.
gw@cordata:~/tmp/05-May-2022$ sos run test.sos  -S md5
INFO: Running test:
INFO: test (index=0) is ignored due to saved signature
INFO: test output:   2.txt
INFO: Workflow test (ID=w52da6a178fa12077) is ignored with 1 ignored step.
gw@cordata:~/tmp/05-May-2022$ sos run test.sos
INFO: Running test:
INFO: test (index=0) is ignored due to saved signature
INFO: test output:   2.txt
INFO: Workflow test (ID=w52da6a178fa12077) is ignored with 1 ignored step.

I like the behavior when -S md5 is dropped during a rerun the partial signature is still recognized and execution skipped.

I like the behavior when -S md5 is dropped during a rerun the partial signature is still recognized and execution skipped.

This could be a bug if your signatures were built without -S md5. With -S md5, the signatures are built using complete md5 instead of partial md5 (using the first and last 500M data), then validation without -S md5 should fail. I could potentially use partial md5 for old signatures but then I will need to calculate md5 twice.
This is a proof-of-concept implementation. We can fine-tune its behavior without future development in mind.

Hmm I see. I was under the impression that when we put in -S md5 we indeed calculate md5 twice, which is the safest and reasonable behavior -- if you agree then we can finalize on that and close this issue without future development in mind? I tried to test it and thought that was the case but now I realize my test above is incomplete!

@BoPeng your proposal in #1454 is hacky but efficient. I don't find it scary. Also, when -S md5 is on there is no need to validate output files because absence of md5sum file indicate problem. I'm not sure about input files to the start of a pipeline and I dont think we need to do anything about it. So with your proposal there plus this patch we should have 2 ways to solved #1454 and that's good enough to me, unless you have other proposals?

Currently the patch generates md5 but missing .md5 does not indicate a failed step (at least not intentionally), which is what #1454 wants. The complexity comes with the two sets of signatures.
With -s default -S md5

If there is no  signature and no md5. This is the initial run, sos generates the "old" database-based signature (for backward compatibility) and .md5 file for any file_target. This happens to all file_target, including input files.
If there is signature and no md5.  This is the rerun of workflow without -S md5, we will generate md5, similar to -s build -S md5.
If there is no signature and existing md5: I assume that md5 is generated for validation and use it to validate content of the file. This is the case when your input files comes with md5, and perhaps the migration of sos projects (copy md5, but not sos signature database which stores on the machine sos runs, not with the project).
If there is signature and existing md5: both signatures will be used to validate.

Now, #1454 talks about a case when SoS crashes and partial output. Regularly sos would proceed (since there is no signature) but you would like to

If the output has no signature and no md5. remove it before starting. This is a completely different feature and is potentially dangerous.

If the output has no signature and no md5. remove it before starting.
Sorry i thought that is already the behavior?

You are right, your "sos crash" scenario confused me. I suppose when that happens, sos knows the file is corrupted and will remove it before starting, but users do not, so having .md5 is an indication only to users?
Then let us do this (with -S md5)

When sos signature is read, if there is an md5 file , it will be used to validate the content when the file is used, regardless of existence of sos signature.
When sos signature is written, a new .md5 file will be written.

Two problems:

When implementing getting both partial and full md5 using one-read, I identified a bug from the previous partial MD5 calculation. I fixed a bug in this PR but then all old signatures will be wrong (sos run will rerun, unless you use -s build).

I cannot validate existing md5 all the time because that will cause md5 to be calculated all the time when files are accessed. I changed the behavior to only generate md5 if md5 files does not exist. However, existing md5 files will also be used for validating (e.g. when bypassing a step).

I fixed a bug in this PR but then all old signatures will be wrong

Oh that's a bit unfortunate but it's good you caught that! I cannot speak for others, but our consortium is starting to run my pipeline this month but I think peopel are just starting. If we can make a release some time soon I'll ask people to update. My own group is small / flexible -- i'll just ask them to run with -s build.

However, existing md5 files will also be used for validating (e.g. when bypassing a step).

and when that fails the output and existing md5 will be removed anyways priorto generating the new output and md5 right? Then I dont see a problem.

Oh that's a bit unfortunate but it's good you caught that!

The bug caused the last 1M of data not counted towards the hash (so 15 M was used instead of 16M). It was an aribitrarily defined partial MD5 so it was never a problem. I can match the new implementation with the old one but it is a bit weird that way.

when that fails the output and existing md5 will be removed anyways priorto generating the new output and md5 right?

Currently

we generate output, then create md5 when signature is saved.
if we generate new output, since the new output is newer, the md5 will be updated.

This is technically not a problem but if sos crash in between, we may have corrupted or missing output file with old md5 file, so it is better to clear .md5 when we start a step.

I can match the new implementation with the old one but it is a bit weird that way.

Again I cannot speak for the others but the new change is fine by me and I can inform SoS/DSC users i know of. I'll leave that for you to decide ...

so it is better to clear .md5 when we start a step.

Great -- with that i dont see other potential problems.

Great -- with that i dont see other potential problems.

Removing existing output files can be dangerous, can we change it to renaming to FILENAME.random_hash? If someone rerun some command by accident, at least the old output files are still there and can be restored. It can be a mess to have these .fa89erf.tmp files around but it should not be too difficult to remove them later on.

Sorry please allow me to clarify -- if someone rerun some command by accident, and the output files are complete, the built-in signature will ensure that the file is skipped. If the output files are corrupted they should be removed anyways. Is there a situation a corrupted file is still useful thus warrant renaming? I guess the answer is yes because corrupted result is better than no result -- is that your only reason for it?

is that your only reason for it?

Say I want to run the pipeline with a different parameter but then realize that it will take another 3 days and I cannot afford it, then the old output is already gone.
It is a rare scenario, but if it is rare, it might be ok to have some .df8dfa.tmp files around, maybe.

Note that .fadf8d.tmp is currently used when sos stops abnormally. For example
[20]
output: 'somefile'
sh:
    generate somefile
sh:
   this step goes wrong.

The old behavior was to remove somefile when the step fails, but somefile may help debug what goes wrong for its next step.

It is a rare scenario, but if it is rare, it might be ok to have some .df8dfa.tmp files around, maybe.

can we only do that when the md5 and file match (indicating no corruption) but scripts change? Or equally good is to remove the random temp after new results are generated. I want to say that i'm fine with occassional tmp files but definitely not cool if they are everywhere.

remove the random temp after new results are generated

I think this is a good idea. Basically removing somefile.dfd8fd.tmp after somefile is generated.

I gave up the idea since glob('filename.??????.tmp') is an expensive operation that is hard to tolerate with lots of output files.
I will merge the PR once the tests pass.

Clearing output before executing is more complicated than I expected. The reason is that we have
[a]
output: something
sos_run('b')

[b]
output: something

When this happens, we actually execute step b before a,. Removing something before executing a will remove the output generated by b.
I have reverted the clear-before-executing code to make the tests pass.

Leave the remaining issues to a separate ticket #1498.

I have released sos 0.23.0


Permissions for env variables

Prerequisites

[x] I am running the latest version. (up upgrade)
[x] I searched to see if the issue already exists.
[x] I inspected the verbose debug output with the -v, --verbose flag.
[x] Are you an Up Pro subscriber?

Description
Up Pro feature request. Would it be possible to set access permissions on env variables of certain stages for up team members? For example, we'd like to limit access to production credentials!

For now I think an IAM role for those member(s) would be the quickest and most bullet-proof way to go. More or less a copy of the default policy with ssm:* changed to only be ssm:Get*, ssm:Describe*, then it should error if they try to change or delete any.
I think we'd be stuck with read access being open, since it needs those values to perform a deploy.


Incorrect time difference display when using "hh:mm:ss" instead of "mm:ss"

Hello, I have encountered this, i am not sure if its intended behavior, I assume its not because it does not make much sense.
moment(airplanes[5].arrival_time - airplanes[5].departure_time).format("mm:ss")
"01:10"

moment(airplanes[5].arrival_time - airplanes[5].departure_time).format("hh:mm:ss")
"12:01:10"

First of all, this looks like a duration, not a timestamp. Second, moment doesn't support formatted duration prints. You can use .to / from:
moment(airplanes[5].arrival_time).from(airplanes[5].departure_time)

Try this plugin: https://github.com/jsmreese/moment-duration-format


Removed path /function/{functionName}/runs

Fixes issue referenced here https://github.com/vmware/dispatch/pull/303#pullrequestreview-103613668
Path /function/{functionName}/runs is removed since it is equivalent to /runs?functionName={functionName}. runFunction (POST) and getFunctionRuns (GET) can now be done using that endpoint.

Note, because of GKE pulling out version 1.8.7 from their available k8s versions, we need to update in CI: https://github.com/vmware/dispatch/pull/314 must go first and this patch must be rebased.

#314 merged, I've updated the branch to retrigger the CI

@rjew you must manually rebase & push this branch, CI got stuck and won't retrigger automatically.

There's an issue with the e2e test failing that has to do with api gateway. I've been looking into it and should have a fix up soon.

Fixed the api errors and passes e2e test now.


Make --three / --two more general

When specifiying --three / --two I would expect that it creates a Pipfile that enforces Python 3 / 2.
But in fact it enforces the concrete Python version installed on my computer.
Wouldn't it be clearer if the existing option --python <version> is used for that purpose while --three/--two is only used for specifing that Python 3 / 2 is enforced (without a specific version) or at least that my version is enforced at minimum?
Then I could use --python 3.6 to enforce python 3.6, while I would use --three to enforce any python 3 environment (or any python 3 greater equal 3.6, if 3.6 is my local installation).
Or did I miss the real intention of the --two / --three / --python parameters?

@mrh1997, thanks for opening an issue to start this discussion. The issue you're encountering is one that isn't nicely solved for all cases. There are trade offs for how we choose to select a python version.
Some users have older versions of Python 3 (3.1, 3.2, 3.3) bound to the python3 symlink despite being deprecated because of their distro. This means given a generic python3 specifier from a user on a system that has Python 3.5 as the default, won't necessarily work on their machine. Pipenv also officially only offers support for Python 2.7 so that means more ambiguous specificity isn't required there.
For those reasons, I don't see us moving back to a more generic model for --two/--three at this time. --python is a legacy artifact from a time when --two/--three were more generic but now still provides (I believe) the ability to specify down to a patch/hotfix version.
Let us know if you have any further thoughts, but I think that's where we're at for the time being. Cheers 🍻

I understand your comment regarding possible problems wth python 3.1-3.3. In fact this came already into my mind.
Thus I proposed alternatively to enforce at least the python version used locally.
If I work with 3.5 this would mean that it is ensured that this project requires 3.5 or higher.
This would ensure that when I checkout an old project (which was created with 3.4) would still be accepted on my PC with my brand new 3.7 installation. This would correspond to the concept of specifiying package versions, which are usually also specified in version ranges instead of fix versions.

@mrh1997, I think it's technically possible for us to provide a >= option, but I believe @kennethreitz intent is for this to be a universally usable lockfile. That way people know things will work identically across machines. Having a range allows subtle variances to creep in and makes debugging build issues harder.
I'll defer to @kennethreitz if he has a different opinion on this, but I think at this time we're unlikely to introduce ambiguity around this specifier.

A >= operator for Python version in Pipfile would make sense, given that the requirements for packages in Pipfile are typically "*". Pipfile.lock could have the most specific Python version possible to ensure reproducibility, but having Pipfile say simultaneously "just give me Flask, I don't care what version" and "I need exactly Python 3.6" doesn't make sense IMHO.

@anowlcalledjosh: In my experience my projects uses features (from flask/python/whatsoever) which are available only in specific versions (and higher).
Thus I usually say: "give me Flask with version >= X" and "give me Python >= Y".
pipenv has excellent support for specificing "give me Flask with version >= X" (pipenv install flask>=X.Y.Z). But for doing the same with the python version I had to modify the Pipfile manually, as --three enforces any Python 3 and --python 3.5 enforces exactly 3.5 but does not accept 3.6.

@mrh1997 Yes, that's basically what I was trying to say – sorry I wasn't clear!


T8422 Floodlight support

Describe the bug
Floodlight camera is seen as disabled and no commands could be sent to it.
To Reproduce
Model: T8422
Device is enabled by the app, start livestream fails with below error. I have also shared the response of 'start_listening' call
2021-10-10 17:56:53.240  ERROR Unexpected error
 RangeError  The value "-128" is invalid for option "size"
details:
{
  code: 'ERR_INVALID_OPT_VALUE'
}
error stack:
• buffer.js:370 alloc
    buffer.js:370:3
• utils.ts:25 stringWithLength
    node_modules/eufy-security-client/src/p2p/utils.ts:25:30
• utils.ts:102 buildIntCommandPayload
    node_modules/eufy-security-client/src/p2p/utils.ts:102:70
• session.ts:337 sendCommandWithInt
    node_modules/eufy-security-client/src/p2p/session.ts:337:25
• station.ts:2359 startLivestream
    node_modules/eufy-security-client/src/http/station.ts:2359:39
• message_handler.ts:100 handle
    src/lib/device/message_handler.ts:100:39
• server.ts:46 device
    src/lib/server.ts:46:34
• server.ts:98 receiveMessage
    src/lib/server.ts:98:58
• server.ts:57 <anonymous>
    src/lib/server.ts:57:53
• events.js:375 emit
    events.js:375:28

Start Listening Response;
station;

        {
          'name': 'Patio',
          'model': 'T8422',
          'serialNumber': 'T8422XYZ',
          'hardwareVersion': 'P1',
          'softwareVersion': '<IP_ADDRESS>',
          'lanIpAddress': 'XYZ',
          'macAddress': 'XYZ',
          'currentMode': 1,
          'guardMode': 1,
          'connected': True
        }

device;

        {
          'name': 'Patio',
          'model': 'T8422',
          'serialNumber': 'T8422XYZ',
          'hardwareVersion': 'P1',
          'softwareVersion': '<IP_ADDRESS>',
          'stationSerialNumber': 'T8422XYZ',
          'enabled': False,
          'motionDetected': False,
          'personDetected': False,
          'personName': '',
          'autoNightvision': True,
          'ledStatus': True,
          'motionDetection': True,
          'pictureUrl': 'XYZ',
          'motionDetectionType': 5,
          'motionDetectionSensivity': 1,
          'light': False,
          'microphone': True,
          'speaker': True,
          'speakerVolume': 80,
          'audioRecording': True,
          'recordingEndClipMotionStops': False,
          'recordingClipLength': 75,
          'recordingRetriggerInterval': 0,
          'videoStreamingQuality': 0,
          'lightSettingsEnable': True,
          'lightSettingsBrightnessManual': 100,
          'lightSettingsBrightnessMotion': 100,
          'lightSettingsBrightnessSchedule': 100,
          'lightSettingsMotionTriggered': True,
          'lightSettingsMotionTriggeredTimer': 30,
          'notificationType': 2
        }

@rpitera us or eu account?

Sorry, for the delay - US Account @bropat.  And thanks so much for looking at this.

@rpitera
I have found the error and fixed it. Have tested all functions successfully :)
The only problem now is the "timeout", which does not always occur.
From tomorrow until Saturday I am on holiday and will not have the opportunity to work on it. I therefore ask for a little patience so that I can also solve this problem. :)

@fuatakgun
yes I have. @rpitera has enabled Performance.

When I have the problem, it persists throughout the connection, mainly with the P2P command 1103. If I disconnect and reconnect and the error does not occur, it runs fine.

Anyway, this new performance setting makes me think of nothing good.... :P
As the description says:
"Enhance stability and fluency when connecting multiple devices"

@fuatakgun
How many devices have you registered at the station?

That's enough for today. I'll be in touch when I return from my holiday.

@fuatakgun
Have you done the test described above?

Added in version 1.2.0

Hi @bropat -- can you have a look when you get a chance at T8424? I am available to test. Thank you


[Storage CMK Key Vault Key Auto Rotation] Add read-only properties for current versioned key in use and last rotation timestamp.

…r current versioned key in use and last rotation timestamp.
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[x] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk


[SPARK-6200] [SQL] Add a manager for dialects

This PR added an independent dialect manager.
support sql statement to manage dialect:
SHOW [EXTENDED] DIALECT -> show dialect name that is being used,if there is extended keyword,show the extended info.
SHOW [EXTENDED] DIALECTS -> show all dialects
CREATE DIALECT dialect_name USING dialect_full_classname -> add a new dialect with name "dialect_name" using the class that "dialect_full_classname" represented
DROP DIALECT dialect_name -> drop a dialect

Can one of the admins verify this patch?

It might be simpler to just accept a dialect via a configuration option. Is the idea here that someone might switch dialects multiple times in a single session?

just some minor comment, this looks good to me

/cc @marmbrus


MAPL fails to build on Cheyenne and Discover

Describe the bug
MAPL fails to build because of a missing MPI::MPI_Fortran target.
System:
Discover and Cheyenne
Additional context
-- Configuring done
CMake Error at /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_add_library.cm
ake:302 (add_library):
  Target "MAPL.pfio" links to target "MPI::MPI_Fortran" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_add_library.cmake:635 (ecbuild_add_library_impl)
  ESMA_cmake/esma_support/esma_add_library.cmake:93 (ecbuild_add_library)
  pfio/CMakeLists.txt:94 (esma_add_library)

CMake Error at /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_add_library.cmake:302 (add_library):
  Target "MAPL.pfio" links to target "MPI::MPI_Fortran" but the target was
  not found.  Perhaps a find_package() call is missing for an IMPORTED
  target, or an ALIAS target is missing?
Call Stack (most recent call first):
  /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_add_library.cmake:635 (ecbuild_add_library_impl)
  ESMA_cmake/esma_support/esma_add_library.cmake:93 (ecbuild_add_library)
  pfio/CMakeLists.txt:94 (esma_add_library)

Just ran into this while building skylab-1.0.0. I think it's related to building MAPL 2.12.3 compared to v2.22.0. There is no find_package(MPI) in v2.12.3. It's either the esma_cmake change or a gftl-shared change.
@climbfuji FYI

My suggestion is to apply a patch that runs find_package(MPI)

Fixed the MPI dependency using find_package(MPI COMPONENTS C Fortran). Next error up:
     134    -- Found ESMF: /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/esmf-8.3.0b09-strrql5/lib/libesmf.so (found version
             "8.3.0")
     135    -- Configuring done
  >> 136    CMake Error at /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_a
            dd_executable.cmake:233 (add_dependencies):
     137      The dependency target "esmf" of target "cub2latlon.x" does not exist.
     138    Call Stack (most recent call first):
     139      base/CMakeLists.txt:83 (ecbuild_add_executable)
     140
     141
  >> 142    CMake Error at /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/ecbuild-3.6.5-zhgkswo/share/ecbuild/cmake/ecbuild_a
            dd_executable.cmake:233 (add_dependencies):
     143      The dependency target "esmf" of target "Regrid_Util.x" does not exist.
     144    Call Stack (most recent call first):
     145      griddedio/CMakeLists.txt:25 (ecbuild_add_executable)
     146
     147
     148    -- Generating done

Ok, I think a better solution might be to add esma_cmake as an actual dependency rather than a resource. Then we can control the version that is used. esma_cmake removed FindESMF in favor of using the one packaged with ESMF.

Funny thing is that it found the library, just a few lines above:
-- Found ESMF: /glade/work/jedipara/cheyenne/spack-stack/spack-stack-v1/envs/skylab-1.0.0-gnu-10.1.0/install/gcc/10.1.0/esmf-8.3.0b09-strrql5/lib/libesmf.so (found version
             "8.3.0")

It apparently makes it past this line in base/CMakeLists.txt:
esma_add_library(
  ${this} SRCS ${srcs}
  DEPENDENCIES MAPL.shared MAPL.constants MAPL.profiler MAPL.pfio MAPL_cfio_r4 PFLOGGER::pflogger GFTL_SHARED::gftl-shared
               esmf NetCDF::NetCDF_Fortran MPI::MPI_Fortran
  TYPE ${MAPL_LIBRARY_TYPE})

but then stumbles over
ecbuild_add_executable (TARGET cub2latlon.x SOURCES cub2latlon_regridder.F90 DEPENDS esmf MAPL.shared)


Optimize the SN stress test client

I have previously stress-tested the sn-miner service and obtained some performance data. (#164)
Now, we need to further understand the operation status of each client during the stress test, such as the response time of ping requests, the types of errors that occur, and the handling of exceptions, in order to understand the processing status of sn under extreme conditions.
So, I try improving the SN stress testing client tool to achieve the above features.

Regarding the stress test simulation, some key data of the test client need to be configured precisely.
1. The number of devices
Different DeviceIDs, generally one sn-client instance for one individual device
2. The ping interval of a single device
The default interval of bdt module is 15s, but the stress test tool can configure this interval, the default can be set to 1s
3. SN call interval
Device simulation sn call, also need to be able to configure the interval
4. The target device of sn call
To the same device call, or different device call (each call to choose a random device), should also be configurable
5. some exception simulation
For example, the wrong device public and private keys, call the target device is not online, etc., can be arranged as needed


Feature Request: support class_alias

Currently class_alias is not supported.
I need this because I would like to use imposter for Twig, but they make use of class_alias, for example here: https://github.com/twigphp/Twig/blob/2.x/src/Environment.php#L995
I think the prefix should be applied to both the alias $origin and $alias.
# from the PHP docs:
class_alias ( string $original , string $alias [, bool $autoload = TRUE ] ) : bool

Just want to let you know that I moved to PHP Scoper.
I tried looking at your code but couldn't wrap my head around the regexes 😅 And even support for class_alias wouldn't be enough to scope Twig. I need the flexibility of what PHP Scoper calls "patcher" to make it work -- unfortunately.
Still want to leave a thumbs up 👍 here for your efforts. Especially with your imposter-plugin the usage is really pleasant. I'm just unfortunate, I guess, in that the only dependency I need to wrap makes scoping really hard. Feel free to close the issue.


Filter enrs in worker

Motivation
Seen in metrics, most ENRs discovered are not relevant. If irrelevant ENRs can be filtered in a separate thread, than that's fewer messages needed to be sent to the main thread.

Description

Check for relevant ENR kvs in worker thread (move logic from onDisoveredENR)
Metric to track ENR relevance of all discovered ENRs
Refactor onDiscoveredENR and onDiscoveredPeer into a single function (remove duplicate logic)
add discoverKadValues to emit all enrs in kadValues for proper ENR relevance filtering.

@wemeetagain The SIM tests failing with checkpoint-sync node not able to sync. Can this change be the cause some issue with the syncing?

Can this change be the cause some issue with the syncing?
Looks like it was just a flaky sim test

:tada: This PR is included in v1.6.0 :tada:


Update GitHub icon's color in dark mode

change the GitHub icon color to white in dark mode .

assign it to me please.

do follow the assest guidelines of github

I referred  to the code and documentation online I got to know that we  cannot change the color of a svg icon with the help of variables defined in the dark mode theme and the light mode theme .
The color remains fixed by the css property of "fill" in home.css can i change the svg to normal icon and change the arm animations to normal animation as of medium and kaggle if you allow?

or if you can please guide me if I am in wrong directions , I will be very grateful ! @anushbhatia

can you elaborate a bit? you mean i can change SVG to icon and change the github's icon present animation to somewhat familiar to medium and kaggle? @anushbhatia

you can use the white bordered logo which is present in the dark mode.
let the arm animation be the same just modify the fill of the github logo according to this colour scheme rest i think it would be fine.

will fix it in 2 days was not well .

hii I would like to work on this


Support connect via Tor

In #42 you mentioned you're looking into Tor support. This is meant to track that feature.
As of right now I'm getting "Could not connect to server", when the certificate and address are in place, the hidden service address is in the "Address" field, and lnd.conf has tlsextradomain set to the hidden service domain.

Orbot on android allows the Zeus app to connect to LND, but yeah I'm not aware of an iOS method.

gRPC over tor is not a problem as long as it has its dedicated hidden service and the .onion address is added to the TLS cert of lnd using tlsextradomain=

The problem with gRPC is that the iCepa Tor framework is using NSURLSession api and the grpc library is using CFStream api.

hmm seems it's designed for http only, probably not the good framework to use. Would need something generic TCP instead...

I completely agree with @ketominer. It seemed appropriate to open #368


Error running CBF pipeline

Describe the bug
Trying to run the cbf pipeline. It prints an error at the very beginning of the run and produces an output folder of log files and mostly empty folders, jsons, and csvs, etc.
Cohort file
id0,img,m0,anatdir
sub-P68,/home/will/data/xcp_testing/SPIRAL_V20_HCP_852307506.nii.gz,/home/will/data/xcp_testing/SPIRAL_V20_HCP_M0_Eq_1.nii.gz,fmriprep/sub-P68/anat

Design File
#!/usr/bin/env bash

###################################################################
#  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  ⊗  #
###################################################################

###################################################################
# This design file stores the values of all variables required to
# execute a complete neuroimage processing pipeline. You may
# execute the analysis specified in this design file by calling
# (in any v4 or higher bash terminal):
#
# xcpEngine <file>.dsn
#
# Variables fall into five general categories:
# * ANALYSIS VARIABLES are used at all stages of this analysis.
# * PIPELINE specifies the modules that comprise the analysis.
# * MODULE VARIABLES are used during one stage of the analysis.
#                  These are typically array variables with array
#                  indices equal to the index of the module that
#                  calls them.
# * OUTPUT VARIABLES may be used at all stages of the analysis.
#                  These are typically array variables with array
#                  indices equal to the value of the primary
#                  subject identifier. They will appear only in
#                  localised design files.
###################################################################

###################################################################
# ANALYSIS VARIABLES
###################################################################

analysis=cbf_$(whoami)
design=
sequence=cbf
standard=MNI%2x2x2

###################################################################
# PIPELINE
###################################################################

pipeline=prestats,coreg,cbf,roiquant,norm
###################################################################
# 1 PRESTATS
###################################################################

prestats_rerun[1]=1
prestats_cleanup[1]=1
prestats_process[1]=MPR-MCO-ASL

###################################################################
# 2 COREG
###################################################################

coreg_reference[2]=exemplar
coreg_cfunc[2]=bbr
coreg_target[2]=head
coreg_seg[2]=${segmentation[sub]}
coreg_wm[2]=3
coreg_denoise[2]=1
coreg_refwt[2]=NULL
coreg_inwt[2]=NULL
coreg_qacut[2]=0.8,0.9,0.7,0.8
coreg_decide[2]=1
coreg_mask[2]=0
coreg_rerun[2]=0
coreg_cleanup[2]=1

###################################################################
# 3 cbf
###################################################################
cbf_first_tagged[3]=1
cbf_perfusion[3]=casl
cbf_m0_scale[3]=1
cbf_lambda[3]=0.9
cbf_pld[3]=1.8
cbf_tau[3]=1.8
cbf_t1blood[3]=1.65
cbf_alpha[3]=0.72
cbf_gm_val[3]=2,4
cbf_rerun[3]=0
cbf_cleanup[3]=1

###################################################################
# 4 ROIQUANT
###################################################################

roiquant_atlas[4]=all
roiqunat_globals[4]=1
roiquant_vol[4]=0
roiquant_rerun[4]=0
roiquant_cleanup[4]=1

###################################################################
# 5 NORM
###################################################################

norm_rerun[5]=1
norm_cleanup[5]=1

Error message
xcpengine-docker -d /home/will/data/xcp_testing/cbf.dsn -c /home/will/data/xcp_testing/cohort.csv -r /home/will/data/xcp_testing/ -i /home/will/data/xcp_testing/work -o /home/will/data/xcp_testing/output

['/home/will/.local/bin/xcpengine-docker', '-d', '/home/will/data/xcp_testing/cbf.dsn', '-c', '/home/will/data/xcp_testing/cohort.csv', '-r', '/home/will/data/xcp_testing/', '-i', '/home/will/data/xcp_testing/work', '-o', '/home/will/data/xcp_testing/output']

RUNNING: docker run --rm -it -v /home/will/data/xcp_testing/cbf.dsn:/design/design.dsn:ro -v /home/will/data/xcp_testing/cohort.csv:/cohort/cohort.csv:ro -v /home/will/data/xcp_testing/output:/xcpOutput -v /home/will/data/xcp_testing/:/relative -v /home/will/data/xcp_testing/work:/scratch pennbbl/xcpengine:latest -d /design/design.dsn -c /cohort/cohort.csv -o /xcpOutput -m s -r /relative -i /scratch
/xcpEngine/xcpEngine: line 12: activate: No such file or directory
[Detected that xcp is in a container]
Received options: -d /design/design.dsn -c /cohort/cohort.csv -o /xcpOutput -m s -r /relative -i /scratch
$XCPEDIR is /xcpEngine

Constructing a pipeline based on user specifications
····································································
· [D][/design/design.dsn]
sed: cannot rename /design/sedIERqpm: Device or resource busy
· [I][/scratch]
· [C][/cohort/cohort.csv]
Error in file(file, ifelse(append, "a", "w")) :
  cannot open the connection
Calls: write.table -> file
In addition: Warning message:
In file(file, ifelse(append, "a", "w")) :
  cannot open file '/cohort/cohort.csv': Read-only file system
Execution halted
· [O][/xcpOutput]
· [M][Executing serially]

From group/error/cbf_root-201907091932-9001
· [A major error has occurred.]
· [The processing stream will now abort.]
· [Preparing diagnostics]
····································································

Module Workflow Map
····································································

· @1
· @1.1
· @1.1a
· @1.1b
· @1.2
· @1.3
· @1.4
· @1.5
· @1.5.1
· @1.5.2a
· @1.5.3a
· @1.5
· @1.6
· @2
· @2.1
· ERROR
····································································

····································································
· [An error occurred while processing module localiser.]
· [The error was detected at signpost @2.1.]
· [The most recent command logged was]
· []
· [For additional details, view the processing log. For improved]
· [diagnostics, increment verbosity using the -t option.]
· []
· [The primary analyte is not a valid image: /home/will/data/xcp_testing/SPIRAL_V20_HCP_852307506.nii.gz]
· []
· [stream abort]
····································································

Runtime Information
Ran with Docker
Additional context
I don't think the directory containing the prepackaged pipelines was created, as mentioned in Step 2 here.
To setup xcp, I pip installed the xcpengine-container package.

Hi @willtack
The error is from binding. How did you call it from command line?

This is was my command line call:
will@desk:~$ xcpengine-docker \
-d /home/will/data/xcp_testing/cbf.dsn   \
-c /home/will/data/xcp_testing/cohort.csv \
-r /home/will/data/xcp_testing/   \
-i /home/will/data/xcp_testing/work  \
-o /home/will/data/xcp_testing/output

the issue is in your cohort file. the img,m0 and anat must have the same relative ( -r)

Hmm, I tried adjusting my paths, with the same -r as before.
id0,img,m0,anatdir
sub-P68,SPIRAL_V20_HCP_852307506.nii.gz,SPIRAL_V20_HCP_M0_Eq_1.nii.gz,fmriprep/sub-P68/anat

For reference, this is how my directory is set up:
└── xcp_testing
    ├── cbf.dsn
    ├── cohort.csv
    ├── fmriprep
    ├── output
    ├── SPIRAL_V20_HCP_852307506.nii.gz
    ├── SPIRAL_V20_HCP_M0_Eq_1.nii.gz
    └── work

I also tried with absolute paths:
id0,img,m0,anatdir
sub-P68,/home/will/data/xcp_testing/SPIRAL_V20_HCP_852307506.nii.gz,/home/will/data/xcp_testing/SPIRAL_V20_HCP_M0_Eq_1.nii.gz,/home/will/data/xcp_testing/fmriprep/sub-P68/anat

With the same results as above.

pls can you use docker image or singularity directly?

 Similar to above but it also can't seem to find the design file. The design file is definitely at that location and identical to what's posted in this repository:
docker run --rm -it -v /data:/home/will/data pennbbl/xcpengine:latest  -c /home/will/data/xcp_testing/cohort.csv -d /home/will/data/xcp_testing/cbf.dsn  -o /home/will/data/xcp_testing/output -i /home/will/data/xcp_testing/work/
/xcpEngine/xcpEngine: line 12: activate: No such file or directory
[Detected that xcp is in a container]
Received options: -c /home/will/data/xcp_testing/cohort.csv -d /home/will/data/xcp_testing/cbf.dsn -o /home/will/data/xcp_testing/output -i /home/will/data/xcp_testing/work/
$XCPEDIR is /xcpEngine

Constructing a pipeline based on user specifications
····································································
· [D]Missing or empty design file
· [D]Aborting
___________________________________________________________________


Close Filesystem on exit with Minion Tasks

When Filesystems are created outside the factory, we should ensure that they are closed on exit. This doesn't happen a lot of times in minion tasks and leads to memory leaks such as this -
https://coder-shankar.medium.com/aws-sdk-memory-leak-63e23dcdc6f0

Codecov Report

Merging #9681 (4e9c5d3) into master (2d78b35) will decrease coverage by 54.21%.
The diff coverage is 2.43%.

@@              Coverage Diff              @@
##             master    #9681       +/-   ##
=============================================
- Coverage     69.88%   15.67%   -54.22%
+ Complexity     4853      175     -4678
=============================================
  Files          1939     1893       -46
  Lines        103793   101913     -1880
  Branches      15738    15539      -199
=============================================
- Hits          72540    15973    -56567
- Misses        26140    84741    +58601
+ Partials       5113     1199     -3914

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
15.67% <2.43%> (+0.03%)
:arrow_up:

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

Impacted Files
Coverage Δ

...nandpush/SegmentGenerationAndPushTaskExecutor.java
0.00% <0.00%> (-66.91%)
:arrow_down:

...andpush/SegmentGenerationAndPushTaskGenerator.java
2.06% <0.00%> (-32.00%)
:arrow_down:

...tionandpush/SegmentGenerationAndPushTaskUtils.java
0.00% <0.00%> (-27.28%)
:arrow_down:

.../org/apache/pinot/plugin/filesystem/S3PinotFS.java
41.89% <100.00%> (+0.19%)
:arrow_up:

...src/main/java/org/apache/pinot/sql/FilterKind.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ain/java/org/apache/pinot/core/data/table/Key.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...n/java/org/apache/pinot/core/data/table/Table.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/data/table/Record.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../java/org/apache/pinot/core/util/GroupByUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1484 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I can do that. But then, the question is what should one do if no FS configs are mentioned in the task config. Currently we get the FS from cache which uses minion FS configs.

another thought since we are talking about how to map fsClassName to pinotFS.
should we also address the fact that users might have different fsConfiguration for the same fsClassName? for example 2 S3PinotFS (same scheme) but different configuration for access keys. i don't think the current PinotFSFactory handles this

@walterddr that is out of the scope for this. In minion tasks, user provided FS configs take priority over cached FS.

thanks for the clarification. originally i thought you will change the key of the cached map but seems like it only changes the content which seems fine


Add troubleshooting for registering/unregistering operations that seem 'stuck' and don't complete

Add troubleshooting for registering/unregistering operations that seem 'stuck' and don't complete

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

ID: 48090bb5-2afb-28db-3fe4-332d70313fee
Version Independent ID: d2df9f57-78c5-c373-fe0b-2905db21f084
Content: Resource provider registration errors - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/error-register-resource-provider.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@samsmithnz - thanks for this feedback. I am not familiar with the scenario of register/unregister not completing. Can you provide us with more info about what you were trying to do? Were you able to eventually register the resource provider?

I was trying to recreate a customer situation where they were trying to use embedded Powershell in an ARM template, but they had not registered container instance.
Therefore, my first step was to unregister it. I found in both of my subscriptions (MSFT internal and MSDN), that the process ran for hours before finishing. Perhaps there was something underlying happening on the platform?

@samsmithnz - I asked around but wasn't able to find any known issues with register/unregister not completing. I tried registering and unregistering ContainerInstance in my subscription (just in case that resource provider took an unusually long time) but it completed quickly. I suspect this was an intermittent issue. For that reason, I'll close the issue because there is not anything to add to the article.
#please-close

@davidsmatlak - can you take a look at this?

@mumian For the problem to register or unregister a resource provider, Azure support should be able to assist the customer. I'm no longer the content author for the Troubleshooting content.


send file

can i send file?

@dana-1sherzad You can implement it via Telegram Bot's API
https://core.telegram.org/bots/api#senddocument

please can you update the source code and make a simple example of sending a simple phot


zero percentage value minification

clean-css tend to minify height: 0% to height:0
But they aren't equal!
Examples:
http://codepen.io/H1D/pen/bdzRJo – before minification
http://codepen.io/H1D/pen/YXBrze – after minification

It's interesting that no one spotted it before! Are you aware of any kind of rules that govern when we can and can't turn 0% to 0? Does it apply to height only?

Looks like it depends whether or not selected element has content

Thanks for looking into this. I wonder if it applies to any other elements, like width or min-(width|height).

looks like it is:
http://codepen.io/H1D/pen/bdzRJo

That's only for min-height, right?

I think is is

Fixed on master, you can still use properties.zeroUnits compatibility switch in 3.3, see: https://github.com/jakubpawlowicz/clean-css#how-to-set-compatibility-mode

:+1:

It's just been released with clean-css 3.4. :fireworks: Thanks for valuable input!


Invalidate cache after giving feedback

Now when I give feedback to course X, and go back to the list of feedbacks that I haven't given, the course X is still there. I guess this would be fixed by invalidating the cache once you give feedback.
As of 10.1, this seemed to be fixed already or at least I couldn't reproduce the bug.

watafak, its been done for over a year


Add support for block comments

There were multiple objections to this on Discord. Please also note that all new language features should come with tests :)


Crossterm backend goes inverted on progress bar

Problem description
When using the crossterm backend, displaying a progress bar on Linux will flip the terminal to a different color scheme, it does't happen with termion.
Crossterm:

Termion:

Environment

Operating system: Fedora 30 KDE
Backend used: crossterm
Current locale: en_US.UTF-8
Cursive version: 0.11.2

Indeed! It seems to also trigger with the (simpler) edit example, though I can't find so far what's causing it. Most of the logic to handle colors was copied from the termion backend, so it might either be a problem in the higher-level code (either Printer, Cursive, or some intermediate view implementation) that happened to be fine with the current backends, or some bug in crossterm itself (or in the way the backend uses it).
I'll investigate more when I get some available time.

You might want to try again, it seems here that this is fixed by #399.


No way to debug the program

After hook compiler, there is no way to debug the program through the file breakpoint. What should I do?

use __debugbreak() or a binary debugger

Because you added a line "#include "xor_decrypt.hpp" at the beginning of the file, the line where "debugbreak()" is always in the wrong line with the real debugging line when debugging the program.
I have modified the program code, removed the "#include "xor_decrypt.hpp"" added, and then it can be debugged normally

I wonder if there's a better place to hook higher up so this works? That include is injected so that users don't have to remember to include it everytime.


fix placeholder replacement in 'path'

Change function used in the assignment of 'path' from 'make_pathname' to 'make_filename' so that placeholders in folder names are actually replaced.
Currently, 'make_pathname' is used in the assignment of 'path' but it doesn't work as intended. Any placeholders, such as %date, %time, %model, etc., do not get replaced in 'path' and you end up with folder names like '%date'. If the 'make_filename' function is used instead, the placeholders in folder names are actually replaced.

make_pathname already does all the placeholders replacements. In fact, make_filename simply calls make_pathname internally, with the addition of replacing empty filename with a timestamp (which I don't want for the path, it should stay empty if it is empty).
Your change doesn't do what you describe (it already works that way you want without these changes).
Check your tests again please.

make_pathname already does all the placeholders replacements. In fact, make_filename simply calls make_pathname internally, with the addition of replacing empty filename with a timestamp (which I don't want for the path, it should stay empty if it is empty).

Yes, I saw that make_filename simply calls make_pathname, and that make_pathname is where all the placeholder replacements occur.

Your change doesn't do what you describe (it already works that way you want without these changes).

I don't know why make_pathname wasn't working as intended, but it had not been working for me at all today. The change I made worked for my issue, but it was silly to put in a pull request when my proposed changes defied simple logic.

Check your tests again please.

I reverted back to the original version and it seems to be working now. It seems my issue (unsurprisingly) likely originated somewhere else.


500 with Cannot read property 'startsWith' of undefined on Cluster Member viewing Cluster Detail page

Observed in v2.6-head (2778ecabaeae72be86bd90a4f6127d72c1a9b686)
When logged in as a Cluster Member (via Auth Provider) and looking at the Cluster Detail page, a 500 error is observed.

Not seen after refreshing the page.
See https://github.com/rancher/rancher/issues/34253#issuecomment-902253566 for more details

Tested on rancher/rancher:v2.6-head b8a44fa

On local cluster created 2 Standard Users with additional Configure Authentication permission (for enabling OAuth on user account)
As user1 deployed a DO RKE1 cluster with user2 added as Member of this cluster.
user2 has been configured for accessing rancher over OAuth (github)
Once the DO cluster has been provisioned and up I logged in as user2 over github
no error appeared, the cluster was present in the list of clusters on Cluster Management page:

I didn't see the error message on rancher:v2.6.0-rc1 as well but the list of clusters was just empty for both user1 (owner) and user2 (Member) but the Cluster counter was showing 1.
Close.


Update usage of prost crates

Signed-off-by: Ionut Mihalcea<EMAIL_ADDRESS>

It seems things don't compile under the 1.43.0 compiler: https://github.com/parallaxsecond/parsec/runs/3047525631?check_suite_focus=true
This is bad news, means I have to revert the interface change. We can do this safely because we don't use the TimeStamp from prost. Maybe there's a way to tell cargo-audit to acknowledge some advisories?

Closing this PR, will open a different one to fix our build through a different route.


Enable strict origin isolation by default

Upstream is in the process of enabling origin isolation by default
in the process of deprecating document.domain. An insignificant
number of Chrome page loads use document.domain.
See https://crbug.com/1259920 and
https://chromestatus.com/metrics/feature/timeline/popularity/2544
for more detail.

Closes #37


Orientation Change Scanner Bug

Hello, Instascan is awesome and I'm only having one problem. Rotating a phone and changing the orientation from the original loaded orientation to the second orientation, makes the scanner not work. The scanner will not find the QR code in the second orientation. If you go back to the original first orientation it will work. The starting original orientation does not matter whether it's Portrait or Landscape. This is happening for us on all mobile phone devices including the last couple Android OS's and iOS 14.5/15.1. I have tried using screen.orientation.addEventListener to resolve the issue, but it makes no difference.
EXAMPLE
Page is loaded in Portrait mode and successfully scans. Rotate the phone to Landscape mode and  camera does not scan anything.
Page is loaded in Landscape mode and successfully scans. Rotate the phone to Portrait mode and  camera does not scan anything.
SAMPLE CODE
    var self = this;
    self.scanner = new Instascan.Scanner({ video: document.getElementById('preview'), mirror: false, scanPeriod: 5 });
    self.scanner.addListener('scan', function (content, image) {
		if (content > "")
		{
			var audio = new Audio('https://media.geeksforgeeks.org/wp-content/uploads/20190531135120/beep.mp3');
			audio.play();

                       /*
                          My code to determine what was scanned and find it in the DB
                      */

			var myVar = setTimeout(myTimer, 2500);
		  function myTimer()
		  {
			$content = "";
		  }
               }
	      else
	      {
              }
    });

    Instascan.Camera.getCameras().then(function (cameras) {
      self.cameras = cameras;
      if (cameras.length > 0) {
        self.activeCameraId = cameras[0].id;
        self.scanner.start(cameras[0]);
      } else {
        console.error('No cameras found.');
      }
    }).catch(function (e) {
      console.error(e);
    });`

I have tried using screen.orientation.addEventListener to resolve the issue, but it makes no difference.
screen.orientation.addEventListener("change", () => {
			  self.scanner.stop();
			  self.activeCameraId = cameras[0].id;
			  self.scanner.start(cameras[0]);
	  });

Please let me know if you need me to provide anything else.

How did you get the scanner to work in portrait? No matter what, it only scans in landscape. iOS 15 seems to have changed something.

@yuresko is the basis of your code the same as mine or different? Could I see what you're doing?

This is how I'm calling it in the html...and it's using instascan.min.js from the releases
function startCam() {
    var scanner = new Instascan.Scanner({
        video: document.getElementById('preview'),
        scanPeriod: 5,
        mirror: false,
        refractoryPeriod: 10000
    });
    scanner.addListener('scan', function(content) {
        document.getElementById("qrusername").value = content;
        // alert(content);
        //window.open(content);
        //window.location.href=content;
    });
    Instascan.Camera.getCameras().then(function(cameras) {
        if (cameras.length > 0) {
            scanner.start(cameras[1]);
            $('[name="options"]').on('change', function() {
                if ($(this).val() == 1) {
                    if (cameras[1] != "") {
                        scanner.start(cameras[1]);
                    } else {
                        alert('No Front camera found!');
                    }
                } else if ($(this).val() == 2) {
                    if (cameras[0] != "") {
                        scanner.start(cameras[0]);
                    } else {
                        alert('No Back camera found!');
                    }
                }
            });
        } else {
            console.error('No cameras found.');
            alert('No cameras found.');
        }
    }).catch(function(e) {
        console.error(e);
        alert(e);
    });
}

@yuresko you've got a few differences in your code compared to my code.
I am not using the instascan.min.js from the releases. I switched to one I found in the forums that I have attached.
instascan.min.zip
.

Ahh gotchya...I tried yours and it did the same thing. No portrait, only landscape. Thanks for your help, will keep digging.

@yuresko here's a css workaround I figured out.
CSS
`

`
HTML
       <div id="warning-message" style="text-align: center;">  		<p> 			TEXT EXPLAINING PAGE ONLY WORKS IN PORTAIT 		</p> 	</div>

@RileyIsOnGitHub  https://design.lovol.cn/test/ there is my test code.

https://design.lovol.cn/test/

not working after i click this url sir

https://design.lovol.cn/test/

not working after i click this url sir

https://github.com/huangsong/instascan/tree/master/docs


Improve transaction overview for non high street purchases

Things bought online or through PayPal often have a rather ugly overview as there is not much info to show. Make the Overview component more robust in dealing with this and attempt to further hide locations if they are not relevant etc.
Potentially replace the fallback icon.

@zaccolley how do you think is best to deal with the lack of map for transactions like these as currently we just have a grey box, could do with either hiding the box or showing something in the box like 'No location available'?


Multiple uv set

Hi there,
With the GLSL shader, Is it possible to use a second uvset for the ORM map for example? Using the maya 2022 plugin? I've assigned the correct UV set to the ORM texture using UV linking in the usual manor, but it doesn't seem to be used in the export, is there something I'm missing?
Many thanks

The GLSL shader doesn't support multiple UV sets, you would have to customize it yourself.
But the exporter should work.
If not, this is a bug...


yfinance not working and resolved it by downgraded to version 0.1.83 <pip install yfinance==0.1.83

FYI, using fresh install of the latest version unable to load data how ever down graded to 0.1.83  working.
latest version 2.xx failing on python API calls and crypto errors. returning empty frames [].
Hope this helps , in resolving issue in future releases appreciate all the work that has gone into this
IMPORTANT
If you want help, you got to read this first, follow the instructions.
Are you up-to-date?
Upgrade to the latest version and confirm the issue/bug is still there.
$ pip install yfinance --upgrade --no-cache-dir
Confirm by running:
import yfinance as yf ; print(yf.__version__)
and comparing against PIP.
Does Yahoo actually have the data?
Are you spelling ticker exactly same as Yahoo?
Then visit finance.yahoo.com and confirm they have the data you want. Maybe your ticker was delisted, or your expectations of yfinance are wrong.
Are you spamming Yahoo?
Yahoo Finance free service has rate-limiting depending on request type - roughly 60/minute for prices, 10/minute for info. Once limit hit, Yahoo can delay, block, or return bad data. Not a yfinance bug.
Still think it's a bug?
Delete this default message (all of it) and submit your bug report here, providing the following as best you can:

Simple code that reproduces your problem, that we can copy-paste-run
Exception message with full traceback, or proof yfinance returning bad data
yfinance version and Python version
Operating system type

the yahoo finance api produces random data like 100, 99, 99.9 and so on in every cell of the dataframe.
can you suggest any other free api that gives data of cryptos in frequency=daily


Flutter upload manager

Thanks for great work here
Hope you can create another package for uploading

I am not currently interesting in working on this. Thanks


CRDs missing from bundle.yaml and kustomization.yaml

What happened?
Applying kustomizations excludes CRDs
Did you expect to see some different?
Expected operator deployment, RBAC, SA, and CRDs to be deployed.
How to reproduce it (as minimally and precisely as possible):
kubectl apply -k https://github.com/coreos/prometheus-operator
Environment

Prometheus Operator version: master

Kubernetes version information: any

Kubernetes cluster kind: any

Manifests: example/prometheus-operator-crd/*

Prometheus Operator Logs: n/a

Anything else we need to know?:

Ah cute, didnt realize the deployment created them on boot. V cool.


Fix getter and setter BMI functions

Proposed solution for #24.

I don't see any issues with this.  Thanks @robertbartel for these corrections.
Note that the main adjustment is correcting the get_value() definition to match the BMI v2.0 specification as outlined in the issue #24 thread.
I will need update the jupyter notebooks prior to merging. -thanks!


Delete rebar3

It looks like your previous pull request already addressed this.

Ops, wrong repository.

Trying to restart the job on travis.


Hotfix: Comma error breaks package.json

Sorry about that -- just realised.

@arition Ended up fixing the final issue on the other PR too quickly, and this slipped through the cracks.


Type definition type does not contain reference type information for anydata[]

Description:
$subject
The type definition passed from the compiler for the below type
type Foo anydata[];

The type definition created at BIR is as follows.

If the type definition passed from the compiler for the below type
type PositiveInt int;

The type definition created at BIR is as follows.

Both type definitions should be TypeReferenceType instances as type fields.
Related Issues (optional):
#36408

Any reason why we did not use the referenceType instead? It's Foo and PositiveInt respectively

Since we create our typedesc classes that contain the annotation information for records and objects, the typedef.type needs to be used for those cases.
So IMO it would be consistent if we keep the typedef.type with proper TypeReferenceType instances. So that we can use the typedef.type for all the cases instead of special casing the object & records.

type Foo int;

type Bar Foo;

If we take the type definition Foo; the type is int. If we take the type definition Bar; the type is Foo which is the type reference of Foo. We maintain type references in the type definition to be accessed easily.
As suggested in changes in https://github.com/ballerina-platform/ballerina-lang/tree/type_ref_annotations; the type should not change to type reference type IMO. Let's have a offline discussion on this


Introduce Titan Text Embedding V2

Knowledge Bases for Bedrock supports amazon.titan-embed-text-v2:0.
Fixes #492

Hi @cagataycali thank you for this PR, did you try to deploy a KB with this model ?

Looks like while deploying CDK we're having a regexp error.
Properties validation failed for resource :: with message:
[#/KnowledgeBaseConfiguration/VectorKnowledgeBaseConfiguration/EmbeddingModelArn: string [arn:aws:bedrock:us-east-1::foundation-model/amazon.titan-embed-text-v2:0] does not match pattern ^arn:aws(-[^:]+)?:bedrock:[a-z0-9-]{1,20}:(([0-9]{12}:custom-model
/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}/[a-z0-9]{12})|(:foundation-model/[a-z0-9-]{1,63}[.]{1}[a-z0-9-]{1,63}))$]

The underlying issue has been fixed, reopening this PR


Unclear what example shows

"When you set the argument to true, the signature of event subscriber methods that subscribe to the published event automatically include a VAR parameter for the published event object, as shown in the following example:"
Where can I see the VAR param?

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

ID: 0aa34e9b-6f95-c7b4-3993-bd1c89f58c94
Version Independent ID: 85fca68e-caef-afc2-b7ed-70ceaa6f8b3d
Content: BusinessEvent Attribute - Business Central
Content Source: dev-itpro/developer/methods/devenv-business-attribute.md
Service: dynamics365-business-central
GitHub Login: @SusanneWindfeldPedersen
Microsoft Alias: solsen

Thanks for the feedback. The description of the example has been changed to bette explain this. The update will be publsihed soon.


fix: delete report after navigation

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/46728
PROPOSAL: https://github.com/Expensify/App/issues/46728#issuecomment-2270587014
Tests

[Device 2] Split an expense
[Device 1] While offline, split the same manual expense with the two same users from Step 1 (Same amount and same users)
[Device 1] Stay in the group chat
[Device 1] Go online
{Device 1] Tap on the X icon on the first error message (not the second error message)
Verify that: Not here page is not displayed, user is navigated to concierge chat

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[Device 2] Split an expense
[Device 1] While offline, split the same manual expense with the two same users from Step 1 (Same amount and same users)
[Device 1] Stay in the group chat
[Device 1] Go online
{Device 1] Tap on the X icon on the first error message (not the second error message)
Verify that: Not here page is not displayed, user is navigated to concierge chat

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/e24a8d84-23e1-48fa-964c-bd99888c3879

Android: mWeb Chrome
https://github.com/user-attachments/assets/e7972d67-e75d-4869-9839-e524431a5b3f

iOS: Native
https://github.com/user-attachments/assets/e5b6d3e2-a755-42f8-888c-9360da2475f2

iOS: mWeb Safari
https://github.com/user-attachments/assets/1bbadb90-34b1-404a-8dd0-4a48002e2041

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/0eded89d-4b70-45cb-8a4c-a767ef04682f

MacOS: Desktop
https://github.com/user-attachments/assets/e8ce94ef-2065-406b-aead-29b7333c2d0f

@Pujan92 Let's ignore this PR

@daledah Please merge the main branch

@daledah Please update the correct step. It seems you missed some first steps

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 9.0.22-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/neil-marcellini in version: 9.0.22-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/chiragsalian in version: 9.0.22-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


build_docker_go failure

https://grpc-testing.appspot.com/job/gRPC_interop_pull_requests/9955/console

I think I fixed this in https://github.com/grpc/grpc/pull/8845
Should we backport that change to the go docker file?

To v1.0.x? Probably.

Werp. Seen again against master: https://grpc-testing.appspot.com/job/gRPC_interop_pull_requests/10078/console

That PR is 1500 commits behind master and is missing my fix in #8845. I will update the thread accordingly

No recent activity, closing.

@menghanl I remember you had a PR last week that is supposed to fix this?

Still seeing this in PR #10349
Failure signature seems to be : "../../transport/http2_client.go:130: undefined: dialContext"

@ncteisen, just saw this in a new PR against v1.2.x, can you please check what's going on?
https://grpc-testing.appspot.com/job/gRPC_interop_pull_requests/12785/console

Ahh, we should probably backport grpc/grpc-go#1146 to v1.2.x
I'll get on that. Though that fix hasn't been perfect, so I am going to spend some time figuring that out before backporting

Hmm, would the v1.2.x jenkins be hitting an older version of grpc-go that doesn't have the fix from grpc/grpc-go#10309?

It looks like v1.2.x is still using go1.5:  https://github.com/grpc/grpc/blob/v1.2.x/tools/dockerfile/interoptest/grpc_interop_go/Dockerfile#L30. (your link is to grpc-go but I think you meant https://github.com/grpc/grpc/pull/10309)

Just put in the backport PR.

Not seen recently, closing.


'Choose' with non uniform distribution

Hi,
Would it be possible to add a support for 'choose' with a non-uniform distribution? For example by passing together with the list of options, a list of probabilities?
That would be great!

@pseeth let's jam this out super quick.
Starting with the API, I'm thinking we could either

update "choose" so it can optionally accept a series of probabilities
create a new distribution tuple called "chooseweighted" or something like that

I think option 1 will complicate validation a little, but will be more elegant compared to having two versions of choose. It will sort of match the api of: https://numpy.org/doc/stable/reference/random/generated/numpy.random.choice.html, which we can use to implement it under the hood of course.
In terms of validation, the tuple would look something like ("choose", items, probs), where len(items) must match len(probs), and item[i] has probability[i] (that is, the matching between items and probs is implicit based on list index).
Finally, we probably need to check/enforce that probs is a vector of probabilities, i.e.  0 <= probs[n] <= 1 and probs.sum() == 1.
Let me know your thoughts, once we finalize the API we can get started on the implemented.

I think perhaps a new chooseweighted could be cleanest, actually. Looking at the implementation of choose, it looks we actually use randint to decide which label to apply. We also do a list -> set -> list conversion to remove duplicates. This logic is used both in the "choose label" as well as the "choose source file" code paths. I believe randint is used, not choice here:
https://github.com/justinsalamon/scaper/blob/8cbf94b985f2fb6efa5b5709e940d8ad436fff19/scaper/util.py#L245-L271
This might be for efficiency reasons, as doing choice on a million long list might be a big performance regression. I think we should make a new distribution for this.

Perf offline discussion with @pseeth , we have agreed to keep choose and choose_weighted separate - this will make implementation and validation easier and cleaner. We'll use numpy.random.choice to implement the new feature.
I'll work on the implementation and ping @pseeth for CR as soon as it's ready.

@rserizel great news, we've implemented choose_weighted (#144), which is now available of the latest version of scaper, v1.6.5rc0.
To install this version you can call: pip install -U scaper==1.6.5rc0
The implementation should be solid, but let us know how if you run into any issues and we'll address them expediently.
Cheers!

Works great!
Thanks a lot @justinsalamon and @pseeth !

@rserizel FYI we just release the official 1.6.5, in case you want to update your dependencies from scaper==1.6.5rc0 to scaper>=1.6.5. Cheers!


Support custom coloring of imported .kml / .gpx tours

pick 1 of the 3 following options, that would be a great start (1 being maybe the most simple and probably also my favourite):

allow changing default color of imported tours in Brouter Web from blue to other colors
or: allow directly using the kml embedded coloring infos
or: allow individual coloring of individual imported routes after they are imported

Whaa, I was about to raise exactly the same issue :-) (blue on blue, impossible to view !)

Should have known better, we had the same issue with the route color before.
For a short-term fix:
Any suggestions for a better default track color that works for all layers and stands less in the foreground than the route color, anyone?

In fact, for the short term fix, it's mostly the layer CyclOSM that has a significant issue, with exactly the same blue for cycling path and for imported gpx. And as it's the first proposed layer, it's this one that is tricky.
For the other layers, there are no visualization issue (except the fact that all the imported gpx tracks have the same colors: hard to distinguish them, but that would require a deeper solution).
For this layer CyclOSM I would say any kind of strong yellow (#FFFF00) or mid/strong orange (like #FFBD5F or #FFAA00).
#FFAA00 would be my choice.

I couldn't find a color that works well with both OSM Carto and CyclOSM. I do like blue on Carto and other maps, although we might need a different tone, as Waymarked trails also uses plain blue.
As a quick fix for CyclOSM, I'm using yellow for now if the current layer when loading the track is CyclOSM.
Yellow instead of orange, because:

MTB Routes are in some reddish orange (#d15000, map example)
Waymarked trails overlays use orange
suggested color combination with magenta in the Triad scheme by tools like Copaso
despite we're already using yellow for route hightlighting

Potential future improvements:

casing around track (white?)
update color on base layer change
(?) automatically extract tile image colors and choose best contrast ratio from a set of track colors, e.g. with color-thief and get-best-contrast-color
another way to increase contrast is to add a slider to decrease opacity/saturation/lightness of the base layers

And as it's the first proposed layer, it's this one that is tricky.

CyclOSM is the default and available for French users only right now.

allow changing default color of imported tours in Brouter Web from blue to other colors

we first need to implement a configuration panel, see #248
or maybe we could have a track load dialog, similar to No-go areas, with a color picker

or: allow directly using the kml embedded coloring infos

togeojson would support KML styles, but Leaflet.FileLayer doesn't apply them to Leaflet. And I'm not sure if many people would benefit from this and if we should put work into supporting special features of a specific format.

or: allow individual coloring of individual imported routes after they are imported

Potential options:

make tracks interactive when route drawing is off and bind a popup with info (name), color picker and delete button (see also custom POIs popup)
popup-style toolbar (color picker + delete buttons)

horizontal (#88) Easybar (already used) in Leaflet Tooltip?
Leaflet.toolbar - see popup example (draw shape and click)

per layer configuration in switcher

e.g. Leaflet.Control.Appearance (controls too wide, should be behind button?)

all the imported gpx tracks have the same colors: hard to distinguish them, but that would require a deeper solution

We could apply a "random" color to each track, probably as option, either by iterating a defined set of colors or by shifting HSL hue. But probably hard to impossible to ensure good contrast for all.

See #420#issuecomment-850724915 for a color picker UI remark.

we first need to implement a configuration panel, see Create a configuration panel for user preferences #248
or maybe we could have a track load dialog, similar to No-go areas, with a color picker

Thanks for all your considerations - I have to admit I totally forgot about this thread, however the yellow for CyclOSM was a welcomed change and in the meantime I did some tinkering on a small little "hacky" chrome extension that does the job for me by looking into the DOM and changing the color and opacity of the found paths ...
I feel like a global configuration option which is remembered is the only really useful way to provide control over the path coloring.
So keep this in mind if you'll decide to add such a configuration panel in the future.
When I use the .gpx Import I often import many long-distance cycle path networks across multiple federal states, and having to chose the color each time I import another .gpx (although many times I bulk load them in one step) would feel cumbersome.


cannot sign in

I just updated to the version 5 beta
and i cannot reset my password - am not recognized for either of my 2 email addresses.
wha'ts going on . ?

Expected Behavior

Current Behavior

Screenshots (if appropriate):
Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Franz Version used:
Operating System and version:

Have you created an account with Franz 5? If not, Franz 4 had no accounts and you need to create a new one.

this explains it!
Thanks
On Mon, Nov 20, 2017 at 2:30 PM, Stefan Malzner<EMAIL_ADDRESS>wrote:

Have you created an account with Franz 5? If not, Franz 4 had no accounts
and you need to create a new one.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/meetfranz/franz/issues/305#issuecomment-345682184,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AR4wD1VQe5AyNmhCvY3hTZBC1WY0af7sks5s4XDTgaJpZM4Qj_3a
.


Refactoring of things type

Since the things type used in functions such as getThingStatus() is a number, it may be difficult to understand the code.
/**
* Get Device Status
*
* @param options - The things information.
* @param options.type - The things type. 1: user's own device, 2: devices shared by others.
* @param options.id - The things id.
* @param options.params - option, The things params.
* @returns response - Please refer to the online API documentation
*/

So, I think it would be a good idea to change the things type to a string.
I suggest replacing type: number | 1 | 2; with type: 'own' | 'shared';.
Also, since most devices are owned by the user, it seems good to set the default to own.
async getThingStatus(options: thingInfo) {
    const params = {
      type: options.type ?? 1, // or 'own'
      id: options.id,
      params: options?.params
    };
    // ...
}

own

I will consider this matter

The modifications have been completed, please update to the latest version


Array.append(null) should stop program with error

I think that there should be an assertion inside Array.append() with null check. This would allow to find bugs quicker and closer their source. Was quite confused when that code throw an error:
if(array.empty()):
  return;
else:
  array[0].doSomething(); #<-ERROR nonexisting function in base "NIL"

also it didn't help to find a place where null was added to the array.

it should be perfectly valid to append null values to array, in fact they
are initialized null when you resize them
On Mon, Jan 11, 2016 at 4:29 PM, kubecz3k<EMAIL_ADDRESS>wrote:

I think that there should be an assertion inside Arrayappend() with null
check This would allow to find bugs quicker and closer their source Was
quite confused when that code throw an error:
if(arrayempty()):
return;
else:
array[0]doSomething(); #<-ERROR nonexisting function in base "NIL"
also it didn't help to find a place where null was added to the array
—
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/3318.

@reduz Well I know that array is holding nulls sometimes that's why I only asked to add check to append (while still allowing array[3] = null). But since it's intentional I will close this issue.

But one way or another I guess you will admit that the sample I pasted at the first post is little confusing,

@reduz small ping since I think you might find above argument a reasonable one. (Or if not, just ignore :))


Node.js project runs extremely slow in debugger as compared to command-line version

Issue Type: Bug
Since the latest update (a few days ago), the difference between running my node.js project through the debugger and command-line is huge. It is almost as if the project stalls. And I cannot seem to stop the execution of it anymore either. Does anyone else experience a similar problem?
This problem is displayed in the attached video:

In the first minute, the terminal version of the Node.js project runs till completion. Then I run the exact same command through the debugger and just notice the slowdown. After two minutes, the project isn't even half way. It seems as if it gets bogged down even more after each console.log. At one point it's so slow, that it doesn't even seem to register the "stop" command. Basically the only thing I can do then is to exit the IDE. This problem never happened in previous versions of the IDE.
I did notice that the new IDE seems to "group" similar output messages. Could this be the culprit?
How can I easily revert to the previous version of VSCode? This is pretty unworkable.
VS Code version: Code 1.52.1 (ea3859d4ba2f3e577a159bc91e3074c5d85c0523, 2020-12-16T16:34:46.910Z)
OS version: Windows_NT x64 10.0.19041
Extensions (10)

Extension
Author (truncated)
Version

better-toml
bun
0.3.2

php-debug
fel
1.14.5

vscode-sshfs
Kel
1.19.1

language-gettext
mro
0.2.0

python
ms-
2020.12.424452561

jupyter
ms-
2020.12.414227025

remote-wsl
ms-
0.52.0

vs-keybindings
ms-
0.2.0

vetur
oct
0.31.3

beautify-json
ran
1.0.2

After a totally random guess, I deleted all my breakpoints (including conditional breakpoints), and guess what: it ran super fast again.  Those breakpoints were set in the previous version of the IDE; perhaps something went wrong with the migration?
I set a couple of new breakpoints in this IDE, and speed seems to be good.
I absolutely have no clue as to why this fixes it, but it did. A difference of night and day.

After a totally random guess, I deleted all my breakpoints (including conditional breakpoints), and guess what: it ran super fast again.  Those breakpoints were set in the previous version of the IDE; perhaps something went wrong with the migration?
I set a couple of new breakpoints in this IDE, and speed seems to be good.
I absolutely have no clue as to why this fixes it, but it did. A difference of night and day.


TypeError thrown when computing changed files

This action failed on a PR that does not touch the configuration:

Error: TypeError: Cannot read property 'slice' of undefined
Error: Cannot read property 'slice' of undefined

Other recent PRs using the same configuration do not have this error. There is only one instance of slice in this repo added in #106. Since the file.patch.slice comes after a map on f: any, this might be addressed by using the return type of client.paginate but a cursory search did not reveal what that would be.

I bet file.path can be undefined in some cases (perhaps it omitted if the patch is too large?).


Fix Gradle version in gradle-wrapper.properties

Fix Gradle version in gradle-wrapper.properties
Fixes: https://github.com/flutter/flutter/issues/38691#issuecomment-526266636
cc @mogol

@mogol could you merge this PR?

@mogol could you publish new version into pub.dev please?

Published, please try 3.3.0


Access to PSAT Support Forums from Sidebar

Provide access to PSAT Github support forum directly from the sidebar. Option 1: outgoing link to GH. Option 2: embedded.

Released in v0.12.0 🚀


Have you reporduced the paper results?

Hi, I am very appreciative of your implementation. Before diving into your code, I wonder whether you have reproduced the paper results?

The results in their paper were obtained with 1.8B  image-text-pairs, that's a huge dataset. But I have trained it with a smaller one.

And some details of the model  haven't been presented in the paper, my implementation may not be exactly the same one as the one presented in the paper.


Added new variants subtle and surface

Closes #3222
Description

Added new variants subtle and surface.
Updated icon for Alert.
Adjusted the color of each component.
Adjusted the color of green.
Added orientation prop and attribute to Tab component.

Is this a breaking change (Yes/No):
Yes

@hirotomoyamada
Resolve conflects.


Generating tsd.json changes its parent directory's permission to 0744

tsd init -o, tsd reinstall -s (and other) changes its parent directory's permission to 0744 (which I don't want to).
Why xm.file.mkdirCheckQ() (or xm.fileIO.mkdirCheck()) changes the permission to 0744 statically even though the directory is writable (0700, 0755, 0775, 0777, ...)?

I'm also seeing this issue on Fedora 22.  My default process umask is 0002, but the parent directory, which already exists, is being changed to 744. If mkdirp was behaving correctly I wouldn't expect the permissions on directories that already exist to be changed at all. If mkdirp is changing the permissions then the permissions should still have execute permissions since the umask of 0002 only gets rid of write permissions.
The main problem is that the execute permissions for group and other are being removed, so non-owners can't cd to the directory.

Electron seems to refuse to load resouces from .asar files when the parent directory has 0744 permissions, so doing a "tsd init" can break electron based projects in a very subtle way.

I have tsd 0.6.5 installed on ubuntu via npm install tsd and the problem still persists.
My directory permissions are reset to 744 when running tsd init...

Same here. 775 would be a much saner default IMHO, letting group also read and write. But I guess since the project is deprecated we are out of luck...