Static Type Checking

Proposal:

introduce static type syntax to bindables in template html.
Type syntax should be stripped out of output html.

It would be nice to be able to check that bindings are correct, at build-time. For example. Given the following two files.
foo.html
<template bindable="person:Person">
   ${person.nme}  <!-- oops -->
</template>

person.ts
export class Person{
   name:string
}

Then, it should be detectable that person.nme is invalid.
Building a system that can achieve this, without actually fully running aurelia should be achievable. Possible solution was discussed here: https://github.com/MeirionHughes/aurelia-template-lint/issues/4#issuecomment-225514323 .

[ ] investigate using the typescript compiler to traverse the syntax tree

You probably want much higher level interface to deal with TypeScript classes (to fetch the fields and methods and their types). I guess TypeScript already provides that information for IDE's to create an outline of the class, that includes its method and fields - maybe it is implemented somewhere here?

Had a quick look. Seems higher level with regard to the project overall, but not seeing reflection style information there, unless its imported from CompilerServices or LanguageServices?
I quite like the look of the AST node. Pretty much hands you the entire reflection data for files. should be super easy to pull out class/interface names and their variables.
As you say, I need classes/interfaces and a list of their fields, getters and constructor created properties. So far that AST stuff is all I know of that does that.

So far that AST stuff is all I know of that does that.

Yeah, I was just hoping, that You might find a tool (built on top of low-level "AST stuff") that already provides You the same high-level information.You'd need. It just seems unbelievable, that all the IDE plugins would implement the same thing for "Class outline view" without relying on higher level tools provided by TypeScript.

but not seeing reflection style information there, unless its imported from CompilerServices or LanguageServices?

Maybe, i guess it has to be somewhere  ;)

right, the reflection is there: via client getProgram which contains a list of SourceFile, which gives you: https://github.com/Microsoft/TypeScript/blob/master/src/compiler/types.ts#L1601

this is actually super easy;
export class Person{
    forename:string;
}

npm install typescript
ts = require('typescript')
fs = require('fs').readFileSync
file = ts.createSourceFile("test.ts", fs("test.ts").toString(), ts.ScriptTarget.ES7, true)
file.externalModuleIndicator.members[0].name.text
gets you forename; Reflection is all readily available.

HTML reflection: https://github.com/aurelia/templating/blob/master/src/view-compiler.js#L88

I see for this milestone you are aiming to support view-only templates. This is a great start, looks really promising! I already integrated the linter to my quite data-intensive project, I'll test every new release :)
The next goal should be to support view-models as well:
export class PageViewModel {
    @bindable person: Person;
    title: string;
}

<template>
    ${titl}
    ${person.nme}
    ${person.name.toUpperCase()}
</template>

And in the end all Aurelia valid bindings.

Yeah, that would be the next logical step; I don't see it being a big issue if you have a 1-1 file relationship: person.html and person.ts and say it exports PersonViewModel That would be fairly straight forward.

@zakjan make sure you lock down the versions with anything production. aurelia-template-lint locks down on minor version (updates patches) of template-lint, so in principle when I break template-lint on next release it should be fine.
I currently break on minor releases, while no breaking changes on minor.

blocked by: https://github.com/aurelia/pal-nodejs/issues/1

@MeirionHughes made a proof of concept here. I'd love to get Aurelia to give us more information about a view (a total list of bindings) so we don't have to traverse the DOM and fetch the binding expressions ourselves. Perhaps that will require browser capabilities though

Looks like you're miles ahead of me :smile:

Actually, I think your approach is better; We're already traversing the html tree in this linter anyway. My issue was trying to find a way grab the reflection of bindings, via the binding system. Looks like you've actually done that in your proof-of-concept. I find that extremely useful, Thank you!
I may "borrow" your approach in this regard and get a working Rule up and running.

If possible, i'd rather let aurelia parse an entire view and give us back the controller (I think a controller contains all the bindings etc). That would give us a lot more information than we could get by traversing the DOM. I think we need this info (if not now, then later) because aurelia views can be complex (if.bind's, , custom elements, attributes etc).

Yeah, it would ultimately be better to use the ViewCompiler in the long run. In that regard there I just need to implement the Mutation Observer emulation for the nodejs platform, test it and it will be good to go.

@JeroenVinke finally managed to at least boot up aurelia's template binding and extract the attribute binding information.

Awesome!! Good work!

... to be fair, I'm pretty sure there are quite a few issues to iron out. :P


MVapp is offline?

On February 3rd at 12:41 CDT the service MVapp could not be reached (see screenshot below).
Using latest Chrome on Ubuntu 20.04.

We have experienced some issues with the server. Now the MVApp is back on line again. In case this happens again - pls run the MVApp locally from your computer by typing the following lines in the R (it will take a while when installing for the 1st time):
install.packages("shiny")
library("shiny")
shiny::runGitHub("mmjulkowska/MVApp", "mmjulkowska")

Thank you very much!
Am Mo., 14. Feb. 2022 um 09:57 Uhr schrieb Magdalena Julkowska <
@.***>:

We have experienced some issues with the server. Now the MVApp is back on
line again. In case this happens again - pls run the MVApp locally from
your computer by typing the following lines in the R (it will take a while
when installing for the 1st time):
install.packages("shiny")
library("shiny")
shiny::runGitHub("mmjulkowska/MVApp", "mmjulkowska")
—
Reply to this email directly, view it on GitHub
https://github.com/mmjulkowska/MVApp/issues/90#issuecomment-1039220069,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEMQKKUT624EPKDVCDNOQDU3ENSHANCNFSM5NPXI2UQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Asis Hallab
Ahornweg 8
50827 Köln
Skype asis.hallab.cgn
Mobil +49<PHONE_NUMBER>1
Fax +49 1212 5 30697106


Add warning about cost (WOR-736).

Adds a warning about the daily cost of having an Azure billing project.

Integration test failures are unrelated.


Add isHidden and isVisible methods to Eloquent Models

A more convenient way to check if an attribute is visible/hidden:
// before
in_array('name', $model->getVisible());
// or
$model->getVisible()['name'] ?? false;
// isset... whatever

A bit more Laravel style:
$model->isVisible('name')

I have also considered naming this methods isHiddenAttribute since they seem like a method that could exist in some app models but since it would be overwritten, no problem at all but open to rename them.

I'm not sure I totally want to do this on a patch release. The reason being is that it could be that existing applications already have a isHidden method defined on their model that does something custom for their application. That seems like a potentially common phrase to use in certain applications so want to play it safe for now.


Add TryInputPin,TryOutputPin ad IoPin traits

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @therealprof (or someone else) soon.
Please see the contribution instructions for more information.

Hi any news on this ?
I also have some code that works with GATT to make it simpler to implement zero sized and infallible version

i didn't know there was a meeting, and don't know where/how to add this question

i didn't know there was a meeting, and don't know where/how to add this question

https://matrix.to/#/#rust-embedded:matrix.org
Each Tuesday 18:00 utc


storagecache release

https://github.com/Azure/sdk-release-request/issues/3754

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-arm-storagecache

@kazrael2119 The changes look good to me, thanks

The breaking is introduced by non-LRO to LRO and another body param from optional to required. We can't work around in these cases so I accept this breaking.


UI improvements from June 2 testing

In priority order...
Important-easy

[x] Survey screen: use bigger font on wheel counter number. It was really helpful to keep an eye on the counter since it was more precise than the progress bar
[ ] Survey screen: Add visual indication when there are more curb zones or buttons below (when not everything is visible on the screen and scrolling is required). Maybe this is just a scroll bar.
[x] Survey screen: Improve interaction with active curb zones: Make whole button responsive instead of just the gear icon, and consider switching the gear icon to a "hamburger"
[x] Survey screen: Make it more obvious when a curb zone is open vs closed (fade... color coding?... icon... something else?)
[x] Survey screen: Selecting a label for the span/position: it's a little hard to pick one. Consider changing to 2x column layout, or changing to a "scrolly dropdown"
[x] Survey screen: Give feedback that an image was taken. Basic path: add number counter. More involved path: add diamond to span. (Gets a little trickier for positions since they already have a diamond on the progress bar)

Important-harder

[ ] Overworld map: Color-code streets to indicate whether a street is fully surveyed (both sides) or not yet fully surveyed (0 or 1 side surveyed)
[ ] Overworld street selector: decouple side of street from direction being walked. In UI, choose side of street, then choose direction (could be map selection or two different toggle buttons). Related: When selecting street side, indicate to user if one/both sides of the street have already been mapped.
[ ] Overworld map: Help users orient themselves with puck. (morgan/kevin investigating location permissions and creating support for puck (in a separate issue)

Tabled for now

Color coding for curb zones (let's make the improvements above first, then come back to this)
Visualization improvements for T intersections (when on the unsegmented side of the street, it's hard to know where the block segmentation is)

Most of the first section is implemented, at https://github.com/sharedstreets/curb-wheel/pull/92.

Survey screen: Give feedback that an image was taken

this is contingent on handling https://github.com/sharedstreets/curb-wheel/pull/91, which actually handles the image capture

#92 is merged with all the Important-easy items except the scroll bar -- mobile browsers are pretty prescriptive about how those appear, so I'm working on a custom implementation of that

decouple side of street from direction being walked. In UI, choose side of street, then choose direction (could be map selection or two different toggle buttons).

@emilyeros do we have direction as a property in the data model, if we're decoupling direction from street side? If not, we could flip it on the client before uploading the survey, so that the data is always in the "forward" direction.

Direction is baked into the reference IDs (https://github.com/sharedstreets/curb-wheel/blob/master/data-model.md#street-linear-references). My understanding: the A side of the street does have a direction (forward) and the toggle would be a way of opting to use the back reference for that ID. I don't think we've explicitly surfaced the forward property in the data though.
@morganherlocker / @kpwebb could confirm all this?
If this properly isn't explicitly in there and we do need it, then I think it would be simple to add this property back in (or add these features into the graph?).

Direction is baked into the reference IDs

@emilyeros hmm I'm getting more confused. Ref ID's have "direction" derived from  car traffic, but we're talking about which way the surveyor will walk, given a specific stretch of curb: from the Arby's to the Starbucks, or Starbucks to the Arby's. A one-way street with one ref ID will still have two "directions" of surveying for each curb: their contents will be identical but palindromic.
My question is whether we want to

upload surveys with these contrary measurements, along with a property recording the walking direction, or
decide on a canonical "forward walking direction", and have the client coerce "backward" surveys into the forward format before uploading

the latter seems more straightforward and simplifies the data model.

https://github.com/sharedstreets/curb-wheel/pull/95 for puck and curb selection items on the map portion

Last remaining item is the color-coded overworld map. Current status: needs a status field for each street reference on the backend. Peter added a hacky workaround that stores the street state in the web browser, but it doesn't persist if the page is refreshed.

done


Note the existance of etcd-manager

@mumoshu this looks like a similar aim to your etcdadm script. Managed etcd bootstrap, backup, and recovery outside of k8s.
https://github.com/kopeio/etcd-manager
What we have works well, and I don't know that this is useful to us, but I thought you'd be interested.

kops will supporting this in 1.9 apparently.

Thx for the info! I did read it and I believe kube-aws should eventually rely on a real app like etcd-manager for managing etcd.
However, from a practioner's perspective etcdadm is sadly better (yet). It doesn't have any of noted shortcomings of etcd-manager except the last one of
easy way to manually trigger disaster recovery process.
I wish I could get more time to contribute it or someone enhances it with knowledges gained from etcdadm!


Please bump fastapi to version .112

Fixed in v<IP_ADDRESS>.
You can find it on PyPI: https://pypi.org/project/fastapi-discord/<IP_ADDRESS>/

Thank you!


Improve RaygunEnvironmentMessage with more data

Currently some parameters are not set, like cpu, architecture, etc. See if there's a way to improve that.

Some parameters aren't available on Flutter. Leaving this open for reference.


Cannot read property 'valid' of undefined

When i use select.
onChange event I get this error in log.
**Cannot read property 'valid' of undefined**

Select type can use only native select element right?
I use it with Material-UI React, And not work!

@wsmd I'm undergoing the same struggles when trying to implement this with @material-ui/core/Slider - no matter which input type I use (range seems the most appropriate), there appears to be a problem with how the refs are handled, or the onChange signature or something...


Update make-in-memory-store.ts

I've just tested with this PR and got the following error:
backend\node_modules\@whiskeysockets\baileys\lib\Store\make-in-memory-store.js:143
ttrs.hash

TypeError: Cannot read properties of undefined (reading '0')
at EventEmitter.<anonymous> (\backend\node_modules\@whiskeysockets\baileys\lib\Store\make-in-memory-store.js:143:86)

I have a similar error
/node_modules/@adiwajshing/baileys/lib/Store/make-in-memory-store.js:157
                Object.assign(contacts[update.id], contact);
                       ^

TypeError: Cannot convert undefined or null to object
    at Function.assign (<anonymous>)
    at EventEmitter.<anonymous> (/home/ubuntu/buck-bot-on/node_modules/@adiwajshing/baileys/lib/Store/make-in-memory-store.js:157:24)


⚠ API has degraded performance

In d23f230, API ($ZESTY_API) experienced degraded performance:

HTTP code: 403
Response time: 1264 ms

Resolved: API performance has improved in b17ae66.


Erroneous comment detection in Haskell

(Original issue 975 created by None on 2014-04-19T22:28:31.861039+00:00)
Haskell allows operator names to contain --, the comment sequence. In most cases these are handled correctly. However, when these operators appear in import lists, they're treated as comments.
Sample: https://gist.github.com/trillioneyes/11088670

(Original issue 975 last updated on 2014-04-22T08:14:26.478867+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by jaingaurav2 on 2014-04-20T02:57:40.120358+00:00)
Pull request #331 should address this

(Original comment by birkenfeld on 2014-04-22T08:14:26.498946+00:00)
merged


Login shell after install

Otherwise these files are not sourced:

/etc/zprofile
~/.zprofile
/etc/zlogin
~/.zlogin
~/.zlogout
/etc/zlogout

Which can cause confusion.

Thanks, added to the list of problems at #5169.

This is a bit tricky. If I were coming from Bash and had never used Zsh, then I would not have any user ~/.z* files (probably) except the system might have some /etc/z* files like macOS:
bash$ cat /etc/zprofile

# system-wide environment settings for zsh(1)
if [ -x /usr/libexec/path_helper ]; then
       	eval `/usr/libexec/path_helper -s`
fi

Which may or may not make sense to tack on to a bash session's already existing $PATH.
bash$ cat /etc/zshrc

# Correctly display UTF-8 with combining characters.
if [ "$TERM_PROGRAM" = "Apple_Terminal" ]; then
       	setopt combiningchars
fi

Which probably would make sense to include in a new Zsh session.
So, really what should be done is if we're in a Zsh session, then env zsh but if we're in any other shell session (like Bash) then we should do env zsh -l.

Or perhaps whether chsh succeeded or not could have some bearing on whether to use -l or not.
If this is going to be the user's new login shell (chsh succeeded), then we should probably emulate the login case from the start by using zsh -l.
Otherwise, zsh will never be opened as a login shell by the system, and most users will probably invoke it like zsh, not zsh -l.

Another possibility if invoking a Zsh from within another Zsh is to do it like this zsh -$-.
This would preserve the settings of the user's current shell (would only make sense if current shell is Zsh)

Inside of a script, -$- is the script shell's options, so not very useful unless the installation paradigm involves using source.

Another reason not to use -$-: Since OMZ turns zsh options on and off, it would probably want a clean slate to work with.

@leoj3n could you link me to some docs regarding zsh -$-? I'm having trouble googling it

@AlJohri
❯ echo zsh -$-
zsh -03459CDEJNQRTVWXZghilms

@mcornella Since you merged this, you might also consider merging https://github.com/robbyrussell/oh-my-zsh/pull/5320


Some updated maps have zero values for downloadCount, upVotes and downVotes

Another find from working with the API, the following maps have been recommended on BSaber, but have wrong stats (zero downloads/upvotes/downvotes):

https://beatsaver.com/browse/detail/17476-19008
https://beatsaver.com/browse/detail/12019-12828
https://beatsaver.com/browse/detail/11668-12524
https://beatsaver.com/browse/detail/11713-12463
https://beatsaver.com/browse/detail/11623-12362
https://beatsaver.com/browse/detail/11290-11978
https://beatsaver.com/browse/detail/10903-11522
https://beatsaver.com/browse/detail/10789-11377
https://beatsaver.com/browse/detail/9969-10439
https://beatsaver.com/browse/detail/9396-9730
https://beatsaver.com/browse/detail/8675-8860
https://beatsaver.com/browse/detail/6489-6103
https://beatsaver.com/browse/detail/642-413
https://beatsaver.com/browse/detail/3331-2397 (this one wasn't recommended, but I think it has the same issue)

This issue may be connected to #83, but I'm not sure.

Interestingly, these maps displayed zero values 20 minutes ago, but now are fine:

https://beatsaver.com/browse/detail/17468-19024
https://beatsaver.com/browse/detail/17186-18691 (25 downloads and 1 like on a Joetastic map, wtf?)

I seem to have found a way to fix these zero values on the front-end:

List all maps by user, e.g. https://beatsaver.com/browse/byuser/7650
Find the page with this bugged map, click on it
Now the values are displayed fine (for a while, because they turn to zeros again after some time)


need to revert or fix

https://github.com/twosigma/beaker-notebook/pull/4652
vladimir says:
I opened 'Python' tutorial from Languages Demos. Then run cell with table, and run cell with plot. When I run last cell with plot that sometimes failed and plot didn't appear. I have run this cell 10 times and it worked 5 from 10 times.

https://github.com/twosigma/beaker-notebook/pull/4660


Add logs for requests

For easier debugging, it would be nice to add logs on each request. I think Net::HTTP#set_debug_output can be used. A logger argument can be passed on initialization of the client and this can be added after the initialization of Net::HTTP in X::Connection#initialize :
@http_client.set_debug_output(logger)

PS: I love the job you did. This gem is very clean. Thanks a lot.

Thank you for the feature suggestion and the kind words. I will work on implementing this now.


[atip-android] add uiautomator finding relative object steps

add uiautomator finding relative object steps

@Honry please review it.


Too many requests to pypi.org

Apparently we are spamming pypi.org with requests for package data. We should reduce/throttle/whatever we need to do to reduce these.
In theory, we should only be requesting data for visible packages. Perhaps that has broken with the accessibility work?

👍

Just as an FYI, we do have Cache-Control, ETag, and Last-Modified headers on these URLs and so you should be able to both cache and do conditional GETs against them to reduce the load as well. (I'm assuming that's not the issue here, but just as an additional FYI).

Something interesting I just noticed that might help you debug this: I just turned off pypi.org for a couple of minutes (it was returning a 503 error). It's back on, but that seems to have completely stopped the deluge of requests. In the graph below, pypi.org was serving a 503 from approximately where you see the # of requests take a nose dive until approximately where the line is. After that point is was serving responses again correctly.

I could be completely off base, but this seems like possibly some sort of loop or something that is checking for a successful return but the conditional is inverted or something. I don't know your code at all but I thought this might be useful information to figuring it out.

Once again, I suspect @crwilcox and his bot (or possibly someone else's bot) is spamming and apparently not handling 503 correctly :) IIRC, @takluyver was also running a script to gather metadata, so maybe his broke?
The code we have in VS is running on client machines, so if they're all spamming pypi it's going to look like an attempted DDoS and should have restarted after that line. Having the UA string will help be certain, but in any case I do intend to look into why we're making as many requests as we are (once I finish dealing with the fallout of an office relocation...)

FWIW it has ramped back up again since then (now up to 1500 req/s, not near the 7000 req/s we were getting before, but almost as much as real PyPI's 2000 req/s). It was uh, like 10 different IP addresses, with a plurality belonging to Microsoft but some random home ISPs too and some finacial services company. So not exactly a highly distributed DDoS, but not a single machine either.
Let me know I can expect the UA to start showing up and I can track the requests at that point to see if they stay UA-less or if they start shifting over to the UA you add.

Also no rush! The requests are highly cacheable so it's not really affecting Warehouse itself, it's just adding more load to our donation from Fastly (though since they are cacheable, I suspect less load then if they were not).

The UA won't show up for weeks to months, unfortunately. We're basically boxed software, so it's a slow release cycle (or users get too many "you need to restart VS now" prompts and start ignoring them). Which also means the problem will slow down just as slowly.
Can you email me the Microsoft IP addresses? I might be able to track down the specific machines that way and see what they are (e.g. CI machines vs. desktops vs. etc.)

@zooba Yea I figured, but I also assumed that some folks are going to running master or something (though I could be wrong!) and we'd see some requests start to come in following a similar pattern (or a different pattern to rule out).

IIRC, @takluyver was also running a script to gather metadata,

I was thinking about this, but not running it at any scale. @LuisAlejandro's PyPIContents project is something similar to what I was thinking - that uses Travis CI to collect the data.


[Proposal] Show custom node groups in the library pane

Feature/enhancement description:

Saving and reusing custom node groups is cool, but finding them only in the Tools>create menu is a little cumbersome.
Could it be possible to add a new section in the library, listing the user created .mmg files, while using a similarly named .png file as a custom thumbnail? This should use the same searching/filtering/drag-drop functionality as standard nodes.

Doing this would add many unsorted duplicates to the library. All nodes you want to access easily should be added to the library (using the "Add selected node to user library" menu entry).
I planned to:

allow directory hierarchies for mmg files and mmg files in the user directory
allow several libraries and make them a lot easier to create/modify

Libraries stuff has been added in 0.95


Add runners with 'choose-time' arguments

Add runners that have arguments which are defined at 'choose time' and saved to the cache.
I want to set this up as a templating type thing, probably with {{myvar}} and then a dictionary of variables stored in the toml. We can parse what variables are required at choose time, when a runner is chosen, so this does not incur a significant performance overhead

closed by #19


Operators in orderBy

Is there any way to do something like this without using raw? Every SQL dialect I've used has supported the SQL equivalent.
query.orderBy("column", "=", "X")

What does that do? Put the ones that evaluate to true first in arbitrary order and the rest after, again in arbitrary order? I don't think that's really a common use case.

Yes it sorts by the results of the expression. For example right now I'm trying to select from a table, but show a certain set of items first, before applying my regular ordering. Since I'm using offset and limit and it can be a very large table (100K+ rows), there's not really another good way to do it. Would look something like this:
query.orderBy(eb => eb.condition("id", "in", selectedItems), "desc").orderBy("otherColumn")
Not the most common, but not extremely rare either, I've seen similar logic on a few projects.
But really this is not just about orderBy but ExpressionBuilder, I think it would make sense to have the ability to cleanly do a condition off of an ExpressionBuilder, since every SQL engine I've ever used considers a condition an expression just the same as a function, subquery, column reference, etc, all of which ExpressionBuilder currently supports.
query.orderBy(eb => eb.condition("column", "=", "value"))
query.select(eb => eb.condition("column", "=", "value"))
query.distinctOn(eb => eb.condition("column", "=", "value"))
query.groupBy(eb => eb.condition("column", "=", "value"))
query.where("column", "=", eb => eb.condition("otherColumn", "=", "value"))

It would only make sense to add something like that if it was more common than any other expression in the world. I don't think it is.

What would this do
query.where("column", "=", eb => eb.condition("otherColumn", "=", "value"))

it would only make sense if that compiled into
column = (otherColumn = $1)

which would only make sense for boolean columns.

It would only make sense to add something like that if it was more common than any other expression in the world. I don't think it is.

Not quite sure what you mean by if it was more common than any other expression in the world?
Going back to ORDER BY specifically though, have you ever used ORDER BY CASE? Not an obscure thing, lots of use cases for that, and many of the simpler ones (where another column is not referenced with the THEN clause) are accomplished by ordering by an expression, or more likely multiple expressions. There is also SELECT CASE which works similarly - however simple boolean expressions do not typically fill the gap as well for those use cases.
https://stackoverflow.com/search?q=sql+order+by+case
Simple example:
ORDER BY CASE
WHEN status = "published" THEN 1
WHEN status = "private" THEN 2
WHEN status = "draft" THEN 3

Expression equivalent:
ORDER BY status = "published", status = "private", status = "draft"

which would only make sense for boolean columns.

Yeah this one is an unlikely example for real world use. Was just trying to think of all the areas where ExpressionBuilder was used, thought one of them might jump out.


chore: upgrade deps to latest versions

I know ibrowse is blocking, any change we can upgrade it separately and let everything else go through?

Why not using Dependabot?

Yeah, that is the intent long-term!


cargo: unbreak aarch64 build

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build fd

Success on x86_64-darwin (full log)
Partial log (click to expand)
these paths will be fetched (0.72 MiB download, 2.89 MiB unpacked):
  /nix/store/wnlhm22skj3g6xyxvlz2vkk0c6qsh9y5-fd-6.3.0
copying path '/nix/store/wnlhm22skj3g6xyxvlz2vkk0c6qsh9y5-fd-6.3.0' from 'https://cache.nixos.org'...
/nix/store/wnlhm22skj3g6xyxvlz2vkk0c6qsh9y5-fd-6.3.0

Success on x86_64-linux (full log)
Partial log (click to expand)
these paths will be fetched (0.76 MiB download, 2.94 MiB unpacked):
  /nix/store/vv5ac2wmlv0s54xxng5vxd7p0kxyzfpm-fd-6.3.0
fetching path ‘/nix/store/vv5ac2wmlv0s54xxng5vxd7p0kxyzfpm-fd-6.3.0’...

*** Downloading ‘https://cache.nixos.org/nar/0cwgjzi6xmyz7my84r4dfaz62imxcgk04niac7bxfzzcy8q0xlpd.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/vv5ac2wmlv0s54xxng5vxd7p0kxyzfpm-fd-6.3.0’...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  778k  100  778k    0     0  1646k      0 --:--:-- --:--:-- --:--:-- 1642k

/nix/store/vv5ac2wmlv0s54xxng5vxd7p0kxyzfpm-fd-6.3.0

Success on x86_64-linux (full log)
Partial log (click to expand)
/nix/store/2cb6aa4vyhygvni4wgx0x6ryp7pk3p7k-cargo-0.24.0

Success on x86_64-darwin (full log)
Partial log (click to expand)
/nix/store/4cjr80x08063hqzkszxdxhyy2i03sx2z-cargo-0.24.0

Success on aarch64-linux (full log)
Partial log (click to expand)
/nix/store/617mpln011swd8ih2l9qgx7hakjzvwqp-cargo-0.24.0

Success on aarch64-linux (full log)
Partial log (click to expand)
these derivations will be built:
  /nix/store/ra9nrjxv4jq7xf7crprr21x4mmkcrp3i-fd-6.3.0.drv
waiting for locks or build slots...
/nix/store/hrkw35p5h0x3fkdp91nq3lwyny4y4rw6-fd-6.3.0

looks good to me.


Incorrect version for External Secrets Operator chart

Contact Details (optional)
<EMAIL_ADDRESS>Description. What happened?
While attempting to install the new 2.0.0 ESO-based version tf apply exited with an invalid helm chart version for external-secrets operator (7.2.1).
Steps to reproduce
Follow the instructions in the readme for a clean install.
Expected behavior
The module uses a supported version of the external-secrets-operator chart - I manually updated to _variables.tf to use 0.8.1
Actual behavior
It attempts to use version 7.2.1 ( which I think is the version for the old kubernetes-external-secrets chart? )
Occurrence
Frequently
Relevant log output
╷
│ Error: could not download chart: chart "external-secrets" version "7.2.1" not found in https://charts.external-secrets.io repository
│
│   with module.external-secrets.module.eks-external-secrets.helm_release.external_secrets[0],
│   on .terraform/modules/external-secrets.eks-external-secrets/helm.tf line 1, in resource "helm_release" "external_secrets":
│    1: resource "helm_release" "external_secrets" {
│
╵

Code of Conduct

[X] I agree to follow this project's Code of Conduct

https://github.com/DNXLabs/terraform-aws-eks-external-secrets/pull/13


Idea for Overview

Hi, I have an idea for planned overview page.
I would like to use TaskBoard for my personal projects (one board one project) and I would like to see some overall progress on all projects. Maybe something similar to how github displays milestone issues.

It is psychologically very rewarding to see some progress.. that is why people like to check their todo as done and get the little dopamine shot.
I am aware that kanban boards may have different columns, so maybe just show percentage of tasks in each column? And progressbar devided into sections by this percentage? Would it be possible to specify color for some columns so that "done" could be green on that progressbar?
Or is it overkill?

I think that sounds do-able, and I agree that having a visual indicator like that would be nice to see.


Accommodate MP water for the HERMES data

Some modifications to accommodate MP water for the HERMES data

@HJZollner I suggest we test and accept the changes pertaining to accepting the water plot changes.
Less sure about the custom output folder for LCM raw files since it might break the existing LCModel integration (and would not comply with BIDS-style derivatives).
Also, need to not accept the GUI/SPMPath thing

Great! I quite like the idea. Also great to see that loading different sequence types seem to work fine. However, the combination of the subspectra into a single water file can be done using the function combine_water_subspecs and I am also not sure about the hasRef if case after combining the water subspectra (How does having an ecc reference affect the eddy current correction of the short-TE water spectrum?). Any chance you could supply me a test dataset @muhammadsaleh87 ?
Second @schorschinho about the integration of the LCM control file changes. We either want modeling of edited data to be fully integrated using the established functionalities for conventional data or we leave it up to the user to use their own scripts to do the LCModel analysis.
Will pull some of the changes after ISMRM.

Hi Helge:
Thanks for looking into this issue. I have attached the job file, and the
link to an example dataset (HERMES suppressed and MP unsuppressed data) is
below. This dataset also did not align NAA properly post-RobustSpecReg
(attached).
Link:
https://drive.google.com/drive/folders/1GcjlHFm_RFCDTyqSL9oDO6AhA1rYX79J?usp=sharing
Regards
Muhammad Saleh
On Wed, May 4, 2022 at 11:20 PM Helge @.***> wrote:

Great! I quite like the idea. Also great to see that loading different
sequence types seem to work fine. However, the combination of the
subspectra into a single water file can be done using the function
combine_water_subspecs and I am also not sure about the hasRef if case
after combining the water subspectra (How does having an ecc reference
affect the eddy current correction of the short-TE water spectrum?). Any
chance you could supply me a test dataset @muhammadsaleh87
https://github.com/muhammadsaleh87 ?
Second @schorschinho https://github.com/schorschinho about the
integration of the LCM control file changes. We either want modeling of
edited data to be fully integrated using the established functionalities
for conventional data or we leave it up to the user to use their own
scripts to do the LCModel analysis.
Will pull some of the changes after ISMRM.
—
Reply to this email directly, view it on GitHub
https://github.com/schorschinho/osprey/pull/401#issuecomment-1117987254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEY6OCZOIB6E7FTGSQP64SLVILZY7ANCNFSM5VCIEQEA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi Helge:
Both would be fantastic, especially the different fit ranges.
Thank you
Muhammad Saleh
On Fri, Jul 8, 2022 at 12:51 PM Helge @.***> wrote:

@.**** commented on this pull request.
We could potentially add an LCModel wrapper for edited data in the future.
In addition, we can integrate different fit ranges for different
sub-spectra in the new fit module.
—
Reply to this email directly, view it on GitHub
https://github.com/schorschinho/osprey/pull/401#pullrequestreview-1033163547,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEY6OCYLA5QB4QYCDPBJ2SDVTBMAPANCNFSM5VCIEQEA
.
You are receiving this because you were mentioned.Message ID:
@.***>


⚠ 2 Minutes de génie (staging) has degraded performance

In fb5fc91, 2 Minutes de génie (staging) (https://2mdgstaging.gitlab.io/) experienced degraded performance:

HTTP code: 502
Response time: 3169 ms

Resolved: 2 Minutes de génie (staging) performance has improved in 74e8b81.


Could not find "client" in the context of Apollo(MyComponent). Wrap the root component in an

I am getting this error while doing testing. I think it coming because I am testing a component which Query render props and one of child component is using useQuery and useMutation. Are they way to fix this ? or I have to convert that component into hooks/vice-versa

Hi @Enigma10
If you are testing a component that use useQuery or useMutation you need to wrap the component with the ApolloProvider. You can check an example here: https://github.com/trojanowski/react-apollo-hooks-sample-test/blob/master/src/tests/Hello-test.js
If I understood your case correctly you are using both: react-apollo and react-apollo-hooks at the same time so, I think you'll need to wrap your component with both providers. Check how to use the mock provider for react-apollo here: https://www.apollographql.com/docs/react/recipes/testing/

react apollo offers a MockedProvider - would it be an idea to add a MockedHooksProvider to this package?

I would like to second @antonbehaeghe's comment. We recently added this library to our codebase and the instances where we have I'm now unable to get a simple setup for React Storybooks. Previously we just used then MockedProvider.

@thenathanjones Here's a small workaround I use.
import React from 'react';
import { MockedProvider } from 'react-apollo/test-utils';
import { ApolloClient } from 'apollo-client';
import { ApolloProvider } from 'react-apollo-hooks';
import { InMemoryCache } from 'apollo-cache-inmemory';
import { MockLink } from 'apollo-link-mock';

function MockedHooksProvider(props) {
  function createClient(m) {
    return new ApolloClient({
      cache: new InMemoryCache(),
      link: new MockLink(m),
    });
  }

  const client = createClient(props.mocks);

  return (
    <MockedProvider mocks={props.mocks}>
      <ApolloProvider client={client}>{props.children}</ApolloProvider>
    </MockedProvider>
  );
}

export default MockedHooksProvider;

Thanks @antonbehaeghe. I was about to write the same thing!

FYI, if you are on react-apollo versions 2.5.3 or higher and getting this error, you may be experiencing this: https://github.com/apollographql/react-apollo/issues/2900. Downgrading to 2.5.2 solved it for me. It may not be related, but since this issue comes up when I search for that error, I thought I'd pass it along in case it helps someone.

I have downgraded to 2.5.2 and still have the same error, let me know if I can provide any additional information

I am also experiencing this issue even after downgrading to 2.5.2.
My root component is wrapped in  and the component in which I use the useQuery hook I export as withApollo().
I have tried quite a few of the suggested "solutions" that appear to work for some others, but really none of these are working for me.
Getting a little bothered by this as I would really like to be able to use the useQuery hook.

I am closing this as this library is deprecated and react-apollo have hooks now.


Fix size_t/int issues in man pages.

Yes, this is an issue.  See https://github.com/Juniper/libxo/blob/master/libxo/xo.h#L129: https://github.com/Juniper/libxo/blob/master/libxo/xo.h#L129:
/*

Early versions of the API used "int" instead of "size_t" for buffer
sizes.  We want to fix this but allow for backwards compatibility
where needed.
/
#ifdef USE_INT_RETURN_CODES
typedef int xo_ssize_t;         / Buffer size /
#else / USE_INT_RETURN_CODES /
typedef ssize_t xo_ssize_t;     / Buffer size /
#endif / USE_INT_RETURN_CODES */

This is similar in function, but designed to address backward compatibility.
Thanks,
Phil

On Dec 4, 2018, at 8:50 AM, Edward Tomasz Napierała<EMAIL_ADDRESS>wrote:
You can view, comment on, or merge this pull request online at:
https://github.com/Juniper/libxo/pull/63 https://github.com/Juniper/libxo/pull/63
Commit Summary
Fix size_t/int issues in man pages.
File Changes
M libxo/xo_attr.3 https://github.com/Juniper/libxo/pull/63/files#diff-0 (6)
M libxo/xo_emit.3 https://github.com/Juniper/libxo/pull/63/files#diff-1 (6)
M libxo/xo_emit_f.3 https://github.com/Juniper/libxo/pull/63/files#diff-2 (6)
M libxo/xo_finish.3 https://github.com/Juniper/libxo/pull/63/files#diff-3 (4)
M libxo/xo_flush.3 https://github.com/Juniper/libxo/pull/63/files#diff-4 (4)
M libxo/xo_open_container.3 https://github.com/Juniper/libxo/pull/63/files#diff-5 (16)
M libxo/xo_open_list.3 https://github.com/Juniper/libxo/pull/63/files#diff-6 (32)
M libxo/xo_open_marker.3 https://github.com/Juniper/libxo/pull/63/files#diff-7 (10)
M libxo/xo_set_writer.3 https://github.com/Juniper/libxo/pull/63/files#diff-8 (2)
Patch Links:
https://github.com/Juniper/libxo/pull/63.patch https://github.com/Juniper/libxo/pull/63.patch
https://github.com/Juniper/libxo/pull/63.diff https://github.com/Juniper/libxo/pull/63.diff
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/Juniper/libxo/pull/63, or mute the thread https://github.com/notifications/unsubscribe-auth/ACLkOKCOAQkxd0TtBTYuJqG9-Vqz2m8Gks5u1n2ugaJpZM4ZAsal.

Yeah.  Still, do we need to mention that backward compatibility in the man pages?

Yup, I need fix the man pages to use the new type.  I’ll try to finish it off this week.
Thanks,
Phil

On Dec 5, 2018, at 8:33 AM, Edward Tomasz Napierała<EMAIL_ADDRESS>wrote:
Yeah. Still, do we need to mention that backward compatibility in the man pages?

Does it mean I've missed some?

Just checked in the xo_ssize_t under 638d6ba..324b055 and will spin a later tonight (after CI testing).
https://github.com/Juniper/libxo/commit/c11c8d207221d56e0edb1daf90e256954e1b32f2 https://github.com/Juniper/libxo/commit/c11c8d207221d56e0edb1daf90e256954e1b32f2
Please let me know what you think.
Thanks,
Phil

On Dec 10, 2018, at 7:28 AM, Edward Tomasz Napierała<EMAIL_ADDRESS>wrote:
To ask another way: is there something I should do to this PR to get it merged?

fixed


Add support for shared workers

Title sums it up. This adds support for SharedWorker. The API is the same. Tests were added too.

@googlebot I signed it!

@developit any chance you could take a look? Thanks.

This would be great to have merged @developit :+1:

Any plans to merge this? @developit  Happy to help incase there is an issue and needs to be fixed. This will help us out in a few projects


Set order is not always maintained when modifying with produce

🐛 Bug Report
When adding to a Set with produce, the insertion order is not maintained when the original Set contains a draftable object.
Link to repro
See #820 for a failing test (copied below)
it("maintains order when adding", () => {
  const objs = [
    {
      id: "a"
    },
    {
      id: "b"
    }
  ]

  const set = new Set([objs[0]])
  const newSet = produce(set, draft => {
    draft.add(objs[1])
  })

  expect(Array.from(newSet)).toEqual([objs[0], objs[1]])
})

To Reproduce
Run the "maintains order when adding" test in the "set drafts" section of __tests__/base.js.
Observed behavior
After adding a second object to the Set with produce, it is ordered before the original first object in the Set.
Expected behavior
{ id: 'b' } should appear after { id: 'a' } when iterating through newSet, matching the behavior of a normal mutation-based update.
Debugging Observations
As mentioned above, I've only noticed this in the situation where the original Set (pre-produce) contains a draftable object. For example, this test passes:
it("maintains order when adding", () => {
  const objs = [
    "a",
    {
      id: "b"
    }
  ]

  const set = new Set([objs[0]])
  const newSet = produce(set, draft => {
    draft.add(objs[1])
  })

  // passes
  expect(Array.from(newSet)).toEqual([objs[0], objs[1]])
})

but the opposite does not:
it("maintains order when adding", () => {
  const objs = [
    {
      id: "a"
    },
    "b"
  ]

  const set = new Set([objs[0]])
  const newSet = produce(set, draft => {
    draft.add(objs[1])
  })

  // does not pass
  expect(Array.from(newSet)).toEqual([objs[0], objs[1]])
})

Possible Root Cause
(take all of this with a grain of salt - my first time digging into the repo 😅 )
After a bit of digging, this function seems to be causing the order change during finalize:
https://github.com/immerjs/immer/blob/dc3f66cdea53fd5a8c814924bfafa9f6b53c9c62/src/utils/common.ts#L131-L138
finalizeProperty is called on both objects (Draft of { id: 'a' } and vanilla object { id: 'b' }). On the first call, the Draft is converted back to a vanilla object and the Set value is replaced:
https://github.com/immerjs/immer/blob/dc3f66cdea53fd5a8c814924bfafa9f6b53c9c62/src/core/finalize.ts#L130-L131
Since Set values can't be directly updated, set deletes the previous version (Draft of { id: 'a' }) and adds the new version (vanilla object), ultimately breaking the original order.
Environment
We only accept bug reports against the latest Immer version.

Immer version: v9.0.3
[x] I filed this report against the latest version of Immer
[x] Occurs with setUseProxies(true)
[x] Occurs with setUseProxies(false) (ES5 only)

This appears to have been introduced in v5.2.0 which contains a rewrite of the Map and Set implementations, though I've only been able to test on v5.2.1 due to #502

Is this a reasonable expectation? My expectation is that Sets and Maps are unordered.

I originally thought that as well, though according to MDN Sets and Maps indeed should maintain order:

Set objects are collections of values. You can iterate through the elements of a set in insertion order.

imo this is something Immer should either try to adhere to or explicitly make a note of.

hey, bro, check this online example
https://codesandbox.io/s/limu-case-3-b1i32w?file=/src/index.js
it shows what you want ^_^

btw, limu is a faster immutable lib

I'm not sure this is an issue since immer doesn't guarantee "optimal" patches, but I found some weirdness with patch output that may be related to the problematic set replacement you found.
When you have a set inside of a set, and add to the deeper set, instead of a single patch reflecting the add to the deeper set, you get two patches, one removing the deeper set, and one adding it back with the new value appended.
   it("creates a single add op when adding to a set", () => {
        const originalSet = new Set(["a", "b"])

        const [newSet, patches,] = produceWithPatches(originalSet, draft => {
            draft.add("c")
        })

        const expectedResultingSet = new Set(["a", "b", "c"])

        // passes
        expect(newSet).to.deep.equal(expectedResultingSet)

        const expectedPatches = [{ op: "add", path: [2], value: "c" }]

        // passes
        expect(patches).to.deep.equal(expectedPatches)
    })

    it("creates a single add op when adding to a set inside a set", () => {
        const originalSetOfSets = new Set([
            new Set(["a", "b"]),
        ])

        const [newSetOfSets, patches,] = produceWithPatches(originalSetOfSets, draft => {
            [...draft][0].add("c")
        })

        const expectedResultingSetOfSets = new Set([
            new Set(["a", "b", "c"]),
        ])

        // passes
        expect(newSetOfSets).to.deep.equal(expectedResultingSetOfSets)

        // Given the patch the previous test produced
        // I would expect this one to produce the following patch but it doesn't

        const expectedPatches = [{ op: "add", path: [0, 2], value: "c" }]

        // fails
        expect(patches).to.deep.equal(expectedPatches)

        /* Actual patches produced
            [
                { op: "remove", path: [0], value: Set(["a", "b"]) },
                { op: "add", path: [0], value: Set(["a", "b", "c"]) }
            ]
        */
    })


winpty should hide terminal cursor if console cursor is hidden (GetConsoleCursorInfo)

I think winpty should query GetConsoleCursorInfo and hide the terminal cursor if the Windows cursor is hidden.  The issue shows up in Far Manager after using F3 to view a file.  winpty already hides and shows the terminal cursor, but only for the duration of an update.

I implemented this in commit https://github.com/rprichard/winpty/commit/982e8051a5642930ccee0d2aa94927902a88a197, and it works for the legacy console, but not in the new Windows 10 console.  For some reason, GetConsoleCursorInfo seems to report wrong values for the new console.


PKCS7_verify fails when pkcs7/smime contains additional intermediate certificates

When we switched to OpenSSL 1.1.0c (from 1.0.2j), all of a sudden a part of our code that verifies the signature of a specific type of PKCS7 message no longer can verify the trust of the signer certificate.
The PKCS7 contains the signer certificate, plus two additional intermediate CA certificates (aka untrusted CA certs), our code provides the root CA certificate as a trusted certificate in the "store" param to PKCS7_verify().
This used to work and IMHO, the documentation can be read to allow this scenario, since the complete chain of certificates is given by the

signer certificate from the PKCS7
two intermediate CA certs from the PKCS7
the root CA cert as a trusted certificate

These 4 certs are form a signing chain and root in the trusted root CA.
This worked in OpenSSL 0.9.7 through 1.0.2, but with 1.1.0, this no longer works, because apparently, the intermediate CA certs are no longer taken into account:
when I provide them as additional chain certs in the "certs" parameter to PKCS7_verify() , the verification works.
(However, this seems unnecessary, since PKCS7_verify() is documented to do exactly this if I don't pass the PKCS7_NOINTERN or PKCS7_NOCHAIN options).
My knowledge and understanding of the OpenSSL code is not nearly enough to be able to really determine whether this change is intended, but when I debugged with the 1.1.0 code I found the following:
find_issuer() in 1.1.0 (called from within build_chain())  calls x509_check_cert_time() when it finds an issuer certificate in the (untrusted) X509 stack. However, in this case, it passes -1 for the "depth" parameter, which causes our verification callback NOT to be called for this certificate.
As it happens, the specific PKCS7 blob we get from a physical device contains an expired intermediate certificate (which we cannot influence, since this intermediate certificate is embedded in the device hardware, so we have a verification callback that specifically allows expired certificates).
As I said, I don't have enough knowledge of the OpenSSL code to judge whether this situation was prevented deliberately (for security concerns) or whether it's just a regression. Also I wouldn't know how / where the appropriate fix should be done, so I didn't attempt to include a patch.
I have attached a sample PKCS7 blob and the root CA we use as pkcs7_verify issue.zip - this should be sufficient to reproduce the problem. The code we use to call PKCS7_verify() is essentially something like this:
PKCS7* p7 = d2i_PKCS7_bio(pkcs7Bio, NULL); // pkcs7Bio is a BIO reading from the pkcs7Blob file
X509_STORE* rootStore = X509_STORE_new();
X509_STORE_add_cert(rootStore, rootCACert); // rootCACert is an X509* read from the "RootCA.pem" file
BIO* contentDataBio = BIO_new(BIO_s_mem());
X509_VERIFY_PARAM_set_flags(X509_STORE_get0_param(rootStore), X509_V_FLAG_CB_ISSUER_CHECK);
X509_STORE_set_verify_cb(rootStore, acceptExpiredCertsVerificationCallback); // acceptExpiredCertsVerificationCallback essentially just ignores X509_V_ERR_CERT_HAS_EXPIRED errors
X509_STORE_set_purpose(rootStore, X509_PURPOSE_ANY);
PKCS7_verify(p7, NULL, rootStore, NULL, contentDataBio, 0 ); // fails with "unable to get local issuer certificate" in 1.1.0c, succeeds in 1.0.2j

The attached archive pkcs7_verify issue.zip also contains a source file "repro.c" that compiles against OpenSSL 1.0.2 and OpenSSL 1.1.0 that reproduces the issue with OpenSSL 1.1.0c (just run the compiled executable with two arguments: first one is the path to data.pkcs7, second one is the path to RootCA.pem.

This regression appears to have been introduced with commit 70dd3c6593d87e4cbb56b485717cb2cfff730f3e ("Tidy up x509_vfy callback handling")...

Ping @vdukhovni.

I confirm this issue is happening with our end as well, we just switched to 1.1.0c from 1.0.2h and suddenly the verification doesn't work. The verify callback is never called for expired intermediate certificate where we provide additional timestamp and counter signature verification there.
Besides PKCS7_verify, the X509_STORE_CTX_get_chain, X509_verify_cert is also affected.
With X509_STORE_CTX_get_chain, we got only a signer and X509_verify_cert has the same issue as PKCS7_verify.

I'll take a look

Looking at the two changes noted, the logic is that when selecting certificates and encountering an expired issuer certificate we  keep going and try find a non-expired one, if at all possible.  The expired issuer is however saved, and ultimately returned if nothing better is found.  Therefore no callback should be made, since we may erroneously report an error that turns out to be irrelevant.  So those commits are fine, and are not the cause of the reported symptoms.
Mind you, if folks want to skip expiration checks, instead of callbacks, they should just set X509_V_FLAG_NO_CHECK_TIME.
The actual cause is fbb82a6 which changed find_issuer (which looks for untrusted certifictates from the peer, rather than locally stored certs) to not return an expired untrusted issuer as a last resort, in the hope that the trust store may contain suitable issuers that are not expired!  However, since we're now doing "trusted-first" unconditionally, if we're searching the untrusted store then that's the only possible source of a possible issuer.  So a revert to previous behaviour of find_issuer is likely in order, PR coming up...

Created PR #2004 which should fix this for 1.1.0-stable.  The same change should then also be made in master.

Thanks, I can confirm that PR https://github.com/openssl/openssl/pull/2004 works for us in the actual product.

Reopening, pending integration of https://github.com/openssl/openssl/pull/2004, https://github.com/openssl/openssl/pull/2005

PRs #2004 and #2005 are now merged. Thanks for the report. Closing.


embed: not support | or full-width symbol file name

What version of Go are you using (go version)?

$ go version
go version go1.16 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="off"
GOARCH="amd64"
GOBIN="/root/go/bin"
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/go"
GOPRIVATE=""
GOPROXY="https://goproxy.io"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build162353995=/tmp/go-build -gno-record-gcc-switches"

What did you do?
my directory test tree is:
├── 00|00.test
└── test

0 directories, 2 files

but the fs.ReadDir() only returns single file: test.
the code is:
//go:embed test
var efs embed.FS

func main() {
    efps, _ := efs.ReadDir("test")
    for _, efp := range efps {
        fmt.Println(efp.Name())
    }
}

What did you expect to see?
like os.ReadDir(), want two files return(return all files).
What did you see instead?
Just return single file: test.

it seems like the | can not pass the function isBadEmbedName

I edit the source code of go in src/cmd/go/internal/load/pkg.go.I comment the logic module.CheckFilePath() in isBadEmbedName function line 2095-2097 and it works~
But I think it's not  appropriatly.

@rsc Are there any way to support some special symbol by appropriate way?

@Mrliu8023
Is there any reason that the name of the directory has to be 00|00.test? To me, a name like, e.g. 00_00.test seems to be just as useful and less obscure.

The go command correctly reports an error for this file, but we should improve the error message and the embed documentation to explain why.
Currently the documentation says:

Patterns must not match files outside the package's module, such as ‘.git/*’ or symbolic links. Matches for empty directories are ignored. After that, each pattern in a //go:embed line must match at least one file or non-empty directory.

A file named 00|00.test cannot be included in a module because it contains characters that are meaningful to the shell. That's what module.CheckFilePath is checking. Its documentation explains the restrictions.

CheckFilePath checks that a slash-separated file path is valid. The definition of a valid file path is the same as the definition of a valid import path except that the set of allowed characters is larger: all Unicode letters, ASCII digits, the ASCII space character (U+0020), and the ASCII punctuation characters “!#$%&()+,-.=@[]^_{}~”. (The excluded punctuation characters, " * < > ? ` ' | / \ and :, have special meanings in certain shells or operating systems.)

//go:embed can't match files that aren't part of a module because packages would include different sets of files depending on whether they were built as part of the main module or a dependency.

@Mrliu8023
Is there any reason that the name of the directory has to be 00|00.test? To me, a name like, e.g. 00_00.test seems to be just as useful and less obscure.

Because i can't control the input of users. Might I need give more information in my document.

The go command correctly reports an error for this file, but we should improve the error message and the embed documentation to explain why.
Currently the documentation says:

Patterns must not match files outside the package's module, such as ‘.git/*’ or symbolic links. Matches for empty directories are ignored. After that, each pattern in a //go:embed line must match at least one file or non-empty directory.

A file named 00|00.test cannot be included in a module because it contains characters that are meaningful to the shell. That's what module.CheckFilePath is checking. Its documentation explains the restrictions.

CheckFilePath checks that a slash-separated file path is valid. The definition of a valid file path is the same as the definition of a valid import path except that the set of allowed characters is larger: all Unicode letters, ASCII digits, the ASCII space character (U+0020), and the ASCII punctuation characters “!#$%&()+,-.=@[]^_{}~”. (The excluded punctuation characters, " * < > ? ` ' | / \ and :, have special meanings in certain shells or operating systems.)

//go:embed can't match files that aren't part of a module because packages would include different sets of files depending on whether they were built as part of the main module or a dependency.

Yes.The embed files should have the same rule with .go files.


Use java.io.tmpdir instead of hardcoded /tmp

This was submitted earlier in PR #884 but that did not merge
properly.
This is a new PR with the same change.

this lgtm but I am not running on any windows machines. @wido do you remember who the people that were bothered were and can you ping thm to verify?
basically we can ignore each and any verification that we have (semi) automate so far for this PR

@DaanHoogland I think it was @SudharmaJain
As long as the build still works on Linux/Mac we didn't break anything. I'm positive it's now also fixed on Windows.
There are still many places in CS where we refer to /tmp directly and we probably want to use java.io.tmpdir to give admins flexibility if they want to.

Tested and that is not working on Windows.
I remember having fixed that into a PR that @DaanHoogland submitted
@wido, to fix the problem for windows you have to:

In file “LocalTemplateDownloaderTest.java” change the line 34 to String url = new File("pom.xml").toURI().toURL().toString();
In file “LocalTemplateDownloader.java” change the line 41 to  String filename = new File(downloadUrl).getName();
That is all.

@rafaelweingartner Can you tell me what the output of java.io.tmpdir is on Windows?
I'll look into your comment

The value is different for each user; the JVM will return the value from %TEMP environment variable.
To give you an example, in my pc the returned value is: C:\Users\Rafael\AppData\Local\Temp\

I noticed you have already changed the code as a suggested.
I can give you now a LGTM.

for the record and again. LGTM I do not run a windows environment but since Rafael has tested and we have some contributors needing this to proceed; let's merge

This is already merged, I was running some tests. Documenting the results here just in case we have to look back at it:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_network.py

Result:
[root@cs1 MarvinLogs]# less test_network_NUVQG1/results.txt
Create a redundant VPC with two networks with two VMs in each network ... === TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | Status : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and check default routes ... === TestName: test_02_redundant_VPC_default_routes | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Stop existing router, add a PF rule and check we can access the VM ... === TestName: test_isolate_network_FW_PF_default_routes | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: test_RVR_Network_FW_PF_SSH_default_routes | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS ===
ok
Check the password file in the Router VM ... === TestName: test_isolate_network_password_server | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... === TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCCESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP_port80 | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS ===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS ===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS ===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS ===
ok
Test for port forwarding on source NAT ... === TestName: test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName: test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_2_nat_rule | Status : SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === TestName: test_network_rules_acquired_public_ip_3_Load_Balancer_Rule | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 29 tests in 12492.734s

OK

And:
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a tags=advanced,required_hardware=false \
smoke/test_routers.py \
smoke/test_network_acl.py \
smoke/test_privategw_acl.py \
smoke/test_reset_vm_on_reboot.py \
smoke/test_vm_life_cycle.py \
smoke/test_vpc_vpn.py \
smoke/test_service_offerings.py \
component/test_vpc_offerings.py \
component/test_vpc_routers.py

Result:
Test router internal advanced zone ... === TestName: test_02_router_internal_adv | Status : SUCCESS ===
ok
Test restart network ... === TestName: test_03_restart_network_cleanup | Status : SUCCESS ===
ok
Test router basic setup ... === TestName: test_05_router_basic | Status : SUCCESS ===
ok
Test router advanced setup ... === TestName: test_06_router_advanced | Status : SUCCESS ===
ok
Test stop router ... === TestName: test_07_stop_router | Status : SUCCESS ===
ok
Test start router ... === TestName: test_08_start_router | Status : SUCCESS ===
ok
Test reboot router ... === TestName: test_09_reboot_router | Status : SUCCESS ===
ok
test_privategw_acl (integration.smoke.test_privategw_acl.TestPrivateGwACL) ... === TestName: test_privategw_acl | Status : SUCCESS ===
ok
Test reset virtual machine on reboot ... === TestName: test_01_reset_vm_on_reboot | Status : SUCCESS ===
ok
Test advanced zone virtual router ... === TestName: test_advZoneVirtualRouter | Status : SUCCESS ===
ok
Test Deploy Virtual Machine ... === TestName: test_deploy_vm | Status : SUCCESS ===
ok
Test Multiple Deploy Virtual Machine ... === TestName: test_deploy_vm_multiple | Status : SUCCESS ===
ok
Test Stop Virtual Machine ... === TestName: test_01_stop_vm | Status : SUCCESS ===
ok
Test Start Virtual Machine ... === TestName: test_02_start_vm | Status : SUCCESS ===
ok
Test Reboot Virtual Machine ... === TestName: test_03_reboot_vm | Status : SUCCESS ===
ok
Test destroy Virtual Machine ... === TestName: test_06_destroy_vm | Status : SUCCESS ===
ok
Test recover Virtual Machine ... === TestName: test_07_restore_vm | Status : SUCCESS ===
ok
Test migrate VM ... === TestName: test_08_migrate_vm | Status : SUCCESS ===
ok
Test destroy(expunge) Virtual Machine ... === TestName: test_09_expunge_vm | Status : SUCCESS ===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn | Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS ===
ok
Test to create service offering ... === TestName: test_01_create_service_offering | Status : SUCCESS ===
ok
Test to update existing service offering ... === TestName: test_02_edit_service_offering | Status : SUCCESS ===
ok
Test to delete service offering ... === TestName: test_03_delete_service_offering | Status : SUCCESS ===
ok
Test for delete account ... === TestName: test_delete_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for admin account ... === TestName: test_public_ip_admin_account | Status : SUCCESS ===
ok
Test for Associate/Disassociate public IP address for user account ... === TestName: test_public_ip_user_account | Status : SUCCESS ===
ok
Test for release public IP address ... === TestName: test_releaseIP | Status : SUCCESS ===
ok
Test create VPC offering ... === TestName: test_01_create_vpc_offering | Status : SUCCESS ===
ok
Test VPC offering without load balancing service ... === TestName: test_03_vpc_off_without_lb | Status : SUCCESS ===
ok
Test VPC offering without static NAT service ... === TestName: test_04_vpc_off_without_static_nat | Status : SUCCESS ===
ok
Test VPC offering without port forwarding service ... === TestName: test_05_vpc_off_without_pf | Status : SUCCESS ===
ok
Test VPC offering with invalid services ... === TestName: test_06_vpc_off_invalid_services | Status : SUCCESS ===
ok
Test update VPC offering ... === TestName: test_07_update_vpc_off | Status : SUCCESS ===
ok
Test list VPC offering ... === TestName: test_08_list_vpc_off | Status : SUCCESS ===
ok
test_09_create_redundant_vpc_offering (integration.component.test_vpc_offerings.TestVPCOffering) ... === TestName: test_09_create_redundant_vpc_offering | Status : SUCCESS ===
ok
Test start/stop of router after addition of one guest network ... === TestName: test_01_start_stop_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test reboot of router after addition of one guest network ... === TestName: test_02_reboot_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to change service offering of router after addition of one guest network ... === TestName: test_04_chg_srv_off_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test destroy of router after addition of one guest network ... === TestName: test_05_destroy_router_after_addition_of_one_guest_network | Status : SUCCESS ===
ok
Test to stop and start router after creation of VPC ... === TestName: test_01_stop_start_router_after_creating_vpc | Status : SUCCESS ===
ok
Test to reboot the router after creating a VPC ... === TestName: test_02_reboot_router_after_creating_vpc | Status : SUCCESS ===
ok
Tests to change service offering of the Router after ... === TestName: test_04_change_service_offerring_vpc | Status : SUCCESS ===
ok
Test to destroy the router after creating a VPC ... === TestName: test_05_destroy_router_after_creating_vpc | Status : SUCCESS ===
ok

----------------------------------------------------------------------
Ran 44 tests in 8769.015s

OK


fix(deps): :ambulance: move axios to deps from devDeps

Fix #8

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Possible race condition

https://github.com/mguinness/syslog-framework-logging/blob/3be3f0808bf4bf922249d91cf9148a974ade1a01/src/Syslog.Framework.Logging/SyslogLogger.cs#L86
As per the line above, disposing the connection might lead to race conditions where the udp.sendasync wasn't already completed.
Maybe you could:
upd.SendAsync(msg).ContinueWith(s=> udp.Dispose());
Also, why can't you reuse the udp client? By creating a new udp client in every log request, you can easily cause issues with high garbage collection pressure.

If you submit a PR I'll merge and republish to nuget.

Fixed in PR https://github.com/mguinness/syslog-framework-logging/pull/5 by bbrewder.


Localize the Percent description

Localize implementation of CustomStringConvertible. See the https://github.com/sindresorhus/Percent/issues/1#issuecomment-539120299.

Thanks :)


Floating IPs provisioning UI

Adds controller actions using task queue
Adds new and edit views
https://bugzilla.redhat.com/show_bug.cgi?id=1394277

@miq-bot add_label euwe/yes

@martinpovolny, @himdel, @dclarizio, can you please review?

@gildub Can you please update the PR description with instructions where to find this functionality and a screenshot?

Accessed through the left navigation - Networks > Floating IPs

@himdel added the info, let me know if it helps!  I've tested this functionality successfully, so I think we're only really looking for code sanity.

Floating IP Address (optional)

So.. I'm a bit concerned about the address field being optional. In particular, @mansam has done changes to the UI in https://github.com/ManageIQ/manageiq/pull/12446 that depend on every floating ip having an address.
So how is this supposed to work? Is that a valid expectation, do the addresses get filled out during the task or something like that, or do we need that field to be required? (Sorry, I know nothing..)

Another thing, trying to save a new floating IP, I get an error that just says "Floating IP creation failed: Task start failed: ID [10000000088263]".
That's ..very unhelpful :) (What I'm seeing in the log is..., so we do have an actual error message we could show..)
[----] E, [2016-11-10T13:33:41.336507 #14977:2b0527c090d4] ERROR -- : excon.error     #<Excon::Error::Unauthorized: Expected([200, 204]) <=> Actual(401 Unauthorized)
excon.error.response
  :body          => "{\"error\": {\"message\": \"The request you have made requires authentication.\", \"code\": 401, \"title\": \"Unauthorized\"}}"
  :cookies       => [
  ]

@himdel,
A floating IP address from the pool would be automatically assigned unless provided.
I fixed the task error.

So.. another problem, similar to https://github.com/ManageIQ/manageiq/pull/12101#issuecomment-263303329

Go to /cloud_tenant/show/10000000000011?display=floating_ips (assuming such a tenant exists) - Compute > Clouds > Tenants - click a tenant detail, click on floating ips in the summary detail.
OR
Go to /network_port/show/10000000000389?display=floating_ips (same) - Networks > Network Ports - click on a port detail, click on floating ips in the summary detail.

pick any ip (checkbox)

do any of the new toolbar actions

No route matches {:action=>"layouts/flash_msg", :controller=>"network_port", :id=>nil} [network_port/button] (or similar)

@himdel,
I can see that issue.
I believe this is respectively a cloud tenant and a network_port controller issues because other controllers accessing the same page are responsible for it, isn't ?
That said I'm looking into it.

@himdel,
Ok, so from the UI endpoint, why when selecting the floating IP (whether from the cloud tenant or network port entry) we don't end up in the floating IP controller?
A "normal" work flow would be:
After the user selects the floating IP, having saved where the user is coming from to be able to go back if needed later, then the floating ip controller manages any changes, ultimately the user chooses to go back or go somewhere else.
But obviously we are on a different road, where a controller (such as cloud tenant or network port, from the example above) is managing the views it's not designed for. Unless there is some logic in those button I'm missing. If that the case could you please direct me to the related documentation or at least some good practice example.
Thanks

@dclarizio, any pointers please?

@gildub exactly, the solution is essentially to handle the button action in both places, redirecting to the right controller from the other one. Or sharing the code.
For example, for the edit action, just redirecting to the right URL is usually enough (except you may need something like javascript_redirect previous_breadcrumb_url when the form is saved and done (or cancelled)) so that you get back to the right place again.
As @martinpovolny said, we're currently in the process of refactoring this so .. it has to work .. but doesn't have to be perfect right now :).

@himdel,
It seems like this is an on-going discussion and the shared controller approach might not be the one to take.
@martinpovolny also suggested to minimize the impact by not having some button appear on the cross controller. Do you have details about how to do that. Sorry but I'm only a button consumer :)

@himdel,
It seems like this is an on-going discussion and the shared controller approach might not be the one to take.
@martinpovolny also suggested to minimize the impact by not having some button appear on the cross controller. Do you have details about how to do that?

also suggested to minimize the impact by not having some button appear on the cross controller. Do you have details about how to do that?

Can't make them not appear in one controller but yes in another. But what you can do is not add the button to the list toolbar but only to the detail toolbar. So they would not be present in either of the lists, but only in the detail screen.
And that is easy because those are separate toolbars (one is in plural, the other not) .. so you just not add it to the other one :).

shared controller approach might not be the one to take.

I was not proposing a shared controller, I was proposing exactly the opposite - redirecting those actions from the bad controller to the right one. (Similar to https://github.com/ManageIQ/manageiq/pull/12551/files#diff-68512128862e16616d93240055cb3a7dR77)

@himdel,
Oh sorry, I misunderstood you! Effectively #12551 is taking a redirect approach, that's music to me, well once the tricky filtering part is finished.
So I removed the buttons from the show list. I was hoping there was some flag available to do it in order to avoid loosing the feature. But that's okay until we have the cross controller issue addressed.
I've also replaced the button statements with a case as now that I can see a better road path with the buttons.

Associated BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1394277

@miq-bot add_label providers/openstack/cloud

@himdel, ok now that the button filtering is in place tests are failing with Google and Azure getting 500 error.
How are we supposed to handle other providers? Shouldn't they be dealing with their own stuff?
@tzumain, FYI

I think the same answer as in https://github.com/ManageIQ/manageiq/pull/13165#issuecomment-267020564 applies here.. just make sure the method returns false for the other providers.
The test failure is again
       undefined method `is_available?' for #<FloatingIp:0x0055fd9bf90f08>
       undefined method `supports_update_floating_ip?' for #<FloatingIp:0x0055fd9bf90f08>

@himdel, moving the supportfeaturesmixin on the base class helps

@himdel, moving the supportfeaturesmixin on the base class helps

Great news :)
So.. first of all, thanks for splitting the new changes into commits, much easier to review now! :bowing_man:
But the bad news is... now I just don't see the Edit button anywhere, at all, for any floating ip, not in the list screen, nor in the detail screen. Did you add some check to hide it or something similar?
And another detail, the field marked "Floating IP address (optional)" seems to be the name field. So maybe the label is rather misleading, since it's not really for addresses ,but names :).

@miq-bot add_label blocker
@miq-bot add_label bug

@himdel,
The name of a floating ip is the floating address.
The edit (and delete) buttons were not showing up any more because the filter was wrong, I've fixed it.

@gildub thanks!, going to re-review right now :)

The name of a floating ip is the floating address.

Yeaah, possibly only in the openstack land..

But I'm not blocking the PR for that, I guess that will change once you can edit other providers' floating ips too..

So, @gildub I think this one is ready to get merged :+1:
But.. I'm seeing you marked a few Fixnum->Integers as fixed but haven't actually fixed them .. so I'm guessing you may have forgotten to push a commit here?

@himdel,
Sorry, yes the Fixnum -> Integer commit slipped out, I've restored it and rebased.

Sorry, yes the Fixnum -> Integer commit slipped out, I've restored it and rebased.

@gildub yeah, happens, thanks :) .. Just one more thing, can you please look at https://github.com/ManageIQ/manageiq/pull/12097/files#r93028604 (line 146 looks like it should be used instead of line 147).
But if not for some reason, at least remove the commented out code please :).

@himdel,

But if not for some reason, at least remove the commented out code please :).

sorry I forgot about that one, it's fixed, using find_by_id_filtered and without any comments ;)

@gildub Thanks, LGTM, the spec failures are probably all unrelated, I'll try to restart the tests once master ir OK, and get this is before the UI split..

Euwe backport details:
$ git log -1
commit fc719649568c5b0fadc90479c88f00625decb886
Author: Martin Hradil<EMAIL_ADDRESS>Date:   Wed Dec 21 14:56:01 2016 +0000

    Merge pull request #12097 from gildub/network-provisioning-floating-ips-ui

    Floating IPs provisioning UI
    (cherry picked from commit 57b0a61fa1d9529582056123b68c47d7707a26ca)

    https://bugzilla.redhat.com/show_bug.cgi?id=1410588


[AIRFLOW-176] Remove unused formatting key

Dear Airflow Maintainers,
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-176

@criccomini one tiny formatting bug that crept in to #1544

LGTM


Remove the leading '.' in the entryModule path

The path passed to entryModule should not be in a relative style, otherwise AoTPlugin cannot parse the correct location of NgModules which leads to errors when use lazy-loading. Take a look at here.

:shipit:


Loop counter incremented twice per iteration

Description:
wishart_rng_test.cpp:
  int N = 10000;
  double avg = 0;
  ...
  for (int count = 0; count < N; ++count) {
    a = wishart_rng(5.0, sigma, rng);
    avg += log(determinant(a)) / N;
    count++;
  }

Unless I'm missing something here, this appears to produce only half of the expected average?
Current Version:
v2.17.0

Closing because this was fixed by #818.


Generate training set

Hey X,
I open a new PR in order to make the changes more clear.

I update write_as_tf_file module to TF 2.1 and write a module for reading TFRecord file.
I use def.kernel, def.REST_RANGE to modify spectra_utils.get_lam_data, preprocess.label_sightline, and training_sets. split_sightline_into_samples.
I modify uniform_snr module to use @ZechangSun 's Summary table instead of Mocks object.
After summary table have updated，I will modify uniform_zdla_nhi module.


Onboard Osama on the IF project and manifest structure

Why: Sub of #951
What: Onboard Osama on the IF project and manifest files
Scope of work:

[ ] Have a chat about the IF and what a manifest file contains
[ ] Show Osama where more info can be found

HI @zanete , @osamajandali and I had a call yesterday to get Osama up and running with IF. I also provided a demo manifest and its corresponding output file which should work well as a template for building the ui. I'm on hand to answer any questions that arise as the ui is being developed.


@ #47 | the behavior of the trailing slash should be more intuitive and consistent

connect #47

Changes Unknown when pulling d6d78aef8998ab3236c533dfc5fb9238635950c4 on hoatle:bugs/#47-trailing-slash into ** on teracyhq:develop**.

Changes Unknown when pulling bb7276f6f8143569d50465a6e270238c127fe199 on hoatle:bugs/#47-trailing-slash into ** on teracyhq:develop**.


homebrew tap shouldn't bump unless everything else passes

our tap bumped to 0.25, even though it doesn't pass typecheck (due to deno api extensions). See #405.

Cancel this. We didn't bump. But deno^1.31.0 doesn't build 0.24.6.


Samba NT-Password is displayed in plain text for others Users

Hi,
if I'm not mistaken, the azure.json file, stored in the docker folder, is supposed to show my personal samba NT Password in plain text but showing XXXX for the others users. In my case, I can see all the passwords of the users who logged in clear text. Am I missing something?
thx a lot
Cheet

You are mixing up LDAP queries and the file. With direct access to the file, you can see everything.
XXXX values are only delivered in a response if you send an LDAP query to the server.

Thx,
When you say " With direct access to the file", are we agree "direct access" is the right way to make samba work properly. ( everybody must have access anonymously to this file )
Cheey

Nope. No 3rd party does access this file directly. Did you read the manual?

"Restrict access through a firewall. Do NOT allow everyone in your network access to the LDAP-wrapper.
Only your (local hosted) applications or your NAS should have access."
Got It
thx!


Hide email when Sharing // Set display name

When sharing my private email address is exposed when editing, I would like to hide email and just set a display name to show to participants.

We’re not able to prioritize this issue over the other higher-impact issues we receive every week, based on the votes and comments from others in the community and our understanding of the issue. However, rest assured that we love your input. If you feel it deserves to stay open, then clarify your use case and contact us to let us know how severe it is for you.


signFirmware.py is not PEP8 compliant

Please stay PEP8 compliant with signFirmware.py

Checked using https://pypi.org/project/pycodestyle/

Please select pylint as linter in VSCode and try again.


Azure Application Insight Encryption

Based on the document, the data is encrypted, can we have more detail, is it encrypted using Microsoft Managed Key, and is the key scoped to a particular resource or to subscription or all subscriptions under on AAD tenant or entire Azure?
Does it support CMK encryption?
https://docs.microsoft.com/en-us/azure/azure-monitor/app/data-retention-privacy#is-the-data-encrypted
[Enter feedback here]

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

ID: c4cb6c8f-80a5-3a49-3cc1-e194e5b98b16
Version Independent ID: ef9c64e5-466d-9be2-df6a-39de8c76b1ad
Content: Data retention and storage in Azure Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/data-retention-privacy.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @lgayhardt
Microsoft Alias: lagayhar

@Ronnie-personal Thanks for the feedback! We are currently investigating and will update you shortly.

@BryanTrach-MSFT  Any update on the issue? Thanks!

@Ronnie-personal Apologies for delay in getting back to this thread
One of the capabilities  with the new workspace-based Application Insights allows you to take advantage  of Customer-Managed Keys (CMK) provides encryption at rest for your data with encryption keys that only you have access to.
For further details on Azure Monitor customer-managed key , please refer here.
Hope the information helps , we will also review with our document author to see how we can show the references of this in the document so that its easy discoverable. Please let us know if you have any further queries.

@Ronnie-personal Hope the above information shared helps. Please review it and let us know if you have any further queries.
At this point it appears that there's no further edits or updates needed to the documentation mentioned in this issue. We will go ahead and close this issue for now, however if you have any further feedback on the document please tag us in your reply and will be happy to reopen the thread and continue the conversation. Thank you


Use Datadog jsonapi package to marshal notifications sent by the http eventnotifier

What does this PR do?

[ ] Adds new functionality
[x] Alters existing functionality
[ ] Fixes a bug
[ ] Improves documentation or testing

Please briefly describe your changes as well as the motivation behind them:
This PR refactors how we marshal notifications sent by the http eventnotifier. It leverages Datadog's jsonapi package instead of the Google's jsonapi.
Code Quality Checklist

[ ] The documentation is up to date.
[x] My code is sufficiently commented and passes continuous integration checks.
[x] I have signed my commit (see Contributing Docs).

Testing

[ ] I leveraged continuous integration testing

[ ] by depending on existing unit tests or end-to-end tests.
[ ] by adding new unit tests or end-to-end tests.

[ ] I manually tested the following steps:

x
[x] locally.
[ ] as a canary deployment to a cluster.

Do you know how this changes the payload? How breaking is this change? It lgtm, but I'd want to test to be sure existing consumers of these notifications (at least ours) don't break

The should not be breaking. The payload seems to be identical.


run in colab then url can't open

When I run: !lightning run app /content/lang-segment-anything/app.py
Your Lightning App is starting. This won't take long.
INFO: Your app has started. View it in your browser: http://<IP_ADDRESS>:7501/view
/usr/bin/xdg-open: 869: www-browser: not found
/usr/bin/xdg-open: 869: links2: not found
/usr/bin/xdg-open: 869: elinks: not found
/usr/bin/xdg-open: 869: links: not found
/usr/bin/xdg-open: 869: lynx: not found
/usr/bin/xdg-open: 869: w3m: not found
xdg-open: no method available for opening 'http://<IP_ADDRESS>:7501/view'
Downloading (…)ingDINO_SwinB.cfg.py: 100% 1.01k/1.01k [00:00<00:00, 1.03MB/s]
final text_encoder_type: bert-base-uncased
Downloading (…)okenizer_config.json: 100% 28.0/28.0 [00:00<00:00, 18.1kB/s]
Downloading (…)lve/main/config.json: 100% 570/570 [00:00<00:00, 383kB/s]
Downloading (…)solve/main/vocab.txt: 100% 232k/232k [00:00<00:00, 3.86MB/s]
Downloading (…)/main/tokenizer.json: 100% 466k/466k [00:00<00:00, 5.82MB/s]
Downloading model.safetensors: 100% 440M/440M [00:03<00:00, 132MB/s]
Some weights of the model checkpoint at bert-base-uncased were not used when initializing BertModel: ['cls.seq_relationship.bias', 'cls.predictions.transform.LayerNorm.weight', 'cls.predictions.bias', 'cls.seq_relationship.weight', 'cls.predictions.transform.dense.weight', 'cls.predictions.transform.dense.bias', 'cls.predictions.transform.LayerNorm.bias']

This IS expected if you are initializing BertModel from the checkpoint of a model trained on another task or with another architecture (e.g. initializing a BertForSequenceClassification model from a BertForPreTraining model).
This IS NOT expected if you are initializing BertModel from the checkpoint of a model that you expect to be exactly identical (initializing a BertForSequenceClassification model from a BertForSequenceClassification model).
Downloading (…)no_swinb_cogcoor.pth: 100% 938M/938M [00:29<00:00, 31.4MB/s]
Model loaded from /root/.cache/huggingface/hub/models--ShilongLiu--GroundingDINO/snapshots/a94c9b567a2a374598f05c584e96798a170c56fb/groundingdino_swinb_cogcoor.pth
=> _IncompatibleKeys(missing_keys=[], unexpected_keys=['label_enc.weight'])
Downloading: "https://dl.fbaipublicfiles.com/segment_anything/sam_vit_h_4b8939.pth" to /root/.cache/torch/hub/checkpoints/sam_vit_h_4b8939.pth
100% 2.39G/2.39G [00:17<00:00, 149MB/s]
Running on local URL:  http://<IP_ADDRESS>:38649/

To create a public link, set share=True in launch().
But the url is invalid.
Please help to check, you could try it in your colab.

When you run a local server, it's typically accessible on your machine only, not over the Internet. '<IP_ADDRESS>' is the IP address for 'localhost', which means 'this machine'. The number after the colon is the port number. Therefore, you can only access this URL on the machine where you're running the server, not on other machines.
That's why the URL appears to be "invalid" if you try to access it on another machine. However, if you are running this on a remote machine such as Google Colab or a remote server, you will not be able to access this URL directly since 'localhost' or '<IP_ADDRESS>' refers to your local machine, not the machine where the server is running.
If you're running this on Google Colab or a similar service, you may need to use a service like ngrok or localtunnel to expose your local server to the internet. These tools create a public URL for your local server, allowing you to access it from anywhere.
Also, there seems to be an issue with xdg-open command which is not finding any text-based browser to open the URL. If you are running this on a system with a GUI, you may want to set your default browser with xdg-settings command.
However, please note that opening a web browser on a server or a cloud environment like Google Colab is not possible as these environments are headless and don't have a GUI.
Again, if you're working in a local environment, you should be able to simply copy and paste the URL into your web browser. If you're on a remote machine, you'll need to use a service like ngrok or localtunnel as mentioned above.
One more thing to note: sometimes you may face the issue that the port is being used by another process. In such cases, you might need to either stop the process that's currently using the port or run your server on a different port.

Somehow related #25


Provide version option for Ubuntu user to install

Is your feature request related to a problem? Please describe.
When we update Azure-Cli to 2.3.1 on Ubuntu, we cannot connect to AKS on China Azure.
Error text:
No registered resource provider found for location 'chinaeast2' and API version '2020-03-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01, 2019-11-01, 2020-01-01, 2020-02-01'. The supported locations are 'chinaeast2, chinanorth2'. No registered resource provider found for location 'chinaeast2' and API version '2020-03-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01, 2019-11-01, 2020-01-01, 2020-02-01'. The supported locations are 'chinaeast2, chinanorth2'. No registered resource provider found for location 'chinaeast2' and API version '2020-03-01' for type 'managedClusters'. The supported api-versions are '2017-08-31, 2018-03-31, 2019-02-01, 2019-04-01, 2019-06-01, 2019-08-01, 2019-10-01, 2019-11-01, 2020-01-01, 2020-02-01'. The supported locations are 'chinaeast2, chinanorth2'.
We get response from Azure support that: if we want to use Cli to connect to AKS we have to install older version (2.0.68) on Ubuntu. But we found nowhere to download older version Cli of Ubuntu.
Proposed solution
Provide version option for Ubuntu user to install Cli

@fengzhou-msft please take a look

@Joe-TJ please run apt-cache policy azure-cli to list the available versions. Then install with sudo apt-get install azure-cli=<version-name>. For instance on bionic:
sudo apt-get install azure-cli=2.0.68-1~bionic