Allow importing SVG as inline SVG

Is your proposal related to a problem?

I'm converting a React app with custom config that hasn't been updated for a while to a CRA app.
We're using fabric: https://www.npmjs.com/package/fabric, which allows importing SVG's into a canvas. For that to work it needs an inline SVG which https://webpack.js.org/loaders/svg-inline-loader/ can provide.
It would be awesome if like import {ReactComponent as Svg} from … the's a import {inlineSvg as svg} from …
Describe the solution you'd like
It would be awesome if like import {ReactComponent as Svg} from … the's a import {inlineSvg as svg} from …
It's possible to use this loader; https://webpack.js.org/loaders/svg-inline-loader
(Describe your proposed solution here.)
Describe alternatives you've considered

(Write your answer here.)
Additional context

(Write your answer here.)

If you import svg files using
import { ReactComponent as MySvg } from '../../assets/icons/my-svg.svg'

aren't they already being inlined?
Weirdly enough, the SVG will still end up in the build/static/media folder ...

The output of inline-svg-loader is different from ReactComponent, I'll check what the problem is when I can


Inability to use the same step definition in distinct contexts

It is not clear how best this scenario (pun not intended) should be tackled when it comes to have a step definition used by two different contexts and when that same step definition is an integral part of those contexts, yet it's defined in the same way in both.
Assume the following:
# login.feature
Scenario: User logs in
   Given I go to the login page and enter my email address
   And I solve the Google CAPTCHA challenge
   When I click on the login button
   Then I am logged in

# create_account.feature
Scenario: User creates an account
    Given I go to the create account page and enter my details
    And I solve the Google CAPTCHA challenge
    When I click on the register button
    Then my account is created

Now, assume the use of the PageObjectExtension. Both LoginContext and CreateAccountContext get injected the Login and CreateAccount page objects in the constructor, like so:
class CreateAccountContext ...
    function __constructor(CreateAccountPage $page) ...

class LoginContext ...
    function __constructor(LoginPage $page) ...

Now, the contexts both share And I solve the Google CAPTCHA challenge. But this step it's specifically scoped to each context. This means that this step definition has to do something like the following:
# CreateAccountContext
$this->createAccountPage->getElement( ... )-> ...

# LoginContext
$this->login->getElement( ... )-> ...

Same step definition, same logic, but specific to each context (it's two different pages in the end).
Problem 1: can't have this step defined in both contexts, Behat deems this as ambiguous because it doesn't know which one to pick.
Problem 2: can't use a dictionary traits used in both contexts, same problem (and I would rather avoid falling into the dictionaries traits trap anyway).
Problem 3: can't leverage the use of so-called shared helpers as defined in the example here. I tried to follow it but it simply didn't work. Probably because I was mixing PageObject and the other extension which seems quite young and limited at the moment.
Problem 4: can't use the ScenarioStateBehatExtension anymore either it seems. Looks like now Behat complains about context methods containing parameters not defined in the step definition.
Am I missing something?
Have you come across this?
If so, what solution did you implement and why?
Thanks.

Thanks @debo,  that could do the trick.
I should have mentioned I am aware I could use just defined the step above as:
And I solve the Google CAPTCHA challenge on the login page

And I solve the Google CAPTCHA challenge on the create account page

And so make the step really specific. But I am curious as to how people coming across this has solved the problem.

Hi Walter. What's the point of introducing abstraction layer to your context if you're not abstracting your implementation detail away from it? :)))
Your particular page object should abstract away the captcha challenge between shared, but simpler interface. This technically means that instead of writing:
# CreateAccountContext
$this->createAccountPage->getElement( ... )-> ...

# LoginContext
$this->login->getElement( ... )-> ...

you should write:
$this->captcha->fill()

Depending on the situation then you'll be able to use the same context, but a different page object, implementing same interface.


Update the deployment URL at Vercel

After renaming the repo we need to update the deployment URL at Vercel.

done.
someone needs to update the url in the repo about section:
https://serlo-editor-for-edusharing.vercel.app/


JCasC compatibility for authorized keys user property

See https://github.com/jenkinsci/configuration-as-code-plugin/pull/1309
This adds support for configuring authorizedKeys in a users profile,
e.g.
jenkins:
  securityRealm:
    local:
      allowsSignup: true
      enableCaptcha: false
      users:
      - description: "I am admin"
        id: "admin"
        name: "Admin"
        properties:
        - sshPublicKey:
            authorizedKeys: |
              ssh-rsa some-key

FTR I've tested it by building a custom war and then running https://github.com/jenkinsci/configuration-as-code-plugin/pull/1309/files#diff-44038bec92c0778d7ae2320b3181bc0fR45-R46 and https://github.com/jenkinsci/configuration-as-code-plugin/pull/1309/files#diff-3fff3ac9646b3d21c3a6c24cc1d21a62R69-R71
They'll be uncommented when a released version includes the fixes


Support for inheritance in ModelConvertor

In our project we have created a ModelConvertor that creates models by introspection. It also navigates the whole class tree to determine which models have to be added (ModelConverterContext.defineModel(...))
This works fine.
Now we want to add inheritance by using ComposedModel with references and everything. This works well when a child model is added to the context, but it does not work at all when the model (the root) is returned by the resolve method.
The problem comes from the method ModelResolver#resolveProperty. There a check is done to see if the model implements ModelImpl, and if not no Property is returned:
// complex type
Model innerModel = context.resolve(propType);
if (innerModel instanceof ModelImpl) {
    ModelImpl mi = (ModelImpl) innerModel;
    property = new RefProperty(StringUtils.isNotEmpty(mi.getReference()) ? mi.getReference() : mi.getName());
}

Looking at the code, I see that the check on ModelImpl is needed only when the reference is not set on the model (reference is defined in the Model interface).
It could be improved by first checking if the reference is set, and if not checking if the type is ModelImpl &c. Like this, setting the reference on any type of model would work.
What dou you think?

Seems like test case would be helpful for this.  In concept it sounds like it would be a good addition


travel blog site

similar to airbnb , can be a clone as well

can you assign me to do this?
and what are technologies have to use?

You can use any frontend tools like html css js bootstrap react etc

this is my website outlook please assign this to me
I will contribute 🤗

Ok

Make sure to Create a separate folder for your work within the travel blog folder @Chetana16032002

similar to airbnb , can be a clone as well

can you assign it to me?
i will contribute

okay

can you add hacktoberfest-accepted label also!

hey can you assign me this issue ..i would like to work on it...hope i can do this


Dashboard AzureAD authentication with standard and custom endpoint is not working

Rancher | v2.5-4e48b8a9fbedad498fa21fd00e6e426ab3e13770-head
From the cluster explorer, Auth providers and Users --> AzureAD

Add the details and select standard from endpoints
Click on enable and users are redirected to the credential page the redirected URL
In the redirected URL even before we provide credentails, we see the following error:

From the cluster explorer, Auth providers and Users --> AzureAD

Add the details and select custom from endpoints
add all details and click on enable, user is redirected to the credential page.
Once we click on save, we see the following issue

 window.opener.ls is not a function

Azure AD and Google oauth both require an API fix that is not in 2.5-head yet; this issue should be resolved with a master-head build however. (backend pr https://github.com/rancher/rancher/pull/31563)

Verified on master-cf376738e499ba538e80d8d02f37592391094ac4-head

From the cluster-explorer, Users and authentication --> Auth Providers --> Azure AD --> copy the 'Reply URL' and paste in the registration portal test app
Provide the Tenant ID, Application ID and Application Secret and select standard as the Endpoints in the Azure AD in the auth providers page --> Authenticate with Azure and the authentication goes through without any error
Create a cluster logged in as a standard user

Closing the issue as for 2.5-head validation we are tracking through the above linked issue


A flow diagram demonstrating how a workflow is processed at high level

What changed?
Adding a flow diagram to demonstrate how a workflow is processed by Cadence.
Can be visualized here.

Why?
To provide a high level visibility of the flow and the critical services/components/APIs involved.

Pull Request Test Coverage Report for Build 018e5cc7-49b1-4af1-9ebb-637c7d1974c1
Details

0 of 0   changed or added relevant lines in 0 files are covered.
92 unchanged lines in 18 files lost coverage.
Overall coverage decreased (-0.004%) to 65.184%

Files with Coverage Reduction
New Missed Lines
%

tools/cli/admin_db_decode_thrift.go
1
71.79%

service/history/task/transfer_standby_task_executor.go
2
87.01%

common/task/weighted_round_robin_task_scheduler.go
2
88.06%

common/task/fifo_task_scheduler.go
2
84.54%

service/frontend/api/handler.go
2
62.33%

common/util.go
2
91.78%

common/persistence/executionManager.go
2
78.62%

service/history/execution/mutable_state_util.go
2
78.48%

service/history/queue/timer_gate.go
3
95.83%

service/history/task/fetcher.go
3
85.57%

Totals

Change from base Build 018e5cab-f776-4a9f-ab4b-9a2817cf3d1b:
-0.004%

Covered Lines:
95285

Relevant Lines:
146179

💛  - Coveralls


Broken link

Custom policy provider - IAuthorizationPolicyProvider

Link is broken

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

ID: 82950389-524e-0754-a125-addeccbdb1b3
Version Independent ID: 80b7f7cf-dc2e-137a-5aa7-fa88da63ac80
Content: Authentication samples for ASP.NET Core
Content Source: aspnetcore/security/authentication/samples.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Thanks @dimaaan ... It was moved to ...
https://github.com/dotnet/aspnetcore/tree/main/src/Security/samples/CustomPolicyProvider
... I'll patch that link real quick. 🏃

... there will be a short 🤞 delay on merging it. There's a regression in the docs build system. As soon as that's resolved, we'll get this link fix merged.

Actually, Rick, it's best if you reason on this one because the links aren't for the latest release.
Here's the link to this one for 3.1 if you intend to not point these links at the main branch with a note on versioning ...
https://github.com/dotnet/aspnetcore/tree/release/3.1/src/Security/samples/CustomPolicyProvider

Let's point to main. Anyone smart enough to figure out these samples is smart enough to find the version specific code.

Do you want me to do it? I am actually just kind'a sitting here not doing all that much.


send message to chat when follow on mode is turned on or off

Closes #41 :D

@MichaelJolley Updated code to use const!


unknown props ...... is being sent through to the DOM

latest version

Take a look at the migration steps for v6, the prop forwarding behavior was changed.
This discussion might also be helpful: https://github.com/orgs/styled-components/discussions/4136


Implemented idea 2.

This is take 2 on the implementation.
When a URL is set, it should work exactly the same behavior and configuration.

Open a strean in init, write (as much as needed) in export and close it on __destruct.
When no URL is set, It will allow the setting of a pre-opened stream (that will not be closed in this component) to be used for logging. This is mainly to be used for

Possible improvements would be change is to have this split in 2 concrete classes, coming in a new PR.

@ndobromirov I like this much better :+1:
Just one thing: Could we rewrite the code in init() a little? I prefer to be more explicit with errors:
public function init() {
    if (empty($this->fp)) {
        if (empty($this->url)) {
            throw new InvalidConfigException("Either 'url' or 'fp' mus be set.");
        }
        $this->fp = @fopen($this->url,'w');
        if ($this->fp===false) {
            throw new InvalidConfigException("Unable to append to '{$this->url}'");
        }
    }
    if (!is_resource($this->fp)) {
        throw new InvalidConfigException("Invalid resource.");
    }
    $metadata = stream_get_meta_data($this->fp);
    if ($metadata['mode']!=='w') {
        throw new InvalidConfigException("Resource is not writeable.");
    }
}

@ndobromirov I had some time and adopted your proposals on master. I hope you don't mind ;).

Fully OK with the commit to master :).
I've added my concerns with the changes as comments on the commit.
Note that this is a bit worse than the initial implementation in the following regard. Consider having two targets that point to the same file like so: Target 1 opens file1 (and configs), Target 2 opens file1 (and configs). In the initial implementation this would result in a single opened file handle used by both targets, where here this will open two. But this case should not be that common to be a real problem.

Closing the pull request, as code is already in master.


macOS support

Title is self explanatory.
Related:

https://github.com/devicekit/DeviceKit/issues/182

I would like this one as well. Think macOS framework popularity will increase now Apple Catalyst will enable porting iOS apps to macOS with one switch.

macOS, It's a must. No doubt about it :)

Would love to this one！！


hspec template broken

Using the hspec template I cannot import Test.Hspec
The following steps reproduce the behaviour:
stack new hspec
cd hspec

contents of test/Spec.hs
import Test.Hspec

main :: IO ()
main = hspec $ do
  describe "Prelude.head" $ do
    it "returns the first element of a list" $ do
      head [23 ..] `shouldBe` (23 :: Int)

stack install
stack build
stack test

produces
    It is a member of the hidden package ‘hspec-2.2.3’.
    Perhaps you need to add ‘hspec’ to the build-depends in your .cabal file.```
but `hspec` is already in that list.

It probably confuses hspec for the project instead of the hspec dependency.

The same steps work in another template:

stack new my-project
cd my-project
#add hspec to build-depends of my-project.cabal
contents of `test/Spec.hs`
```haskell
import Test.Hspec

main :: IO ()
main = hspec $ do
  describe "Prelude.head" $ do
    it "returns the first element of a list" $ do
      head [23 ..] `shouldBe` (23 :: Int)

stack install
stack build
stack test

It isn't working because in order to instantiate a template you would do stack new hspec-example hspec.  The template to instantiate is the 2nd argument.


[BEAM-10114] Bump Pub/Sub lite version and clean up settings classes.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] Update CHANGES.md with noteworthy changes.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @boyuanzz

Thanks for the heads up @boyuanzz :)


atob and btoa typings are missing

Problem description
atob and btoa are available in the global namespace (see https://github.com/eclipsesource/tabris-js/issues/899) but their typings are missing.
Expected behavior
Typings for atob and btoa should be provided by Tabris.js.
Environment

Tabris.js version: 3.5.0

Code snippet
btoa; // Cannot find name 'btoa'.

@cpetrov @mpost So #899 claims that these functiosn are available in tabris at runtime, but that does not seem to be the case. Am I overlooking something?

@tbuschto It seems both are undefined, so the issue has probably been closed by mistake.

I can confirm that these are currently still missing


Thesis statement (why this spec?)

Should have some doc explaining that static apps are really sensible implementations, especially in the face of some of the newest web techs like Web Manifests and Service Workers, along with being implemented in conjunction with fixed services like (CP)ouchDB, but there are still behaviors, desirable for achieving certain goals / API surfaces in look and feel, that, while easy to describe, require different, sometimes-incompatible patterns to use across these platforms - sometimes not providing a way to achieve these patterns at all.

Also, I ought to mention up front that I have read xkcd 927, and that I do get that that happens, and why. I think that the "fifteenth standard" problem is more just a symptom of those people in Panel 2 not taking the time to actually go and understand why there has been a proliferation of standards before they go off and write their own, which is why I'm soliciting referrals for as many existing approaches in the wild as I possibly can.

This is the material that will go into the explainer.


tmp/mnt not unmounted on close/exit

0.7.4
Linux Version
For example, After closing sidenoder, this is still mounted:
FFA-01:         1,1P    2,7T  1,0P    1% /tmp/mnt
It unmounts fine with "unmount /tmp/mnt"

you can click on green MOUNT button for unmount by sidenoder or kill rclone process


feat(autoedit): refactor renderer code to simplify iteration on decor…

The PR refactors the current autoedits renderer to use a common schema for which Decorations can use.
Idea is to make it easy for anyone to try to implement a new decoration type without knowing the details on diff computation.
The common schema is in the file here
Test plan
Testing examples in cody-chat-eval and playing with the rendere to make sure we don't have any regression

I'll merge this one to merge my follow-up PR into the main branch. It will be less risky because my PR refactors more logic for which we don't have test coverage yet.


Hyperlink styling/hover effect

Hyperlinks currently do not have a hover effect. Give hyperlinks an underline when the user hovers over them. The color of the underline should be the same as the hyperlink.

Related bug:
Hyperlinks that are bold are black instead of green, making it impossible to tell they are hyperlinks. Make bold hyperlinks the same green as regular hyperlinks

@Michael-Grover can I take a look at this one?

@m4tr1k yes, thank you!

The black hyperlink bug may have something to do with if it's in a bulleted list, I'm not sure

examples of black bold hyperlinks on this page:
https://docs.accordproject.org/docs/next/logic-ergo.html


End to end tests added to project.

End to end tests added to project.

Looks good, very well done


refactored to mina_base

Thank you for contributing to Mina! Please see CONTRIBUTING.md if you haven't
yet. In that doc, there are more details around how to start our CI.
Explain your changes here.
refactored  lib naming from coda_base  to mina_base.
Explain how you tested your changes here.
make build
Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me


fix: Add check for type of window

This is needed when working in env that is outside of Next.js (like storybook)

Looks like tests need to be updated. Also, can you confirm that we still retain the bundle stripping optimisation?

I've checked the bundle shrinking, this is due to the fact that it becomes if(false && X) or if(true && X)

To confirm, you mean that adding the typeof window === 'undefined' does not affect the performance gains achieved by #926?

No affect of the tree-shaking :]

Great! If you don't have time to fix the tests, just let me know and I'll take care of it.

I've fixed the tests that are related to createConfig,
The appWithTranslation.test that fails is part of "weird" test, it mixes server & client in the assertions, I will happy for your help with it :]

We don't want to use @jest-environment node here, because this code executes in both client and server envs.
I can take care of this, but you'll need to follow these steps.

Actually – because this change set is so simple, I think it'll be easier for me to just open another PR. Thanks @felixmosh!

We don't want to use @jest-environment node here, because this code executes in both client and server envs.
I can take care of this, but you'll need to follow these steps.

This is true, so, the only option is to split this test into 2 separate files, server & client.


🌐 Add Portuguese translation for docs/pt/docs/how-to/custom-request-and-route.md

Great. Thanks for your interest in contributing to FastAPI! @devfernandoa :100:


Add support for promise result in storage.get

Adding possibility to use a storage provider returning promise from it's get function, so that it can make an asynchronous call to an endpoint to get the language.

Perhaps it is better to use $q.resolve/$q.reject automatically checking for promise values.

@vtrifonov  Thank you for making the pull request and the support for promise based caches. Please follow our contribution guidelines. Therefore we cannot accept the PR.
However, we would welcome a re-pull!


Makefile: run "go mod tidy" when vendoring

relates to https://github.com/containerd/containerd/pull/4717#issuecomment-768295224
make vendor did not do a go mod tidy after vendoring, whereas CI does this as part of the vendor validation, causing CI to fail if make vendor was used to update vendoring, without doing a go mod tidy afterwards.

LGTM

LGTM


gjs: 1.64.2 -> 1.64.3

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/gjs/versions.
meta.description for gjs is: "JavaScript bindings for GNOME"
meta.homepage for gjs is: "https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Home.md"
meta.changelog for gjs is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
gjs result is not automatically checked, because some tests take a long time to run

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

130 total rebuild path(s)

44 package rebuild(s)

44 x86_64-linux rebuild(s)
43 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
42 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
adapta-gtk-theme
chrome-gnome-shell
discover
flatpak
flatpak-builder
gjs
gnome-builder
gnome3.anjuta
gnome3.gjs
gnome3.gnome-books
gnome3.gnome-characters
gnome3.gnome-control-center
gnome3.gnome-documents
gnome3.gnome-maps
gnome3.gnome-session
gnome3.gnome-shell
gnome3.gnome-software
gnome3.gnome-sound-recorder
gnome3.gnome-terminal
gnome3.gnome-tweak-tool
gnome3.gnome-tweaks
gnome3.gnome-weather
gnome3.gnome_control_center
gnome3.gnome_session
gnome3.gnome_shell
gnome3.gnome_terminal
gnome3.gpaste
gnome3.polari
gnome3.pomodoro
gnome3.sushi
gnomeExtensions.drop-down-terminal
gnomeExtensions.gsconnect
gtkpod
haskellPackages.gi-ostree
malcontent-ui
minishift
ostree
pantheon.appcenter
pantheon.elementary-session-settings
pantheon.sideload
plasma5.discover
rpm-ostree
xdg-desktop-portal
xdg-desktop-portal-gtk

Instructions to test this update (click to expand)

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

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A gjs https://github.com/r-ryantm/nixpkgs/archive/2df0fef39ea5278d6fcd8ec0d09e6f51c9f1666c.tar.gz

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

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

4 packages marked as broken and skipped:
- gnomeExtensions.icon-hider
- gnomeExtensions.system-monitor
- osxfuse
- osxsnarf

2 packages failed to build:
- pantheon.appcenter
- rpm-ostree

34 packages built:
- adapta-gtk-theme
- chrome-gnome-shell
- discover
- flatpak
- flatpak-builder
- gjs
- gnome-builder
- gnome3.anjuta
- gnome3.gnome-books
- gnome3.gnome-characters
- gnome3.gnome-control-center
- gnome3.gnome-documents
- gnome3.gnome-maps
- gnome3.gnome-session
- gnome3.gnome-shell
- gnome3.gnome-software
- gnome3.gnome-sound-recorder
- gnome3.gnome-terminal
- gnome3.gnome-tweak-tool
- gnome3.gnome-weather
- gnome3.gpaste
- gnome3.polari
- gnome3.pomodoro
- gnome3.sushi
- gnomeExtensions.drop-down-terminal
- gnomeExtensions.gsconnect
- gtkpod
- malcontent-ui
- minishift
- ostree
- pantheon.elementary-session-settings
- pantheon.sideload
- xdg-desktop-portal
- xdg-desktop-portal-gtk

Maintainer pings
cc @hedning @jtojnar @worldofpeace for testing.

This was still awaiting review.

There was an accidental mass closing of bot prs sorry.

@GrahamcOfBorg build gjs
@GrahamcOfBorg test installedTests.gjs


Copy everything into a single document.

@duglin

@duglin is this at the point where we should submit it, and then start going 'should we remove this, should we remove that' and get opinions?

oops. didn't mean to push the backup.


Speeding up the getEnsName() function calls

Current runtime is about 3-5 seconds for 2x87 transactions consecutive calls of the getEnsName() function. Since .25x87 addresses are unique, maybe we can cache some of the names to speed things up.

This feature should be ignored since the majority of users on the data market do not have ENS names; hence it only slows down the visualization tools.


Unexpected indentation for multiline logical statement

Expected Behavior
Multiline logical statements should have an extra indent on all of the statements following the first one. Example:
button.isEnabled =
            firstCondition() ||
                secondCondition() ||
                thirdCondition()

Observed Behavior
KtLint returns an error: Unexpected indentation (16) (should be 12) [Indentation]
Steps to Reproduce
Copy the above example and run ktlint on it
Your Environment

Version of ktlint used:
I am using detekt with ktlint, the dependency is "io.gitlab.arturbosch.detekt:detekt-formatting:1.23.1"

I can not reproduce your problem for several reasons:

You have not provided the 'input' but only 'expected output'
The 'expected output' is incorrectly formatted  as the first line seems to be indented incorrectly
You have not provided any information about the .editorconfig
I don't know what configuration detekt is providing to ktlint

When I format code below:
class Foo {
    fun bar() {
        val isEnabled =
            firstCondition() ||
            secondCondition() ||
            thirdCondition()
    }
}

with .editorconfig:
root = true

[*.{kt,kts}]
ktlint_code_style = ktlint_official

it is formatted as:
class Foo {
    fun bar() {
        val isEnabled =
            firstCondition() ||
                secondCondition() ||
                thirdCondition()
    }
}

Please raise your issue at the Detekt project.


Remove high level helpers

Put them to clients instead.

[ ] File
[ ] Need to update docs

/azp run azure-sdk-for-js - all-tests - storage-file
/azp run azure-sdk-for-js - all-tests - storage-blob


Hi i am new

Hi, i am mew m20 user, seems like link of one of your cool project "hari rom r" is removed, please help us new users, we all are waiting for you

That rom has reached end-of-life. This is not the place for asking that anyways.


Consumer rules not being auto applied to proguard at consumer end

Hey,
Noticed in our release variants that proguard is stripping away some key functionalities of the form conductor, like stateless and statefull validation.
We are using both the UI and core library as our project is in compose
Thank you

Had to include it in my proguard manually
What could be the issue?

Hello Suhaib,
The proguard rules are mandatory for the library to work in release
mode,nif you're applying code minification or obfuscation using R8 or
something.
This is because the library is using kotlin-reflect under the hood,
requiring the syntax metadata to be available at run-time so that the
validations can run.
Have you checked the documentation about which rules to include in the
proguard rules file?
Here is the link:
https://formconductor.naingaungluu.me/docs/installation
Hope that helps!
Cheers,
Naing Aung Luu
On Tue, Sep 10, 2024, 11:00 PM Suhaib @.***> wrote:

Had to include it in my proguard manually
What could be the issue?
—
Reply to this email directly, view it on GitHub
https://github.com/NaingAungLuu/form-conductor/issues/54#issuecomment-2341353357,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKZ2TA5DEO3BHXGIZXLUDCDZV4JTVAVCNFSM6AAAAABN7CT5SWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBRGM2TGMZVG4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Yes Naing,
I was referring to this part of the documentation
"However, if you're using just me.naingaungluu.formconductor:core without compose-ui in your Android Project, you'll need to include the following proguard rules in your app module's proguard-rules.pro file."
I was thinking those rules would be auto applied as we are using the compose-ui too.
Regardless, it works after minification when explicitly rules are added


Improvements to folders tree

Follow up on PR #1754 (Improve handling of FoldersTree manual sort issues)
Should help with sort order issues #1768 and #1779

Not yet mature enough…


Updated desc_sroa to support flattening structures

This doesn't cover cases where we have the following pattern:
         %31 = OpAccessChain %_ptr_UniformConstant_S %globalS %int_0 %int_0
         %32 = OpLoad %S %31
         %33 = OpCompositeExtract %_arr_type_2d_image_uint_2 %32 0
         %34 = OpCompositeExtract %type_2d_image %33 0
         %35 = OpCompositeExtract %type_2d_image %33 1
         %36 = OpCompositeExtract %_arr_T_uint_2 %32 1
         %37 = OpCompositeExtract %T %36 0
         %38 = OpCompositeExtract %_arr_type_sampler_uint_3 %37 0
         %39 = OpCompositeExtract %type_sampler %38 1
         %40 = OpCompositeExtract %T %36 1
         %41 = OpCompositeExtract %_arr_type_sampler_uint_3 %40 0
         %42 = OpCompositeExtract %type_sampler %41 2
         %43 = OpSampledImage %type_sampled_image %34 %39
         %44 = OpImageSampleImplicitLod %v4float %43 %14 None

This pattern could be seen if a global structure of resources is passed to a function.

I realized that the check I had added missed cbuffers (cbuffers would have been expanded). I've updated the code to check for Offset decoration on the variable type to determine if a struct is a buffer.

the CI-check-format failure is not relevant to my change. Looks like test/opt/loop_optimizations/loop_fission.cpp has bad formatting.


When batch>2,  can not conver onnx to trt

deepstream=6.2
Jetson NX ori
[09/15/2023-09:21:15] [E] Error[4]: [shapeCompiler.cpp::evaluateShapeChecks::1180] Error Code 4: Internal Error (kOPT values for profile 0 violate shape constraints: IShuffleLayer /1/Reshape_12: reshaping failed for tensor: /1/Expand_1_output_0 Reshape would change volume.)
[09/15/2023-09:21:15] [E] Error[2]: [builder.cpp::buildSerializedNetwork::751] Error Code 2: Internal Error (Assertion engine != nullptr failed. )
[09/15/2023-09:21:15] [E] Engine could not be created from network
[09/15/2023-09:21:15] [E] Building engine failed
[09/15/2023-09:21:15] [E] Failed to create engine from model or file.
[09/15/2023-09:21:15] [E] Engine set up failed
&&&& FAILED TensorRT.trtexec [TensorRT v8502] # /usr/src/tensorrt/bin/trtexec --onnx=yolov8s-seg.onnx --minShapes=input:1x3x640x640 --optShapes=input:4x3x640x640 --maxShapes=input:4x3x640x640 --saveEngine=yolov8s-seg.engine --workspace=1024

https://github.com/docs/YOLOv8_Seg.md

I follow the https://github.com/marcoslucianops/DeepStream-Yolo-Seg/blob/master/docs/YOLOv8_Seg.md， but have the problem as bellow, when batch >2
WARNING: [TRT]: Using PreviewFeature::kFASTER_DYNAMIC_SHAPES_0805 can help improve performance and resolve potential functional issues.
WARNING: [TRT]: Using PreviewFeature::kFASTER_DYNAMIC_SHAPES_0805 can help improve performance and resolve potential functional issues.
WARNING: [TRT]: Using PreviewFeature::kFASTER_DYNAMIC_SHAPES_0805 can help improve performance and resolve potential functional issues.
ERROR: [TRT]: 4: [shapeCompiler.cpp::evaluateShapeChecks::1180] Error Code 4: Internal Error (kOPT values for profile 0 violate shape constraints: IShuffleLayer /1/Reshape_12: reshaping failed for tensor: /1/Expand_1_output_0 Reshape would change volume.)
ERROR: Build engine failed from config file
ERROR: failed to build trt engine.
0:00:08.643111021 3100622 0xffff00002360 ERROR                nvinfer gstnvinfer.cpp:674:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::buildModel() <nvdsinfer_context_impl.cpp:1943> [UID = 1]: build engine file failed
0:00:08.847122917 3100622 0xffff00002360 ERROR                nvinfer gstnvinfer.cpp:674:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::generateBackendContext() <nvdsinfer_context_impl.cpp:2029> [UID = 1]: build backend context failed
0:00:08.847179559 3100622 0xffff00002360 ERROR                nvinfer gstnvinfer.cpp:674:gst_nvinfer_logger:<primary_gie> NvDsInferContext[UID 1]: Error in NvDsInferContextImpl::initialize() <nvdsinfer_context_impl.cpp:1266> [UID = 1]: generate backend failed, check config file settings
0:00:08.847607312 3100622 0xffff00002360 WARN                 nvinfer gstnvinfer.cpp:888:gst_nvinfer_start:<primary_gie> error: Failed to create NvDsInferContext instance
0:00:08.847624465 3100622 0xffff00002360 WARN                 nvinfer gstnvinfer.cpp:888:gst_nvinfer_start:<primary_gie> error: Config file path: /home/nvidia/DeepStream-Yolo-Seg-master/config_infer_primary_yoloV8_seg.txt, NvDsInfer Error: NVDSINFER_CONFIG_FAILED
** ERROR: main:716: Failed to set pipeline to PAUSED
Quitting
nvstreammux: Successfully handled EOS for source_id=0
nvstreammux: Successfully handled EOS for source_id=1
nvstreammux: Successfully handled EOS for source_id=2
nvstreammux: Successfully handled EOS for source_id=3

I've been running into the same issue, irregardless of whether the model is exported with a dynamic batch size, static batch size, simplified or not. Setting the batch size to higher than 1 triggers: ERROR: [TRT]: 4: [graphShapeAnalyzer.cpp::analyzeShapes::1294] Error Code 4: Miscellaneous (IShuffleLayer /1/Reshape_12: reshape changes volume. Reshaping [4,400,25606] to [4,100,25606].) ERROR: Build engine failed from config file

I will do some tests to check

I ran into the same problem too. Could you advise if there is a solution for this issue?

It seems to me like the max detections parameter in the line final_dets = batched_dets.new_zeros((b, self.max_det, i)) is causing the issue, as this is set to 100 statically regardless of batch size, causing the reshape to [.., 100, ...]. You can modify the forward pass of the DeepstreamOutput class in export_yoloV8_seg.py to multiply the max detections with the batch size, specifically, if you add to the beginning of the forward pass:
dynamic_max_det = x[0].shape[0] * self.max_det

And then modify line 98 to:
final_dets = batched_dets.new_zeros((b, dynamic_max_det, i))

While this works and the exported ONNX model can be used to successfully build an engine with a dynamic batch size, this does decimate my throughput when used on a single UDP stream input for some reason. Going from ~15FPS on batch size = 1 with an AGX Xavier on Jetpack 5.0.2 to ~3FPS on batch size = 2 and 4. Might be an issue with my modification or perhaps an issue with how I'm applying batching in this context. Would be curious to see if this causes similar issues for others.


Add new issues to tracking boards

Adds new issues to the tracking boards. Planning conversation happening on the internal slack.

/hold
We still need to figure out tokens. Working through it on slack.

Resolved by https://github.com/opendatahub-io/odh-dashboard/pull/1899


[IOS] Callback not be invoked

When testing in example, any callback in interstitialAd and banner ad could not be invoked. But callback is invoked in reward ad.
IOS 12.1
iPhone 7P simulator.

Might be my issue.


Integrate building functions data set into the system

Function of parsing this dataset has been made https://github.com/Ignotus/infoviz-project/commit/6e0747449130d0318b83d4805b2daa8a088e5c59 but it's not available via API now.

Completed


shadowed box in panel

Issue Type: Bug
I dont know how to reproduce it  is in vscode itself. I can only show a screen shot.
 It is in every panel when I open a file.

@fillharris does this also occur when you are in a text editor? (versus just the welcome page)
Is there any operating system setting that might be affecting this? For instance a zoom mode.

It was a windows issue. I rebooted and it went away 🤷♂
On Tue, Jan 11, 2022, 2:04 PM Jackson Kearl @.***>
wrote:

Reopened #140297 https://github.com/microsoft/vscode/issues/140297.
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode/issues/140297#event-5875671994, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AWGI7EN5U4GXJK4B7GUWVY3UVR5K3ANCNFSM5LPMMACQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add example for loading raw binary data with memory mapping to documentation

In https://docs.dask.org/en/latest/array-creation.html there are a number of examples on how to create dask arrays.
A very efficient method that is not listed yet is memory mapping. Here's an example for that, see also https://github.com/LiberTEM/LiberTEM/pull/984#issuecomment-792948584:
def mmap_load_chunk(filename, shape, dtype, sl):
    data = np.memmap(filename, mode='r', shape=shape, dtype=dtype)
    result = data[sl]
    del data
    return result

def mmap_dask_array(filename, shape, dtype):
    chunks = []
    blocksize=5
    for offset in range(0, shape[0], blocksize):
        chunk = da.from_delayed(
            delayed(mmap_load_chunk)(
                filename,
                shape=shape,
                dtype=dtype,
                sl=slice(offset, min(offset+blocksize, shape[0]))
            ),
            shape=(min(offset+blocksize, shape[0]) - offset, ) + shape[1:],
            dtype=dtype
        )
        chunks.append(chunk)
    return da.concatenate(chunks, axis=0)

This method has a number of advantages:

Zero copy, very fast data access from the file system cache
Low memory consumption
Lazy loading of the data, completely delegated to the operating system

This method is particularly efficient if only small subsets of the Dask array are accessed at a time since there is no overhead from allocating large chunks. Furthermore, this method is pretty insensitive to the chunking scheme for the same reason.
Technically one could also use da.from_array() on a numpy.memmap() object. However, that has a number of disadvantages compared to the from_delayed method:

It does not work with distributed if the Client sees a different filesystem than the workers.
It may share the memory map between workers or pickle it and send it over the network, which could be system-dependent and just introduces unnecessary potential for errors or undefined behavior. The example above creates the memory map on the system/worker where the data is actually needed, which should be clean in any scenario.

As a side note, the same consideration holds for the HDF5 example in the documentation. It might be cleaner to wrap the file opening in dask.delayed to make sure that the h5py.File object doesn't have to be pickled or shared. The disadvantage here would be that the HDF5 chunk cache is never shared. Since the chunk cache introduces a hidden state to a h5py.File object, sharing it might be a hidden case of this one: https://docs.dask.org/en/latest/delayed-best-practices.html#avoid-global-state In any case, accessing a dataset is idempotent independent of the state of the chunk cache, so it should at least always return the desired result.
If you are interested, I could clean up the mmap case a bit, write it up for https://docs.dask.org/en/latest/array-creation.html and/or add a da.from_raw() method. I could also adapt the HDF5 case to only open the file in the worker processes/threads. I'm just asking beforehand since I want to make sure this would be appreciated before investing work into it.

I think it would be optimistic to say that we have a concrete example of how to best do this. There is decent discussion on this at https://github.com/dask/distributed/issues/4497
For the given example, it's not obvious to me that this has an advantage over direct loading of the chunks. The function return value occupies memory just the same, and, by design, dask will not load the same chunk twice in a given computation, so it doesn't really matter is the OS cached it or not.

@martindurant Thx for linking to the discussion. As far as I can see, that discussion centers more around sharing data between workers, right? In this case here, the intent is just doing efficient I/O.
To show what this is about, I've appended two notebooks that compare memory mapping with conventional reading. The test simulates a common analysis for 4D STEM data: Working with the values from a specific range of pixels for all scan positions, in this case a single pixel as the most "leveraged" case. This is based on typical use of Dask arrays in this field: https://github.com/pyxem/pyxem-demos/blob/master/10 STEM DPC Analysis of Magnetic Sample.ipynb
On a powerful Linux workstation with fast NVMe RAID
read comparison Linux.ipynb.txt
On a decent Windows workstation with a SATA SSD
read_comparison Windows.ipynb.txt
The test shows that on Linux, memory mapping is clearly superior for this use case, independent if the file is in the file system cache or not. The implementation of memory-mapped I/O in Windows is unfortunately not as good as on Linux: It apparently creates a large number of page faults and context switches if the data has to be loaded from storage. If the data is already in the file system cache, it is as fast as Linux.
A few detailed replies to your comments:

The function return value occupies memory just the same

In both cases the function returns a reference to memory, but with rather different characteristics: In the normal file reading case, this is memory that is exclusive for the reading process and it always has to be filled with a copy operation. In the memory mapping case, it is a pointer to the file system cache that is shared between all processes on that system. If the file is already in the file system cache, this just creates a reference to memory that is already in use, i.e. no additional memory consumption and in particular no copy operation. If not, the operating system is free to allocate memory for the cache for  the parts of the file that are being accessed, when they are being accessed. Small Dask array chunks can, in principle do the same. However, they are associated with a lot more overhead than just letting the operating system handle it.

by design, dask will not load the same chunk twice in a given computation, so it doesn't really matter is the OS cached it or not.

First, the operating system doesn't even have to read the whole chunk in the memory mapping case. It only has to read the parts that are actually accessed on demad. That's why Windows is doing so poorly: Apparently it doesn't recognize the linear access pattern and doesn't read ahead, but actually triggers a costly page fault for every pixel -- they are so far apart in the file that each is in a separate memory page. Linux, however, seems to recognize the access pattern and reads ahead, thus avoiding page faults. The memory mapping case delegates a lot of the decision making to the kernel, while the reading case forces the kernel to allocate and manage additional memory for the file contents that are being read.
Second, looking at the real-world use case (not mine, by the way): It calls compute()  behind the scenes every time one of the interactive GUI navigation elements is changed! It should be clear that fast data access from the file system cache greatly improves the user experience in that case.
Reading from fast SSDs in cases where the data doesn't fit into the file system cache is  yet a different scenario, by the way: Direct IO is doing best here since reading from a fast SSD RAID can be almost as fast as accessing memory, and it avoids the overheads associated with constantly thrashing the cache. This could be yet another example. :-)

Admittedly I haven't read the whole thread (so maybe this already came up), but would actually suggest loading the data a bit differently. Something like this...
import mmap
import numpy as np
import dask.array as da

with open(fn, "r+b") as fh:
    # `mmap` duplicates the file descriptor
    # `0` means map the full file
    mm = mmap.mmap(fh.fileno(), 0)

# coerce to NumPy array of expected type and shape
a = np.asarray(mm).view(type).reshape(shape)

# Don't call `asarray`
a_d = da.from_array(a, chunks=chunks, asarray=False)

# Do other stuff here
...

Hopefully saves some boilerplate while still making good use of mmaping.

@jakirkham thank you for the example! I've tried it out in comparison to the "original" method. It seems that np.asarray() is taking a copy of the data since it has the same performance as the read case:
(...)

def other_mmap(filename, shape, dtype, chunks):
    with open(filename, "rb") as fh:
        # `mmap` duplicates the file descriptor
        # `0` means map the full file
        mm = mmap.mmap(fh.fileno(), 0, access=mmap.ACCESS_READ)

    # coerce to NumPy array of expected type and shape
    a = np.asarray(mm).view(dtype).reshape(shape)

    # Don't call `asarray`
    a_d = da.from_array(a, chunks=chunks, asarray=False)
    return a_d

%%time
a = mmap_dask_array(filename, shape, dtype)
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 92 ms

%%time
a = other_mmap(filename, shape, dtype, (5, 128, 128, 128))
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 2.64 s

For a threaded single host case, this works better since it eliminates the copy:
def other_mmap_2(filename, shape, dtype, chunks):
    a = np.memmap(filename, mode='r', shape=shape, dtype=dtype)
    # Don't call `asarray`
    a_d = da.from_array(a, chunks=chunks, asarray=False)
    return a_d

%%time
a = other_mmap_2(filename, shape, dtype, (5, 128, 128, 128))
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 111 ms

However, with Dask.Distributed both tank since they both apparently send the whole data around the cluster instead of memory mapping it on the worker processes:
c = dd.Client(n_workers=4, threads_per_worker=1, processes=True)

%%time
a = mmap_dask_array(filename, shape, dtype)
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 254 ms

%%time
a = other_mmap(filename, shape, dtype, (5, 128, 128, 128))
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 13.3 s

%%time
a = other_mmap_2(filename, shape, dtype, (5, 128, 128, 128))
# Extract the central pixel from all frames
a[:, :, 64, 64].compute()

Wall time: 10.8 s

It shouldn’t be copying it. NumPy’s asarray takes a view if anything following the Python Buffer Protocol, which includes mmap

@jakirkham Actually, it does take a copy if it is not a subclass of ndarray: https://numpy.org/doc/stable/reference/generated/numpy.asarray.html
What you mean is probably np.frombuffer()? https://numpy.org/doc/stable/reference/generated/numpy.frombuffer.html

That said, agree Distributed will transmit data around. It’s use case is different. Changing that is likely more involved
I think mmaping works better with the threaded scheduler. It may work with the multiprocessing scheduler, but that may involve some tricks

One can feed it through a memoryview before giving it to asarray and pass copy=False, but no it shouldn’t copy. Also don’t think either of those should be needed

@jakirkham So how do you explain that your version takes so much longer? Taking a copy in the process of creating the Dask array chunks would be a reasonable assumption, no?

Relevant NumPy code
https://github.com/numpy/numpy/blob/bb7a31a6a852ecc64d3f7cffb70121fc8bef20eb/numpy/core/src/multiarray/ctors.c#L1285

All I said was it shouldn’t copy. Not ruling out the potential for a bug somewhere 😉

@jakirkham Ok, you are actually correct about the asarray. I've tried it out, and it is actually the Dask function that eats up time:
with open(filename, "rb") as fh:
    # `mmap` duplicates the file descriptor
    # `0` means map the full file
    mm = mmap.mmap(fh.fileno(), 0, access=mmap.ACCESS_READ)

%%time
a = np.asarray(mm).view(dtype).reshape(shape)

Wall time: 0 ns

%%time
da.from_array(a, chunks=(5, 128, 128, 128), asarray=False)

Wall time: 1.28 s

This is a bit funny. Apparently the NumPy array is somehow "not right"?
b = np.memmap(filename, shape=shape, dtype=dtype, mode='r')

%%time
da.from_array(b, chunks=(5, 128, 128, 128), asarray=False)

Thanks for the update
So I think we are missing name=False in from_array. Dask does some hashing with NumPy Arrays by default which we want to avoid here

@jakirkham Ok, that helped!
%%time
da.from_array(a, chunks=(5, 128, 128, 128), asarray=False, name=False)

Wall time: 996 µs

Updated function:
def other_mmap(filename, shape, dtype, chunks):
    with open(filename, "rb") as fh:
        # `mmap` duplicates the file descriptor
        # `0` means map the full file
        mm = mmap.mmap(fh.fileno(), 0, access=mmap.ACCESS_READ)

    # coerce to NumPy array of expected type and shape
    a = np.asarray(mm).view(dtype).reshape(shape)

    # Don't call `asarray`
    # name=False to avoid hashing
    a_d = da.from_array(a, chunks=chunks, asarray=False, name=False)
    return a_d

Yeah memmap in NumPy is a bit of an odd duck, which is why I typically go through mmap and coerce that into a NumPy Array

Awesome thanks for the update 😀

Interesting about the hashing function, I learned something. :-D Do be honest, I am a bit unsure if having hashing turned on by default is such a good idea since it can be quite punishing on large data.

Maybe one should even have both cases as example. One "quick and dirty" with da.from_array(numpy.memmap(...)) for threaded single host cases, and one longer one with delayed etc that works on multiprocessing and distributed systems.

Yeah we’ve discussed turning hashing off before ( https://github.com/dask/dask/issues/4169 ). Would be good to have your perspective there as well 🙂
Yep 2 examples makes sense. There might be ways to improve the Distributed use case more. Will mull on that a bit


Add lupercalia beta handler to allow for testnet upgrade

This should not be merged.
It is set as a draft PR purely so:

changes are clear
docker container will be built
very obvious what the git tag refers to

This handler allows us to run a second upgrade on uni-2 to test the additional things we want to sneak into lupercalia.

Just a suggestion but for This should not be merged. you should add [WIP] to the PR title so people know that is not supposed to be merged. You also have automated gh actions that prevent that: https://github.com/apps/wip


Investigate conditional search spaces

See if conditional search spaces are compatible with PBT and ASHA schedulers.
They are not compatible with most search algorithms, but search algorithms are not currently working anyway.

Another Ray Tune docs page that may prove helpful with this.

This is addressed by @RaminNateghi in the new MIL model wrappers.
We found that conditional spaces have pretty broad support. The tricky part is when using PBT, you have to exclude conditional variables from your mutation list. The new glimr.util functions handle this exclusion.


Extending js and css helpers

We've been considering ways to make it easy to include script and stylesheet resources from pages and partials/components, but make sure those resources are injected into the html in the correct place (usually being a layout).
I'm opening this issue to get some ideas on how it would look in handlebars syntax so I can try to get it working as a helper.
data.yml:
listOfCssOrLessFiles:
 - file1.css
 - file2.css
 - file3.css

listOfJavaScriptFiles:
 - file1.js
 - file2.js
 - file3.js

additionalCssFiles:
 - addtionalFile1.css

additionalJsFiles:
 - additionalFile1.js

Layout.hbs:

    {{css listOfCssOrLessFiles}}

    {{> body}}
    {{js listOfJavaScriptFiles}}

Page1.hbs:

Awesome Component Example

{{css additionalCssFiles}}
{{js additionalJsFiles}}

This would allow only loading the files that are needed for the current page being built. The results would be like this...
Page1.html

    <link rel="stylesheet" href="assets/styles/file1.css">
    <link rel="stylesheet" href="assets/styles/file2.css">
    <link rel="stylesheet" href="assets/styles/file3.css">
    <link rel="stylesheet" href="assets/styles/additionalFile1.css">

Awesome Component Example

Please post ideas or a better syntax for these helpers. Thanks.

Should be concatenating these files, I don't think this is a great way of handling things. Every item is a HTTP Request.

Closing due to age.
The helpers are still here and they can take a string or array of strings to build the html, but I think the data should be transformed before render time and passed into the helper in the correct format. This will let something else handle doing concatenation (as @custa1200 pointed out) when it's needed.
This can be done in the assemble build process by a preRender middleware and combine the global files with the page specific files (specified in front-matter) and can combine those and update the page front-matter with the newly combined file.


Permissions to create or edit existing template customisations

The button to edit existing content added to a funder template is missing. I have an option to add a section but not amend suggested answers or questions added to a section previously etc. Screengrabs from current live and test

An update to this. The functionality to edit a section previously added seems to be working. I have now logged in as Brighton who added the "Project and funder details" section and see this in edit mode. The two issues are that:

No questions display the button to add an example / suggested answer
Sections added by other orgs are also visible (though not editable)

Adding another point from #335 as this is related.
The edit rights on customisations of funder templates should be:

Add example or suggested answers
Add guidance / question annotations
Add sections
Edit any of the above details when added.

Currently users are being given an option to add a phase and edit template details, neither of which they should be able to do

The following screen shots depict the interface implimented.  This feature needed to be re-written.
In particular, the 'Add/Edit Annotations' text may need re-worked as of UAT.  The button allows the user to edit both suggested_answer and guidance from one form.

The buttons to add and edit annotations appear but clicking them doesn't open up an editable area, either on existing customisations or when trying to add new ones. Effectively i can't get @xsrust's second screengrab to show. Adding sections does open up an editable box though.

@sjDCC please try again - I hadn't precompiled the javascript changes on the server.

It seems to be working for me on dmponline-test

Yay! this is working. closing out

If you clikc on 'add annotations' but then decide to hit 'cancel, it doesn't close the field; you are thrown further up the page but the 'add annotations' procedure remains open.

Have checked and I experience this too. It also lets you save with nothing entered in the box. The overview table then shows the template as having being customised although no guidance or suggested answers are saved or show up on the front end though...
I've added an actual suggested answer and it's not showing on the front end either. I'm on a call now, but @dsisu could you do more testing adding content through annotations and checking they show up on front end please.

Ignore me. I missed the publishing step. All is working :)
Only thing is @dsisu's point that the box doesn't close when you cancel

Working fine now. Cancel closes the boxes. Closing out


Error 1603

Sometimes when i run this i get error 1603. When running manually it seemingly runs fine. Sometimes running by GPO power shell script works fine. Only sometimes i get error 1603 in the log and its not able to upgrade it.
Any explanation? I have just been running it manually on those machines.

Can you share the error text with the 1603 error?


Release: 2022 Oct

:tada: This PR is included in version 1.2.22 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix rpath-related Linux "test_shlibload" failure.

When libssl and libcrypto are compiled on Linux with "-rpath", but
not "--enable-new-dtags", the RPATH takes precedence over
LD_LIBRARY_PATH, and we end up running with the wrong libraries.
This is resolved by using full (or at least relative, rather than
just the filename to be found on LD_LIBRARY_PATH) paths to the
shared objects.

Can't we just strongly discourage the use of -rpath without --enable-new-dtags for the GNU linker?
I.e. declare it unsupported and say that tests will most likely fail?

I would personally prefer not to re-enter that whole mess, but yeah you're right.

I must say that I'm terribly unhappy with the symlink chasing bit.  It would be better if we used the full SONAME file name directly instead.
Incidently, I've this other PR, #7473, which does just that.  Would you be interested in taking a closer look?

An alternative to chasing down symlinks in util/shlib_wrap.sh is this:
diff --git a/util/shlib_wrap.sh.in b/util/shlib_wrap.sh.in
index 9199d12fc..9a4b99f68 100755
--- a/util/shlib_wrap.sh.in
+++ b/util/shlib_wrap.sh.in
@@ -1,5 +1,20 @@
 #!/bin/sh
+{-
+ use lib '.';
+ use configdata;

+ our %libs = undef;
+ unless ($disabled{shared}) {
+     for (('libcrypto', 'libssl')) {
+         $libs{$_} =
+             $unified_info{sharednames}->{$_}
+             . ($target{shlib_variant} || "")
+             . ($target{shared_extension} || ".so");
+         $libs{$_} =~ s|\.\$\(SHLIB_VERSION_NUMBER\)
+                       |.$config{shlib_version_number}|x;
+     }
+ }
+-}
 # To test this OpenSSL version's applications against another version's
 # shared libraries, simply set
 #
@@ -25,15 +40,8 @@ fi
 THERE="`echo $0 | sed -e 's|[^/]*$||' 2>/dev/null`.."
 [ -d "${THERE}" ] || exec "$@" # should never happen...

-# Alternative to this is to parse ${THERE}/Makefile...
-LIBCRYPTOSO="${THERE}/libcrypto.so"
-if [ -f "$LIBCRYPTOSO" ]; then
-    while [ -h "$LIBCRYPTOSO" ]; do
-       LIBCRYPTOSO="${THERE}/`ls -l "$LIBCRYPTOSO" | sed -e 's|.*\-> ||'`"
-    done
-    SOSUFFIX=`echo ${LIBCRYPTOSO} | sed -e 's|.*\.so||' 2>/dev/null`
-    LIBSSLSO="${THERE}/libssl.so${SOSUFFIX}"
-fi
+LIBCRYPTOSO="${THERE}/{- $libs{libcrypto} -}"
+LIBSSLSO="${THERE}/{- $libs{libssl} -}"

 SYSNAME=`(uname -s) 2>/dev/null`;
 case "$SYSNAME" in

Basically, it uses the exact same knowledge that's already coded in the Makefile template.  This is portable to all the branches you intend this PR for.

@levitte An alternative to chasing down symlinks in util/shlib_wrap.sh is this [...]

Works for me.  Would you mind opening a PR for that, but also subsume my PR, by changing the "shlibload" test to use a path with the directory prefix (thus resolving rpath obstacles), and then I'll close this PR and approve yours?

@levitte Sadly, that other PR is bigger than I have cycles to review just now, so I am going with just inline Perl you posted above and it seems to work fine. Will force push updated commits shortly...

Closing. Richard's PR is the solution.


Getting an exception when updating http listener with an existing waf-policy

Describe the bug
When updating an http listener with an existing waf-policy, the command returns an exception
Command Name
az network application-gateway http-listener update
Errors:
BadRequestError: Cannot parse the request.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

a Waf Policy must be created. The name must be used in the next command
az network application-gateway http-listener update -g {} --gateway-name {} -n {} --waf-policy {}

Expected Behavior
Waf-policy is connected to the http listener without any errors.
Environment Summary
Windows-10-10.0.19041-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.13.0

Additional Context

Is there any other way to associate the waf-policy with the http listener? (in the portal you can associate the http listener when browing the waf-policy itself, is there a az cli command for this?)

add to S178

This is also not working with the create command.
This is the debug part of the exception.
msrest.http_logger : {
"error": {
"code": "InvalidRequestFormat",
"message": "Cannot parse the request.",
"details": [
{
"code": "InvalidJsonReferenceFormat",
"message": "Reference Id /subscriptions//resourceGroups/r/providers/Microsoft.Network/applicationGateways//firewallPolicy/ag-waf-policy-listeners is not formatted correctly. The Id is expected to reference resources of type ApplicationGatewayWebApplicationFirewallPolicies. Path properties.httpListeners[1].properties.firewallPolicy."
}
]
}
}

Somehow using the name' of the waf-policy doesn't work. (The documentation is saying you can use the name`)
Retrieving the ID and using the full ID works though.

@timvanderweijde It's a bug, I will plan to fix it ASAP

@timvanderweijde The patch is merged and will be shipped with Azure CLI 2.16.0, you could have a try after 12/8/2020. Or you could try an edge build from https://dev.azure.com/azure-sdk/public/_build/results?buildId=620599&view=artifacts&type=publishedArtifacts


Instrumentation plugin details for possible kotlin port

Hi.
Me and my team are planning to use Kotlin for our next project. We already used active jdbc on other projects, so we are studying if we can use it on this project, since it offers so much commodity with low overhead.
In our deployment model, the only part that is bothersome is the instrumentation phase, since it needs that the models are written in java. Since we are looking for typesafety, we will probably need to generate code/write a bunch of boilerplate, using kotlin classes reduces it considerably
After studying the instrumentation plugin, I asked my self if most of its "magic" can be solved with kotlin Extensions and Singletons.
I am opening this issue to ask for confirmation/clarification on the following topics:

Basically, the instrumentation plugin is just copying the static methods from the Model.class to every class that extends it. I ask for confirmation and if possible some expanding on the topic if there is any detail that I am missing.
Is any ongoing project for kotlin support that I can contribute, or should I just fork this project?

I am sorry if this is the wrong place for this kind of issue. If yes please let me know.
Thanks in advance.

After studying the instrumentation plugin, I asked my self if most of its "magic" can be solved with kotlin Extensions and Singletons.

I'm not familiar with Kotlin, but quickly looking at the Extension, I see that the implementation references the this reference. So that you understand it better, the instrumentation copies only static methods to the model classes in order for the model classes to be able to identify what table a model refers to. Not sure if the Kotlin extension is possible for static methods?

I am opening this issue to ask for confirmation/clarification on the following topics:
Basically, the instrumentation plugin is just copying the static methods from the Model.class to every class that extends it. I ask for confirmation and if possible some expanding on the topic if there is any detail that I am missing.

You are correct, but instrumentation only copies static methods because in Java static methods are not inherited into subclasses. In other words, if you have this:
class A{
  public static void  foo() { ...}
}
class B extends A {}
...

B.foo();

the JVM will not execute B.foo(), it will execute A.foo().

Is any ongoing project for kotlin support that I can contribute, or should I just fork this project?

There have been a couple of people here and there asking about Kotlin, but  not a lot. If you want to contribute, you are welcome, but that will come with responsibilities:) I do not focus on Kotlin, so if other  people have questions related to your contribution, you will be ion the hook.

I am sorry if this is the wrong place for this kind of issue. If yes please let me know.

This is a perfect place for such questions: http://javalite.io/contributors
In addition, check out Dynamic Instrumentation: https://github.com/javalite/activejdbc/tree/master/activejdbc-instrumentation and understand its limitations with Java 8 - it may work for you.

I will work on this "port" one way or another, but since I cannot aford responsability now (November, December and January are the busiest months here) I will keep it in off by now. In the mean time I will let it mature while I use it.
The only thing that worries me is backwards compatibility, since instrumentation is different from Extensions, but only time will tell.
Thanks very much for your attention, I will open a new issue / reply on this one  if I have any news. Have a nice week.

Good luck, let me know if you need any help, I doubt though that extensions will work :(

Just a little update on this issue, good news and bad news.
Good news: I made a prototype and it works.
We used Companion objects and Extensions to do it.
Kotlin has no native static methods (it kinda has, but it is a work around, you can annotate what you want to be static with @JvmStatic). Kotlin has this "Companion objects" that works like a singleton object that every class instance shares. In functionality it is basically the same, but companion objects are literal objects, that mean that they can extend classes or implement interfaces, more on Companion Objects.
Bad news: I am probably release it as a separate project (but of course, giving most credit to this repository) since it works very differently. We will need to refactor most of ActiveJDBC, since as I saw, most of the code is written to compensate for some java flaws that kotlin "fixed".
I can't thank you guys enough for this piece of software. I will organize myself to make the project public. I can't afford responsabilities for now, so I think it will take a while, mostly because the library is basically only for internal use, so we will need to elaborate and check some APIs and functionalities before release
My best regards to you.

@LouizFC glad you are making progress. Too bad you will release the fork.
In any case, keep us posted on your progress.

@ipolevoy It's me yet again.
I was searching for the issues on this rep, and I found the following quote in this (https://github.com/javalite/activejdbc/issues/197)

this is a situation I wanted to avoid and a reason for instrumentation. API should be concise, simple and intuitive.
Something like this:
List people = Model.where(Person.class, "name = 'John'");
is similar to Hibernate Session.
However, for some people instrumentation is annoying. I use Intellij Idea, so do not haev issues with Eclipse, and developing ActibveJDBC in Ideal is very smooth.
I will ask other devs to look into your proposal

I found the syntax very similar to the aproach that we are doing, but we use Kotlin Inline Functions and Retified Type Parameters to hide the "Person.class" parameter.
I will study activejdbc a bit more and see if I can make a alternative "kotlin wrapper" so I can contribute to this project, instead of making my own.
Thanks again. Best regards

great if you can contribute a Kotlin wrapper without forking. In any case, I have not heard complaints about instrumentation for a long time. Apparently, the fluent API benefit outweighs dealing with instrumentation.

Instrumentation, when programming in java, is really not a problem to us anymore. It really easy to setup and use.
The problem is that it doesnt work on Kotlin classes, it requires Java classes to work. Kotlin and Java are very interoperable, but, dont take it personal, the problem is not Instrumentation, which works great, the problem is that our project manager wants to avoid mixing code in the same codebase.

oh, project managers making technical decisions, how awesome :(

@LouizFC Can you please share your solution to instrumenting Kotlin classes?

@sannysoft
Short answer:
I haven't solved this problem. Sorry.
Long Answer:
Unfortunately I ended up abandoning the idea due to time constraints on the project mentioned in this issue.
We solved our problem, but the result is no way near a "framework", it's more of a pattern for delegating jooq query builder to a Map interface, but it is to specific to be put to general use.
I really wanted to use activejdbc for said project, but we needed to drop it since we didn't have time to fully test a solution that works in pure kotlin. Other "stronger" reason is that our actual solution was developed in less than a day, we brainstormed the class and the implementation ended up being simpler than we thought since we all were already familiar with jOOq.
What we did with ActiveJDBC:
We ended making two "conceptual" classes, but they didn't pass the "concept" phase because we decided to not waste any more time on that, since we already implemented something that solved or problem at this point.
Context
We understood the following:
All static methods of Model follow a pattern, that is calling "modelClass()" and either using it to call "metaModelOf(class)" or passing it to ModelDelegate.
So in both approaches, we literaly copied all static methods from Model, that's basically what instrumentation does.
Extension methods/functions:
In this prototype, we created the following pattern:
// ModelExtensions.kt

...
inline fun <reified T:Model> T.findAll():LazyList<T> {
    return LazyList(null, metaModelOf(T::class.java))
}

inline fun <reified T:Model> T.findById(id: Any):LazyList<T> {
        if (id == null) { return null; }
        val metaModel = metaModelOf(T::class.java)
        val list = LazyList<T>(metaModel.getIdName() + " = ?", metaModel, id).limit(1)
        return list.isEmpty() ? null : list.get(0);
}
...

We pass the class as a reified type, that way we can access " T " as an instance of Class<T extends Model>. This looked cool, but we dropped it soon as we saw this.
Companion object
In this approach we created a "ModelCompanion" abstract class with a abstract method called "modelClass()" that returned the type.
This is the class.
abstract class ModelCompanion<T:Model> {

    abstract fun modelClass():Class<T>

   ...

    fun findAll(): LazyList<T> {  ...  }

    fun findById(id: Any): T {  ...  }

    ...
}

and this is usage:
class People : Model() {
    companion object : ModelCompanion<People>() {
        override fun modelClass(): Class<People> {
            return People::class.java
        }
    }
}

This was a more realistic approach, but does this work?  We ended up not even running any of this code.
So I really don't know. I remember that we dropped this proposal as soon as someone said "but will annotations work?".
Sorry for this gigantic answer. I would be very pleased if someone picked from where I started, but until then I will just use java classes.

@LouizFC Thanks a lot for a detailed answer!


[WIP] docs: Add more explanations about the type system

I have only added an explanation about overloading so for but I will try to add in more over the course of the week.
Note that while I try to explain it in an authoritative manner I do not know if 'intersection inference' is sound as it currently is nor is it certain that this implementation of overloading will stick around (implicit arguments may supersede it). In any case having an actual explanation is needed to be able to judge it properly.

Fleshed out the section on HKT a bit but I started to feel that a proper explanation would get to long and is in any case better explained in any number of other tutorials.
Are there any other topics I should expand on in addition to the current changes?

Merging this, might as well make a new PR later if there is more to be added.

Sounds good :)


meta: Remove black GH action

Since we moved to pre-commit in #1315 anyway, we don't need this flaky black stuff to run on push.
The lint step checks with black --check either way.

I am also for removing it.
One thing we might keep in mind: people submitting PRs maybe do not have pre-commit installed so can submit horribly formatted code.

I wanted to bring this up in the pre-commit PR but anyway, let's do it now.
We already have make format here, now that we added pre-commit, that's redundant.
I initially thought why add a new tool when we can just run make format in a simple git pre-commit hook?
But anyway, now that we added it, we can just change the Makefile and make users setup pre-commit in CONTRIBUTING.md.


[#9597] add inspector api for application stat

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.minwoo.jung seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Example: String (alloc)

It would be great to see an example using String.
From what I tested, this requires pulling alloc and add extra requirements such as providing a #[alloc_error_handler].

I'm not too enthusiastic about showing people alloc as the first place to go if they need strings because using an allocator on a chip with such limited memory as AVRs is asking for trouble.  I'm not against an alloc example, but for strings I'd prefer showing the use of heapless::String instead.

I have no strong opinion on alloc and keeping it the simplest as possible is the way to go.
It would be valuable to have an option to format strings containing floating numbers and allow use cases such as described in #303

Note for the examples:

as you pointed out, there was a mix of ufmt versions, so I had to pin it to 0.1.2 with ufmt = "=0.1.2"
I kept running into issues due to not building/running using --release so that's probably a note to add to the example

I can provide PRs with example later on unless you want to write and test them yourself. With the information above, those are trivial.

I am happy to take a PR from you :)

I kept running into issues due to not building/running using --release so that's probably a note to add to the example

Even with this profile?
https://github.com/Rahix/avr-hal/blob/189c6c6bb4f713c6b1f7503a9f80e954c8c512bf/Cargo.toml#L1-L4
If yes, that's something we need to look into...

yes, even with the profile you mentioned.
I am using:
[profile.dev]
panic = "abort"
lto = true
opt-level = 3
debug = false
debug-assertions = false
overflow-checks = false

You must have the 2 last ones so the following is also ok:
[profile.dev]
panic = "abort"
lto = true
opt-level = "s"
debug-assertions = false
overflow-checks = false

Okay, can you paste the errors you get without them?  I have a feeling I know where this is going...

Sure:
error: linking with `avr-gcc` failed: exit status: 1
  |
  = note: "avr-gcc" "-mmcu=atmega2560" "-Wl,--as-needed" "/Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/atmega2560_rust-894c3d87d900c698.ufmt_float-e8898a1a78825d09.ufmt_float.147f4e7a-cgu.0.rcgu.o.rcgu.o" "-Wl,--as-needed" "-L" "/Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps" "-L" "/Users/Shared/projects/atmega2560-rust/target/debug/deps" "-L" "/Users/will/.rustup/toolchains/nightly-2022-07-10-x86_64-apple-darwin/lib/rustlib/avr-atmega2560/lib" "-Wl,--start-group" "-Wl,--end-group" "-Wl,-Bstatic" "/Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/libcompiler_builtins-e47d6239837e9dec.rlib" "-Wl,-Bdynamic" "-lgcc" "-Wl,-znoexecstack" "-L" "/Users/will/.rustup/toolchains/nightly-2022-07-10-x86_64-apple-darwin/lib/rustlib/avr-atmega2560/lib" "-o" "/Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/atmega2560_rust-894c3d87d900c698.elf" "-Wl,--gc-sections" "-no-pie" "-Wl,-O1"
  = note: /usr/local/opt/avr-binutils/bin/avr-ld: /Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/libcompiler_builtins-e47d6239837e9dec.rlib(compiler_builtins-e47d6239837e9dec.compiler_builtins.2cc92255-cgu.5.rcgu.o): in function `compiler_builtins::float::mul::__mulsf3':
          compiler_builtins.2cc92255-cgu.5:(.text._ZN17compiler_builtins5float3mul8__mulsf317he9402d28ed337402E+0x67c): undefined reference to `core::panicking::panic'
          /usr/local/opt/avr-binutils/bin/avr-ld: compiler_builtins.2cc92255-cgu.5:(.text._ZN17compiler_builtins5float3mul8__mulsf317he9402d28ed337402E+0x690): undefined reference to `core::panicking::panic'
          /usr/local/opt/avr-binutils/bin/avr-ld: compiler_builtins.2cc92255-cgu.5:(.text._ZN17compiler_builtins5float3mul8__mulsf317he9402d28ed337402E+0x6a4): undefined reference to `core::panicking::panic'
          /usr/local/opt/avr-binutils/bin/avr-ld: /Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/libcompiler_builtins-e47d6239837e9dec.rlib(compiler_builtins-e47d6239837e9dec.compiler_builtins.2cc92255-cgu.9.rcgu.o): in function `compiler_builtins::float::conv::int_to_float::u32_to_f32_bits':
          compiler_builtins.2cc92255-cgu.9:(.text._ZN17compiler_builtins5float4conv12int_to_float15u32_to_f32_bits17h5bcee1c27f7e320bE+0x210): undefined reference to `core::panicking::panic'
          /usr/local/opt/avr-binutils/bin/avr-ld: /Users/Shared/projects/atmega2560-rust/target/avr-atmega2560/debug/deps/libcompiler_builtins-e47d6239837e9dec.rlib(compiler_builtins-e47d6239837e9dec.compiler_builtins.2cc92255-cgu.11.rcgu.o): in function `<f32 as compiler_builtins::float::Float>::normalize':
          compiler_builtins.2cc92255-cgu.11:(.text._ZN55_$LT$f32$u20$as$u20$compiler_builtins..float..Float$GT$9normalize17h6a79aa161203fd38E+0x184): undefined reference to `core::panicking::panic'
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

warning: `atmega2560-rust` (bin "atmega2560-rust") generated 1 warning
error: could not compile `atmega2560-rust` due to previous error; 1 warning emitted

Yeah, that's what I was expecting... See https://github.com/rust-lang/compiler-builtins/issues/347#issuecomment-706403824 for more context.

if you want use alloc::string::String, you need provide gloabl-allocater. you can write one from scratch. or use a exist code to write youself.  suggest using allocator for arm , the source code is very litter, and it also providing helpful samples.  the thing only needed is  migrating the alloc-cortex-m to avr. it is easy, you only need: replace "cortex_m::interrupt::free" with "avr_device::interrupt::free", and replace "cortex_m::interrupt::Mutex" with "avr_device::interrupt::Mutex" in the alloc-cortex-m source code.

#308 also talks about this.


[NSE-609] Complete to_date expression support

In spark, to_date(string [, fmt]) is used to parse a string to DateType according to given format or default format.
There is no dedicated expression for to_date in vanilla spark.

If fmt is not given, spark will cast string to DateType by corresponding cast expression, which is already supported in gazelle.
If fmt is given, spark will firstly use GetTimestamp expression to get timestamp (TimestampType) from the string, then cast the TimestampType to DateType. For this case, we proposed this patch to support it. Currently, only "yyyy-MM-dd" format is supported, otherwise, it will fallback to vanilla spark's execution path.

A unit test failure needs to be fixed.


support nginx-mode with crossplane

Thank you. This doesn't currently work reliably because crossplane doesn't support stdin properly. I'll send a pull request to crossplane to fix it.

It's quite complex because the crossplane formatter uses a parser that visits include files. This means that even if the formatted file comes from stdin, it needs to have a fake filename used to resolve the includes. And those included files need to exist. I don't have time to look more deeply into it right now, but I can try again later.

Basically, for formatting purposes, the nginx conf file should always be read from stdin. (Even if we're formatting an existing file, because we may not have saved the file in Emacs, so the latest buffer contents need to be sent from the Emacs buffer to crossplane's stdin. It's simpler and more reliable to always do it via stdin, even if we have saved the file in Emacs just before formatting.)
Then there's the question of resolving includes. I hope we can change crossplane so it doesn't visit includes when formatting a file. If we can't do that, then Emacs needs to give crossplane a fake filename for stdin (some formatters have this command line option, e.g. prettier --stdin-filepath). Crossplane would then use this filename (well, its directory part) to resolve includes. The trouble is, it's possible to create a temp buffer in Emacs with no filename, put that buffer into nginx-mode, and then call format-all-buffer. Then Emacs can't even generate any fake filename for crossplane to use. We could look at the default-directory of the temp buffer, but that's very unreliable because people don't usually intend to create a temp buffer in any particular directory, so they are usually not aware that the default-directory is being used for anything.

My current temporary solution is wrapper via shell script  (not works in Windows) to support stdin as input.
file script:  /usr/local/bin/nginx_format.sh
#!/bin/sh
tmp=$(mktemp)
cat - > $tmp
crossplane format $tmp
rm -f $tmp

and define formatter for nginx-mode as
(define-format-all-formatter crossplane
  (:executable "/usr/local/bin/nginx_format.sh")
  (:install (macos "pip install crossplane"))
  (:modes nginx-mode)
  (:format (format-all--buffer-easy executable)))

It's great that you got it to work for yourself with a tempfile!
Since it's open source, let's send them a pull request to fix it at the source though. That will make life easier for every editor plugin that uses it to format nginx conf files. Do you know Python?
The code for the crossplane format subcommand is here: is here: https://github.com/nginxinc/crossplane/blob/master/crossplane/formatter.py So it's extremely simple. It calls parse() to do all the difficult stuff.
parse() is defined here: https://github.com/nginxinc/crossplane/blob/master/crossplane/parser.py So it keeps a list, includes, of files to process. First the list has only one file. That's the file from the command line. It parses that file using _parse(). But if the conf file include other files, it adds those files to the includes list and parses them also:
for fname in fnames:
    # the included set keeps files from being parsed twice
    # TODO: handle files included from multiple contexts
    if fname not in included:
        included[fname] = len(includes)
        includes.append((fname, ctx))

We should probably make that part optional. So that it does includes.append((fname, ctx)) only when the subcommand is not crossplane format. This could probably be done by adding a boolean argument to parse() to disable include processing.


Fixes rounding bugs that broke all color imports, optimize generated code significantly

Thank you

👍 Tried this branch and it works great. Gets my approval

@vegerot No thank you! 😁 I'll add you to the contributors list 👍
Doesn't seem to break anything, so approved! Appreciate you handling the chores like upping the deps, keep that dependabot at bay 😂

@all-contributors please add @vegerot for code, bug


Add UI and controller to show notification in HomeView

This looks... stupid? I guess.

What does that dot at the bottom do?

Before:

After:

Try squashing next time though


Behaviour in Production environment

Hi everyone!
I'm considering using this library in a production environment for my app and would love to hear about any experiences with it under heavier loads, beyond testing conditions. Any insights would be greatly appreciated! I'm hoping to use this solution to avoid paying $500+ per month for chat services.
Thank you :)
P.S. I know this library was designed for prototyping, but I’m keen to hear about real-world experiences.

hello! I will be deprecating this library soon as creating a single Firebase library for all different use cases people have proved to be very challenging. I will make this an example instead. The core of this library if you strip all customisations and stuff is like 200-300 lines of code so you can easily write it yourself and you will be in charge of your bill :)
some people mention that I read way to much here so it might prove costly in production.
currently I am focused on v2 of the flutter_chat_ui library and I am also in contact with authors of Riverpod, hopefully eventually we will have some nice alternative to $500+ services, but it is still in the works.

How exciting! Wishing you smooth coding ahead, and thank you for the library that has saved people millions of dollars! Keep up the great work!


add encoding table for Kanji

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

13 of 50 (26.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.01%) to 24.153%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/bitstream/encode.go
13
25
52.0%

encode.go
0
25
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
1754

Relevant Lines:
7262

💛  - Coveralls


IsLoading is not returned from useMutation

Describe the bug
There is no isLoading variable returned from useMutation. Also the status of the query does not return loading.
Your minimal, reproducible example
.
Steps to reproduce

Install
Use useMutation

Expected behavior
isLoading and status of 'loading' to be returned
How often does this bug happen?
Every time
Screenshots or Videos

Platform

OS: Mac OS Ventura 13.6

Tanstack Query adapter
react-query
TanStack Query version
v5.12.2
TypeScript version
v4.8.4
Additional context
No response

isPending doesn't work as expected for me while API call is in progress


Fix: header mobile cut off on left side

Description of change
Header on mobile was cut off on left side.
Btw this is my first PR to an open source project ever. Sorry in advance if I have done something completely wrong :)
Type of change
Choose a type of change, and delete any options that are not relevant.

Bug fix (a non-breaking change which fixes an issue)

How the change has been tested
Describe the tests that you ran to verify your changes.
Tested manually
Change checklist
Add an x to the boxes that are relevant to your changes, and delete any items that are not.

[x] My code follows the contribution guidelines for this project
[x] I have performed a self-review of my own code
[] I have commented my code, particularly in hard-to-understand areas
[] I have made corresponding changes to the documentation
[] I have added tests that prove my fix is effective or that my feature works
[] New and existing unit tests pass locally with my changes

Thanks for your contribution 😄 Could you attach a screen grab of what the cut off header looks like, many thanks.

Screenshot on a Huawei Mate 20 with 6,53 inch display.


feat(tower-plugin): create Endpoint for static ip in systemEndpoints

Codecov Report

Merging #315 (2d79814) into main (2d20c07) will increase coverage by 0.33%.
The diff coverage is 82.65%.

@@            Coverage Diff             @@
##             main     #315      +/-   ##
==========================================
+ Coverage   63.57%   63.90%   +0.33%
==========================================
  Files          41       41
  Lines        6912     6978      +66
==========================================
+ Hits         4394     4459      +65
+ Misses       2154     2148       -6
- Partials      364      371       +7

Impacted Files
Coverage Δ

plugin/tower/pkg/controller/endpoint/controller.go
81.46% <82.65%> (+2.53%)
:arrow_up:

pkg/agent/controller/policy/policy_controller.go
78.59% <0.00%> (-1.57%)
:arrow_down:

plugin/tower/pkg/controller/global/controller.go
86.75% <0.00%> (-1.29%)
:arrow_down:

pkg/agent/datapath/multiBridgeDatapath.go
64.11% <0.00%> (-0.75%)
:arrow_down:

pkg/controller/group/group_controller.go
70.39% <0.00%> (-0.55%)
:arrow_down:

plugin/tower/pkg/controller/policy/controller.go
81.45% <0.00%> (-0.46%)
:arrow_down:

pkg/agent/cniserver/server.go
0.00% <0.00%> (ø)


fix: Labeler action failing

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (580507d) 74.19% compared to head (71037aa) 74.19%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #685   +/-   ##
=======================================
  Coverage   74.19%   74.19%
=======================================
  Files          32       32
  Lines        2410     2410
=======================================
  Hits         1788     1788
  Misses        622      622

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

For some reason, it still says pull_request_target:

Try re-run it. If it does not work, I would just merge and then fix the possible issues (I bet none) in a follow up PR.

For some reason, it still says pull_request_target:

Try re-run it. If it does not work, I would just merge and then fix the possible issues (I bet none) in a follow up PR.

It seems that it's duplicated for some reason, it should be fine from now on:

Thanks for the help @germa89 🙂

@ninad-kamat can you merge this PR to solve the labeler issues? The duplicated jobs should not appear after merging


Mojibake in metadata

Prerequisites

[X] Did you read FAQ section?
[X] Did you test with the latest releases or commit ?

Description
On some (not all) artworks, title and tags are different and gibberish compared to opening Pixiv page in browser. This is on Linux and locale en_US.utf8, and independent of Pixiv user interface language (tested English and Japanese).
Steps to Reproduce

Download by image_id
77717834
Observe gibberish

Expected behavior:
Expected tags to match those on Pixiv page https://www.pixiv.net/en/artworks/77717834
Title = Nah-nah…
Tags = ペルソナ5, P5D, 高巻杏
Actual behavior:
Title = Nah-nahâ€¦
Tags = ãƒšãƒ«ã‚½ãƒŠ5, P5D, é«˜å·»æ??
Versions
20191106-beta3, git HEAD.

I don't have linux box, so I cannot really test it.
The code itself should be creating the file with utf8 encoding.
https://github.com/Nandaka/PixivUtil2/blob/master/PixivModel.py#L502

Same results testing on Windows. From the artist in question, from image_id 77076403 and onward tags are illegible, images older than that download with legible tags.

should be ok in latest commit (at least in windows)

Thanks! I can confirm it's fixed on Linux as well.


Refresh inserts wrong service IP

Hi,
Is there any particular reason for which at line 200 you are doing:
table.insert(addresses, node.Node.Address .. ":" .. node.Service.Port)
instead of
table.insert(addresses, node.Service.Address .. ":" .. node.Service.Port)
That will effectively add the Consul node address instead of the actual Service registration address ?
Thanks

@synologic Sorry, missed your question for some reason.
Yes, there is a reason for that.
balancer.set_current_peer() requires an IP address and hostnames do not make sense.
See https://github.com/openresty/lua-resty-core/blob/master/lib/ngx/balancer.md#set_current_peer
node.Node.Address stands for IP address.
node.Service.Address stands for hostname (unless your Consul registrations are not doing that and still setting to an IP).
In the latest commit I have added 3rd arg to  balancer.set_current_peer() to support SNI. This is not important for Go services on the backend but Java ones with the latest Dropwizard and default SNI enabled will not work otherwise.

In any case our setup is simple 1 node == 1 IP. In case you are doing something more specific, multiple IP addresses etc. it's all up to you. But we can change something here to make it in and useful for others.


What's the correct way of handling serverIQ stanzas?

Messages that originate in the server have the following format:
<iq xmlns="jabber:server" from="domain" to="jid@domain/resource" type="get" id="xmppping-aac87d21-79f4-4344-a161-53e52a1a1af2"><ping xmlns="urn:xmpp:ping"></ping></iq>

The xmlns attribute jabber:server gets converted to serverIQ here:
https://github.com/otalk/jxt-xmpp/blob/master/src/iq.js#L60
stanza.io only handles messages of type iq here:
https://github.com/otalk/stanza.io/blob/89c2be84121c239783bd93914d5c165ba4214070/lib/client.js#L117
Besides iq, if I listen to serverIQ, stanza correctly handles them, emits the iq:get:ping event and the ping plugin works correctly.
I feel like I'm missing something. Is stanza.io intentionally not listening to serverIQ stanzas? Is there a proper way of enabling these messages?
I can write up a PR if this is something that should work but doesn't.

This looks to be a server problem, as the message should contain the jabber:client namespace.


task383_matres_classification

According to @Palipoor:

task383_matres_classification was difficult for annotators to understand. I didn't understand it either!

Here are the actual feedback:

regarding instructions: The word "anchored" didn't click with me. The phrasing on the instructions sounds much more confusing than the task. Also, fix the line break issue after "verb separated with a"Most importantly, do I just type "yes" or "no"?Switching from one HIT that was "remove words of 7 letters" to this task is very confusing and overwhelming. They should be different batches.The time it takes to read the instructions and do the task is much longer when they are intermixed like this and end up being underpaid or make me want to return. I'm already over 13 minutes on this one!
regarding p examples: I definitely need more examples. Why isn't "invite" anchorable? It is a verb and it happened in the past because they decided to invite at last years (in the past) convention. Or is it only anchorable if it was "invited". This is really confusing!
regarding n examples: I liked that the first example was longer and the second shorter. But, I think we need a few more long examples where the word doesn't come at the end, which makes me want to skim.

They are right! This task is hard. I'll try to improve the definitions and the examples.

Same issue with tasks 456, 457, 458, and 459.
They have similar descriptions
.

@yeganehkordi if this still an issue or we should close it?

Sorry for being late. I created the PR, and I think it's not an issue anymore.