Casks can fail to load when source file path is nil

brew doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  llvm@11

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.2.20-104-gdfbf269
ORIGIN: https://github.com/Homebrew/brew
HEAD: dfbf26910d514220e6453f6efdd5d9fb4d36c145
Last commit: 11 hours ago
Core tap HEAD: 5c9c84e8d43c9ab364371cef3f9b7473d91d954b
Core tap last commit: 2 hours ago
Core tap JSON: 04 May 01:07 UTC
Core cask tap JSON: 04 May 01:07 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_AUTOREMOVE: set
HOMEBREW_CASK_OPTS: []
HOMEBREW_DEVELOPER: set
HOMEBREW_DISPLAY: /private/tmp/com.apple.launchd.kTNdVTmWzn/org.macosforge.xquartz:0
HOMEBREW_EDITOR: nano
HOMEBREW_MAKE_JOBS: 4
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.1.4 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: quad-core 64-bit ivybridge
Clang: 12.0.0 build 1200
Git: 2.24.3 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 7.64.1 => /usr/bin/curl
macOS: 10.15.7-x86_64
CLT: <IP_ADDRESS>.29
Xcode: 12.4

What were you trying to do (and why)?
I was trying to reproduce this cask loading issue: https://github.com/orgs/Homebrew/discussions/4910#discussioncomment-8750211
CC: @johnmcdowell
What happened (include all command output)?
$ brew bump --cask iterm2
Error: Parameter 'ref': Expected type T.any(Cask::Cask, Pathname, String, URI::Generic), got type NilClass
Caller: /usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:564
Definition: /usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:235
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/configuration.rb:296:in `call_validation_error_handler_default'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/configuration.rb:303:in `call_validation_error_handler'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:300:in `report_error'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:136:in `block in validate_call_skip_block_type'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/signature.rb:213:in `each_args_value_type'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:133:in `validate_call_skip_block_type'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:109:in `block in create_validator_slow_skip_block_type'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:564:in `block in for'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:563:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:563:in `for'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:514:in `load'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:356:in `block (2 levels) in retrieve_versions_by_arch'
/usr/local/Homebrew/Library/Homebrew/simulate_system.rb:27:in `with'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:348:in `block in retrieve_versions_by_arch'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:347:in `each'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:347:in `retrieve_versions_by_arch'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:443:in `retrieve_and_display_info_and_open_pr'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:159:in `block in handle_formula_and_casks'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:145:in `each'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:145:in `each_with_index'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:145:in `handle_formula_and_casks'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:103:in `block in run'
/usr/local/Homebrew/Library/Homebrew/extend/kernel.rb:520:in `with_env'
/usr/local/Homebrew/Library/Homebrew/api.rb:196:in `with_no_api_env'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/dev-cmd/bump.rb:68:in `run'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `bind_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/call_validation.rb:270:in `validate_call'
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/gems/sorbet-runtime-0.5.11368/lib/types/private/methods/_methods.rb:277:in `block in _on_method_added'
/usr/local/Homebrew/Library/Homebrew/brew.rb:92:in `<main>'

What did you expect to happen?
It shouldn't cause a type error.
Step-by-step reproduction instructions (by running brew commands)
1. Install a cask from `homebrew/cask`.
2. Untap the `homebrew/cask` repo.
3. Run `brew bump --cask INSTALLED_CASK_NAME`.

This is just one example of the problems that loading from installed cask files can cause.

It seems like we try to load casks using Cask::Cask#sourcefile_path as the ref and that causes problems sometimes because the source file path is nilable depending on which cask loader is used. We use this pattern in a few places to reload the same cask for different os/arch combinations. In this case, it was nil because it was loading the installed cask file instead of the one from the core cask repo.
I almost feel like there are some commands where we don’t want certain cask loaders to be used. Beyond that I wonder if we’d be able to catch this type of error beforehand with more typing in the Cask::Cask and Cask::CaskLoader classes.

-- Rescued from internal team slack

The solution for brew bump is to require all loaded casks and formulae to be in installed taps. This pattern shows up in a few other places though and in those cases things should maybe be handled differently. It might not even be a problem if we know the cask will always have this field.
brew --cache
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/cmd/--cache.rb#L72-L82
brew fetch
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/cmd/fetch.rb#L161-L168
brew audit
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/dev-cmd/audit.rb#L246-L255
brew bump-cask-pr
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/dev-cmd/bump-cask-pr.rb#L129
brew bump
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/dev-cmd/bump.rb#L356
brew livecheck
https://github.com/Homebrew/brew/blob/dfbf26910d514220e6453f6efdd5d9fb4d36c145/Library/Homebrew/livecheck/strategy/extract_plist.rb#L105

It looks like what happens with a core formula when the core tap is not installed is that we load it from the keg and then use the path the installed formula file when reloading the formula for different architectures.
$ brew audit gawk --verbose --debug
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/ruby/3.1.0/bin/bundle clean
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromKegLoader): loading gawk
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::NullLoader): loading gawk
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromKegLoader): loading gawk
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::NullLoader): loading gawk
/usr/bin/env XDG_CACHE_HOME=/Users/kevinrobell/Library/Caches/Homebrew/style /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby -W1 --disable=gems,rubyopt -- /usr/local/Homebrew/Library/Homebrew/utils/rubocop.rb --format json --force-exclusion --parallel --extra-details --except FormulaAuditStrict --config /usr/local/Homebrew/Library/.rubocop.yml /usr/local/opt/gawk/.brew/gawk.rb
==> Auditing Formula gawk on os catalina and arch intel
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromPathLoader): loading /usr/local/opt/gawk/.brew/gawk.rb
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading gettext
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading mpfr
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading readline
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading curl
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading pkg-config
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading brotli
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading cmake
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading libidn2
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading libunistring
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading libnghttp2
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading libssh2
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading openssl@3
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading ca-certificates
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading openldap
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading rtmpdump
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading zstd
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading lz4
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading xz
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FromAPILoader): loading gmp

We could easily make casks work the same way but I'm not sure it really captures the desired behavior of most of the dev commands. It'd still be an improvement though since it wouldn't fail loudly. In general, the livecheck, bump* and audit commands assume the core taps are tapped locally.
Maybe we could add some way of turning off installed formula/cask file loading in the parser and then update Formulary.loader_for and Cask::CaskLoader.for to respect that.

It'd still be an improvement though since it wouldn't fail loudly. In general, the livecheck, bump* and audit commands assume the core taps are tapped locally.

Simplest/best case I think would be to make said commands exit (very) early if the relevant formula's tap is not tapped.

Maybe we could add some way of turning off installed formula/cask file loading in the parser and then update Formulary.loader_for and Cask::CaskLoader.for to respect that.

This seems like it might be a lot more complex than the prior option unless we somehow have some commands that need to load only from tap in some places but are fine with API in others.

That makes sense to me. Looking at things a bit more, I see now that the bump-*-pr commands already do that as of a few years ago. That approach should work well.
The fetch and --cache each have a lower likelihood of errors because they default to the name if the cask is loaded from the API which happens when loading from the installed cask JSON. Technically you could still see the same problem with casks installed from third-party taps though.


Does pkb support kubernetes on centos8 ？or how to do the configuration？

Hello expert，
When I do the performance test on kubernetes， every time when I run command like ‘./pkb.py --cloud=Kubernetes --benchmarks=iperf --kubectl=/usr/bin/kubectl --kubeconfig=/root/.kube/config --image=centos:8 --os_type=centos8’ ,
pkb will rasied  error like below picture displayed, so is it bug and how to fix it ? thanks !

Hi there, looks like we don't support the centos 8 image on Kubernetes yet, you'll need to add something like class Centos8BasedKubernetesVirtualMachine  under kubernetes_virtual_machine.py.  See https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/19c10d30d43f209941bd2e439524a9f45bdc423a/perfkitbenchmarker/providers/gcp/gce_virtual_machine.py#L978 for an example. Unfortunately I'm not super familiar with how the kubernetes provider works. ccing @pmkc in case they know more.

It's a little more complicated than that. A lot of the KubernetesVirtualMachine functionality is in subclass DebianBasedKubernetesVirtualMachine:
https://github.com/GoogleCloudPlatform/PerfKitBenchmarker/blob/master/perfkitbenchmarker/providers/kubernetes/kubernetes_virtual_machine.py#L339, which should not be extended by a CentOS os_type. I'm not sure why that's the case. It doesn't seem to require Debian to me, but a lot of the k8s architecture is a little shoe horned into the existing VM architecture.
It would require a bit of a refactor to have that functionality available to CentOS 8.

hi bvliu ， pmkc，
looks like centos8 is not supported yet，so it there any plan to realize the function?
brs


Fatal signal 6 when calling AbgrBuffer.allocate()

Hello,
I am getting a crash with the following stacktrace. From what I can tell, it starts with a call to: AbgrBuffer.allocate(width, height) in my code.

JNI DETECTED ERROR IN APPLICATION: non-zero capacity for nullptr pointer: 3686400
in call to NewDirectByteBuffer
from java.nio.ByteBuffer io.github.crow_misia.libyuv.Yuv.allocNativeBuffer(int)
at AbgrBuffer.allocate(width, height)
at io.github.crow_misia.libyuv.Yuv.allocNativeBuffer(Native method)
at io.github.crow_misia.libyuv.BufferExtKt.createByteBuffer(BufferExt.kt:21)
at io.github.crow_misia.libyuv.AbgrBuffer$Factory.allocate(AbgrBuffer.kt:110)

Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 3663 (CaptureThread), pid 2731 (o.android.debug)
~ Channel is unrecoverably broken and will be disposed!

I am doing this call for each frame of a video. The crash appears after 10 minutes of use.
Do you have any idea about what the problem could be? Let me know if you need more details.
Thank you,
Liviu

Seems to be a memory leak.
Instances should be reused instead of creating one for each frame.

Thanks for answering!
How can I reuse the buffer, taking into account that the width and height might change from a frame to another?

Maybe an implementation similar to this.
private var buffer: AbgrBuffer

fun onFrame(image: Image) {
  if (image.width != buffer.width || image.height != buffer.height) {
    buffer.close()
    buffer = AbgrBuffer.allocate(image.width, image.height)
  }

  // image processing.
}

please reopen if there is more information.


Fix using telemetry pages with dapr sidecar + executable

Fixes https://github.com/dotnet/aspire/issues/3844
If a replica set has an app with an instance ID the same as a replica set name, then this error happens. It won't be a problem for dapr + projects because they have a unique suffix, but exe and containers could get it.
Fix is to tighten the data selection to ignore replica set item.
Microsoft Reviewers: Open in CodeFlow

Review please 🙏


map custom fields

In STAC-SPEC, is allow the use of custom fields. Is necessary add a way in stac2odc-cli to allow the mapping of custom fields.

A first approach for this is the usage of a file to allow user to create this custom mapping:
An example of a custom map configuration file:
{
  "fromStac": {
         "properties.bdc:crs": {
            "addTo": "measurements.crs"
        }
      }
  },
  "fromUser": {
    "measurements.pixel_qa.flags_definition": {
        "file": "flags_definition.yaml"
    }
   }
}

I tested this structure and added other fields to improve the flexibility to users. Actually, the structure of the file is defined as follow:

{
  "engine_name": "bdc-stac-09-mapper",
  "collection": {
    "fromSTAC": {
      "name": "id",
      "description": "description",
      "metadata.product.name": "id",
      "measurements": {
        "from": "properties.eo:bands",
        "customMapping": {
          "name": "name",
          "alias": "common_name",
          "dtype": "data_type",
          "nodata": "nodata"
        }
      },
      "storage.crs": "bdc:crs"
    },
	"fromFile": {
		"measurements.CLEAROB.flags_definition": {
			"file": "engine-definitions/flags_definition.yaml"
		}
	},
    "fromConstant": {
      "metadata_type": "eo3",
      "measurements.units": "meters"
    }
  },
  "dataset": {
  }
}

The keys determine where information is stored in ODC definition. And JSON's values describe where values come from.
OBS: Uses can be use this file in JSON or YAML format.


About Us/ Contact page

Acceptance Criteria:

[ ] Display team information
[ ] Contact section
[ ] Links to different social platforms
[ ] Link to email.


Include error when compiling with torchlib

steps to reproduce (from alphazero libtorch build instructions )

In global_variables.sh, find the
OPEN_SPIEL_BUILD_WITH_LIBNOP variable and set its value to "ON".
In global_variables.sh, find the
OPEN_SPIEL_BUILD_WITH_LIBTORCH variable and set its value to "ON".
In global_variables.sh, find the
OPEN_SPIEL_BUILD_WITH_LIBTORCH_DOWNLOAD_URL variable and set its value to
the LibTorch version URL compatible with your OS and hardware (see the
comments in global_variables.sh for the URLs):
Download libnop and the specified version of LibTorch by running:$ ./install.sh

Build OpenSpiel to compile LibTorch-dependent and libnop-dependent code
(such as LibTorch AlphaZero).$ ./open_spiel/scripts/build_and_run_tests.sh

the error this generates when running open_spiel/scripts/build_and_run_tests.sh:
.../open_spiel/algorithms/dqn_torch/dqn_torch_test.cc:25:10: fatal error: 'open_spiel/games/efg_game.h' file not found #include "open_spiel/games/efg_game.h"
This error is caused by 2 include statements in open_spiel/algorithms/dqn_torch/dqn_torch_test.cc
#include "open_spiel/games/efg_game.h" #include "open_spiel/games/efg_game_data.h"

#1132


wgd.sh missing

Hi!  after the last time I ran the update command (./wgd.sh update), all worked fine.  However, I went to do so today to see if there was a new subversion and literally the file is missing.  the page still runs as expected, but the wgd.sh is missing in the src folder.
Can I just pull it from github and insert it or is it built on install and specific to the hardware/build I'm running?

I believe you can just pull it from the github

Let me know did you solve the problem ;)

same  problem


Enhance bitbucket pull request action to add new content

Hey, I just made a Pull Request!
This is a fix for issue #21762.  I enhanced the code to check to see if the sourceBranch exists and if not it will create the branch and then push and commit to that branch.  Then it continues on with the regular logic to create the PR
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Check the build logs - you'll want to run yarn build:api-reports and commit those results with the PR too.

Thanks Fredrick for the head-up.  All is fixed now


Copy class fails with validation error

Describe the bug
When copying a data class that has other properties on the Data Class and other properties on the Data Element, the newly created class fails to save with a validation error on the Data Element property.
The failure happens at: https://github.com/MauroDataMapper/mdm-core/blob/09bc29cc2bd703a1c304ff9b4ff8fb681e89a068/mdm-core/grails-app/domain/uk/ac/ox/softeng/maurodatamapper/core/facet/Metadata.groovy#L46
because ident() returns null.
To Reproduce
Steps to reproduce the behavior:

Create a new Data Model
Create a new Data Class for the data model
Go to Other Properties and add a property to the data class
Create a new Data Element for the data class
Go to Other Properties for the Data Element
Go to a different Data Model than the one created above
Create a new Data Class by using Copy Data Class(es) from
Select the original Data Modal and click Next Step
Select the Data Class created above and click Submit Data Class button
See error: - Field error in object 'uk.ac.ox.softeng.maurodatamapper.core.facet.Metadata' on field 'multiFacetAwareItemId': rejected value [null];

Expected behavior
The new copied data class should be created with Other Properties on the class and data element level created.
Desktop (please complete the following information):

OS: Windows 10
Chrome
Version mdm-core 4.10.0

Additional context
When debugging, the validation error occurs when saving the Data Element other property.

@olliefreeman  I wasn't able to determine why the Data Element property did not pass validation during a save from a class copy. The object has the namespace, key and value populated during validation, but still fails. If I remove the Other Property from the Data Class, but leave the Data Element property, the copy succeeds without an error.

So the copy should be running the CaralogueItemService method to sort all the ids after inserting. A test should be created which copies a DC with DE content with facet content and then see why that method isn’t being called.

It calls uk.ac.ox.softeng.maurodatamapper.core.model.CatalogueItemService#save(java.util.Map, K). Which method sorts the ids? Is it the call to updateFacetsAfterInsertingMultiFacetAware?

Copy class functionality has no issues, but the last step in the DataClassController, is to call saveResource on the copied class. After the save is processed, the data element metadata is missing the multi_facet_aware_item_id in the table core.metadata.
The entry in datamodel.join_dataelement_to_facet is correct for the data element metadata, but any call to get data element metadata from the UI, requires the value in the core.metadata table.

@jamesrwelch or @olliefreeman Can you assign this issue to @GBishop-PHSA .

@olliefreeman I'm stuck on how to resolve this issue, so I've created a pull request with an incorrect solution for review. I updated the BootstrapDatamodel to add metadata on the class and element level, but also had issues getting the metadata to save correctly on the call to saveAndCheck().

@GBishop-PHSA when you open a PR if you add Fixes #xxx to the description it auto links the PR to the Issue which makes resolution easier/automatic


Create a multi arch docker image`

Could you please create a native docker image for arm64 as well as amd64?

I've built an arm64 architecture image, and it can now be pulled using the command：
docker pull ghcr.io/optimism-java/op-besu:v0.1.0-arm64


Remove hardcoded white background

Make background of .svgContent so that the rendered SVG (especially when %config InlineBackend.figure_format = 'svg' is enabled) works for any chosen background color for the editor.

@mohtar
Thanks the PR, Please could you file an issue on the https://github.com/microsoft/vscode-jupyter repo so we can review the issue first.

Hmmm src/client/index.css is now deleted by this PR: https://github.com/microsoft/vscode-notebook-renderers/pull/59 What happened to it? Did it go to a different repo?

Anyway, bug filed here


Fixed style in call graph and call graph walker.

Updated the call graph and call graph walker to be in line with the new style rules.

Are these the same changes that are also in #520?

Are these the same changes that are also in #520?

Yah, @cesarzc suggested making a separate PR for the style fixes. Once this PR is in the diff on #520 will be more streamlined.


varLib should support skewed design spaces or return a clear error message when design space is skewed

A designer decided to assign the actual stem widths to source weight locations. The font family is a three axis design with wght, wdth, and ital. Naturally, the stem widths are different for condensed and extended masters, which lead to the attached Designspace: TestVF.designspace.txt
The following script:
import defcon
import fontTools.designspaceLib
import fontTools.varLib
import ufo2ft

d = fontTools.designspaceLib.DesignSpaceDocument.fromfile("TestVF.designspace.txt")

for s in d.sources:
    font = defcon.Font()
    font.info.unitsPerEm = 1000
    font.info.familyName = "aaa"
    font.info.styleName = "asasas"
    font.info.ascender = 100
    font.info.descender = -100
    font.info.xHeight = 50
    font.info.capHeight = 70
    font.newGlyph("a")
    s.font = font

ufo2ft.compileInterpolatableOTFsFromDS(d, inplace=True)
fontTools.varLib.build(d)

Results in this error message:
KeyError                                  Traceback (most recent call last)
<ipython-input-22-b47891f1e3a1> in <module>
----> 1 fontTools.varLib.build(d)

c:\users\nikolaus.waxweiler\appdata\local\programs\python\python37\lib\site-packages\fontTools\varLib\__init__.py in build(designspace, master_finder, exclude, optimize)
    805
    806         # Assume single-model for now.
--> 807         model = models.VariationModel(normalized_master_locs, axisOrder=axisTags)
    808         assert 0 == model.mapping[ds.base_idx]
    809

c:\users\nikolaus.waxweiler\appdata\local\programs\python\python37\lib\site-packages\fontTools\varLib\models.py
in __init__(self, locations, axisOrder)
    197                 keyFunc = self.getMasterLocationsSortKeyFunc(locations, axisOrder=axisOrder)
    198                 axisPoints = keyFunc.axisPoints
--> 199                 self.locations = sorted(locations, key=keyFunc)
    200                 # TODO Assert that locations are unique.
    201                 self.mapping = [self.locations.index(l) for l in locations] # Mapping from user's master order to our master order

c:\users\nikolaus.waxweiler\appdata\local\programs\python\python37\lib\site-packages\fontTools\varLib\models.py
in key(loc)
    236                         def key(loc):
    237                                 rank = len(loc)
--> 238                                 onPointAxes = [axis for axis,value in loc.items() if value in axisPoints[axis]]
    239                                 orderedAxes = [axis for axis in axisOrder if axis in loc]
    240                                 orderedAxes.extend([axis for axis in sorted(loc.keys()) if axis not in axisOrder])

c:\users\nikolaus.waxweiler\appdata\local\programs\python\python37\lib\site-packages\fontTools\varLib\models.py
in <listcomp>(.0)
    236                         def key(loc):
    237                                 rank = len(loc)
--> 238                                 onPointAxes = [axis for axis,value in loc.items() if value in axisPoints[axis]]
    239                                 orderedAxes = [axis for axis in axisOrder if axis in loc]
    240                                 orderedAxes.extend([axis for axis in sorted(loc.keys()) if axis not in axisOrder])

KeyError: 'wdth'

Assigning the same wght values for all Hair, Regular and Black sources respectively fixes the issue.
I honestly don't know how much work it would be to support these skewed design spaces, but at the very least, a clear error message should be returned.

Given OpenType 1.8 it's basically not possible.   I mean. sure it's possible but then when the user changes 'wdth' axis value they would get wrong result because the stem width wouldn't change.  That's NOT what one wants.  So, naming your masters by stem width is fine, but it doesn't make sense to put that value in the 'wght' axis.

This is a task for a "designspace normalizer" sub-project. It should be a preprocessor that takes a designSpace and some fonts arranged in a more arbitrary fashion, and interpolates/extrapolates  missing corners.
It's not just about skewing, it's also about situations where you have for example masters:
A: wght 0 wdth 0
B: wght 1 wdth 0
C: wght 0 wdth 0.8
D: wght 1 wdth 1
or
A: wght 0 wdth 0
B: wght 1 wdth 0
C: wght 0 wdth 1
D: wght 1 wdth 0.8
Ideally, such a preprocessor should also fix the bleeding problem:
A: wght 0 wdth 0
B: wght 1 wdth 0
C: wght 0 wdth 1
D: wght 1 wdth 1
E: wght 0 wdth 0.5
In this config, the E master "bleeds" all the way into wght 1 wdth 0.5, which is mostly not what people want, so the preprocessor should build a "counter-master" F at wght 1 wdth 0.5 by interpolating purely between B and D.
There are quite a few problems resulting from the limitations of the VF model, and interpolating (and extrapolating) filler masters at various locations in the right order would fix all of them. But it needs some non-trivial work.
For example, you may have a skewed design space like this:
A: wght 0 wdth 0
B: wght 0.8 wdth 0
C: wght 0.2 wdth 1
D: wght 1 wdth 1
In order for it to work sensibly, you need 4 more masters:
E: wght 1 wdth 0 (extrapolate via A to B)
F: wght 0.2 wdth 0 (interpolate between A and B)
G: wght 0 wdth 1 (extrapolate via D to C)
H: wght 0.8 wdth 1 (interpolate between C and D)
With those 8 masters, you can make a font that works like the 4-master skewed designspace.
Finally, there is the problem of relocating the neutral.
If you have
A: wght 0 wdth 0
B: wght 1 wdth 0
C: wght 0 wdth 1
optionally D: wght 1 wdth 1
and you'd like your neutral to be at E wght 0.4 wdth 0.5 then you need to interpolate 4 new masters before giving it to varLib.
Having such a normalizer would be really useful, and it's not really super hard, but needs a predictable algorithm that works on an arbitrary number of axes, and it just needs to be coded. Well, actually it’d just need to take a designspace and then output a list of new locations and how they should be interpolated or extrapolated. And then some code can use MutatorMath to do all the work and finally write the production designspace.

Yeah I like the idea of the normalizer...

Extrapolation also becomes just a special-case application of the normalizer.
Normalizer should be smart enough to also remove original masters that are not needed anymore when new masters are added.

We faced what I think is this issue in a couple of projects for Google Fonts, and @mjlagattuta wrote a script to fix the issue for a wght + wdth designspace. I can't find his original script, but a version of this is at https://github.com/thundernixon/Encode-Sans/blob/master/sources/scripts/helpers/fix-designspace.py
Here's a long-form description (with images) of the specific issue we faced with skewed designspaces resulting from weights named by stem thickness, and what the solution looks like:
https://github.com/thundernixon/Encode-Sans/tree/master/docs/01-morphing-non-rect-designspace

Hm, that fix gave me the idea to write a general rectangularizer that should cover the non-extrapolation case, i.e. something that transforms a random skewed two-axes Designspaces with 4 or a three-axes Designspaces with 6 edges into a rectangle/rectangular prism where all instances are within the boundaries (no idea how to handle arbitrary geometry like pentagons, etc.). This looks relevant: https://math.stackexchange.com/questions/2511079/how-to-map-one-coordinate-system-to-another-and-then-based-on-that-transformatio.

Prrof of concept, using the Encode Sans Designspace: https://gist.github.com/madig/6ded5e68a06f6f0301de6b704eaba5cb


Docker compose "c" variable not set fix

Somewhere my environment is trying & failing to set a 'c' environment variable during docker compose up:
WARN[0000] The "c" variable is not set. Defaulting to a blank string.
It's probably harmless but I'm also not sure why it's happening, should fix it.

Figured this out thanks to https://stackoverflow.com/questions/74315381/docker-compose-environment-variable-is-not-set & https://stackoverflow.com/questions/64723235/docker-compose-environment-variables-blank-string/73575077#73575077, looks like the problem was double quotes vs. single quotes, & not properly treating a dollar sign in one of the environment variables as part of the variable.
Updated the example .env file & fixed in https://github.com/mawilson/survivor_draft/pull/176


Reduce max delay

30 seconds can be a long time to be stuck in a retry loop that might just be failing repeatedly and waiting for the retries to run out. This reduces the max delay between retries to 5 seconds.

Closing this because spamming eth_call with non-existing block hash can put Matic nodes further behind. I was targeting reducing the wait for block ingestor retries, but we should probably have a more specific solution for that.


360 images

Fantastic job, man... such a precious and timely addition to Framer.js, congrats!
I would just suggest to extend the current cubmap technique to support 360 images like the one below. Many times this is the type of asset we have at hand.

Thanks!

Thanks for the suggestion! Do you have a good resource site where we can find these assets?

@noAlvaro sphere maps need WebGL to be rendered. It might be worth the effort though. I'll try if it is performant. In the meantime you could turn your sphere maps into a cube maps as explained by Paul in this article.

Thanks, @jonastreub!
@jornvandijk, here you can download some pictures I've collected for testing purposes. But I found some sites, also:

HDRI Hub
VizPeople

Just to notice: some files in these sites come in .hdr format. Never used, though.
Hope it helps!

Thanks!

I updated the readme with a link to the following tool which can convert your spherical panoramas to cube map.


Outlook specific properties - Missing from schema/designer

For example the Outlook specific property eg. originator is missing.
https://learn.microsoft.com/en-us/outlook/actionable-messages/adaptive-card#additional-properties-on-the-adaptivecard-type

@JeanRoca - to consider: should we have a more unified set of docs that include extensions we know about?


Table forces default sorting by first column of the table

When table is being initialized, sorting is automatically added to the first column of the table. Why? Even after disabling sort for first column, it still is being sorted by first column values.

I will try to find time to look back at that project.
I see, that the column sort is applied by seeing sorting arrow + on component initializing, first call for data from API is sending data sorting properties - sorting ASC by first column.
My data source is API, which sorts data accordingly to received info from frontend, and in this case, filters are being set by smart-table package.

@predefinedx do you still have the problem? For the Angular 18 support I will be releasing the 3.3.0, soon. So if there's something that might need to be slapped into that release, let me know.

Looks like i have solved this one on my side, but just to be sure, I’ll check again in couple hours. I’ll post a coment with the problem i had (if I solved it) or with confirmation that problem still exists, and will include column settings

Closing stale issue.


Twitter link in footer of the page goes to the wrong twitter account

It links to https://twitter.com/COVIDWatchApp rather than the correct URL https://twitter.com/CovidWatch

oops, thanks, great catch- we changed that recently and I hadn't updated.

Addressed in https://github.com/covid19risk/website/pull/115


Use a parameterset to load datum from a file path or from Structure/Precedence

Currently Datum is loaded via New-DatumStructure, but the structure path are either aboslute, or relative to the calling script.
By making a different parameterSet where the New-DatumStructure could load its configuration from a file (the Datum.yml), or from a parent folder of a file it'd be easier to load the structure with relative path from that file (and less params to deal with).

this has been implemented from .31 onwards (not released to the gallery yet).


[Sugggest] Auto-Generate Unique Invite Link

It could be great to generate a unique link for our IPS community member (maye based on group) with a widget or a link somewhere.
With this we can run a Private Discord community.

Discord Server is private (No invitations link generated by default)
Member must register on IPS forum and associate his Discord ID (by login with on IPS)
After registration (and based on group the member is in), he can request a invitation link.
Discord integration will generate a unique Discord Invitation link for linked server (unique, one time, with expire date maybe) after checked that he is not already present.
Member will click on this link and will be invited to Discord Server
Invitation link will expire (one time invite)
Discord Integration will sync group for this member with IPS.
Done

What do you think ? :)

Purpose of this request is:

Have a private Discord Server with Invites Only (auto-generated)
Allow only IPS members to be on Discord Server (auto-kick/ban others)
One time management with synced roles/groups

Done in #16


Need OK button to Vue-Multi-select

Hi,
How do i customize this vue-multi-select. I want to have the "OK" button in that and when click it, i'll grab the values selected from Values(v-model). AND i need this custom button within the tags with other properties like below
<vue-multi-select
:options="options"
:btnLabel="btnLabel"
:selectOptions="data"
search
historyButton
:filters="filters"
v-model="values"
/ >
To say it simply,  need OK button like historyButton
Please help me in this.

I m not sure this component will fit what you want, v-model is actualized every time a value is clicked. You can still use the html/css to create your own component, and add the button ok under the panel.

I m not sure this component will fit what you want, v-model is actualized every time a value is clicked. You can still use the html/css to create your own component, and add the button ok under the panel.


Import 08eedf7f20: Put secondary camera back into deferred, rather than forward, rendering (by Caitlyn)

This is an automated proposal to look at a commit made by Caitlyn and import it into Overte

Commit:
08eedf7f20539360d6222354e11b5f1eac487b18

Author:
Caitlyn

Date:
Sun, 08 Mar 2020 13:32

Put secondary camera back into deferred, rather than forward, rendering

Stats:

Filename
Stats
Lines
Added
Removed
Lines in blame

interface/src/graphics/GraphicsEngine.cpp

4
2
2
⚠ 0

1 files
-
4
2
2
0

To work on this, please assign the issue to yourself, then look at the commit and decide whether this would be a good addition to Overte.

If the commit is useful, tag it with "Tivoli: Keep", and keep it open until it's merged.
If the commit is not useful, tag it with "Tivoli: Discard", and close it.
If the commit is not useful right now, but might be later, tag it with "Tivoli: Maybe later", and close it.
If it's hard to decide, tag it with "Tivoli: Discuss", and keep it open.

Useful commits should be submitted as a PR against Overte. Tag this issue in PR, so that it's automatically closed once the PR is merged.
You can cherry-pick this issue with this command:
git cherry-pick 08eedf7f20539360d6222354e11b5f1eac487b18

Trivial change, disables stereo and deferred rendering. Benefit seems doubtful.


New Form Styling: Pass queryWithDefaults to SQLEditor

In the old form styling, query={queryWithDefaults}is passed to the QueryEditor. I mistakenly replaced that with query={props.query} in the new styling code. This causes an error on Run query in new form styling if the user doesn't select any of the macros manually:

Additionally, because of this, the autocomplete for the macros doesn't work, as we don't have defaults in the query to request the data.
The reason for this is that the connectionArgs (region, table etc.) aren't set to the default value.
Even the current solution in production isn't ideal, as the user has to change the query in the SQL editor for the defaults to get populated. This means if they run the query before editing sql, they will get the same error.
At first, I just replaced the SQL editor props to what we have in the old editor, however because of the bug mentioned above, I decided to refactor this a bit.
Now we're calling onChange with the default query on mount. I've tested it and it works as expected, but I'd appreciate someone else trying to break it as well.
P.S.
Ideally, we wouldn't have to set defaults anywhere in the Form, which is why getDefaultQuery method was implemented in datasource here in core Grafana. However, we decided we wouldn't implement that yet, as it wouldn't work for instances running Grafana<9.3 😔

querying works for me, but when i add a new panel to the dashboard, i still see the error. is that something that already exists or should i not be seeing that error at all?

You're right, this is an existing issue where Grafana triggers query() on opening a panel which causes the buildQuery to fail in any case.
I added some code to filter out the query if the sql is empty. This way, we shouldn't see the reading region of undefined error at all.


Feature/add collision-check option to  deploy task

Hey @jkasturi-sf Raising it for review.

Hey @jkasturi-sf We have added a new option collision_check for Deploy Task. Added Tests as well.
Please review it.

Hey @jkasturi-sf Removed that table header. Please approve it once again


Add support to store and received Z values

Expected behavior
Given geometries with Z values, we can store and retrieve them.
Actual behavior
Z value is not stored, and instead coordinate contains NaN
Steps to reproduce the problem
The problem occurs with GeoJSON and Shapefile:
1. GEOJSON:
Given geojson file with Z values:
{ "type": "Feature", "properties": { "STATEFP": "01", "COUNTYFP": "073", "TRACTCE": "004000", "BLKGRPCE": "2", "AFFGEOID": "1500000US010730040002", "GEOID": "010730040002", "NAME": "2", "LSAD": "BG", "ALAND": 344082, "AWATER": 0 }, "geometry": { "type": "Polygon", "coordinates": [ [ [ -86.855276, 33.492097, 15.0 ], [ -86.851953, 33.494234, 20.0 ], [ -86.848754, 33.496102, 14.0 ], [ -86.846142, 33.493001, 5.0 ], [ -86.853724, 33.488135, 4.0 ], [ -86.853718, 33.490394, 8.0 ], [ -86.855276, 33.492097, 40.0 ] ] ] } },
var spatialRDD = GeoJsonReader.readToGeometryRDD(sparkSession.sparkContext, geojsonInputLocation) println(spatialRDD.getRawSpatialRDD().first().getCoordinates.mkString)
2. SHAPEFILE:
Reading shapefile with Z value returns empty rawSpatialRDD
Settings
GeoSpark version = 1.3.1
Apache Spark version = 2.4.5
JRE version = 1.8? yes
API type = Scala or Java? Scala and Python

I found that jts2geojson are supporting z values after version 0.14.3
I tried to update the package but they using a new version of JTS which updates the JTS package path(locationtech instead of vividsolutions).
@jiayuasu , Can we upgrade JTSPlus to use this newer version in order to make it work?

@netanel246 FYI https://github.com/DataSystemsLab/GeoSpark/issues/233

@netanel246 I am totally fine with upgrading JTSplus to any newer version of JTS. But before that, we need to merge the new functions in JTSplus to JTS main repo. This takes time. Do you want to take over this task?

@jiayuasu, it's not a simpler solution to merge the new version of JTS into JTSPlus?

@netanel246 That is a good idea. Although it is not perfect, it can still fix many issue we have right now. The latest version of JTS is 1.16.1. JTSplus is based on 1.14 core. Do you want to bring the missing functions JTSplus?
You can try to directly copy JTS 1.16.1 core code to JTSplus and use Git to study the difference.
The path name in JTSplus might need to be changed to under location tech.

I think @netanel246 that this is not a good solution as the future of GIS will no longer use the vivid solutions but rather the location tech namespace.  This would ease interoperability with other tools. But I understand it could be a valid quickfix - but potentially one which is hard to maintain.

@geoHeil, I didn't understand. The changes to JTS Plus will include the transform to location tech. The main problem I see is that it's hard to maintain

Sorry - then I misunderstood your intentions. I think then it could be a good first step towards a pull request.

@jiayuasu
After reading the code on JTS Plus I decided it will be better to try to merge the new functions in JTS Plus into JTS. I hope to update you soon.


Allow variable cells to scroll instead of exploding the table height

This was driving me mad: As (as a user) I am primarily focussed on the output, not the (sometimes many) input variables. This PR allows the variable cells to scroll vertically if they exceed the height of the rest of the table, as set by the content cells.

Very nice improvement. Thank you @grrowl!


Upgrade django and mangopay

Hi,
I updated the requirements, and the test runner in order to use Django >= 1.8 and mangopaysdk == 2.0.
I also updated the Travis file to run tests with Django ~= 1.8.0 and ~= 1.9.0
Guillaume

Awesome thanks @geelweb! We're fully loaded at the moment but will take a look asap.
Best
Daniel

Do you plan to merge this PR next ? Because I have others PR waiting for this one (address management in BankAccount (fix #81), implement partial payin refund, implement payin web).
Regards,
Guillaume

Hello @dwahlqvist,
Are there any plans to continue maintaining this package?
@geelweb is your version stable? Can it be used in production?
Thank you!

@geelweb @dpanesso hi guys, sorry for the slow response.
This is not a priority for my team at the moment, it was something we "inherited" from the previous team.
Can/ do you want to take this over somehow?
I'll be honest and admit that I'm not an experienced open source contributor. But respect the community and don't want to be a blocker.
Thanks!

Hi,
@dpanesso, I currently use the rc branch of my forks, with all my PR/fix merged, in a staging environement. I plan to use it in a production env quickly.
@dwahlqvist, this library was very usefull for me, I earned a lot of time. I can continue to use my fork, but for other developers, it will be better to use your repository with an up-to-date pypi installation. Do you have any ideas to find a solution ?
Regards,

Hello,
@dwahlqvist thank you for your response!
As @geelweb suggests, can we find a way to use your repository and keep an up-to-date pypi package?
I will be using MangoPay on one of our active projects so I can also contribute for now.
Open to any suggestion!

@geelweb @dpanesso One of my guys is looking into it now and will get back to you soon with next steps.
thanks for your patience :)

Hi guys,
Thank you for your efforts in improving this library. @geelweb we can merge your PR but could you delete the initial migration first. We're standing for use a custom dir for migrations inside the project. So would be cool have same in the future.
Regarding uploading onto PyPI, we cannot update it now, cause we have not access for it. We'll try figure it out during the week.

FYI, we have now got access to PyPI and can upload the package after @Infernion has approved the PR

Any news on this PR?

I no longer work at this company so I refer to @Infernion and will now leave this repo. Cheers


Issue #40 eliminate usage of ._pg hacks

fixes #40
but depends on recently released 0.10.1 version of python client, so probably better to wait a bit before merging this already?

Which Python client version is installed in the EOLab? @bschumac

I just tried on https://eolab.eodc.eu and got client version 0.12.1 (which is latest currently).
I think we can just merge this, the BYOC feature is pretty niche anyway


Fix creator can't manually approve

Hi, thanks for your participating! I have fixed it in 3677071 before so I'll close it.


downloads: decrease width of "download blockchain" button

Before:

After:

That was increased recently by a contributor. Personally i don't have a strong preference about it.


Point Text color is broken

Style tool is unable to change the color of the text from point text, the fill color doesn't change the color of the characters
opacity control slider on the style tool for point text fill color editing is not functioning

Closed by https://github.com/pearcetm/osd-paperjs-annotation/pull/4


Remove skips from docstests

We run doctests on a CI environment with many packages installed:
https://github.com/dask/dask/blob/a87236041ff223363698f65c5b7c153415a41259/.github/workflows/additional.yml#L80:L104
So we probably don't need to skip as many as we do (grep for # doctest: +SKIP).

I'm interested in taking this on.
If some doctests turn out to fail, I'll try to fix them; if that turns out to be non-trivial, I'll flag here and we can discuss next steps.

My plan is to open multiple PRs so we can contain the scope of each one. I'll also keep track of my progress by updating the last two columns.

Sub-package
Before
After
PR

dask*
132

dask.dataframe
99

dask.array
94

dask.bag
56

dask.diagnostics
20

dask.bytes and dask.bytes
6

Total
407

*Modules directly under the top-level namespace (e.g., dask.graph_manipulation) outside a sub-package

As of commit 26986346, there are a total of 407 instances of # doctest: +SKIP, distributed as follows.
My plan is to open multiple PRs so we can contain the scope of each one. I'll also keep track of my progress by updating the last two columns.

Sub-package
Before
After
PR

dask*
132

dask.dataframe
99

dask.array
94

dask.bag
56

dask.diagnostics
20

dask.bytes and dask.bytes
6

Total
407

*Modules directly under the top-level namespace (e.g., dask.graph_manipulation) outside a sub-package

PRs are ready for review. As indicated in the table above, a total of 100 instances of doctest: +SKIP have been removed.

Thanks for kicking this work off @zzhengnan!

The remaining 3 PRs are now ready for review

#7872
#7865
#7864

woohoo!! Thanks @zzhengnan!

@jsignell Thanks for all the help getting this across the finish line. I learnt a great deal about the layout of the project.


Readme

README
User Story
As a boot camp student,
I want the prework notes to be structured on a webpage,
So that I can easily find and read the information.
Acceptance Criteria
GIVEN the prework project repository,
WHEN I view the README for the repository,
THEN I can see a professional README that provides information on the project and how to use it

Resolved by PR https://github.com/JonHarrison/prework-study-guide/pull/10


Support rules that depend on the cart context for shipping methods

1. Why is this change necessary?
You can't rely on rules used in shipping method activation or shipping method price matrix as they might be valid or invalid right after the item is added to the cart but that is after the calculation.
2. What does this change do, exactly?
After the cart has been changed the rules are reloaded and the cart is recalculated based on the new rules. So new shipping methods can apply.
3. Describe each step to reproduce the issue or behaviour.
The setup is as following: Have rule that is meant to be for shipping and is based on the a tag "foobar" in a line item. Create a shipping method pricing matrix based on rules. One rules is "always true" and the other the foobar rule.
You want to add a product with the foobar-tag into your cart by pushing the "add to basket" button. The request is coming in, the rules are loaded. The foobar rule is not valid as the cart is empty and therefore there is no line item with a product that has this tag. The only valid rule that is in the context is "always true". The shipping method and price is calcaluted based on that. You have the cart sidebar open and see a shipping price/method that is wrong as the foobar rule should trigger but it is not loaded so it can't trigger.
4. Checklist

[ ] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

5. Known issues
Due to first miscalculation errors like ShippingMethodBlockedError can occur as the cart became invalid for a short time and this error is passed onto the second calculated cart. There is still a fix for this needed but maybe someone from @shopwareBot can comment on that.

Missing Tests

Sound like this issue: https://issues.shopware.com/issues/NEXT-7288

@mnaczenski you are right this is related. I was not aware of the issue already existing.

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-10455
Please use this issue to track the state of your pull request.

As workaround regarding the shipping method error I used:
$keysToRemove = [];
$ruleResult = $this->cartRuleLoader->loadByCart($context, $cart, new CartBehavior($context->getPermissions()));
$context->setRuleIds($ruleResult->getMatchingRules()->getIds());

foreach ($cart->getErrors()->getElements() as $key => $element) {
    if ($element instanceof ShippingMethodBlockedError) {
        $keysToRemove[] = $key;
    }
}

\array_walk($keysToRemove, [$cart->getErrors(), 'remove']);

Should only be used when you know that this is not an error your shop should make because it blocks all of them. Regardless their source.

Hey @JoshuaBehrens, thanks for your contribution. We fixed this with https://github.com/shopware/platform/commit/8f042ca1cda139c3ab64f582fd0088e1bb6c8bba

I like your implementation. Looking forward for the release :)


Pull Request

163.txt

@Originl-Y Pull I am sorry, I have to close the request without merging, because you made a mistake in a request and did not specify any filepath. Please ensure that you are familiar with this repository rules located at the bottom of this page and make a new correct request. Thank you for your understanding!


[CadlValidation CI step][question/discussion] Can we remove the requirement to check in a TypeSpec generated openapi spec?

CadlValidation step checks that the generated openapi spec is checked in as part of TypeSpec PRs. I think the openapi spec is currently used for docs and some other tooling, but can this be automated to remove the requirement for generating and checking in the openapi spec? I'm mainly wondering whether this is necessary and if it will always be a required check.
Why have services generate this manually and wait for CI to pass if this could be automated somehow?
We can have this discussion further down the line, but wanted to start a discussion on this.

I agree that generation of the openapi should be automated. Currently the CadlTypeSpecValidation step compiles the TypeSpec and checks to see if the emitted openapi matches what is in the PR/repo. If we know we want the openapi to match, we should just replace the diff with a new commit that updates the openapi.

CC: @weshaggard

I agree this is something we should try to get too but I don't think right now is a good time to make that happen.
We definitely need the openapi specs checked into the repo for various reasons, some we control and others we don't such as third parties pulling the specs for processing. So, it is mostly a question of can we automatically generate them as part of the PR process, which we can but it becomes tricky to have a pipeline automatically updating a PR with new changes. There are security concerns as well as workflow concerns (i.e. the owner of the PR now has to understand git well enough to pull and merge in those changes in the middle of the changes they are working on).
I'm definitely open to ideas on how to make this work but for now I feel the easiest way is to have a check in the pipeline and if things don't match give clear instructions on how to regenerate it and push the change to the PR.

Closing based on Wes's comment.


Funtion to parse resources.mem

I think it would be handy to have a function that could parse resources.mem_gb or resources.mem_mb and return it in any order (Mb, Gb, etc...). We could use it on other snakemake-wrapper-utils functions, as well as in the wrappers.
Ideally, I'd say we could have a function that given resources.mem_gb = 10, would:
> get_mem(snakemake.resources, "Mb")
> 10240

I looked around and, even though there are some (e.g. Magnitude, bitmath, datatype), none of them seems to be actively maintained or be on one of the main conda channels.

Done on #11


Simplify Deployment Process

Overview
We want to simplify deployment steps to streamline the development process
Items

[ ] Change the initial deploy command from yarn deploy:factory to just yarn deploy

[ ] Deploy everything in a single script so that a pool will immediately be accessible on the pools page

[ ] Update the README to account for this change
[ ] Record a shorter Demo video that shows the updated process

Video Notes

The idea is that we have all-in-one scripts that help dev wrap their head around the requirements and process of deploying a custom pool
We are not optimizing for gas costs with the deploy scripts. Instead, we are offering a sort of rapid prototyping playground
Each function broadcasted by the deploy script encapsulates a single step in the process


Memory allocation errors for line_to()

I'm getting memory allocation problems when extensively using line_to(). The code below runs fine with 10,000 rectangle()'s, but when I draw rectangles with move_to() and line_to() (commented out below) it inevitably crashes the kernel (in IJulia) or gives a memory allocation error. I'm using v0.3.6.
using Cairo
c = CairoRGBSurface(256,256)
cr = CairoContext(c)

set_source_rgb(cr,1.0,1.0,1.0)
paint(cr)

set_source_rgb(cr, 0, 0, 0)
set_line_width(cr,1.0)

for k=1:10_000
    x,y = 256*rand(),256*rand()
#    move_to(cr,x,y)
#    line_to(cr,x+10.0,y+10.0)
#    line_to(cr,x,y+20.0)
#    line_to(cr,x-10.0,y+10.0)
#    line_to(cr,x,y)
#    close_path(cr)
    rectangle (cr, 256*rand(), 256*rand(), 10.0, 10.0)
    stroke(cr)
end

write_to_png(c,"boxes.png")

can you give some more context? (like a copy of the error messages)
I just tried with a fresh install of ijulia and on the REPL and succeed in both methods. I'm wondering if you maybe not call Cairo.rectangle but something else on the way.

Sorry--I should have been more clear. The version that breaks is the one with the commented out commands. If I open a fresh install of Julia 0.3.6 on my Mac, add the Cairo package, and then run the this block of code, then I get the error printed below the code.
using Cairo
c = CairoRGBSurface(256,256)
cr = CairoContext(c)

set_source_rgb(cr,1.0,1.0,1.0)
paint(cr)

set_source_rgb(cr, 0, 0, 0)
set_line_width(cr,1.0)

for k=1:10_000
    x,y = 256*rand(),256*rand()
    move_to(cr,x,y)
    line_to(cr,x+10.0,y+10.0)
    line_to(cr,x,y+20.0)
    line_to(cr,x-10.0,y+10.0)
    line_to(cr,x,y)
    close_path(cr)
    stroke(cr)
end

write_to_png(c,"boxes.png")

ERROR: MemoryError()
 in stroke at /Users/sswatson/.julia/v0.3/Cairo/src/Cairo.jl:390
 in anonymous at no file:10

I don't know whether this is helpful at all, but if I run the same block a second time, then I get a seg fault.
signal (11): Segmentation fault: 11
_fill_xrgb32_lerp_opaque_spans at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_tor_scan_converter_generate at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
composite_polygon at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
clip_and_composite_polygon at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_spans_compositor_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_compositor_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_image_surface_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_surface_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_gstate_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
_cairo_default_context_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
cairo_stroke at /Users/sswatson/.julia/v0.3/Homebrew/deps/usr/lib/libcairo.2.dylib (unknown line)
stroke at /Users/sswatson/.julia/v0.3/Cairo/src/Cairo.jl:390
jlcall_stroke_20290 at  (unknown line)
jl_apply at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/./julia.h:982
anonymous at no file:9
jl_apply at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/./julia.h:982
jl_f_top_eval at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/builtins.c:399
eval_user_input at REPL.jl:53
jlcall_eval_user_input_19895 at  (unknown line)
jl_apply at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/./julia.h:982
anonymous at task.jl:95
jl_apply at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/task.c:423
julia_trampoline at /Users/vagrant/buildbot/slave/package_osx10_9/build/src/init.c:1032

So the memory problem is actually happening within your libcairo and not the interface between cairo and julia. I'm not a master of Homebrew, but can you rebuilt your libcairo? There is/should be local testing of cairo.

This takes an interesting turn: http://lists.cairographics.org/archives/cairo/2015-March/026019.html also mentiones a crash in the same part of cairo.

Thanks for tracking that down. The thread is just two days old; I wonder whether this problem was introduced recently. I've noticed that I only have an issue when the figure I'm drawing is closed or almost closed (regardless of whether close_path is called). Without really understanding Ilya's description, I think that might be consistent with what he described.
To try a different system, I ran Pkg.update() in JuliaBox and the code above did not have problems. On my own machine, I moved aside my package folder and reinstalled everything from scratch, and the problem persists.

I'm not part of the cairo development, so i might be wrong here, but the closest thing in bug reportin seems to be https://bugs.freedesktop.org/show_bug.cgi?id=85372 and that is showing up on 1.14.0, but not on previous versions and not on the 1.14.2. release candidate. Cairo.jl is (afaik) only using < 1.10 features (that's why i have a pull request for 1.12 features) so you can use any version pre 1.14.

Downgrading from 1.14 to 1.12 solved the problem. Thanks!


My app is working fine on debug but release version only shows a white screen

Hello @Abdulbasit096 ,
Could you please try updating to the latest beta with flutter upgrade, post the output of flutter run -v and a provide complete minimal reproducible code sample?
Thank you!

Hi @Abdulbasit096
If you're loading from network, please make sure you've internet permissions
Can you please provide your flutter doctor -v your flutter run --verbose and a complete reproducible minimal code sample
Thank you

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.
Could everyone who still has this problem please file a new issue with the exact description of what happens, logs, and the output of flutter doctor -v.
All system setups can be slightly different, so it's always better to open new issues and reference related issues.


Refactored

refactored readme
refactored foldersystem
added a PR template
added docs for the tags

Awesome! Btw. I don't might if you directly change stuff on main or don't you have the rights for this?


Explicitly set batch=1 for NNCF in order to avoid issue with Wave2Vec

What does this PR do?
Explicitly set batch size equal 1 in the NNCFConfig in order to avoid issue with Wave2Vec with the upcoming NNCF release.
With switching to NNCF v2.5.0, JPQD uses automatic structured pruning algorithm and currently it doesn't work properly with batch > 1 for Wave2Vec model.
It works fine when batch is 1. With this PR it is set in the NNCFConfig only, it should not affect training and inference with different batch sizes, since it's only used for NNCF internals to set up compression.
The proper fix for the Wave2Vec will be introduced in the next releases of NNCF. Here's the draft (https://github.com/openvinotoolkit/nncf/pull/1784) that will be finalized later.
The fix is checked on the existing NNCF, JPQD tests.
Fixes # (issue)
Ticket 110126 in the internal NNCF tracking system

@AlexKoff88 @yujiepan-work @vuiseng9

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@echarlaix Could this be merged before the upcoming dot release?

And these, please
https://github.com/huggingface/optimum-intel/pull/315
https://github.com/huggingface/optimum-intel/pull/319

Thanks for the fix @ljaljushkin ! Can you rebase as well as run the make style command to fix the tests

Done


dbjobqueue: use a fresh context for post-dequeueing operations

This is needed in order to prevent the post-dequeueing operations from failing due to an expired or cancelled context. In order words, when a job is actually dequeued from the database, we need to go all-in.
This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Let's implement proper transactions: https://github.com/osbuild/osbuild-composer/pull/3389


[Enhancement] A new coreg

Hi, @rhugonnet
I recently developed a new Coreg method, which supports ICESat-2 point-DEM coregistration, and also does pretty well on DEM coregistration. Now, in this branch xDEM can also run this method as well! Here is a quick review of the function and results:
The new method is a significant improvement over previous methods like NuthKaab. I am seeking help to test and stabilize the method before submitting it as a pull request to share the code with others.

Hi @liuh886,
It's great that you are able to contribute to xdem. I'm looking forward to check and test your new algorithm.
I saw that you opened a PR and then closed it. Actually you can set the PR as "draft" rather than closing it. This way people know that it's still work in progress but can have a look at the changes.


Refs #32778 -- Renamed the regex object detecting invalid CSRF token characters.

From comments: https://github.com/django/django/pull/14442#discussion_r641528977
https://code.djangoproject.com/ticket/32778

@cjerdonek Thanks :+1:


2ddrawenhancements2931

Completes everything in #2931, AFAIK.
What does this implement/fix? Explain your changes.
As well as #2931, shows radicals in drawing.
Some general tidying in relevant code.
Any other comments?

These were requests from MedChemica, part of what they paid for.  The first
2 were because they wanted the option of the drawing not autoscaling up.
Their example was Clc1ccccc1 which gets very large on a normal-sized
canvas.  But they did want it to scale down if it wouldn't fit at the
standard scale.  The intention is that they'll pick a scale whereby, for
example, most benzene rings are drawn the same size regardless of how much
space is occupied in the canvas.
The rotation was so  that the user could specify a preferred orientation,
such as by being offered a set of different rotations, that could then be
applied to all renditions of that molecule.  They have an option in their
software for preparing a powerpoint slide with multiple copies of a
molecule with different annotations and they wanted to be able to have them
all as the user likes.
On Tue, Mar 3, 2020 at 3:34 PM Greg Landrum<EMAIL_ADDRESS>wrote:

@greglandrum commented on this pull request.
In Code/GraphMol/MolDraw2D/MolDraw2D.h
https://github.com/rdkit/rdkit/pull/2979#discussion_r387101855:

@@ -126,6 +130,19 @@ struct RDKIT_MOLDRAW2D_EXPORT MolDrawOptions {
ColourPalette atomColourPalette;  // the palette used to assign
// colors to atoms based on
// atomic number. -1 is the default value

double fixedScale; // fixes scale to this fraction of draw window width, so

                // an average bond is this fraction of the width.  If

                // scale comes out smaller than this, reduces scale, but

                // won't make it larger.  Default -1.0 means no fix.

double fixedBondLength; // fixes the bond length (and hence the scale) to

                     // always be this number of pixels.  Assuming a bond

                     // length in coordinates is 1, as is normal.  If

                     // scale comes out smaller than this, reduces scale, but

                     // won't make it larger.  Default -1.0 means no fix.

                     // If both fixedScale and fixedBondLength are > 0.0,

                     // fixedScale wins.

double rotate; // angle in degrees to rotate coords by about centre before

what's the use case for this one?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/pull/2979?email_source=notifications&email_token=ACGF2FSYYK5THF27L4Z2JFTRFUPQRA5CNFSM4LAIGFOKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCXYHW7Y#pullrequestreview-368081791,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACGF2FWPHPKTO7UHIT7USRDRFUPQRANCNFSM4LAIGFOA
.

--
David Cosgrove
Freelance computational chemistry and chemoinformatics developer
http://cozchemix.co.uk

Since this is about depiction, it might be helpful to include some before/after images of depictions in the PR.

These two pictures give some of the main differences.  Top is the new, bottom is the old.

Looking through the output of the tests from the current version (c70a3f7), here are some observations.
This is all going to be pointing out problems (or things I perceive as problems), so I should point out at the very beginning that this looks a lot better than what the RDKit currently does. A big step forward!
Now on to the complaining. :-)
This is rxn_test1_1.svg in Chrome:

O:3 in the reactants is placed a bit oddly(not terrible), the H on N:6 in the products is cut off, and the H2O:4 is too close to the plus sign in the products.
rxn_test1_5.png:

The radicals here (and the other PNGs) are mighty small. Not sure if this is fixable, but the placement of the radicals on C:2 and C:7 is confusing/difficult to see
rxn_test2_1.png

The second reactant is mightly close to the "+" sign. May not be trivial to fix.
rxn_test2_2_3.png:

I don't like the H appearing centered over "N:4". Seems like it should be over the N
test4_1.png:

The boxes showing the atom collisions are not closed
test5_2.png:

the line width for the attachment point is too narrow. It's fine (maybe too thick, but having it be the same as the bonds is not a bad starting point) in the corresponding SVG
test6_1.svg:

This is another H centering thing. I think the "H" should be centered under the "N"
I didn't really see anything else new and "disturbing".

Hi Greg,
Many thanks for the comments.  I hadn't looked at the reactions yet, other
than rxn_test1_1.svg.  THe H2O:4 in that case is too far left because it is
centred on the O:4 atom and the H2 drawn "back" from that.  It's the same
rule for the placement of H2N. It felt like a relatively rare special case
(when it's a one-heavy-atom product) so I left it in the first pass. It
might fix itself when I look at things like rxn_tet2_1.png where the
reactant spacing needs attention.  Most of the other things you highlight
are manifestations of the same thing, shown most clearly by O:4H in
rxn_test1_1.svg.  The atomic symbol and the atom mapping part are treated
as a single entity when placed, so that, in this example, the single bond
is below the colon rather than the O.  The double bond to the O:4 in
rxn_test1_5.png makes it look particularly bad in that case.  The H2+ in
test6_1.svg has the H on the atom's x-coord but because the N has isotopic
information, its symbol has been pushed to one side to accommodate the 15.
I see another horrible session of whackamole ahead in trying to fix these
whilst not breaking anything else.
The size of the radicals in the PNG is cleaerly sub-optimal.  If there's an
easy way of embedding a unicode character in a C++ string, that can be
solved like that, probably.  There is clearly a bug in the placement of
them on C atoms wrt N.
The other pieces are trivial, I think.
Cheers,
Dave
On Fri, Mar 6, 2020 at 7:01 AM Greg Landrum<EMAIL_ADDRESS>wrote:

Looking through the output of the tests from the current version (c70a3f7
https://github.com/rdkit/rdkit/commit/c70a3f79b8bd8fbac8f45924e164ab820d6b62ef),
here are some observations.
This is all going to be pointing out problems (or things I perceive as
problems), so I should point out at the very beginning that this looks a
lot better than what the RDKit currently does. A big step forward!
Now on to the complaining. :-)
This is rxn_test1_1.svg in Chrome:
[image: image]
https://user-images.githubusercontent.com/540511/76055883-35fff280-5f75-11ea-98eb-beeae7a4cb3a.png
O:3 in the reactants is placed a bit oddly(not terrible), the H on N:6 in
the products is cut off, and the H2O:4 is too close to the plus sign in the
products.
rxn_test1_5.png:
[image: image]
https://user-images.githubusercontent.com/540511/76058900-d5c17e80-5f7d-11ea-8fc1-777be28cbe1c.png
The radicals here (and the other PNGs) are mighty small. Not sure if this
is fixable, but the placement of the radicals on C:2 and C:7 is
confusing/difficult to see
rxn_test2_1.png
[image: image]
https://user-images.githubusercontent.com/540511/76058996-0ef9ee80-5f7e-11ea-9650-5d2711dac2aa.png
The second reactant is mightly close to the "+" sign. May not be trivial
to fix.
rxn_test2_2_3.png:
[image: image]
https://user-images.githubusercontent.com/540511/76059096-49638b80-5f7e-11ea-8aa9-421d2fc283c5.png
I don't like the H appearing centered over "N:4". Seems like it should be
over the N
test4_1.png:
[image: image]
https://user-images.githubusercontent.com/540511/76059285-bb3bd500-5f7e-11ea-9a5a-cf9f1b62b0f5.png
The boxes showing the atom collisions are not closed
test5_2.png:
[image: image]
https://user-images.githubusercontent.com/540511/76059340-e0304800-5f7e-11ea-8e3e-c9ab795508e5.png
the line width for the attachment point is too narrow. It's fine (maybe
too thick, but having it be the same as the bonds is not a bad starting
point) in the corresponding SVG
test6_1.svg:
[image: image]
https://user-images.githubusercontent.com/540511/76059427-1a99e500-5f7f-11ea-939a-69a33dd068ba.png
This is another H centering thing. I think the "H" should be centered
under the "N"
I didn't really see anything else new and "disturbing".
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/pull/2979?email_source=notifications&email_token=ACGF2FV54W22VG4ZFS7RQCDRGCNWHA5CNFSM4LAIGFOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOAJPHA#issuecomment-595629980,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACGF2FQOYZN3WLZNKOD2MEDRGCNWHANCNFSM4LAIGFOA
.

--
David Cosgrove
Freelance computational chemistry and chemoinformatics developer
http://cozchemix.co.uk


mismatched input '#' expecting  error

I am getting the following error message while using running synthesis in ORFS.  I am using the synlig binary file to read Systemverilog files. A while ago, I was able to use the synlig systemverilog plugin to read sv files in ORFS (I have tried the plugin but I get the same behaviour).
2. Executing Verilog with UHDM frontend.
[INF:CM0023] Creating log file "/home/tmp_compile/OpenROAD-flow-scripts/flow/slpp_all/surelog.log".
[INF:PP0122] Preprocessing source file "/home/tmp_compile/OpenROAD-flow-scripts/flow/results/smic018/ltag7/base/1_synth.rtlil".
PP PREPROCESS FILE: /home/tmp_compile/OpenROAD-flow-scripts/flow/results/smic018/ltag7/base/1_synth.rtlil
[INF:PA0201] Parsing source file "/home/tmp_compile/OpenROAD-flow-scripts/flow/results/smic018/ltag7/base/1_synth.rtlil".
[SNT:PA0207] /home/tmp_compile/OpenROAD-flow-scripts/flow/results/smic018/ltag7/base/1_synth.rtlil:1: Syntax error: mismatched input '#' expecting <EOF>,
# Generated by Yosys 0.44+60 (git sha1 0fc5812dc, c++ 13.2.0-23ubuntu4 -fPIC -O3)

The pound sign # at the beginning of the .rtlil file seems to be issue.
I am not sure what is going on.  I do not see this behaviour in ORFS when reading Verilog files.

The problem was caused by the fact that the ORFS was modified to pass only the .rtlil file to the script synth.tcl during the second synthesis pass. Consequently , I had to modify my local version of synth_preamble.tcl to properly handle this case.


Added CUB200-2010 and 2011 version

Following this pull request, I have decided to first add the CUB200-2010 version of the CUB200 dataset. Details can be found here.
Hope this fits in well with the current setup. This code doesn't leverage any existing datasets.
If this works out well, I am also considering adding the CUB200-2011 version of the CUB200 dataset.

The next commit will include the CUB200-2011 version of the CUB200 dataset. More information can be found here.

Hi,
Thanks for the PR!
I believe both datasets are the same except for the downloadable files. Could you merge both in a single class and have a year argument in the constructor?
Also, there is a lot of copy-paste in the download function, I think it would be better to clean this up / reuse it from another dataset. Maybe refactor it and add it somewhere where the other datasets that use it can call from?
One last thing, I suppose you put all the images in a single file because the dataset is small and can fit in memory. But are the original images 64x64, or explicitly stated in the documentation of the dataset that we should use this setup? If not, I'd rather avoid doing this resize, and instead load the raw images from disk at every __getitem__.

Thanks for the feedback. I have a few queries:

The images in the CUB200 datasets (both years) have variably sized and are generally large. I think it would not work in a general neural network if the images are variably-sized. This is why I resized it to 64x64 and stored it in one file. If you have any suggestions/improvements of this idea, let me know.

The datasets CUB200-2010 and CUB200-2011 have different file arrangements/structures. For example: in CUB200-2011 there is a proper file separating the train and test images, whereas in CUB200-2010 there are separate files indicating train and test images. This is why I thought I would not be able to use pre-written download functions. Any suggestions/improvements are welcome here too.

In your second remark, are you suggesting the inclusion of a utils.py file, wherein the canonical functions are present, such as download, __len__ and __getitem__?

If the images have different sizes, I think it's not a good idea to restrict it to be 64x64, as other users might want to use a higher size, or keep the original aspect ratio, etc. I'd suggest not resizing the images, and loading them from disk as is done in ImageFolder, or in the original PR that you referred to
I haven't looked in detail, but it should be possible to factor out the differences in a common code, and use the same interface for both datasets once those (small) differences are addressed.
I was thinking about having a utils.py file for example, which contains a generic download function that is used by all the other datasets that have a download function. This might require some refactoring, but from a quick view I have the impression that we would have a much cleaner code.

@fmassa I have changed a few things after your suggestions. Please let me know what you think.

@fmassa My PR helps cover issues like these too w.r.t. documentation. https://github.com/pytorch/vision/issues/288


Drag reorder not sticking

Hi @steveswinsburg,
After dragging and dropping a column I've been noticing the sort order isn't sticking on a page refresh, however when I hit the tool reset action the new sort order applies.  Smells of caching?
Cheers
Payten

Hm.. looks like there's a similar issue when entering a grade too e.g. I enter a new grade value; after refresh of page it reverts to the previous value; after reset of tool it displays the new value.

Interesting. The wicket models are updating but the page refresh is pulling the current version of the page from the cache due to the ?pageid param being in the URL. Investigating.

Ok so we can add a different rendering strategy which seems to fix this. The only thing is it makes the URLs a bit ugly.
getRequestCycleSettings().setRenderStrategy(IRequestCycleSettings.RenderStrategy.ONE_PASS_RENDER);
It's in but commented out in the Application class. Let me know your thoughts.

I think I might leave this as a known issue for now.  There are a few ways to fix this so we can look at in in depth soon.

This issue was moved to sakaiproject/sakai#1336


Add github action for automating unit tests

Is your feature request related to a problem? Please describe.
There is currently no automated testing, the goal is the lighten the manual workload required to run tests
Describe the solution you'd like
We would like to add github actions to automate the unit test suite that will be added in another issue
Describe alternatives you've considered
N/A
Additional context
Unit tests will be added in this issue https://github.com/Call-for-Code-for-Racial-Justice/TakeTwo-Marker-ChromeExtension/issues/36

@upkarlidder @demilolu This issue needs the ms-cohort-claimed label


Do not pass this as an argument

Passing this as an argument can lead to concurrency issues.
Removing TableDataManager instance from TableUpsertMetadataManager#init interface as it is not actually used. TableUpsertMetadataManager is created by the TableDataManager. Hence, any required data can be passed in directly without exposing this.
Note: Kept the change backward compatibility , although I don't see a reason why we can't just remove it. It is an internal API.
Label: refactor

Codecov Report

Merging #9835 (5f92f2d) into master (e98fa6e) will decrease coverage by 54.45%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #9835       +/-   ##
=============================================
- Coverage     70.26%   15.81%   -54.46%
+ Complexity     4924      175     -4749
=============================================
  Files          1964     1913       -51
  Lines        105055   102696     -2359
  Branches      15907    15621      -286
=============================================
- Hits          73822    16238    -57584
- Misses        26101    85266    +59165
+ Partials       5132     1192     -3940

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
15.81% <0.00%> (+0.02%)
:arrow_up:

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

 Learn more

@Jackie-Jiang can you review this PR?  can you also re-trigger the CI suite? The failed integration test runs fine locally.

Suggest not changing the interface TableUpsertMetadataManager which is actually designed as a pluggable module. We want it to be able to access TableDataManager for extra configs. Both of them are table level, so there should be no concurrency issue though.

Spoke with @Jackie-Jiang  offline.
I think my suggestion was coming from a cleaner code point of view that doesn't expose functionality (which otherwise may not be necessary to different components of the system) and to improve testability.
I still think there should be very little need to access functionality from a higher level. Data access can be done without passing the entire instance.  But it looks like we are a little too deep in the weeds to simplify this right now :)
Closing this and will re-visit the pattern later. Tks!


fix: move validity indicator icon back to first column

Originally the icon was on the first column which was first input, then first input was changed to tags, then tags was moved to be second column instead of first and I forgot to move the triangle back.
This moves it back to the first column like below:

Also added a new attribute:
data-testid="train-dialogs-validity-indicator" to help make it easier on tests. Previously they were testing for firstInput and having to know if it was valid or not, but the icon isn't actually part of the input so this was misleading.  Even though the first inputs are still in the DOM they don't including the icon so I think there will need to be new way to test this.
Couple questions for further improvement or future PRs:

Dates color
I noticed that we only colorize the scenario, tags, and turns, but not the dates.  My first instinct thought the whole row should be the same color but maybe it was left this way to make reading the dates easier?
Anyways, want to decision to changes those also or leave them.

Tag color
Current it just uses the same red text coloring as the other fields.  An alternate design might be to preserve text contrast and change tag background like below:

I thought this was too harsh, but so I left it out but wanted to get other's opinions. If we do it I think it needs to be the consistent red error color everywhere though so just making it a faded red didn't seem like an option.

Fixes ADO#1924

Agreed.  The all read tags are too harsh.  I’d say just leave the tags in their default color (no red)

Ok, based on Lars feedback I changed it so tags don't change color, but I still change the empty text color.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: transparent background

To make the Enfocado background transparent, you just need to add the example code snippet from the customization section of this project to your .vimrc or init.vim, which is as follows:
augroup enfocado_customization
  autocmd!
    autocmd ColorScheme enfocado ++nested highlight Normal ctermbg=NONE guibg=NONE
augroup END

Please close this issue if it works as expected. Thanks.


Expected valid bigint: 0 < bigint < curve.n

Related issue on starknet-react repo
This issue was introduced in the commit (5fae298) and it's related to account.execute() calls.
I've tested by installing<EMAIL_ADDRESS>and using the latest<EMAIL_ADDRESS>with the same code from the original issue, which works as expected, and after upgrading starknetkit to 2.3.1 I get the same error Expected valid bigint: 0 < bigint < curve.n.

@kseikyo that's unfortunately an issue related to starknetjs (we're already in talking to fix it)
at the moment, you should use this hook instead of directly calling account.execute
https://www.starknet-react.com/docs/hooks/use-wallet-request

Thanks for the speedy reply!
We're using account.execute to invoke transactions with contract.populateTransaction, so I guess we have to move from it and only use useSendTransaction from now on.

when using starknet-react I would suggest to always use their hooks
as soon as starknetjs will be updated, we'll also update our get account method to return a WalletAccount
but this could take a while
closing the issue for now


Fix possible bug with AudioStreamPlayer2D audio position

Fixes #19857

I tested your patch here and solves the problem. Thanks :+1:

You're welcome, glad to help :)

Cherry picked into 3.0.6


Irregular time series support

Issue #, if available:
Description of changes:
Adding support to irregular time series where the datatimes are given by an INDEX key in the dataset
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Please tag this pr with at least one of these labels to make our release process faster: BREAKING, new feature, bug fix, other change, dev setup

To understand it correctly, "irregular" means that the values are not spaced apart by the same time offset?

right! When then implies we need to specify the time index for each point of the target... I believe i have training working... stuck at the inference part... I would appreciate some help! Let me push the latest changes and example to test...

@jaheba I am using the following snippet to test:
import random
import pandas as pd

from gluonts.dataset.common import Dataset, ListDataset
from gluonts.torch.model.deepar import DeepAREstimator
from gluonts.evaluation import make_evaluation_predictions, Evaluator

freq_str="1T"
prediction_length = 10

index = sorted(random.sample(list(pd.date_range("2021-01-01 02:12:06", periods=400, freq=freq_str)), 50+prediction_length))

train_ds = ListDataset(
    [
        {
        "start": index[0],
        "target": [float(i) for i in range(50)],
        "item_id": "0",
        "index": index[:50],
        },
    ],
    freq=freq_str,
)

test_ds = ListDataset(
    data_iter=[
        {
        "start": index[0],
        "target": [float(i) for i in range(50+prediction_length)],
        "item_id": "0",
        "index": index[:50+prediction_length],
        }
    ],
    freq=freq_str,
)

estimator = DeepAREstimator(
    freq=freq_str,
    prediction_length=prediction_length,
    scaling=False,
    trainer_kwargs={"max_epochs": 1},
)

predictor = estimator.train(train_ds)

forecast_it, ts_it = make_evaluation_predictions(
    dataset=test_ds,
    predictor=predictor
)

forecasts = list(forecast_it) # the predictions are not the right size in time
tss = list(ts_it)

evaluator = Evaluator()
agg_metrics, ts_metrics = evaluator(iter(tss), iter(forecasts), num_series=len(test_ds)) #  crash here

Can we add the snippet as a test?

sure... let me do that...

Something I'm wondering: If we merge this PR we break the assumption that time-series are regular. Is that an assumption we rely on in other places? /cc @lostella

so the one big missing piece is in the InstanceSplitter which currently is setting the wrong forecast_start_field field

@jaheba #1975 is the change to use FieldName. Once merged I'll fix up this PR wrt the conflicts.
So I believe, basically, this functionality is working... could you kindly see if there might be some edge cases? One I believe is the padding in the instance splitters...

@lostella I believe I have taken care of all the 3 issues you so kindly listed and I believe I am able to train and do inference on irregular time series data now.
The only edge case I have in my mind right now is the padding in the Splitters... if you could kindly have a closer look at that, I would appreciate it!
Thanks!

@jaheba another potential issue i have is if i run the code snippet above and then call forecasts[0] in jupyter I get the following error in the serializer:
forecasts[0]

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
File ~/.env/pytorch/lib/python3.8/site-packages/IPython/core/formatters.py:707, in PlainTextFormatter.__call__(self, obj)
    700 stream = StringIO()
    701 printer = pretty.RepresentationPrinter(stream, self.verbose,
    702     self.max_width, self.newline,
    703     max_seq_length=self.max_seq_length,
    704     singleton_pprinters=self.singleton_printers,
    705     type_pprinters=self.type_printers,
    706     deferred_pprinters=self.deferred_printers)
--> 707 printer.pretty(obj)
    708 printer.flush()
    709 return stream.getvalue()

File ~/.env/pytorch/lib/python3.8/site-packages/IPython/lib/pretty.py:410, in RepresentationPrinter.pretty(self, obj)
    407                         return meth(obj, self, cycle)
    408                 if cls is not object \
    409                         and callable(cls.__dict__.get('__repr__')):
--> 410                     return _repr_pprint(obj, self, cycle)
    412     return _default_pprint(obj, self, cycle)
    413 finally:

File ~/.env/pytorch/lib/python3.8/site-packages/IPython/lib/pretty.py:778, in _repr_pprint(obj, p, cycle)
    776 """A pprint that just redirects to the normal repr function."""
    777 # Find newlines and replace them with p.break_()
--> 778 output = repr(obj)
    779 lines = output.splitlines()
    780 with p.group():

File ~/gluon-ts-PR/src/gluonts/core/component.py:310, in validated.<locals>.validator.<locals>.validated_repr(self)
    309 def validated_repr(self) -> str:
--> 310     return dump_code(self)

File ~/gluon-ts-PR/src/gluonts/core/serde/_repr.py:115, in dump_code(o)
     95 def dump_code(o: Any) -> str:
     96     """
     97     Serializes an object to a Python code string.
     98
   (...)
    112         Inverse function.
    113     """
--> 115     return as_repr(encode(o))

File /usr/lib/python3.8/functools.py:875, in singledispatch.<locals>.wrapper(*args, **kw)
    871 if not args:
    872     raise TypeError(f'{funcname} requires at least '
    873                     '1 positional argument')
--> 875 return dispatch(args[0].__class__)(*args, **kw)

File ~/gluon-ts-PR/src/gluonts/core/serde/_base.py:220, in encode(v)
    212 if hasattr(v, "__getnewargs_ex__"):
    213     args, kwargs = v.__getnewargs_ex__()  # mypy: ignore
    215     return {
    216         "__kind__": Kind.Instance,
    217         "class": fqname_for(v.__class__),
    218         # args need to be a list, since we encode tuples explicitly
    219         "args": encode(list(args)),
--> 220         "kwargs": encode(kwargs),
    221     }
    223 try:
    224     # as fallback, we try to just take the path of the value
    225     fqname = fqname_for(v)

File /usr/lib/python3.8/functools.py:875, in singledispatch.<locals>.wrapper(*args, **kw)
    871 if not args:
    872     raise TypeError(f'{funcname} requires at least '
    873                     '1 positional argument')
--> 875 return dispatch(args[0].__class__)(*args, **kw)

File ~/gluon-ts-PR/src/gluonts/core/serde/_base.py:207, in encode(v)
    204     return list(map(encode, v))
    206 if isinstance(v, dict):
--> 207     return valmap(encode, v)
    209 if isinstance(v, type):
    210     return {"__kind__": Kind.Type, "class": fqname_for(v)}

File ~/.env/pytorch/lib/python3.8/site-packages/toolz/dicttoolz.py:83, in valmap(func, d, factory)
     72 """ Apply function to values of dictionary
     73
     74 >>> bills = {"Alice": [20, 15, 30], "Bob": [10, 35]}
   (...)
     80     itemmap
     81 """
     82 rv = factory()
---> 83 rv.update(zip(d.keys(), map(func, d.values())))
     84 return rv

File /usr/lib/python3.8/functools.py:875, in singledispatch.<locals>.wrapper(*args, **kw)
    871 if not args:
    872     raise TypeError(f'{funcname} requires at least '
    873                     '1 positional argument')
--> 875 return dispatch(args[0].__class__)(*args, **kw)

File ~/gluon-ts-PR/src/gluonts/core/serde/_base.py:243, in encode(v)
    240 except AttributeError:
    241     pass
--> 243 raise RuntimeError(bad_type_msg.format(fqname_for(v.__class__)))

RuntimeError: Cannot serialize type pandas.core.indexes.datetimes.DatetimeIndex. See the documentation of the `encode` and
`validate` functions at

    http://gluon-ts.mxnet.io/api/gluonts/gluonts.html

and the Python documentation of the `__getnewargs_ex__` magic method at

    https://docs.python.org/3/library/pickle.html#object.__getnewargs_ex__

for more information how to make this type serializable.

@jaheba ok I added a DatetimeIndex encoder to fix the above issue I believe...

I will update this I suppose when the PR #1980 is merged as I can then base my changes based on that

@rsnirwan would you have some time to quickly see how I can also use the new pandas datasets with irregular time indices in this PR?

@rsnirwan would you have some time to quickly see how I can also use the new pandas datasets with irregular time indices in this PR?

@kashif @jaheba @lostella Is this resolved? Can we use irregular time series forecasting using DeepAR? This is highly required for some practical cases.

hmm @AjinkyaBankar kind-of, things were refactored and this branch kind of got left behind... i would love to get it up to speed but it might require a new PR


Attempt to combine test case names with expression results

Results for expression evaluation look like this:

Results for whole-file evaluation look the same as before.