Authorization server behaviour for Client-Credentials Grant flow

Context
For our use case we have a number of server-side applications which need to access resources in Solid Pods using an organisation-level WebID. Before, we used an oAuth 2.0 Client-Credentials Grant to authenticate with an OAuth AS that had support for DPoP, the webid claim and scope. This flow was implictly possible under an earlier definition of the spec as an Access Token was employed as bearer token throughout it (however OAuth discovery was broken, as the specification assumes the OIDC discovery URI to be used).
Problem description
With the recent revision of the Solid OIDC specification, we noted the use of an additional authorization service that is identified by the as_uri provided in the 401 error response of the storage endpoint. The specification however only explicitly mentions the OIDC ID token as a supported UMA profile, and not the use of Access Tokens.
Perhaps now is the time to clarify the specification and also permit the use of oAuth 2.0 Access tokens as first-class citizens (and not by coincidence as was previously the case).
Ways to resolve this issue

Clarify how applications outside of a browser session should obtain the token necessary to authenticate with the authorization service.
Add OAuth Access Token support as an explicit requirement for the authorization service.
Or specify the requirements for the JWT expected by the authorization service in more abstract terms, rather than directly limiting it to concrete authentication standards (i.e. "a signed JWT with some claims X, Y and Z, which could be an OIDC ID Token or a non-opaque OAuth Access Token" )

Impact

OAuth discovery URIs differ from OIDC discovery URIs in their format. The specification must then also clarify how to handle both of these for an issuer at the level of the authorization service, e.g. by differentiating through the claim_token_format.
Perhaps it implies that the naming of the specification should be reconsidered, or that this capability has to be split out. But this is a broader discussion to be had, I think.

We can elaborate on this issue and our use case in a next Authentication Panel meeting if desired.

Thank you for your feedback @laurensdeb!

We can elaborate on this issue and our use case in a next Authentication Panel meeting if desired.

Yes, I'll add it to the agenda for tomorrow.

Before, we used an oAuth 2.0 Client-Credentials Grant to authenticate with an OAuth AS that had support for DPoP, the webid claim and scope.

Clarify how applications outside of a browser session should obtain the token necessary to authenticate with the authorization service.

We plan to shift focus to specify Client-Credentials Grant for OpenID Provider, this way server-side clients will be able to obtain ID Token from OP. Credentials issued for a given client would be bound to a specific WebID of a user, this website will be used in webid claim in ID Token.
We can discuss it in more detail tomorrow, I just wanted to bring it up here already.
BTW I think @justinwb has a similar use case to yours.


Completion for available topic in kafka file

Completion for available topic in kafka file
Fixes #150
Signed-off-by: azerr<EMAIL_ADDRESS>

It starts working but I need to clean my code and write tests.
When completion is applied for topic (property name or value) it connect to the cluster to get the topics (just the first time). I wonder if this connection must be done only with kafka explorer?

The topics completion is working only if you try to open completion after topic: but it doesn't work if you try to open topic: completion item and apply it (topics as choice).
I did this choice because when cluster is not available it breaks the full property names completion support (because the topics values for choice cannot be done). Is it possible to see this topics value as choice in an another issue?

Can you add en entry to the changelog?

Can you add en entry to the changelog?

done

Thanks @angelozerr!


update all messages to use cli library

Better errors, less code 😉

Changes include running Rformatter.
Only real change was cli messages.


Check detected default npm path is really existing

Fixes #23924

@sheetalkamat and @andy-ms can you please review.

Why do we look in "node" folder at all? Why not always use it as "npm" so that we use default npm location and users wanting to use custom npm location can use the --npmLocation

Why do we look in "node" folder at all?

VS does not have npm installed globally, it is installed in a local folder, next to node.

Why not always use it as "npm" so that we use default npm location and users wanting to use custom npm location can use the --npmLocation

we could, but that would break existing users of the server. and back then we did not have the npm location flag.

You mean we should also check the file has executable permission? Maybe. But is there any case where npm file is not executable in the same directory as node command?

The check checks for the existence of a file called npm which never exists, it is an executable file though, so either npm.exe or npm.cmd or npm.bat.. so this ends up breaking VS.
Reverted in https://github.com/Microsoft/TypeScript/pull/24425.
We need a better fix for the original issue.

I think we should list the directory and see if an npm file exist.

@mhegazy I see. Actually I'm not a Windows user. So I don't know the list of possible installation directories for npm command...

this is not a windows thing. it is a VS thing. VS ships node and npm in-box but in some custom folders.  the only thing we know is that there is an npm (likely npm.bat) next to node.exe that is used to run the server.


Check uniqueness during EOS-wallet creation

Context

When we create new EOS-wallet, we receive a list of accounts' public keys and indexes. But this list can contain the same public key and/or same index twice. Moreover, it is possible to receive the same account's public key for different EOS-wallets (which doesn't make sense, because all accounts in all EOS-wallets must be unique).
Decision

We must check uniqueness of accounts' public keys and indexes during EOS-wallet creation.
UPDATE from @KtorZ:

Ideally, I'd rather make it impossible to represent a list of account public keys with duplicate for externally owned wallets. Maybe it's too much efforts here but you know, using a Set for instance, or having smart constructors used in the JSON unserializer.

Acceptance Criterias

When we create new EOS-wallet, all accounts' public keys and indexes (in received list) must be unique across ALL knowns account public keys.
When we create new EOS-wallet, all accounts' public keys must differ from ones in all existing EOS-wallets.

Development Plan

[ ] All public keys and indexes should be checked in WalletLayer: if they are not unique - return an error.
[ ] Before HdRoot creation all received public keys must be checked: if acid-state already contains HdAccount with such a key - return an error.

PR

Number
Base

#?
develop

QA

Criteria
Coverage

?
-

Retrospective

Superseded by #236 and #325 :+1:


Reduce compile target to Java 5, address serialization issues and improve performance

Thanks for this library, I have not found an equally comprehensive standalone implementation of a radix tree for Java, I really appreciate that you put this out!
I was planning to use this tree for a tool that I develop and I was wondering if you would consider this pull request with the following changed:

Changed compile and source target to Java 5. I need to support several legacy systems with this tool, therefore this would really help me out. It only requires some minor changes in the usage of interfaces and a custom implementation of SetForMap. I added a build plugin to validate that no Java 6+ signatures are used to assure that in-compliant API use would be discovered upon building the project.
For serialization, I added serialVersionUIDs to make sure structural changes can be communicated to the serialization mechanism. Previously, no UID is given.
I removed a few raw types, marked fields as final where possible, inner classes as static and fixed the copyright headers which must be placed as a regular comment and not as a javadoc comment. (one star rather then two). I also changed the build to display warnings for all discouraged code. I also provided an empty array to the array factories which was found to be more JIT friendly (https://shipilev.net/blog/2016/arrays-wisdom-ancients/#_introduction).
I altered explicit checks in the node factories to become assertions rather then explicit checks. In my flight recordings, these checks are rather prominent and be disabling them in production, the overhead can be avoided. At the same time, users that would experience problems can always enable assertions to possibly discover an issue.
I introduced an Automatic-Module-Name to allow using this library within the Java Module system.

Let me know what you think of this and if you wanted me to reduce this request. I hoped I could get my changes upstream to avoid building my own fork but I also understand if you have a different opinion. Looking forward to hearing back! Rafael

Lol, Raphel. Just met you this weekend and the first thing to hit me on Monday afternoon when browsing my open tabs is this. Did you publish the fork in the end? This has not seen updates in six years and seems unmaintained.

Small world! I have not, unfortunately. But I would certainly consider it. Do you have a need for it?

No, I think the current version is sufficient for our needs, but would of course not say no to an actively maintained version, so was just wondering if I could point my pom file to no.winterhalter or something. But no worries, I am good 😄


When will windows ready?

Am rally try to make to docker works in windows but didn't find a way how to configure it in right way.. maybe this package make my life better :) Did you plain to release windows option for that and when?

Hi!
You can keep track of #20 and #26 to see where Windows support is at.
Hopefully done soon! However there might be some special needs to get it running (e.g. "use this bash shell instead of that one")

tnx @fideloper


Fix #4242

Reference Issue
Fixes #4242
What does this implement/fix? Explain your changes.
Detect the cases when enlargedEnv is empty and manually create a one-atom molecule instead of calling PathToSubmol() (see https://github.com/rdkit/rdkit/issues/4242#issuecomment-1080544357)
Any other comments?
Tested on a variety of cases. Fingerprints with no bonds are now displayed correctly. E.g.:

Sorry for the last 2 commits: I uploaded them by mistake (please ignore them). I reverted to the initial commit and the PR should be ready to merge


Refine HTTP response captuing APIs

Renamed IncludeResponse to WithCaptureResponse and changed its return
values to return a func used to retrieve the response.  This clarifies
the contract of the API and how to use it.
Removed ResponseFromContext as it's no longer required.

[ ] The purpose of this PR is explained in this or a referenced issue.
[ ] The PR does not update generated files.

These files are managed by the codegen framework at Azure/autorest.go.

[ ] Tests are included and/or updated for code changes.
[ ] Updates to CHANGELOG.md are included.
[ ] MIT license headers are included in each file.

@richardpark-msft brought up a good point that using an out-parameter like before makes it very clear on the shared nature of the response.  I worry that the current design makes this less clear, unless you read the doc comments.  Thoughts?

Yes, it would look like this.
var resp *http.Response
captureCtx := runtime.WithCaptureResponse(parentCtx, &resp)

You are correct about the last one winning.  However, this is true to all context values.

Yes, it's true but they can't tell this because Value() returns the last one. What we're doing that is problematic is that these Context values are supposed to be read-only but we're treating this one as read/write. This is what's causing some consternation (race conditions) here. But we're saying that this is an advanced (not mainstream) scenario and so we're offering an escape hatch mechanism for anyone who might need it and therefore we're willing to make some compromise. Now, it's a quest as to how far can we go to make things work as expected as possible but we will not hit perfection since the *http.Response is read/write.


Problem with make bundle

I'm in an Azure instance, utilizing Ubuntu 16.04 LTS.
I've installed Java, Leiningen, Clojure, NodeJS and make
Building the API works with the following commands:
make clean
make bundle
cd target/bundle
/bin/server.sh > logfilename.txt &

But when I try to run sudo make clean, I run into this error:
ptadmin@ADL-DATASIM:~/datasim$ sudo make bundle
mkdir -p target/bundle/bin
cp -r scripts/*.sh target/bundle/bin
chmod +x target/bundle/bin
mkdir -p target/bundle
rm -f pom.xml
clojure -X:depstar uberjar :no-pom false :sync-pom true :aliases '[:cli]' :aot true :group-id com.yetanalytics :artifact-id datasim-cli :version '"0.1.0-SNAPSHOT"' :jar target/bundle/datasim_cli.jar :main-class com.yetanalytics.datasim.main
Execution error (FileNotFoundException) at java.io.FileInputStream/open0 (FileInputStream.java:-2).
-X:depstar (No such file or directory)

Full report at:
/tmp/clojure-15389642806237300545.edn
Makefile:12: recipe for target 'target/bundle/datasim_cli.jar' failed
make: *** [target/bundle/datasim_cli.jar] Error 1

This is on the incorrect repo. It should have been on the datasim repository.

This is on the incorrect repo. It should have been on the datasim repository.

Moved to the correct repo, please close/delete this issue

Moved to the correct repo, please close/delete this issue


Native Federation: Workspace tsconfig paths ignored

I'm having an issue with the native federation builder that's causing me to tear my hair out a little. I am hoping it is merely a configuration issue on my part but I am beginning to think there may be a bug in the native-federation library.
I want to expose the ability for developers external to my repository to be able to create "plugins" for my app via native federation. The intent is that my main (shell) app provides Angular and some shared functionality in its entirety, and the plugin provides next to nothing other than its own components.
I currently have an example setup like this:
@my-project/
|- dist/
|- main/
| |- src/
| |- federation.config.js (shell app federation config)
| |- package.json
|- shared/
| |- src/
| |- ng-package.json (shared library ng-packagr config)
| |- package.json
|- angular.json (workspace-level Angular config)
|- package.json (workspace-level package.json)
|- tsconfig.json (workspace-level tsconfig)

plugin/
|- dist/
|- src/
|- angular.json
|- federation.config.js
|- package.json

The plugin app is at no point meant to be a fully standalone app - it merely is supposed to provide runtime components to the main app. This currently works as expected. Both apps declare all of the Angular modules as singleton shared modules, and I am able to load components from the plugin into the main app.
@my-project/shared is a library using the Angular Package Format. It is imported by both the main and plugin apps with the intent being that services inside are declared as singletons. This is currently working, however I'm seeing some unexpected behavior that is requiring me to do a bit of manual processing which I'm hoping to avoid if this is indeed a bug.
Because the plugin app is outside of the NPM workspace, I use npm link to link ./@my-project/dist/@my-project/shared to the plugin (in reality, the @my-project/shared package will be published internally, but either way, it's referring to the built output of @my-project/shared).
When I build the plugin app (while not skipping anything for testing), everything works as I'd expect. A file called _my_project_shared-0_0_1.js is created in its dist directory, and the plugin's remoteEntry.json contains the following:
    {
      "packageName": "@my-project/shared",
      "outFileName": "_my_project_shared-0_0_1.js",
      "requiredVersion": "0.0.1",
      "singleton": true,
      "strictVersion": true,
      "version": "0.0.1"
    },

However, when I build my main (shell/host) app, the results are different.
When I build the @my-project/main app, some strange things happen. While the main app seemingly correctly externalizes the shared library, there are some weird quirks.
While all of the Angular shared libraries are exported correctly (e.g. _angular_core-17_2_1.js), the shared project does not have a version number included: _my_project_shared-2QJEZZPT.js.
The main app's remoteEntry.json file also looks like this:
    {
      "packageName": "@my-project/shared",
      "outFileName": "_my_project_shared-2QJEZZPT.js",
      "requiredVersion": "",
      "singleton": true,
      "strictVersion": false,
      "version": ""
    }

At runtime, this causes two separate versions of @my-project/shared to be loaded. If I modify the main app's remoteEntry.json file to properly set the requiredVersion and version fields, the services become magically singleton and everything works as expected.
The first clue as to something being wrong occurs during build of @my-project/main:
 WARN  No entry point found for @my-project/shared
 WARN  If you don't need this package, skip it in your federation.config.js or consider moving it into depDependencies in your package.json
 WARN  No meta data found for shared lib @my-project/shared

I've determined that this is occurring because the native-federation builder is attempting to read the package.json file out of the @my-project/shared source directory rather than the built dist directory. An Angular Package Format project's package.json should not include any main/imports/external references, as these are provided by ng-packagr during build time.
I believe this behavior is incorrect, because while stepping through the build, I can see that the withNativeFederation function creates a config object that correctly references the path to the built library:
// federation.config.js
const config = withNativeFederation({
  name: 'main-app',
    shared: {
    ...shareAll({ singleton: true, strictVersion: true, requiredVersion: 'auto', eager: true }),
    "@my-project/shared": { singleton: true, strictVersion: true, requiredVersion: '0.0,1', version: '0.0.1' }
  },
  skip: [],
  sharedMappings: [
    '@my-project/shared'
  ]
});

console.log(config);
module.exports = config;

// Console output:
{
  name: 'main-app',
  exposes: {},
  shared: {
    '@angular/animations': {
      requiredVersion: '^17.1.0',
      singleton: true,
      strictVersion: true,
      version: '^17.1.0',
      includeSecondaries: undefined
    },
    // ... etc
    '@my-project/shared': {
      requiredVersion: '0.0.1', // Note: this is correct, but will be replaced with '' in remoteEntry.json)
      singleton: true,
      strictVersion: true,
      version: '0.0.1', // Note: same as above
      includeSecondaries: undefined
    }
  },
  sharedMappings: [
    {
      key: '@my-project/shared',
      path: '/path/to/src/@my-project/dist/@my-project/shared'
    }
  ]
}

Note that the path for @my-project/shared is correct at this point. If it attempted to read the package.json file from here, it would work as expected. However, during the build process, once the builder gets into package-info.js, the getPackageInfo() function seems to ignore the mapping path, causing it to look up the (incomplete) package.json file from the workspace root<EMAIL_ADDRESS>instead of the built directory src/<EMAIL_ADDRESS>I'm hoping I've just made a config error that you could point me towards, but if this is indeed a bug I hope all of this information helps.
If you'd like an example repo, I've provided https://github.com/nickbelling/AngularModules/tree/native-federation as a stripped-down example that should hopefully demonstrate the issue.
Like I said, I'm hoping this is simply a configuration issue on my part! Thanks in advance for looking into this.

Sorry to bump this, but I am hoping to integrate this library, and am just trying to figure out whether I need to manually modify the remoteEntry.json file post-build. Would it be possible to get a sanity check as to whether I just have a simple config option wrong, or whether this is a real issue that needs fixing at the native-federation level?

Can you also share the content of the tsconfig.json files?

Can you also share the content of the tsconfig.json files?

They are in the repo I linked above, but here are direct links:
https://github.com/nickbelling/AngularModules/blob/main/src/%40my-project/tsconfig.json
https://github.com/nickbelling/AngularModules/blob/main/src/%40my-project/main/tsconfig.app.json
https://github.com/nickbelling/AngularModules/blob/main/src/%40my-project/shared/tsconfig.lib.json
https://github.com/nickbelling/AngularModules/blob/main/src/plugin/plugin/tsconfig.json
https://github.com/nickbelling/AngularModules/blob/main/src/plugin/plugin/tsconfig.app.json

Can you also share the content of the tsconfig.json files?

I'm sorry totally missed the repo link thanks!
have you tried to change the paths in tsconfig to aim to the share project folder instead of the one in the dist folder
from
"paths": {
      "@my-project/shared": [
        "./dist/@my-project/shared"
      ]
    },

to something like:
"paths": {
      "@my-project/shared": [
<EMAIL_ADDRESS>      ]
    },

Sadly that doesn't seem to change anything. As I pointed out in the initial issue, it's searching for a package.json file. It's pointed at /dist because the package.json file for the shared library doesn't exist until it's built, but the getPackageInfo() method inside the native-federation builder's package-info.js is ignoring the mapping that would allow it to read that package.json''s version value.

@manfredsteyer I am so very sorry to tag you directly - but now, several months later, I am beginning to be more and more convinced there is a bug in /libs/native-federation-core/src/lib/utils/package-info.ts where it is ignoring the output of a tsconfig.json-path-redirected sharedMapping.
Note in my example repo (note the native-federation branch, not main), when running ng build @my-project/main from the /src/@my-project directory, the native federation builder fails to acknowledge the redirection for my shared library in tsconfig.json:

and produces a non-semver'd file both in the built output and the inputmap.json/remoteEntry.json files.

When I console.log the withNativeFederation output where I have passed the library as a sharedMapping, I can see that it successfully resolved the correct path to the shared library:
  sharedMappings: [
    {
      key: '@my-project/shared',
      path: '/Users/nickbelling/Code/AngularModules/src/@my-project/dist/@my-project/shared'
    }
  ]

This path has a built package.json file with a valid entry point.
However, the native federation builder is still outputting this:
 INFO  Building federation artefacts
 WARN  No entry point found for @my-project/shared
 WARN  If you don't need this package, skip it in your federation.config.js or consider moving it into depDependencies in your package.json
 WARN  No meta data found for shared lib @my-project/shared

And when I put a breakpoint in package-info.js where that line is called during the build process, I can see that it instead looked up the actual location of the source library's package.json (as it exists prior to ng-packagr building it) instead of the location provided to it from the withNativeFederation output (as it exists in the /dist folder after being built).
Again, I apologise for the direct tag. I am hoping you can just point me at a fundamental mistake I have made, however if I have, I cannot see it.


Achievements not working

Hello again. Sorry to open an issue for this, but my achievements are still not working on epic. Can I check that the code for the achievements in game is correct?
In script.rpy:
label splashscreen:
$ status.game_menu_screen = None
if 'epicapi' in globals():
    $ epicapi.init()

show splash

return

I've included epic.rpy and epic_eos.rpe in my game folder (with my own IDs). I also have 01epic_dev.rpy (with my own sandbox IDs) but I'm unsure what it's used for. I have the DevAuthTool and have made a key but do not understand what I'm meant to be using it for. It says the key has never been used, anyway.
Libs are also included in the top folder (beside game folder).
I haven't changed the achievement code at all (where the achievements register). Right now, I've left it the same as Steam... Is that correct?
if not achievement.has("chapter5"):
$ achievement.grant("chapter5")
init:
$ achievement.register("chapter5")
$ achievement.sync()
$ achievement.sync()
Sorry to ask. I sent a support ticket to Epic last week but they have not replied and I'm at a loss. I'd really like to include epic achievements in my game.

Hi, thank you again for your interest in the project.

I also have 01epic_dev.rpy (with my own sandbox IDs) but I'm unsure what it's used for.

When running a game through the Epic Games launcher, the launcher provides information to the game to permit login. When developing the game (and running it out of the launcher), this information is not available and 01epic_dev.rpy should be used to provide information that allows you to login despite the launcher not providing it.

I have the DevAuthTool and have made a key but do not understand what I'm meant to be using it for.

When working on your game, run the DevAuthTool, authenticate in it and ensure the name of the key matches the config.epic_userpassword. From this point on, and as long as the DevAuthTool is running, your game should have no issue logging you into Epic Game's infrastructure.

It says the key has never been used, anyway.

This should not happen if you start your game after logging in with the DevAuthTool. Ensure that the config.epic_userlogin is set to 'localhost:6547' (with 6547 the port number the DevAuthTool asks for when starting), that config.epic_authtype is set to 'developer', and that config.epic_userpassword matches the key you set after logging in with the DevAuthTool.

I haven't changed the achievement code at all (where the achievements register). Right now, I've left it the same as Steam... Is that correct?

Yes
If you'd like to vocal/set-up a screen-sharing session so we can take a look, contact me on discord

Fixed via discord, providing the short-form solution here.
1 - When testing with the Epic Dev Auth tool, the config.epic_userpassword should match the key shown in the following image, and not one of the other values visible in the 'credentials' section

2 - When testing, ensure that the achievements are cleared or that no check is set-up before granting the achievements. With code like the following, achievements must be cleared before they are tested (see The login succeeds but unlocking achievements fails in the FAQ):
if not achievement.has('my_achievement'):
    $ achievement.grant('my_achievement')

When testing with epic, achievements may need to be cleared manually. See Achievements granted once stay granted even after clearing them in the FAQ
Thanks to Kinmoku for their patience and their help in shedding light on those issues so they could be documented.


How to add "Confirm Password" Fields

Been wrecking my head on figuring out how to make a Confirm Password field when Signing In and also Changing Password. Any help would be great.

Alright, this feels important, I'm going to make this easier for the next version.

+1 definitely for signing up new account, thank you!

Close or not, @timbrandin?

close, one can build this with the current architecture.


[5.6] Add 'encrypted' eloquent model cast

Adds in a new cast option for Eloquent models: encrypted, which provides seamless encryption and decryption of values stored in the database. The idea is to provide a trivial way to encrypt sensitive information before it is stored and decrypt it again when it is retrieved, without the developer needing to remember in each instance. In the same way that other formats like JSON are accepted.
Using it is trivial:
protected $casts = ['attribute' => 'encrypted'];

$model->attribute = 'raw value';

echo $model->attribute;
// raw value

All the magic is contained in the model, as you would expect with a cast.
The main motivator for this is GDPR, which requires personal data to be properly secured. This cast type provides an easy way to add an extra layer of protection around personal data. Even if someone is able to obtain a copy of the database, they cannot read the raw values. They'd need the Laravel encryption key AND the database to obtain any personal data. Even if you're not complying with GDPR, from a security point of view being able to automatically encrypt data would be incredibly useful for many applications.
I used the Crypt facade in there, but I'm not sure what the convention is around facades within Eloquent so I'm happy to fix up the PR if there is a better way.

like the general idea.
do we essentially give up all power to query the database based off these encrypted fields now?

@browner12 Basically, yes. If you need to encrypt some data, then you can't search it. If you need to search for it, then you can't decrypt it. That's the wonderful trade-off of security...
Well, that's not entirely true, you could store a non-salted hash of the raw value and search against that for exact matches. There are probably other methods too. 😄

Hrm, that Travis CI fail seems unrelated to this PR, btw...
1) Illuminate\Tests\Integration\Http\ThrottleRequestsTest::test_lock_opens_immediately_after_decay
Failed asserting that 1 matches expected 2.
/home/travis/build/laravel/framework/tests/Integration/Http/ThrottleRequestsTest.php:55

would there be a process for dealing with updated encryption methods? currently Laravel uses AES-256-CBC, but one can imagine a day when that is no longer consider best practice.   What would the process be like porting all of your information over to the new encryption standard?

You can already achieve this with accessors and mutators.
I really feel like this model casting going way beyond it's use case, even the date time stuff doesn't make sense to me. You are transforming the data into something else, i wouldn't say it's casting to a different type..
Im also the sort of guy to say focus on your infrastructure security rather than trying to encrypt anything.. It's all pointless overhead if someone gets access to your app server anyway.
But hey thats just my opinion.

You can already achieve this with accessors and mutators.

Yeh, I agree.

Not planning on adding to core.

To be fair, you can achieve all the castings with accessors and mutators.   I believe it becomes a question of convenience.
Do we need to readdress custom user-defined castings?

Do we need to readdress custom user-defined castings?

I think they are definitely needed, from a user convenience point of view. Having to apply the same casting to multiple attributes of a model is incredibly tedious.

reference to the last try at this. #18229


Issue #7600 should not be closed, because it is not resolved

@Rick-Anderson: #7600 is not resolved. If learners go through this tutorial following the Visual Studio steps (not the dotnet cli steps), they will run into the same issue described in #7600 when they get to this part of the tutorial. For some reason, at this point in the tutorial you instruct users to close Visual Studio and work from the command line, but they aren't properly set up to work from the command line, even with the update you made to "resolve" #7600. You really need to work out what is missing from the dotnet command line tasks for users who have used Visual Studio/PowerShell when presented with an option between that and dotnet CLI once they arrive at this step; otherwise they'll simply be stuck.

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

ID: d0026f69-7e5d-0d3e-5586-16ecc0656ff0
Version Independent ID: 3cb264da-2ff1-1256-572f-aa4ebca6e255
Content: Razor Pages with EF Core in ASP.NET Core - Read Related Data - 6 of 8
Content Source: aspnetcore/data/ef-rp/read-related-data.md
Product: aspnet-core
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

FYI, I went back to this tutorial section and repeated those steps, using the Course model instead, to work around this issue (i.e. create a Pages/Courses folder, then follow those earlier steps, using the Course model when generating the scaffolding).

It's missing the choice between Visual Studio and the dotnet CLI, providing the exact same instructions that are offered here, but instructing users to use the Course model instead of the Student model. The dotnet CLI instructions really only work if you started using them from the beginning of the tutorial.

Hi Kirk, I replied to one of your posts previously regarding this issue. Were you able to see my response?

I agree with you that this issue should not be closed. Kirk, I tried to scaffold the Course model following the instructions you sent and I got this error instead (See second image below). Any ideas on how to fix this?

The instructions have been updated. Your project file is incorrect.

I have followed the updated instructions and that is the error its giving me. Project file is not incorrect. Please see screenshots attached in my previous message.

That's not correct. Project file should be
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.2" />
  </ItemGroup>

</Project>

Do you have the .NET Core SDK 2.1 installed?

Just letting you know that I resolved the issues that I was having with the scaffolding of the Course model and I was able to finish the whole Razor pages with EF Core in ASP.NET Core tutorial thanks to the tutorial updates. Thank you for all the help Kirk and Rick, really appreciate it.


[FIXED - Implemented] [Feature Request] Parse .osu Files As Taitai (multiple files)

Discussed in https://github.com/TeamRizu/OutFox/discussions/405

Originally posted by TRRESTGHGYTCFTGBCXSZD August  9, 2021
Is your feature request related to a problem? Please describe.
There's Taitai mode here but it has no osu parser. please add this
Describe the solution you'd like
Parse BPM Inside [TimingPoints] (60000/BPM)
Because osu Resets Measure To 0 When Bpm Changes, It Needs To Rounded By 192th To Change Bpm.
IGNORE NEGATIVE VALUES, THOSE ARE NOT BPM.
How To Do?
[TimingPoints]
6966,166.527893422148,8,1,0,100,1,0
18956,-100,4,1,0,100,0,1
↓ ↓ ↓
#BPMS:6.966=360.300,
Always Parse As Edit With Description Containing [Metadata] Version:
Like
[Metadata]
Version:Ono's Taiko Oni;
↓ ↓ ↓
#DESCRIPTION:Ono's Taiko Oni;
Additional context
41823 The Quick Brown Fox - The Big Black.zip

fixed in 042


Config both MQTT in and out nodes causes disconnection

What are the steps to reproduce?

create a new flow
config MQTT in and out nodes, and set the same broker url
the broker allow only one connection per client

What happens?
Only one mqtt node could in the connected status, with a 60 seconds re-conn, if the in node connected, then the out node got kicked.
What do you expect to happen?
shared connection? both the in and out nodes could connect
Please tell us about your environment:

[ ] Node-RED version: v1.0.1
[ ] Node.js version: v10.16.0
[ ] npm version: 6.9.0
[ ] Platform/OS: Darwin 18.2.0 x64 LE
[ ] Browser: chrome

How many MQTT config nodes do you have? There should only be one shattered between both the MQTT-in & MQTT-out node

and if you do have two then they need to have different clientid s (or use random ones)

How many MQTT config nodes do you have? There should only be one shared between both the MQTT-in & MQTT-out node

i cleaned all other config nodes then both in&out nodes connected ok
thanks

and if you do have two then they need to have different clientid s (or use random ones)

the clientId was fixed per username


Allow empty string values for $__conditionAll macro

Fixes #947 but may also break #262.
It makes sense to allow empty strings for this macro, anyone who wishes to exclude the macro can use $__all in their query to get the 1=1 functionality.
Changes:

Empty string will no longer replace the macro with 1=1
Changelog

Hi @SpencerTorres , is there any chance the PR will be merged and available in the upcoming releases?

@sbengo I agree we need to be careful with changing the behavior of this macro, I think we'll follow the suggestion of making a new one for the new behavior


add constraint for rw counter

current design:

for all case on word end:

rows[0].rw_counter + 1 == rows[1].rw_counter
rows[0].rwc_inc_left - 1 == rows[1].rwc_inc_left

for non-memory2memory:

on 0 <= word_index < 31:

rows[0].rw_counter == rows[1].rw_counter
rows[0].rwc_inc_left == rows[1].rwc_inc_left

on word end:

Memory -> TxLog: (covered by global rule)

rows[0].rw_counter + 1 == rows[1].rw_counter
rows[0].rwc_inc_left - 1 == rows[1].rwc_inc_left

others:

for read step: rows[0].rw_counter == rows[2].rw_counter
for read step: rows[0].rwc_inc_left == rows[2].rwc_inc_left

for memory2memory:

on 0 <= word_index < 31:

on read_step: rows[0].rw_counter + 1 == rows[1].rw_counter
on every step:

rows[0].rw_counter == rows[2].rw_counter
rows[0].rwc_inc_left == rows[2].rwc_inc_left

on word end: (covered by global rule)

rows[0].rw_counter + 2 == rows[2].rw_counter
rows[0].rwc_inc_left - 2 == rows[2].rwc_inc_left

To generialize the constaint and reduce the degree, may use the following approach?
rows[0].rw_counter + a == rows[1].rw_counter
rows[0].rwc_inc_left - a == rows[1].rwc_inc_left

rows[0].rw_counter + b == rows[2].rw_counter
rows[0].rwc_inc_left - b == rows[2].rwc_inc_left

Note: some test failed after merge @DreamWuGit


Add Feature Ethereum Development Resources

this pull request Adds Ethereum development resources.

🛠 Fixes Issue

closes #68

👨💻 Changes proposed
Addition of Ethereum development resources

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

Great additions! :) Scaffoldeth.io times out for me though, I can't load the link :( I will need someone else to take a look, Francesco will probably review on an upcoming live stream.

thank you! scaffoldeth.io seems to work fine for me. hehe, will be on the lookout for the review!

I am also having trouble accessing the scaffoldeth.io link as pasted in your request: getting an error returning webpage timed out. Seems to likely be an issue on their end, maybe their repository link would suffice till the site is straightened out?
https://github.com/scaffold-eth/scaffold-eth

ah, let's replace it with the github link, then


Enhance diff_l10n_branches script output

script/diff_l10n_branches.py script generates a report of outdated contents in content/ directory by comparing two l10n team milestone branches. (for example, https://github.com/kubernetes/website/issues/25521)
This PR enhances output of the diff_l10n_branches script.
With this PR, we can easily check Index of outdated files and Size of changed amount (if the changes is larger than Size/L, highlight.
Usage example:
$ scripts/diff_l10n_branches.py ko upstream/dev-1.19-ko.6 upstream/dev-1.20-ko.1
output of existing diff_l10n_branches.py

[ ] content/en/docs/setup/production-environment/container-runtimes.md 1 file changed, 3 insertions(+), 3 deletions(-)
[ ] content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md 1 file changed, 34 insertions(+), 65 deletions(-)
[ ] content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md 1 file changed, 2 insertions(+), 2 deletions(-)
[ ] content/en/docs/setup/release/notes.md 1 file changed, 1656 insertions(+), 2119 deletions(-)
[ ] content/en/docs/tasks/administer-cluster/highly-available-master.md 1 file changed, 33 insertions(+)
[ ] content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md 1 file changed, 74 insertions(+), 19 deletions(-)

(after revision) output of enhanced diff_l10n_branches.py

[ ] M41.  content/en/docs/setup/production-environment/container-runtimes.md  | 3(+XS) 3(-)
[ ] M42.  content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md  | 34(+M) 65(-)
[ ] M43.  content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md  | 2(+XS) 2(-)
[ ] M44. content/en/docs/setup/release/notes.md  | 1656(+XXL) 2119(-)
[ ] M45.  content/en/docs/tasks/administer-cluster/highly-available-master.md  | 33(+M) 0(-)
[ ] M46.  content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md  | 74(+M) 19(-)

PTAL: @kubernetes/sig-docs-ko-reviews @bradtopol

Isn't calling git diff --stat a much simpler way with a much cleaner output?

@tengqm Thank you for sharing the idea !
I agree that git diff --stat shows cleaner output.
content/en/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md   |  305 +--
The --stat output shows summation of both insertion and deletion lines with +- characters.
However, since the number of inserted lines is a key factor for this output report (it is important when we assign jobs to multiple contributors), I think using inserted lines directly as output is more beneficial rather than sum of both insertion and deletion lines.
Considering your comments and the output style of diff --stat, I updated PR to produce a simpler output as follows.
Output before revision

[ ] [M:41] (XS) content/en/docs/setup/production-environment/container-runtimes.md 3 insertions(+), 3 deletions(-)
[ ] [M:42] (M) content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md 34 insertions(+), 65 deletions(-)
[ ] [M:43] (XS) content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md 2 insertions(+), 2 deletions(-)
[ ] [M:44] (XXL) content/en/docs/setup/release/notes.md 1656 insertions(+), 2119 deletions(-) :heavy_exclamation_mark:
[ ] [M:45] (M) content/en/docs/tasks/administer-cluster/highly-available-master.md 33 insertions(+)
[ ] [M:46] (M) content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md 74 insertions(+), 19 deletions(-)

Output after revision

[ ] M41.  content/en/docs/setup/production-environment/container-runtimes.md  | 3(+XS) 3(-)
[ ] M42.  content/en/docs/setup/production-environment/windows/intro-windows-in-kubernetes.md  | 34(+M) 65(-)
[ ] M43.  content/en/docs/setup/production-environment/windows/user-guide-windows-containers.md  | 2(+XS) 2(-)
[ ] M44. content/en/docs/setup/release/notes.md  | 1656(+XXL) 2119(-)
[ ] M45.  content/en/docs/tasks/administer-cluster/highly-available-master.md  | 33(+M) 0(-)
[ ] M46.  content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md  | 74(+M) 19(-)

PTAL: @tengqm

@seokho-son I'd prefer simpler outputs. For example, the ratings (X, XXL, M, S) are nice to have, though not making a big difference.  Considering that this is a tool targeting contributors, whatever formats that satisfy the team would be okay.
LGTM

Squashed the commits. :)

:wave: @seokho-son . I am looking through the changes and output.
Does the string/tag, +M equal the number of total changes, for example 50-100? I am trying to understand
how the letters codify the amount of changes.
 M46. content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md | 74(+M) 19(-)

:wave: @seokho-son . I am looking through the changes and output.
Does the string/tag, +M equal the number of total changes, for example 50-100? I am trying to understand
how the letters codify the amount of changes.
 M46. content/en/docs/tasks/administer-cluster/kubeadm/adding-windows-nodes.md | 74(+M) 19(-)

@seokho-son Thanks for addressing the feedback you've received. I'll approve and leave LGTM from another reviewer.
@kbhawkey Is your question blocking? If so, please free to /hold, otherwise to /lgtm. 🙇🏻
/approve

@seokho-son Thanks for addressing the feedback you've received. I'll approve and leave LGTM from another reviewer.
@kbhawkey Is your question blocking? If so, please free to /hold, otherwise to /lgtm. 🙇🏻
/approve

Thanks @seokho-son !
/lgtm

Thanks @seokho-son !
/lgtm


FPS

Hello, can you please tell me how to calculate FPS in openpcdet?

https://github.com/CVMI-Lab/SparseKD/blob/2e00edef6b94fb208ba64193940bc856e5effbcb/tools/test.py#L42


Consolidate manual changes into CloudFormation

The ticket: https://www.pivotaltracker.com/story/show/173948127
In order to expedite the completion of the above spike ticket, some AWS resources were manually added in.
Now that the spike is over, I wanted to consolidate the manual changes into a CloudFormation template.
Tasks

DONE Replace port 80 with port 443 for jenkins-2-MasterELBSG-GJSQQGD3NQ81 (sg-01b57de8d8ecd731d).
ABANDONED Add SG rules to jenkins-2-MasterELBSG-GJSQQGD3NQ81 (sg-01b57de8d8ecd731d):

Type
Protocol
Port range
Source
Description - optional

HTTPS
TCP
443
<IP_ADDRESS>/32
HTTPS from home network of Richard Bullington-McGuire

HTTPS
TCP
443
<IP_ADDRESS>/32
HTTPS from OMF VPN NAT address detected by Google

HTTPS
TCP
443
<IP_ADDRESS>/22
HTTPS from ZScaler Chicago IP egress range temp experiment

HTTPS
TCP
443
<IP_ADDRESS>/32
HTTPS from Modus HQ in Reston VA

HTTPS
TCP
443
<IP_ADDRESS>/23
HTTPS from ZScaler Chicago IP egress range 3 temp experiment

HTTPS
TCP
443
<IP_ADDRESS>/23
HTTPS from ZScaler Chicago IP egress range 2 temp experiment

HTTPS
TCP
443
<IP_ADDRESS>/24
HTTPS from ZScaler Chicago IP egress from NET-165-225-0-0-1

HTTPS
TCP
443
<IP_ADDRESS>/24
HTTPS from ZScaler Chicago IP egress from NET-164-225-0-0-1

HTTPS
TCP
443
<IP_ADDRESS>/32
HTTPS from home network of Ritesh Patel (2020-10-06)

HTTPS
TCP
443
<IP_ADDRESS>/24
HTTPS from ZScaler Chicago IP egress from NET-165-225-0-0-1

HTTPS
TCP
443
<IP_ADDRESS>/32
HTTPS from home network of Housni Yakoob (2020-10-29)

Conclusion: These should probably be added manually since they will change

DONE Add listener at port 443 to ALB with ARN arn:aws:elasticloadbalancing:us-east-1:904550864115:loadbalancer/app/jenki-Maste-KT9CMIZP8FJI/418e59ab1df867c9.
ABANDONED Add wildcard certificate for *.exp1.meanion.com (arn:aws:acm:us-east-1:904550864115:certificate/9edeccfd-f69e-4db2-b43f-4f0743495bf4) and add DNS alias for j2.exp1.meanion.com to map to the ALB.
ABANDONED Jenkins should be listening at https://jenki-maste-kt9cmizp8fji-1029594054.us-east-1.elb.amazonaws.com/, but with a self-signed certificate for now until we work out what certificate and DNS name it would really get when it gets promoted.
The current certificate is in ACM as arn:aws:acm:us-east-1:904550864115:certificate/ca525f74-1f39-4e2a-b614-71b82fa29c0e and can also be seen here: https://www.pivotaltracker.com/story/show/173948127/comments/217203179
ABANDONED Create a shim template with the same outputs as the one from the source template for exp1.meanion.com
DONE Add ECR for Ansible to CloudFormation

I'm editing the description of this issue to eliminate the IP addresses and notations there to protect the privacy and confidentiality of the owners. They are not in the code itself.


chalk.bold does not work on macOS 10.12.6 and Node.JS 10

It's green but not bold.
let chalk = require('chalk');
let log = console.log;

log(chalk.green.bold('### Listening on port %d in mode %s ###'), config.server.port, config.env.toUpperCase());

chalk ^2.4.1
macOS 10.12.6
NodeJS 10.0.0

What terminal?
Thanks,


[PDI-17878] Wrong path is resolved when using {Internal.Entry.Current…

….Directory} in KTR called by CDA

:white_check_mark: Build finished in 27m 2s
Build command:
mvn clean verify -B -e -Daudit -amd -pl engine

:ok_hand: All tests passed!
Tests run: 3682, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


"Insufficient balance" wrong message at wrong time.

https://user-images.githubusercontent.com/68264080/142745862-bcfedf56-2085-491c-9b87-92171d095e02.mp4

Verified this issue on live app v2.0.5(381)


add optional automatic defmt implementation

This PR adds a defmt option to the bitfield macro, which adds code to implement defmt::Format. It also adds info to the README and a few appropriate tests.
Some implementation notes you might want to know:

Defmt has built-in support for bitfields which leads to a very compact representation, however this method always outputs plain integers for the fields. I chose not to use this, and instead format each field separately, in order to take advantage of the defmt::Format implementations on any custom types. I feel like this better matches the default fmt::Debug implementation. I considered doing both, and making it configurable, but that seemed like too big a change.

This macro assumes any type named u8 is the primitive u8, etc. This is also what the official defmt derive macro does, to more efficiently encode these values. It looks like the bitfield macro already makes this assumption when figuring out default bit widths, so probably not a big deal.

The generated code uses defmt to refer to defmt, and not ::defmt. This is what the defmt crate itself does in its own macros, for some pretty subtle reasons. I've added a big comment in the code about this, to hopefully prevent somebody from 'fixing' it.

Please let me know if you would like any changes, or have any questions!

I'll start on these changes, I just have a few clarifying questions first...

Ok, I removed the extra #[cfg(test)] and moved the debug implementations into implement_debug. I've left these as separate commits for the sake of discussion, but of course you can squash them (or not) as you please.
If you're keeping the separate boolean flags, some other projects use e.g. #[bitfield(u16, defmt = true)] to unconditionally implement defmt, and #[bitfield(u16, defmt = "flag")] to conditionally implement it behind a feature flag. I'd be happy to add that (for debug also??), but since it mixes argument types I know not everybody is happy about that.

Ok, thanks for the changes. I merge this.

If you're keeping the separate boolean flags, some other projects use e.g. #[bitfield(u16, defmt = true)] to unconditionally implement defmt, and #[bitfield(u16, defmt = "flag")] to conditionally implement it behind a feature flag. I'd be happy to add that (for debug also??), but since it mixes argument types I know not everybody is happy about that.

Let's do this in another PR, as accessing features inside proc macros is a bit tedious.

Let's do this in another PR, as accessing features inside proc macros is a bit tedious.

Oh? It's more complicated than adding #[cfg(feature = #feature_name)] before the impl inside the quote?

Ive extended this to support arbritrary cfg attributes in afa7fd8774ad70ec68b6c731794afc3bac729d62


Fix tests by waiting for the footer to show up

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/retest

/retest

/test pre-busola-integration-test-k3s

/retest

/test pre-busola-integration-test-k3s

/test pre-busola-integration-test-k3s

/retest

/retest

/test pre-busola-integration-test-k3s


rule mask_self fails on Docker container

I'm trying to use dentist on a docker container, but the example always fails during the mask_self step. From my mac, I'm starting the container using docker run -it --rm=true --platform linux/x86_64 centos:7 /bin/bash. I'm then running the following:
yum update -y -q
yum install -y wget

wget https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-Linux-x86_64.sh
sh Mambaforge-Linux-x86_64.sh -b -p /opt/mamba3
export PATH=/opt/mamba3/bin:$PATH
rm Mambaforge-Linux-x86_64.sh

mamba install -c conda-forge -c bioconda -y snakemake

wget https://github.com/a-ludi/dentist/releases/download/v3.0.0/dentist-example.tar.gz
tar -xzf dentist-example.tar.gz
cd dentist-example

snakemake --configfile=snakemake.yml --use-conda --cores=1

This causes the following error:
Error in rule mask_self:
    jobid: 11
    output: workdir/.reference.dentist-self.anno, workdir/.reference.dentist-self.data
    log: logs/mask-self.reference.log (check log file(s) for error message)
    conda-env: /dentist-example/.snakemake/conda/850bc5c09e81d3d6b875839f8fe0ed70
    shell:
        dentist mask --config=dentist.yml  workdir/reference.dam workdir/reference.reference.las dentist-self 2> logs/mask-self.reference.log
        (one of the commands exited with non-zero exit code; note that snakemake uses bash strict mode!)

The contents of logs/mask-self.reference.log:
{"executableVersion":"v3.0.0","refDb":"workdir/reference.dam","readsDb":"","dbAlignmentFile":"workdir/reference.reference.las","repeatMask":"dentist-self","configFile":"dentist.yml","debugRepeatMasks":false,"help":false,"maxCoverageReads":4294967295,"coverageBoundsReads":[0,0],"maxCoverageSelf":3,"coverageBoundsSelf":[0,3],"maxImproperCoverageReads":4294967295,"improperCoverageBoundsReads":[0,0],"properAlignmentAllowance":100,"quiet":false,"readCoverage":20,"revertOptionNames":[],"tracePointDistance":100,"verbosity":2}
{"thread":274939902976,"logLevel":"diagnostic","timestamp":637783965479794038,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.run","state":"enter"}
{"thread":274939902976,"logLevel":"diagnostic","timestamp":637783965479801084,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.readInputs","state":"enter"}
{"thread":274939902976,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783965479844193,"action":"execute","type":"pipe"}
{"thread":274939902976,"logLevel":"diagnostic","timestamp":637783965480006401,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.readInputs","state":"exit","timeElapsed":203652}
{"thread":274939902976,"logLevel":"diagnostic","timestamp":637783965480009609,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.run","state":"exit","timeElapsed":208842}
core.exception.AssertError@source/dentist/util/process.d(215): Attempting to fetch the front of an empty LinesPipe
----------------
??:? _d_assert_msg [0x40010b3e06]
??:? uint dentist.dazzler.numDbRecords(in immutable(char)[]) [0x4000dbef18]
??:? dentist.util.process.LinesPipe!(dentist.util.process.ProcessInfo, 0).LinesPipe dentist.dazzler.dbdump!(ulong[]).dbdump(in immutable(char)[], ulong[], in immutable(char)[][]) [0x4000dcbdad]
??:? uint[] dentist.dazzler.LocalAlignmentReader.contigLengths(immutable(char)[]) [0x4000dbfff3]
??:? dentist.dazzler.LocalAlignmentReader dentist.dazzler.LocalAlignmentReader.__ctor(const(immutable(char)[]), immutable(char)[], immutable(char)[], dentist.dazzler.BufferMode, dentist.common.alignments.base.TracePoint[]) [0x4000dbfc21]
??:? void dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.readInputs() [0x4000c73d52]
??:? void dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.run() [0x4000c73b09]
??:? dentist.commandline.ReturnCode dentist.commandline.runCommand!(2).runCommand(in immutable(char)[][]) [0x4000bbd656]
??:? dentist.commandline.ReturnCode dentist.commandline.run(in immutable(char)[][]) [0x4000b2850d]
??:? _Dmain [0x40009bee67]

Strangely, I can run the same series of commands on a CentOS 7 cluster with no issue. The contents of logs/mask-self.reference.log for the successful run are
{"executableVersion":"v3.0.0","refDb":"workdir/reference.dam","readsDb":"","dbAlignmentFile":"workdir/reference.reference.las","repeatMask":"dentist-self","configFile":"dentist.yml","debugRepeatMasks":false,"help":false,"maxCoverageReads":4294967295,"coverageBoundsReads":[0,0],"maxCoverageSelf":3,"coverageBoundsSelf":[0,3],"maxImproperCoverageReads":4294967295,"improperCoverageBoundsReads":[0,0],"properAlignmentAllowance":100,"quiet":false,"readCoverage":20,"revertOptionNames":[],"tracePointDistance":100,"verbosity":2}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913924743264,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.run","state":"enter"}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913924743707,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.readInputs","state":"enter"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783913924766164,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","-h","workdir/reference.dam"],"timestamp":637783913924790405,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783913924830211,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","-h","workdir/reference.dam"],"timestamp":637783913924851842,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913924889160,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.readInputs","state":"exit","timeElapsed":145216}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913924889516,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.assessRepeatStructure","state":"enter"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783913924890069,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","-r","-h","workdir/reference.dam"],"timestamp":637783913924911577,"action":"execute","type":"pipe"}
{"alignmentType":"self","thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913925023014,"repetitiveRegions":null,"numRepetitiveRegions":185}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913925023427,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.assessRepeatStructure","state":"exit","timeElapsed":133711}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913925023646,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.writeRepeatMask","state":"enter"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783913925025791,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","state":"pre","command":["DBdump","workdir/reference.dam"],"timestamp":637783913925047965,"action":"execute","type":"pipe"}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913925069691,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.writeRepeatMask","state":"exit","timeElapsed":45797}
{"thread":22377401060544,"logLevel":"diagnostic","timestamp":637783913925069958,"function":"dentist.commands.maskRepetitiveRegions.RepeatMaskAssessor.run","state":"exit","timeElapsed":326260}

I've also tried this on the condaforge/mambaforge:4.11.0-0 container, but I get the same error.
Any insights are greatly appreciated!

Hi, that seems strange. I have no clue what is going on. I suspect it has nothing directly to do with DENTIST. It might be something file system-related.
What's the output of DBdump workdir/reference.dam? Is it empty?

I just re-ran the exact same commands and am getting a new error:
SourceFileError in line 78 of /dentist-example/Snakefile:
Error in source file definition: must be given as Python string or one of the predefined source file marker types (see docs)
  File "/dentist-example/Snakefile", line 775, in <module>
  File "/dentist-example/Snakefile", line 78, in prefetch_conda_env

I'm completely confused now, especially since it works fine when it's not on a docker container. I'd be okay closing this issue since it doesn't appear to be a problem with DENTIST.

I tried running your code on my machine. First, I could reproduce the latest error which occurred because of an update to Snakemake. I have created a patch (will be included in next version). Please try applying it to see if the error vanishes:
wget https://github.com/a-ludi/dentist/files/8031044/snake.patch.txt
yum install -y patch
patch Snakefile snake.patch.txt

After this first fix, everything works as expected, though. It seems your original error is related to the machine you are running Docker on or its setup/configuration. You could try it on a different machine.


Improve parameters management for compatibility with future kedro versions

Description
Currently, to detect whether an item of the DataCatalog is a parameter, I hardcoded a test to check if it begins with params:.
Context
Since future kedro versions will no longer make this "prefix" mandatory (see CHANGELOG - Release 0.18.0 ), it will break our existing test and prevent logging some parameters. For stability and easier migration to future version, we should create a better way to make this test.
Possible Implementation
Create _is_kedro_parameter() and get_parameter_name() functions to check if an item is a parameter and extract the name (instead of hardcoding item[7:] to extract the name without the prefix.
Possible Alternatives
Check if kedro provides utilites to extract such information. The associated commit is https://github.com/quantumblacklabs/kedro/commit/94ca7cc44eef31f6da61a529f86e6a39cfd89f59

After a detailed read of the code, the params: prefix will be kept inside the nodes declaration. It can be removed when calling the pipeline function to filter / namespace an existing pipeline. This is only for convenience when programatically accessing the pipeline, but the prefix will be added by the _get_param_names_mapping function.
There is no need to change parameter management for now.


Upgrade dependency versions

@chingor13 Trying to bring these into sync with google-cloud-java and libraries-bom
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.RequireUpperBoundDeps failed with message:
Failed while enforcing RequireUpperBoundDeps. The error(s) are [
Require upper bound dependencies error for com.google.auth:google-auth-library-oauth2-http:0.15.0 paths to dependency are:
+-com.google.cloud.tools.opensource:upper-bounds-check:2.0.0-SNAPSHOT
  +-com.google.cloud:google-cloud-core:1.79.0
    +-com.google.api:gax:1.46.1
      +-com.google.auth:google-auth-library-oauth2-http:0.15.0
and
+-com.google.cloud.tools.opensource:upper-bounds-check:2.0.0-SNAPSHOT
  +-com.google.cloud:google-cloud-storage:1.79.0
    +-com.google.cloud:google-cloud-core-http:1.79.0
      +-com.google.auth:google-auth-library-oauth2-http:0.16.1
and
+-com.google.cloud.tools.opensource:upper-bounds-check:2.0.0-SNAPSHOT
  +-com.google.cloud:google-cloud-storage:1.79.0
    +-com.google.cloud:google-cloud-core-http:1.79.0
      +-com.google.api:gax-httpjson:0.63.1
        +-com.google.auth:google-auth-library-oauth2-http:0.15.0

@chingor13 You'll need to merge this one.


The "globe" is scrollable

The div containing the spinning globe (class="globe-mask") is scrollable. Please can be make it not scrollable?

Sorry- just seeing this (long queue of emails). What device(s), browser(s), and version(s) are you seeing this on specifically?

I'm seeing it on Chrome on Mac. e..g
http://cloudant-location-tracker-nonheretical-chequerboard.mybluemix.net/#/welcome
Just try and scroll the globe and it disappears.
the .globe style has "overflow-x:hidden". If you add "overflow: hidden", then that fixes it.


Use internal test utils rather than testify package

For #208
WIP, I still need to go through and add useful messages to a lot of the tests. Could probably use some help there. All the tests pass locally.
I moved util_test.go to a separate package.
cc: @Gouthamve @fabxc

Thanks, this was probably quite tedious. Much appreciated :)


Swift Package Manager Support for Validator

Are there any plans to add support for SPM?

Yeah it's planned. Will comment here once I get the time.

Would you accept a PR to add support for it?

Hello! I just opened PR #132 to address this.

@adamwaite could you also cut a new version for the SPM support? The last version was from July but SPM support merged in November. This means that consumers have to select 'master' instead of a version range from Xcode.

@adamwaite can you set the deployment target for iOS as 9.0 and tvOS as 10.0.


Can't maximize youtube video

Can't maximize youtube video when clicking on the maximize button (which is in red rectangle in the following photo)
Android Version: 8.1

Jimber guys are working on new mobile app.
no need to work on this now


Using test engine with Quick testing library gets "Unable to parse line" error

It seems that the test engine is looking for results with test methods to start with the word test. This is not required by Quick specs. I created a quick (pun intended) example repo with specs that pass in Xcode and at the command line but have weird parse errors.
> arc unit
Unable to parse line:
Test Case '-[QuickArcExampleTests.CalculatorSpec calculator__should_add_two_numbers]' passed (0.004 seconds).
Unable to parse line:
Test Case '-[QuickArcExampleTests.CalculatorSpec calculator__should_subtract_two_numbers]' passed (0.000 seconds).

I believe it; the parsing we're doing right now is pretty rudimentary. Is there a better pattern to use?

This is likely the line causing this problem:
https://github.com/google/arc-xcode-test-engine/blob/develop/parser/XcodeTestResultParser.php#L86


Lacking documentation

Is there a documentation of the tags beside me having to go through the source code and guess what's doing what?

Not really, sorry. That would be a good additional to the README. Personally though, I try to avoid using the tags, they get too long for anything other than a few basic details. The JSONSchema and new JSONSchemaExtend methods are way easier to use.


feat: Enable API Hub

Creating attribute with immutable fails, if removed works.
gorun --org=$ORG --region=us-central1 apihub attributes create \
    --id=apigeecli-enum \
    --display-name="Apigee CLI Enum" \
    --description="Example enum attribute" \
    --data-type=ENUM \
    --allowed-values=enum_values.json \
    --scope=DEPLOYMENT \
    --cardinality=1

{
  "error": {
    "code": 400,
    "message": "The request was invalid: Invalid value \"true\" specified for \"attribute.allowed_values[2].immutable\"",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {}
        ]
      },
      {
        "@type": "type.googleapis.com/google.rpc.RequestInfo",
        "requestId": "6d78085527332110"
      }
    ]
  }
}

Error: Bad Request - malformed request syntax
exit status 1

File for enums
[
    {
        "id": "red_color",
        "displayName": "Red",
        "immutable": true
    },
    {
        "id": "yellow_color",
        "displayName": "Yellow",
        "description": "Yellow color",
        "immutable": true
    },
    {
        "id": "green_color",
        "displayName": "Green",
        "description": "Green color",
        "immutable": true
    }
]

gorun --org=$ORG --region=us-central1 apihub apis update --id=apigeecli-api-v1 --file=apigeecli-api-v1.json
Command was incorrectly documented in update.go should be:
var UpdateCmd = &cobra.Command{
	Use:   "update",
	Short: "Update an existing API Hub API",
	Long:  "Update an existing API Hub API",
...
		_, err = hub.UpdateApi(id, apiFileBytes)

Update requires displayName and owner.
Update does not update apiStyle
{
  "name": "apigeecli-api",
  "displayName": "apigeecli-api-updated",
  "description": "API create via apigeecli updated",
  "apiStyle": {
    "enumValues": {
      "values": [
        {
          "id": "rest"
        }
      ]
    }
  },
  "owner": {
    "email": "kurtkanaskie.google.com"
  }
}

create and update use --id
get, delete use --app-id but they both report:
``
gorun --org=$ORG --region=us-central1 apihub apis get --app-id=apigeecli-api-v1
Error: unknown flag: --app-id
Usage:
apigeecli apihub apis get [flags]
Flags:
--api-id string   API ID
-h, --help            help for get

gorun --org=$ORG --region=us-central1 apihub apis delete --app-id=apigeecli-api-v1
Error: unknown flag: --app-id
Usage:
apigeecli apihub apis delete [flags]
Flags:
--api-id string   API ID
-h, --help            help for delete

Help for apihub apis versions create shows:
-f, --file string     Path to a file containing the API defintion
Should be Path to a file containing the API version definition

Got past apis, versions and looking at specs.
All looks good so far, but the get returns base64 value, should we decode or maybe an option to save decoded to a file?
gorun --org=$ORG --region=us-central1 apihub apis versions specs get --api-id=apigeecli-api-v1 --version=v1_0 --spec-id=apigeecli-api-v1-spec-id --contents
{
"contents": "b3BlbmFwaTogMy4wLjAKaW5mbzoKICB0aXRsZTogRm9vZCBUcnVja3MgQVBJCiAgZGVzY3JpcHR

Incorrect help for create and delete
gorun --org=$ORG --region=us-central1 apihub dependencies
Manage dependencies between consumers and suppliers

Usage:
  apigeecli apihub dependencies [command]

Available Commands:
  create      Create a new API Deployment in API Hub
  delete      Delete a deployment
  get         Get details for a dependency
  list        List dependencies

Deployments should have a required parameter for version(s) since it is required in the UI.

apihub deployments create --help
Create a new API Deployment in API Hub

Usage:
  apigeecli apihub deployments create [flags]

Flags:
      --dep-type deploymentType    The type of deployment
      --description string         Deployment Description
  -d, --display-name string        Deployment Display Name
      --endpoints stringArray       The endpoints at which this deployment resource is listening for API requests
      --env-type environmentType   The environment mapping to this deployment
      --external-uri string        The uri of the externally hosted documentation
  -h, --help                       help for create
  -i, --id string                  Deployment ID
      --resource-uri string        A URI to the runtime resource
      --slo-type sloType           The SLO for this deployment

I think then we need to add --api-id and --version-id to create the apiVersion identifier:
projects/apigeex-mint-kurt/locations/us-central1/apis/apigeecli-api-v1/versions/v1_0

The UI may be forcing the user to select an API Version, however, the API does not. Deployments are set on the API Version and the other way around.
I think the UI is orchestrating two API calls. 1) Create a deployment 2) Update the API Version with the Deployment that was created.
Here is a command to create a deployment:
apigeecli apihub deployments create -n $name --dep-type apigee -d $display-name --env-type development --slo-type "99-99" --endpoints https://api.example.com --resource-uri https://apigee.googleapis.com/v1/organizations/my-project/apis/httpbin/revisions/1 -r us-central1 --default-token

For automation, I would use
deployment-name=$(apigeecli apihub deployments create -n $name --dep-type apigee -d $display-name --env-type development --slo-type "99-99" --endpoints https://api.example.com --resource-uri https://apigee.googleapis.com/v1/organizations/my-project/apis/httpbin/revisions/1 -r us-central1 --default-token | yq -r .name )

and use that variable in subsequent commands.

Hmmm, yes, when I use the API to create a deployment and I give it a version, it doesn't use it.
So versions have deployments and I can create a version with a deployment.
OK then how do I "update" a version to have a deployment? I can PATCH with API.
update command is missing from versions.

I see deployments update was added.
Missing "UpdateCmd" in deployments.go
Added that and tested, update command uses --name it should use --id like get and delete does.

This works for apihub apis versions create --id=v1_0_0_0 --api-id=apigeecli-api-v1 --file=apihub/apigee-cli-v1-version.json
{
  "displayName": "Version 1",
  "description": "Version One Zero via CLI updated with deployments",
  "deployments": [
    "projects/apigeex-mint-kurt/locations/us-central1/deployments/apigeecli-api-v1-deployment-dev-cli"
  ]
}

Update uses --id, but get and delete use --version, should be --id for all
Update fails
apihub apis versions update --id=v1_0_0_0 --api-id=apigeecli-api-v1 --file=apihub/apigee-cli-v1-version-deployments.json
Error: json: cannot unmarshal array into Go struct field apiversion.deployments of type map[string]interface {}
exit status 1


Security concept of the secure element

I've already asked a question before, which was not fully answered, but partially. Link to first discussion
I'm reading the BitBox02 security concept again. There is a nice picture on your blog:

In the previous issue (link above), @benma mentioned:

The answer lies in the picture you added actually. The secure chip receives the hash of your device password (so not your password), and applies KDF to it with internal keys. The output is then again hmac'd with your password, which results in the final encryption key. This means that the secure chip (and the communication line to the MCU) never have the seed nor the encryption key of the encrypted seed.

In your blog, you claim that if an attacker has access and performs reverse engineering in a country where it is legal, you want to be protected from this. Me, as an attacker, if I sniff I2C lines:

I get sha256(S || P)
Secure chip will send back K, that is derived from the KDF(sha256(S || P) || secure_chip_random_key)
Finally, MCU will perform hmac(sha256(S || P), K) with inner and outer keys, that are stored (according to the comment above)

As I understand:

System is as secure as your password
Secure element is there only to go through it to prevent fast brute force attacks and to limit to cca 750k attempts.

Finally, in your marketing, you mention there is attestation key for device geniune check.

Where is the private key stored, that makes sure one cannot clone the device? Is it in the secure element?
Is secure element preloaded during your manufacturing with device certificate and private key?

I've already asked a question before, which was not fully answered, but partially. Link to first discussion
I'm reading the BitBox02 security concept again. There is a nice picture on your blog:
In the previous issue (link above), @benma mentioned:

The answer lies in the picture you added actually. The secure chip receives the hash of your device password (so not your password), and applies KDF to it with internal keys. The output is then again hmac'd with your password, which results in the final encryption key. This means that the secure chip (and the communication line to the MCU) never have the seed nor the encryption key of the encrypted seed.

In your blog, you claim that if an attacker has access and performs reverse engineering in a country where it is legal, you want to be protected from this. Me, as an attacker, if I sniff I2C lines:
* I get `sha256(S || P)`

* Secure chip will send back `K`, that is derived from the `KDF(sha256(S || P) || secure_chip_random_key)`

* Finally, MCU will perform `hmac(sha256(S || P), K)` with inner and outer keys, that are stored (according to the comment above)

As I understand:
* System is as secure as your password

* Secure element is there only to go through it to prevent fast brute force attacks and to limit to cca 750k attempts.

Finally, in your marketing, you mention there is attestation key for device geniune check.
* Where is the private key stored, that makes sure one cannot clone the device? Is it in the secure element?

* Is secure element preloaded during your manufacturing with device certificate and private key?

The device attestation private key is stored in the secure chip. The private key is generated during manufacturing inside the chip. The certificate is created and put on the device flash memory during manufacturing.

I'll close this as it's not actually a firmware issue. Please re-open if I am mistaken. Thanks.


Add paddle::Tensor::slice guides doc

Add CN guides doc for Tensor slice(const int64_t begin_idx, const int64_t end_idx) const under paddle::Tensor namespace.
The origin PR is Paddle PR34227

Please wait, there is a note to be added to the doc.

Please wait, there is a note to be added.

Resolved in commit 966ec80


New version: goreleaser.goreleaser-pro 2.4.4-pro

Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.6 schema?

Note: <path> is the directory's name containing the manifest you're submitting.

Automated with GoReleaser
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2024-11-05 05:26:00.599 [FAIL] Installer failed security check. Url: https://github.com/goreleaser/goreleaser-pro/releases/download/v2.4.4-pro/goreleaser-pro_Windows_x86_64.zip Result: 0x80004005
2024-11-05 05:24:45.090 [FAIL] Installer failed security check. Url: https://github.com/goreleaser/goreleaser-pro/releases/download/v2.4.4-pro/goreleaser-pro_Windows_i386.zip Result: 0x80004005

Automated error analysis suggests -1978335187 may mean Installer failed security check. Another script should retry this every 18 hours.
Automated error analysis suggests 80004005 may mean Resource missing
(Automated response - build 897.)

@wingetbot run

Automatic Validation ended with:

Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Packages\goreleaser.goreleaser-pro__DefaultSource\goreleaser.exe returned exit code: 1
Executable C:\Users\validator\AppData\Local\Microsoft\WinGet\Links\goreleaser.exe returned exit code: 1
Executable C:\Users\Validator\AppData\Local\Microsoft\WinGet\Packages\goreleaser.goreleaser-pro__DefaultSource\goreleaser.exe returned exit code: 1
Executable C:\Users\Validator\AppData\Local\Microsoft\WinGet\Links\goreleaser.exe returned exit code: 1

(Automated response - build 897.)


Implement other emoji themes/fonts

Emoji-Helper currently uses gemoji.
There are other good free emoji themes:

Emoji One
Twemoji
Phantom/Emojidex?
Noto Color Emoji
…

It could be interesting for a user to have an option to choose the theme they prefer and display Emoji-Helper accordingly. 😺

Checking the licenses:

gemoji: non-free
emoji one: CC by-sa 4.0
twemoji: CC by 4.0
phantom: non-free, previously CC by 3.0 but incomplete
noto: Apache 2.0

I would also love to see support for other themes, especially Twemoji and Emoji One, which are both Creative Commons. I much prefer those two themes--especially Emoji One--to Gemoji.

There’s also Mozilla’s Emoji (CC by 4.0) now.

i second the request, i'd like to see an unicode-based Kaomoji theme.


[Bug Report] Invalid HTML in popover

Element UI version
2.4.5
OS/Browsers version
any
Vue version
2.5.17
Reproduction Link
https://jsfiddle.net/mmx38qxw/4462/
Steps to reproduce
Popover generates invalid HTML5 - span contains div element which is not valid in HTML5, and seems this span (template  -> span) has no use at all, it doesn't bind any CSS to it. Why it's here? It also disallow to use popover in ul/li elemens. I think this span could be removed.
<template>

    <transition
      :name="transition"
      @after-enter="handleAfterEnter"
      @after-leave="handleAfterLeave">
      <div

What is Expected?

 <--- it should be div here or event better, no element

        something

What is actually happening?

 <--- but actually there is a span

        something

```

@danielchodusov yes, span element shouldn't contain div element. But the span element can't be removed.
https://github.com/ElemeFE/element/blob/156fccd83482a4c3b702104598c1290f6170caab/packages/popover/src/main.vue#L30-L33
Popover uses vue-poppoer mixin which has append-to-body attribute. When append-to-body is false, the reference element is mounted to the span element.


How to dynamically activate/deactiavte any kind of system?

A temporary way to achieve that is to use if/else in system code and this makes systems depend on specific options, but different scenes have different options, it turns out you have to add more judgement statements due to more different scenes. I think this logic code should be in controllers or managers, not systems, but if I do that, then I can not dynamically change options, that's why I need activating/deactiavting systems at runtime.

Temporarily way to achieve that is to use if/else in system code and this way makes systems depends on specific options, but different scenes have different options, it turns out you have to add lots of preprocessor directives due to more different scenes.

We use different systems for different game states (i.e. Select Car state and Race state)
It can be either a scene-based controller (with all the states there) or a state-specific controller. Each state specific controller has a list of Systems which it executes, cleans up and tears down upon exit
Thus, you have a lot of options:
You can use specific managers to handle different game states
You can create "meta-systems" that check this "if/else" things and call other systems accordingly (this approach increases code dependency and not encouraged though)
etc.
Maybe you can provide your specific example with exact things you are facing now so it will be easier to provide and advice

My solution for this issue.
`
#if (!ENTITAS_DISABLE_VISUAL_DEBUGGING && UNITY_EDITOR)
public class Processor : Feature
{
Dictionary<string, int> _executeSystemInfoIndices = new Dictionary<string, int>();
Dictionary<string, int> _initializeSystemInfoIndices = new Dictionary<string, int>();
    public Processor this[string name]
    {
        get
        {
            return (Processor)executeSystemInfos[_executeSystemInfoIndices[name]].system;
        }
    }
    public override Systems Add(ISystem system)
    {
        base.Add(system);
        if (system is IExecuteSystem)
        {
            _executeSystemInfoIndices[system.GetType().Name] = _executeSystemInfoIndices.Count;
        }
        if (system is IInitializeSystem)
        {
            _initializeSystemInfoIndices[system.GetType().Name] = _initializeSystemInfoIndices.Count;
        }
        return this;
    }
    public Processor ActivateExecuteSystem(string name)
    {
        int index = _executeSystemInfoIndices[name];
        var info = executeSystemInfos[index];
        info.isActive = true;
        (info.system as IInitializeSystem)?.Initialize();
        return this;
    }
    public Processor DeactivateExecuteSystem(string name)
    {
        int index = _executeSystemInfoIndices[name];
        var info = executeSystemInfos[index];
        info.isActive = false;
        (info.system as ITearDownSystem)?.TearDown();
        return this;
    }
    public Processor ExecuteInitializeSystem(string name)
    {
        int index = _initializeSystemInfoIndices[name];
        var info = initializeSystemInfos[index];
        ((IInitializeSystem)info.system).Initialize();
        return this;
    }
    public Processor(string name) : base(name)
    {

    }
    public Processor()
    {

    }
}

#else
public class Processor : Feature
{
    Dictionary<string, int> _executeSystemIndices = new Dictionary<string, int>();
    List<bool> _executeSystemActivities = new List<bool>();
    Dictionary<string, int> _initializeSystemIndices = new Dictionary<string, int>();

    public Processor this[string name]
    {
        get
        {
            return (Processor)_executeSystems[_executeSystemIndices[name]];
        }
    }
    public override void Execute()
    {
        for (int i = 0; i < _executeSystems.Count; i++)
        {
            if (_executeSystemActivities[i])
            {
                _executeSystems[i].Execute();
            }
        }
    }
    public override Systems Add(ISystem system)
    {
        base.Add(system);
        if (system is IExecuteSystem)
        {
            _executeSystemIndices[system.GetType().Name] = _executeSystemIndices.Count;
            _executeSystemActivities.Add(true);
        }
        if (system is IInitializeSystem)
        {
            _initializeSystemIndices[system.GetType().Name] = _initializeSystemIndices.Count;
        }
        return this;
    }
    public Processor ActivateExecuteSystem(string name)
    {
        int index = _executeSystemIndices[name];
        var system = _executeSystems[index];
        _executeSystemActivities[index] = true;
        (system as IInitializeSystem)?.Initialize();
        return this;
    }
    public Processor DeactivateExecuteSystem(string name)
    {
        int index = _executeSystemIndices[name];
        var system = _executeSystems[index];
        _executeSystemActivities[index] = false;
        (system as ITearDownSystem)?.TearDown();
        return this;
    }
    public Processor ExecuteInitializeSystem(string name)
    {
        int index = _initializeSystemIndices[name];
        var system = _initializeSystems[index];
        system.Initialize();
        return this;
    }
    public Processor(string name) : base(name)
    {

    }
    public Processor()
    {

    }
}

#endif
`

Then I can activate/deactivate some systems easily by editor or UI in game. Below is the inspector code snippet.
bool isGod;
                if (asset.BoolPropertyField("isGod", out isGod))//return true if the field has changed.
                {
                    if (Application.isPlaying)
                    {
                        if (isGod)
                        {
                            Controller.processor
                                .DeactivateExecuteSystem("MainFighterWalkSystem")
                                .DeactivateExecuteSystem("ThirdPersonCameraProcessor");
                            Controller.processor
                                .ActivateExecuteSystem("CameraFlySystem")
                                .ActivateExecuteSystem("CameraWalkSystem")
                                .ActivateExecuteSystem("CameraLiftSystem")
                                .ActivateExecuteSystem("CameraFreeRotationSystem");
                        }
                        else
                        {
                            Controller.processor
                                .DeactivateExecuteSystem("CameraFlySystem")
                                .DeactivateExecuteSystem("CameraWalkSystem")
                                .DeactivateExecuteSystem("CameraLiftSystem")
                                .DeactivateExecuteSystem("CameraFreeRotationSystem");
                            Controller.processor
                                .ActivateExecuteSystem("MainFighterWalkSystem")
                                .ActivateExecuteSystem("ThirdPersonCameraProcessor");
                        }
                    }
                }


Download SVG

Related: https://nytimes.github.io/svg-crowbar/

have some options ?

download unitarily one SVG
download a SVG sprite gathering all images (with CSS template/snippet ?)
download an archive containing all SVG images

Could be useful when working/refactoring assets on an existing website

Dunno about “dowload all”, SVG is pretty flexible and finding SVG images in the inspected page is currently limited to specific patterns; I plan to add support for more patterns if need be, but it’ll always be a “best effort” kind of thing. So if you use this to download an archive, you’ll probably end up missing stuff in the archive.
I don’t want to create false expectations that this tool can be used to reliably export all SVG from a page.


fix/AuzreOpenAI embeddings and LLM deployment name

solves "The API deployment for this resource does not exist" for LLM and embedding models deployed in Azure OpenAI by deployment name supported in tmc/langchaingo#253
We can't Validate OpenAI LLM model names from hard-coded list in Azure because the model name parameter in API request is a deployment name, and while Microsoft advises us to use the model name as deployment name, we did not listen, and I didn't want to coordinate redeploying with a different name on a Friday.
This also permits use of customized models that can be deployed in Azure side-by-side base models as added benefit so I think it was worthwhile.

@ClaudiaJ This is fantastic. Thank you. I'm aiming to release this with 0.11, likely early next week.


Error with new LLaMA V2 in 4bit : mat1 and mat2 shapes cannot be multiplied

Error with new Llama V2 model and 4bit inference:
bitsandbytes: 0.40.2
transformers: 4.31.0
torch: 2.0.1
GPU: RTX 3090 24 Gb
Cuda: 11.7

Load model:
model = AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-2-13b-hf",
    use_safetensors=True,
    load_in_4bit=True,
    device_map="auto",
)

Try to generate:
text = "Hello how are you?"
input_ids = tokenizer(text, return_tensors='pt').input_ids.cuda()
output = model.generate(inputs=input_ids, max_new_tokens=10)

Error:
File /usr/local/lib/python3.8/dist-packages/transformers/models/llama/modeling_llama.py:295, in <listcomp>(.0)
    292 key_slices = self.k_proj.weight.split(key_value_slicing, dim=0)
    293 value_slices = self.v_proj.weight.split(key_value_slicing, dim=0)
--> 295 query_states = [F.linear(hidden_states, query_slices[i]) for i in range(self.pretraining_tp)]
    296 query_states = torch.cat(query_states, dim=-1)
    298 key_states = [F.linear(hidden_states, key_slices[i]) for i in range(self.pretraining_tp)]

RuntimeError: mat1 and mat2 shapes cannot be multiplied (6x5120 and 1x2560)

The code is different for tp=1 and tp>1 models.
https://github.com/huggingface/transformers/blob/129cb6d5239374869beea0e1317641426e8df572/src/transformers/models/llama/modeling_llama.py#L289

@nazarov-yuriy You are right! I manually changed the value of this parameter when loading the 13b model and everything worked.
model_id = "meta-llama/Llama-2-13b-hf"
config = AutoConfig.from_pretrained(model_id, pretraining_tp=1)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    load_in_4bit=True,
    device_map="auto",
    config=config,
)

I wonder if there is a big loss in quality with such changes, I read that the parameter is experimental:
https://huggingface.co/docs/transformers/main/model_doc/llama2#transformers.LlamaConfig.pretraining_tp

Thank you, I will need to look into this. This is likely a changed needed in the bitsandbytes integration of the transformers stack.

If it helps then using a different fp16 weights from TheBloke/Llama-2-70B-Chat-fp16 works. As below.
from transformers import AutoTokenizer, AutoModelForCausalLM, AutoConfig
from transformers import pipeline
# https://github.com/TimDettmers/bitsandbytes/issues/610
# repo_id = "meta-llama/Llama-2-70b-chat-hf"
repo_id = "TheBloke/Llama-2-70B-Chat-fp16"
config = AutoConfig.from_pretrained(repo_id, pretraining_tp=1)
model = AutoModelForCausalLM.from_pretrained(repo_id, device_map="auto", load_in_4bit=True, use_auth_token=True) # load_in_8bit=True, rope_scaling={"type": "dynamic", "factor": 2.0}, config=config
for p in model.parameters():
    p.requires_grad = False
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-70b-chat-hf", use_fast=True)
generate_kwargs = {"max_new_tokens":40, "do_sample":False}

question = "User:\nHow to kill a python process using terminal when the process refuses to shut down itself?\nAssistant:\n"
model_inputs = tokenizer(question, return_tensors="pt").to("cuda:0")
gen_out = model.generate(**model_inputs, **generate_kwargs)
print(tokenizer.decode(gen_out[0], skip_special_tokens=True))

@TimDettmers Not sure why these weights work but official llama ones don't but it seems there was some issue with how meta stored the weights.

Not sure why these weights work but official llama ones don't but it seems there was some issue with how meta stored the weights.
Official weights doesn't work with transformers==4.31.0, but they work after https://github.com/huggingface/transformers/pull/24891

@TimDettmers @nazarov-yuriy Meta fixed pretraining_tp parameter to 1 for 13b model in their repo:
https://huggingface.co/meta-llama/Llama-2-13b-hf/blob/main/config.json


Allow memory configuration during installation

Information Discovery and Health Discovery are assigned with a fixed amount of memory. We should provide a away to assign more memory during the helm deployment.

https://v2.helm.sh/docs/chart_best_practices/


Mimic old objcImpl behavior for early adopters

Before the update to support the new syntax, the decl checker treated private and fileprivate members of objcImpl extensions as non-@objc by default. But SE-0436 specified that private and fileprivate members should be implicitly @objc unless opted out, so when support for the final syntax was added, this behavior was changed retroactively.
Unfortunately, we’ve found that some early adopters depended on the old behavior. Restore some logic deleted by #73309 for early adopter syntax only, with a warning telling the developer to put final or @nonobjc on the declaration if they want to preserve the behavior after updating it.
Also tweaks the ObjCImplementationChecker to ensure this logic will actually be run in time for it to suppress the “upgrade to @objc @implementation” warning, and corrects a couple of regressions arising from that change.
Edit: I've added additional commits to correct other issues with this part of the code in #73309:

Temporarily restores the behavior of an @objc @_objcImplementation extension with a warning telling the developer to correct their code
Permanently fixes a regression where a static or final member which overrode a superclass method or witnessed a protocol requirement would not be inferred as @objc.

Fixes rdar://135747897 and rdar://136113393.
Cherry-picking note: This relies on changes in the final version of #76270.

@swift-ci please test

@swift-ci please test

@swift-ci please test


Call RPC getHealth during ingestion

Closes #62
This PR introduces the following:

Spin up a goroutine that keeps checking RPC health every 5 seconds.
Use this new health check service within the wallet-backend ingestion process to make sure RPC is always healthy. The ingestion will wait if RPC becomes unhealthy at any point and will resume from the last ingested ledger.
Add a way for ingestion to be in sync with RPC's ledger range:

If the wallet-backend is behind RPC's oldest ledger, then it will start ingestion from that ledger sequence.
If RPC is behind, then ingestion will wait for it to catch up with wallet-backend.

Add unittests for the new features.

This mostly looks good, just one observation - once getHealth returns an actual healthy response, the expectation is that the ingestor should never get a "ledger out of range" type error when calling getTransactions. We just need to be sure that this implementation supports that

@gouthamp-stellar Yes based on this implementation, whenever rpc and backend go out of sync, the health check will ensure that the ingest service only calls the db when both are back up to sync


For pretrained weight

Hi,
Great work! Can you provide the pretrained weight for ResNet101-deep.

Hi,
Here is the pretrained weight for ResNet101-deep:
https://drive.google.com/drive/folders/1T9NCZm46C642AOnJzZD4ZQLXEaXKKHHI?usp=drive_link
发件人: Jinzhou Lin @.>
发送时间: 2024年11月12日 15:14
收件人: maggiesong7/FullyAttentional @.>
抄送: Subscribed @.***>
主题: [maggiesong7/FullyAttentional] For pretrained weight (Issue #3)
Hi,
Great work! Can you provide the pretrained weight for ResNet101-deep.
—
Reply to this email directly, view it on GitHubhttps://github.com/maggiesong7/FullyAttentional/issues/3, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZBLXYRVUSZOG5LRV7YG5ZT2AGTDTAVCNFSM6AAAAABRTLLVMGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGY2TCMRWGM4DMNA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thanks！

It seems like I need permission to download the weight. I have submitted the application. Please review  it.
Thanks！

I have changed the permission, I think you can download it now.

Successfully downloaded.
Thanks for your reply.


Truncate idmap error message and Entities filtering in connec! webhooks

@BrunoChauvet Do you have 2 minutes to review?
@x4d3 FYI

@Berardpi LGTM
:+1: for filter
:+1: for the long message

I really love the long message too !


fix(coverage): Do not emit error on BRDA:0 entries

Coverage report generators in Coverage.py would generate BRDA:0 for exit branches.
Ref: https://github.com/nedbat/coveragepy/blob/5467e1f/coverage/lcovreport.py#L108-L112
Also small string fixes for error messages in BRDA.
Improves #362.

I just saw other discussions about the misuse of the line number fields. Is it making sense for being tolerant the negative numbers or simply drop the invalid entries and maybe put a warning message somewhere, either pop up or on output window (I did not find the output window like in other plugin for this one) in case other coverage tools also misuse the line number field?

https://github.com/nedbat/coveragepy/issues/1846
https://github.com/linux-test-project/lcov/blob/master/man/geninfo.1#L1438

Is it making sense for being tolerant the negative numbers or simply drop the invalid entries and maybe put a warning message somewhere

Maybe. Let's keep it as is, and then potentially ignore also negative numbers in case we actually get reports of this being a real-world issue. (I prefer "fail early, fail hard" since this makes it much simpler to find potential issues/unexpected behavior).