Charm doesn't respect --via for relations

Bug Description
When relating an app on a different model to Vault, especially when relating from an running in a K8's cluster, the egress IP address of requests may not match the IP address of the source. In k8s for example, the k8s pod where the request originated will have a different IP than the egress IP (usually that of the node). In this case I tried to use juju relate --via to express to Vault what IP range to whitelist in the relation. But the charm doesn't seem to understand/use this value.
To Reproduce
Similar to #243,

Create a controller with the ability to deploy to k8s and lxd.
Deploy Vault to lxd
Try to deploy an app to k8s and relate to Vault with --via <IP_ADDRESS>/8
Observe that the app returns an error (see logs below)

Environment
This was consistently replicated locally as described above.
$ microk8s version
MicroK8s v1.28.10 revision 6829

snap info microk8s
tracking:     1.28-strict/stable

juju version
3.5.2-genericlinux-amd64

App         Version  Status  Scale  Charm       Channel      Rev  Exposed  Message
vault                active      1  vault       1.15/stable  353  yes

Relevant log output
"msg":"unable to login to approle auth method","error":"unable to log in to auth method: unable to log in with app role auth: Error making API request.\n\nURL: PUT https://<IP_ADDRESS>:8200/v1/auth/approle/login\nCode: 400. Errors:\n\n* source address \"<IP_ADDRESS>\" unauthorized through CIDR restrictions on the secret ID"}

After investigating further, I see the charm lib allows us to pass the egress_subnet in the data bag which is what we were doing but doesn't work well for a K8s -> machine setup. I can change our charm to accept an egress subnet via config and that would resolve this.

The issue was with the egress_subnet being passed by the requirer in the relation.
The lib now allows passing more than one address as a list, which should allow the requirer to cover every use case.
For the requirer to pass the address that is specified using --via the requirer charm should pass the list in self.model.get_binding(relation).network.egress_subnets][0].subnet instead of self.model.get_binding(relation).network.interfaces[0].subnet.


doesn't show full trace

I don't see any app code, just library code:

the trace can't capture what application code caused this?

   └─ 12: CHECK_WALLET_IS_MULTISIG

20:33:54.194 [error] [LocalstackCLI]: Seeding localstack failed
└─ app: company
TypeError: Invalid URL
    at new URL (node:internal/url:796:36)
    at parseUrl (/Users/alex.mills/codes/magna/web/node_modules/@smithy/url-parser/dist-cjs/index.js:29:21)
    at toEndpointV1 (/Users/alex.mills/codes/magna/web/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js:112:41)
    at customEndpointProvider (/Users/alex.mills/codes/magna/web/node_modules/@smithy/middleware-endpoint/dist-cjs/index.js:232:65)

> nx run company:"graphql:generate-client"  [existing outputs match the cache, left as is]

[STARTED] Parse Configuration


Event target is set to DocumentFragment instead of peer connection itself

We started to use adapter in our calls and faced an issue with Edge where we would get a DocumentFragment as a target for onNegotiationNeeded event. After digging into adapter's logic we discovered that rtcpeerconnection-shim does this explicitly https://github.com/otalk/rtcpeerconnection-shim/blob/master/rtcpeerconnection.js#L41.
We were wondering if there are reasons for such a thing?
P.S. we use peer connection from event to check the current state (signalingState, iceConnectionState) and then create an offer.
Thanks!

the reason was probably "this mimicks chrome behaviour" back in ... 2015.
Do you have a jsfiddle or code snippet showing the difference in behaviour?


fix: change docs links to new structure

These links should be redirected for now.
Keeping this PR in draft until Docs are finalized.
This PR...
Changes

Fixes

How to test it

screenshots

Checklist

[ ] tested locally
[ ] added new dependencies
[ ] updated the docs
[ ] added a test

@aabedraba, I'm closing this PR, as it's rather obsolete after https://github.com/kubeshop/testkube-dashboard/pull/662.


Adding 3 new helpful links

Adding 2 new Beginner Friendly Projects

Tsuru
Freedomotic

Adding 1 new Projects accepting Hacktoberfest First Time Contributors

Showndarya/Hacktoberfest

This is great :)

Tks =)


chore: create justfile for running commands for v1 and v2 migrations

Type of Change

[ ] Bugfix
[ ] New feature
[x] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

created justfile for running commands for v1 and v2 migrations
Get started by installing just package.
cargo install just
then run just --list to get a list of supported just commands.
To run v1 migrations run:
just migrate_v1
To run v2 migrations run:
just migrate_v2
Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Ran just --list
Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible

Can you also make changes to the CI file? To run v1 and v2 migrations separately in a separate CI?


Command line options

Update documentation: Command-line options

Sure. 😊 Have a nice one.
Closing...


How to set custom error message with addStickyValidationError()?

When the form process the error it shows the following sticky message:
"Unknown validation error"
Even if I put some value as third parameter in the addStickyValidationError call it doesn't change anything.
Any idea how to deal with this?
Thanks in advance
onError hook code:
onError: function(formType, err) {
            var self = this;

            if(err){
                if(err.reason){
                    if (err.reason.indexOf('User') > -1){
                        self.addStickyValidationError('email', 'notFound');
                    }
                    else if (err.reason.indexOf('password') > -1){
                        self.addStickyValidationError('password', 'invalid');
                    }
                }

                AutoForm.validateForm(self.formId);
            }
        }

I just ran into this issue as well and managed to track down what is going on.
Let's say you have a snippet like this that you're using to notify that user that they're trying to create an account with a duplicate email:
AutoForm.hooks({
  insertUser: {
    onError: function (formType, error) {
      if (error.errorType && error.errorType === 'Meteor.Error') {
        console.log(error)
        if (error.reason.match(/exists/)) {
          AutoForm.addStickyValidationError(this.formId, 'email', 'duplicate');
        }
      }
    }
  }
});

Our error type is set to duplicate. Tracking down the way this is handled reveals that messageForError in SimpleSchema is eventually called. Here, we can see that it searches for the errorType in it's list of known types to try and resolve it to a message. If it cannot find one that matches, this gets called:
  if (!message) {
    return "Unknown validation error";
  }

The documentation mentions that we can create custom error types here.
Now, we see that adding this message to our Schema should solve our problem (and it does!):
Schema = {};
Schema.user = new SimpleSchema({
    email: {
        type: String,
        optional: false
    },
    password: {
        type: String,
        optional: false
    }
});

Schema.user.messages({
  "duplicate email": "You're trying to use an email that already exists."
})

It's not very clear that this is required from the auto-form documentation, so I will look into a fix.


Update website for 1.5 feature release

Verify website changes since last update (~6 months ago)
Current unshipped site has some issues to verify (contact Paul to learn more)
Make sure we don't have duplicate samples displayed

@matthidinger - can you help provide context to JP and Rahul about the Website work you've done in the past and what we need to do in order to ship schema v1.5


Change noMatchFound propType from string to node to be consistent with MU

noMatchFound prop is used as primaryText for Material UI ListItem component. Based on https://v0.material-ui.com/#/components/list, primaryText is a node

Codecov Report

Merging #187 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #187   +/-   ##
=======================================
  Coverage   37.55%   37.55%
=======================================
  Files           8        8
  Lines         221      221
=======================================
  Hits           83       83
  Misses        138      138

Impacted Files
Coverage Δ

src/types/selectField.types.js
21.73% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Add yarn steps for adding flow

yarn is mentioned for a lot of steps, but not for flow, this fixes that.

Thanks.


Backend server refactor

Created new branch
Handlers moved to own package. All URL request returns JSON and not using templates anymore, instead of mainHandler (main page).

is it useless in handlers:
w.Header().Set("Content-Type", "application/json")
?

is it useless in handlers: w.Header().Set("Content-Type", "application/json") ?

no it doesn`t. not all browsers as smart as chrome))


Feature: Dim background

Fixes #3
Added additional support for any color instead of just one.
Question: Should there be a flag to enable this particular feature or just check the nullability of resource value?

Potentially should be fixed in #45


Generic OAuth2 tokens provider declaration

Proposal
Add new TriggerAuthentification property like oAuth2token with target's clientID / resource / scope (based on various oauth integrations) with helpers for scalers developers.
Example TriggerAuthentification
- spec:
     podIdentity:
          source: azure-workload
     oAuth2token:
          source: podIdentity  # or hashiCorpVault, keycloakInstance etc
          targetResource: "xxxxxx" # resource to ask access token for

Example "helper" interface for scalers:
tokenProvider, err := NewOAuth2TokenProvider(config); // returns sthg like OAuthTokenProvider from azidentity, but generic

if err != nil {
    token, err := tokenProvider.GetValidToken(); // would request token / refresh if needed

    // here would go scaler specific token usage (Bearer auth via HTTP / use as password for MySQL / ....)
}

Use-Case
Based on trying to implement https://github.com/kedacore/keda/pull/4657.
Short-term JWT tokens are introduced in many resources now. There are lot of OIDC providers in current Kubernetes world (Kubernetes itself OIDC, two OIDC flows in AKS, Identity providers within EKS and GCK.... self managed Keycloacks, Hashicorp Vaults....).
If every scaler would have to implement each, there would be lot of garbage code with different quality and different configuration style. Just as in https://github.com/kedacore/keda/pull/4657 I have implemented OIDC only for AAD Workload Identity since it's only one I'm interested in (and only one I understand enough to be able to test it as "after hours job").
There is allways 3 parts of job:

obtain secrets to communicate with identity server (you need speicfic configuration for each provider)
obtain access token for target resource from identity server (you usually need only resourceId/clientId/applicationId of resource)
use access token - scaler's specific way

I think, there is opportunity to implement first 2 parts in some standardized way to be shared between scalers and then provide scalers mantainers simple interface to support multiple identity servers by one implementation with reusing same configuration for users.
Is this a feature you are interested in implementing yourself?
No
Anything else?
I'm able to provide some hands-on with implementation, but I'm not storng enough in GO to implement this whole by myself.
Also, there would be needed some triage before implementation (mainly to cross-check various identity providers requirements). Also, same as implementation itself, there would be need for some abstractions in test (some sort of parametrized test to test "all" identity providers?)

I think that this could be a good addition, WDYT @kedacore/keda-core-contributors ?

Yeah, I like it too.

is there any update on this one?

Hi, me and a team at University of Toronto would like to work on this issue and contribute to its implementation. We're mostly comprised of computer science students, and this would be the first open source contribution for many of us. If there's any that has worked on this or is still working on this please let us know.

@JoshuaCuevasUofT hi, this is great! I am not aware of any work on this.
@kedacore/keda-maintainers wdyt?

Hi, I have some clarifying questions about this proposal's scope.
A) I wanted to clarify whether or not this proposal is only for Oauth2 tokens.
B) Including something like the property “oAuth2token” into the TriggerAuthentication passing clientID / resource / scope sounds good. It should be straightforward (though a little tedious) to create a dictionary that refers the resource (for example Microsoft AAD) to a certain JWKS url (for example https://login.microsoftonline.com/%s/discovery/keys). And the scope to some specifications.
The dictionary would then contain many functions like these, varying with IDP. And be inherited by every sub-scaler.
func WithAzureADOAuth(tenantID string, clientID string) RabbitOAuthConfig {
	return RabbitOAuthConfig{
		Enable:    true,
		ClientID:  clientID,
		ScopesKey: "roles",
		JwksURI:   fmt.Sprintf("https://login.microsoftonline.com/%s/discovery/keys", tenantID),
	}
}

C) When a scaler parses this information from the ScaledObject yaml, and a triggerauth yaml, the parse function seems to be unique for every scaler. 1) It would be hard to implement a new property in triggerauth and change every scaler’s parse function. 2) Is this necessary if app-to-app authentication between a scaler and some Oauth2 token provider should require the same information/parameters across all scalers (given the dictionary above)? It makes sense to add some inherited function for all sub-scalers to parse the new “oauth2token” property from triggerauthentication yaml. But I can’t find an example of that. If this makes sense, could you point to something I could take a look at?
Am I missing anything to this proposal?

Also @whyismynamerudy @VigneshNk and @kathy23980 are confirmed to be working with me on this issue over the school semester so tediousness shouldn't be too bad when split between 4 people. Again, apologies for the inconsistency. Depending on the scope, I think it's a fair timeline to say we should have this done within a month.

@zroubalik do you have any comments sir?

I'm not an expert with OIDC stuff, but maybe we could implement this as a new CRD to handle all the OIDC information as reference it int he TriggerAuthentication., I see this as a service that we could inject into the scalers during the creation, configured for the given OIDC.
In this case, the scaler would just need to adapt their logic to use the injected item to generate the tokens (we could use a pointer to know if it's configured or not, but maybe this is just an implementation detail).
I say about another service injected into the scalers, because I'm assuming that probably we won't be able to standarize all the OIDC provider. Sadly I'm quite sure that Azure/AWS/GCP include their **** flavour of the things, but maybe I'm wrong, making our lives easier xD.
This new CRD could allow us to have multiple "well known providers" with their own config and another generic one for generic OIDC providers. This is also the approach that Grafana does (but it's also true that they do more than just requesting a token).
But I fully agree that we need to standardize the process somehow, creating a mechanism to include OIDC support on scalers because nowadays almost any service can be protected behind an OIDC, and this could be extensible to almost all the scalers (except the cloud provider services)

+1 using the same approach as Grafana folks. They require client_id and client_secret to be provided for each type of OAuth provider. Also
auth_url = https://foo/auth
token_url = https://foo/token
api_url = https://foo/userinfo

seems to be common for all of them. Grafana also provides a simple way for authorization by running JMESPath queries over the json returned from /userinfo (api_url) endpoint. This part, together with the call to the /userinfo endpoint can be probably omitted, because all keda needs, is probably the jwt token and authN, but I am not OAuth expert.
Also not sure if the token refreshing logic is needed here or not. I guess it depends on the frequency of usage, maybe asking for a new token over and over again can be easier.
Maybe some code could be reused:

https://github.com/grafana/grafana/tree/44ecb26ea1e9bd1cbfd12317e52736d0085c9718/pkg/login/social/connectors
https://github.com/grafana/grafana/blob/44ecb26ea1e9bd1cbfd12317e52736d0085c9718/pkg/services/oauthtoken/oauth_token.go#L67
https://github.com/grafana/grafana/blob/44ecb26ea1e9bd1cbfd12317e52736d0085c9718/pkg/api/login_oauth.go#L49C22-L49C34
https://github.com/grafana/grafana/blob/44ecb26ea1e9bd1cbfd12317e52736d0085c9718/pkg/services/authn/authnimpl/service.go#L262


Create project structure

1- Create "Book Room" Button with Modal Trigger
2- Build Multi-Step Modal for Booking Process
3- Implement Date Selection Input (med logiken)
4- Fetch Available Times from API Based on Selected Date
5- Add Name and Email Inputs (med logik)
6- Populate Time Dropdown with API Data
7- Set Up Participant Dropdown Based on API Data
8- Display Thank You Message in Final Step
9- Add "Close" Button to Return to Challenges List
10- Enable Booking Modal Access from Both Homepage and Challenges Page -->

I think we have a good plan for what we need to do. Starting with the modals, to finnish with API services and buttons.


How to use bsf

Thanks all！
I can use ffmpeg to add sei information

ffmpeg  -i output.h264 -c:v copy -bsf:v h264_metadata=sei_user_data='086f3693-b7b3-4f2c-9653-21492feee5b8+qqqqq' xx.sei.h264

Does anyone know how to implement it in Python?  thanks！！！

have know,fixed


Provide the response body with unsucessful responses

This should help with debugging: etcinit/phabulous#27

Yep, looking at the code it seems I accidentally left in the spew.Dump call, which I was probably using for debugging.


[wip] implement static abstract checks

Motivation
Many of the checks to ensure that abstract! and interface! were being used correctly would only happen at runtime and were not checked statically. This moves many (although not all) of the relevant checks into Sorbet as static checks. However, some of them rely on subtlety that we don't yet check, and thus will remain as static checks.
Test plan
See included automated tests, including a new large test suite ported from the sorbet-runtime test suite.

I've got a corresponding pay-server PR, but this should get landed first, as the pay-server PR relies on incompatible_override in a few places.

Also, this lacks type compatibility checks: those require more extensive changes in the monorepo, so I'm going to land those separately.

Do I remember it right that the runtime used to implement type checks(though didn't check against RBIs because it never saw them), right?

It did some type checks (c.f. https://github.com/sorbet/sorbet/blob/master/gems/sorbet-runtime/test/types/interface_validation.rb#L147-L174 ) but it didn't always validate, and I believe that it would only run those type checks if there was an overrides in the sig, which meant that in practice plenty of methods slipped through the cracks.

@gdritter-stripe I'm concerned that https://github.com/sorbet/sorbet/pull/992/commits/cc0df0497518e034e117897e768c04146c47a82f is super adhock and other gems & interfaces would be affected in open-source. I don't know for sure, and you've played with this patch much more that I did. Do you share same concern or do you think we'll be fine?

It's definitely a hack, but I think we'll be fine. I've run this both in testing in this repo and as part of rbi generation in the monorepo, and it hasn't caused any problems in either while it has also solved problems in both. The fundamental issue being solved is of course that if you implement Enumerable (which a lot of things do) then you need to have a def each, and now that abstract checks actively match the argument structure even without an implementation decl, that each must name a block argument like Enumerable#each does, which in turn means a ton of things throughout the standard library and many other gems needed to have def each(&blk) instead.
I believe that in order for this to actively cause problems, there'd need to be a situation where taking &blk as a parameter to each is demonstrably the wrong thing to do, which I think would only ever cause explicit problems if something extends an interface or abstract class that has a method called each which has an explicitly does not take a block argument, but if that has happens, then the author of the class is already using Sorbet and can simply fix the generated type.
The other alternatives I can think of off the top of my head are 1. always include an override(allow_incompatible: true) in these examples or 2. split the bad abstract error for &blk and making that explicitly only available in # typed: strict, so that most RBIs can omit the &blk on each and Sorbet won't raise an incompatible implementation error. My instinct was that it was better to keep the type-system consistent and that the always-provide-a-&blk-to-each hack wouldn't cause problems in practice, but if you feel like one of the other options is better I'm happy to go back and change it (which would take very little work to do.)

I've got a corresponding pay-server PR, but this should get landed first, as the pay-server PR relies on incompatible_override in a few places.

I no longer believe this true

This still needs to be landed first—the problem is that this changes the semantics of that syntax, so without this PR, we'd see errors because of incompatible signatures (because Sorbet wasn't respecting allow_incompatible: true except at runtime.)


Adding a way to reset the admin password via CLI without any user interaction

[x] I have read and understand the pull request rules.

Description
This PR aims to provide a way to set the user password programatically which is useful when provisioning Uptime Kuma servers.
Type of change
New feature
Checklist

[x] My code follows the style guidelines of this project
[x] I ran ESLint and other linters for modified files
[x] I have performed a self-review of my own code and tested it
[x] I have commented my code, particularly in hard-to-understand areas
(including JSDoc for methods)
[x] My changes generate no new warnings

Screenshots (text-version)
$ docker exec -t -i uptimekuma-prod /bin/bash -c 'npm run reset-password -- --new_password=secret'

><EMAIL_ADDRESS>reset-password
> node extra/reset-password.js --new_password=secret

== Uptime Kuma Reset Password Tool ==
Connecting the database
2023-10-18T15:58:07+00:00 [DB] INFO: Data Dir: ./data/
Found user: admin
Using password from argument
Password reset successfully.
2023-10-18T15:58:07+00:00 [DB] INFO: Closing the database
2023-10-18T15:58:09+00:00 [DB] INFO: SQLite closed
Finished.

Can it be done without docker command?

Yes, I gave the docker exec version because it included the non-Docker version.
But you can use npm run reset-password -- --new_password=secret.

Is it actually ok to do this? It is because I saw many other commands like passwd, mysql or ssh are providing interactive methods to input the password only, so I followed them somehow.

Prefer dash style for arguments --new-password

There will be a slight decrease in security as the password will be stored in bash history. But being optional I think it's acceptable.

Leaking into the shell history can be avoided by:

prefixing command with a space (not all shell supports this)
npm run reset-password -- --new_password="$(cat /path/to/file_containing_password)"

(But it's still shown in list of processus)
I could add a way to read password input using env variable but I rather not if it means adding another npm package. Also: securely passing the secret from Docker host to the container via docker exec adds another layer of arguments.
Maybe reading it from a file?
Idea: the entrypoint could check for a file at a specific path and trigger reset-password using the file's content automatically on startup and/or on USR1 signal?

Leaking into the shell history can be avoided by:
* prefixing command with a space (not all shell supports this)

* `npm run reset-password -- --new_password="$(cat /path/to/file_containing_password)"`

(But it's still shown in list of processus)
I could add a way to read password input using env variable but I rather not if it means adding another npm package. Also: securely passing the secret from Docker host to the container via docker exec adds another layer of arguments.
Maybe reading it from a file?
Idea: the entrypoint could check for a file at a specific path and trigger reset-password using the file's content automatically on startup and/or on USR1 signal?

Maybe a bit complicated.
I am thinking, maybe we can just add a warning message to show that the plain text password could possibly be stored into their shell's history.

@C-Duv can u please update your branch to resolve workflow issue!

I am thinking, maybe we can just add a warning message to show that the plain text password could possibly be stored into their shell's history.

I just added a warning (copied the console.warn() I've found elsewhere on the project).

@C-Duv can u please update your branch to resolve workflow issue!

Done.

Do you need anything else for this PR to be merged?

its in the 2.1.0 milestone so just wait as release of 2.0.0 is near 😄

Found and fixed a bug that do not accept a number password.

Automatically parsing datatypes for arguments is really "sounds like a good idea but actually very annoying"


published version is infinitely cached in SSR or dev environments

Describe the issue you're facing
Problems with API requests for published stories delivering stale content have been reported for quite a while. An example would be #55. They also get reported every several weeks in the Discord - not only regarding Nuxt SDK, but e.g. also by nextjs users.
It is reproducable with Storyblok's official Quickstart Demo Stackblitz (https://stackblitz.com/edit/nuxt-3-quickstart-demo). Using version: 'draft', everything works fine, but if it is changed to published, no backend changes will be reflected on reload. This is in dev and SSR build environments.
I believe the culprit lies with storyblok-js-client, specifically this if-statement:
https://github.com/storyblok/storyblok-js-client/blob/3592e384637659112d710fe59fe216130dab0350/src/index.ts#L632
          if (
            params.version === 'draft' &&
            cacheVersions[params.token] != response.data.cv
          ) {
            await this.flushCache()
          }

I believe this means, a cache-flush is only performed, if draft versions are requested. Otherwise i guess the response will stay in memory-cache forever.
I don't know the purpose of limiting the flush-behaviour to draft requests. If it is unwanted ot a bug, imho it should be removed.
Also notable: On the page https://www.storyblok.com/tp/optimize-your-caching-strategy-with-storyblok it is stated, that with any SDK using storyblok-js-client cache invalidation should be taken care of automatically, which seems to be the case for draft, but not published requests.
Reproduction
https://stackblitz.com/edit/nuxt-3-quickstart-demo
Steps to reproduce

change version: 'draft' to version: 'published' in index.vue.
create a new demo-space and set the Real Path of home to / (as described in the tutorial)
change a text in the editor and publish it.
reload the stackblitz-window. the stale content will remain, which is not happening, with version: 'draft'.

System Info
------------------------------
- Operating System: Linux
- Node Version:     v18.20.3
- Nuxt Version:     3.10.2
- CLI Version:      3.10.0
- Nitro Version:    2.8.1
- Package Manager<EMAIL_ADDRESS>- Builder:          -
- User Config:      css, modules
- Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS>- Build Modules:    -
------------------------------

Used Package Manager
npm
Error logs (Optional)
No response
Validations

[X] Follow our Code of Conduct

I see, there is already an upsteam-issue regarding this. I also commented there:
https://github.com/storyblok/storyblok-js-client/issues/823

I have been annoyed with this problem for more than half a year. I think this should really be fixed. Currently you always have to perform a new deployment/server restart to make the published changes visible on the server side.

Hi @codeflorist we just merged https://github.com/storyblok/storyblok-js-client/pull/847, this potentially solves this issue, could you test it when the nuxt module version bump is propagated?

Hey @alvarosabu, this looks good now. 👍 Many thanks and have a nice day!


[ruby] Enable ImplicitRequirePass if zeitwerk is Detected

Uses Gemsfile.lock which is parsed (if present) in the DependencyPass to determine if implicit imports are to be enabled.

Seems there are additional semantics I can follow to help hone this down: https://github.com/fxn/zeitwerk?tab=readme-ov-file#file-structure


Consider version tagging repo

Hiya! I noticed that kit is using rewrite-clj.
Rewrite-clj runs the tests of libraries that use it against rewrite-clj main branch.
This helps me to discover when a change I make to rewrite-clj might break some existing lib that uses it.
To stay sane, I only run against the latest released version of libs.
If you were to start version tagging the kit GitHub repo when releasing kit, I could add it to the rewrite-clj suite. I think kit-generator is the lib of interest for rewrite-clj, ya?
If this is not interesting to you, that's totally fine too. Lemme know.

Hi, I think that'd be a good idea. We could set up bb script to tag as part of the deploy.

Agreed, that sounds helpful for many reasons. Since we have multiple versions and deploys in a single repo, we could do something such as the tauri project does and tag the version with the package name + version, e.g. kit-generator 0.1.7.

Cool! Related, but could be treated as a separate issue, is including scm info in the poms of released jars. This allows tools like clojars and cljdoc to point back the sources (and articles) for a release.

That's a good call as well, and I think makes sense to keep it all part of the same issue.

Agreed, that sounds helpful for many reasons. Since we have multiple versions and deploys in a single repo, we could do something such as the tauri project does and tag the version with the package name + version, e.g. kit-generator 0.1.7.

Do we actually have a use case where we need to have different version for kit libraries? I don't see a use case where someone will update one library but not the other. Since they are all used together in a kit project, it may as well make sense for all of them to have the same version and the same tag.


failed to istio canary upgrade from istio 1.6 to istio 1.8

Bug description
use istio-1.8.1/bin/istioctl operator init --revision 1-8-1 failed to upgrade istio 1.6 to istio 1.8
Affected product area (please put an X in all that apply)
[x] Upgrade
Expected behavior
upgrade success
Steps to reproduce the bug

istio-1.6.0/bin/istioctl operator init
kubectl apply -f 1-6-0.yaml -n istio-system
istio-1.8.1/bin/istioctl operator init --revision 1-8-1
kubectl apply -f 1-8-1.yaml -n istio-system

Version (include the output of istioctl version --remote and kubectl version --short and helm version --short if you used Helm)

istio-1.6.0
istio-1.8.1

How was Istio installed?
istio operator
Environment where the bug was observed (cloud vendor, OS, etc)
centos 7, kubernetes1.17.2
Additionally, please consider running istioctl bug-report and attach the generated cluster-state tarball to this issue.
Refer cluster state archive for more details.
[root@mesh-dev-10-20-1-180 bin]# kubectl get rs -n istio-operator
NAME                              DESIRED   CURRENT   READY   AGE
istio-operator-1-8-1-5dddff4796   1         1         1       4m33s
istio-operator-58f98cd489         1         1         1       6m10s
[root@mesh-dev-10-20-1-180 bin]#
[root@mesh-dev-10-20-1-180 bin]# kubectl logs -f istio-operator-1-8-1-5dddff4796-gnlxx  -n istio-operator
2021-03-05T03:46:56.933466Z	info	ControlZ available at <IP_ADDRESS>:9876
2021-03-05T03:46:56.933617Z	info	leader election cm: istio-operator-lock-1-8-1
2021-03-05T03:46:57.539370Z	info	Creating operator metrics exporter
2021-03-05T03:46:57.539456Z	info	Registering Components.
2021-03-05T03:46:57.539586Z	info	installer	Adding controller for IstioOperator.
2021-03-05T03:46:57.539700Z	info	installer	Controller added
2021-03-05T03:46:57.539734Z	info	Starting the Cmd.
2021-03-05T03:46:57.539986Z	info	klog	attempting to acquire leader lease  istio-operator/istio-operator-lock-1-8-1...[]
2021-03-05T03:46:57.549490Z	info	klog	successfully acquired lease istio-operator/istio-operator-lock-1-8-1[]
2021-03-05T03:46:59.765143Z	info	installer	Reconciling IstioOperator
2021-03-05T03:46:59.767765Z	info	installer	Ignoring IstioOperator CR iop-cluster180 with revision iop-1-6-0, since operator revision is 1-8-1.
2021-03-05T03:47:55.533161Z	info	installer	Reconciling IstioOperator
2021-03-05T03:47:55.537329Z	info	Adding finalizer istio-finalizer.install.istio.io to istio-system/iop-cluster180-1-8-1
2021-03-05T03:47:55.559990Z	info	installer	Could not add finalizer to iop-cluster180-1-8-1 due to conflict. Operation will be retried in next reconcile attempt.

i upgraded three times and two of them were successful, one of which showed the condition in the log above
https://github.com/istio/istio/blob/871fc3da9bc8545f3792bbcc49e99fe6c872fc1d/operator/pkg/controller/istiocontrolplane/istiocontrolplane_controller.go#L292

Upgrading across more than one minor version (e.g., 1.6.x to 1.8.x) in one step is not officially tested or recommended.

@xichengliudui So there might be some inconsistencies in the upgrade. can you please try upgrading from 1.6 > 1.7 > 1.8.

@shamsher31
see https://github.com/istio/istio/blob/release-1.6/operator/deploy/operator.yaml#L43
It seems that istio-operator(1.6.x) does not support the env (revision) field.
root@tanjunchen:~/istio/istio-1.6.0/bin# ./istioctl operator init --help
The init subcommand installs the Istio operator controller in the cluster.

Usage:
  istioctl operator init [flags]

Flags:
  -d, --charts string              Specify a path to a directory of charts and profiles
                                   (e.g. ~/Downloads/istio-1.5.0/install/kubernetes/operator)
                                   or release tar URL (e.g. https://github.com/istio/istio/releases/download/1.5.1/istio-1.5.1-linux.tar.gz).

      --dry-run                    Console/log output only, make no changes.
  -f, --filename string            Path to file containing IstioOperator custom resource
  -h, --help                       help for init
      --hub string                 The hub for the operator controller image (default "docker.io/istio")
      --operatorNamespace string   The namespace the operator controller is installed into (default "istio-operator")
      --tag string                 The tag for the operator controller image (default "1.6.0")

Global Flags:
      --context string          The name of the kubeconfig context to use
  -i, --istioNamespace string   Istio system namespace (default "istio-system")
  -c, --kubeconfig string       Kubernetes configuration file
  -n, --namespace string        Config namespace

istio-operator will listen to all iop events (create, update, delete). When there are two operator pod at the same time, (istio-operator-1.6.0) will listen to all iops, and istio-operator-1.8.0 should only listen to deployment env(revison) in iop revision, so there will be occasional upgrade success and occasional upgrade failure. right? Whoever grabs this iop event will perform the Reconciling IstioOperator operation.

@tanjunchen revision-based upgrades are not supported with operator 1.6. You must upgrade in-place to at least 1.7 for revision based upgrades to work with operator.

Closing for now, please reopen if you feel this issue needs further investigation.


Use subcrates

This is a long-waited architectural change that makes crossbeam use subcrates we've been developing so far: crossbeam-epoch, crossbeam-utils, and crossbeam-deque.
Closes #168 #157 #70 #166 #165 #159 #137 #116 #113 #112 #60 #37 #13.  If any of them seems still relevant to the new version, please leave a message here.
It contains a huge API breaking change, so I bumped the version to 0.4.0.  Before publishing a new version, I think we need to discuss how to organize this crate and how to document things, esp. those in the subcrates.  Maybe we need an RFC for making a consensus.

@stjepang The side-effect of visibility (e.g. crossbeam::bounded()) seems too big to my eyes.  How about merging this PR without incorporating crossbeam-channel, and then later making another PR for crossbeam-channel?

Yes, I'm okay with leaving crossbeam-channel out.


ensure function to test really exists

in case of a typo or mistake done by the test writer, non-existing
functions might generate false positives
example:
function check_input()
{
  if [ "$1" == "bad" ]; then
    return 1
  fi

  return 0
}

athena.test.assert_return.expects_fail check_ipnut bad

this was expecting the method to fail on input 'bad' but because of the
typo, any change on the check_input wasn't tested and so someone might
change the check_input behavior without getting a failed test
upside: this might save developers who accidentaly mistype a function or
forgets to refactor a test if a function was renamed
downside: this increases the runtime for assertions a bit

with 200 rounds of athena cli tests the average increase of timing is ~1.7%

ping


Update readme

I made a few changes to clarify and improve some of the English syntax in the readme. I hope this humble submission will help your work reach a broader audience.

very appreciated! I'll have a look and merge your changes tomorrow. Thanks!


Cant seem to auto-fill more than 2 fields.

Sorry this isnt strictly an 'issue' but im just using the package, and following this, I was able to get Name + Email auto-filled, the same as the guide, but then I added a third one, seen here:
var formModel = Umbraco.TypedContent(1275).GetPropertyValue<FormModel>("form");
                    var allValueFields = formModel.AllValueFields();

                    var field = allValueFields.FirstOrDefault(f => "name".Equals(f.Name, StringComparison.OrdinalIgnoreCase));
                    if(field != null && field.HasSubmittedValue == false)
                    {
                    field.SetSubmittedValue(userName, Model.Content);
                    }

                    field = allValueFields.FirstOrDefault(f => "email".Equals(f.Name, StringComparison.OrdinalIgnoreCase));
                    if(field != null && field.HasSubmittedValue == false)
                    {
                    field.SetSubmittedValue(userEmail, Model.Content);
                    }

                    var field = allValueFields.FirstOrDefault(f => "manager".Equals(f.manager, StringComparison.OrdinalIgnoreCase));
                    if(field != null && field.HasSubmittedValue == false)
                    {
                    field.SetSubmittedValue(userManager, Model.Content);
                    }

I also have in the Form content, a text-field, called Manager, where I have tried uppercase, lowercase, space with an extra word etc, but I keep receiving this error; pic here also
 var field = allValueFields.FirstOrDefault(f => "manager".Equals(f.manager, StringComparison.OrdinalIgnoreCase));
Line 81:                     if(field != null && field.HasSubmittedValue == false)
Line 82:                     {

Thanks in advance!
I have tried naming the field different things and changing the code but just cant seem to get it to go.

Hi... I see a few errors in your code.

You can't declare var field twice.
f does not have a manager property. You're looking for the Name property when you do that kind of comparison. That's why the name and email fields both work.


What does the [graphics] display token do?

The [graphics] display token is not documented:
https://kivy.org/doc/stable/api-kivy.config.html#module-kivy.config
I'm using a Raspberry Pi app which has the [graphics] display token set to -1
What does this token do, and what are the available settings for this token?

We have docs for the graphics token.
Can you post the part of the code for which you can't find some info in docs?


Redirect, Router.push() problem

Hi, guys! Can you help me?
I'm using the latest 2.0.0-beta.1 version. And I'm trying to use this section of README to implement a redirect.
My code is:
import Router from 'next/router'

export default () => (
    Router.push('/auth/signin')
)

And I'm getting error:
TypeError: _router2.default.push is not a function

Also, I've tried to use .replace with the same result.
Can you help me to understand is this a bug or I'm using it wrong?
Thank you!

i am workin with latest release of next.js but my router is not working, showing errorTypeError: _router2.default.push is not a function(). help me how to fix it , not getting how to fix with #480 issue

@manishbalyan can you make sure you're using next@beta instead of next in your project dependencies? You can check this in ./node_modules/next/package.json.

my version is next@latest

@manishbalyan try npm install next@beta, I believe the router api was added in v2.0.0 which is currently in beta.

thanks @timneutkens but i got new problem after update to beta Cannot read property 'Component' of undefined. any solution

Can you create a new issue for that with an example to reproduce? ❤


Fix Table Styling

Edit the CSS to style the tables properly.

It should preferably be full-width and scrollable in the event of overflow.

#7 Fix table styles

this has been resolved by @shreyaskaundinya .


Select hosting data location

For example, to store data on separate partition.

though not fixed yet, it's under development.


HNSWLib : trying to access markDelete fails

HNSWLib-node supports markDelete but it seems like the encapsulation of langchain forbids this use.
Then if I try to import directly HNSWLib-node in my node/typescript code, then I have a continuous error : The requested module 'hnswlib-node' does not provide an export named 'HierarchicalNSW' whatever method I tried for the importation.
Did you know this issue ? Is it possible to use the markDelete function with langchain ?
I checked that it uses the latest version so it should be possible but how ?
I tried different thinks like :
async function loadIndex(directory) {   const index = new HNSWLib('cosine', 1536);   index.readIndex(directory);   return index; }
and
const index = await loadIndex(dbDirectory(userEnv));
or even :
`async function loadHnswlib() {
const hnswlib = await import('hnswlib-node');
HierarchicalNSW = hnswlib.HierarchicalNSW;
}
loadHnswlib().then(() => {
const index = new HierarchicalNSW('cosine', 1536);
});`
But no success so far. That would be great to be able to suppress or edit elements in the index when some docs are obsoletes
Any ideas ?

Ok seems like we have to do : import hnswnode from 'hnswlib-node'; in order to get access to the library when it's encapsulated by LnagChain
From there the markDelete works fine.
However it seems like LangChain does not implement the allowReplaceDeleted parameter in readIndex, so the data is still written in the docstore.json even if it's marked as deleted.
That may bring a too big index and is an issue when adding new docs.
Is it possible to implement this parameter in the load method ?


Unselects all elements first when shift-clicking a node/edge

General information
Associated issues: #146
Checklist
Author:

[X] One or more reviewers have been assigned.
[ ] Automated tests have been included in this pull request, if possible, for the new feature(s) or bug fix.
[X] The associated GitHub issues are included (above).
[X] Notes have been included (below).

Reviewers:

[ ] All automated checks are passing (green check next to latest commit).
[ ] At least one reviewer has signed off on the pull request.  Reviewers have two business days to review the pull request, after which the author may merge in the pull request unilaterally.

Notes
This prevents multiple selection when clicking a node/edge while pressing one of these keys: SHIFT, CONTROL, COMMAND.
When a modifier+click event is detected, the previous selections is cleared so the currently clicked element is the only one that will be selected by Cytoscape.
Notice that Shift-clicking an already selected element will do nothing different here, so the clicked element can be unselected normally.

Great.
An alternative approach to keep in the back pocket, if needed in future:  Disable selection mutability generally.  On a tap of a node, temporarily enable selection mutability and select the node -- before setting selection mutability to disabled again.


White screen after sleep mode

I was running the demo project and I put the device in sleep mode and then turned it on, the webview contents disappeared and it showed only white screen

Try again. (b0d740b)


Output Bicep is invalid when using resources with '-' (dash) character in their name

When resources are defined with the dash character in their name, output bicep is invalid:

This results in azd provision failing because modules can not be loaded.
Unsure if the right approach here is to rewrite on manifest creation or enforce naming standards in resource naming (on build/run).

Actually, the Application Model explicitly allows hyphens (I now tried renaming to using underscores). So this is definitely a bug in the manifest generation (which should rewrite those hyphens or remove them, I guess).
 stderr: Unhandled exception. System.ArgumentException: Resource name 'sql_docgen' is invalid. Name must contain only ASCII letters, digits, and hyphens. (Parameter 'name')
   at Aspire.Hosting.ApplicationModel.ModelName.ValidateName(String target, String name) in /_/src/Aspire.Hosting/ApplicationModel/ModelName.cs:line 39
   at Aspire.Hosting.ApplicationModel.Resource..ctor(String name) in /_/src/Aspire.Hosting/ApplicationModel/Resource.cs:line 30
   at Aspire.Hosting.ApplicationModel.ContainerResource..ctor(String name, String entrypoint) in /_/src/Aspire.Hosting/ApplicationModel/ContainerResource.cs:line 11
   at Aspire.Hosting.ApplicationModel.SqlServerServerResource..ctor(String name, String password) in /_/src/Aspire.Hosting/SqlServer/SqlServerServerResource.cs:line 13
   at Aspire.Hosting.SqlServerBuilderExtensions.AddSqlServer(IDistributedApplicationBuilder builder, String name, String password, Nullable`1 port) in /_/src/Aspire.Hosting/SqlServer/SqlServerBuilderExtensions.cs:line 28

This is a bug in azd as Aspire resource names support hyphens (including in the manifest). If bicep doesn't then azd will have to encode/sanitize the names.

Hit this today as well...the module name rules are a-z A-Z 0-9 and _ and can't start with numeric digit
Move to azd?

Move to azd?

Yep I think so.

@rajeshkamal5050  FYI

@vhvb1989 do we still generate bicep's for it? with the new AzureBicepResource isn't Aspire.Hosting.Azure's resources are generating bicep in the Aspire layer itself?
cc @mitchdenny @davidfowl

azd creates main.bicep from all the bicep resources generated by Aspire.  This is a bug in azd prev4 :)

Fix merged for next azd release supporting Aspire preview4: https://github.com/Azure/azure-dev/pull/3516

@DamianEdwards , in case you want to close this issue.  You can try the fix using daily build


feat(typography): Updating main typography styles

#435
Also updated the stories for Heading and Paragraph so we can verify these updates

@orion-cengage Feel free to check this out there:
https://storybook-preview-654--upbeat-sinoussi-f675aa.netlify.app/?path=/story/paragraph--default
https://storybook-preview-654--upbeat-sinoussi-f675aa.netlify.app/?path=/story/heading--default

Codecov Report

Merging #654 (21750f2) into dev (366b25a) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##              dev     #654   +/-   ##
=======================================
  Coverage   89.21%   89.21%
=======================================
  Files         174      174
  Lines        4230     4230
  Branches     1403     1403
=======================================
  Hits         3774     3774
  Misses        232      232
  Partials      224      224

Impacted Files
Coverage Δ

...eact-magma-dom/src/components/Typography/index.tsx
91.04% <ø> (ø)

...s/react-magma-dom/src/theme/GlobalStyles/index.tsx
50.00% <ø> (ø)

packages/react-magma-dom/src/theme/magma.ts
100.00% <ø> (ø)

...es/charts/src/components/LineChart/magma-charts.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


⚠ Bofrost.ch has degraded performance

In b4682fa, Bofrost.ch (https://www.bofrost.ch) experienced degraded performance:

HTTP code: 200
Response time: 1827 ms

Resolved: Bofrost.ch performance has improved in 21d8372 after 7 minutes.


As an analyst, I want to obtain a list of the top ten populated cities in a country, so that I can use this information to aid in understanding the urban population distribution of a specified country.

Finished issue.


Is there a way to change the selected default color ?

Description
Hi,
I declared a new color in tailwind.config.js:

export const brand = {
  50: '#fdf2f6',
  100: '#fce7f0',
  200: '#fad0e2',
  300: '#f8a9c8',
  400: '#f274a4',
  500: '#e94b82',
  600: '#d82a5e',
  700: '#bb1b47',
  800: '#9b193a',
  900: '#811a34',
  950: '#4f081a',
};

And then used it in my app.config.js:

export default {
  primary: 'brand',
};

It works fine, but I just want to change the shade used in the palette. It's 500 for light and 400 for dark mode. But let's say I want to use 600 for light and 300 for dark.
Would that be possible ?
Thanks

Following


Data lost when moving between tabs when boarding an existing vessel

I start a new report for an existing vessel and then I add information to fields such as the vessel name and the captain. If I navigate to another pane and then navigate back - the data is lost.

 Raise new issues resulting from using/testing the apps

May be the same issue as https://github.com/WildAid/o-fish-ios/issues/305 and may be caused by an upgrade to Xcode 12


Interested in helping improving this project

I have just submitted a PR for jruby support and upgraded to latest vertx.
If you can share the known drawbacks or pointers to make this more compatible with rack changes etc, happy to fix them and share.

The benefit of using vert.x as the rack web server, is to utilise the power of the EventBus, as it's easier to integrate with other "services" with the rails application.
I didn't do much work on this project mainly because the performance with real world rails project is not that good, as Rails doesn't work well with asynchronous mode, to the best, it will be something like thin.
When I was actively working on this project, there is no good async database driver from vert.x (not sure if the situation has changed, last time I checked the async mysql plugin is not so good). If we want the goodness from both rails and vert.x, we have to provide the http client for asynchronous network operation and create an asynchronous activerecord-ish adapter (not sure if that's even possible?).
As a first step, I would improved the stability of the integration tests, so they don't fail randomly on travis.
Thanks for your interest.

Thank you for responding Isaiah. Will revert with my comments more of my comments.

Async DB Driver: They seem to have a decent Postgresql driver.
Travis tests: Haven't done much with Travis. If you can share as couple of points as to where to begin, will attempt to improve on this aspect.


[RND-273] Initial system test, core + mongo with simple post/get

This is now complete and ready for review. Post, put, get and delete tests, both general and for ownership-based security. Split into separate "system tests" from unit tests, then added to GitHub Actions runner. Everything runs successfully.


build(deps): currency update

PR summary
Update packages using:
npm audit fix

Fixes: Vulnerability, specifically in follow-redirects 1.15.4
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features) (n/a)
[x] Docs have been added / updated (for bug fixes / features) (n/a)

PR Type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?
Dependencies are vulnerable
What is the new behavior?
Dependencies are not vulnerable
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix clipping of recurrent weights

Instead of clipping to [-recurrent_max, recurrent_max], this will clip the recurrent weights to [-recurrent_max, -recurrent_min] or [recurrent_min, recurrent_max] as stated in the IndRNN paper.
@EdeMeijer I thought it might be a good idea to initialize the recurrent weights in [-1, 1] / [-recurrent_max, recurrent_max] instead of [0, recurrent_max] since otherwise, the weights will always be in [recurrent_min, recurrent_max]. What do you think?

Yes, for the default relu activation, this initializes the weights in [-max, max] instead of [0, max]. The convergence seems to be unchanged - the net "finds" the solution after 1500 steps for T=100 and after 2500 steps for T=500 similar to the paper's results. It seems like the key difference lies in using a uniform distribution instead of the glorot's gaussian.

In that case, good with me. I still have a feeling that positive weights are all we need, but let's stick to the paper for now. It's more important to try to reproduce training on some more interesting problems.


TMY - Efficiency is not correct

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Hi,
After having searched in the issues, i report my problem.
In the tables CARS, value(Efficiency) = '0. 148' where my car : value(model)='Y'
But the Rated Consumption of the model Y is 169 Wh/km.
Can you fix it ?
Is it possible to update the value?
If yes, will this update be taken into account by Grafana?
Thx for all !!!
Cyril
Expected Behavior
No response
Steps To Reproduce
No response
Relevant log output
teslamate=# select model, efficiency from cars;
 model | efficiency
-------+------------
 Y     |      0.148
(1 row)

Screenshots
No response
Additional data
No response
Type of installation
Docker
Version
v1.25.2

Each charging session will a recalculation of the efficiency, which is applied retroactively to all data. In other words, the longer you use TeslaMate, the more accurate the efficiency value will become.


Try stan threads option

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Resolves #6

From Sebastian Weber, who has led a lot of the threading work on CmdStan:

Our tests were done for single-core, single-chain performance tests. Under these circumstances I would say that turning on threading for macos and Linux is really ok. For Windows we look at an up to 20% performance. Loss.
This could have changed by the new g++ 8 from the new rtools and this could look different due to now having to consider running 4. Chains. In. parallel.
If you want to test this, then use an ODE based model with an RK45 integrator. That will stress the memory system a lot.

I should look into some testing. As he mentions, in the next version this will not really apply, as running chains in parallel will be much easier.

Closing, see https://github.com/stan-dev/cmdstanpy/issues/436#issuecomment-956252365


Bower

I would like bower support, so I can more easily use this with rails (https://rails-assets.org) - the rails gem is out of date, and even if it is updated, it will most likely not be updated in the future. This makes rails-usage much easy.
Here's some instructions:

Install bower with the following command:
npm install -g bower

Create the bower.json file with the the following command, answer the questions, with the main file being the file that should be imported into other programs:
bower init

Now you can
bower install ng-classify

or in rails:
source 'https://rails-assets.org' do
  gem 'rails-assets-ng-classify', '~> X.X'
end

Thanks!

Actually, let me propose a pull request...

@penne12 You could also install using git tags. For instance: bower i https://github.com/CaryLandholt/ng-classify.git#4.1.1.

@nmehta6 doesn't work well with https://rails-assets.org

Hi @penne12.  Interesting, I hadn't heard of rails-assets before your mentioning it.
I'm assuming I'll need to create the bower package, register with bower.io, and register with rails-assets, is that correct?

@CaryLandholt Yeah - that's correct, although now that I understand how ng-classify works, I don't think it would be smart to add it to bower, since bower is more for front-end dependencies.

ok - thanks for the clarification.
Yeah, ng-classify needs to be part of the build system.  In my rails apps, I use https://rubygems.org/gems/ng_classify.  Works great.
Thanks,
Cary

@CaryLandholt yup - saw that - at first I though ng-classify was client side. I'm really loving it - migrated (almost) all of an old plain HTML/JS/CSS angular app to Rails, and I'm loving Coffeescript with ng-classify - thanks so much :smiley:

Cool!

Try angular-kickoff. It's awesome.
Em 24 de jan de 2016 11:55 PM, "Cary Landholt"<EMAIL_ADDRESS>escreveu:

Cool!
—
Reply to this email directly or view it on GitHub
https://github.com/CaryLandholt/ng-classify/issues/49#issuecomment-174370075
.

thanks @marcelinhov2


Component props vs. composition

There are some attributes in SnackBar component  that produce text and a button inside the visible area of SnackBar (and it's inside in DOM as well)
Why do we have some attributes like that in SnackBar and AppBar (maybe more components), not some custom components to be placed as children of those components
So why do we do this:
<Snackbar
  action='Nice'
  label='A new developer started using React Toolbox'
  onClick={this.handleSnackbarClick}
  ref='snackbar'
  type='accept'
/>

and not this:
<Snackbar
-  action='Nice'
-  label='A new developer started using React Toolbox'
-  onClick={this.handleSnackbarClick}
-  type='accept'
  ref='snackbar'
>
+  <Label>A new developer started using React Toolbox</Label>
+  <ActionButton type='accept' onClick={this.handleSnackbarClick}>Nice</ActionButton>
</Snackbar>

Is this case it's composable and it's clear that ProgressBar must be a child of SnackBar as suggested in #1179

As I mentioned @ #1179 there are some components where it's handy to generate children. An example might be a Button where you usually want to place an Icon to the left side. Since it's very common, it's just handy to provide optionally a property to pass an icon that is generated with along children.
This doesn't mean it's always the right choice. Take the Button again as an example. You can compose your button passing the Icon as a child and it should work too. Consider it as an alternative syntax to get the same behavior/markup.
For the Snackbar in particular it's not the best use case. Action buttons should be provided as child components that can be classified to inject new properties, same as the Layout works. but the label can be useful since it just displays a text properly positioned. It should accept arbitrary children so you are not restricted to the given props though.
In conclusion: those components that generate content from props will be progressively changed to a more composable approach, leaving those props for cases where it's specially handy like the mentioned button. In any case the preferred should be composition.
Let's keep this open so more people can give their opinion!

IMO the Material spec doesn't have the progress-bar with snackbar. I get the desire to want to put something there, but it doesn't really add any value to the snackbar.
When it comes to composability vs props you run into one main issue in my mind, which is ease of use. It's much easier from a developer pov to pass in a prop.
Composability being more functional is a pro, but it does increase the complexity for people using react-toolbox.
Looping back to the Material Spec, it's very opinionated for a reason. There is a strong set of constraints in place that dictate how components should interact and be combined. Yes there is room for creativity in this, but ultimately I think that we should strive to match it to the best of our ability.

Thanks for a response.
According Snackbar I want to take a note:

most of it's props are targeted to Button actually.
Label in my example can be just text, and thus it will be even better, like this:

without button:

<Snackbar>A new developer started using React Toolbox</Snackbar>

with button:

<Snackbar>
   A new developer started using React Toolbox
   <Button type='accept' onClick={this.handleSnackbarClick}>Nice</Button>
</Snackbar>

In general case targeting composability is the right choice IMO. Customizing such elements is easier (including, if not the most needed, - CSS styles).
My thoughts are:

that's ok to have props that can be replaced with child components (like with Button)
that's not ok to have only ability to provide props. Without ability to use child components that by default take required styling and behavior depending on their context. (e.g. Snackbar passes it's button style overrides to all Button children which do not have custom styling passed - not sure if this is doable, though).

I fully agree! The only purpose of passing props to generate child components is to provide default CSS for those components. Of course you should always be able to give your own. The example you provided with Snackbar is perfectly compatible with having some props to generate buttons and a label that set text with some default styles. Every component accepting content should allow to customize that content by passing children, even though it accepts handy props.
I'm keeping this issue open for now so more people can share their thoughts.

A great approach would be to provide both apis, a composable one and composed ones for the really common cases derived from the composable.
What I mean taking the Button as an example :
<Button primary>
  <Icon/>
  I'm a composable button!
</Button>

<IconButton
  primary
  left={<Icon/>}
>
  I'm a composed icon button!
</IconButton>

<PrimaryButton>I'm a composed primary  button!</PrimaryButton>

Then it's just a matter of determining what are the most common cases to pick the compisitions, and if they belong to the "core" library or another "extra" library with sane defaults.

Agree, we can provide the default nesting and the most obvious common cases and then add more from that point


libkb: updated Resolve machinery, for use with Resolve RPC

clean up the resolve cache machinery
- enable failure caching for ~20 seconds
- enable twitter/github caching for ~20 minutes
make caching optional
fully contextify the resolver
stubs for the identify.Resolve RPC
better error objects
wire the RPC up to the service interface
testing our resolve
comments from review

Recover horrendously botched CORE-2208 branch, which didn't merge properly because I merged it into CORE-2182, and then delete both branches, by accident.


Should have example of CSV

Currently unclear if you leave the three top cells with their text, overwrite all cells, or overwrite only a few cells.
[Enter feedback here]

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

ID: 6d9b26a1-e401-4d6d-f37e-cceed1c04549
Version Independent ID: 3db7c764-4815-ee19-a229-8bad3da4a381
Content: Bulk upload to add or create members of a group - Azure Active Directory
Content Source: articles/active-directory/users-groups-roles/groups-bulk-import-members.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

Why was this closed? I'm learning Azure and don't understand this issue.

From: Cyborg-Model-Z<EMAIL_ADDRESS>Sent: Wednesday, October 14, 2020 3:34 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: StuBeck32<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Should have example of CSV (#61099)
Why was this closed? I'm learning Azure and don't understand this issue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F61099%23issuecomment-708615870&data=02|01||f2ec5992565241e686be08d870782cdb|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637383008727207233&sdata=mUaXggj6Cr5k5wK0RFPXntupo9gQsdbwVfIjohFl60c%3D&reserved=0, or unsubscribehttps://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAK5FPN2YRGXOZZNB4NT7D4TSKX4MPANCNFSM4QD4KDRQ&data=02|01||f2ec5992565241e686be08d870782cdb|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637383008727217226&sdata=Qg4LHR2fJ2R2GTGuPigT7bxxdSArct37jm8eEFpXdM4%3D&reserved=0.


plumb GL options through viewer

My goal is to be able to use canvas.toDataURL() from the viewer.
To do that, we need to be able to pass {preserveDrawingBuffer: true} as the options to
gl = canvas.getContext('webgl', options); here
This PR is the plumbing which passes the gl options through. So we can create a new Viewer(viewerdiv, { glOptions: {preserveDrawingBuffer: true} })

I did the same thing at Z3D.
I think this can be the default setting as well, as browsers and computers are a tad faster these days. :)

@z3dev - I'm not too familiar with this, but my understanding is that it still may bog down mobile devices.

This is a good addition, totally forgot that I used to add this by default as well.
@danmarshall  are you ok with these changes being somewhat short-lived ? The new viewer is right around the corner, and I will add similar settable options so this is good either way :)

@kaosat-dev yes I'm ok with that :)
BTW is there a place I can add feature requests for the new viewer? I'd like to separate the gesture handling (I want to control the camera without user mouse input) or use a different pointer events lib.
Also, I am exploring a bug where the viewer doesn't like to be not in full screen mode. It sometimes disappears when scrolled in the page.

@danmarshall I just open sourced an early version of the new viewer here, however, please add issues, feature requests etc in THIS repo with the 3D viewer label, to keep things simple as the repo/org structure might change.
I will be honest the viewer is opinionated, but has a lot of features built in (you can set the camera manually etc)
I will likely split it up into multiple utility repositories so that they can be reused 'to taste' but not right away.

Ok thanks Mark, I added an issue #336 but I was not able to add the label. I think only admins can add labels. I'm excited to try out what you have so far!

weird , I thought it was for all , gotta check the rights.
In the meantime this can be merged I think.


tls: add option to set signature algorithms

Add a new optional field signature_algorithms to TlsParameters message to configure signature algorithms. The value is used during TLS handshake in TLS Signature Algorithms extension. It indicates which signature algorithms may be used for digital signatures. The value can be used for both DownstreamTlsContext and UpstreamTlsContext.
When user does not set the option, the default value is defined by Envoy. The current default value is chosen according to what BoringSSL uses internally as default.
Fixes #26166
Additional Description:
There can be use cases that calls for exact control over the used signature algorithms. For example, legacy algorithm such as rsa_pkcs1_sha1 may be discouraged and user might want to disable it. This PR gives user the option to override the default list of algorithms.
Risk Level: Medium
Testing:
New test case is added to verify the value of TLS Signature Algorithms extension during TLS handshake. Test case does not utilize the usual testUtil/testUtilV2 flow since it needs to plug into SSL_set_cert_cb() callback to get access to full list of signature algorithms offered by peer during TLS handshake.
Docs Changes:
New field documented in .proto.
Release Notes:
tls: added new field TlsParameters.signature_algorithms to set signature algorithms.
API Considerations
This PR follows the example of existing fields cipher_suites and ecdh_curves where the default value is defined by Envoy. Alternative would be not setting the value for the SSL context at all when user has not defined algorithms, which would delegate default to BoringSSL instead (that is what happens for signature algorithms before this PR is applied).

This feature makes sense, but I think it is preferable to leave the default as referencing the boringssl default, when the new setting is unspecified. The rationale is that if boringssl changes its defaults for security reasons, I'd rather not need any additional changes in envoy to pick up that change, other than updating to a newer version of boringssl.

Fixed.
With this change I also changed Risk Level from "Medium / High" to "Medium" since now by default there should be no impact from this change.

@ggreenway I've added a test case to cover the error branch as well. There are only few changes in non-test files and I don't know what else could be improved to get coverage test passed.
Various other tests have failed during the test runs, but I'm not sure what the connection is to the change. I've now merged in case some flaky tests have been fixed in main since I started. Now I see //test/extensions/filters/http/tap:tap_filter_integration_test failing (link), possibly related to existing problems. Also, some packaging tests fail, possibly to download errors (link).

/retest


Add boolean shutdownOnStop parameter to ServerBuilder.blockingTaskExecutor()

Hi :)
I added ServerBuilder.blockingTaskExecutor(Executor, boolean[shutdownOnStop]), but I don't know how to using shutdownOnStop.
Modifications:

Deprecate ServerBuilder.blockingTaskExecutor(Executor)
Add ServerBuilder.blockingTaskExecutor(Executor, boolean[shutdownOnStop])

Result:

Fix #1685

- This is my first PR at Armenia that might be insufficient, Please advise the insufficient part.

Thank you for your first contribution to Armeria!  👏
As described in #1685, the new parameter shutdownBlockingTaskExecutorOnStop you added will be used to specify whether a user wants the blocking task executor to shut down when the server stop.
So, you need to fix here. Also, you can refer to here how shutdownWorkerGroupOnStop does, which is a similar work what you have to do.
Please leave a message if you have a further question! 😃

@hyangtack I finished work, but not sure if it is correct. Please give feedback after the review.
Thank you :)

@geminiKim Gentle ping. Any progress? 😉

I'm added some code (Thanks to trustin for giving a detailed guideline) and cleanup commit-line.

Updated the code on comments

Updated the code on comments 😄

Thanks a lot, @geminiKim! Hoping to see you in the next pull request. :wink: We also look forward to your feature/improvement requests and bug reports!

Thank you @trustin and all reviewer.
I think I need to know more about Armeria for the good contribution.
This PR was a lot of shortcomings this time, but I will do better next time, Thanks a lot again😃


Make a release / git tag

I'm packaging kalibrate-rtl for Nix/NixOS and would like to ask if you could make a git tag in the repo as an indication to downstream that "this is the version you should use".
Something like git tag -a -m "Version 1.0" v1.0 && git push --tags should do it :-)

+1

+2

+3 packaging for Gentoo

+++ Again after 5 years! I am packaging for Mageia. We still have no actual release / tag, it's all guess work to know when to grab a commit and package an update.
Please please do something to help with this situation.

Well, this started as an quick and dirty fork of the original kalibrate by simply patching the UHD driver, and a proper "release" was never planned, because the right way of doing it would be of course to add the various SDR drivers into one unified kalibrate. This never happened..
If that helps I can add a tag. But while we are at it: how are you dealing with the other forks of kalibrate like kalibrate-lms and kalibrate-bladeRF etc.? I took a look at them, and they all use "kal" as name for the output executable as well. Do you rename that in your make install wrapper? Or should we change it to something like kal-rtl here?

In nixpkgs there are currently two kalibrate* packages, and their binaries are:
$ ls -1 $(nix-build -A kalibrate-rtl)/bin
kal

$ ls -1 $(nix-build -A kalibrate-hackrf)/bin
kal-hackrf

The hackrf one gets renamed s/kal/kal-hackrf/ in postInstall in nixpkgs, whereas the rtl one has no postInstall tweaks.
I have no opinion on whether to rename upstream or downstream, or just keep it as is.


fix(modern_bpf): fix args/env retrival in case of large args/env

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area API-version

/area build

/area CI

/area driver-kmod

/area driver-bpf

/area driver-modern-bpf

/area libscap-engine-bpf

/area libscap-engine-gvisor

/area libscap-engine-kmod

/area libscap-engine-modern-bpf

/area libscap-engine-nodriver

/area libscap-engine-noop

/area libscap-engine-source-plugin

/area libscap-engine-savefile

/area libscap

/area libpman

/area libsinsp

/area tests

/area proposals

Does this PR require a change in the driver versions?

/version driver-API-version-major

/version driver-API-version-minor

/version driver-API-version-patch

/version driver-SCHEMA-version-major

/version driver-SCHEMA-version-minor

/version driver-SCHEMA-version-patch

What this PR does / why we need it:
In case of an execve large args/env, this permits to correctly retrieve those. Otherwise no arg/env is retrieved.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
This behaviour is not 100% identical to the kmod behaviour: the kmod subtract the len of argv[0] when retriving args; on the other hand the modern bpf starts from argv[1] and tries to read the max amount allowed.
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: therealbobo
Once this PR has been reviewed and has the lgtm label, please assign hbrueckner for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

driver/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 91343489eaa771e5661e92c9b2fe1c37248bea27

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: incertum, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, incertum, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 013296a9e08e3fcee6d7c24ae31cf6e72661cca3

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, incertum, therealbobo
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

driver/OWNERS [Andreagit97,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


healing players looks like your damaging players

I've experienced multiple times this week that healing players are actually damaging them first.
With circle of vigor, getting in contact with the circle will damage you before applying the heals.
With healing shot, it does damage both to you (host) and to your peers. This is not the Deadly version.

i think i actually fixed it in last release


Service Mesh follow-ups after 1.12 release

[ ] Write a proper description to #18894, including but not limited to:

[ ] limitations, current things that are implemented, envoy resources that can be configured, resources that can't be configured, how this fits into the broader service mesh picture
[ ] which components (cilium-agent, cilium-operator, cilium-proxy) are expected to interact with these resources
[ ] RBAC
[ ] flow of data

[ ] Move Envoy specifics from pkg/service to pkg/k8s/watchers, see https://github.com/cilium/cilium/pull/18894#discussion_r840633249
[ ] Prepend Envoy resource names with CEC/CCEC namespace (and name?) so that operator does not need to worry about that
[ ] Add Ingress test with reserved:ingress policy to cilium/cilium-cli connectivity test suite
[ ] Upstream Envoy upstream callback feature now in cilium/proxy/patches
[ ] Allow sharing of External Load Balancers for multiple Ingresses (with non-overlapping hosts/paths)
[ ] Support multiple TLSs in envoy downstream context, see https://github.com/cilium/cilium/pull/18867#discussion_r842070230.
[ ] Standardize watcher/informer pattern, also address https://github.com/cilium/cilium/pull/18867#discussion_r842321517

Is there any upgrade implications for this item? If yes, then it seems plausibly like something we may want to push into 1.12.

Prepend Envoy resource names with CEC/CCEC namespace (and name?) so that operator does not need to worry about that

I really need the feature Allow sharing of External Load Balancer for multiple Ingresses to reduce the cost of cloud provider's external load balancers created by each single Ingress.
Can I have the current status or progress?

Can I have the current status or progress?

I don't think anyone is actively working on this item now. Hopefully, I will have some cycles to work on this soon.

@sayboras
Thank you for replying. Can I have chance to contribute or help something?

I've just logged #21270 to cover the work to implement shared load balancer for Ingress, @sayboras is getting started on the initial work now.

#21270 made it in time for v1.13.0-rc1, but there's a bunch of unchecked boxes in the description so I'm just going to clear the milestone.

Thanks, there are a bunch of items planned for v1.13.0-rc2, so I just tag this to v1.13.0-rc2, so that we don't forget.


WIP: Develop into master

I thought I start this PR already, since I want this to happen before we accept #200.
What is happening here?! I might just force develop over master, since this is quite annoying.

I merged master into develop and kept "ours" (develop). A quick scan didn't show anything weird.


What is the relation of "Starting time" and "Sunrise offset"?

What version of Adaptive Cover are you using?
v1.1.2
What version of Home Assistant are you using?
2024.4.3
Checklist

[X] I have filled out the issue template to the best of my ability.
[X] This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
[X] This issue is not a duplicate issue of currently previous issues..

Describe the issue
Not  a bug but rather a question: what is the relation of "Starting time" and "Sunrise offset"?
btw: the integration is awesome!
Reproduction steps

...
Diagnostics dump
No response

sunrise offset is the minimum time after/before sunrise that the integration is allowed to control the blinds.
start time is the minimum time at which the integration may control the blinds. This overrides the sunrise offset if that time is before the start time

Great explanation, thanks. Maybe add this to the docs (and all other parameters one can tweak unless they're not self-explanatory?


z-wave Climate device set_hvac_mode

Home Assistant release with the issue:
0.96.5
Last working Home Assistant release (if known):
First Version with this device in use
Operating environment (Hass.io/Docker/Windows/etc.):
Docker
Component/platform:
z-wave
Description of problem:
My Honeywell T6 Pro (z-wave) thermostat has multiple operating modes described in the ozw config file
 <SupportedModes>    <Mode index="0" label="Off" />    <Mode index="1" label="Heat" />      <Mode index="2" label="Cool" />    <Mode index="11" label="Heat Econ" />    <Mode index="12" label="Cool Econ" /> </SupportedModes>
The following options show blank within the thermostat control card and when trying to select them the error Failed to call service climate/set_hvac_mode. value is not allowed for dictionary value @ data['hvac_mode'] is displayed.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
None used as this was fully configured within the gui

Traceback (if applicable):
2019-08-13 23:07:16 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.139677884522000] value is not allowed for dictionary value @ data['hvac_mode'] Traceback (most recent call last):   File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 121, in handle_call_service     connection.context(msg))   File "/usr/src/homeassistant/homeassistant/core.py", line 1130, in async_call     processed_data = handler.schema(service_data)   File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 267, in __call__     return self._compiled([], data)   File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 589, in validate_dict     return base_validate(path, iteritems(data), out)   File "/usr/local/lib/python3.7/site-packages/voluptuous/schema_builder.py", line 427, in validate_mapping     raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: value is not allowed for dictionary value @ data['hvac_mode']
Additional information:

Version 0.97.2 resolved the issues


Adobe authentication for rtmp not working on Android side

Describe the bug
Hello, I've been trying to connect to an rtmp publish server which requires authentification.
On my dart side I'm using
RtmpConnection connection = await RtmpConnection.create();
connection.eventChannel.receiveBroadcastStream().listen((event) {
      printDebug("EVENT " + event.toString());
}

to read what are the auth messages that the server responds with.
iOS devices works fine and can publish a mic stream with the following messages:
flutter: EVENT {data: {level: error, code: NetConnection.Connect.Rejected, description: [ AccessManager.Reject ] : [ code=403 need auth; authmod=adobe ] : }, type: rtmpStatus}
flutter: EVENT {type: rtmpStatus, data: {description: [ AccessManager.Reject ] : [ authmod=adobe ] : ?reason=needauth&user=user&salt=XXXX==&challenge=XXXX==&opaque=XXXX==, level: error, code: NetConnection.Connect.Rejected}}
flutter: EVENT {data: {data: [null], description: Connection succeeded, objectEncoding: 0.0, clientid: 1.0, level: status, code: NetConnection.Connect.Success}, type: rtmpStatus}
flutter: EVENT {type: rtmpStatus, data: {code: NetStream.Publish.Start, description: , clientid: 1.0, level: status, details: /streams.mount123}}
flutter: EVENT {data: null, type: rtmpStatus}
flutter: EVENT {type: rtmpStatus, data: {details: /streams.mount123, description: , level: status, code: NetStream.Publish.Start, clientid: 1.0}}

On Android side I'm not able to connect via adobe auth to the streaming server, I'm geting the following messages:
I/flutter (28417): EVENT {data: {code: NetConnection.Connect.Rejected, level: error, description: [ AccessManager.Reject ] : [ code=403 need auth; authmod=adobe ] : }, type: rtmpStatus}
I/flutter (28417): EVENT {data: {code: NetConnection.Connect.Rejected, level: error, description: [ AccessManager.Reject ] : [ authmod=adobe ] : ?reason=needauth&user=user&salt=XXXX==&challenge=XXXX==&opaque=XXXX==}, type: rtmpStatus}
D/TrafficStats(28417): tagSocket(6) with statsTag=0xffffffff, statsUid=-1
I/flutter (28417): EVENT {data: {code: NetConnection.Connect.Closed, level: status}, type: rtmpStatus}

From what I've seen on Android side, the connection.close() is always called before a new connect attempt when the server asks for user and password, but on iOS the connection close is called only when one of the user and password field are empty. Is this where the issue originates?
Can you please help me with this please? I'm not sure on what I should begin looking into on the Android side.
To Reproduce

Use the example project
For line 138  use  _connection?.connect("rtmp://user:password@url/live"); in order to have user and password for the native layer to push forward.

Expected behavior
Both Android and iOS devices should connect and publish to the rtmp adobe auth server.
Version
haishin_kit: ^0.9.4
Smartphone info.

Any Android device or emulator
Any iOS device, or simulator (on simulator the connection occurs but it won't stream any data from the mic)

Additional context
No response
Screenshots
No response
Relevant log output
No response

Ok I think I found out where the issue originates from.
I've been running the HaishinKit.kt project on my machine and it seems the issue originates from that project, to be more specific it seem that val command = createAuthQuery(uri) is adding unnecesary parameters at line 76.
For example if in createAuthCommand method the uri comes as rtmp://user:pass@address/live/?authmod=adobe&user=user, val command will look like rtmp://user:pass@address/live/?authmod=adobe&user=user/&authmod=adobe&user=user.
In order to realize a proper connection to the rtmp adobe auth server I've just replaced
val command = createAuthQuery(uri)
with
val command = uri.toString()
So now the authentification command is properly composed and send to the server using createAuthCommand and the connection is established.
Although this solves my issue, I'm not sure if this is a proper solution for all cases, can you please advise on this?

It is likely because the code assumes that there is no trailing slash ("/") at the end. Could you please confirm if the following format without a slash works for you: rtmp://user:pass@address/live?
I realized that even in the library layer, it is necessary to consider cases where a trailing slash is present and cases where it is not. It's important to handle both scenarios to ensure proper functionality and compatibility with different URL formats.

Hello I've used
if (!description.contains("?")) return uri.toString()
if (uri.rawUserInfo == null) return uri.toString()
val uri2 = URI(uri.toString().substring(0, uri.toString().lastIndexOf('/')) + "?")
val command = createAuthQuery(uri2)

in the createAuthCommand method to remove the /?authmod=adobe&user=user part from the original uri and create the URI format that you asked for and I can confirm that createAuthQuery method now works as intended and I can connect to the server.
Unfortunatelly I had to test it this way because Idon't have access to the server in order to not modify the URI on the frontend for this.

OK. Could you provide a pull request for the Android side? If you can, I will test it and release it.

Hello.
I've made the pull request with the necessary changes. Please let me know if there is anything else needed for modifications.

Thank you very much. I have updated Android for better usability. Please try using this branch: https://github.com/shogo4405/HaishinKit.dart/tree/feature/adobe-auth

Thank you so much for the help! Especially for your quick responses!
I'm sorry, I can't build the Flutter project anymore.
I'm getting:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.github.shogo4405.HaishinKit~kt:haishinkit:main-f2a055f138-1.
     Required by:
         project :app > project :haishin_kit
      > Could not resolve com.github.shogo4405.HaishinKit~kt:haishinkit:main-f2a055f138-1.
         > inconsistent module metadata found. Descriptor: com.github.shogo4405.HaishinKit~kt:haishinkit:main-SNAPSHOT Errors: bad version: expected='main-f2a055f138-1' found='main-SNAPSHOT'
      > Could not resolve com.github.shogo4405.HaishinKit~kt:haishinkit:main-f2a055f138-1.
         > inconsistent module metadata found. Descriptor: com.github.shogo4405.HaishinKit~kt:haishinkit:main-SNAPSHOT Errors: bad version: expected='main-f2a055f138-1' found='main-SNAPSHOT'

I've run flutter clean and flutter pub cache clean and the same error occurs.
I've also modified the dependency on my local pub cache folder based on your commit from main-f2a055f138-1 to main-SNAPSHOT to see what happens and now I'm getting a different error:
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.github.shogo4405.HaishinKit~kt:haishinkit:main-SNAPSHOT.
     Required by:
         project :app > project :haishin_kit
      > Could not resolve com.github.shogo4405.HaishinKit~kt:haishinkit:main-SNAPSHOT.
         > Unable to load Maven meta-data from https://jitpack.io/com/github/shogo4405/HaishinKit~kt/haishinkit/main-SNAPSHOT/maven-metadata.xml.
            > Could not GET 'https://jitpack.io/com/github/shogo4405/HaishinKit~kt/haishinkit/main-SNAPSHOT/maven-metadata.xml'.
               > Read timed out

Maybe it needs to be link to another build, like it was before to 0.11.0? I'm not sure what's going on now...

Thank you feedback. I have rebuilt it. It works for me. https://github.com/shogo4405/HaishinKit.dart/commit/1d2dd000d3661583b9d0b388dd6b7192c6852300

Thank you for the information about the Java version in Flutter. I've learned from it. I will try reverting to Java 1.8 as you suggested. After testing, I will release it. Please wait for a while. Thank you.

Hi. Thank you for contribution. I release HaishinKit.kt 0.11.1. And updated HaishinKit.dart ce25ae7.


Setup vue-components with vue-cli

T257815 - Set up the package
This is an initial setup done with vue-cli.
All files have been auto-generated. Only package.json has been tweaked a bit because it existed before.
All additional lint, test etc. configs will be done as part of follow up tasks.
Notes

I didn't introduce a docker service, because we haven't discussed if we want a dev entry point, or if we are going to use Storybook for preview during development. Either way this could be a separate PR.
I left the initial App.vue and HelloWorld.vue components because we've been talking about having a dummy component. Not sure if this is still valid, now that we have a Button story.

Rebased


Title level of glossary entries

I humbly request that pull request 249 be reverted, for two reasons:

I'm documenting the architecture for my project, which will be deployed and used by many people who are unfamiliar with Pharo.  I'd like to link directly to specific terms, but now there are no anchors, so I can't.
I sometimes use screen reader software, and it is much easier when the headings are marked up as headings.  Before, I could hear just the headings and then continue with the definition when I found the word I wanted.  Now I have to listen to at least some of the definitions I don't want in order to get to a specific  definition.  The usual recommendation is that the headings decrease one level at a time, but it sounds like there is no way to apply a stylesheet without switching to GitHub Pages.  I don't think this page would be confusing with a jump to header 4 or 5, as long as all the words were at the same heading level.

I am sorry to be late in commenting, and also maybe I should have reopened the existing issue instead of a new one?  I wish I had discovered issue 193 earlier and commented there before y'all did work, but I just found the wiki recently and haven't had time to go through all the issues yet.

The internal links from one glossary entry to another are also broken.

Hello,
First of all, thanks for contributing to this wiki!
I think the proposal is right, especially because of the broken links issue.
What do you think @jecisc ?
Julien

Hi,
Thank you for contributing!
I agree with you. I think the best thing to do would be to use level 4 or 5 titles. For now, we'll merge your PR and reopen the previous issue.


Friendly error message for list validate

[x] I have looked at the documentation here first?
[x] I have looked at the examples provided that may showcase my question here?

Package version eg. v9, v10:
v10  gin
Issue, Question or Enhancement:
I have a sub-struct, sub-struct is a list field of parent struct, show code:
type Parent struct {
    Name String `json:"name"`
    Children []Child `json:"children" validate:"min=1,dive"`
}
type Child struct {
    Name String `json:"name" validate:"max=10,min=1"`
    Address String `json:"address" validate:"max=10,min=1"`
}

when I post tow or more children elements, how can I fetch a friendly error message that which element is invalid? post json:
{
  "name": "father",
  "children": [
    {
      "name": "one",
      "address": "aaaaaaaaaaaaaaaaaaaaaaaaaaa"
    },
    {
      "name": "two",
      "address": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
    }
  ]
}

output message like:
Parent.Child[1].Address": "too long, the number of characters must less that 10"

expect message is: the first element of parent field named address is too long, the number of characters must less that 10, like that, the fourth children address is invalid（第四项的地址无效）
why require this? the message Parent.Child[1].Address": "too long, the number of characters must less that 10" is pretty user unfriendly. because, users does not understand computer, Child[1] is actually the second(we known, the index of list start with 0, but users does not known)
I try use custom function on Child'Address field, but cannot do it. example code:
type Child struct {
    Name String `json:"name" validate:"max=10,min=1"`
    Address String `json:"address" validate:"max=10,min=1,checkAddress"`
}

// Omit the registration validator code

var addressPattern = regexp.MustCompile(`^[a-zA-Z][a-z_A-Z0-9]*$`)
func CheckAddress(fl validator.FieldLevel) bool {
	if field, ok := fl.Field().Interface().(string); ok {
		return addressPattern.MatchString(field)
	} else {
		return false
	}
}

I got error message like "Parent.Children[1].Address": "Key: 'Parent.Children[1].Address' Error:Field validation for 'Address' failed on the 'checkAddress' tag"
I use custom error message:
err = v.RegisterTranslation("checkAddress", Trans, oT, translation)
// some other code
func oT(ut ut.Translator) (err error) {
	if err = ut.Add("checkAddress", "the field {0} format invalid, must start with 26 english letters", true); err != nil {
		return err
	}
	return nil
}
func translation(ut ut.Translator, fe validator.FieldError) (t string) {
	var err error
	if t, err = ut.T("checkAddress", fe.Field()); err == nil {
		return t
	}
	return "unknown error"
}

Then, I got error message like "Parent.Children[1].Address": "the field Address format invalid, must start with 26 english letters"
two questions:

when parent has many children, the message cannot tell me which child's address is invalid
use golang validator v10 in gin, frontent software project developmented by vue framework, some form field has label named address detail and it's json key is address(this scene, form has many addresses), friendly message is the fifth address detail is too long or the third address detail format is invalid, must start with 26 english letters.

How can I do it??? thanks any baby!!!

Having your own translation seems the best solution. This issue related to https://github.com/go-playground/validator/issues/524


Color of a class profile changed

Previously, the class profiles had the color of the vocabulary they are created in. Now they have the color of the vocabulary of the profiled class:

I know we have discussed this before and considered if this should be the case. But I do not remember actually making the decision and am a bit surprised that it is implemented. Therefore I am not sure if it is a feature or a bug, and I am making this note to think about it a little more.

Maybe it should be like a split color thing actually - the "profile of Distribution" would be the original vocabulary color, and "Distribution" would be of the actual model color.


Rename libc to SPMLibc

libc is a common name for a Swift module and leads to name collision
if another dependency has a similar target.

/cc @ddunbar

@swift-ci please smoke test