Express basic auth is broken

This was introduced on #366 and is due to the fact express 4 needs a separate module to handle basic auth. Somehow, we didn't catch this in any test.
@federicomaffei is already working on it.

Hi, not sure if this is the same issue, but I came across this when looking to enable Basic Auth on a registry:
At https://github.com/opentable/oc/blob/master/src/cli/facade/publish.js#L127 , the parameters route and path are passed to putComponentToRegistry
putComponentToRegistry({ route: componentRoute, path: compressedPackagePath}, next);

and putComponentToRegistry is defined as
var putComponentToRegistry = function(options, cb){
      log.warn(format(strings.messages.cli.PUBLISHING, options.route));

      registry.putComponent(options, function(err, res){

        if(!!err){
       ...

and inside registry.putComponent at https://github.com/opentable/oc/blob/master/src/cli/domain/registry.js#L100
 putComponent: function(options, callback){
      if(!!options.username && !!options.password){
        requestsHeaders = _.extend(requestsHeaders, { 'Authorization': 'Basic ' + new Buffer(options.username + ':' + options.password).toString('base64') });
      }
...

we are checking for username and password, which will never be passed through

@debopamsengupta I think that a separate issue. The cli actually tries to make an attempt without credentials, and in case of unauthorised, tries again by providing the credentials. In case of the CLI, it prompts the user asking for the values.
You can see that as soon as it has a failing attempt, it retries...
https://github.com/opentable/oc/blob/master/src/cli/facade/publish.js#L72-L82

@matteofigus would it be possible / would it make sense to enable username and password to be used on the first attempt ?
I ask because I'm trying to automate the publish step using our CI


Fix #647 custom conf can't overwrite the default conf

fixes #647
changelog is added

Hi @jianhaiqing , please rebase from master

Hi @jianhaiqing , please rebase from master

Thanks for reminding, my bad habit.


compare-dependencies goal improvements

I have a need in my CI process and your versions-maven-plugin has been very useful, thanks for it. But right now we need to incorporate a pair of modifications in the functionality of the plugin (specifically in the compare-dependencies goal).

Add an optional parameter to exclude one scope from the comparison. We have an use case where we want to compare only non-test dependencies.

Add an optional parameter “scriptableOutput” to generate the comparison report in a machine-readable manner.

We would like to get your opinion about these changes. Do you think the changes could be included in the release if we PR?
Thanks in advance!

First these are two improvements. Furthermore of course patches or (pull requests) are always welcome...


Skooma in minitest parallel setup

Hey, skooma's coverage fails in parallel setup, at least with minitest.
Multiple processes:
PARALLEL_WORKERS=2 bin/rails test
.....................................................................

Finished in 3.441208s, 20.0511 runs/s, 72.3583 assertions/s.
(...)
OpenAPI schema /project_openapi.yml coverage report: 0 / 2 operations (0.0%) covered.
Uncovered paths:
GET /api/v1/endpoint 200
GET /api/v1/endpoint 401

Single process:
PARALLEL_WORKERS=1 bin/rails test
.....................................................................

Finished in 6.011068s, 11.4788 runs/s, 41.4236 assertions/s.
(...)
OpenAPI schema /project_openapi.yml coverage report: 2 / 2 operations (100.0%) covered.
All paths are covered!

Looks like @covered_paths set is respawned with each process, but I wasn't digging that much into it.

Please check this convo with chatgpt, which may be enlightening: https://chatgpt.com/share/674ecb3a-cdc8-8012-9f90-6373c78b3b29
I’d go with the approach that allows to set the „external” storage for the covered paths (some config layer for skooma) and to use the provider which is already present in the project using skooma.
I managed to implement this on the top of my fork (allowing redis or memory set as the default configuration) and it worked, however I didn’t push the changes and create a PR as feeling a bit unsure about my code there.
Please let me know if the ideas found out with the chat are fine and it’s a good direction.


[Question] Compatibility with MAS

So this is probably a stupid question but I saw this mod mentioned a lot on the MAS page. So, I was curious as to whether this mod is compatible with MAS? If not, are there future plans to make it compatible with MAS? I was just wondering because MonikAI is mentioned quite a lot over there.

It's not a mod. It's a separate program.
However, MAS has an easter egg if MonikAI's running.


register freeze_time mark with pytest

For https://github.com/ktosiek/pytest-freezegun/issues/13

Help needed to pacify continuous testing.

Looks like the other PRs are failing with the same build... I don't have a Windows machine to test it out, but I did notice that the warning still does show up in the builds:
PytestUnknownMarkWarning: Unknown pytest.mark.freeze_time - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/latest/mark.html

Taking a look at the docs again... you have the function in a class, in the docs, the function is in the module. Maybe that's the problem?


systemtest: remove nested go module

The dependencies of systemtest are contained by apm-queue, so remove the nested module. This will allow Renovate to do its thing.

Won't this cause the systemtest to be run with go test ./... which are meant to run unit tests?

@marclop oof, yeah :/
That seems like kind of an indirect way to stop go test ./... from running unnecessary tests though. I'll have have a think about how we can improve this.

the easiest way would be to modify the test Make target and use something like:
go test -race -v -timeout=$(GO_TEST_TIMEOUT) $(shell go list ./... | grep -v systemtest)

@marclop I'm thinking of making the system tests opt-in, so we can also run go test ./... on our laptops easily. That would require running go test -run-system-tests when in the system test directory. Slightly more painful to run system tests on laptops, but I think not too bad. WDYT?

That seems a bit more friendly so we can keep using the go test commands directly without relying on the makefile necessarily.


Octal character literals are broken

actor Main
    new create(env: Env) =>
        let esc_chr1: U32 = '\033'
        env.out.print(esc_chr1.string())
        let esc_chr2: U32 = '\x1B'
        env.out.print(esc_chr2.string())

This prints
13107
27
when it should print
27
27

Hi @stefandd
I can understand the confusion around character literals.
Here are some points that might help clarify this:

octal escaping isnt supported in character literals as of now.
thus '\033' is actually a multibyte-character-literal https://tutorial.ponylang.io/expressions/literals.html#multibyte-character-literals and the behaviour is as expected. The resulting number is 0x3333 where 0x33 is the byte value of 3 (ascii: 51).


README.md: fix a broken link to CI

Also update another link to point to the latest version.

Many thanks


fix: add deployment labels

Description
fix deployment labels loss
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] This change requires a documentation update
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added a test case that will be used to verify my changes
[ ] Verified independently on a cluster by reviewer

Verification steps

add deployment label config in grafana

  deployment:
    labels:
      myapp: grafana

check deployment labels

Thanks for the PR @sunlintong please rebase after https://github.com/grafana-operator/grafana-operator/pull/489 is merged and the CI will stop complaining.

I have verified and the PR works as intended.
Good job and thanks allot for fixing it!
I will merge when my PR is merged and you have done a rebase.

Probably needs a rebase for / manifests to pass @sunlintong

I'v rebase, can you re-run the workflow? @HubertStefanski

We will update the go lib in another PR to fix the trivy error.
Thanks for your work @sunlintong ⭐


Use Git protocol v2 by default

Please have a look at the individual commit messages for the details.

Not sure whether it helps that much, but would it make sense to add a link to documentation related to Git's v2 protocol to one of the commits?

I don't think either that many people would really read it, but done anyway (in the message of the first commit).


[Kiota.Builder] Provide option/configuration to generate project/dependency file definitions for generic ApiClient

Languages like PHP, TypeScript, and Java can use different "native http clients" by default. We should consider making this configurable so that we generate the dependency definitions for the default ApiClient to use our assumptions for the native http client for the default generic ApiClient so that it "just works". Otherwise, it would be the responsibility of the customer to discern and specify which native httpclient should be used with the generic ApiClient.
In the case of PHP, we would generate a composer.json with an entry that defines the dependency on PHP Kiota Core.  This way the generated client is complete with the dependencies it needs. We could extend this further to allow any arbitrary dependency to be defined at generation time.
This should be configurable so we can define the dependency on Graph Core at generation time.
AB#11167

Hey @michaelMainer
Thanks for posting this.
Early on @darrelmiller and I made the decision that Kiota should not touch the project files/interact with the dependency manager. There are multiple reasons for that:

Touching project files directly would be a very fast way to corrupt projects, not only because some ecosystem rely on lock files but also because a build after that doesn't necessarily restore on the next run.
There's a multitude of formats out there that can evolve over time
The dependencies file is not necessarily at the same level as the project files (look at java core) or as the output path (java with the namespace matching.
There's a multitude of package managers as well (java: gradle/maven, js: npm/pnpm/yarn..., donet: nuget, core cli,...)

This would add a significant burden on Kiota and probably lead to a poor experience in a lot of cases.
There's also the other case where people leverage other libraries than the default ones, they'd have to uninstall the dependencies we installed after each generation (or we'd have to provide some kind of bypass).
Those libraries could be on private feeds (requiring some kind of auth)...
For all those reasons I think we should stay away from that unless we see a strong demand for it.

Scaffolding a project to host a Kiota SDK is definitely tooling that could be built.  However, to date, Kiota has avoided doing that.  Kiota is potentially going to be run on every build of a project.  Also Kiota could be run multiple times for different APIs in the same project.  It could also, in theory, use different HTTP cores for each target API.  Because of the way it is used, we should avoid building project scaffolding into Kiota.  We should use whatever is the native project scaffolding tooling for the platform.  Let's not re-invent that wheel.

We should use whatever is the native project scaffolding tooling for the platform. Let's not re-invent that wheel.

In general, I agree with you here. I don't think that this will the best Kiota.Builder first run experience. I was more thinking about the Kiota.Builder first run scenario and having a simple path to success. If we don't provide a basic project file for that successful first run of Kiota.Builder, I expect a workflow something like:

Documentation that instructs the client developer to install scaffolding tool if not already installed. We will need to provide instructions on which configuration to use. Instruct the customer to run the command to install all dependencies.
Instruct the client developer to install the Kiota.Core dependency.
Instruct the client developer to install the auth dependency.

I think this experience may be error prone for a first-run experience. If we had a simple project file generated, the successful first run experience would be:

Run  install.

Perhaps I'm oversimplifying an experience here.
Now then, after a successful first run, when the client developer understand Kiota, they likely will not want or need the basic project structure we provided at first-run. I expect for the most part, like @darrelmiller mentioned , Kiota.Builder will be run regularly. The client developer will move the code files into their own project. They do not need a project file from Kiota.Builder at this time, they will have one already.
I wonder what the first-run experience is like for other OpenAPI generators.

Since that discussion, we've made lots of improvements to the getting started documentation. And more improvements are coming in the Microsoft Graph public docs for the self serve clients scenario.
https://microsoft.github.io/kiota/get-started/
Closing for now.


Provide context for new users

The experience for a first-time user should be stellar (see Issue #1).
The tool should:

Explain what it's doing / installing.
Have clear call-to-actions to create your first project.
Provide context when faced with initial decisions.

I'm pretty happy with how Issue #20 has worked out re: first time experience.
The biggest thing missing for first-time users at this point is probably context. We could provide tooltips at various places in the application to fill in the gaps.
Off the top of my head: for compiler options and the column headers in the build rows.


1.19.4 crash by connecting rail node to rail node using iron rail connector

Can You Provide more Detail?

I was like watching the tutorial of the mod (0:25-1:40) and it told me to put the rail node and another rail node to the other side. Then I used the iron rail connector to connect the rail node but then my client had crashed and I got an error code 1 either I might have used the wrong version or it's the forge client

https://github.com/jonafanho/Minecraft-Transit-Railway/assets/143301332/e0eb89e7-a0f6-4f10-b456-e2199964f240

Do you have the actual crash report ?

crash-2023-08-27_19.17.55-fml.txt

It seems like either Java, Architectury or Forge itself is outdated. Make sure to update Java to the latest 1.17.x version and Forge and Architectury to the newest versions of each for 1.19.4.

MTR 3.2.0 is not compatible with Minecraft 1.19.4, please update to 3.2.1 or above.


Issue with listing projects

I am currently having issues of even selecting a project when the JIT portal has been deployed on Cloud Run, the error reads The project doesn't exist, or you don't have permission to activate any roles in this project. I have the service account defined in the yaml file and the correct role bindings at the level in the hierachy I require, I have tried both folder and org level each time updating the app.yaml to specify the resource where the bindings are set, but still getting issues. Can anyone help?

Do the Cloud Run logs contain any warnings or errors? There are some cases in which the application can't access a project because of VPC-SC policies, but then you'd see a warning or error in the logs.
If the logs are clean, it would be good to double-check that...

The application's service account has both Security Admin and Cloud Asset Viewer access to the organization, folder, or project referenced in RESOURCE_SCOPE. Make sure that it's indeed the<EMAIL_ADDRESS>service account, and not one of the other service accounts that you've granted these roles.
You've granted your test user eligible access to a project underneath RESOURCE_SCOPE.
When accessing the JIT Access UI, you're signed in with the right test user (the username is shown in the footer).

Thanks, went through step 2 again using a seperate user and this fixed the issue I was having .

Great, happy to hear that it works now.


Modernize PUDL packaging

Installation using setup.py has been deprecated in favor of PEP 517 / PEP 518 / PEP 621 / PEP 660 based systems, and we are getting warnings about it, so we need to overhaul the packaging setup. Instead we should probably configure the packaging entirely using pyproject.toml
In addition, the pudl.metadata.templates directory is a "package" with no code (just jinja templates) and it needs to be specifically called out for inclusion in the package -- otherwise it'll be left out in future packaging setups.
We may also want to look at using another build system like poetry, and explicitly lock dependencies to particular versions. A blog post from last year about the changes.

Looks like we can use conda-lock to pin our transitive dependencies, which will help with our dev env reproducibility/upgradability. In theory we won't have to recreate our environments when switching branches :)
There's a blog post about it here, too: https://pythonspeed.com/articles/conda-dependency-management/

How does using a lockfile keep us from needing to recreate environments when we switch branches? If the branches have different dependencies wouldn't that be reflected in the different lockfiles, and wouldn't the python environment need to be rebuilt to match?
While we use conda for python environment isolation and installation of some finnicky binary / system dependencies, almost all of the software installation is actually done by pip since the overwhelming majority of the packages in the conda environment are installed by the pip section the file, that installs the actual catalystcoop.pudl package (from the repo, with extras, using --editable). Would those pip installed packages end up being captured by the conda environment? I guess they show up as installed when you do conda list but they come from the pypi "channel"

The python environment would be updated to match the lockfile, yeah. Though it'd be an incremental rebuild, not a full one.
In theory different branches will only have different library versions if we've intentionally changed direct dependency versions. Do we anticipate adding/removing/updating direct dependencies frequently? I just took a look at git log setup.py and it seems like we're bumping versions a couple times a week over the last few months, which seems kind of annoying but maybe not terrible.
I'm not sure how conservative the solver is re: trying to change as few library versions as possible when re-solving, but I'd assume that it is still faster than "re-do everything every time."
conda-lock does appear to support pip dependencies within pyproject.toml, see this section of the docs - though I think we'll probably have to try moving everything to pyproject.toml first (looks like conda-lock also allows for the non-Python dependencies to be defined in pyproject.toml, but I wonder about how to propagate that stuff to downstream users...)

This should have been closed by #2479
Opening a new issue to deal with lockfiles in particular: #2896


Streams support over http1?

Does it support gRPC streams over http1 using websocket?
I used this package to convert grpc streams to websocket https://github.com/tmc/grpc-websocket-proxy

@Gictorbit, no it does not. Bidirectional streams only work over HTTP/2. Connect implementations generally implement the specs for gRPC, gRPC-Web, and Connect, none of which make mention of web sockets.
So when using HTTP 1.1, you are limited to server and client streams. If a server sees a request over HTTP 1.1 for a bidirectional streaming method, it will send a "505 HTTP Version Not Supported" error.
We may relax this in the future to allow bidirectional streams over HTTP 1.1, thanks to the newly added support in net/http (link). But even then, only half-duplex style streams can be guaranteed to work, as many peers may be unable to do full-duplex streaming with HTTP 1.1.


hubble: Update the reason label for hubble_drop_total metric

Use DropReasonDesc as the reason label instead of using the deprecated DropReason field and then converting it using the monitor API. Use of the monitor API is confusing in one specific case where the drop reason is unknown, as the reason label gets set to "Success". With this change, the reason label is set to "DROP_REASON_UNKNOWN" in case the drop reason is unknown.
Ref: #22402
Signed-off-by: Michi Mutsuzaki<EMAIL_ADDRESS>hubble: Update the reason label for hubble_drop_total metric

/test

/test

test-1.16-4.9: a known flake: https://github.com/cilium/cilium/issues/22749

/test-1.16-4.9

ci-datapath: issue with one.one.one.one: https://github.com/cilium/cilium-cli/issues/673

/ci-datapath


Adding a Simple Interest Calculator

Prerequisites

[X] I am a GSSoC-22 Participant
[X] I checked to make sure that this issue has not already been filed

Description
Simple Interest Calculator using HTML, CSS, and Javascript.
Tech Stack
Web Development

@LiQuiD-404 Go for it, Good Luck 👍

closed with #377


PR: Make the list view of the file switcher look active at all times.

Description of Changes

[x] Wrote at least one-line docstrings (for any new functions)
[x] Included a screenshot or animation (if affecting the UI, see Licecap)

Trick the html delegate that is used in the list view of the file switcher into thinking that it is active at all times, even if strictly speaking it is not.
See #10682 for more details.

Issue(s) Resolved

Fixes item number 2 in https://github.com/spyder-ide/spyder/issues/10682
Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: Jean-Sébastien Gosselin

@jnsebgosselin could you add an issue on Qdarkstyle to add a difference between active and not active items?

@jnsebgosselin could you add an issue on Qdarkstyle to add a difference between active and not active items?

sure, I will do it.


Add auto merge

@conda-forge-admin, please add bot automerge

Hi! This is the friendly automated conda-forge-webservice.
I just wanted to let you know that I added bot automerge in conda-forge/pycp2k-feedstock#4.


[GH-21] Link

Add <Link /> component

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


int for types that store article counts is to small, Int64 maybe

A few,
public int ArticleCount { get; }
public int LowWaterMark { get; }
public int HighWaterMark { get; }

Changed article type from int to long in commit https://github.com/keimpema/Usenet/commit/4c096a268767406a7d2e36622877806509e729cf. Pushed a new version of the package to nuget.


⚠ Processors has degraded performance

In 4e45a8b, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 110 ms

Resolved: Processors performance has improved in d9580b0.


TN-1157 guard /api/user/register-now from invalid use

Now confirming target user is email_ready() before sending them down a registration path they can't complete.

@ivan-c merging now as i want to extend this in other PRs.  Curious if we need to do anything extra to push the new translated strings added to models/user.py


Cannot add middleware after an application has started

Traceback (most recent call last):
  File "launch.py", line 299, in <module>
    start()
  File "launch.py", line 292, in start
    webui.webui()
  File "/content/stable-diffusion-webui/webui.py", line 163, in webui
    app.add_middleware(GZipMiddleware, minimum_size=1000)
  File "/usr/local/lib/python3.8/dist-packages/starlette/applications.py", line 135, in add_middleware
    raise RuntimeError("Cannot add middleware after an application has started")
RuntimeError: Cannot add middleware after an application has started

Hi @FujaTyping 👋 please check this
https://github.com/camenduru/stable-diffusion-webui-colab/blob/main/stable_diffusion_webui_colab.ipynb
we fixed it yesterday please update your colab


Android

Looking forward for the android demo to be completed!

We are also!

Sure, it will be ready pretty soon.

Can't wait to get the Android SDK.

The normal app is working fine with glasses, but the demo app on Android is only showing 'not connected.' What should be done to make it work properly?

Good news! The demo app on Android has been able to work now.

Can't wait to get the Android SDK.

Good news! The demo app on Android has been able to work now.


Wagtail Live interface receiver/publisher

This PR adds a publisher and a receiver for the live interface.
Live Interface Receiver
It inherits from BaseMessageReceiver and implements the abstract methods to adapt with DRF payloads.
Live Interface Publisher -- Removed (Call the receiver's dispatch method directly instead)
When a new message is posted/edited/deleted in the live interface and saved in the database, this class formats the update to send, starts a new  thread and directly calls the dispatch method of WagtailLiveInterfaceReceiver.
If a live page corresponding to the  channel from which a new update is received from exists, the message is saved on that page.

@Tijani-Dia I've sorted out the merge conflicts. Unfortunately, tests are failing. Do you know what's going on?

I'm getting this error:


Allow inject specify an observable according literal object path.

Assuming we have a rootStore which contains other stores and is injected into Provider:
class Root {
  bookStore = new Book()
  foodStore = new Food()
}

<Provider rootStore={new Root()} />

wish we cloud access bookStore by this way:
@inject('rootStore.bookStore')
@observer
class Component extends React.Component {
   render () {

    }
}

Fur such cases you can use the function variant of inject, see: https://github.com/mobxjs/mobx-react#customizing-inject


Added DRUMKIT Project

Fixes
#423

Description
Added Drum kit Project
Type of change

[x] New project (non-breaking change which adds functionality)

How Has This Been Tested?
Tech Stack used:

HTML
CSS
JAVASCRIPT

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have included a README.md file
[x] My project follows this structure: Domain Folder/ Project Name Folder/ Project files and Readme.md files
[x] I have added demonstration in the form of GIF/video file
[x] I am a GSSoC'22 Participant

@heet-kumar Done Changes

@heet-kumar @manisha-27 @abhijeet007rocks8 Please Review I made all the necessary Changes

@abhijeet007rocks8 This is also, something which i made when i was learning Web dev. Then for this program, i made it again. Why are you removing before asking the story behind, I am not cheating in this program.


bug(mat-tree): mat-tree reports a compilation error wher used with a trackBy option in NestedTreeControl

Hi,
I have a mat-tree associated with the tree control:
public readonly mainMenuTreeControl = new NestedTreeControl<IMainMenuNode, string>(node => node.children, { trackBy: this.mainMenuItemTrackBy });
where this.mainMenuItemTrackBy is defined as (menuNode: IMainMenuNode): string{ ... }
when used in a view like <mat-tree [dataSource]="..." [treeControl]="mainMenuTreeControl">...</mat-tree>
compiler reports an error:
error TS2322: Type 'NestedTreeControl<IMainMenuNode, string>' is not assignable to type 'TreeControl<IMainMenuNode, IMainMenuNode>'.
31         [treeControl]="mainMenuTreeControl"
from what I have seen in code I believe MatTree should in fact be MatTree<T, K =T> as is NestedTreeControl defined and the property treeControl should also be: @Input() treeControl: TreeControl<T, K>;
Can you help me?
Thanks in advance
POFerro

An identical issue was reported with the framework a few days ago (https://github.com/angular/angular/issues/40125), could it be the same as this one? Can you try the solution from the last comment to see if it resolves it?

Hi @crisbeto ,
No, this case is different, I'll explain:
As of commit: #19602
TreeControl is defined as two argument generic: TreeControl<T, K = T> this change was to include the ability of having a trackBy function defined in the control itself and K is the return type of this function.
While this change happened in the TreeControl classes the class MatTree didn't change to reflect the second generic parameter so now if K != T in TreeControl class the property type in MatTree will mismatch since it is defining the property type as being TreeControl<T, T> (second generic parameter type is being inferred by default value K = T).

This should be closed by #21421.

This should be closed by #21421.

Thanks for the heads-up. Closing as something that should've be resolved.

Thanks for the heads-up. Closing as something that should've be resolved.


Please add docker image

Love this project but can you make it into a docker image so it will be much easier to run?
Thank you!


[Translation Graphic]: Battle book Graphic Need to Have English Version Inserted

What is the type of action?
Translation
Contact Details
Pegi
What do you want to translate?
Below are some Exemples

the graphics

Graphics.zip
This is the graphic that were done, need to be unzip

![12370](https://github.com/user-att

achments/assets/85c86182-60df-4432-89bf-6906fc60e490)

ed in 3_patched > patched_temp > DAT > PAK1


Remove WIT files that are no longer used

Motivation

With the move to Witty (#1920) new WIT files are generated by linera-sdk's wit-generator binary using the types from linera-execution. The files are placed in the linera-sdk/wit directory. This means that linera-execution no longer needs the WIT files and that the old WIT files in the crate root of linera-sdk have been replaced by the new generated files.
Unfortunately, the old WIT files were not removed as part of the migration.
Proposal

Remove the old WIT files.
Test Plan

These files should no longer be used, but if they are incorrectly used, CI should catch them with compilation errors emitted by wit-bindgen.
Release Plan

Doesn't change any functionality, so nothing needed.
Links

reviewer checklist

Afaict, the PR does what it says: removing the wit files that are no longer used.

I appreciate the progress, but there is still some remaining uncertainty. The text of the PR says that the wit files of the directory linera-sdk/wit. However, after the removal of that PR the directory is still not empty. So, it is a mystery for me, if the files are generated, then why are they present in the directory?
If that is how things should be then a comment explaining the situation would help (my rule is that if it takes 10 minutes to figure out then a comment is warranted).

Afaict, the PR does what it says: removing the wit files that are no longer used.

The files are placed in the linera-sdk/wit directory.

@jvff I think you mean the new files

The files are placed in the linera-sdk/wit directory.

@jvff I think you mean the new files

Oops, fixed :sweat_smile:

I appreciate the progress, but there is still some remaining uncertainty. The text of the PR says that the wit files of the directory linera-sdk/wit. However, after the removal of that PR the directory is still not empty. So, it is a mystery for me, if the files are generated, then why are they present in the directory?

You're right, we could generate them every time we build linera-sdk. But I think we'd need some bigger changes for that :sweat_smile: The problem is that we'd need to build the wit-generator separately first for the host target, then the rest of the crate for Wasm, and this might need some big changes (possibly moving the binary to a separate crate). One solution might be to move the binary entirely into the build.rs file, but I think it would complicate it too much and add a dependency between the build process and on Witty and linera-execution :confused:
Keeping it here is redundant, but CI ensures it's up-to-date, and there are also two advantages to make them easy to access from the web:

easy to consult if needed
easy to download if someone wants to write an application in a language the SDK doesn't support (e.g., downloading the WIT files to use with C)

If that is how things should be then a comment explaining the situation would help (my rule is that if it takes 10 minutes to figure out then a comment is warranted).

Good idea! I added a README file to the directory, to hopefully make it clearer :grin:


Ambiguous parsing

It would be great to enable compromise to have multiple interpretations of words, like
"show me your papers" and "he's running a show".
Then, we could start from all permutations of a sentence, and cut off ones that don't match.
Potentially this means exponential complexity, of course, but as compromise meant to do compromises, it might just fall back to the most probable one after some limit.
Somehow related, Nearley parser seems to be a good fit for this (as it supports any kinds of ambiguous context free grammars easily).

I can try to workaround this with permutations of vocabularies, or rules, and keeping the intermediate results manually, but it would quickly become cumbersome if the same word occurs many times within a single sentence.

Looking closer, Issue #312 also seems to be related here.

hey Oleksandr, thanks, I'd never seen nearley.js before. that's pretty neat.
yeah, you're right about how we've been shy about doing any statistical tagging.
we do a considerable-amount of sentence-level post-processing though, to catch ambiguous word-users. you can see we get "running the show" correctly, at least ;)
as of last version, it's become really easy to set these post-hoc transformations yourself, with the plugin api.
var nlp=require('compromise')
var plugin={
  patterns:{
    "#Gerund (a|an) [#Verb]":'Noun'
  }
}
nlp.plugin(plugin)
var doc=nlp('she is running a show')
doc.match('show').out('tags')[0]
//Noun!

https://runkit.com/spencermountain/5a0f31ed5f47c000128aa1a2
cheers

"show me your papers" & "he's running a show"
both work now in 11.2.1
thanks

https://runkit.com/spencermountain/5a17879ee39bc6001212f8b4


Missing wEth in Wormhole from Solana to Ethereum

Please help. I tried to bridge wEth from Solana to Ethereum, but when I had to aprove the transaction in Metamask, there were not enough funds, so I cancel the transanction in Metamask, but now, there is no wEth in my Solana wallet, neither in Metamask, and I cannot see any txn in the recent transactions in https://v1.wormholebridge.com to retry it
Solana txn: [https://explorer.solana.com/tx/3azSjegDVwHyJSExNk2oP1NCZLyfmjTRPaNJxT9ruWuWzDRHkpf8m9r5jjDYPTz7jrVu4HRzyGCwzEgTpsw8NEtp]
Solana Wallet  2wWxCKJpdrG1n3puG6g3D2ugj5n6CgZELcWHzfTHaEMZ
Thanks in advance.

I've the similar issue.  How do I get back my fund? My ETH address - 0x63D893882D0d458415Cdef53e998A4CA9f072060

The same me too!

@mggin @RoRo-1 please create independent issues

@RafaelFernandez Did you mean this transaction? https://explorer.solana.com/tx/3tXZoSrbwjG4PimNr9K3iugkTJfwGyHAQw8vWmbjLhcYVM1H1WSf1xKa2B5JmmTjQkqahZ6BB2SE2ZWxtpmqDX6N
The transaction was successfully processed by the Wormhole network, but the client-side transaction submission may have failed. Try clearing your cache and reloading https://v1.wormholebridge.com to see if the transaction can be completed there. Make sure both wallets are connected, and select both tokens from the picker.
If v1.wormholebridge.com doesn't work, you can manually submit the signed VAA bytes below to the submitVAA method on the Wormhole contract: https://etherscan.io/address/0xf92cd566ea4864356c5491c177a430c222d7e678#writeContract
Note that Wormhole v2 was recently launched on wormholebridge.com, which fixes the bug you encountered! You will still have to use v1 to complete your in-progress transfer.
You can also try using the third-party https://www.interstellar.tk site to retry your VAA submission.

Digest (for reference only): a4c123bd8d9ec1bff8ad3fa595b572ad97c381373679422d235d063d58ced100
Signed VAA bytes to submit to the contract:

0x01000000010d0011df3f7da08c0b6483458f6bd0823ee198f8ec6e7e355626ea3a8ecbb10567652d87c6fa8496c28a732d7db43a7cd0ec2440324cc10520090da4a5df797eb6ab0101f036011afb8309dd66cc8b83847921836573b570c385dfaf1aa8857f5954d51540ca2136f838798170d5f55c80c9a2c305ca821f82311c7ed06f13e46b9df9eb0104b2b35a1f247bd3056d75b81284c3954143f7e68e136d8b3068f7715c078914a4240a1ed9a8a8cc66523701625619e8a969b37ef9c4ff51e92502efc229b1b5820105fc506686a35058942dd6377bd0605195db48b41ae73c689eb111bf4dbba362a55b9cad04672f0cf7845909aa15546f19f8b0c30531350391de0f99142b9d05d801060d3d8a5e73e2c7d1951eb5f00b988923669ae1534b9cf9e53d447f78d5918f3d64c7e0c244cc3f3501b1a4c3f2d09672c903ad5001212ee5eed58c6872174c2d00070ff2703b2f812def2d85879e0d58419bc4a04a24337165b693983bc80f24884463c1a9b8b6784c114e2e5cf07c3b9104fdf73a8c23182f37fa07091d17b02c2a0108dfe0231078a2927c731e30dbde62ac63eebfe8704a2da76cc741dfb020f673c12ffaf5ae3c38ca7b35f52ec15df081c883b1b8c5253a9b78c9f9f1d59c8d7ef8000a6857f3af15e60c213713185de42a6392faac526b63ec2e6f71ce8e2bb9eb287c008525f35e45d7c70ab7f02101b2b7216638735464cb1ce52ec8f850bae9f6c7000c243b6124ec1ce61c0fc51d7b92b05652d7e2d83cc5858f0b60f169111e3e36b9356ef08822ad79e53b0dbaf6e13b4a099de4ab6b1ecb1803e0ee71c3b0e2e1f6010d128a9db5a19685a178dc82c679bc79ff5ec335b484cf233d730975e8f1b80af87823bb04c3f6ce74dbef2d80e1629c7412bc05ca8a5489bb1754db216066552c0010834d5dbbec73c6d6bbdd3e88320e95db1cd16370051b3ac84b70ab3b1ba471210c1ed4661cfc4d315c7d7b9a924f9a9f33f050e0ace8c2f4a80c45f9532eaffa00118207c67ca7891065147d054d3f677b53795d4cbea5d5fa93f9fd05baedb0e99d0113bbcb5b1c63eaa510e411224648443c8eface334fb1f55fb0a848b25e32ca0112a2ef8d362bdf9f36ff12d7cefa0ef2dc175902638fe284a3891d47a191cb8a441033cb37190c780f29aa7732a0bb47ff8b5c12d3e69cf12e3971f4719ea0ad2b0061463649100001002c010292d2959c5bb2ca6c6d3f9972b12463197898fa78749b8b673a9ab1e615b2efce000000000000

It worked! Thank you very much @leoluk


How to use HostFunctionBuilder with instance functions?

I have a struct which has the following signature
type temp struct {
  a int
}

func(t *temp) set(b int) {
  t.a = b
}

Now I want to use the wasm module from multiple go routines, so I thought I can precompile the module and function similiar to this
// do at init of my program
compiled, _ := r.NewHostModuleBuilder("env").
	NewFunctionBuilder().WithFunc(set).Export("set").
	Compile(ctx)

// on each go routine, do an instantiation like this
env1, _ := r.InstantiateModule(ctx, compiled, wazero.NewModuleConfig().WithName("env.1"))
env2, _ := r.InstantiateModule(ctx, compiled, wazero.NewModuleConfig().WithName("env.2"))

But the above code wont work because set is bound to an instance of struct temp. How can I make this work?

Is the  only option to do a recompilation of the function again and again?

Your chances of getting useful help will increase significantly if you post a more complete example of what you're trying to do.
Code for the host (the thing that uses wazero to load a Wasm module) and for the guest (the thing the Wasm module is built from).
That said…
WithFunc takes a function, not a method, so yeah, that's not going to work; instance.env is a for an instance you created is a function, though.
I don't see any goroutines, so I have no idea how goroutines relate to any of this.

Sorry for the trouble, added my complete main function

For this exact situation you can use the context parameter so you don't need to create multiple host modules

How do I use the context parameter? I dont see any examples where the exported/imported functions using context. Idea is that I can set the value to context and later read from that right?

Again, WithFunc(temp.set) is a compile error, because you're referencing a method, which you can't. To transform method into a function closure, you'd need tmp.set, on the tmp := &temp{}.
That said, going back to the context parameter, please read the WithFunc docs, to see that the function gets a context.Context parameter.
Now try this:
	mod, err := r.NewHostModuleBuilder("env").
		NewFunctionBuilder().
		WithFunc(func(ctx context.Context, b int64) {
			tmp := ctx.Value("key").(*temp)
			tmp.set(int(b))
		}).
		Export("set").
		Compile(ctx)

And this:
	tmp := &temp{}
	ctx := context.WithValue(context.Background(), "key", tmp)
	...

Thanks a lot. Let me try this out and I think an example like this also should be added to the examples directory, will try to raise a pr myself once I get it working

I tried some benchmarking tests on parallel, when instantiating the function module again and again I get an error stating the module with name env has already been initialised and without any name it's complaining about module:env not found. I thought each go routine should initialise it's own module from this example, but just moving this line outside the loop solves the crash and the benchmark test executes without any problem
_, err = r.InstantiateModule(ctx, mod, wazero.NewModuleConfig().WithName(""))

Judging by this issue as well, I'd guess its not safe for multiple routines to call into a common functions module, right? In which case how can I solve the above problem, where it complains that module:env is not found?

Also I use tinygo for now and how do I use this module as well incase of multiple go routines
// Note: testdata/greet.go doesn't use WASI, but TinyGo needs it to
// implement functions such as panic.
wasi_snapshot_preview1.MustInstantiate(ctx, r)

Added a complete example here. The code runs without any errors, but the output is erroneous, probably owing to concurrency issues related to my module instantiation. @ncruces @mathetake  can you please give me some guidance here?


Allow rendering of HTML in PropertyTable

This allows the rendering of HTML in the value column of the PropertyTable. Normal (non-html) text is rendered as before, so we have backward compatibility here. No need for updates of existing apps.

Thanks for the review @JakobMiksch! I am going to merge now.


Create a UI similar to original demo but created with any sample item metadata file

Metarank has a demo built for their sample data provided here
Their demo build is captured here :  frontend / backend
We need to build a similar UI such that we can easily demonstrate the recommendation/ranking for any user for any sample data that we've been provided. A sample content file is shared here
There could be a config file that establishes the item_id, item_name provided in the sample and the UI should show the ranked list of items and the ranking changing on interacting with items
How metarank works and how API requests are sent to interact with metarank can be found at their github documentation

We will need to create 2 UI screens -

Similar to the demo that the user can interact with but also contains an additional filter on top for selecting the type of user we want
A tabular view of the ranked list being sent back to the user (and which mirrors the other UI screen)

Can be built in React

The following blocks need to be implemented to complete the UI

[ ] Setup the project locally
[ ] Run the test and check the API endpoints
[ ] Research on the implementation of the project
[ ] Use a static data to build the UI
[ ] Create a form for the farmers
[ ] Login for the farmers
[ ] Switching between user
[ ] Creating new user
[ ] Build the block to store any entity like fertilizer
[ ] Build a wrapper for all the blocks
[ ] Build the table like the CSVs
[ ] Use API call to fetch data instead of static data
[ ] Rearranging the data based on API feedback
[ ] Implement the interact event on click
[ ] Implement other interactions like rating a product


SFV(UE4.7) DA_XXX_Setup Files (Failed to parse 1 export)

Game: StreetFighterV
Engine Ver: 4.7.6 (4.7)
I keep getting the (Failed to parse 1 export) when opening the setup files that include a BGM file path leading to Raw data only being displayed
The following files seem to work fine as they dont include a BGM path
DA_D04_Setup.uasset
DA_AS1_Setup.uasset
DA_AS4_Setup.uasset
DA_AS6_Setup.uasset
DA_B00_Setup.uasset
as for the rest of them dont seem to work, It would be greatly appreciated if you guys could take a look at these files
SFV_UE4.7_DA_XXX_Setup_Files.rar
(hopefully i did this right i have no idea what im doing on github half of the time)

example archive is no longer available.


JSN-SR04_Gen3 ping sensor needs 5 V, Boron operates on 3.3 V GPIO

For improved performance, JSN-SR04_Gen3 sensor requires 5 V input. Particle Boron outputs/accepts 3.3 V from/into GPIOs.
TODO:

[x] Get power boost IC to boost Boron's 3.3 V to 5 V for sensor's power supply
[x] Get level shifter to shift sensor's TRIG output back down to 3.3 V for safe usage on Boron

Testing complete and appears to be functional. Will close this once a wiring diagram is posted (https://github.com/SUPScientist/smart-coasts-bathy-mapping/issues/4).

Closing with https://github.com/SUPScientist/smart-coasts-bathy-mapping/pull/8


Auto minimize sidebar

What feature or improvement do you think would benefit Files?
I would like to see a button that minimises the sidebar without having to drag it with the mouse, so that I can quickly switch between normal and narrow.  In addition, the sidebar should be minimised automatically when the File App window only takes up half of the screen (on-off toggle in the settings).

Requirements
Thanks to the new snap function, you can rearrange windows very quickly. So it would be nice if you didn't have to adjust the page layout every time you moved a window in order to have enough space to work.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22621.819
Windows Version
Windows 11 Pro 22H2 22621.819
Comments
Normal sidebar

Minimized sidebar

You can double click the grid splitter to expand/collapse the sidebar


[Feature request] Support DataGrid

Hi,
Thank you for a great job.
I would like to use it with Datagrid, so please support it.
Thank you for your consideration.

will try to do this

I appreciate it very much!
I'm looking forward to it😆

There are news about DataGrid styling?
Thank's and great job!

ive recently started playing around with the datagrid so hopefully it will be styles very soon :)

Here is the Data Grid styling if you want it:
https://gist.github.com/chrdavis/288d743362b963b875832cc493d2cc94

@chrdavis Swell! Would it be possible to style DataGridCheckBoxColumn and DataGridComboBoxColumn too? A workaround is to use a DataGridTemplateColumn instead, but it would be nice to have all options.

I styled the data grid for the new theme library. I haven't implemented nor tested the check box feature yet, but hopefully it at least pulls the foreground from the parents


Add node-monero-rpc library

@ExcitableAardvark could you apply @leonklingele recommandation and rebase on current master?

@el00ruobuob Sorry for the delay, updated.

@erciccione Sorry, fixed


[WIP]update test

Please provide a description of this PR:

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
f5fa39d78e191a221fff18f6b282feb561803815
link
true
/test release-notes

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
f5fa39d78e191a221fff18f6b282feb561803815
link
true
/test release-notes

integ-pilot-istiodremote-mc_istio
f5fa39d78e191a221fff18f6b282feb561803815
link
true
/test integ-pilot-istiodremote-mc

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

OcAgent trace exporter: Export() stream broken.
OcAgent trace exporter: Export() failed: UNAVAILABLE: DNS resolution failed for opentelemetry-collector.istio-system.svc:55678: C-ares status is not ARES_SUCCESS qtype=A name=opentelemetry-collector.istio-system.svc is_balancer=0: Domain name not found


Minor bug fix and feature extension

Fixed airfoil signature to be the same as power_off_drag (str -> List[tuples])
Implement multiple rocket fins attachment

Fixes #32

@Gui-FernandesBR can you please confirm if I need to evaluate static margin for each rocketpy_rocket.aerodynamic_surfaces.add or can I evaluate it only after adding everything (out of the loop) ?


preallocate memory

What this PR does / why we need it:
Preallocate memory instead of enforcing an incremental growth. This will result in less work for the garbage collector.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

sorry for the delayed response @bep :pray:
As the change is trivial, I did not add a benchmark. But I wanted to share the benefits I see here with this proposed change.
For benchmarking I used the following snippet:
func BenchmarkShortcodeString(b *testing.B) {
	var sc shortcode
	// Populate sc
	params := make(map[string]any)
	for i:= 0; i<16; i++ {
		params[fmt.Sprintf("%d", i)] = struct{}{}
	}
	sc.params = params

	b.ResetTimer()
	for i:=0; i< b.N; i++ {
		tmp := sc.String()
		_ = tmp
	}
}

With the original code these are the results I get on my machine:
goos: linux
goarch: amd64
pkg: github.com/gohugoio/hugo/hugolib
cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics
BenchmarkShortcodeString-16    	   51668	     22555 ns/op	    4144 B/op	      46 allocs/op
PASS

With the proposed change I get these results for the benchmark run:
goos: linux
goarch: amd64
pkg: github.com/gohugoio/hugo/hugolib
cpu: AMD Ryzen 7 PRO 4750U with Radeon Graphics
BenchmarkShortcodeString-16    	   56737	     20946 ns/op	    2962 B/op	      40 allocs/op
PASS

So even for a map with only 16 elements we can see a reduction of allocs/op and ns/op. I can't tell if 16 elements in this map are common so this number is just a random pick. With more elements in the map the drop in allocs/op and ns/op will be even greater.


Dependency injector doesn't resolve my repository (Debian and SqlLite)

Hi !
I got a probleme with Net.Core 1.1 dependency injector.
In my project (under Debian) i got a simple architecture:
I have a Generic Base Controller
BaseController.cs
namespace QuestionBank.Controllers
{
    [Route("api/[controller]")]
    public class BaseController<TEntity> : Controller
        where TEntity :  class, IEntity, new()
    {
        protected IRepository<TEntity> Repository {get;set;}

        public BaseController(IRepository<TEntity> repo)
        {
            this.Repository = repo;
        }

        // GET api/{Controller}
        [HttpGet]
        public virtual IEnumerable<string> Get()
        {
            return new string[] { "Entity 1", "Entity 2" };
        }
    }
}

And One Controller (the method Get() is the one called when error occurred)
ThemeController.cs
namespace QuestionBank.Controllers
{
    [Route("api/[controller]")]
    public class ThemesController : BaseController<Theme>
    {
        public ThemesController(IRepository<Theme> repo) : base(repo)
        {
        }

        [HttpGet]
        public override IEnumerable<string> Get()
        {
            var t = this.Repository;
            var r = this.Repository.GetAll().ToList();
            return new string[] { "Theme 3", "Theme 4" };
        }
    }
}

I use SqlLite and i defined my context like this :
ApiContext.cs
namespace QuestionBank.Models
{
    public class ApiContext : DbContext
    {
        #region Entities Definition
        public DbSet<Theme> Themes { get; set; }
        #endregion

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            optionsBuilder.UseSqlite("Filename=./QuestionBank.db");
        }
    }
}

And finally my Startup.cs
namespace QuestionBank
{
    public class Startup
    {
        public Startup(IHostingEnvironment env)
        {
            var builder = new ConfigurationBuilder()
                .SetBasePath(env.ContentRootPath)
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
                .AddEnvironmentVariables();
            Configuration = builder.Build();
            using(var client = new ApiContext())
            {
                client.Database.EnsureCreated();
            }
        }

        public IConfigurationRoot Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // Add framework services.
            services.AddMvc();
            services.AddEntityFrameworkSqlite().AddDbContext<ApiContext>();
        }

        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole(Configuration.GetSection("Logging"));
            loggerFactory.AddDebug();

            app.UseMvc();
        }
    }
}

My Repository is not resolved.
I got this error when i call the URL ---> /api/themes

fail: Microsoft.AspNetCore.Server.Kestrel[13]
Connection id "0HL0C57CDRPRT": An unhandled exception was thrown by the application.
System.InvalidOperationException: Unable to resolve service for type 'QuestionBank.Models.Repositories.Interfaces.IRepository`1[QuestionBank.Models.Theme]' while attempting to activate 'QuestionBank.Controllers.ThemesController'.

How would you expect the repository to be injected when you haven't configured it anywhere?

Sure !  Sry, i forgot this line in my startup.cs  :
           services.AddScoped(typeof(IRepository<>), typeof(BaseRepository<>));
I still got the problem, i'm testing Core.Net for the first time.
Did i missed something ?

Can you update the example with your overall code (add the missing line). Also where is the definition for BaseRepository

Yes,
Here my BaseRepository
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using QuestionBank.Models.Entities.Abstracts;
using QuestionBank.Models.Repositories.Interfaces;

namespace QuestionBank.Models.Repositories
{
    public class BaseRepository<TEntity> :
        IRepository<TEntity>, IDisposable
        where TEntity : class, IEntity, new()
    {
        protected volatile DbContext context;

        #region Constructors
        public BaseRepository(DbContext context) : base()
        {
            this.context = context;
        }
        #endregion

        protected virtual DbSet<TEntity> Data => context.Set<TEntity>();

        public IEnumerable<TEntity> GetAll()
        {
            return this.Data.ToList();
        }

        public IQueryable<TEntity> Query()
        {
            return this.Data;
        }

        public IQueryable<TEntity> GetBy(Expression<Func<TEntity, bool>> filter)
        {
            throw new NotImplementedException();
        }

        public TEntity GetById(int Id)
        {
            return this.Data.SingleOrDefault(x => x.Id == Id);
        }

        public void Insert(TEntity Model)
        {
            this.Data.Add(Model);
        }

        public void Update(TEntity Model)
        {
            this.Data.Attach(Model);
            this.context.Entry(Model).State = EntityState.Modified;
        }

        public void Delete(TEntity Model)
        {
            this.Data.Remove(Model);
        }

        public void Save()
        {
            context.SaveChanges();
        }

        #region IDisposable implementation
        private bool disposed = false;
        protected virtual void Dispose(bool disposing)
        {
            if (!this.disposed)
            {
                if (disposing)
                {
                    context.Dispose();
                }
            }
            this.disposed = true;
        }

        public void Dispose()
        {
            Dispose(true);
            GC.SuppressFinalize(this);
        }
        #endregion
    }
}

(My BaseController methods are under construction)

I think you need to inject ApiContext, not DbContext.

Also, that can't possibly be all of the exception? If that's the case, then the built-in container has some serious diagnostic problems.

You said that you forgot the line in Startup, but surely if that line was present, the exception should've been different?

Ah ! Thank's ! You found my mistake ! I injected DbContext, not ApiContext...
It works nice !
Thank's a lot ! :dancer:
PS : I tried to watch what my container contained, but I am not all that familiar yet with debugging under Debian


[MM-50305] Implemented url auto generation on channel creating

Summary
Changed the logic for creating a new channel to generate a random 32 characters long string for the Channel.name (same as url) whenever the display name is filled but there's no url-safe (alphanumeric) characters in it.
Ticket Link

https://mattermost.atlassian.net/browse/MM-50305
Related Pull Requests

None
Screenshots

before
after

Release Note

Implemented url auto generation on channel creation for when there's no url safe characters on its name

Hello @gomessguii,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

cc: @Willyfrog I think apart from dev review this should also go through PM/UX review too and have someone from channels take a look.

@asaadmahmood The idea of this was to reduce the amount of friction when we can't make a URL from the display name since the "Create Channel" button is currently just disabled with nothing to tell the user why they can't create that channel

I don't think we really need to tell the user that we're doing this since I don't think they'll really care too much. They'll likely just ignore any message about that anyway. The URL part of the channel is pretty unimportant now since the channel switcher and autocomplete both let the user type a non-English display name.
I also noticed that Slack's channel URLs just use an ID instead of a human-readable name, so they also don't seem to care about making those URLs readable (eg. https://app.slack.com/client/T02FF7QV3/C04Y6JR1D)

@hmhealey I don't mind about making the urls readable. But if we just leave the url hanging at channels/ it seems weird.
Is it not possible to autogenerate the url right here after the user is done typing, even if its a weird auto-generated thing?

@hmhealey I don't mind about making the urls readable. But if we just leave the url hanging at channels/ it seems weird. Is it not possible to autogenerate the url right here after the user is done typing, even if its a weird auto-generated thing?

I've tested it and it is possible. However, the last auto-generated string remains in the field when the user types and deletes all the characters (check the video below). Therefore, it would probably need a functionality to clean the variable when the display name is blank.
Gravação de tela de 2023-03-01 21-21-35.webm

Sincerely, both approaches look kind of weird, and as @hmhealey said, most users don't seem to care much about the URL field. As a user, I don't see a problem with generating the URL only after the button click. When the button is enabled, I know that the channel can be created, and that's pretty much all I need to know when creating a channel. However, I use the Latin alphabet, and the original issue doesn't apply to me.
It's up to you guys to discuss it.

Hey, sorry for the radio silence on this. I've been meaning to meet with Asaad to discuss this to avoid any confusing back and forth about which direction to go here, but we've been busy with our big move to combine this repo and https://github.com/mattermost/mattermost-server (as well as a few others) into a monorepo (see https://github.com/mattermost/mattermost-server/issues/22420 for more information).
We'll hopefully have the monorepo up and running by the middle of this week so that we can figure out what approach we'd like on this, and then we can also help you get this PR moved over to the new repo if you'd like

Hey, sorry for the radio silence on this. I've been meaning to meet with Asaad to discuss this to avoid any confusing back and forth about which direction to go here, but we've been busy with our big move to combine this repo and https://github.com/mattermost/mattermost-server (as well as a few others) into a monorepo (see mattermost/mattermost-server#22420 for more information).

It's ok. Let me know if you need anything.

Okay, coming back to this, we came to a compromise between the two methods here for how we we want this to work.
Because we want to show the auto-generated URL but having the random string change with every character typed is a bit distracting, could we perhaps only generate the random string when the user clicks out of the textbox? So the behaviour should be:

As before, if any alphanumeric characters are typed into the textbox, we should use those and to generate the URL as the user types
If there are no alphanumeric characters in the textbox when the user clicks out of the textbox, we should generate a random string to fill the post textbox
Because the URL may not be filled until the user clicks out of the textbox, we should only disable the Create button when the display name is empty and ignore the URL now

How does that sound? We also talked about removing the ability to change the URL before creating the channel so that we don't need to show it to the user at all, but that's something that needed more discussion

@hmhealey
Got it. I'll work on it as soon as possible.
I intend to change the function "handleOnDisplayNameBlur" and add the following snippet:
const handleOnDisplayNameBlur = () => {
    if (!url) {
        setURL(cryptoJSRandomWordArray(16).toString());
    }
    if (!displayNameModified) {
        setDisplayNameModified(true);
    }
};

and remove the url || cryptoJSRandomWordArray(16).toString() previously added on L116.
I hope this produces the expected behavior.

Gravação de tela de 2023-03-21 19-26-54.webm
I didn't know the cursor was invisible, but you can see the behavior :rofl:

Awesome, that looks good to me! I also confirmed that users can now type in a name and click on the create button immediately. I was a bit worried that the blur handler wouldn't fire in time, but it works perfectly for me, at least on Firefox
We are going to have to do some followup work to move this to another repo though. We've actually been going through a migration to have this code live in a monorepo with our server code to make working with the code for the whole app easier (more info on that here), so this PR will have to be reopened against that repo after the monorepo changes area merged to master.
I'll provide more detailed steps in a day or two, but if you wanted to start early, all the code in mattermost-webapp will live under webapp/channels in the monorepo at https://github.com/mattermost/mattermost-server. If we haven't merged the changes to the default branch by the time you read this, they'll be available in the mono-repo branch to be worked off of

Ok, I'll reopen this PR against the server repo in a minute.

PR-22598 was created on the server repository.


Start external ros nodes

External nodesshould be run by the roslaunch <node name> <launchfile> command.
Ideally these external nodes would be described somehow in the model instead of just being a command line argument to pass in during Run Experiment. Would it make sense to specify an external node in the system model since we are going to move system libraries there as well?
Else is could be specified in the software model and added to deployments the same way that components are?
Relevant attributes for a node component:
node name
launch file name

A node could possibly contain its own external defintions?
Example usage:
To interface with a 3DConnexion mouse it is easiest to use the existing spacenav_node ros package. This is launched using roslaunch spacenav_node classic.launch. The spacenav node then publishes the following topics
/spacenav/joy
/spacenav/offset
/spacenav/rot_offset
/spacenav/twist

http://wiki.ros.org/spacenav_node

currently the topics can be defined in external definitions, but the node has be be launched manually before deployment.

Just like system libraries, the onus is on the user to make sure the package is installed on the system being deployed to.

add new External Node meta-type to deployments which includes a run command and possibly a stop command which allows the RunExperiment and StopExperiment plugins to know what to do :)

@DWatkins what's the best accepted practice for stopping these processes later? just to send them a SIGKILL / SIGTERM?

Yep!

I've update the meta and RunExperiment plugin to support External Nodes, I'll leave you to test using them (since you've already got some that you use) to see if the PID is properly captured by the current code.   Must be called before roscore is killed.

killing via PID is probably better. rosnode searches for the node name instead of the type or PID. Unfortunately node name is defined within a launch file and is pretty arbitrary.


Not able to save the RDD generated from Dataframe

I have created a dataframe from spark SQL.
val df = sqlContext.sql(..)
df.rdd.toHbaseTable // Does not works.
Let me know how to save a dataframe using the connector.

I think the problem is, when you use df.rdd it converts to RDD[Row]. But the API requires the rdd type is of tupe. For example: RDD[(String, Int)]


Which browsers are supported

You should include browser support.

As far as I deduce from the CSS the vendor prefixed properties support goes back to IE6 or so but even if removing all the "old" prefixes like kthml- and the IE filters support would still be like almost all browsers at least for opacity http://caniuse.com/#search=opacity
There are data URL (SVG?) background images which are not supported in older browsers though.
And less support for the also used "pointer-events" property http://caniuse.com/#search=pointer-events . Guess prefix support for opacity, transform transition should be aligned with pointer-events (have not checked all the CSS, might make sense to keep some prefixed properties).
But this would make browser support a bit clearer while reducing the CSS quite a bit, as an example:
filter: alpha(opactiy=0);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
-moz-opacity: 0;
-khtml-opacity: 0;
opacity: 0;
-webkit-transition: all 0.18s ease-out 0.18s;
-moz-transition: all 0.18s ease-out 0.18s;
-ms-transition: all 0.18s ease-out 0.18s;
-o-transition: all 0.18s ease-out 0.18s;
transition: all 0.18s ease-out 0.18s;

would become
opacity: 0;
-webkit-transition: all 0.18s ease-out 0.18s; /* maybe keep this? */
transition: all 0.18s ease-out 0.18s;

Maybe this is too aggressive but personally I would even loose the -webkit- properties as stuff would work without these but would look a little bit less polished which on these devices probably does not matter much (IMHO).
I have not tested extensively but e.g. I think balloons would work in IE9 without all the filters. The website does not work in IE8 (emulated only) at all so hard to say if that would work at all. Even more reason to loose filter properties and old prefixes.

have not tested it but what actually about touch support? Hover if at all probably won't work on all devices/OS varieties?

@cthedot It works on both Android (Chrome) and iOS 8+.
iOS has a quirk where you can't "click away" to close the tooltip. The only way to close it is tapping in other element with focus. But its not a blocking bug. #60 has more info on it.

Guess problem on touch devices is mostly discoverability. If on a button or link I'd click the button but not "long click" to hover. With mouse it is instant even before any click. But that is not specific to your code, just a general problem with hover based stuff I guess.
BTW, the "long click" also works on Windows (tested on Lumia 950 Win Mobile 10 but guess tablet with Edge too)

From v1.0 on those are the browsers we aim to support:
Desktop:

Safari (Webkit)
Chrome (Blink)
Firefox (Gecko)

Mobile:

Chrome/Android (Blink)
Safari/iOS (Webkit)
Firefox/Android (Gecko)

Any other browser that relies on those rendering engines should work just fine, but is not in the list for immediate fixes if something breaks.


[FIX] Edit wrong link address

It is trivial. Fix link properly
Signed-off-by: Sewon Oh<EMAIL_ADDRESS>
[Template] PR Description
In general, github system automatically copies your commit message for your convenience.
Please remove unused part of the template after writing your own PR description with this template.
$ git commit -s filename1 filename2 ... [enter]

Summarize changes in around 50 characters or less

More detailed explanatory text, if necessary. Wrap it to about 72
characters or so. In some contexts, the first line is treated as the
subject of the commit and the rest of the text as the body. The
blank line separating the summary from the body is critical;
various tools like `log`, `shortlog` and `rebase` can get confused
if you run the two together.

Further paragraphs come after blank lines.

**Changes proposed in this PR:**
- Bullet points are okay, too
- Typically a hyphen or asterisk is used for the bullet, preceded
  by a single space, with blank lines in between, but conventions vary here.

Resolves: #123
See also: #456, #789

**Self evaluation:**
1. Build test: [ ]Passed [ ]Failed [*]Skipped
2. Run test: [ ]Passed [ ]Failed [* ]Skipped

**How to evaluate:**
1. Describe how to evaluate in order to be reproduced by reviewer(s).

Add signed-off message automatically by running **$git commit -s ...** command.

$ git push origin <your_branch_name>

:memo: Version: 1.20180820. Thank you for submitting PR #261. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://invain.mooo.com/.


Sense if SiK (3DR Radio) Firmware supports MAVLink 2

If the user is using an SiK radio (or other radio) and its Firmware is not recent (how do we tell these radios support MAVLink 2?) PX4 should not announce MAVLink 2 capability through that channel.

If I am using an SiK radio, which version of the Firmware should I upload to Pixhawk? Thanks.


Configure keystonemiddleware to deal with memcached pods failures

Whenever one of the mecached pods disappears, because of a rolling restart during a minor update or as result of a failure, APIs can take a long time to detect that the pod went away and keep trying to reconnect.
From a quick round of tests we saw downtimes up to ~150s.
By tuning memcache_pool_dead_retry and memcache_pool_conn_get_timeout the behavior seems much more acceptable.
Jira: https://issues.redhat.com/browse/OSPRH-11935

/test cinder-operator-build-deploy-tempest

Tested locally and it works as expected. We might want to document how to tune these parameters but the default values are aligned with the rest of the operators.

/lgtm


MTL-1647: script to set root passwd and add keys to NCN images

Summary and Scope

Fixes MTL-1647

Issue Type

RFE Pull Request

Prerequisites

[ ] I have included documentation in my PR (or it is not required)
[x] I tested this on an internal system (redbull)

This lives in the CSM repo


Colorize Search result file path

Can you please separate file name with any color? so it can be easily parsed at glance. I can't find how to change it

here is Monokai as good example:

I'll take a look


[JGI] Swap workspace name for narrative name

All but the last commit
https://github.com/MrCreosote/ui-common/commit/d4f563552a1e4045e8bcdcb62bcddc83241fb13a
are just from merging narrative-dev->JGI.
Mike - we should discuss whether we should try to get this into prod tomorrow. I'm ambivalent.

Note that this merge with all the old commits went into the jgi branch.  The actual change is minimal in order to set the display to 'narratives' instead of 'workspace' on the jgi import page.  We'll test it in narrative-dev first.

Tested on narrative-dev- all looks good.  This will go in.


Is there anyway to debug individual nodes in the pipeline?

I'm trying to recreate a project pipeline similar to the spaceflights tutorial you had on youtube, but I can't even get past the first node. I get this error and is a bit confused about where to start debugging it? In the documentation, I can't see where the plugin creates the azurml components or pipeline files so I can go in and debug what it is trying to do.

Hi, given that the pipelines run kedro commands in a docker container you should be able to run the specific steps locally.

Install docker locally
Run docker exec -it <container> bash to open shell in a container
Run cd /home/kedro && kedro azureml -e <environment> execute --pipeline=<kedro_pipeline> --node=<kedro_node> to execute the step inside the container.

From the error message I can tell that there is something wrong with your docker image (maybe you haven't rebuilt it). There should be Kedro installed within this image. The plugin also assumes that the project will be stored in the /home/kedro directory which is default for the kedro-docker plugin.

Good to hear it works! :)  I'm closing the issue now. Feel free to open new one if there are any more questions.


Sentence splitting not splitting as expected

Hi, I'm finding some behaviour with the default model and the SentenceDetect method, using the EnglishMaximumEntropySentenceDetector.
My first input is:

This is a sentence without spaces.Should be split into three?Is not?

I would expect a list of strings like:

"This is a sentence without spaces."
"Should be split into three?"
"Is not?"

The results come out as:

"This is a sentence without spaces.Should"
"be split into three.It is split in the wrong places."

Same for a sentence without many spaces:

This is a sentence without spaces.Should be split into three.It is split in the wrong places.

I would expect a list of strings like:

"This is a sentence without spaces.",
"Should be split into three.",
"It is split in the wrong places."

The results come out as:

"This is a sentence without spaces.Should"
"be split into three?Why"
"not?"

The sentence finds the end positions with the characters (33, 60 and 68 for the first example), but the FirstWhiteSpace method finds 40 as there are no white spaces after the punctuation as you would expect.
Is there something I am missing that I need to specify or train for this to work? Or do I have to sanitise the input first by making sure any special character has a space after it?
If I change the input to "This is a sentence without spaces. Should be split into three? Is not?" then it works and splits as expected.
Thanks!
Emma

The model has been trained on examples for which the spaces after the end of a sentence (., !, ?) were (in general) respected.
Hence the fact that it's optimized to detect end of sentences when this condition has been met.
If you want, you can train your own model with multiple examples as the ones above and this new model will be more accurate in this case. However, be aware that there will be some edge cases as well. One that comes to my mind immediately are the acronyms with punctuation (eg U.S., K.G.B...).
It's likely that your new model will split sentences on those acronyms as well.

OK, that makes sense @AlexPoint  - I have been trying to handle this via preparsing and adding a space at the end of a sentence, but as you say acronyms with punctuations & decimals become really problematic then. I ended up with a horribly long regex to try and improve it, hopefully sentences constructed in this way won't be a common problem for us more like an edge case. Best, and thanks for the detailed reply. Emma

Indeed, the first - and easiest option - is to treat those cases as edge cases (a correct sentence separator should have a space right after) if they are indeed rare.
Another option that you can investigate is to train your own model like I said above and create your own SentenceDetectionContextSeparator. As you mentioned, acronyms and numbers with decimals are the cases which could collide with the badly written sentences. In this SentenceDetectonContextGenerator, we are building a collectFeatures list; look at the features we are computing to compute the probability of being an end of sentence.
It can probably be enriched with more features that would improve the detection on the cases listed above. The few that comes to my mind right now are:

the length of the prefix/suffix (" X.Y " in general will be an acronym and not an end of sentence whereas " XYZ.ABZ" is likely the opposite)
whether the prefix/suffix can be parsed as a number (" 123.456 " in general will not be an end of sentence whereas " XYZ.ABC " is likely the opposite)
whether the whole prefix/suffix is uppercase
...
You will have to spend some time building the training set and refining the logic though. So make sure it's worth it ;)

I hope that is clear enough and good luck.

@AlexPoint great and clear explanation, many thanks. When I get back to working on this project I will revisit and I'll update you if I manage to enrich the sentence detection based on the various conditions we have discussed. I think it will be worth the effort.
Thanks again 👍
Emma

I am having the same issue as Emma. The model appears to be working correctly, as it is picking up the end of the sentence, it is just adding an extra word too it. After doing some testing it looks like it is related to line 214  method SentencePositionDetect in the MaximumEntropySentenceDectector class, It is looking for a white space before it starts to look for the next Char, hence adding on the first word of the next sentence. If you remove that clause it appears to work fine.
Thanks
Grant

@Wardlegrant interesting find - I didn't get around to training my own model for this, but sounds like it can perhaps be resolved in this code amend. I will see if I can make some time to replicate this and if it resolves the scenarios I found before.


Improve UG based on peer feedback

There could be a clearer target audience and how the app can benefit the target audience
could be a little more pictures showing how the output commands look like
Some sections are a little too wordy, which makes it difficult for people who do not really like to read long chunks of texts. Maybe pictorial examples would improve the readability of the user guide.


Remove SpinJS

in favor of https://github.com/SamHerbert/SVG-Loaders????? I know you loves svg!

maybe we could try https://github.com/tawian/text-spinners


January 2022 recap

One more perf thing, not sure where it would land:

Make tonumber(x) ~2x faster by avoiding reparsing string arguments

Oh and one more perf thing:
Luau compiler now optimizes table literals where keys are constant variables the same way as if they were constants, eg
local r, g, b = 1, 2, 3
local col = { [r] = 255, [g] = 0, [b] = 255 }

And a linter change:

table.create(N, {}) will now produce a static analysis warning since the element is going to be shared for all table entries


dash.all.min.js problem

I run the rl_server and in another terminal run mahimahi :
I found that the localhost/ doesn't work in the pyvirtualdisplay
I search about that and found that I need to use <IP_ADDRESS> instead of <IP_ADDRESS> to get the localhost over mahimahi
I use this code : driver.get('http://<IP_ADDRESS>/myindex_RL.html')
the player load the first chunk only and give me this error

I modified the server to listen to <IP_ADDRESS>
how can I change the ip in dash.js from localhost:8333 to <IP_ADDRESS>:8333

here I have two terminal the first one is the server, the second one is the mahimahi link
p.s. p.js this is the dash.all.min.js but I renamed it.
thank you>

here I have two terminal the first one is the server, the second one is the mahimahi link
p.s. p.js this is the dash.all.min.js but I renamed it.
thank you>

here you can see the meaning of local inside and outside the mahimahi : https://github.com/ravinet/mahimahi/issues/113

here you can see the meaning of local inside and outside the mahimahi : https://github.com/ravinet/mahimahi/issues/113


developing backend

Assign me this issue I can use the flask in python for backend and connect the pages

Sorry Jaid we already assigned another guy for this procees. If you looking for hacktoberfest contribution check another repository, because this repository excluded from this year event


Update Add-AzureRmServiceFabricClusterCertificate.md

Phrasing was confusing. Original version implies that Add-AzureRmServiceFabricCertificate adds the certificate to an existing vault.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

azurermps-4.4.1/AzureRM.ServiceFabric/Add-AzureRmServiceFabricClusterCertificate.md
:white_check_mark:Succeeded
View (azurermps-4.4.1)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@caseywatson - Thanks for your contribution, but all reference documentation updates have to be performed on the engineering product. This updates both the command-line help, and the online documentation (which is generated from command-line help.) Please file a pull request with the engineering team: https://github.com/azure/azure-powershell


Make the CLI even more responsive

Follow-up on #56, per https://github.com/trailofbits/pip-audit/pull/87#issuecomment-954320210:

Regarding the feedback not being great at the beginning, in the future it might be worth reporting some extra state in the PyPIProvider. Something like:

Gathering metadata for sdist {name} ({version})

I'd be in favor of this.


Support for the AdjointGradient result type

Describe the feature you'd like
Native Julia implementation of the adjoint gradient differentiation method for the StateVectorSimulator. Amazon Braket's on-demand state vector simulator SV1 currently supports this differentiation method, but the Python local state vector simulator does not.
How would this feature be used? Please describe.
This differentiation method would allow efficient computation of gradients of parameterized circuits locally and in parallel for exact state vector simulations.
Describe alternatives you've considered
N/A
Additional context
See the Amazon Braket/Pennylane Adjoint Gradient blog for an example of how this might be used. Since the simulator doesn't currently support arbitrary functions for elements of quantum gates, a fallback to finite differences (for applying the chain rule to functions which aren't continuously differentiable) isn't needed.
For smaller circuits, using Julia's dynamic/nested threading capabilities (being careful to avoid running out of memory) would be useful.

I understand that the differentiation would still be performed locally? We could use libraries like Zygote/ Diffractor or ForwardDiff.jl depending on whether forward or reverse mode is suitable for your needs.


Clean up CI configuration, installer and tests

Some initial work toward #3176 and also #3191.

ChIP-seq and ATAC-seq tests should be passing though, I will fix those.


fix: no longer validates module and name when enable is false in secrets section of appsettings

Rebased with master.


etcdctl mk not behaving as indicated in docs

etcdctl --version
etcdctl version 2.2.0

Hi all,
I hope I'm interpreting the docs correctly. the readme says

Create a new key /foo/bar, only if the key did not previously exist:

$ etcdctl mk /foo/new_bar "Hello world"
Hello world

reading this, I expect calling `etcdctl mk` twice with the same key to fail the second time. However, I can call it as many times as I want, and the key will always hold the value of the last invocation.

$ etcdctl mk /foo/new_bar "Hello world"
Hello world
$ etcdctl mk /foo/new_bar "Hello world2"
Hello world2
$ etcdctl get /foo/new_bar
Hello world2

in case there's a better way to do this, my use-case is leader election. I have a homogenous group of machines, and I want some action to happen only on one of them. I'm hoping to have all of them try to grab the same key, and let only the host that manages to acquire the key do the work.

@gyuho Can you please take a look?

Ok I will take a look at this. Thanks for reporting @mwhooker

@mwhooker Please update your etcdctl later than 2.2.0, which came out on  Sep 10, 2015.
It works for me.
./etcdctl --version
etcdctl version 2.3.0-alpha.0+git

./etcdctl  mk a b

./etcdctl  mk a b
Error:  105: Key already exists (/a) [8]

./etcdctl mk /foo/new_bar "Hello world"
Hello world

./etcdctl mk /foo/new_bar "Hello world2"
Error:  105: Key already exists (/foo/new_bar) [10]

If you are still having the same issue, please let us know.

thanks for taking a look all


Windows binary

Dear @timwmillard, could you be so kind to compile uuid.exe for Windows 7 x64 (using @golang 1.20 perhaps)? I assume it's easier for you, the developer, to do this than it is for me, the user, who simply wants to learn more tagging things with UUIDs, not about the intricacies of compiling.

Yeah ok, I can create some pre build binaries for you.

I've create a release with pre-built binaries.
https://github.com/timwmillard/uuid/releases/tag/v0.5.0
@sergeevabc download the uuid_Windows_x86_64.zip Window x64 version.
I do not have Windows, so I can not test this out.  I'm interested to know if it works ok.

@timwmillard, it seems you've used @golang 1.22, but those traitors have recently cut off Windows 7 users like me, so the only way to go is to use 1.20.* to compile.
$ uuid.exe
Exception 0xc0000005 0x8 0x0 0x0
PC=0x0

runtime.asmstdcall(0x22fcf8)
        /opt/hostedtoolcache/go/1.22.0/x64/src/runtime/sys_windows_amd64.s:75 +0x7a fp=0x22fc80 sp=0x22fc60 pc=0x4686fa
rax     0x0
rbx     0x595a78
rcx     0x61a228
rdx     0x20
rdi     0x7fffffde000
rsi     0x22fe78
rbp     0x22fdc0
rsp     0x22fc58
r8      0x0
r9      0x22fee8
r10     0x6fa2e8
r11     0xc000004000
r12     0x22fec8
r13     0x0
r14     0x595100
r15     0x3
rip     0x0
rflags  0x10293
cs      0x33
fs      0x53
gs      0x2b

@sergeevabc I've just done a new release using Go 1.20.14.
https://github.com/timwmillard/uuid/releases/tag/v0.5.1
I would be interested to see if that works.

@timwmillard, it works as expected! Thank you for taking the time to make this app accessible to a wider audience that is looking for a way to create unique ids offline.
Things worth improving:

add app's name and version to the help screen and a dedicated flag like --version to make it easier to understand what is used and when it's time to update
add (default) next to generate version 4, because ids are so similar looking
make the output more verbose either by default or by using a flag for the same aforementioned reason (e.g. Generating 4 id(s) of UUID v7…)

@sergeevabc , I'm glad it worked for you 😃.
Thank you for the feedback and suggestions.  I'll look to add them in the next release.

Thank you for the feedback and suggestions. I'll look to add them in the next release.


Let the examples of chapter 2 be around one theme

Currently each subsection uses a different part of the language to explain that specification step. If the examples are about a single theme, e.g. the "if" statement (bad example), then it's easier for the reader.

I think comparing two Bool classes (e.g. True and False derived classes, as the lecture with Pharo showed) could work: You can illustrate classes as you currently do in TS/NaBL and you can keep the comparison you have for the DynSem section.

But those are constructs defined in the language. We need an example for the specification of classes, not an example for classes

Is this now resolved in #70?

Yes, this can go as there is just an example for dynsem


Feature Request: some kind of progress / working indicator while deploying

I am running quite a few mods these days (triple digits :grimacing:), and deployment takes a while. Would be nice to know if it’s still running or hanging.

Also it seems like the deployment runs on the same thread as the UI, as the latter completely locks up.

Will be added in 1.0.7


Post processing

Seems to support it
https://github.com/adrium/goheif Would be a decent example

Not sure if I would want to bundle this package with this library but you could register custom encoders if you need to handle HEIF files:
package example

import (
  "github.com/modernice/media-entity/goes/esgallery"
)

func example() {
  var enc esgallery.Encoder
  enc.Register("image/heif", func(w io.Writer, img image.Image) error {
	// ... encode image, write result into w ...
  })

  p := esgallery.NewProcessor(&enc, ...)
}


Add direct URL access to latest scans

Would like to see a direct access to latest scan with a unique url, e.g.:
https://seccubus.yourcompany.com/[workspace]/[scan_id]/#latest
Would be nice to have these url's in the emails

Believe this to be standard Angular functionality anyway...


Conv2d stride 2 test failed to legalize operation 'vector.extract_strided_slice'

Conv2d with stride = 2 example:
func.func @conv_2d_nhwc_hwcf(%arg0: tensor<1x129x129x16xi8>, %arg1: tensor<3x3x16x32xi8>) -> tensor<1x64x64x32xi32> {
  %cst = arith.constant 0 : i32
  %0 = tensor.empty() : tensor<1x64x64x32xi32>
  %1 = linalg.fill ins(%cst : i32) outs(%0 : tensor<1x64x64x32xi32>) -> tensor<1x64x64x32xi32>
  %2 = linalg.conv_2d_nhwc_hwcf {dilations = dense<1> : vector<2xi64>, strides = dense<2> : vector<2xi64>} ins(%arg0, %arg1 : tensor<1x129x129x16xi8>, tensor<3x3x16x32xi8>) outs(%1 : tensor<1x64x64x32xi32>) -> tensor<1x64x64x32xi32>
  return %2 : tensor<1x64x64x32xi32>
}

Error:
error: failed to legalize operation 'vector.extract_strided_slice' that was explicitly marked illegal
 %13 = vector.extract_strided_slice %10 {offsets = [0, 0, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x7x8xi8> to vector<1x1x8xi8>

Generated IR snippet:
%10 = vector.transfer_read %buf0[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true]} : memref<1x1x7x8xi8>, vector<1x7x8xi8>
%11 = vector.transfer_read %buf1[%c0, %c0, %c0, %c0], %c0_i8 {in_bounds = [true, true, true]} : memref<1x1x8x8xi8>, vector<1x8x8xi8>
%12 = vector.transfer_read %buf4[%c0, %c0, %c0, %c0], %c0_i32 {in_bounds = [true, true, true]} : memref<1x1x4x8xi32>, vector<1x4x8xi32>
%13 = vector.extract_strided_slice %10 {offsets = [0, 0, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x7x8xi8> to vector<1x1x8xi8>
%14 = vector.extract_strided_slice %10 {offsets = [0, 2, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x7x8xi8> to vector<1x1x8xi8>
%15 = vector.extract_strided_slice %10 {offsets = [0, 4, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x7x8xi8> to vector<1x1x8xi8>
%16 = vector.extract_strided_slice %10 {offsets = [0, 6, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x7x8xi8> to vector<1x1x8xi8>
%17 = vector.extract %11[0] : vector<8x8xi8> from vector<1x8x8xi8>
%18 = vector.extract_strided_slice %12 {offsets = [0, 0, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x4x8xi32> to vector<1x1x8xi32>
%19 = vector.extract_strided_slice %12 {offsets = [0, 1, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x4x8xi32> to vector<1x1x8xi32>
%20 = vector.extract_strided_slice %12 {offsets = [0, 2, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x4x8xi32> to vector<1x1x8xi32>
%21 = vector.extract_strided_slice %12 {offsets = [0, 3, 0], sizes = [1, 1, 8], strides = [1, 1, 1]} : vector<1x4x8xi32> to vector<1x1x8xi32>
%22 = arith.extsi %13 : vector<1x1x8xi8> to vector<1x1x8xi32>
%23 = arith.extsi %17 : vector<8x8xi8> to vector<8x8xi32>
%24 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d0, d1, d3)>, affine_map<(d0, d1, d2, d3) -> (d3, d2)>, affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel", "reduction"], kind = #vector.kind<add>} %22, %23, %18 : vector<1x1x8xi32>, vector<8x8xi32> into vector<1x1x8xi32>
%25 = arith.extsi %14 : vector<1x1x8xi8> to vector<1x1x8xi32>
%26 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d0, d1, d3)>, affine_map<(d0, d1, d2, d3) -> (d3, d2)>, affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel", "reduction"], kind = #vector.kind<add>} %25, %23, %19 : vector<1x1x8xi32>, vector<8x8xi32> into vector<1x1x8xi32>
%27 = arith.extsi %15 : vector<1x1x8xi8> to vector<1x1x8xi32>
%28 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d0, d1, d3)>, affine_map<(d0, d1, d2, d3) -> (d3, d2)>, affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel", "reduction"], kind = #vector.kind<add>} %27, %23, %20 : vector<1x1x8xi32>, vector<8x8xi32> into vector<1x1x8xi32>
%29 = arith.extsi %16 : vector<1x1x8xi8> to vector<1x1x8xi32>
%30 = vector.contract {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d0, d1, d3)>, affine_map<(d0, d1, d2, d3) -> (d3, d2)>, affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>], iterator_types = ["parallel", "parallel", "parallel", "reduction"], kind = #vector.kind<add>} %29, %23, %21 : vector<1x1x8xi32>, vector<8x8xi32> into vector<1x1x8xi32>
%31 = vector.insert_strided_slice %24, %12 {offsets = [0, 0, 0], strides = [1, 1, 1]} : vector<1x1x8xi32> into vector<1x4x8xi32>
%32 = vector.insert_strided_slice %26, %31 {offsets = [0, 1, 0], strides = [1, 1, 1]} : vector<1x1x8xi32> into vector<1x4x8xi32>
%33 = vector.insert_strided_slice %28, %32 {offsets = [0, 2, 0], strides = [1, 1, 1]} : vector<1x1x8xi32> into vector<1x4x8xi32>
%34 = vector.insert_strided_slice %30, %33 {offsets = [0, 3, 0], strides = [1, 1, 1]} : vector<1x1x8xi32> into vector<1x4x8xi32>
vector.transfer_write %34, %buf4[%c0, %c0, %c0, %c0] {in_bounds = [true, true, true]} : vector<1x4x8xi32>, memref<1x1x4x8xi32>

@jsetoain It looks like vector.extract_strided_slice is not supported in aievec.

Or possibly supported in mlir-aie's aievec but not ours...

Or possibly supported in mlir-aie's aievec but not ours... @yzhang93 in the future feel free to tag me as well on aievec related issues since I "own" aievec in our/this plugin.

Okay, sure! One related question, do we still have any dependency on MLIR-AIE in third_party?

Or possibly supported in mlir-aie's aievec but not ours... @yzhang93 in the future feel free to tag me as well on aievec related issues since I "own" aievec in our/this plugin.

Okay, sure! One related question, do we still have any dependency on MLIR-AIE in third_party?

Only op defs in tablegen https://github.com/nod-ai/iree-amd-aie/issues/430#issuecomment-2227174616

@yzhang93 sorry being n00b - can you give me the iree-opt/iree-compile args/CLI to repro?

I don't understand why there is a 7 here, can't the tile size be chosen larger (or smaller) to make it the size we want (4 or 8)? @yzhang93 @erwei-xilinx

My understanding is that the issue is the need for vector.extract_strided_slice. Currently the input feature map data feeding into the cores are being laid out as <1xROWxInChan>, where ROW are consecutive. So the core is trying to do this, in order to capture a 4x8 input for vector intrinsic.
o o o o ... o                     o o o o ... o
x x x x                           o o o o ... o
o o o o                           o o o o ... o
x x x x                   ->      o o o o ... o
o o o o
x x x x
o o o o

Maybe we could have the DMA do the above, so that the input data is already in our expected shape before feeding into the kernel?

I don't understand why there is a 7 here, can't the tile size be chosen larger (or smaller) to make it the size we want (4 or 8)? @yzhang93 @erwei-xilinx

This 7 comes from the input image width. Because we have the output width as multiple of 4 and this is a stride 2 Conv, the input width is the odd number.

I don't understand why there is a 7 here, can't the tile size be chosen larger (or smaller) to make it the size we want (4 or 8)? @yzhang93 @erwei-xilinx

This 7 comes from the input image width. Because we have the output width as multiple of 4 and this is a stride 2 Conv, the input width is the odd number.

Maybe I'm misunderstanding, but wouldn't a 8x8 slice do exactly the same? I understand that you wouldn't need the 8th <8xi8> one because you only actually use the 1st, 3rd, 5th, and 7th 64-bit sub-slice, but the hardware can only load 256-bit and 512-bit chunks of memory (and scalars, of course).

Ok, I think this can be solved by changing the padding at some level of the lowering


spec: Add a basic spec and Makefile targets

This adds the srpm and rpm build makefile targets (borrowed from osbuild), and uses the pyproject rpm macros to support pyproject.toml The version is hard-coded into the spec so it will need to be changed at the same time as the version in pyproject.toml
Fixes #44

Awesome. Thank you.