Migrate from springfox to springdoc-openapi

The Swagger UI included in this project uses a version of springfox from 2018, which is known to have at least one issue:
https://security.snyk.io/vuln/SNYK-JAVA-IOSPRINGFOX-1075064
Unfortunately, subsequent releases change the API significantly, and I haven't managed to get either 2.10.x or 3.0.0 to drop in.
Even more unfortunately, springfox appears to unmaintained now, so putting a lot of effort into moving to an unaffected version seems like more work than it's worth. In either case, we need to migrate to something else.
The flavour of the month appears to be springdoc-openapi:
https://springdoc.org
As of 2021-11-24 this seems to be actively developed:
https://github.com/springdoc/springdoc-openapi
For example, support for Spring Boot 6 has been added recently (springfox has outstanding issues in the same area, another reason to walk away from it over time).
The biggest issue with springdoc-openapi is that it does not support Swagger 1 or 2 APIs, only OpenAPI a.k.a. Swagger 3. Moving to it will therefore require converting the Swagger spec for the validator API to OpenAPI (probably straightforward) and then using the Swagger 3 code generator (perhaps not trivial, as we have made changes to the generated 2.x code and may need to rework that).

One thing that will definitely change in the code is that the annotations used to describe the API are different.


JBang runnable examples

This is mostly a prototype but is there any interest for some JBang examples for ORM?
Basically, once JBang is installed, one would be able to see the list of the examples with:
jbang alias list hibernate/hibernate-orm

and then run the selected one (ORMStandaloneTestCase in this case) with:
jbang standalone-test@hibernate/hibernate-orm

It also possible to open the file as a project in the IDE (IntelliJ IDEA in this example):
jbang edit --open=idea standalone-test@hibernate/hibernate-orm

For a working example, you can try this:
jbang alias list DavideD/hibernate-orm/jbang
jbang standalone-test@DavideD/hibernate-orm/jbang
jbang edit --open=idea standalone-test@DavideD/hibernate-orm/jbang

I've adapted a couple of the examples here: https://github.com/hibernate/hibernate-test-case-templates/tree/main/orm/hibernate-orm-5/src/test/java/org/hibernate/bugs

It seems templates are the way to go.


Fix schema label struct

In preparation for resolving issue https://github.com/bcgov/aries-vcr/issues/725 we need to make sure the frontend supports both types of schema labels {"translations":{"en":{"labels":"string", "description":"string"}}} and {"en":{"labels":"string", "description":"string"}} otherwise making a change to the backend structure would break the frontend functionality.

If this will be a temporary change can you please add comments in the code to remove/update the types once the API change is complete?


Annotating tutorial notebooks

Adding comments to code and clarifying text in ChiRho tutorial notebooks

Handling this issue in a forked repository.

@sabinala , could you clarify where you think the tutorials and examples could use more documentation? At present, this issue is too underspecified to be addressed.

Sure, I'm going to close this issue for now and revisit with more specificity another time.


feat(#252): Cancel Constructor Inlining

Since we decided to implement inlining using different approach https://github.com/objectionary/jeo-maven-plugin/issues/259, we don't need constructors inlining anymore.
Closes: #252.

History:

feat(#252): add DirectivesInstruction and DirectivesOperand classes
feat(#252): use constructors from decorated object only
feat(#252): remove the puzzle for 252 issue
feat(#252): add one more puzzle
feat(#252): fix all qulice suggestions

PR-Codex overview
This PR focuses on refactoring the constructor logic in the DecoratorConstructors class.
Detailed summary

Removed the decorator parameter from the DecoratorConstructors constructor.
Updated the constructors method to only use the decorated class.
Removed the combineDescriptors method.
Removed the combineInstructions method.

The following files were skipped due to too many changes: src/main/java/org/eolang/jeo/improvement/DecoratorConstructors.java

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 3min)

@rultor release, tag is 0.1.4, title is 0.1.4.

@rultor release, tag is 0.1.4, title is 0.1.4.

@volodya-lombrozo OK, I will release it now. Please check the progress here


Add page link to repository description

Update the repository description with the proper website link generated by GitHub Pages. After setting up, follow the link to ensure everything is displaying correctly, and you should see your index.html content.

GitHub Pages and repository description updated as requested. Everything is set up and working smoothly! 🚀


ParseTolerant "1.15-alpine3.14" returns error

Using semver v4
	e, err := semver.ParseTolerant("1.15-alpine3.14")
	if err != nil {
		fmt.Println(err)
	}

returns error Invalid character(s) found in minor number "15-alpine3"

Part of the line -alpine3 is interpreted by the package as a pre-release version.
But according to the document, the pre-release version can go strictly beyond the patch part


[Feature Request] Show fees in per Byte format

It would be great to have showing fees in per byte format like Nanoneros/Byte

set the ability to modify the fee, as a check in the settings to propose this, or in the advanced transaction details
Because as we are currently seeing, the auto transaction fee isn't working properly.


Fix win-64 build issue for django version 1.7.11

Hi @ocefpaf I finally found some time to fix the build issue with win-64, hopefully it will build now (ping @ltalirz)
Checklist

[X] Used a fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[X] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

The source section contained an unexpected subsection name. script is not a valid subsection name.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@astamminger Do you want to add yourself as a maintainer here? I usually don't pay attention to old versions of Django but I understand that it is important to keep them updated.

@astamminger Do you want to add yourself as a maintainer here?

@ocefpaf Sure, should I add myself to the recipe and issue a new PR?

@ocefpaf Sure, should I add myself to the recipe and issue a new PR?

Awesome! Do that for the latest version on master to get rights to the feedstock.


CSS

CSS
User Story
As a bootcamp 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 a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow

dark blue header and footer observed
boxes with shadow observed


PDF cleanup: simplify code in Figure 34

Description
Rearrange code to simplify nested where blocks in Fig 34, as suggested in one of the items in issue #146.
Checklist

[X] Commit sequence broadly makes sense and commits have useful messages
[X] Code is formatted according to CONTRIBUTING.md
[X] Self-reviewed the diff

I though we shouldn't be using module in the code displayed on PDF, only in extremely rare cases.

@WhatisRT I think this PR is good to know... please lmkwyt.

I removed the module introducing the module parameters that are assumed throughout the block of code that computes actual vote.
@WhatisRT and/or @omelkonian, please approve if you're okay with the changes.


Fix lint warnings for generated internal types

What changed?

No underscores in internal type names
Added missing comments

Why?
Linter was complaining

How did you test it?

Potential risks

Coverage decreased (-0.03%) to 59.72% when pulling 203980e3f30bceeffb0c180b87ec2d784888c9de on vytautas-karpavicius:internal-types-lint-fixes into 291897c026eaab5dc08cf0316e6ff816216ff4cb on uber:master.


GuiFileBrowser: Add SELECT button for better UI

Makes file browser GUI more intuitive. In other places actions are confirmed with A button which is needed for entering folders in file browser.
SELECT button can help confused users.

I'm divided.
When you set the focus to the SELECT button you can't see anymore what item is selected in the list.
Doing that, when you press the button, you can't confirm with an eye what you SELECT.
So : In my point of view, it's less intuitive than having no button at all.
Pressing A is generally enough -> It works like that in every other menu.
Addin the button would be a good thing if the selected item was still visible, but there's no "always show selection" option in ComponentList, and there's no management in themes to differenciate selection when the list has the focus, or not (ie make the selection line gray when the focus is lost).
My personal opinion is that it's more intuitive without the button.

What is the relationship between the gamepad [start] button and the select button in the UI ?

What ??? It's not a question about renaming the button or not.
It's a question to determine if it's pertinent to add this button, knowing that you can't see the selected item in the list when the button has the focus.
In my optinion : it's not pertinent, because it's not intuitive at all.

@fabricecaruso Sorry! I have misunderstood this question:

What is the relationship between the gamepad [start] button and the select button in the UI ?

Both ([start] button and SELECT button in UI) run exactly the same code and do exactly the same thing. Each user can decide which method is more comfortable.


How to prune the Attention matrix using nni.

Describe the issue:
I am currently working on the sparsity of the attention that is defined as $P=QK^T$. Many works have proposed sparse attention to save the square complexity of memory and computation. A binary mask matrix is generated indicating which elements need to be computed in $P$. This kind of sparsity differs from the currently available nni API, which prunes a module with weights. Therefore, I am wondering whether nni supports such sparse computation.
A possible way I am considering is to define a new nn.module, in which I define an all-one matrix as its parameter, and its forward is the Hadamard product of this all-one matrix and the post-softmax attention. Then the pruner could be applied to the all-one matrix (The metric to generate mask should also be modified). I thing the problem may rises from the mask of pruner is generated before the module is forwarded. However, generating the mask of the Softmax requires post-softmax attention. What do you think the feasibility of this implementation and is there any more elegant way?
Environment:
Not applied.
Configuration:
Not applied.
Log message:
Not applied.
How to reproduce it?:
Not applied.

hello @hobbitlzy , it is a good question, your concern about the mask of pruner is generated before the module is forwarded is only for post-training pruners, you could have a try with some training-aware pruners like MovementPruner, we have tested the performance of attention pruning on this pruner in an internal nni version, or maybe you have your own pruning algorithm then you could customize a pruner.
I think your solution for pruning Softmax is the fastest practical way, you could try your solution first.
If you want to use nni's native functionality to achieve attention pruning, the following doc may help you sparse the Softmax, but note that pruners in nni 3.0rc1 have not been tested on attention pruning yet, you may need to modify part of the implementation logic of pruners.
If you want to mask the input and output of torch.nn.Softmax, you need add a setting for torch.nn.Softmax,
https://nni.readthedocs.io/en/v3.0rc1/compression/setting.html
customized_setting = {
    '_input_': {
        'sparse_ratio': None,
        'max_sparse_ratio': None,
        'min_sparse_ratio': None,
        'sparse_threshold': None,
        'global_group_id': None,
        'dependency_group_id': None,
        'granularity': [-1, 1, 1],
        'internal_metric_block': None,
        'apply_method': 'add',
    },
    '_output_': {
        'align': {
            'module_name': None,
            'target_name': '_input_0',
            'dims': [0, 1, 2],
        },
        'apply_method': 'mul',
        'granularity': [-1, 1, 1]
    }
}

You could have a try with setting compression target in config list. https://nni.readthedocs.io/en/v3.0rc1/compression/config_list.html#target-names
And for Softmax input pruning, should change masks apply_method from mul to add. https://nni.readthedocs.io/en/v3.0rc1/compression/config_list.html#apply-method

Thank you for your response. It helps me discover many nni functionalities that I hadn't previously been aware of. It seems plausible that I can employ the input or output pruning to the SoftMax module directly. This strategy should allow me to achieve the exact attention pruning I am aiming for. I will test this approach and see how it works.

Hi, @J-shang. I read the paper of the MovementPruner and find it is designed for model weights. I am not sure about its performance on attention pruning (Do you get satisfying results?). Therefore, in my early attempt, I want to use the simple magnitude metric to prune the unnecessary attention values, such as the LevelPruner or the L1NormPruner do. Thanks to your snippet of the setting, I successfully wrap the SoftMax module like this.

(self): BertSelfAttention(
    (query): Linear(in_features=768, out_features=768, bias=True)
    (key): Linear(in_features=768, out_features=768, bias=True)
    (value): Linear(in_features=768, out_features=768, bias=True)
    (dropout): Dropout(p=0.1, inplace=False)
    (softmax): MySoftMax(
        dim=-1
        (_nni_wrapper): ModuleWrapper(module=MySoftMax(dim=-1), module_name=bert.encoder.layer.11.attention.self.softmax)
    )
)

However, when I dive into the implementation of the input/output pruning, I find the pruner is hard to generate masks according to the attention values since it does not accept data when generating masks. Do you have any suggestions about this?
I guess the MovementPruner can do this since it intervenes in each step of the training loop and can accept the module input for generating masks. Maybe I need to define the pruning logic based on the MovementPruner?

Hello @hobbitlzy , yes, MovementPruner is implemented for pruning weights, so you need to define the pruning logic for inputs. You could call this interface pruner.track_forward to get the input/output shape before pruner.compress, the input/output shape will be recorded in TargetSpace.shape. Please pay attention to the variable sequence length.
About the MovementPruner performance on attention, we have tried on Bert before, and it's not bad.

Update: I write the attention prune logic inside the forward function of the model, and it works well for me.


--max-concurrent-downloads,--max-concurrent-uploads must great than or equal to 0

- What I did
I think that  --max-concurrent-downloads,--max-concurrent-uploads must great than or equal to 0
- How I did it
modify cmd/dockerd/daemon.go  ValidateConfigFileAndFlags instead of ValidateConfiguration validates specific configs,whether MergeDaemonConfigurations call or not.
 if opts.configFile != "" {
	c, err := daemon.MergeDaemonConfigurations(config, flags, opts.configFile)
	if err != nil {
		if flags.Changed(flagDaemonConfigFile) || !os.IsNotExist(err) {
			return nil, fmt.Errorf("unable to configure the Docker daemon with file %s: %v\n", opts.configFile, err)
		}
	}
	// the merged configuration can be nil if the config file didn't exist.
	// leave the current configuration as it is if when that happens.
	if c != nil {
		config = c
	}
}

//validates specific configs,whether MergeDaemonConfigurations or not.
if err := daemon.ValidateConfigFileAndFlags(config); err != nil {
	return nil, err
}

daemon/config.go add func ValidateConfigFileAndFlags  validates specific configs
daemon/config_test.go add  func TestValidateConfigFileAndFlags  testcase to validate configs
- How to verify it
dockerd   --max-concurrent-downloads=-1 --max-concurrent-uploads=2
exit and console print：
invalid max concurrent downloads: -1
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)

CI failing
00:45:12.819 ----------------------------------------------------------------------
00:45:12.820 FAIL: docker_cli_daemon_test.go:2389: DockerDaemonSuite.TestDaemonMaxConcurrencyWithConfigFile
00:45:12.820
00:45:12.820 [df7e72767441d] waiting for daemon to start
00:45:12.821 [df7e72767441d] exiting daemon
00:45:12.821 docker_cli_daemon_test.go:2401:
00:45:12.822     c.Assert(s.d.Start(fmt.Sprintf("--config-file=%s", configFilePath)), check.IsNil)
00:45:12.822 ... value *errors.errorString = &errors.errorString{s:"[df7e72767441d] Daemon exited during startup"} ("[df7e72767441d] Daemon exited during startup")
00:45:12.823
00:45:12.913
00:45:12.913 ----------------------------------------------------------------------
00:45:12.913 FAIL: docker_cli_daemon_test.go:2427: DockerDaemonSuite.TestDaemonMaxConcurrencyWithConfigFileReload
00:45:12.914
00:45:12.914 [da4a55668e69a] waiting for daemon to start
00:45:12.914 [da4a55668e69a] exiting daemon
00:45:12.914 docker_cli_daemon_test.go:2439:
00:45:12.914     c.Assert(s.d.Start(fmt.Sprintf("--config-file=%s", configFilePath)), check.IsNil)
00:45:12.915 ... value *errors.errorString = &errors.errorString{s:"[da4a55668e69a] Daemon exited during startup"} ("[da4a55668e69a] Daemon exited during startup")
00:45:12.915
00:45:16.364
00:45:16.365 ----------------------------------------------------------------------

@AkihiroSuda
I think --max-concurrent-downloads,--max-concurrent-uploads items should greate than 0,
so  add ,if  little 1,than set default vaule

IMO it should just print an error rather than fall-back to the default value. WDYT?

@AkihiroSuda
I see DockerSuite.TestBuildShellMultiple testcase fail in windowsRS1 , i think that there is no  associate with my modify code,in janky all havc succeed.
09:22:35 ----------------------------------------------------------------------
09:22:35 FAIL: docker_cli_build_test.go:6797: DockerSuite.TestBuildShellMultiple
09:22:35
09:22:35 docker_cli_build_test.go:6832:
09:22:35     c.Fatalf("Expected started container to run ls -l. %s", outrun)
09:22:35 ... Error: Expected started container to run ls -l.
09:22:35
09:22:35
09:22:35 ----------------------------------------------------------------------

@AkihiroSuda
According to the communication with you, when max-concurrent-downloads,max-concurrent-uploads less than 1 , print the error and exit.

The original code is introduced via https://github.com/docker/docker/pull/22445
PTAL @yongtang?

Thanks @chchliang @AkihiroSuda @thaJeztah.
Currently when --max-concurrent-downloads or --max-concurrent-uploads is equal to 0, it means the concurrency is unlimited and there is no restriction.
See comment:
https://github.com/docker/docker/pull/22445#issuecomment-216594740
Also in the code base:
https://github.com/docker/docker/pull/22445/files#diff-d5136593d294e63c4f8792a70e40a252R349
	if tm.concurrencyLimit == 0 || tm.activeTransfers < tm.concurrencyLimit {
		close(start)
		tm.activeTransfers++
	} else {
		tm.waitingTransfers = append(tm.waitingTransfers, start)
	}

I think one issue about the current version of the docker is that 0 means unlimited was never mentioned in the docs.
I am wondering if it is more appropriate to update the docs to reflect that?

@yongtang  @AkihiroSuda @thaJeztah
--max-concurrent-downloads or --max-concurrent-uploads is equal to 0, it means the concurrency is unlimited,but negative docker pull or docker push  can not work
for example:
start docker daemon, dockerd --max-concurrent-downloads=-1 --max-concurrent-uploads=2,
after execute docker pull <images> ,The screen display Waiting...
so add 2 fails testcase to validate .

I think more changes are needed, because it's showing an incorrect error message if a daemon.json file is present;
$ cat /etc/docker/daemon.json
{
  "debug":true
}

$ dockerd --max-concurrent-downloads=-1
unable to configure the Docker daemon with file /etc/docker/daemon.json: file configuration validation failed (invalid max concurrent downloads: -1)

If no daemon.json is present, the correct message is shown;
$ rm /etc/docker/daemon.json

$ dockerd --max-concurrent-downloads=-1
invalid max concurrent downloads: -1

I think the issue happens in MergeDaemonConfigurations:
https://github.com/docker/docker/blob/v1.13.0-rc3/daemon/config.go#L315-L328
Both before and after the merge the error will return
fmt.Errorf("file configuration validation failed (%v)",

which caused the incorrect error message.
The initial PR #22445 uses config.IsValueSet("max-concurrent-downloads"), it should be related to validation against fileConfig (or non-fileConfig). Later it seems that there are some changes in overall validation and configuration merging. That caused config.IsValueSet("max-concurrent-downloads") to be problematic.
The incorrect error message may also impact other configurations so some additional changes might be needed.

@yongtang
I think the issue happens that inMergeDaemonConfigurations, the ValidateConfiguration are duplicated validate.
/etc/docker/daemon.json was  validated in the first ValidateConfiguration  , the second ValidateConfiguration unnecessary. after MergeDaemonConfigurations  will call ValidateConfiguration  again.
        if opts.configFile != "" {
	c, err := daemon.MergeDaemonConfigurations(config, flags, opts.configFile)
	if err != nil {
		if flags.Changed(flagDaemonConfigFile) || !os.IsNotExist(err) {
			return nil, fmt.Errorf("unable to configure the Docker daemon with file %s: %v\n",                    opts.configFile, err)
		}
	}
	// the merged configuration can be nil if the config file didn't exist.
	// leave the current configuration as it is if when that happens.
	if c != nil {
		config = c
	}
}

if err := daemon.ValidateConfiguration(config); err != nil {
	return nil, err
}

@chchliang Based on the current code's comment:
 -	// We need to validate again once both fileConfig and flagsConfig
 -	// have been merged
-	if err := ValidateConfiguration(fileConfig); err != nil {

I think we may want to leave the re-validation alone. Instead, the error message on the second validation:
return nil, fmt.Errorf("file configuration validation failed (%v)", err)

could be changed to something more informative. /cc @thaJeztah

@yongtang  @thaJeztah
ok，
I leave the re-validation and config.IsValueSet("max-concurrent-downloads") alone  in the MergeDaemonConfigurations,
and add ValidateConfigFileAndFlags  validates configs ,whether MergeDaemonConfigurations call  or not.
       if opts.configFile != "" {
	c, err := daemon.MergeDaemonConfigurations(config, flags, opts.configFile)
	if err != nil {
		if flags.Changed(flagDaemonConfigFile) || !os.IsNotExist(err) {
			return nil, fmt.Errorf("unable to configure the Docker daemon with file %s: %v\n", opts.configFile, err)
		}
	}
	// the merged configuration can be nil if the config file didn't exist.
	// leave the current configuration as it is if when that happens.
	if c != nil {
		config = c
	}
   }

//validates specific configs,whether MergeDaemonConfigurations  call or not.
if err := daemon.ValidateConfigFileAndFlags(config); err != nil {
	return nil, err
}

ping @thaJeztah @AkihiroSuda @yongtang

@chchliang I think the PR might over-complicated the issue.
To fix the -1 issue, you could remove config.IsValueSet("max-concurrent-downloads") && and config.IsValueSet("max-concurrent-uploads") &&  and the issue will be fixed already.
To fix the issue raised by @thaJeztah about the incorrect error message, I think changing the returned error may also fix it. For example:
diff --git a/daemon/config.go b/daemon/config.go
index b0d4181..cf80a00 100644
--- a/daemon/config.go
+++ b/daemon/config.go
@@ -313,7 +313,7 @@ func MergeDaemonConfigurations(flagsConfig *Config, flags *pflag.FlagSet, config
        }

        if err := ValidateConfiguration(fileConfig); err != nil {
-               return nil, fmt.Errorf("file configuration validation failed (%v)", err)
+               return nil, fmt.Errorf("configuration validation from file failed (%v)", err)
        }

        // merge flags configuration on top of the file configuration
@@ -324,7 +324,7 @@ func MergeDaemonConfigurations(flagsConfig *Config, flags *pflag.FlagSet, config
        // We need to validate again once both fileConfig and flagsConfig
        // have been merged
        if err := ValidateConfiguration(fileConfig); err != nil {
-               return nil, fmt.Errorf("file configuration validation failed (%v)", err)
+               return nil, fmt.Errorf("merged configuration validation from file and command line flags failed (%v)", err)
        }

        return fileConfig, nil
@@ -498,12 +498,12 @@ func ValidateConfiguration(config *Config) error {
        }

        // validate MaxConcurrentDownloads
-       if config.IsValueSet("max-concurrent-downloads") && config.MaxConcurrentDownloads != nil && *config.MaxConcurrentDownloads < 0 {
+       if config.MaxConcurrentDownloads != nil && *config.MaxConcurrentDownloads < 0 {
                return fmt.Errorf("invalid max concurrent downloads: %d", *config.MaxConcurrentDownloads)
        }

        // validate MaxConcurrentUploads
-       if config.IsValueSet("max-concurrent-uploads") && config.MaxConcurrentUploads != nil && *config.MaxConcurrentUploads < 0 {
+       if config.MaxConcurrentUploads != nil && *config.MaxConcurrentUploads < 0 {
                return fmt.Errorf("invalid max concurrent uploads: %d", *config.MaxConcurrentUploads)
        }

Note I don't have a good suggestion over the exact output of the error message, the above is merely an example of distinguish different scenarios of the error message.

@yongtang  @thaJeztah
I think so.
I think that how to describe the error message and add test case.

@yongtang @AkihiroSuda what's verdict here?

@LK4D4 I think the fix sounds good to me. Not sure about the error message. Maybe @thaJeztah could provide some insight from documentation aspect.

@chchliang can you rebase this?

@justincormack
I have rebased.

@AkihiroSuda @thaJeztah @justincormack
I think the compiler environment, all error messages are not associated with this PR.
02:23:59 ----------------------------------------------------------------------
02:23:59 FAIL: docker_api_swarm_service_test.go:27: DockerSwarmSuite.TestAPIServiceUpdatePort
02:23:59
02:23:59 [d87a8da297844] waiting for daemon to start
02:23:59 [d87a8da297844] daemon started
02:23:59
02:23:59 docker_api_swarm_service_test.go:33:
02:23:59     waitAndAssert(c, defaultReconciliationTimeout, d.CheckActiveContainerCount, checker.Equals, 1)
02:23:59 docker_utils_test.go:1094:
02:23:59     c.Assert(v, checker, args...)
02:23:59 ... obtained int = 0
02:23:59 ... expected int = 1
02:23:59
02:23:59 [d87a8da297844] exiting daemon
02:24:01
02:24:01 ----------------------------------------------------------------------

Code LGTM.


set_index converts string-dtype to object-dtype

'Dataset.set_index' apparently changes a <U1 dtype into an object-dtype, as illustrated below:
In [108]: ds = xarray.Dataset({"x": (("a", "b"), arange(25).reshape(5,5)+100), "y": ("b", arange(5)-100)}, {"a": arange(5), "b": arange(5)*2, "c": (("a",), list("ABCDE"))})

In [109]: print(ds)
<xarray.Dataset>
Dimensions:  (a: 5, b: 5)
Coordinates:
  * b        (b) int64 0 2 4 6 8
    c        (a) <U1 'A' 'B' 'C' 'D' 'E'
  * a        (a) int64 0 1 2 3 4
Data variables:
    x        (a, b) int64 100 101 102 103 104 105 106 107 108 109 110 111 ...
    y        (b) int64 -100 -99 -98 -97 -96

In [110]: print(ds.set_index(a='c'))
<xarray.Dataset>
Dimensions:  (a: 5, b: 5)
Coordinates:
  * b        (b) int64 0 2 4 6 8
  * a        (a) object 'A' 'B' 'C' 'D' 'E'
Data variables:
    x        (a, b) int64 100 101 102 103 104 105 106 107 108 109 110 111 ...
    y        (b) int64 -100 -99 -98 -97 -96

PandasIndexAdapter contains some logic for preserving dtypes but it looks like didn't hook that up to set_index machinery.

Is this a bug in pandas?  I'm probably a rare breed in being an xarray user who has not used pandas.

No, pandas uses dtype=object to represent strings. We paper over this in some cases in xarray because it's convenient to get objects with the original dtype back from array.data.

still relevant


Linting issue "Parsing error: value.find is not a function"

Before You File a Bug Report Please Confirm You Have Done The Following...

[X] I have tried restarting my IDE and the issue persists.
[X] I have updated to the latest version of the packages.

What version of ESLint are you using?
9.7.0
What version of eslint-plugin-svelte are you using?
2.42.0
What did you do?

After upgrading to latest version of svelte (5.0.0-next.190), eslint shows linting error "Parsing error: value.find is not a function". There was no error with svelte version "5.0.0-next.184". One of the change with svelte 5.0.0-next.190 is that the values passed to components are not to be enclosed in string, and that probably is causing the issue with the eslint-plugin-svelte

[https://github.com/kunalshah/my-app/blob/main/eslint.config.js](https://github.com/kunalshah/my-app/blob/main/eslint.config.js)

Repo: https://github.com/kunalshah/my-app

"npm run lint" to see the issue being reproduced.

What did you expect to happen?
There should not have been any linting errors.
What actually happened?
Linting error:
0:0  error  Parsing error: value.find is not a function
Link to GitHub Repo with Minimal Reproducible Example
https://github.com/kunalshah/my-app
or
https://stackblitz.com/~/github.com/kunalshah/my-app
Additional comments
No response

I'm still getting this issue with newest version - any trick to fixing it?


Icon Menu Component is riddled with bugs and limitations

First of all, I have been working with Material UI for past 6 months and to be honest, this ui library is missing a lot of very basic features. Features as simple as disabling a menu. Sure there are workarounds if you know basic css well but this is really unexpected.
About the issue.

The Icon Menu Component doesn't have a disabled prop first of all. Request the devs to add it.
A Menu Item HAS to be added for it to work otherwise oddly enough there is a null pointer error in Menu.js which ends up showing an odd div element as an option. I don't think it's an issue at my end. Please refer the screenshots.

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

A. Provide a simple "disable" attribute to disable the icon menu.
B. Fix this and not show anything.
Current Behavior

Your Environment

Tech
Version

Material-UI
0.19.x

React
v16.x

browser
Chrome v66.x

etc

The Icon Menu Component doesn't have a disabled prop first of all. Request the devs to add it.

You can disable the menu by applying the disabled attribute to your <FlatButton /> (in iconButtonElement). I would show you with code, but for some reason you have provided a screenshot of code. A true classic.

A Menu Item HAS to be added for it to work otherwise oddly enough there is a null pointer error in Menu.js which ends up showing an odd div element as an option. I don't think it's an issue at my end. Please refer the screenshots.

Well, you are opening a menu that contains zero items. Don't do that, disable the menu if it has zero items, or add a placeholder item of some kind.
You are also using v0.x, which is old now. Most of the development is going towards the v1.x branch, which has infinity improvements over the old version.

First of all, I have been working with Material UI for past 6 months and to be honest, this ui library is missing a lot of very basic features. Features as simple as disabling a menu. Sure there are workarounds if you know basic css well but this is really unexpected.

This paragraph is not needed...

@uvtzxpm Thanks for answering the issue 😄.

You are also using v0.x, which is old now. Most of the development is going towards the v1.x branch, which has infinity improvements over the old version.

@saranshbansal v0.x has 10 commits in 6 months, v1.x had 1000 commits. This is two orders of magnitude difference, choose the right 🐴 .


Add button to launch the Crash Reporter from the pause menu

Contains
Fixes #2577

How to test
Load up a game
Press Esc to open the pause menu
There is a new button which brings up the crash reporter with the current game log
Outstanding before merging

[x] Decide if the button should go anywhere else
[ ] Decide what to do about Crash Reporter dependency issue (see comment on #2577)

Hooray Jenkins reported success with all tests good!

As for the button placement it looks great next to the Dev Tools. I would like to also see it in the main menu itself (bottom right corner as well) if not too tricky :-)

Added the button to the main menu also, same location.

Hooray Jenkins reported success with all tests good!

@rzats @Cervator can this be merged with manual adaption of the CR dependency? Buttons are all in place as requested.

@skaldarnar: if you know how to fix the dependency issue, go ahead 🙂

Is anyone working on solving the dependency issue? Else I suggest we close this PR for now as sad as it is.

@flo I've likely got a fix for the dependency issue, just need time to test it out.

ok cool

Hooray Jenkins reported success with all tests good!

Is anyone able to reproduce the crashing on start problem? I've tested this locally with the engine build.gradle updated to use the CR source conditionally. I've also confirmed that both com.google.guava:guava-jdk5:13.0 and com.google.guava:guava:19.0 are getting pulled in by gradle when launching the game. The game appears to load fine and CrashReporter launches without any issues from both the main menu screen and pause menu.
Since guava-jdk5 does not seem to be maintained anymore, we can simply exclude guava-jdk5 from the cr-core build.gradle compile dependencies and update it to use vanilla guava instead, like so:
compile ('com.google.apis:google-api-services-drive:v2-rev193-1.20.0'){ exclude module: 'guava-jdk5' }
compile group: 'com.google.guava', name: 'guava', version: '19.0'

Yup, I've confirmed that the above change fixed the issue.
Received the following error running the game after cleaning my workspace once, which indicates that Guava is present multiple times on the classpath:
java.lang.NoSuchMethodError: com.google.common.collect.Queues.newLinkedBlockingDeque()Ljava/util/concurrent/LinkedBlockingDeque;
	at org.terasology.engine.subsystem.lwjgl.LwjglGraphics.<init>(LwjglGraphics.java:101)
	at org.terasology.engine.Terasology.populateSubsystems(Terasology.java:371)
	at org.terasology.engine.Terasology.main(Terasology.java:129)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

The above error no longer occurs after the cr-core build.gradle is updated. I've submitted a PR at MovingBlocks/CrashReporter#34 to fix this issue. After it has been merged, the engine build.gradle can also be updated to use the CR source conditionally as mentioned above and then this PR will be good to go 😄.

Thanks, @iojw - I've merged your PR. See my comment there.

Released the CR fix then bumped the version dependency on top of this PR, as well as adding the conditional source vs binary magic. Merged! :-)
Tested out both as source and binary. There are some quirks and follow-ups we should handle, but those are not problems with this PR.
Thanks @segfault802! Thanks @iojw! Thanks reviewers! :-)


Trig update on swiper, not on the component

Closes #106

Confirmed test fails on master

@Matt-Jensen Thanks a lot for the test :)


Fix error in JWT validation policy

The 'value' is noted as the 'App ID URK of backend-app' however the App ID URI would be api:// which will fail validation. the aud claim just has the App ID

@swgriffith : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@sign-off


Add ConvE scoring function

Paper: https://cdn.aaai.org/ojs/11573/11573-13-15101-1-2-20201228.pdf
Original implementation: https://github.com/TimDettmers/ConvE/blob/master/model.py#L79
PyKeen: https://github.com/pykeen/pykeen/blob/master/src/pykeen/models/unimodal/conv_e.py, https://github.com/pykeen/pykeen/blob/master/src/pykeen/nn/functional.py#L99
The implementation follows quite closely the PK one. It's worth noting that, by how it's defined, the role of heads and tails in the scoring function is quite asymmetrical (heads and relations are combined via convolution, and the output is then multiplied with tails). Looking at the paper, this seems to be done by design to allow for efficient 1-N scoring (i.e. broadcasted scoring) of (h,r) queries against multiple tails at once. As a matter of fact, it was rather painless to implement the score_tails method using the broadcasted dot product that we already had for DistMult/ComplEx. However, there is no way of doing this for score_heads, where we need to materialize all (bs, n_negative, emb_size) hr queries explicitly - and this is quite problematic when using negative sample sharing. I think it should only be used with "tail" corruption scheme, also because it does not seem to train correctly when adding head-corrupted triples (something that I am also seeing in PyKeen and that I am not sure I understand)...

Also, the batch norm across both, true and false pairs feels a bit weird (we might normalise them individually?) In the end I think we should just discourage using corrupted heads, maybe even add an exception in that case

Thanks for the review! I agree that batchnorm is doing something different in the two cases (score_heads vs score_tails). I decided to just remove the the score_heads methods altogether so that it throws an exception if someone tries to use ConvE with corrupt heads, what do you think?

Thanks for the review! I agree that batchnorm is doing something different in the two cases (score_heads vs score_tails). I decided to just remove the the score_heads methods altogether so that it throws an exception if someone tries to use ConvE with corrupt heads, what do you think?

I agree, that's probably the best solution.


@conda-forge-admin, please add user @basnijholt

Additional comment:
No response

Hmm, that is weird


Homebridge Crashing after FW Update 06.00.05

Hello,
i have been using the homebridge plugin without problems for a long time.
Suddenly, after updating my LG OLED 55B7D to the latest firmware 06.00.05 everytime the pluging connects to the TV, homebridge immediately crashes and is restarting again.
Homebridge, Config UI and everything else is up to date.
I uninstalled the webos plugin and reinstalled it. After accepting the prompt of confirmation on the tv, homebridge starts crashing again.
Maybe this is not related to the firmware update and something is wrong with my installation, i have no idea.
[26/03/2021, 08:00:19] [webostv] Init - initializing devices
[26/03/2021, 08:00:19] [webostv] [LG OLED TV] Init - got TV configuration, initializing device with name: LG OLED TV
Preparing Advertiser for 'LG OLED TV 22CF' using ciao backend!
Starting to advertise 'LG OLED TV 22CF' using ciao backend!
[26/03/2021, 08:00:19] LG OLED TV 22CF is running on port 45421.
[26/03/2021, 08:00:19] Please add [LG OLED TV 22CF] manually in Home app. Setup Code: 031-45-156
26/03/2021, 08:02:02] [webostv] [LG OLED TV] Prompt for confirmation. Please accept the pairing request on the TV!
[26/03/2021, 08:02:05] [webostv] [LG OLED TV] Connected to TV
[26/03/2021, 08:02:05] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGBUS
[26/03/2021, 08:02:10] [HB Supervisor] Restarting Homebridge...
[26/03/2021, 08:02:10] [HB Supervisor] Starting Homebridge with extra flags: -I
[26/03/2021, 08:02:10] [HB Supervisor] Started Homebridge v1.3.4 with PID: 12104
{
"devices": [
{
"name": "LG OLED TV",
"ip": "<IP_ADDRESS>",
"mac": "78:5D:C8:54:33:B7",
"pollingInterval": 5,
"deepDebugLog": true,
"volumeLimit": 100,
"volumeControl": "false",
"channelControl": true,
"mediaControl": true
}
],
"platform": "webostv"
}

Thanks for any help in this.

Hi and morning how good are you with Apple ids and passwords?
Sent from Yahoo Mail for iPhone
On Friday, March 26, 2021, 7:11 am, hjessen82 @.***> wrote:
Hello,
i have been using the homebridge plugin without problems for a long time.
Suddenly, after updating my LG OLED 55B7D to the latest firmware 06.00.05 everytime the pluging connects to the TV, homebridge immediately crashes and is restarting again.
Homebridge, Config UI and everything else is up to date.
I uninstalled the webos plugin and reinstalled it. After accepting the prompt of confirmation on the tv, homebridge starts crashing again.
Maybe this is not related to the firmware update and something is wrong with my installation, i have no idea.
[26/03/2021, 08:00:19] [webostv] Init - initializing devices
[26/03/2021, 08:00:19] [webostv] [LG OLED TV] Init - got TV configuration, initializing device with name: LG OLED TV
Preparing Advertiser for 'LG OLED TV 22CF' using ciao backend!
Starting to advertise 'LG OLED TV 22CF' using ciao backend!
[26/03/2021, 08:00:19] LG OLED TV 22CF is running on port 45421.
[26/03/2021, 08:00:19] Please add [LG OLED TV 22CF] manually in Home app. Setup Code: 031-45-156
26/03/2021, 08:02:02] [webostv] [LG OLED TV] Prompt for confirmation. Please accept the pairing request on the TV!
[26/03/2021, 08:02:05] [webostv] [LG OLED TV] Connected to TV
[26/03/2021, 08:02:05] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGBUS
[26/03/2021, 08:02:10] [HB Supervisor] Restarting Homebridge...
[26/03/2021, 08:02:10] [HB Supervisor] Starting Homebridge with extra flags: -I
[26/03/2021, 08:02:10] [HB Supervisor] Started Homebridge v1.3.4 with PID: 12104
{
"devices": [
{
"name": "LG OLED TV",
"ip": "<IP_ADDRESS>",
"mac": "78:5D:C8:54:33:B7",
"pollingInterval": 5,
"deepDebugLog": true,
"volumeLimit": 100,
"volumeControl": "false",
"channelControl": true,
"mediaControl": true
}
],
"platform": "webostv"
}
Thanks for any help in this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hi,
Can you post a debug log or ideally a deepDebugLog? From the log which you provided I do not see any issues.

Hey,
Deep Debug Log is already enabled and that's everything i get from homebridge.log

Sorry, i now set homebridge to debug mode:
[26/03/2021, 09:45:36] [webostv] Init - initializing devices
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Init - got TV configuration, initializing device with name: LG OLED TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] The TV has no configured inputs yet!
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] No TV inputs config file found!
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Adding 0 new input sources!
Preparing Advertiser for 'LG OLED TV 22CF' using ciao backend!
Starting to advertise 'LG OLED TV 22CF' using ciao backend!
[26/03/2021, 09:45:36] LG OLED TV 22CF is running on port 42381.
[26/03/2021, 09:45:36] Please add [LG OLED TV 22CF] manually in Home app. Setup Code: 031-45-156
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Connecting to TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Message from TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV]  {
type: 'utf8',
utf8Data: '{"type":"response","id":"216818ff0000","payload":{"pairingType":"PROMPT","returnValue":true}}'
}
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Prompt for confirmation. Please accept the pairing request on the TV!
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Message from TV
[26/03/2021, 09:45:38] [webostv] [LG OLED TV]  {
type: 'utf8',
utf8Data: '{"type":"registered","id":"216818ff0000","payload":{"client-key":"241054f94b92e8d6361fcfbd1f0fbf15"}}'
}
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Connected to TV
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Requesting TV information
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] system service - getSystemInfo requested.
[26/03/2021, 09:45:38] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGBUS
[26/03/2021, 09:45:43] [HB Supervisor] Restarting Homebridge...
[26/03/2021, 09:45:43] [HB Supervisor] Starting Homebridge with extra flags: -I -D
[26/03/2021, 09:45:43] [HB Supervisor] Started Homebridge v1.3.4 with PID: 9004

It’s ok buddy we will get there 🙏🏿 You are a good man I’m just frustrated of how people think
Sent from Yahoo Mail for iPhone
On Friday, March 26, 2021, 8:48 am, hjessen82 @.***> wrote:
Sorry, i now set homebridge to debug mode:
[26/03/2021, 09:45:36] [webostv] Init - initializing devices
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Init - got TV configuration, initializing device with name: LG OLED TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] The TV has no configured inputs yet!
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] No TV inputs config file found!
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Adding 0 new input sources!
Preparing Advertiser for 'LG OLED TV 22CF' using ciao backend!
Starting to advertise 'LG OLED TV 22CF' using ciao backend!
[26/03/2021, 09:45:36] LG OLED TV 22CF is running on port 42381.
[26/03/2021, 09:45:36] Please add [LG OLED TV 22CF] manually in Home app. Setup Code: 031-45-156
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Connecting to TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Message from TV
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] {
type: 'utf8',
utf8Data: '{"type":"response","id":"216818ff0000","payload":{"pairingType":"PROMPT","returnValue":true}}'
}
[26/03/2021, 09:45:36] [webostv] [LG OLED TV] Prompt for confirmation. Please accept the pairing request on the TV!
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Message from TV
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] {
type: 'utf8',
utf8Data: '{"type":"registered","id":"216818ff0000","payload":{"client-key":"241054f94b92e8d6361fcfbd1f0fbf15"}}'
}
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Connected to TV
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] Requesting TV information
[26/03/2021, 09:45:38] [webostv] [LG OLED TV] system service - getSystemInfo requested.
[26/03/2021, 09:45:38] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGBUS
[26/03/2021, 09:45:43] [HB Supervisor] Restarting Homebridge...
[26/03/2021, 09:45:43] [HB Supervisor] Starting Homebridge with extra flags: -I -D
[26/03/2021, 09:45:43] [HB Supervisor] Started Homebridge v1.3.4 with PID: 9004
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Hmm, i do not think that it has anything to do with the plugin. There is absolutely no error message or anything related to that in the log. Maybe something is wrong with your homebridge installation?

Maybe, any hint what to try in this situation?

Try to remove all the plugins from your config.json and then add them one by one to see which plugin is causing or if it is even happening without any plugins enabled.

I tried that already, even when webos-tv is the only active plugin, hb crashes after confirming the pairing on the tv. This was all working before i updated to the latest LG FW, but thanks.

Yes, but there is no error in the log indicating that a crash happend, are you sure that you enabled the debug log? It might be that something changed in the latest FW, but without a clear error on what happened i cannot do anything...

I did this in the plugin and pasted everything related to that plugin

All fine, at least for you and the plugin ;-) I just setup a new hb on a different pi, your plugin is working fine here... so i have to bugfix the original installation or start from scatch... sorry for bothering you in this. Topic can be closed.

Oh, yeah maybe something with the permissons changed and homebridge cannot write to the filesystem? Or maybe simply homebridge got corrupted? Try to do a complete reinstall of homebridge on your initial machine.

Finally, i found the problem... after long time testing and searching. I was using 'arm_64bit=1' in /boot/config.txt.
This was causing the problems, after disable 64bit mode, the plugin is running fine again. Just or your info...

Maybe a bug in the 64bit kernel...


app size is 186 mb in flutter 2.2.1

i have used this package in my app
firebase_core: ^0.5.3
cloud_firestore: ^0.14.4
firebase_storage: ^5.2.0
firebase_auth: ^0.18.4+1
flutter_sound: ^7.8.3
date_time_picker:
share: ^2.0.1
dio: ^3.0.10
flutter_bluetooth_serial: ^0.2.2
path_provider:
audioplayers:
lottie:
provider:
bluetooth_enable:
permission_handler:
system_shortcuts:
cupertino_icons: ^1.0.2
smooth_page_indicator: ^0.2.3
animated_bottom_navigation_bar: ^0.3.2
flutter_blue: ^0.7.3
url_launcher: ^6.0.3
flutter_icons:
shared_preferences:
I have use assets of 2 MB and I have code in the lib folder around 5kb, Still flutter 2.2.1 is generating apk size  of 186 Mb
here is the output of m my flutter doctor  command
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.1, on Microsoft Windows [Version 10.0.19042.985], locale en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1.0)
[✓] Connected device (3 available)
does flutter 2.2.1 has this issue regarding app size?

See https://flutter.dev/docs/perf/app-size#breaking-down-the-size

initially, it was around 30 MB, but after upgrading it was around 186 MB! nothing changed in code and assets!

Hi @jemisgoti
Also if you've updated your Gradle from 3.5.0 to 4.1.x, this is expected, see you need to add this

with Gradle 3.5 application size is around 88 MB. but with the previous flutter version application was just around 30 MB in size,
something might have changed with upgrade?

Hi @jemisgoti
As mentioned, this is with Gradle rather than Flutter, it's changed in Flutter, by adding https://github.com/flutter/flutter/issues/83709#issuecomment-852058485, you can lower apk size, see mentioned issues, and also you can also Google APK size increase with Gradle 4.1.x
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


some logs, specifically image download logs, get printed twice in the enclave manager ui

What's your CLI version?
0.85.9
Description & steps to reproduce

Go to enclave manager, create a package via the UI, and then watch the logs. Some log lines get printed twice, specifically the image download lines
Desired behavior
Log lines are not doubled, ever
What is the severity of this bug?
Papercut; this bug is frustrating, but I have a workaround.
What area of the product does this pertain to?
Frontend: the Graphical User Interface, including the Enclave Manager

For context, the behavior from the backend is expected for steps that take some time like downloading images, every few seconds it will send up update on the progress info till it's done, hence the duplicated log lines. The reason this doesn't happen in the CLI is because we have logic to detect whether an instruction has "progress updates" and then present a spinner/loader instead of the duplicate log messages. That logic is here.
We can either change the backend behavior or make the UI output similar to the CLI output.

eg. CLI looks like this at the same step without printing duplicate lines
INFO[2023-11-15T16:20:54+03:00] Uploading and executing package 'github.com/kurtosis-tech/ethereum-package'
⣽   ████████████████████ Validating Starlark code and downloading container images - execution will begin shortly
Downloading <>/<>:stable
Downloading <>/blobscan<>indexer:master


Fix check region path error

What type of PR is this?
/kind bug
What this PR does / why we need it:
Support aep device initialize

/lgtm
/approve


CoinCap MarketService Implementation

Background
Our new web application (app.shapeshift.com) relies on a MarketService for its market data.  Currently, we have a single implementation of this MarketService abstraction using coingecko.
We would like to create a second implementation that uses https://coincap.io as the backend.
The interface to implement can be found in here the lib repo:
https://github.com/shapeshift/lib/blob/b9d28ebda8896d50ce99e7804f277fe8bd491391/packages/market-service/src/api.ts#L3
And this is the Coingecko implementation being instantiated as the sole implementation:
https://github.com/shapeshift/lib/blob/b9d28ebda8896d50ce99e7804f277fe8bd491391/packages/market-service/src/index.ts#L15
Finally this is the Coingecko implementation itself which can be used as a reference:
https://github.com/shapeshift/lib/tree/main/packages/market-service/src/coingecko
Acceptance Criteria

Create a new implementation of the MarketService interface for Coincap
Implement full test suite for the added functionality modeled after coingecko.test.ts

References

https://docs.coincap.io/

https://github.com/shapeshift/web/issues/77 @asamere

@zerquix18 - just to confim this is for coincap.io not CMC :)

@0xean Thanks for clarifying! I misread

I'm interested in this bounty as well if you end up needing a backup

@Zerquix18 - thank you so much for the PR - Payout and tip on its way to you.
Please hop in our discord - https://discord.gg/shapeshift - and say hello, would love to have you stick around for another bounty.

Original TX failed - updating with most recent https://etherscan.io/tx/0x5bd99ff4a6caacca424b25132743fdb221456d6dfc75151e76348b3f09e4aba6


Share build directory with service containers

Is your feature request related to a problem? Please describe.
According to the docs, GitLab runners mount the $CI_PROJECT_DIR (/builds/group-name/project-name/) to both job containers and service containers. This allows docker-in-docker jobs like browser_performance to share files between the job container and the dind service container. It seems that gitlab-ci-local does not mount the build directory to service containers, which leads to the issue described in this older gitlab issue.
Describe the solution you'd like
Mount the same build volume that is generated for each job (gcl-job_name-xxxxxx-build) in all service containers
Describe alternatives you've considered
Might be able to use the --volume argument to mount something in .gitlab-ci-local/builds to be shared by both job and service containers?
Additional context
Example of the browser_performance job failing:
---
include:
  - template: Verify/Browser-Performance.gitlab-ci.yml

browser_performance:
  variables:
    URL: https://example.com

Sorry for two issues in same day 😅

Hello 😊
Very interesting, since you have created this issue, it means that it works that way. I've never heard of that.
On the documentation you provide, it says at step 6 : Checkout code in: /builds/group-name/project-name/
But it does not say that it is on both containers.
Is it the right piece of documentation ?

We should be able to implement this...

I don't have private DIND Gitlab runners, so I haven't confirmed myself that the build didn't rectory is shared. But at the bottom of this section is reads:

The service container is not providing any networking service, but it’s doing something with the job’s directory (all services have the job directory mounted as a volume under /builds). In that case, the service does its job, and because the job is not trying to connect to it, it does not fail.

Just to double check, I created a test repo to verify.
Here is the job with gitlab-ci-local:
$ gitlab-ci-local
parsing and downloads finished in 42 ms
dind_service starting docker:stable (test)
dind_service started service image: docker:stable-dind with aliases: docker in 1.24 s
dind_service service image: docker:stable-dind healthcheck passed in 2.32 s
dind_service copied to container in 140 ms
dind_service $ printenv CI_PROJECT_DIR
dind_service > /gcl-builds
dind_service $ pwd
dind_service > /gcl-builds
dind_service $ touch newfile
dind_service $ echo "Project files and 'newfile' on the job container:"
dind_service > Project files and 'newfile' on the job container:
dind_service $ ls -a
dind_service > .
dind_service > ..
dind_service > .git
dind_service > README.md
dind_service > newfile
dind_service $ echo "Project files and 'newfile' on the service container:"
dind_service > Project files and 'newfile' on the service container:
dind_service $ docker run --rm -v $(pwd):/work --workdir /work alpine ls -a
dind_service > Unable to find image 'alpine:latest' locally
dind_service > latest: Pulling from library/alpine
dind_service > 213ec9aee27d: Pulling fs layer
dind_service > 213ec9aee27d: Verifying Checksum
dind_service > 213ec9aee27d: Download complete
dind_service > 213ec9aee27d: Pull complete
dind_service > Digest: sha256:bc41182d7ef5ffc53a40b044e725193bc10142a1243f395ee852a8d9730fc2ad
dind_service > Status: Downloaded newer image for alpine:latest
dind_service > .
dind_service > ..
dind_service finished in 11 s

 PASS  dind_service
pipeline finished in 11 s

And here is the gitlab pipeline: https://gitlab.com/hseitz/dind-service-example/-/jobs/3164209642

# .gitlab-ci.yml
---
shell-build-job:
  tags: [shared-shell-executor]
  script:
    - |
      docker build -t firecow/debug-issue616:ci-${CI_PIPELINE_IID} -f - . <<EOF
      FROM alpine
      CMD cat README.md | tee test.txt
      EOF
    - docker push firecow/debug-issue616:ci-${CI_PIPELINE_IID}

image-debug-job:
  tags: [shared-docker-executor]
  needs: [shell-build-job]
  image: alpine
  services:
    - name: firecow/debug-issue616:ci-${CI_PIPELINE_IID}
  script:
    - pwd
    - ls -all

The build folder is not copied/mounted into service container, when I try to reproduce.
Feel free to a full example illustrating the behavior described in the issue and reopen issue :smile:

Interesting, I'm curious if the build dir is mounted into the service container, but it is not the work dir of the service container. I wonder what pwd would show in your service container Dockerfile. That might explain why cat README.md fails, if it's not in the current directory, but would be in /builds/<user>/<project>. I'll see if I can recreate based off your example.

Uh, you're right... I'll have to investigate that case as well, on it...

Using this as CMD in service container
ls -all /data/gitlab-runner/builds/mjn/gitlab-ci-debugging

And there the README.md was :smile:
Using this as CMD in service container
pwd && echo $CI_PROJECT_DIR

pwd came out as /
CI_PROJECT_DIR was equals to /data/gitlab-runner/builds/rwzvK8xd/0/mjn/gitlab-ci-debugging

I was having difficulty getting a decent example of where the project dir is mounted in each container, so I'm not sure how Gitlab is doing it.
It seems that having both the job container and service container sharing a mount of the project directory is the only way to mount files from the project directory into a third container. This comment  from the gitlab issue I originally referenced explains that when using DIND and attempting to use a bind mount, you're actually mounting that directory from the dind container (service), not from the container where the docker cmd was ran (job). If you check the source of gitlab's browser_performance job I posted above, the job starts a docker container which mounts pwd. The reason it must be shared is that earlier in the job, a file is downloaded that is then used in the new container.
You can see in this pipeline that files modified in the job container are also reflected in the service container in a Gitlab pipeline.

DIND is pretty special and require precise runner configuration.
Is this issue, in fact, only about getting DIND to work probably?
If so please have a look here https://github.com/firecow/gitlab-ci-local/blob/master/examples/docker-in-docker-build/.gitlab-ci-local-env

My understanding is that Gitlab shared runners use DIND by default. I have DIND working locally with gitlab-ci-local, but the issue is that files are not mounting properly from the job container to the service container. Again, if you check either the browser_performance job or the example I initially posted, you can see that files modified in the job container are also modified when mounting into the service container.

Right forgot about that sample.
I'll add that exact "test" and implement a shared build folder volume.

https://gitlab.com/gitlab-org/gitlab/blob/master/lib/gitlab/ci/templates/Verify/Browser-Performance.gitlab-ci.yml
Where is this template include do you see the service container needing files from the job container or visa versa?

I'm closing this, until an actual use-case is presented for services and containers sharing filesystem.

Hi,
I do run in this issue with gitlab-ci-local when using a docker image to build docs.
My .gitlab-ci.yml is there https://gitlab.com/gaia-x/toolset/gaia-x-document-template/-/blob/main/.gitlab-ci.yml
With gitlab-ci-local, I'm getting:
debian@work:~/workspace/gaia-x/gaia-x-document-template$ gitlab-ci-local test:html
parsing and downloads finished in 116 ms
test:html starting docker:stable (test)
test:html started service image: docker:dind with aliases: docker in 538 ms
test:html service image: docker:dind healthcheck passed in 3.92 s
test:html copied to container in 220 ms
test:html imported artifacts in 1.92 s
test:html $ docker load -i image/gaia-x_spec_builder.tar
test:html > still running...
test:html > Loaded image: gaia-x_spec_builder:45ad7de
test:html > Loaded image: gaia-x_spec_builder:latest
test:html $ env | grep CI_ > env.txt
test:html $ echo ${CI_PROJECT_DIR}
test:html > /gcl-builds
test:html $ ls ${CI_PROJECT_DIR}/
test:html > Dockerfile
test:html > README.md
test:html > convert_mermaid_graphs.sh
test:html > create_TOC.sh
test:html > docs
test:html > env.txt
test:html > gitlab-ci-template.yml
test:html > image
test:html > mkdocs.yml.j2
test:html > mkdocs_base.yml.j2
test:html > old-gitlab-ci.yml
test:html > puppeteer-config.json
test:html > requirements.txt
test:html > template_html
test:html > template_pdf
test:html $ docker run --name gaia-x_spec_builder --volume ${CI_PROJECT_DIR}/:/data/ --env-file env.txt --interactive --tty -d gaia-x_spec_builder
test:html > 3a7066c42e04e17d14e04ff0f196ba1183d7b7fdd8af30a7203b96d20f7b83da
test:html $ docker exec gaia-x_spec_builder ls -lh /data/
test:html > total 0
test:html $ docker exec gaia-x_spec_builder j2 mkdocs.yml.j2 -o mkdocs.yml
test:html > Traceback (most recent call last):
test:html >   File "/usr/lib/python3.10/site-packages/j2cli/cli.py", line 28, in get_source
test:html >     with io.open(template, 'rt', encoding=self.encoding) as f:
test:html > FileNotFoundError: [Errno 2] No such file or directory: 'mkdocs.yml.j2'
test:html > During handling of the above exception, another exception occurred:
test:html > Traceback (most recent call last):
test:html >   File "/usr/bin/j2", line 8, in <module>
test:html >     sys.exit(main())
test:html >   File "/usr/lib/python3.10/site-packages/j2cli/cli.py", line 202, in main
test:html >     output = render_command(
test:html >   File "/usr/lib/python3.10/site-packages/j2cli/cli.py", line 186, in render_command
test:html >     result = renderer.render(args.template, context)
test:html >   File "/usr/lib/python3.10/site-packages/j2cli/cli.py", line 86, in render
test:html >     .get_template(template_path) \
test:html >   File "/usr/lib/python3.10/site-packages/jinja2/environment.py", line 1010, in get_template
test:html >     return self._load_template(name, globals)
test:html >   File "/usr/lib/python3.10/site-packages/jinja2/environment.py", line 969, in _load_template
test:html >     template = self.loader.load(self, name, self.make_globals(globals))
test:html >   File "/usr/lib/python3.10/site-packages/jinja2/loaders.py", line 126, in load
test:html >     source, filename, uptodate = self.get_source(environment, name)
test:html >   File "/usr/lib/python3.10/site-packages/j2cli/cli.py", line 31, in get_source
test:html >     raise jinja2.TemplateNotFound(template)
test:html > jinja2.exceptions.TemplateNotFound: mkdocs.yml.j2
test:html finished in 23 s  FAIL 1

With Gitlab CI (saas), it's working and I have this log https://gitlab.com/gaia-x/toolset/gaia-x-document-template/-/jobs/3289800866

Is the mkdocs.yml.j2 file that the containerized j2 is complaining about coming from the docker:dind ?

the mkdocs.yml.j2 is a file from the repo. (In the same repo and folder I have the .gitlab-ci.yml file)

@ticapix I don't think your issue is related to services and containers sharing filesystems.
I'll have a look at your example tonight, and try to figure out, what is going on.

I got the same problem, thanks @ticapix for creating the repo, it helped to narrow the problems.
This is my understanding

per run/job a docker volume is created (not a bonded folder) and mounted under /gcl-builds this becomes CI_PROJECT_DIR
all git files are synchronised to that volume
when running dind and attempting to use the /gcl-builds as bind source path: --volume /gcl-builds:/data it will fail quietly or at least will not do what most of us would expected. other folders will works. ie. --volume /usr:/usr_data will correctly mount the /usr folder in child container instance

I can not find docker documentation that would spell this out but stackoverflow has multiple example of this problem.
The workaround proposed by @ticapix will solve immediate problem but I suspect the caching and artefact related functionality will be affected.
I think the solution may be to use temporary folder as source of /gcl-builds instead of docker volume. This would also help with accessibility to logs and other temporary files generated during pipeline execution. After all the main purpose of running the jobs locally is debugging and quick iteration...

/gcl-builds is not mounted.
Files are docker cp into <container_id>:/gcl-builds
CI_PROJECT_DIR is equals `/gcl-builds` # in gitlab-ci-local
CI_PROJECT_DIR is equals `/data` # on gitlab-runners

If we change CI_PROJECT_DIR to /data in gitlab-ci-local, I think the issue is fixed.

I think, I got a hold of the issue now.
Service containers needs to have files in the same location in order for docker run commands to actually volume mount from the daemon.

Hi, I created initial implementation of running the job in folder instead of docker volume. https://github.com/firecow/gitlab-ci-local/compare/master...maciejmatuszak:gitlab-ci-local:dind-job-in-folder?expand=1
It is my understanding that running it in bound volume may have performance implications so I made it optional. maybe we could re-open this issue. Will continue on the patch next week

Where did you read that docker volumes have performance impacts? And why do you call them bound volumes ?

https://github.com/firecow/gitlab-ci-local/pull/661
Check this branch out, I'll add a integration test in the meanwhile.

There is an integration test in #661 now. I've renamed the issue to source files missing from service container

Where did you read that docker volumes have performance impacts? And why do you call them bound volumes ?
I would call those two that you made optional, regular named docker volumes.

The Performance hit was mainly personal experience, but googling the issue it seems to be Macos specific.
bound volumes I should say bound directories as opposed to docker volumes
@firecow, after #661 it is still not quite there, despite the new unit test passing it still not works in the example when you add docker run .. and try to access the files from the new container it will not work. I spend 2 days on it and I think I have better understanding.
I inspected the containers and volumes created originally by gitlab-runner. The dind container has /builds and /var/lib/docker
mounted as docker volumes, I do not understand it completely but it looks like it is critical for sharing the filed between various docker containers in dind arrangement.
[
    {
...
...
        "Name": "/runner-yxo2pgts-project-34594612-concurrent-0-70f8f233861b092c-docker-0",
        "RestartCount": 0,
        "Driver": "overlay2",
        "Platform": "linux",
        "MountLabel": "",
...
...
        "HostConfig": {
            "Binds": [
                "runner-yxo2pgts-project-34594612-concurrent-0-cache-904f6ed42e0fa2b14c1d7a2ed6f1875e:/certs/client",
                "runner-yxo2pgts-project-34594612-concurrent-0-cache-3c3f060a0374fc8bc39395164f415a70:/cache",
                "runner-yxo2pgts-project-34594612-concurrent-0-70f8f233861b092c-cache-c33bcaa1fd2c77edfc3893b41966cea8:/builds"
            ],
...
...
        "Mounts": [
            {
                "Type": "volume",
                "Name": "runner-yxo2pgts-project-34594612-concurrent-0-cache-904f6ed42e0fa2b14c1d7a2ed6f1875e",
                "Source": "/var/lib/docker/volumes/runner-yxo2pgts-project-34594612-concurrent-0-cache-904f6ed42e0fa2b14c1d7a2ed6f1875e/_data",
                "Destination": "/certs/client",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "runner-yxo2pgts-project-34594612-concurrent-0-cache-3c3f060a0374fc8bc39395164f415a70",
                "Source": "/var/lib/docker/volumes/runner-yxo2pgts-project-34594612-concurrent-0-cache-3c3f060a0374fc8bc39395164f415a70/_data",
                "Destination": "/cache",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "runner-yxo2pgts-project-34594612-concurrent-0-70f8f233861b092c-cache-c33bcaa1fd2c77edfc3893b41966cea8",
                "Source": "/var/lib/docker/volumes/runner-yxo2pgts-project-34594612-concurrent-0-70f8f233861b092c-cache-c33bcaa1fd2c77edfc3893b41966cea8/_data",
                "Destination": "/builds",
                "Driver": "local",
                "Mode": "z",
                "RW": true,
                "Propagation": ""
            },
            {
                "Type": "volume",
                "Name": "a7dfa774b0264c9c8ed1722899900ec3bd82b0f8db5b6c31e786be90eb227ce9",
                "Source": "/var/lib/docker/volumes/a7dfa774b0264c9c8ed1722899900ec3bd82b0f8db5b6c31e786be90eb227ce9/_data",
                "Destination": "/var/lib/docker",
                "Driver": "local",
                "Mode": "",
                "RW": true,
                "Propagation": ""
            }
        ],
    }
]

I think this is the path forward:

the /builds volume has to be created and populated before services or job is started
the /builds volume has to be mounted to services and job containers. This will mean that that services, jobs, containers spun in job will all operate on the same files not its own copy
dind is special service and requires volume /var/lib/docker we need to be able to detect or designate service as dind.
the path /builds/group/project is mentioned in documentation I think we should preserve this path instead of /gcl-builds to minimise impact on existing pipelines
not related but the .git folder has to be preserved, it prevents gunning of git commands in job

I have 'prove of concept' code in https://github.com/firecow/gitlab-ci-local/compare/master...maciejmatuszak:gitlab-ci-local:dind_volume_sharing?expand=1

https://github.com/firecow/gitlab-ci-local/pull/665
This PR will fix . I think 😁


Azure endpoint

[x] add deployment_name and model_name for Azure endpoint
[x] simple test

Thanks! Although this is not functional, I am merging to not have to handle multiple branches, as the separate class does not break any existing code.

After speaking with my admin, I think I got this to work now with the correct API version.


What to put in backend attributes?

What could be a backend attribute?

[x] FiniteDiff.jl: fdtype
[ ] ForwardDiff.jl, ReverseDiff.jl, Enzyme.jl: number of chunks

solved by ADTypes


parser implementation

Codecov Report

Merging #1 (512dc26) into main (10a6b21) will increase coverage by 1.4%.
The diff coverage is 89.2%.

@@           Coverage Diff           @@
##            main      #1     +/-   ##
=======================================
+ Coverage   90.2%   91.6%   +1.4%
=======================================
  Files         19      42     +23
  Lines        420     807    +387
=======================================
+ Hits         379     740    +361
- Misses        41      67     +26

Impacted Files
Coverage Δ

parser/TronGrid/parser_dividend_7f8661a1.py
82.8% <80.0%> (ø)

parser/TronGrid/parser_swap_4bf3e2d0.py
82.0% <82.0%> (ø)

parser/TronGrid/parser_swap_999bb7ac.py
82.0% <82.0%> (ø)

parser/TronGrid/parser_transfer_a9059cbb.py
83.7% <83.7%> (ø)

parser/TronGrid/parser_dividend_1c4b774b.py
84.2% <84.2%> (ø)

parser/TronGrid/parser_swap_b040d545.py
84.4% <84.4%> (ø)

parser/TronGrid/parser_swap_ddf7e1a7.py
84.4% <84.4%> (ø)

test/tron_e2e_test.py
93.5% <93.5%> (ø)

aggregator/price_test.py
100.0% <100.0%> (ø)

dto/parsedTrx.py
89.0% <100.0%> (+5.2%)
:arrow_up:

... and 25 more

Continue to review full report at Codecov.

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


TypeError: e.split is not a function

System Info
V3 Alpha 17
Mac  OS
Brave
Environment/Platform

[X] Website/web-app
[ ] Browser extension
[ ] Server-side (e.g., Node.js, Deno, Bun)
[ ] Desktop app (e.g., Electron)
[ ] Other (e.g., VSCode extension)

Description

An issue applying template for Llama 3.2 it 3B. Most likely an issue in my code, but just to be safe / in case you want to harden against this.
Config / Tokenizer data: https://huggingface.co/BoscoTheDog/llama_3_2_it_3b_q4_k_m_chunked/tree/main
Reproduction
It's happening consistently. I'll try loading tokenizer.json from another repo.

I tried pointing to the ONNX Community repo, but that resulted in a different error.

Third time's the charm. alpindale/Llama-3.2-3B-Instruct worked.

This is due to a new tokenizers format for v0.20.0 - where merges are stored as [string, string][] instead of string[]. I fixed it here, and should work for alpha>=18


Single dimension input

This PR eliminates the need for the user to pass in both the height and width and makes it so only one is required. If a user passes in only a height, for example, the function will calculate the corresponding width that maintains the original image's height/width proportions. If a user passes in both a height and width, it will use the user-provided values.
It calculates the proportional dimension by creating an instance of nativeImage and calling getSize(). Using the original dimension proportions and the user-provided input, it can calculate the missing dimension.
Also updated the Readme to reflect the new requirements.

Excellent, looks good, just fix the minor issue above. :)

Good idea! Wrapped the native image stuff in a condition, as well as the functions to calculate a new height and width, which are also irrelevant if a user passes in both properties.
Let us know if you have any additional feedback or would like to see other changes!
(with help from @shannonpaige)

Awesome thanks!

Published as v1.1.0.


Time chooser in 24H format

Hello,
I really like your app, however one thing is annoying me in it. The time chooser when planning a new event. Instead of normal 24H format, it uses that weird AM/PM thing. Could you please make it normal?

That would make adding events easier. Thanks!

What are region and time format settings of your system?
What is the version of installed OS?

Hey Michał,
It's Windows 11 build 22631 - up to date.
Timezone is Poland/Warsaw. Windows language is English US, Regional settings are polish, location is Poland.

I guess you may have only checked langauge in app (which is US English in my case) instead of regional format for customizing time chooser control.

Poprawka wleci w następnej aktualizacji. Dzięki za zgłoszenie ;)

Dzięki bardzo i pozdrawiam — kozak apka, a MSowi należy się karne wiadomo co za spieprzenie kalendarza w Windows 11 i rozwalenie ich natywnej apki. 👍🏻

Sorry, nie ten przycisk ;)


Expense Item Overall Test

Have the expense item tests (overall) compile
Tests
This requires the following to exist (but not necessarily work):

Claim class

Expense Item class

Claim addExpenseItem method

Claim getExpenseItems method

Claim setStatus method

Claim isEditable method

Claim getExpenseList method

Expense Item getDate method

Expense Item getCategory method

Expense Item getDescription method

Expense Item getCurrency method

Expense Item setCategory method

Expense item setCurrency method

Expense Item setIncompletenessIndicator method

Expense Item removeIncompletenessIndicator method

Expense item isIncomplete method

Will need specified classes


Error in accessing the databricks data

I am trying to connect with the data bricks using a custom script that accesses the data in the data bricks cluster and creates a pickle file in the local system. I am getting the following error-
Traceback (most recent call last):
 File "Ekata_script.py", line 34, in <module>
 key, leads, lead_ids[0:], conn_odbc, "out.pkl", data
  File "/home/ubuntu/ekata/playground2/Ekata_functions.py", line 241, in Ekata_matcher_direct_address_ygl_file_odbc
   property_df, lead_df = match_all_ekata_to_properties_odbc(pull, lead_df, open_lead, conn)
  File "/home/ubuntu/ekata/playground2/Ekata_functions.py", line 408, in match_all_ekata_to_properties_odbc
  ''', con = conn)
   File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 400, in read_sql
   chunksize=chunksize)
  File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1444, in read_query
   cursor = self.execute(*args)
  File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1417, in execute
   raise_with_traceback(ex)
  File "/usr/lib/python3/dist-packages/pandas/compat/__init__.py", line 385, in raise_with_traceback
   raise exc.with_traceback(traceback)
  File "/usr/lib/python3/dist-packages/pandas/io/sql.py", line 1413, in execute
   self.con.rollback()
   File "/home/ubuntu/.local/lib/python3.6/site-packages/databricks/sql/client.py", line 320, in rollback
   raise NotSupportedError("Databricks does not have transactions")
  pandas.io.sql.DatabaseError: Execution failed on sql:
            SELECT dp.property_id
            ,property_name
            ,lpa.activity_date
            ,dp.address
            ,dg.city
            ,dg.state
            ,dg.zip
            FROM table1 AS dp
            JOIN table2 AS dg ON dp.dim_geography_key = dg.dim_geography_key
            JOIN table3 AS lpa ON lpa.property_id = dp.property_id
            AND lpa.lead_id = lead_id
            AND lpa.activity_type_code = 'RA'
            WHERE dp.latitude BETWEEN min_lat AND max_lat
            AND dp.longitude BETWEEN min_long AND max_long
            AND dp.date_end = '20991231'
            AND dg.date_end = '20991231'

   Query execution failed. State: ERROR_STATE; Error code: 0; SQLSTATE: 56038; Error message:
   org.apache.hive.service.cli.HiveSQLException: Error running query: [UC_NOT_ENABLED]
  org.apache.spark.sql.AnalysisException: [UC_NOT_ENABLED] Unity Catalog is not enabled on this cluster.
at org.apache.spark.sql.hive.thriftserver.HiveThriftServerErrors$.runningQueryError(HiveThriftServerErrors.scala:48)
at org.apache.spark.sql.hive.thriftserver.SparkExecuteStatementOperation.$anonfun$execute$1(SparkExecuteStatementOperation.scala:609)
at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)

Can you share the script that throws this error? It appears you are using pandas which we have tested and should work for your use-case.
But it seems you may not have used our built-in SQLAlchemy dialect, which knows to not emit BEGIN TRANSACTION statements. If you don't use the Databricks specific SQLAlchemy engine, pandas will try to use transactions which leads to this error.


SLURM as a remote

Could potentially use submitit, similarly to implementation in hydra.
I can try to help making it happen but need some guidance :)


Use the WHO SMART IG template

The WHO has published a template IG to be used in SMART related implementation guides: https://worldhealthorganization.github.io/smart-ig-starter-kit/instructions.html#country-adaptation-of-an-existing-guide

Following these instructions will ensure consistent styling and content structure to ease adoption of WHO's SMART Guidelines.

Should we use it as a template in our SMART IG?

It's not entirely clear whether it is meant for WHO "authored" IG's or for more general use. It does discuss implementing a country-specific derivative of published WHO SMART IG's.

Let's use our own template.


example fails when trying to run

When trying to run the example from https://deno.land/v1#a-web-browser-for-command-line-scripts deno errors with the following message:
$ deno run --allow-net example.js
Check file:///home/alexander/dev/temp/deno-test/example.js
error: TS2345 [ERROR]: Argument of type 'string | URL' is not assignable to parameter of type 'string'.
  Type 'URL' is not assignable to type 'string'.
  return new URL(url).pathname
                 ~~~
    at https://deno.land/std@0.50.0/path/win32.ts:911:18

TS2345 [ERROR]: Argument of type 'string | URL' is not assignable to parameter of type 'string'.
  Type 'URL' is not assignable to type 'string'.
  return new URL(url).pathname;
                 ~~~
    at https://deno.land/std@0.50.0/path/posix.ts:433:18

Found 2 errors.

deno --version:
deno 1.2.0
v8 8.5.216
typescript 3.9.2

The script does work when removing the versioning.
So the following works:
import { serve } from "https://deno.land/std/http/server.ts";

for await (const req of serve({ port: 8000 })) {
  req.respond({ body: "Hello World\n" });
}

@apopiak try running using --reload flag to download the latest version of  std libs

@apopiak try running using --reload flag to download the latest version of std libs

Because the script mentions the version explicitly in the import that should not make a difference. The error happened on first use when dependencies are fetched anyway. (I was trying out deno for the first time.)

This issue is meant as hint to update the instructions on the webpage so it works on first use :smiley:

Ref denoland/deno#6723 there are changes afoot so that documentation doesn't have to be updated on every release.

Examples in the docs now use versioned imports, so this should not occur again.


Readme doc about hparams

Is there a documenation explaining the meaning of all the parameters used in "[hparams] (https://github.com/zjunlp/EasyEdit/tree/main/hparams)"?

Hi, do you have any further questions?

Thanks, the readme docs are very helpful. No other questions. Can close this issue.

I wrote a readme for each hparams,introduced the functions of some parameters that I find difficult to understand. If you have any questions, please contact me in time

Hi, I checked out the README in the repository page but I didn't find the part about hparams. So I am wandering that were you referring to another README in different directory? Can you specify the path or link for me?

You can refer to here: https://github.com/zjunlp/EasyEdit/blob/main/hparams/FT/readme

Hi, do you have any further questions?


[Network] azure-firewall: Update index

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

If this PR is for a new extension or change to an existing extension, use the following to try out the changes in this PR:
docker run -it microsoft/azure-cli:latest
export EXT=<NAME>
pip install --upgrade --target ~/.azure/cliextensions/$EXT "git+https://github.com/MyronFanQiu/azure-cli-extensions.git@update-index#subdirectory=src/$EXT&egg=$EXT"


Recursive dispatch

Currently subscribers are called just before default dispatcher returns its result. If one of subscribers produce an action then we get recursive dispatch.
Example:
struct NewStringValue: Action {
    let value: String
}

class StringReducer: Reducer {
    func handleAction(action: Action, state: String?) -> String {
        let newString = action as! NewStringValue
        return newString.value
    }
}

class StringSubscriber: StoreSubscriber {
    var count = 0
    func newState(state: String) {
        if count < 3 {
            count += 1
            stringStore.dispatch(NewStringValue(value: state + "@"))
        }
    }
}

// I modified Middleware signature slightly while I have been experimenting on ReSwift.
let loggingMiddleware: Middleware = { store in
    return { next in
        return { action in
            print("action: \(action)")
            let result = next(action)
            print(store?.optState ?? "state is not hydrated yet")
            return result
        }
    }
}

extension String: StateType { }

let stringStore = Store(reducer: StringReducer(), state: "", middleware: [loggingMiddleware])
let subscriber = StringSubscriber()
stringStore.subscribe(subscriber)

Output:
action: NewStringValue(value: "@")
action: NewStringValue(value: "@@")
action: NewStringValue(value: "@@@")
@@@
@@@
@@@

Is it by design? Workaround is to dispatch actions asynchronously.

Hi @HeMet! I haven't yet have time to investigate the full issue. But I can say that everything works expected when not using a middleware to log the store state.
I used your test case and investigated the state value within the newState method and it returns the expected sequence:
@
@@
@@@

When I have some more time, I will look into whether there's an issue with the way the middleware gets a reference to the store's current state.

Ah, I had a few more moments to look into this; the issue lies in the implementation of the middleware:
let loggingMiddleware: Middleware = { store in
    return { next in
        return { action in
            print("action: \(action)")
            let result = next(action)
            print(store?.optState ?? "state is not hydrated yet")
            return result
        }
    }
}

Calling the next middleware should be the last step of your middleware:
let loggingMiddleware: Middleware = { store in
    return { next in
        return { action in
            print("action: \(action)")
            print(store?.optState ?? "state is not hydrated yet")
            let result = next(action)
            return result
        }
    }
}

This should yield the correct sequence. However, I will still look into whether the behavior you are seeing is expected or not.
Cheers!

This is also an issue noted with Redux: https://github.com/rackt/redux/issues/1221

The behavior is intentional; subscribers aren't guaranteed to get every state update, just the most recent one. If you have ideas how to optimize this please send a PR!

Changing the order of middleware code is one way to fix it. It's more of a an issue with subscribers though. It's best practice not to dispatch new events from a subscription callback. If you must, they can be triggered for the the next loop cycle using dispatch_after or cached in queue for dispatch.
It is possible to extend the dispatch in progress guard in the store, although that would be preventing borderline, but sometimes handy behaviour.
tl;dr. Behavour is correct, although unexpected. Known gotcha. Middleware can only see the latest state. Sometimes required for certain state changes. Should be kept minimal as it's easy to introduce side-effects.

Thanks @agentk for linking to the issue on redux. I had a little bit more time to think about this specific case and the behavior does make sense.
Since you only have a single middleware and forward to the next middleware before printing the current state, you are executing the _defaultDispatch before you're getting the current state of the store.
This means that control to your middleware is only returned once _defaultDispatch returns. That however happens after state updates are sent to subscribers. Since you're dispatching in the subscriber, _defaultDispatch will be invoked another time, before the original call returned.
Only once you stop dispatching from the subscriber, the original _defaultDispatch will return and your middleware will get a chance to print the current state.
Here are the two relevant lines in _defaultDispatch:
public func _defaultDispatch(action: Action) -> Any {
        if isDispatching {
            // Use Obj-C exception since throwing of exceptions can be verified through tests
            NSException.raise("SwiftFlow:IllegalDispatchFromReducer", format: "Reducers may not " +
                "dispatch actions.", arguments: getVaList(["nil"]))
        }

        isDispatching = true
        let newState = reducer._handleAction(action, state: state) as! State
        isDispatching = false

        // subscribers are notified here:
        state = newState

        // control is returned to your middleware here:
        return action
    }

This means the behavior makes sense. As a rule of thumb your last middleware should probably call next (which is _defaultDispatch) as the last call in the middleware implementation to avoid this scenario. I also cannot think of a use case where you would benefit from not doing that.
@HeMet I hope this clarifies your question! I'll leave this open for discussion for a little longer.

@Ben-G Thanks for explanation!

That was the conclusion I reached after I have looked into the implementation.
@agentk Thanks for the link and explanation!
@@@
@@@
@@@

Actually I was so focused on the sequence issue that overlooked this one :smile: So two gotchas instead of one.

@HeMet This is actually not unexpected:
action: NewStringValue(value: "@")

action: NewStringValue(value: "@@")
@
action: NewStringValue(value: "@@@")
@@

The state update happens after your middleware is called, so this behavior is expected.

This is actually not unexpected
Yeah, I understand it now. I mean It was unexpected to me in time I wrote that code.

@HeMet Nice! I definitely see how this is not necessarily intuitive at first!


Fix path resolution

Hi there. I came across your GitHub Action and was excited to get it working. Unfortunately when I had configured it, it failed to find the provided solution file. I am by no means an expert on GitHub Actions, but I did a bit of reading and I've implemented an improved way of resolving paths within the repository. Basically, it uses the GITHUB_WORKSPACE env var to find the actual root of the workspace files, and then it uses the path library to concatenate paths together with out using / and string concatenation.
Before I clean things up a bit, I thought I should send it over for you to have a peek at. The commits are a mess because it took many, many, many attempts to get it working.
Also, my JS is super rusty and there's maybe some missing tests.
Anyways, let me know what you think.

Oh yeah, and I should add that I had no idea how to actually build this thing properly. It appeared as though I had to run both ncc commands and commit the results.


Hide the original tweet when viewing a tweet's /retweets/with_comments

Before:

After:

Reopening this as there's a better way to do it - if we clone the QT, insert it in the header and give it a bit of margin, then hide the rest, we get this:

Vs. the original:


Add the service-account way of rosa cluster importing.

Issue: https://issues.redhat.com/browse/ACM-10404

/override ci/prow/sonar-pre-submit

/override ci/prow/sonar-pre-submit

/override ci/prow/sonar-pre-submit

/assign @elgnay
There are several aspects of the overall process for manually importing discovered clusters that need to be confirmed across squads, particularly with the Console and Documentation teams.
However, it's unlikely that there will be more code changes to the import-controller beyond those in this PR.

/lgtm

/hold

/unhold


Is there any api for batch swap in the mute?

@zemelLeong I guess the question is addressed to the mute.io team. They are the best to answer this question


Entity framework core - Relation many to one with nullable foreign key

I have two tables in my database :
public class PARENT
{
    public string ID_PARENT { get; set; }

    public int? ID_PARENT_BIS { get; set; }

    public List<CHILD> CHILDREN { get; set; }
}

This table has a primary key : ID_PARENT. The ID_PARENT_BIS is used into several relationships.
public class CHILD
{
    [Required]
    public string PID_CHILD { get; set; }

    public int ID { get; set; }

    public int? ID_PARENT_BIS { get; set; }

    [Required]
    public string ID_EXTCHILD { get; set; }
}

Between both, there are a relationships many to one. Here is the mapping :
modelBuilder.Entity<PARENT>(entity =>
        {

            entity.HasKey(e => e.ID_PARENT);

            entity.HasMany(a => a.CHILDREN)
                .WithOne()
                .HasForeignKey(i => i.ID_PARENT_BIS)
                .HasPrincipalKey(i => i.ID_PARENT_BIS);
        });

The mapping is correct but when I want to retrieve all elements of PARENT, I have the following error :

An unhandled exception occurred while processing the request. InvalidCastException: La colonne contient des données NULL (Column contain null data)

My relation need to be configured to work with ID_PARENT_BIS, not ID_PARENT. Because ID_PARENT_BIS could be null in database. This is a prerequisites of the project.
So is it really possible to do that with entity framework core ?
Thanks !

@Stynn To clarify, ID_PARENT_BIS is a nullable column in the database, but you want to use this as an alternate key for the principal end of the relationship?  if so, this is a duplicate of issue #4415

@ajcvickers In fact, ID_PARENT_BIS is a nullable column in database and I want to use it into a relation many to one. If the PARENT table has no CHILD, the ID_PARENT_BIS is null in my database. There is a way to map this in EF Core ?

@Stynn I'm not sure I am following completely. Can you post some examples of different combinations of nulls and keys database rows and describe how they should map to the properties of your objects?

EF Team Triage: Closing this issue as the requested additional details have not been provided and we have been unable to reproduce it.
BTW this is a canned response and may have info or details that do not directly apply to this particular issue. While we'd like to spend the time to uniquely address every incoming issue, we get a lot traffic on the EF projects and that is not practical. To ensure we maximize the time we have to work on fixing bugs, implementing new features, etc. we use canned responses for common triage decisions.


Refactor target parser

The current parser code isn't very modular and could be simplified.

@tsenart hi! Thanks for a great tool.
I want to deal with target parser refactoring to be able to use it in my own load testing tool. If there are nobody working on this currently, then you could expect a pull-request from me in a month or so (so long because my own load testing project is not the main thing I work on).
Would it be ok if I move target parsing to github.com/tsenart/vegeta/target package?
Any other suggestions / requirements / whishes?

Hello @ei-grad! Thanks for proposing to work on this. I suggest you approach this with small incremental steps and put all of this up for me to review regularly.
Let's start with everything in the same package as it currently is. Also please bring forward a bit more specifics of how you plan to refactor this.

Closed in favor of https://github.com/tsenart/vegeta/pull/300


feat: Editor mode scene check #10

Scenes from the Scene Manager UI can be synchronized and added to the editor's build settings.
We throw an error if you try to load a scene that is not included in the scene manager on the current platform.
And we have a new platform "Editor", which allows you to add and work with scenes only in the context of the Editor.

Wrong pull request.


(go) Fix escaped character literals

Fixes #1411

I’ll review all these PRs more carefully tomorrow.

Any chance you have time/interest to look into the 6-7 other languages we're using this and see if they likewise suffer from the same issue?
One could imagine a language where \ wasn't valid so this MIGHT be a reasonable regex...

Any chance you have time/interest to look into the 6-7 other languages we're using this and see if they likewise suffer from the same issue?

I'm traveling for the next two weeks so probably not for a bit. But maybe if I get bored on the plane.

Please add Changelog entry.

Done


Background map dissapears for a frame when moving a token on a small map

FoundryVTT version: 0.8.8
System: DnD5e 1.3.6
Lichtgeschwindigkeit version: 1.3.4
With only Lichtgeschwindigkeit enabled I noticed the background map disappearing at various points when moving a token.
Some info:

I could only produce this bug on a small map with few walls. A large map with a ton of walls did not have this issue occurring.
It still occurs when I delete every wall and refresh Foundry.
There was no error printed to the console.

Here's the world with a copy of the map:
lich-testing.zip
Here's a video (had to .zip it because the file was too large):
Disappearing-Canvas.zip

I'm unable to reproduce this using your test world. Have you verified that this isn't happening with Lichtgeschwindigkeit disabled?

Yep, this doesn't happen with Lichtgeschwindigkeit disabled.

Does it still happen if you disable fog exploration on that map?

It does not happen with fog exploration disabled.

Thanks, I've managed to reproduce this on my machine.

I think I may have fixed the bug. However I was only able to reproduce this so rarely, that I cannot really confirm if the fix is actually working. Can you test if the bug still occurs, if you install Lichtgeschwindigkeit form this manifest? https://raw.githubusercontent.com/manuelVo/foundryvtt-lichtgeschwindigkeit/fog-flicker-fix/module.json

Yep that seems to have fixed it :)