Preserve original xref table order

I'm trying some hacky thing where I compress few image streams inside the PDF file.
I get the image streams with getPageImages and iteratively compress them and write them back in the same place with replaceStreamData. The compressed data is just un viewable binary data so after writing the resulting pdf file, it is un viewable and that's fine.
Then I do the decompression of the pdf file using the same procedure.
The problem is that After the first compression, compressed pdf file has a different object order than the original file.
For example, the original object was on 2/0 location and the compressed one's location is 6/0.
Because of this, after the final decompression, background images come forward and texts in pdf are not visible.
Is there a way to preserve the original xref table ordering when writing the modified pdf file?
Hope there was a mailing list to post this.
BTW, loving QPDF.

Thanks for your report. There's no way that the order in which qpdf puts objects in the xref table or the way it numbers objects can possibly have anything to do with the way the file renders. If background images are coming forward and text is not visible, it must be for some other reason. Perhaps you have code that is using the original object IDs, which no longer point to the same things? If you work with qpdf by mutating the objects through QPDF and QPDFObjectHandle, and then you write with QPDFWriter, everything will be renumbered together.
However, there is another issue that is requesting preservation of Object IDs. I may see if I can do something with that request. There are several issues right now that might cause me to go back into that part of the code. Thanks!

The objects coming to foreground is one of my dumb mistakes but I'd like to mention here if someone else came across the same.
I'm reading the pdf file using processMemoryFile with an std::vector<uint8_t>. I call the function as follow.
qpdf.processMemoryFile("decoder", reinterpret_cast<char*>(const_cast<uint8_t*>(data.data())), data.size());
But what I didn't realize is that processMemoryFile does not make a copy of the char* buf; and when I write the data, the std::vector is out of scope and so is the pdf file data. Only the data written by replaceStreamData remains not corrupt.
What would be ideal is that QPDF library to have smart pointers, but this is a major change and not worth the effort right now I think. Any way, a std::memcpy of the vector.data and pass to the processMemoryFile, did the trick and works seamless now.
However I would still like the option to preserve the original ordering as you mentioned because that would help to compare the two pdfs easily.

Thanks for the follow-up. Regarding smart pointers, qpdf has PointerHolder, which I wrote probably over 20 years ago before smart pointers were part of the standard or even a proposed part of the standard. They are all over qpdf's interface, and as much as I'd like to replace them with C++11 smart pointers, there are lots of pragmatic reasons why this is unlikely. However, you can certainly use a smart pointer in this place. qpdf 9.0.0 will include a method called QUtil::read_file_into_memory (see https://github.com/qpdf/qpdf/blob/4db1de97cea9dfab3f3abe43766053ba0d594610/include/qpdf/QUtil.hh#L309) that you can use. In current master, there are a few examples of using it. But really all you have to do is make sure the memory exists for the life of the QPDF object. It can be backed by a smart pointer if you want. Note that QPDF does not modify the buffer, so you can create multiple QPDF objects from the same memory buffer.


I countinue to code this engine

https://github.com/bvn13/SpringBlog

That's great! I see that you've done many cool stuff. Thank you for supporting the project.


add restart command pls

the bot becomes unresponsive after some time and needs to be restarted to fix. It will be a nice idea to add restart command in bot itself so that restarting becomes easy from telegram itself..

Sorry for late reply, I have been busy.
And for the request you asked, I think its better to find out why it is getting stuck in the first place and fix it instead of a temporary fix which is restarting the bot... in short if the bot is stuck, it will not be able to accept commands.
Can you provide these details please? since this never happened on my machine (typical programmer excuse)

What was the bot doing when it got stuck? (Normal downloading or convert and download)
Is the bot on heroku or other server?
Can you provide relevant logs?

The bot is on heroku. If bot is not used for some time say a day or two then it becomes unresponsive and needs to be restarted. Seems like some pyrogram issue. Adding a restart button will definitely help..

It is not a pyrogram issue, it might be an issue with libgen blocking the heroku dyno IP and restarting changes the IP. Can you check if the search from downloaded if working when the bot doesn't responds to search query?
I'll investigate more when I have time, but in the mean time if the bot responds to search from the downloaded and not to the normal search, It might be an issue with block IP so I'll try adding another branch with restart command

Yes, downloaded search works i guess but normal is not. Adding restart command will be helpful.

I have looked at this issue again and there is no clean method to restart heroku dyno from the app code it self.
The only option I came across is crashing the app and heroku starts it up again. but if this is done frequently within 10 minutes (might change in the future) heroku might put it to timeout Source
Since crashing the app isn't ideal, I'll be closing this issue.

But adding a command in bot itself will be a good idea, no need to auto restart, whenever a user feels it is not working as expected he can just do /restart and it restarts.

This bot is meant to run on heroku and as I explained in my comment, there is not clean way to implement this. I will try to investigate the IP blocking issue...


Added gift priority

Codecov Report

Merging #37 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master    #37   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          28     28
  Lines         769    769
  Branches       72     72
=====================================
  Hits          769    769

Impacted Files
Coverage Δ

src/database/models/gift.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Fix: Fix open in terminal not working for path with spaces

Resolved / Related Issues
Items resolved / related issues by this PR.

Closes #11555

Validation
How did you test these changes?

[x] Built and ran the app

What about the admin one?


Upgrade Netlify cli version & re-enable edge functions

Description
Our support request with Netlify has been updated to suggest that Netlify should now support the edge functions without error'ing.
This should be fixed in to parts:

Fix on Netlify side which means we no longer need the try/catch
Upgrade Netlify client to v14+ (now set to 15 in our package.json)

Checklist

[x] I have read the contribution guidelines
[x] I have considered the performance impact of these changes

Verifying now if a re-build causes any down time of website as it did previously. First build went very smoothly, running second as we speak.

Confirmed - 0 downtime during second build - seems as though the deployment of edge functions is good to go. No A/B testing implemented yet. Will look at some small experiments soon.

@joepavitt Split into 2 commits please next time.

Split into 2 commits please next time.

Not sure I understand why?

When you want to revert one, you can just do so with Git. Not mucking about manually.


Proxy support

This PR adds proxy support:

Option is configured by SAUCE_OUTBOUND_PROXY (same environment variable as<EMAIL_ADDRESS>Updates to<EMAIL_ADDRESS>(which is the version of guacamole that has proxy support also)
Fixed unit tests that depend on unmocked Sauce API
Updated README

/cc @archlichking

Codecov Report

Merging #9 into master will decrease coverage by 0.31%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master       #9      +/-   ##
==========================================
- Coverage   87.55%   87.23%   -0.32%
==========================================
  Files           9        9
  Lines         474      478       +4
  Branches       87       89       +2
==========================================
+ Hits          415      417       +2
- Misses         59       61       +2

Impacted Files
Coverage Δ

lib/configuration.js
98.75% <0%> (-1.25%)
:arrow_down:

lib/profile.js
88.04% <0%> (-0.85%)
:arrow_down:

lib/settings.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


'@' context menu not working anymore

Before submitting your bug report

[X] I believe this is a bug. I'll try to join the Continue Discord for questions
[X] I'm not able to find an open issue that reports the same bug
[X] I've seen the troubleshooting guide on the Continue Docs

Relevant environment info
- OS: Windows 11
- Continue version: v0.9.227
- IDE version:vscode
- Model:
- config.json:

Description
Pressing '@' does not give a context menu anymore, limiting the tool's value significantly.
To reproduce
Click '@' in the chat window
Log output
No response

Error on my side... apologies


addedToStage and removedFromStage Event

Would it be possible to have an "addedToStage" event on display objects?
The use case for this came from a rendering system I developed using createjs which works on a per-component basis to control stage rendering, so the components on a stage request to be rendered/ request constant update on a stage and then request the stage stop rendering when it's done.
The issue is that my StageComponent.enableStageRendering class requires that the class be added to the stage before that happens. Often I want to start a tween or something on a component before it has been added to a stage instead of some class constructing my scene and then calling some init method on each component once it has been added to the relevant stage.
Or perhaps I'm being lazy ;) I feel it would be quite easy to fire an "addedToStage" event given that a reference to the DisplayObject's stage is assigned when a the display object is added to the stage.
As a side thing, I'm aware that Stage derived DisplayObject, which would make the event redundant on that class.

This would be a fairly costly event, since every child would have to check their parent when the display list changes.
This is possible using the added event, and then looking at the stage property (which is a getter that calls the internal getStage() method. If you do this for the cases you need, it will not have a huge performance hit.
Here is a sample approach:
function checkOnStage(child) {
    var onStage = child.stage;
    if (!child._wasOnStage && onStage) {
         child._wasOnStage = true;
         child.dispatchEvent("addedToStage");
    } else if (this.wasOnStage && !onStage) {
        child._wasOnStage = false;
        child.dispatchEvent("removedFromStage");
    }
}

// Run the method if the child is added or removed.
// Probably easier to call the method directly when you add/remove the children.
child.on("added", function(event) {
    checkOnStage(this);
});
child.on("removed", function(event) {
    checkOnStage(this);
});

You will also need to run the checkOnStage method when any containers that hold the child in question are added/removed.
As you can see, this could be a fairly costly operation to run on every child in a tree when anything on the stage changes.
I am going to close this issue for now. Feel free to continue discussion.

Thanks @lannymcnie, fair point I can see why it would be costly as every child (and children of children...) would have to update.
My assumption was that perhaps when a display object was added to a stage that it and all children would have their stage property set to the stage they were added to. So e.g. (this is very pseudo/ rough):
p.addChild = function(child) {
    // ...current method
    if (this instanceof createjs.Stage) {
        child.setStage(this);
    }
}

p.setStage = function(stage) {
    if (stage == this.stage) {
        return;
    }

    if (this.stage) {
        this.dispatchEvent("removedfromstage");
    }

    this.stage = stage;
    this.dispatchEvent("addedtotage");

    for (var i in this.children) {
        this.children.setStage(stage);
    }
}

I'm sensing just from writing that out that each child dispatching an addedtostage event would be costly and there is a reason the stage property is a getter so you only retrieve the stage when needed?

Correct. This is definitely doable, but has a significant cost in performance. It just hasn't been worth that trade off, despite the fact that I would love to have the event (our work on the Flash components was actually the reason these events exist in AS3, so I'm intimately familiar with their value.
There are two costs: actually evaluating when an event should fire, and dispatching the event (ex. if you were to remove a tabbed view Container from the stage, then every single DisplayObject in all of its views, controls, etc would all need to dispatch a removed event). Our optimizations to "simple" (string based) event dispatching would help a lot (since no event is generated), but it's still a notable cost.
You could take a couple of approaches to this:

inject it via prototype - probably the most efficient but also potentially fragile.
use a factory to instantiate all of your DisplayObject instances, and add listeners for added and removed, you could then have the listeners evaluate and propagate the "addedToStage" and removedFromStage events as appropriate.

Given the performance implications (especially as we're producing content for mobiles) it's a very small sacrifice to us to be aware that calling enableRendering for our components can only be done once it is on a stage. So I fully understand the reasons that this event is not an attractive candidate for DisplayObjects.
Thanks for your swift responses and keep up the good work!


Fix build with GNAT 2020

This is a minimal untested fix. I do not know how to easily test this part of the library.

Nevermind, this is a duplicate of a queued PR with a better fix.

So, there was nothing wrong with this code?

Sorry, I was unclear. The queued PR #62 addresses the same problem. I don't know which of the gnats is right here, but the problem still exists with current CE2020.

Ok, thanks for the clarification, may as well keep this open just in case.

the patch #62 (and the same #75) are better fixing the same issue.

Fixed with Commit 45731de64ee18ffd561d36204feeeac2c477c659


minor fix in README.md

There was a small mistake in JWT section - http://localhost:8080/api/auth_test used in curl call instead of http://localhost:8080/auth_test

This is actually not true, this the line about stripping the /api prefix:
  http.Handle("/api/", http.StripPrefix("/api", api.MakeHandler()))


Guides should not ‘Edit’ dream to see dream details - show be on the main page view

Right now to see all of the new fields for the dream - a guide needs to 'Edit' a dream.
Add a new button - 'View' to open the 'Edit' dream just with readonly access - so no fields will be changed

Duplicate of #109, removing


When the time is up, the correct answer is displayed and each player gets points assigned, based on the time they need to guess and the current scoreboard is displayed.

commit: e614a88


[beta] Custom Button Injection into Call and CallWithChat composite

What
Custom Button Injection API using Proposal 4 from Link
Feature definition can be found here Link
Desktop

Mobile

Mobile Overflow Menu

Why
Allow Customers to inject Custom buttons into Call and callWithChat composite.
Create an array of custom buttons:

Pass in custom buttons as options into the CallScreen:

How Tested
Tested locally on chrome browsers and on mobile view.
Process & policy checklist

[ ] I have updated the project documentation to reflect my changes if necessary.
[ ] I have read the CONTRIBUTING documentation.

Is this a breaking change?

[ ] This change causes current functionality to break.

Quick review latency note. I'm a bit overloaded today, so won't be able to do this one justice. Happy to take a look tomorrow or feel free to reassign.


[FEATURE]CONTACT US FORM MISALIGNMENT

There is a misalignment of the ui f of the contact us form.

Hi . I would like to work on this isuue!

Hello! I'm interested in working on this issue and would like to be assigned.


Cannot read property then of undefined.

Hey, I stumbled upon this error when working on the api backend:
TypeError: Cannot read property 'then' of undefined
[2]     at /Users/username/dev/appname/api/api.js:33:24

What is causing the error? I just changed the function a bit.

Stupid, just fixed it by returning a Promise.

Hmm... Someone can mark this closed?


Client side loading doesn't work

All pages seem to be loading from server now.
dev:

prod:

This has happened recently. @wellyshen Can you please look at it?

@scaledrop No problem, it has been fixed in the v3.10.1.

Thanks a lot!


[6.0.1][region-isolation] Improve the error we emit for closure literals captured as a sending parameter.

Explanation: [6.0.1][region-isolation] Improve the error we emit for closure literals captured as a sending parameter.
Before region isolation and sending closures, Task.init took an @Sendable closure. If non-Sendable state was captured in the closure, we emitted a specific error on the captured value. This provided a discoverable bread crumb that the user could use to trace back what the exact problem was (noting that takeSendableClosure is where Task.init) would be:
tmp.swift:8:11: error: capture of 'x' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure
 1 |
 2 | class NonSendableKlass {}
   |       `- note: class 'NonSendableKlass' does not conform to the 'Sendable' protocol
 3 |
 4 | func takeSendableClosure(_ x: @Sendable () -> ()) {}
   :
 6 | func foo(_ x: NonSendableKlass) {
 7 |   takeSendableClosure {
 8 |     print(x)
   |           `- error: capture of 'x' with non-sendable type 'NonSendableKlass' in a `@Sendable` closure
 9 |   }
10 | }

When we introduced region isolation and changed Task.init to take a sending closure, we regressed this behavior unintentionally. With region isolation and a sending closure the above error is emitted instead:
tmp.swift:5:3: error: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race
3 |
4 | func foo(_ x: NonSendableKlass) async {
5 |   Task {
  |   `- error: task-isolated value of type '() async -> ()' passed as a strongly transferred parameter; later accesses could race
6 |     print(x)
7 |   }

this doesn't provide a breadcrumb for the user to work back from anymore. With this change, we ameliorate this situation by introducing a special diagnostic that ensures that the user always has a breadcrumb. With this change, we now get the following error message:
tmp.swift:5:8: error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
3 |
4 | func foo(_ x: NonSendableKlass) {
5 |   Task {
  |        `- error: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure
6 |     print(x)
  |           `- note: closure captures 'x' which is accessible to code in the current task
7 |   }
8 | }

Radars:

rdar://133798044

Original PRs:

https://github.com/swiftlang/swift/pull/75873
https://github.com/swiftlang/swift/pull/75887

Risk: Low. This does not impact where we emit errors... it just changes the actual error that we are emitting. Also, I pattern matched specifically against closure literals passed as a sending parameter, so if I did introduce a problem, it will occur narrowly just in this case (a case that we were already going to reject anyways). So the potential fallout is not large. Also this only applies to swift 6 and swift 5 + strict-concurrency.

@swift-ci test


Improve performance of cloud crawler

We have developed a crawler that will run in cloud. Now we need to work on improving the performance of the cloud crawler.

I tried to test our cloud crawler using the old US privacy string list provided by BuiltWith. Below are some issues I noticed:

The crawler stopped after crawling only 48 sites. It printed the below error:

selenium WebDriverError: upstream request timeout

I hypothesize that there may be some default settings of google cloud or docker selenium that only allow our crawler to work for a short period of time. We need to find out how we can adjust those settings.

Upon crawling 48 sites, the success rate is 29/48. We need to improve the success rate. Last time we talked about timeout adjustment. Currently, we set a 7-second timeout in our gpc-analysis-extension. In the crawler, I set a 20-second timeout, which I thought should be more than enough. I do not have any better ideas than doing more testing and experiments.

Not an issue but a future development step. Although now the crawler runs in cloud, we need to trigger it locally from our terminal. Later on we should containerize it and maybe deploy it the google cloud.

The success rate seems to be much higher when using local docker containers to run the selenium driver. I have consistently gotten around an 88% success rate when using a local docker container ( + the deployed rest api ). Like Jocelyn, I’ve only gotten about a 60% success rate when using the deployed selenium docker container. I’m not sure why using a local container leads to a higher success rate. Looking at the logs of the selenium container in google cloud may be a good starting point to determining why it performs so much worse than the local containers.
Jocelyn mentioned that in her testing, the crawler failed after 48 sites. I made a few updates to the crawler (in issue-33 branch) to help with debugging and crawling more sites in a row.

Error catching: I updated the crawler script so that each time an error is caught, the selenium driver restarts. Previously, when an error was caught, the selenium driver would stop working (i.e. no more data would be collected, even though the crawler script would continue to iterate through sites). By restarting the driver, the crawler can continue collecting data where it left off after an error. With this update, the crawler continues collecting data after the Webdriver error Jocelyn mentioned above as well as the most common error I’ve been getting lately: ScriptTimeoutError: Unable to execute request for an existing session: java.net.http.HttpTimeoutException: request timed out. This error seems to happen about once per 42 sites or so, and I think it has to do with a problem loading the site, although sometimes data is still logged in the database about the site that caused the error. The selenium driver fails to restart after the error: WebDriverError: Failed to decode response from marionette. I added --shm-size 2g to the local docker run command (https://github.com/SeleniumHQ/docker-selenium/pull/485/files#diff-04c6e90faac2675aa89e2176d2eec7d8R43) and haven’t gotten that error since. Assuming the driver is able to restart after an error, it seems like the crawler will be able to run for as many sites as you want. I’ve run it for 286 sites (and stopped it manually).
Timing: During a crawl, the terminal now prints out how long crawling each site took. From this, I can see that there are certain sites that take longer/cause errors more than others. On average (excluding outliers), it takes 16 seconds to crawl one site using a local docker container. The cloud docker container is slightly slower; on average (excluding outliers) it takes 19 seconds to crawl a site. The outliers are sites that cause errors (that take the 5 min inactivity timeout plus however long it had been running) as well as sites that randomly get stuck for more than a minute but don't cause an official error.

I am also working on doing some more testing this week. One thing that I considered that might be helpful for our work is to check the performance of the updated analysis functionality. After I implemented the automatic analysis functionality, I tested that it worked when browsing the sites manually. However, I didn't have a chance to test it on a large scale. Now the analysis runs only once on each site. We may modify the script so that it can run twice or more on a given site. I am not sure if this will improve the performance of the crawler, but we can try.
Another thing in case the crawler's performance cannot be improved. Last time when I read the unit testing code of Optmeowt, I noticed some functions that might allow us to load the extension in the Puppeteer (which I thought we could not before). If the Selenium really does not work for us, it might worth investigating into Puppeteer again.

As discussed, we decided to stay with Selenium. Two points to explore for the crawler performance are:

Are sites failing due to the crawler using headless mode? Are they analyzable using headful mode? (If sites are failing because of site issues (e.g., invalid certificate, 404 pages), that should not be counted as a failure in our rate. Only sites that have no issues themselves should be counted.)
What is the performance of the crawl on the Mac Minis?

I modified the local headful crawler script to make it more robust and tested its performance. (This is the crawler without docker and google cloud deployment but it still uses the sql database) Now the local crawler automatically restarts when it crashes and continues collecting data where it left off after an error.
To test its performance, I ran the crawler on 320 sites and the success rate is 310/320. The local crawler worked well with the rest api and sql database. It encountered several errors but each time it successfully restarted from the checkpoint. There was a 6s timeout for each site, so the crawler is running relatively fast.
However, I am not sure if it will work well on the 10k scale we want, and I need to test it on the Mac minis. Kate and I think it might be reasonable to run the headless crawler first and then run the local headful crawler on sites that failed.


feat: add mistral driver

This pull request adds the Mistral driver to the codebase.
Resolves https://github.com/echolabsdev/prism/issues/3

@sixlive this is ready for review.

@pushpak1300 I just enabled CI for the PR (have to approve outside forks). I'll take a look at this tonight!


Toolbar in Dialog

Is there any support or planned support for md-toolbar in dialog/modal/popups? In angularjs-material this was a built-in feature:

What I observe in angular-material2 is a padding that applies to the whole dialog box which prevents the toolbar from properly extending from end to end:

<md-toolbar [color]="['primary']">md-toolbar</md-toolbar>

md-dialog-title

<md-dialog-content>
  md-dialog-content
</md-dialog-content>
<md-dialog-actions>
  <button md-raised-button [color]="['primary']" disabled>Send Feedback</button>
  <button md-button md-dialog-close [color]="['warn']">Cancel</button>
</md-dialog-actions>

You can use the panelClass to custom the dialog: https://plnkr.co/edit/s2RVEBQVxtDUmUBlUp2t?p=preview.
Take a look at this @willshowell's https://github.com/angular/material2/issues/3239#issuecomment-312963660

There's no built-in support or plans to support it?
I tried to declare the css at the component level since those definitions should not be on the global scope. It doesn't appear to work though: Plunker

There's no built-in support or plans to support it?

I don't know.

I tried to declare the css at the component level since those definitions should not be on the global scope

In that case you must set encapsulation to none in @Component object:
@Component({
  selector: 'dialog-result-example',
  templateUrl: 'dialog-result-example.html',
  encapsulation: ViewEncapsulation.None
})

@crisbeto thought? I could potentially see this as an option on the dialog-title

It makes sense to have it on the title, but I'm reluctant to add a dependency between the toolbar and the dialog. I'd rather duplicate some styles and add a color input on the title.

Yeah, I was thinking more of an option to not have any padding

What is wrong with nagative margin on md-toolbar(http://plnkr.co/edit/ttsP4v?p=preview)?

There's nothing inherently wrong with reusing md-toolbar, but in general we try to avoid dependencies between Material modules.

Maybe the Dialog could load a component that has a toolbar and a portal to then load a template or component in that portal.
Dialog
--------------------------------------------
| DialogWithToolbar                        |
| ---------------------------------------- |
| | Toolbar                              | |
| | ------------------------------------ | |
| | Portal<MyComponent|TemplateRef>      | |
| ---------------------------------------- |
--------------------------------------------

Dialog <= Portal<DialogWithToolbar> <= Portal<MyComponent|TemplateRef>

`.mat-toolbar {
margin: -24px;
margin-bottom: 0;
width: auto;
}
.mat-dialog-content {
margin: 0 -24px;
padding:0 !important;
}
.mat-toolbar-row, .mat-toolbar-single-row {
height: 40px !important;
}`

I solved creating a simple new component like this:
mat-toolbar-dialog.component.ts
import {Component, Input, OnInit} from '@angular/core';

@Component({
  selector: 'app-mat-toolbar-dialog',
  templateUrl: './mat-toolbar-dialog.component.html',
  styleUrls: ['./mat-toolbar-dialog.component.scss']
})
export class MatToolbarDialogComponent implements OnInit {

  @Input()
  title: string;

  constructor() { }

  ngOnInit() {
  }

}

mat-toolbar-dialog.component.scss
.mat-toolbar {
  margin: 0 -24px;
  margin-bottom: 0;
  width: auto;
}

.mat-dialog-content {
  margin: 0 -24px;
  padding: 0 !important;
}

.mat-toolbar-row, .mat-toolbar-single-row {
  width: auto !important;
}

.spacer {
  flex: 1 1 auto;
}

mat-toolbar-dialog.component.html
<mat-toolbar>
  <button mat-icon-button class="left-icon" mat-dialog-close>
    <mat-icon>close</mat-icon>
  </button>
  {{title}}

  <ng-content select="[right]"></ng-content>
</mat-toolbar>

And just use like that:
<app-mat-toolbar-dialog title="Dialog Title">

    <button type="button" mat-icon-button>
    <mat-icon>add</mat-icon>
    </button>
    <button type="button" mat-icon-button>
    <mat-icon>search</mat-icon>
    </button>

</app-mat-toolbar-dialog>

I just started migrating from ng1 to ng2, and the lack of toolbar in dialog support out of the box is a bit of a surprise. How hard would it be to make this happen.

Closing this since the Material Design 2018 spec update moved away from the idea of the colored "toolbar" at the top of content, so we're not doing much with it now.

Closing this since the Material Design 2018 spec update moved away from the idea of the colored "toolbar" at the top of content, so we're not doing much with it now.

Does that mean you will be retiring components like toolbar or will you just stop supporting and updating them?

@Karasuni See https://github.com/angular/components/issues/13964 and https://github.com/angular/components/issues/16367.

Will the top-app-bar be supported in md-dialog components?

Will the top-app-bar be supported in md-dialog components?

I don't believe that is part of the spec. However, you can always add a div with a background color (even using the mat-color($app-primary) mixing) and class="mat-elevation-z1" and styles for negative margins to create your own dialog toolbars.


fix: translator reports errors for existing clusters and secretes

Fixes #4706 xDS translation failed when oidc tokenEndpoint and jwt remoteJWKS are specified within the same security policy and using the same hostname
Refactor:  skips adding the cluster/secrets and returns nil to make the code cleaner and easier to maintain. It's safe to remove ErrXdsClusterExists and ErrXdsSecretsExists as they don't need to be handled in any places.
Release Notes: Yes
Test before the fix:
--- FAIL: TestTranslateXds (0.43s)
    --- FAIL: TestTranslateXds/securitypolicy-with-oidc-jwt-authz (0.00s)
        translator_test.go:142: securitypolicy-with-oidc-jwt-authz
        translator_test.go:143:
                Error Trace:    /home/ubuntu/gateway/internal/xds/translator/translator_test.go:143
                Error:          Received unexpected error:
                                xds cluster exists
                Test:           TestTranslateXds/securitypolicy-with-oidc-jwt-authz
FAIL
FAIL    github.com/envoyproxy/gateway/internal/xds/translator   0.673s
FAIL

After:
ok      github.com/envoyproxy/gateway/internal/xds/translator   0.251s

hey @zhaohuabing is the issue that we are generating the same name for the jwks and oidc clusters if both are set in the policy ? shouldnt we be using an additional string value to differentiate them ?

hey @zhaohuabing is the issue that we are generating the same name for the jwks and oidc clusters if both are set in the policy ? shouldnt we be using an additional string value to differentiate them ?

For the cluster generated by a url, EG uses the host and port for the cluster name to avoid creating duplicated clusters for the same host+port combination.
jwt:
 providers:
   - remoteJWKS:
       uri: https://oidc.example.com/auth/realms/example/protocol/openid-connect/cert

oidc:
 provider:
   tokenEndpoint: https://oidc.example.com/oauth/token

The name of the generated cluster: oidc_example_com_443.
We could change this logic to generate an unique name for each single oidc or jwt configuration. However, we should also ensure that the translator shouldn't throw error if the cluster already exists.

hey @zhaohuabing is the issue that we are generating the same name for the jwks and oidc clusters if both are set in the policy ? shouldnt we be using an additional string value to differentiate them ?

For the cluster generated by a url, EG uses the host and port for the cluster name to avoid creating duplicated clusters for the same host+port combination.
jwt:
 providers:
   - remoteJWKS:
       uri: https://oidc.example.com/auth/realms/example/protocol/openid-connect/cert

oidc:
 provider:
   tokenEndpoint: https://oidc.example.com/oauth/token

The name of the generated cluster: oidc_example_com_443.
We could change this logic to generate an unique name for each single oidc or jwt configuration. However, we should also ensure that the translator shouldn't throw error if the cluster already exists.

is it safe to reuse the same cluster configuration ? is the naming different when use the backendRefs field ?

For OIDC provider with backendRefs, EG generate an unique cluster name like securitypolicy/envoy-gateway/policy-for-gateway/0.

Ha, there is also a bug here, the index is always 0, which could generate duplicated name for different clusters if there're both ext auth and oidc whithin a SecurityPolicy.  Will fix it in this PR as well.

For OIDC provider with backendRefs, EG generate an unique cluster name like securitypolicy/envoy-gateway/policy-for-gateway/0.

Ha, there is also a bug here, the index is always 0, which generates duplicated name for different clusters if there're both ext auth and oidc whithin a SecurityPolicy. Will fix it in this PR as well.

nice catch, prob needs another prefix like jwt, oidc after policy name


Wrong USB product ID/vendor ID on macOS using prebuilt binary

Hi. I just built a fluxengine and flashed it using the prebuilt firmware from client version 389, and also a version of the fluxengine CLI from the same commit (3c54a663b87629b57907c8b691cb268b6f80a1d5) built for macOS. However, no matter what I try to do, I get
Error: cannot find the FluxEngine (is it plugged in?)

system_profiler SPUSBDataType (the equivalent of lsusb on macOS) says:
    USB 3.0 Bus:

      Host Controller Driver: AppleUSBXHCIPPT
      PCI Device ID: 0x1e31
      PCI Revision ID: 0x0004
      PCI Vendor ID: 0x8086

        Cypress KitProg:

          Product ID: 0xf139
          Vendor ID: 0x04b4  (Cypress Semiconductor)
          Version: 2.14
          Serial Number:<PHONE_NUMBER>2A8400
          Speed: Up to 12 Mb/sec
          Manufacturer: Cypress Semiconductor
          Location ID: 0x14100000 / 9
          Current Available (mA): 500
          Current Required (mA): 400
          Extra Operating Current (mA): 0

which is definitely not the PID/VID in protcool.h.
So I'm not sure; did I do something wrong here?
The host machine is a MacBook Pro (15-inch, Mid-2012) running macOS Sierra 10.12.6 (16G2136). The firmware was flashed using a Windows 7 VM running in VMware Fusion 11.5.3 (15870345), using Cypress PSoC Programmer <IP_ADDRESS>21. It had me update the PSoC's own firmware to version 2.20 before continuing. I will say that at first when flashing the firmware the device disconnected and reconnected repeatedly, causing VMware to eventually think it was a new device and ask me what to connect to, meaning the initial steps failed to find the device partway in; afterward, however, it worked flawlessly, even after reboots (of both the OS and the VM). I even had it do a Verify step just now and that passed.
Thanks!

Try the other end!
That looks like you have it connected to the debugger port (the male USB connector on the small board). To actually use the device you'll need the port on the main board (the small silver micro-USB connector; you'll need to remove the plastic). I tend to have them both plugged in at the same time.
If you do have them both plugged in, possibly the flash didn't work, but that seems unlikely given you verified it.

OK! I noticed the plastic foil but didn't notice that was another USB lead there :D Will do so tomorrow.
In the meantime is there a better place to ask about current support for 3.5" MSX/MSX2 disks and 5.25" PC-88 disks? Would ibm suffice? I keep seeing mentions about the former using 256-byte sectors???

Chances are IBM will work fine --- everything ought to be autodetected. There is one command line option which might need to be used if sector IDs start at 0 (like Acorn does), but that seems to be pretty rare. Let me know how it works and if you have any problems.

All right, well it does work, thanks! I haven't been able to test drive support yet, because I don't have a spare 5.25" disk to test the orientation of my red line-less cable with, and I bent the pins on the connector before I was able to test the 3.5" drive :D But this issue is resolved; thanks.
(A command similar to OpenCBM's cbmctrl status command would be useful just for checking that everything is oriented correctly, since flipping the 5.25" drive's cable on the FluxEngine side did nothing to the TEAC FD-55GFR; it just stood still.)

fluxengine rpm and fluxengine test voltages should help with testing --- sadly, PC FDDs are so dumb that there's no real way to talk to them without actually spinning the disk for real...

Ah, oh well :/ Thanks in the meantime!


Cassandra 11207

Add 2 new tests to cover CASSANDRA 11207 and change the expectation of an existing one.

Can you also edit the docstrings for these tests to include @jira_ticket CASSANDRA-11207? I mentioned this on the ttl_test, but do those thrift_tests also need version restrictions?

Other than my style nits and my confusion over the possibly-outdated comment, looks good.

Looks good, and passes locally with CASSANDRA-11207. Merging, thanks @blerer


Pydantic v2 migration

Pydantic v2 has been out for some time now. We have been relying on using the v1 API available in v2 until now. This is a refresh of #3902 to bring proper v2 support to DeepSpeed.
Corresponding DeepSpeed-MII PR here.
@loadams

Do you want to do what we did on the previous pydantic update of updating the nv-mii test to use your branch rather than main so that it passes here?

CI with microsoft/DeepSpeed-MII#423 for nv-a6000 and nv-mii

Using Albumentation, the last version has a strict dependancy regarding pydantic >2.0 what makes it incompatible with deepspeed.
https://github.com/albumentations-team/albumentations/releases/tag/1.4.4
https://github.com/albumentations-team/albumentations/blob/a22a319b2e7079389326e5b7830e71017701b1b9/setup.py#L11
It makes this PR even more releavant.

CI triggered using updates in MII
nv-a6000

Tested here
https://github.com/microsoft/DeepSpeed/actions/runs/10512334326
https://github.com/microsoft/DeepSpeed/actions/runs/10512339060


[Config] Logs - Add default logs related parameters

So we play well with config files and env variables (docker)
Notes:

only log_enable is an official parameter. Other parameters are for internal usage, and are not documented
run_path is not great, doesn't work on all platforms, etc. This is a temporary workaround for logs,  which are linux only. We will make this platform agnostic when we work on windows support. Also, this is used only because we need a path on filesystem to store a file. If there is an existing configuration parameter we can use, please let me know. Alternative would be to rename defaultJMXPipePath to something more generic

I'll add a link to related log-agent PR when ready

cc @masci , @ajacquemot

@olivielpeau updated. Also, let's please not merge before I open the second PR for log-agent repo

see also https://github.com/DataDog/datadog-log-agent/pull/16

@olivielpeau I think we're ready to merge, PR on log-agent side is ready. I'll test as soon as merged and release on agent-dev docker hub


[automated] Re-Apply Coding Standards

Automated changes by create-pull-request GitHub action

Codecov Report

Merging #95 (2663439) into main (c0ffcc8) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##               main      #95   +/-   ##
=========================================
  Coverage     94.33%   94.34%
  Complexity      571      571
=========================================
  Files           119      119
  Lines          2296     2297    +1
=========================================
+ Hits           2166     2167    +1
  Misses          130      130

Flag
Coverage Δ

phpunit
94.34% <100.00%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/laravel/src/Auth/GateRoleChecker.php
100.00% <ø> (ø)

src/laravel/src/Auth/InheritanceRole.php
81.48% <ø> (ø)

src/laravel/src/AuthHook/AccessRoleDecider.php
100.00% <ø> (ø)

...ravel/src/EventDispatcher/Psr14EventDispatcher.php
60.00% <ø> (ø)

src/laravel/src/GraphQLite/Attribute/ArgModel.php
100.00% <ø> (ø)

...laravel/src/GraphQLite/Attribute/Transactional.php
100.00% <ø> (ø)

...aravel/src/GraphQLite/Attribute/ValidateObject.php
100.00% <ø> (ø)

...rc/laravel/src/GraphQLite/AuthorizationService.php
100.00% <ø> (ø)

...el/src/GraphQLite/Parameter/ArgModelMiddleware.php
77.77% <ø> (ø)

...el/src/GraphQLite/Parameter/ValidateMiddleware.php
100.00% <ø> (ø)

... and 12 more

Continue to review full report at Codecov.

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


A350 not work download new record

Regarding the issue, everything works perfectly with the Anviz A350C device. However, with the newer device, we are facing a problem. Specifically, the method for downloading records seems to behave differently:
From my understanding, this method is supposed to:
Download all new records the first time.
Mark them as "already downloaded."
On subsequent requests, download only records that haven’t been downloaded yet.
However, with the new device, it appears to always download all records, regardless of whether they have been downloaded before.
Could you please confirm if this is the expected behavior for the newer device, or if it might be related to the firmware or SDK?
I look forward to your guidance and support. Thank you once again for your assistance.
i attacmnet a picture of 350c e 350 firmware
This is the command of you sdk 2.52:
namespace Anviz.SDK.Commands
{
class GetRecordsCommand : Command
{
private const byte GET_RECORDS = 0x40;
private const byte GET_ALL_RECORDS = 0x1;
private const byte GET_NEW_RECORDS = 0x2;
public GetRecordsCommand(ulong deviceId, bool isFirst, bool onlyNew, ulong amount) : base(deviceId)
{
byte recordType = onlyNew ? GET_NEW_RECORDS : GET_ALL_RECORDS;
byte kind = isFirst ? recordType : (byte)0;
BuildPayload(GET_RECORDS, new byte[] { kind, (byte)Math.Min(amount, Record.MAX_RECORDS) });
    }
}

}
namespace Anviz.SDK
{
public partial class AnvizDevice
{
public async Task<List> DownloadRecords(bool onlyNew = false)
{
var statistics = await GetDownloadInformation();
var recordAmount = onlyNew ? statistics.NewRecordAmount : statistics.AllRecordAmount;
var records = new List((int)recordAmount);
var isFirst = true;
while (recordAmount > 0)
{
var response = await DeviceStream.SendCommand(new GetRecordsCommand(DeviceId, isFirst, onlyNew, recordAmount));
var counter = response.DATA[0];
recordAmount -= counter;
for (var i = 0; i < counter; i++)
{
records.Add(new Record(response.DATA, 1 + i * Record.RECORD_LENGTH));
}
isFirst = false;
}
return records;
}
}
}

Can you try calling ClearNewRecords?

after DownloadRecords Commands you say to try to execute the commands clearenewrecords?
because on the a350c device everything seems to work automatically it seems that it only downloads the records that I have not downloaded previously, while in this a350, it continues to download all the records even if I have already downloaded them.

i try this:
` [Authorize]
[HttpGet("getRecords/{idDevice}/{newRecord}")]
public async Task GetRecords(ulong idDevice,int newRecord)
{
try
{
     var device = _anvizManager.GetConnectedDeviceInfoById(idDevice);
     if (device == null)
     {
         return BadRequest( $"Dispositivo non Torvato con Id: {idDevice}");

     }
     var result = await device.DownloadRecords(onlyNew: newRecord == 0 ? true: false);

      await device.ClearNewRecords();

     // await _anvizManager.SendCommandToDevice(command.DeviceId, command.Command);
     return Ok(result);
 }
 catch (Exception ex)
 {
     return BadRequest( $"Errore durante l'invio del comando al dispositivo: {ex.Message}");
 }

}`
but not work, the same problem:
 namespace Anviz.SDK.Commands
{
    class ClearRecordsCommand : Command
    {
        internal const byte DELETE_ALL = 0x00;
        internal const byte CLEAR_ALL = 0x01;
        internal const byte CLEAR_AMOUNT = 0x02;
        private const byte DELETE_RECORDS = 0x4E;
        public ClearRecordsCommand(ulong deviceId, byte deleteMode, ulong deleteAmount) : base(deviceId)
        {
            var ret = new byte[4];
            ret[0] = deleteMode;
            Bytes.Write(3, deleteAmount).CopyTo(ret, 1);
            BuildPayload(DELETE_RECORDS, ret);
        }
    }
}

namespace Anviz.SDK
{
    public partial class AnvizDevice
    {
        public async Task ClearNewRecords()
        {
            await DeviceStream.SendCommand(new ClearRecordsCommand(DeviceId, ClearRecordsCommand.CLEAR_ALL, 0));
        }

        public async Task ClearNewRecords(ulong amount)
        {
            await DeviceStream.SendCommand(new ClearRecordsCommand(DeviceId, ClearRecordsCommand.CLEAR_AMOUNT, amount));
        }

        public async Task DeleteAllRecords()
        {
            await DeviceStream.SendCommand(new ClearRecordsCommand(DeviceId, ClearRecordsCommand.DELETE_ALL, 0));
        }
    }
}

What does GetDownloadInformation tell? After ClearNewRecords it should have NewRecordAmount set to 0

I did other tests, now adding clearnewrecord it works, but I don't understand how it can be that with a350c without clearnewrecord it worked

It is probably a setting that can be changed


CDN link on Unpkg.com doesnt work.

https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js
this link doesn't work so that any lightweight chart on my website doesn't work too.
in chrome inspect console : LightweightCharts is not defined
unpkg.com returns 520 status code.

We don't manage the unpkg server. It will probably resolve itself shortly but if it doesn't then we will change the links mentioned in our README.md.
Until then you could rather host the library files on your website so you aren't reliant on a 3rd party CDN server.

Seems to be working again.

not anymore, again

It seems to be down regulary the last few days.
It might be a good idea to use jsDelivr instead. It could be more reliable because it uses many fallbacks.
You can convert your link using https://www.jsdelivr.com/unpkg


Support ARM64 hosts without GIC

Description of problem
Apparently Raspberry Pi 3 (arm64) doesn't have a GIC, so getHostGICVersion() in qemu_arm64.go can't find the GIC version in /proc/interrupts, and giving the gic-version=host machine option to QEMU (which is the current fallback) results in an error in this case.
Not giving the gic-version option to QEMU at all if the host doesn’t have a GIC seems to fix this problem. (The kernel_irqchip=off option could be given instead, in order to explicitly request irqchip emulation in user space, but actually that doesn’t seem to be required here.)
Expected result
VM for Kata container started successfully on, e.g., a 64-bit RPi 3 with KVM
Actual result
QEMU: "Unable to determine GIC version supported by host” (since creating a VGIC device in QEMU fails)

/cc @Pennyzct, @Weichen81.

The first time when I saw the issue, I got shocked. There are having some SoCs really don't support GIC. Then I checked the RPI code, https://github.com/torvalds/linux/blob/bebc6082da0a9f5d47a1ea2edc099bf671058bd4/arch/arm/boot/dts/bcm2837.dtsi#L12.
I found it's real. RPI is using bcm2836-l1-intc  as interrupt controller. I think I can send a PR to fix it.
But what I concern is that, if we use an irqchip emulation in user space, the performance should be not good. So, I think should we need to define a minimal hardware requirement for kata-containers?

I think I agree - we should have the GIC case as the working default, as generally Kata is a server type thing, and you'd expect all servers to have GICs?
What we probably do want to do then is detail how to make Kata work with a GIC-less chip - detail if that needs a new kernel config/build and/or add any QEMU config options in that can be set in the kata config maybe?

It would be rather awesome to have kata running on a Pi. Either way, the logic to specify the minimum hardware spec should be part of the kata-check command so users can run that and it will tell them clearly whether their hardware is supported (and if not, it should explain why):

https://github.com/kata-containers/runtime#hardware-requirements

Thanks for considering GIC-less support. I guess the main purpose for running Kata Containers on a Raspberry Pi would be just experimenting, not any very serious use.
Actually leaving out the GIC parameter seemed to be pretty much the only code-level issue that needed to be addressed in order to create and start Kata instances on a 64-bit RPi 3 B+ host (that has Raspbian's 4.14.70 arm64 Linux kernel with KVM enabled, Debian Buster's base system etc., and QEMU 2.12). In this case I simply used Kata's default guest kernel config for arm64, as well as an Alpine-based initrd guest image, and launched containers through cri-containerd. Didn't do any more thorough testing so far, though.

@srcman Don't worry, I am willing to send a PR to fix this issue. Doesn't like x86, most of Arm developers don't have real Arm servers like x86-based PC. So various kinds of PI are their debug platforms. I certainly wouldn't refuse to pay a small price for so many potential developers or users : )
Your issue just reminds us we may have ignored some points in hardware check.
@jodh-intel @grahamwhaley  Maybe we can rate the kata-check to levels:
Recommend hardware requirements (All hardware virtualization accelerate technologies are ready, kata-containers can work smoothly)
Runable hardware requirements (One or more hardware features are missed, kata-containers can run, but only can be used for debug, experience)
No-workable(One or more key hardware features are missed, kata-containers can not run)
As we are using QEMU now, it is a full-functionality emulator, even supports binary translation.  But for NEMU, I think most of these features, like binary translation and user space irqchip emulator would be removed. And if we support Xen and Kvmtools later, both of them don't support irqchip emulator.
So I think a rating kata-check would be better to notify users in production environment or in debug environment.

@Weichen81 - this sounds like an interesting idea!
By default, running sudo kata-runtime kata-check should always run all checks and fail if any expected/recommended features are missing.
However, if we recall that kata-runtime kata-check is simply an informational command for users (the runtime itself never calls the check code as part of normal operations), it seems reasonable that we could add a --permissive option. If the user specified that, kata-check would switch to checking for the minimum hardware requirements (what you've called "Runable hardware requirements"). That way, the normal flow would be:

Run sudo kata-runtime kata-check.
If this fails and running in a non-developer environment, get new hardware.
If running on a developer / test / low-spec system, run  sudo kata-runtime kata-check --permissive.
If that fails, get new developer hardware :smile:

/cc @sameo, @egernst, @sboeuf, @gnawux, @bergwolf, @grahamwhaley.

@jodh-intel
--permissive sounds good to me.

As a side note regarding Kata on RPis, the newly released Raspberry Pi 4 actually seems to have a GIC (v2), if I read their bcm2711.dtsi and bcm2838.dtsi files for Linux 4.19 correctly.

Nice @srcman - yeah, saw there was a new Pi :-) /cc @Pennyzct

Hi~@srcman really excited to see people running kata containers on Pi. Pi 4 is really a new generation, having cortex-A72 core.
If you want to check what gic version you have, another way is that: `/proc/interrupts | grep -i 'gic'
BTW, since we have supported vNVDIMM, your host kernel must be v4.20+, since v5.0/v5.1 is the closest stable version, I'm highly recommend you to use v5.0/v5.1. ;)
If you have found any bug, just ping me, happy to help. o(////▽////)q


issues trying to deploy css

I am running into issues running this in the jumphost:

Version is 1.17.11 not 1.17.12 when I was following the repo

Beforre sb infra apply 2-foundation, I had to rename firestore_setup.tf line 42 in  2-foundation because of the error
Error creating Database: googleapi: Error 409: Database already exists. Please use another database_id

I did not place a custom domain and got this error will when applying sb deploy:
The ManagedCertificate "default-managed-cert" is invalid: spec.domainsp[0]: Invalid value: "null": spec.domains[0] in body must be of type string: "null"
kubectl apply: exit status 1

I created another deployment and applied a domain ex. css-backend.tunedcold.site , and this error occurred
The ManagedCertificate "default-managed-cert" is invalid: spec.domainsp[0]: Invalid value: "null": spec.domains[0] in body should match '^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$'
 kubectl apply: exit status 1

changed “localhost” to the domain in step sb components add terraform_gke_ingress and getting this error:
unable to connect to the server: dial tcp <IP_ADDRESS>:443: i/o timeout .
kubectl apply: exit status 1

Waited for a bit, then stilll got the same error previously:
 - The ManagedCertificate "default-managed-cert" is invalid: spec.domains[1]: Invalid value: "localhost": spec.domains[1] in body should match '^(([a-z0-9]+|[a-z0-9][-a-z0-9]*[a-z0-9])\.)+[a-z][-a-z0-9]*[a-z0-9]$'

I am trying to deploy this app and have been stuck in the step "sb deploy". I may be missiing something as I am following the readme.

@speralta-burwood Please ignore  Database already exists error. For a ManagedCertificate we need an actual domain (localhost won't work)


Fix path for the dota 2 wiki

There's two dota wikis hosted by liquipedia:

The e-sports wiki at https://liquipedia.net/dota2/Special:Version
The game wiki at https://liquipedia.net/dota2game/Special:Version

The fandom wiki that moved is the game wiki and not the esports wiki, this fixes the path to be the correct one. Favicon is the same for both wikis.

Hi there, this is Iris of the Dota2 Wiki.
We are merging with the esports wiki and would like to request for the game wiki to be redirected to:
https://liquipedia.net/dota2/
Thank you!


Getting a runtime ERROR when using the Cloudshell script to deploy project.

When using the Cloudshell install button to install the solution, the script fails with the following error:

do we need an alternate step than described in the README to install the solution?

Hi @rayray2901
The Cloud Shell script was developed for a previous version built with Streamlit and it won't work for the current version (Angular).
Please use the steps in the main README file to deploy your solution.
Let me know if you have any question.
Thanks for using this code.


Remove SamplerCurrentAuthentication

Description
See https://github.com/Haulmont/jmix-templates/issues/47
Check that PivotTable samples work correctly while changing locale at runtime.

Fixed in: https://github.com/Haulmont/jmix-sampler/issues/68


Add namespace metadata to all k8s resource definitions

This is needed in CICD tools where defaulting to namespace is not possible
and a namespace is always required.
This is similar to v1 chart version:
https://github.com/cloudworkz/kafka-minion-helm-chart/commit/c23f1065e1d02517fce1c0a9994fc4b94e6c84ba

I think you are supposed to specify the namespace via the helm command (--namespace flag) or if you use templating via kubectl (also --namespace flag). I omitted the namespace on purpose. See this issue: https://github.com/helm/helm/issues/5465

I am aware of that issue but unfortunately beyond being a best practice it's not working in all CICD tools.
We are using for example Spinnaker to drive deployment and neither passing the namespace via command line is not an option or defaulting to current ns is not an option.
Wondering though what are the side-effects and how having the Release.Namespace in impacting helm native installations

I can recall that we had the same discussion with kminion :D

thanks Martin! :)


ja: Make docs/setup/production-environment/turnkey/icp.md follow v1.18 of the original text

This is a Feature Request

What would you like to be added
Update docs/setup/production-environment/turnkey/icp.md to follow v1.18 of the original (English) text.
Why is this needed
content/ja/docs/setup/production-environment/turnkey/icp.md is outdated.
Comments
/language ja
/good-first-issue
File to update
https://github.com/kubernetes/website/tree/dev-1.18-ja.2/content/ja/docs/setup/production-environment/turnkey/icp.md
Original
https://github.com/kubernetes/website/tree/release-1.18/content/en/docs/setup/production-environment/turnkey/icp.md
diff between translated and v1.18
https://gist.github.com/33ce77287d57f83c80001fea4dc116f0
Note
Currently, we use dev-1.18-ja.2 branch. Please open a PR targeting the branch.
ref
https://kubernetes.io/ja/docs/contribute/localization/
If you have a question, feel free to ask us at slack.k8s.io #kubernetes-docs-ja channel

/triage accepted

/assign

/close


Appending routes

This is an issue if you run la:install again and again. A fresh laravel install has no valuable routes in the web.php and therefore it would be better to copy the web file and not to append to it

We are not replacing it because, user can have his earlier routes inside it.
We don't want to flush his data.
Regards,

LaraAdmin as mentioned in your webpage should be used on a clean Laravel install.
If this is not the case then this is buggy because each run of install append s the same routes again and again

On 15 Oct 2016, at 19:23, Ganesh Bhosale<EMAIL_ADDRESS>wrote:
We are not replacing it because, user can have his earlier routes inside it.
We don't want to flush his data.
Regards,
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/dwijitsolutions/laraadmin/issues/67#issuecomment-253998011, or mute the thread https://github.com/notifications/unsubscribe-auth/AFPCHMOyp7lNPKdGIZrWnHFn2d_hp6itks5q0QwSgaJpZM4KXZK2.

I never mentioned that you can use only on fresh install. I might not have created package then.
As simple as that...
We can't call it buggy until we release full documentation about install command.
There would be a upgrade command to update new version of laraadmin.
We cannot create everything automatic. Its not possible.
There are some works which are better done manually.

Done. Update latest commits


Further blacklisting

https://hg.libsdl.org/SDL/file/f8adeeb9214b/src/joystick/SDL_joystick.c#l2085

Already done!

Already done!


[checkbox][radio-group] Change detection broken when model is altered in Observable.subscribe() post-binding

This is a bug report. Angular 2 rc 4 with material2 alpha 6
Change detection for md-checkbox behaves unexpectedly when it occurs as a result of another observable emitting. Rather than try to explain, let me just show.  Take a look at this plunker.
You can switch back and forth between ng2-material and native checkbox with the Switch modes link at the top.
Do the following to reproduce the error:

start the simulation
switch modes to Ng-Material
keeping the checkbox off, click Emit new params
Notice that this does 3 things that the native checkbox does not:

triggers change detection (I've also observed this particular effect with md-radio-group)
causes the model to fall out of sync with the view despite property binding (the checkbox is checked, but the bound value, printed next to it, is false)
makes it impossible to actually uncheck the box or get things back in sync. In fact the whole application is frozen. Only remedy is to stop the simulation or navigate away.

If you switch to the native checkbox, everything works as expected.
The use case for this particular setup is quite common: the component is initialized with certain parameters, eg heroID for the HeroComponent.  To retrieve the url parameters, the docs suggest using ActivatedRoute.params.subscribe() (just search for params.subscribe on that page). This subscription receives the new heroID when the user navigates from one hero to the other directly (without unsetting the component). The subscriber can then grab the new ID and update the view.
This scenario is what my plunker simulates.
PS: as of today (1 day since my post), the plunkr no longer runs probably because of some breaking change in alpha 7 which was released in the last 24hrs.

If anyone is listening: I've been able to rebuild my example with angular 2 rc5 and ng2-material alpha 7-2 at this plunker.  The problem I reported no longer seems to apply.
Feel free to close.


Support multi-level configuration

There have been multiple requests for additions related to configuration in the CLI tools, and we should see if there are things that fangs can do to help facilitate the asks. Perhaps among other things, we might like to:

support specifying multiple configuration files
support reading multiple configuration files in the lookup paths
support profiles to override or add to certain variables in a similar manner

One of the issues is: https://github.com/anchore/grype/issues/2009, where a user would like to have one configuration that they share among many repositories and a second configuration that a repository itself may contain.
In order to best serve users, we need to determine a path forward. Some solutions included:

use some kind of include or import directive in a configuration file to pull in information from another file
read and merge the configurations, where things like lists get appended to
read and merge configurations, where fields are overridden

It is quickly apparent that a user may have different desires and certain fields may make sense to override vs. append in different cases, and having a mix of this behavior might be confusing.
It is possible that on a per-field value, developers could tag a field with the behavior they would like to see of merge or override. An example might look like:
type ScanOptions struct {
    excludeDirectories []string `yaml:"exclude" mapstructure:"exclude" merge:"append"`
}

It is possible a user might want to specify this, too. Maybe something like:
# global.config
name: joe's laptop
scan-options:
    +exclude: /tmp

# repo.config
name: some-project
scan-options:
    +exclude: ./target

More research is needed to determine how other tools might be doing this and if we could follow any established patterns, or if Viper has any particular support for this type of thing.

A go library that seems to support some more complicated yaml-based configuration that may at least help to provide some prior art: https://carvel.dev/ytt/

I thought about this for a bit, and I think I have a reasonable behavior that should be both very flexible and minimize unexpected behavior, I implemented profiles because they are somewhat key to making this all sane. I've implemented this behavior in: https://github.com/anchore/fangs/pull/51. The main thing that could be confusing is that in many cases users would like to merge lists together, but not always, and while it may be dependent on the context it could be more confusing why it happens for some fields and not others.
Here is an explanation of an approach I think minimize confusion and maximizes flexibility:

If a user specifies one or more configuration files explicitly, those files are used and they must exist, no implicit files are used. the files are used in priority order from first specified
If no configuration files are specified, all the configurations found in implicit locations are used, in same priority order that was used to find a file: current directory config or .appname/config, home directory .config/.appname/config, XDG dirs. this is a change in behavior that may be considered breaking so there's a config option to stop at the first file found, like it does today
environment variables override all entries in config files and profiles
when multiple configuration files are used: slices are appended
when profiles are used, all values are overridden, including slices

This may sound overly complicated, but I think it results in the most expected and desired behaviors, while allowing just about anything a user wants fairly easily with profiles. If we think about it in terms of priority and appending vs overriding: multiple files append, profiles override, priority is always first wins, profiles have higher priority. Some examples:
Example 1: a grype user specifies some ignore rules in their home directory, projects specify some additional ignore rules.
$HOME/.grype.yaml -- contains user's ignore rules
.grype.yaml -- in current directory has more ignore rules
If the user did not specify a config file, it would implicitly find: .grype.yaml, $HOME/.grype.yaml in that order, the set of ignore rules would contain what was specified in BOTH files, with $HOME/.grype.yaml being at the end of the list.
If the user runs grype -c .grype.yaml, it would only use that config file and not implicitly look up any. If the user runs: grype -c .grype.yaml -c $HOME/.grype.yaml, it would have the same behavior as the case where these files were implicitly found, above, where .grype.yaml takes precedence, and the ignore rules have the $HOME/.grype.yaml appended at the end of the list.
Example 2: the same files exist, a profile named no-ignores exists in either file, with an empty list of ignore rules. The user runs grype --config-profile no-ignores, the empty ignore list replaces the non-profile ignores, easily allowing non-appending override behavior.
Example 3: the same files exist, but a user wants to append MORE ignores without modifying either file. The user can create a third file, let's say .grype-ignores.yaml, and run grype -c .grype.yaml -c $HOME/.grype.yaml -c .grype-ignores.yaml to append all the lists together.
...
I think if the profiles had appending behavior, this would be rather unexpected and would prevent use cases like the no-ignores above. If neither had appending behavior many of the desired use cases wouldn't work, or it was specified on a per-field basis it would get even more confusing very quickly what is expected. I think by sticking to these rules, it is reasonably easy to understand what's going on.


Implementation of Dijkstra's Algorithm

Have you read the Contributing Guidelines on Pull Requests?
YES
Description
Implementation of Dijkstra's Algorithm
Issue no -#47
Checklist

[x]  I've read the contribution guidelines.
[x]  I've checked the issue list before deciding what to submit.
[x]  I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)

kindly review this PR @Kajol-Kumari @SKAUL05 @siddharth25pandey @iamrajiv @HarshCasper

@yashaswibiyahut Same PR for same Issue already exist. Check this


Uninterrupted receive loop (CPU 100%)

ZeroMQ input uses 100% CPU
Even without actual traffic, the zeromq input plugin produces 100% load. The reason is the ZMQ::DONTWAIT setting in https://github.com/logstash-plugins/logstash-input-zeromq/blob/master/lib/logstash/inputs/zeromq.rb#L132, introduced by https://github.com/logstash-plugins/logstash-input-zeromq/commit/cef68df3d53e9bcd335d377e317fc8f6acfcb350
The ZMQ::DONTWAIT setting (http://api.zeromq.org/3-0:zmq-recv) enables the non-blocking mode on the ZeroMQ socket. If no message is available, on the socket, the recv_string method returns ZMQ::EAGAINT and the next on line 133 is executed. This leads to an endless loop of lines 128 to 133 and therefore to 100% CPU usage (at least on one CPU core).
Steps to reproduce:
Start logstash with the following config and watch the CPU, for example with top
input {
  zeromq {
    topology => "pushpull"
  }
}
output {
  stdout {}
}

I suggest to change the implementation to use ZMQ::RCVTIMEO (for example with a value of 1000) instead of ZMQ::DONTWAIT.

:+1:


QUESTION: Do we need to implement physical input and output efficiencies?

So far, it has not been relevant to distinguish between input and output efficiencies. The only thing that matters has been the efficiency of an energy flow through a converter. If a heater has an efficiency of 80%, the output.heat can be set to be 0.8 and all is well.
With P2P, it become relevant to talk about the input (charging) efficiency and the output (discharging) efficiency.
Looking at the p2p node, it seems to me that the output efficiency (85%) is intuitively defined by - output.electricity = 0.85.
The input efficiency (89%) is defined somewhat less transparently by ~ input.electricity = 1.0 / 0.89.
@antw I assume this is a way of saying "of every 1 PJ input, only 0.89 PJ makes it into the converter" right?
I feel it would be more transparent/intuitive to be able to define input (charging) efficiency and the output (discharging) efficiencies directly in the node something like this:
- input_efficiency.electricity = 0.89
- output_efficiency.electricity = 0.85

@antw @jorisberkhout @dennisschoenmakers what do you think?

Good point.
For which other nodes would this be relevant?

For which other nodes would this be relevant?

Electric vehicles, which are also batteries in a sense. And perhaps pumped storage if we are going to use that at some point. Storage options in short :smile:

- input_efficiency.electricity = 0.89
- output_efficiency.electricity = 0.85

Would we need to update (all) the other nodes accordingly, or would this be optional for only the (few) storage nodes?

@antw I assume this is a way of saying "of every 1 PJ input, only 0.89 PJ makes it into the converter" right?

Yes it is.
I agree that efficiency = 0.89 is easier to understand than conversion = 1 / 0.89. It could be especially confusing to newcomers since output efficiencies don't need the 1 / x.
I'm not sure how keen I am on having two separate attributes for describing the same thing, especially since input conversion does make sense for most other nodes (where they describe the share of input carriers, rather than an efficiency). It would be nice to find a way to support both ways of doing things.
I think this was more a workaround for the fact that in ETEngine's model, P2P would be better represented as two converters: one for charging, one for discharging.
[ Local Elec ] <-elec- [ P2P ] <-elec- [ P2P Input ]
                     /               /
                 loss            loss

P2P Input:
  output.electricity = 0.89
  output.loss = elastic

P2P:
  output.electricity = 0.85
  output.loss = elastic

This fits with using output to model efficiency (which is what we do everywhere else), but it's pretty cumbersome. Hence the ugly 1 / 0.89 input conversion.

I'm not sure how keen I am on having two separate attributes for describing the same thing, especially since input conversion does make sense for most other nodes

I agree.

think this was more a workaround for the fact that in ETEngine's model, P2P would be better represented as two converters: one for charging, one for discharging.

I have been thinking along these lines as well. Let's add it to the long list of things we could do with sub-graphs :smiling_imp:

Let's add it to the long list of things we could do with sub-graphs :smiling_imp:

OMG you're so evil :smile:


Extend tenant status list with workload. Closes #1743

Extend tenant status list with filter for workload. Closes #1743

Extends 'tenant status list' with support for optional filter for workload. Closes #1743

Linked Issue

Closes #1743

Thanks @arjunumenon , will review shortly 🙂

Merged manually. Thank you! 👏


How to get VIS1.JPG, VIS2.jpg, VIS3.jpg in the project?

I ran the test.sh script in the project, and ultimately in work_ Got prede in dir_ The coordinate information and category information of the box, but the readme file does not explain how to generate a script file for predicting boxes in an entire image, such as vis1. jpg and vis2. jpg. Can you tell me how to do it??

I think I have found a solution by running the visual.sh script in the rtools directory.
close the question.


GitHub actions creation

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@47a6626). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage        ?   91.58%
=======================================
  Files           ?       11
  Lines           ?      202
  Branches        ?        0
=======================================
  Hits            ?      185
  Misses          ?       17
  Partials        ?        0

Continue to review full report at Codecov.

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


Possibly remove lodash from dependencies

We've been using oclif for https://github.com/expo/eas-cli and it works really great! One thing we try to achieve in our CLI is the minimal package size. I mean we keep an eye on dependencies that we add to our package.json. One of the dependencies we especially try to avoid is lodash. It weighs around 5 MB:
root@927d4ac7c00b:~/aaa# du -h --max-depth 1 node_modules/ | grep lodash
68K     node_modules/lodash.merge
5.0M    node_modules/lodash

Unfortunately, lodash is one of the @oclif/core dependencies. However, it seems it's not used in many places - https://github.com/oclif/core/search?q=lodash
From what I can see you only use two functions:

https://github.com/oclif/core/blob/c62f584d82554220b58f4a7d4007ad7a52c870ca/src/config/config.ts#L386
https://github.com/oclif/core/blob/caaff0b4918ab2e01bc01cad2c0d8158c2fcc1c5/src/help/util.ts#L32

The first one should be pretty straightforward to re-implement. The second is not that easy to replace (but I'm not familiar with the codebase). I also saw this PR https://github.com/oclif/core/commit/caaff0b4918ab2e01bc01cad2c0d8158c2fcc1c5 where you replaced lodash.template with lodash and I'm quite not sure why because the PR description doesn't say too much about the motivation.
Do you think you could make oclif even better and get rid of lodash from dependencies? If yes, I'm a volunteer to work on the pull request.

Hey @dsokal if you'd like to tackle removing Lodash we'd be happy to take a look. However, the PR you referenced was created because lodash.template is no longer supported as an npm package and has some critical security issues we needed to address. lodash doesn't have the same security problems which is why we switched to it.

Alright, I'll put up a PR soon.


How does HikerAPI.com get 1000 likes and not 100?

How to get more than 100 likes?
The HikerAPI.com service does this even with other people’s posts (not posts from the account you are using).
How does this work?  Through this library I receive no more than 100.
Please tell me your secret. 😭😭😭

Why would they tell you? You have to research about it.


Remove ant-contrib depdendency from openjdk.modularity.test build file

Remove ant-contrib depdendency from openjdk.modularity.test build file
Signed-off-by: Mesbah<EMAIL_ADDRESS>

Tested with : https://ci.adoptopenjdk.net/view/work in progress/job/TestBuild_Sandbox3/57/console

Since the for loop has been removed from the build.xml file, we no longer have any dependency on ant-contrib. It should be removed, especially because it's causing failure in jck build, as reported in https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/111


Fix send command attribute

Change-type: patch

Text with send command instructions is not visible on chat widget, so we need to put data-test-send-command attribute on the message input itself to make tests work.

@balena-ci I self certify!


Prevent brief display of "poor" password indicator upon paste of strong password

It currently provides for a slightly disconcerting experiencing in which the user might doubt if things are working properly:
https://user-images.githubusercontent.com/28991/193783392-4c19c959-62f5-4710-a059-8e04a828453d.mov

I've noticed this too when pasting in my demo password. Perhaps we need to either reduce debounce time, or use a throttle instead.


Plexus team to confirm all plexus-interop code resides in the plexus-interop repository

Plexus team to confirm all plexus-interop code resides in the plexus-interop repository
Description of Problem:
As part of a code consolidation exercise and repo migration to FINOS, the FINOS team would like to confirm all code related to plexus-interop resides in the plexus-interop repository.
If any plexus-interop code resides in unrelated repositories, such as finos-plexus.github.io, the code should be migrated into plexus-interop.

Hi @mcleo-d !
I confirm that all Plexus Interop related code resides in plexus-interop repository and do not rely on other repos.
Closing the issue as of now, please let me know in case  of further clarification required.
Thank you!

Thank you @udalmik 👍


Feature/date plugin formats

The default option is not showing because of a problem with the AuRadioButton, I will try to fix it


How to get Token as a string?

How can I fetch the Token as a string as I need to pass the Bearer token to authenticate & call a REST service.

Same problem! Help Please!!

I generally have a service that looks like:
@Injectable()
export class AuthService {

    constructor(private adalService: AdalService) {}

    public getToken(): Observable<string> {
        return this.adalService.acquireToken("https://xyz.onmicrosoft.com/abc").map(
            token => token.toString()
        );
    }
}

@ranveeraggarwal
This is working only for Azure B2B AD and not for Azure B2C AD. I need to provide the B2C SignIn policy. (1) How can I make it work with B2C Azure AD?
(2) How do I list the B2C Azure AD claims?

I am not sure how to do that. But according to this link, you might need to make graph calls to get claims: https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-devquickstarts-graph-dotnet

B2C Authentication can be done using or without using GraphApi. I have done both Azure B2B and Azure B2C implementations in MVC/WebApi projects without using Graph Api. I don't want to use GraphApi for Angular 4.X projects also. If you come across an implementation of Azzure B2C without using Graph Api for Angular 4.X, please share. Thanks for your above reply on this. Cheers!


How to run it?

Hi! Really useful one.Really naive question  I created a new command Just wondering how can run the command?Use nx serve  give me Error:No command specified.

About nx serve
The nx serve command will run the application with no options or parameters resulting in the message ERROR No command specified. To use nx serve, temporarily edit your main.ts to bypass the argv parsing and run the command you want.
Of course, you want to revert such changes before building and distributing your multi-command CLI.
Alternatively, use a command like the following
nx build your-app;node dist/apps/your-app/main.js your-command your-parameter

If your CLI has only one command, consider using the plain @nrwl/node:application generator

closing this a resolved.  open a new issue if you have more trouble.


Fail to install botframework-emulator on Linux

I tried installing the botframework-emulator but it doesn't work. Step to reproduce:
> aria2c https://github.com/Microsoft/BotFramework-Emulator/releases/download/v3.5.34/botframework-emulator-3.5.34-full.nupkg
...
> nuget install botframework-emulator-3.5.34-full.nupkg
Unable to find package 'botframework-emulator-3.5.34-full.nupkg'.
> uname -a
Linux tank 4.13.12-1-ARCH #1 SMP PREEMPT Wed Nov 8 11:54:06 CET 2017 x86_64 GNU/Linux

Install using botframework-emulator-Setup-3.5.34.exe. The nupkgs are a build artifact necessary for the updater, but not meant to be installed directly.

@eanders-MS Can you please explain more? How do I run botframework-emulator-Setup-3.5.34.exe?

Hi @pickfire
Here is the link to download the installation file: https://github.com/Microsoft/BotFramework-Emulator/releases/download/v3.5.34/botframework-emulator-Setup-3.5.34.exe
It can be found on this page: https://github.com/Microsoft/BotFramework-Emulator/releases

Oh you’re on Linux! I missed that detail. Here’s a blog post that explains it well: http://www.startertutorials.com/blog/microsoft-bot-framework-ubuntu.html

@eanders-MS Ah, thanks a lot. That works. I didn't know the file extension for linux executable is .Appimage.
Note: I saw nothing mentioned about it in README.


Add Nong Song: space battle remix

Song Name
Space battle (maze remix v2)
Artist Name
Maze Master002
Source
Youtube
Youtube Link
https://youtu.be/7UWBme1R8Zc?si=-DLq4xA9Q2sXAB0F
Direct File Link
No response
Song ID
661012
Start Offset [ms]
No response
Extra
Used in the level OuterSpace of the fire gauntlet

reject // The video you have linked is incorrect, I believe you meant to link this song, however what you have linked is the first Attack on Titan opening with Spanish subtitles.


Test DT* objects being drop-in replacements of DocTest analogs

Follow-ups to gh-37

[x] do not store parts of config stuff, only store it itself (looking at you, DTChecker)
[x] test swapping DT* things with DocTest* analogs
[ ] document the internals
[x] finish up testfile
[ ] refactor the find_doctests function, get_public_objects etc into a DTFinder class.

This issue has run it course.

An actionable item here is to refactor the find_doctests function, get_public_objects etc into a DTFinder class (edited into the top-level description).


Anchored structures remain tilted

Description

Dragged a structure out of a salvage grid, it ended up tilted inside the shuttle even after being anchored
Reproduction

Screenshots

Additional context

probably fixed by https://github.com/space-wizards/RobustToolbox/pull/3634?


Tool doesn´t work well

I installed your tool with the command you list in your github. I see the tool does not fit my needs. How can I remove it and make all changes back? There should be a guide somewhere ;)

I currently like it, but there's so much stuff that gets installed, I would also like to see a mac uninstall script to get rid of everything if needed.

Hi everyone!
You can uninstall Mac CLI by running:
sh /usr/local/bin/mac-cli/tools/uninstall
I will add that to the README file.


make redirect to password redirect page dynamic, simply redirect to the current page

After upgrading to v0.15 I ran into the problem that the URL helper for the "edit password" page in my app is not called edit_user_password_url but edit_password_url.
Since the redirect should always go the same page that is being requested right now, just without the param, I suggest to use url_for instead.
The tests pass. Not sure if another test is necessary?

This was merged as de3233d and will be released in 1.15.1 shortly (there's an open PR for the release).

Awesome, thanks!

This merge is causing me problems in my app. I have my admin and public facing sides living int he same app, but all admin routes have a specific subdomain. When my user requests the change in password, my email forms correctly send them to the edit_user_password_url
edit_user_password GET    /users/:user_id/password/edit(.:format)                                                                      admin/clearance/passwords#edit {:subdomain=>"MYSUBDOMAIN"}

but the url_for in this method does not look at subdomains at all, and redirects the user to the same path but without the subdomain, where they now encounter a routing error as it correctly should without the subdomain.

Can you check if redirect_to url_for(subdomain: request.subdomain) works for you?

It does, and this is how I've done it in my controller subclass' override, but is subdomain really the only edge-case here? When dealing with url's, shouldn't we stick to the pattern already established by this library? That is, configurable either by subclass-overridden method or within Clearance.configuration

AFAICS subdomain is the only case that is not handled by url_for.
I think url_for is the best option here, compared to making this a config option, since it should work in all cases. Subclassing the controller is of course still possible if one wants completely different behaviour. 😄
But the maintainers have the final say in this of course.


Add missing Developer Newsletters (Jul '22 to Oct '22)

Add all instances of the Developer Newsletter to the archive for July, August, September, and October 2022.

Added July, August, and October 2022.
Still waiting on September

Full year later and we don't have the September 2022 one so I'm going to close this as "best we can do"


GitHub release task

This PR repurposes the :release task to create a new Github release. Running this task requires proper repository permissions or else the task will fail.

Coverage remained the same at 98.734% when pulling 99a8badbec1985ce68c7f2812ffc381f6d32c2b5 on github-release-task into 5ab0f3442b19b4de549f6be7e3b7baa34e135495 on master.

👍


General updates

Removed docs and doc generation in favour of pursuit link in README.
No longer need rimraf - we were using it to remove docs.
Updated version of pulp.
Fixed most of the warnings (class imports, sections, operator aliases, etc).
NOTE: I had to come up with real names for operators! - why can't an alias be exported without exporting the real name?  (See Setter.purs for example)

why can't an alias be exported without exporting the real name?

Aliases is replaced with the real names during desugaring, so the real name needs the same accessibility level as the alias.

Ah messed up - hold on

I'd suggest using something this for the package.json, by the way: https://github.com/purescript/purescript-identity/blob/master/package.json - so rimraf is still somewhat useful :)

Likewise the .travis.yml from there - it uses a container image with more juice for much faster builds.

Is the .travis.yml change just a case of copy paste from there then?

Yeah, it should be.

Yay travis builds!  Need to update the commit message to reflect the rimraf change.

@garyb Are the On suffixes okay for some of the operator aliases?  (I originally used Of like previewOf, but then I came across ^.. which is flipped toListOf so that would have been toListOfOf)

Yep, fine by me. In other places we might have called that toListOfFlipped, but that's where there's no intention the operator will ever be used by name, whereas the -On names make sense in their own right.

Sorry this is languishing, I was going to hold off until we were done with the core libraries.
Do you want me to release it as an RC now, with the caveat that it will definitely break again when we're done with core?

Nah don't worry about it.  Core libraries are more important at the moment.

Thanks for your work on this, I cherry picked the commit and resolved the conflicts in #33.


Support for slices?

In data science use cases, the most frequent test is to assert approximate equality of entire float data vectors. For instance in Numpy based code, testing with assert_allclose is ubiquitous. I'm looking for the equivalent in Rust.
As far as I can see, the macros currently doesn't support slices. Is there an interest to support them?

Yeah, this seems like it would be really useful!

If they do, it would certainly help to mention it ;)
I concluded from the docs that they don't, and rolled my own (totally not configurable):
#[macro_export]
macro_rules! assert_allclose {
    ($a:expr, $b:expr) => {
        use approx::ulps_eq;
        assert_eq!(
            $a.len(),
            $b.len(),
            "Data lengths differ: {} != {}",
            $a.len(),
            $b.len()
        );
        for i in 0 .. $a.len() {
            assert!(
                ulps_eq!($a[i], $b[i], max_ulps = 7),
                "Values at index {} differ: {} != {}\na = {:?}\nb = {:?}",
                i,
                $a[i],
                $b[i],
                $a,
                $b
            );
        }
    };
}

Ahh - once we have const generics we can implement it for fixed size arrays. We could also do what the standard library used to do and implement the traits for fixed size arrays of length 0 to 32. In the mean time you might be able to do:
assert_abs_diff_eq!([1.0, 2.0, 3.0].as_ref(), [1.0, 2.0, 3.0].as_ref());

This converts both sides to `&[{float}].

I ran into this today.
Your solution @brendanzab works! But I ended up writing this:
use approx::assert_abs_diff_eq;
    use std::fmt::Debug;

    fn array_assert_eq<A: approx::AbsDiffEq<A> + Debug, const N: usize>(a: [A; N], b: [A; N]) {
        a.into_iter()
            .zip_eq(b.into_iter())
            .for_each(|(x, y)| assert_abs_diff_eq!(x, y));
    }

which is super-bad, but it means that const-generics are present enough to support slices finally?


igc connector build fails with Java 11

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (default-compile) on project igc-rest-client-library: Compilation failure: Compilation failure:
[ERROR] /Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/adapters/open-connectors/repository-services-connectors/open-metadata-collection-store-connectors/ibm-
igc-repository-connector/igc-rest-client-library/src/main/java/org/odpi/openmetadata/adapters/repositoryservices/igc/clientlibrary/model/generated/v11702/DsparameterSet.java:[6,23] error: package javax.annotation does not exist
[ERROR] /Users/jonesn/IdeaProjects/egeria/open-metadata-implementation/adapters/open-connectors/repository-services-connectors/open-metadata-collection-store-connectors/ibm-igc-repository-connector/igc-rest-client-library/src/main/java/org/odpi/openmetadata/adapters/repositoryservices/igc/clientlibrary/model/generated/v11702/DsparameterSet.java:[21,1] error: cannot find symbol
[ERROR]   symbol: class Generated

This is due to removal in java 9 - so issues with the import
need to figure out the clean, safe way to fix & work in both 8 and 11.
some tips at https://stackoverflow.com/questions/48238014/how-can-be-solved-java-lang-noclassdeffounderror-javax-annotation-generated

The requirement for java11 is probably to add

javax.annotation
javax.annotation-api
1.3.2

As Oracle moved the annotation package into j2eE
however

i've not tested yet
this package has a cddl license, which looks ok, but we need to get approval.

:-(

No worries -- thanks for doing the work around Java 11 testing 😄
I'll wait until we have a go-ahead / OK on the license, and then will make whatever changes we need to for a cross-version-working @Generated annotation to the IGC bits.

The main egeria build is now fixed so this can be closed - before doing so - do you need to copy this over to your repo?

@mandy-chessell any chance you can "migrate" this issue to the other repository?  Sounds like something admins can do -- and that way we retain the history, etc.
(See: https://help.github.com/en/articles/transferring-an-issue-to-another-repository)

The git repo for the version of the Maven dependency above is now archived, and apparently it's been migrated to Eclipse: https://github.com/eclipse-ee4j/common-annotations-api
... and it now is listed with an Eclipse Public License (EPL-v2).  Any idea if that's already on the approved list?


MI DGP support

Description
Adds support for mixed-integer geometric programs, via the FiniteSet constraint.
Issue link (if applicable): #1590
@adishavit
The canonicalization is straightforward. I am not allowing the values of the finite set to be parameterized right now, because is_pos is only supported for leafs but it's needed here for more complex expressions, since theoretically the set values could be something like param1 + param2. I could hack around this though if the functionality is desired.
Type of change

[x] New feature (backwards compatible)
[ ] New feature (breaking API changes)
[ ] Bug fix
[ ] Other (Documentation, CI, ...)

Contribution checklist

[x] Add our license to new files.
[x] Check that your code adheres to our coding style.
[x] Write unittests.
[x] Run the unittests and check that they’re passing.
[x] Run the benchmarks to make sure your change doesn’t introduce a regression.

Thanks for this 👍
And since GP does not support zeros, one cannot use Boolean variables - right?

Thanks for this 👍 And since GP does not support zeros, one cannot use Boolean variables - right?

That's right. The elements of the finite set must be positive.


Agent 6 validation readme update

What does this PR do?
Unify the validation section of the integration readme + change info in status for the upcoming agent 6

oups thanks @masci copy/pasted a bit too fast 🙈


Invalid URL generated in XML "import"

Starting from 0.10.0, when publishing a webservice with the targetNamespace attribute of the @WebService annotation, XML schema is not embedded within the WSDL but linked via import; the problem is that the import statement contains an invalid URL, such as this one:
<wsdl:import location="http://localhost:8080/soap/test?wsdl?wsdl=TestService.wsdl" namespace="mynamespace"> </wsdl:import>
Workarounds:

Don't specify a targetNamespace (but some services may need it);
Include a pre-generated WSDL (but the WSDL file would need to be manually edited whenever a field is added to the model, for example);
Specify a quarkus.cxf.endpoint.key.published-endpoint-url property (not optimal because different environments would need different configurations; in most use cases auto-detection of the published URL is desirable).

Example mini-project to reproduce: cxftest.zip

Hi @davorl-cedacri Thanks for the issue!  I believe the behavior you're seeing is related to:
https://cxf.apache.org/faq.html#FAQ-Thegeneratedwsdl(GETrequestonthe?wsdladdress)doesn'tcontainthemessages,types,portType,etc...WhatdidIdowrong?
Your best option is to set the targetNamespace to the same value in both the service interface and service implementation @WebService annotations.  I think that's the simplest workaround for you.
However, will keep this open to dig in a little for the invalid URL - that shouldn't be happening either.

Thank you @shumonsharif!
In my case changing the targetNamespace is not a viable option, as I'm porting an existing application from Thorntail to Quarkus. I'll use the "published-endpoint-url" workaround until a solution to the invalid URL issue is found.

Hey @davorl-cedacri I did not follow why porting from Thorntail to Quarkus would matter -- the suggestion was not to change your targetNamespace value; it was to set the same value in BOTH the interface and implementation class ... I believe that should not impact the actual API you are exposing?  Not entirely sure though, will need to dig in further.

Ooops, I misunderstood that FAQ entry, sorry.
m (_ _) m
Setting both the interface and the implementation to the same targetNamespace works perfectly, thank you!


Asking for remove file ~/.pm/version on each run

hello.
Every time I run pm command, I get the following message printed in the terminal:
rm: remove regular file '/home/bruno/.pm/version'?
After that the command runs as usual.

Hello @brpaz,
Thank you for creating the issue. What shell are you using? bash or zsh?

zsh, on Linux Mint 18.3

Hello,
yes I reply after 1 year...
But I have this problem and for me the problem is that is use this alias in my zshrc : alias rm="rm -i".
So just remove this alias and this problem disappear.
Now I have understand the stupidity of an alias who completely replace the original command...

Np @NeodarZ, this kind of things usually happen.
Sorry about the long time @brpaz, but to be honest, I'm not maintaining this project very actively. Could you fix the issue? Is it related with the @NeodarZ one?
Thanks!


LAPSI scaling is wrong

https://github.com/chrisroadmap/fair-calibrate/blob/a416ec8d3685d28dffb237c5907d4e3e553351fa/input/fair-2.1.1/v1.2/AR6_updated/sampling/07_forcing-uncertainty-ar6.py#L62
This should be 2.25 at the 95th percentile (percentiles are 0, 0.08, 0.18 W/m2).

#106 fixed this.