OperationBuilder#operations_payload messes with keys

While working on a specific StimulusReflex, I was experiencing a weird bug, where underscored payload keys would come back dasherized.
So self.payload = {"foo_bar" => "baz"} on the JS came back as {"foo-bar" => "baz"}
I found out that this probably relates to OperationBuilder#operations_payload deep-camelizing all keys:
https://github.com/stimulusreflex/cable_ready/blob/master/lib/cable_ready/operation_builder.rb#L71-L73
The relevant test says this is a feature:
https://github.com/stimulusreflex/cable_ready/blob/master/test/lib/cable_ready/operation_builder_test.rb#L90-L94
However, it can lead to a confusing DX specifically in combination with StimulusReflex payloads. We could fix this maybe by explicitly opting out of the :payload hash key in operations_payload, although I'm a bit torn on this one.
Thoughts @leastbad @hopsoft ?

Weird! I'm surprised this wasn't picked up sooner.
My first reaction is that I agree with the test: keys should be camelized.
However, what you're showing here is that payload keys are showing up dasherized aka kebab-case, which I agree is a bug or at least not useful or desireable.
So...

Do you agree that keys should be camelized?
Do you see how/why/where the dasherizing is happening?

"my_bad".to_s.camelize(:lower) # => "myBad"

I don't see anything in operations_payload that would dasherize, do you?

We're talking about two issues at once.
We have a dasherize bug that we need to track down.
As for key conversion... I sort of do think that there's a convention in place, no? We camelize keys all across both libraries, already - especially on the CR side.
Here's the thing: it's not like we're breaking something that's expecting snake case. SR payload is a new concept, so presumably everyone working with it is writing code for it. If we tell them that keys get camelized - certainly the standard in the JS world - then that's just library syntax.
That's one position. Can you make a case for figuring out how to not modify the keys? I'm open to changing my mind!

I'll go hunting that dasherize bug but I indeed have a use case where I'd like to reuse a string helper function on the JS side.
There's certainly a point to be made about conventions. I'll give this some more thought.

Just to follow-up, did you ever track down what was causing your snake case keys to become dasherized?
I wasn't able to reproduce this behaviour on master; self.payload = {"foo_bar" => "baz"} results in payload: {fooBar: 'baz'} on the client, as expected. If I had to take a wild swing, one of the early client package builds had something funky.
As for the question about whether JSON object keys should be camelCased, it seems as though the world has decided yes for us. What I would do, if converting the key back from camel to snake isn't possible - perhaps your keys have irregular upcase letters, for example - is:
self.payload = {"foo_bar" => "baz"}.to_json

Then you can unpack the result on the other end with JSON.parse(). I know that might be less sexy, but I hope it's a workable outcome.


Add option to select change list

First of all Thanks for the addon,
When checking out a file, it will be great if you can add an option to
1- create a new changelist
2- select an existing changelist

same as https://github.com/SimpsonGSD/P4EditVS/issues/24


Remove linuxConventionDescription conversion

Now SDK generator users are responsible for providing appropriate triples for their targets, so we don't need to convert them to the Linux convention anymore.
Also stop normalizing the triple string given through CLI options to keep the original triple string as is in the generated SDK metadata. This makes it more flexible to support various triple strings like wasm32-unknown-wasip1-threads.

@swift-ci test

@swift-ci test macOS

Thanks!


YOLOX integration

Integrates YOLOX directly with Pixeltable, providing a lightweight solution for object detection that doesn't rely on Docker.
Also updates the object-detection-in-pixeltable tutorial to use the new YOLOX integration.

This change is

pixeltable/dataframe.py line 115 at r3 (raw file):

            '''

    def _format_video(self, file_path: str) -> str:

We can use pyav for this, I'd recommend we stop adding more code using it.

pixeltable/dataframe.py line 115 at r3 (raw file):
Previously, orm011 (Oscar Moll) wrote…
We can use pyav for this, I'd recommend we stop adding more code using it.

using cv2 i mean.


Add linker instructions

/cc @russellhadley

Overall. the documentation looks good; a few minor comments are inline.

Very nice
                            Before linking (B)   After linking (B)    Size decrease
-----------                 -----------          -----------          -----------
Total size of assemblies    48,494,336           15,093,496           68.88%
-----------                 -----------          -----------          -----------

Though it doesn't touch
System.Private.CoreLib.dll  11,860,184           11,860,184           0.00%

Or any Microsoft.AspNetCore libs, is this because the versions I'm referencing are precompiled native libs in the runtime cache; rather than pure il? If so maybe call this out?

Applied feedback to the intro doc. I'll let others update the advanced doc. When folks are happy with both docs, we can merge.

As an aside, I didn't write these docs, particularly the advanced one. I'm happy to change the authors if the original authors want that.


Client tells registration succeeds even though it didn't

Describe the bug
Client tells registration succeeds even though it didn't when registering a user already registered.
Write a clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

register a user
register another with the same username
server says not succeeded
client claims succeeded

Expected behavior
Client should say didn't succeed.
Screenshots
None
Desktop (please complete the following information):
All
Additional context
None

Fixed in version-1.3.0.


Making the requests async?

Wonder if the RequestHandler could be made async by using something like aiohttp instead of urllib.requests? I'm using this package in some app and I would like to do stuff like make more requests while I'm waiting for the response of the first request.

Hi there @Pectacius !
I myself look forward for geeting asynchronous support in this library.
But as this project promises two things, there are challenges for me:

Keeping legacy support

No matter how much rewrite or new classes & methods I add or modify, I always try to keep old things working because I don't want to break code of other people.

Library promises to use no third party library

It's unfortunate we don't have any asynchronous networking stuff in standard library of Python.

I'll try to use httpx & get things as you wished.
Greetings.

Hi there @Pectacius !
I myself look forward for geeting asynchronous support in this library.
But as this project promises two things, there are challenges for me:

Keeping legacy support

No matter how much rewrite or new classes & methods I add or modify, I always try to keep old things working because I don't want to break code of other people.

Library promises to use no third party library

It's unfortunate we don't have any asynchronous networking stuff in standard library of Python.

I'll try to use httpx & get things as you wished.
Greetings.

That is great! I'll be looking forward to that. In the meantime, I will probably use a decent amount of the existing code that this library already has and tweak it a bit with another library to create a temporary solution for async requests for my app.

That is great! I'll be looking forward to that. In the meantime, I will probably use a decent amount of the existing code that this library already has and tweak it a bit with another library to create a temporary solution for async requests for my app.

Hi there @Pectacius !
I'm done adding the asynchronous support to this project.
AND... It's substantially faster than the older version. Python's urllib seems really dated. I LITERALLY CAN VISIBLY SEE THE DIFFERENCE.
🎉 Please checkout here.
You may run this test script to see the async version functioning.
Let me know what do you think. Any bugs you discover or any changes you wanna see...
Thankyou.
Sorry I got late.

Hi there @Pectacius !
I'm done adding the asynchronous support to this project.
AND... It's substantially faster than the older version. Python's urllib seems really dated. I LITERALLY CAN VISIBLY SEE THE DIFFERENCE.
🎉 Please checkout here.
You may run this test script to see the async version functioning.
Let me know what do you think. Any bugs you discover or any changes you wanna see...
Thankyou.
Sorry I got late.


Add bindable property to wrap a control's value

What's included in this PR?

Extended associatedProperty with a setUp closure to perform some configuration like setting up any signals that may affect the property once.
A bindable property, rex_valueChanged, to wrap a control's value. The property uses UIControlEvents.ValueChanged and UIControlEvents.EditingChanged events to detect changes and keep the value up-to-date. This prevents code duplication in each control to monitor changes.
Enables tests of UIControls that need to use -sendActionsForControlEvents: like UIDatePicker (test was disabled) and UISwitch.
Use the introduced setUp to install the signal that rex_dismissAnimated depends upon. This prevents repetition of events in cases where the property is accessed more than once (each access adds a new rac_signalForSelector for the dismiss of the view controller).

If this goes forward it will help to easily provide bindable properties for other controls like UISegmentedControl, UISlider, ...

@dmcrodrigues quick one, how is this related to #115?

@RuiAAPeres sorry I haven't seen your comment. #115 introduces a bindable property for CocoaAction, this one is about the value of a UIControl only. In resume: I refactored the code around bindable properties to avoid repeating the exact same code for each control.


feat: Implement history transport authentication option

We are using victoria-metrics with http basic auth as the database that stores the history so i implemented this feature.
Im not a go programmer so something may not be written in the best way, sorry for that.

Can't you use rewrite rules to add user and password? Something like:
history:
  rewrite:
    - source: "https://(.+)"
      uri: "https://foo:bar@$1"


Theme doesn't work with Code::Blocks.

As i mentioned in the title the theme doesn't work with Code::Blocks
Here is a screenshot of the application with Admin-gtk3-dark-osx theme.

If Code::Blocks is a GTK2 application then there isn't much I can do; I have literally no idea how to theme anything other than GTK3.

If Code::Blocks is a GTK2 application then there isn't much I can do; I have literally no idea how to theme anything other than GTK3.

I have found the solution to make this theme compatible with GTK2 applications.
since the theme is based on adwaita, so you can just copy "gtk-2.0" folder from "Adwaita" stock theme to all "admin-gtk3-light" folders (and "gtk-2.0" folder from "Adwaita-Dark" stock theme to all "admin-gtk3-dark" folders)
I tried it and it works like a charm as you can see bellow, the screenshots from Code::Blocks and Inkscape (both are a GTK2 applications) :
Inkscape:
Light-Theme :

Dark-Theme :

Code::Blocks :
Light-Theme :

Dark-Theme :

Interesting thanks for looking into it further - it's a shame Gnome doesn't fallback to Adwaita for GTK2 by default.
I would appreciate it if you could test the following. If it works I'll get it added to the README as a recommendation for users of GTK2 applications.
$ cat << EOF > ~/.gtkrc-2.0
gtk-theme-name = "Adwaita"
EOF

Log out/in.

if you mean to add these lines to ~/.gtkrc-2.0 :

gtk-icon-theme-name = "Adwaita"
gtk-theme-name = "Adwaita"
gtk-font-name = "DejaVu Sans 11"

NO it didn't work for me.


javadoc for utils

A subtask of #91
Complete the javadoc for utils.

Thank @JkSelf for your contribution, I left some comments.

Thanks for @sundapeng comments. I have fixed.

+1

Thank @JkSelf , merged to master


FR: clear assettransformindex as part of clear_caches.sh

We have opted to use .rsync-filter to exclude asset transforms when doing any environment synching / backup (to save on storage, bandwidth).  But as a result, any time we do a remote -> local sync for continuous development, we always have to jump into Craft's CP to manually clear the Asset Transform Index cache.  So if the clear_caches.sh script could also include the craft_assettransformindex table, that would really help!

That is a good idea; though we probably wouldn't want to clear it every time in most installations.
What I'd suggest doing is go ahead and modify the CRAFT_CACHE_TABLES constant in your copy of clear_caches.sh to add whatever tables you want cleared. Potentially it could be moved out to a config variable, but I'm not sure how common of a use-case this would be.
https://github.com/nystudio107/craft-scripts/blob/master/scripts/clear_caches.sh#L51


Wireframe for landing page

Use Lucidchart or somethign else https://www.lucidchart.com/pages/ to make a wireframe for the landing page.
The landing page should include the navigation bar and the search bar and the tags that are clickable to filter the list results of the projects and also contain a list of projects.

dev-roast-landing (7).pdf


Fix link errors in build tests

Some build tests were failing due to unresolved symbols so add in their dependencies

This appears to only be a problem with gcc/ld builds. When using clang/lld the build succeeds.

Hi @cheshire Can you please review this PR ? Thank you!

TF has a canonical build configuration, and OSS CI is passing, why should this change be required?

Then there should be a GCC CI?

@cheshire Please see the SIG BUILD notes from 2nd May 2023, with the comment about "we'll accept PRs to fix gcc!"

@cheshire Indeed, this is a special case. Although TF's official builds now use and are gated by clang, we (the TF DevInfra team) decided to keep accepting changes that help make TF able to build with GCC, since a large portion of TF's community builders still use gcc for their platforms. We currently leave verification up to them.

This sounds like a difference with -Was-needed, not actually due to clang/gcc. I wouldnt be surprised if you added as-needed on clang it'd fail as well. Maybe :stream_executor_pimpl needs to have alwayslink=True set?

Hi @elfringham Can you please resolve conflicts? Thank you!

Due to the delays in getting this merged, it is now too late as the code has been moved to a different repo.


Show an estimated price for unowned asteroids

Use base price of $75 for next sale, scale up with radius
Needs to be hidden again after the sale is over, but keep around for future use.

implemented in #18


Provide a "standard library" of external atoms that is always available in programs

Provide a "standard library" of external atoms that is always available in programs
Adds a class AspStandardLibrary containing annotated predicate methods for frequently needed functions, enabling them to be used as external atoms in ASP code.
"Standard Library" predicate methods

stdlib_datetime_parse[DATETIME_STR, FORMAT_STR](Y, MO, D, H, MI, S)
stdlib_datetime_is_before[DT1Y, DT1MO, DT1D, DT1H, DT1MI, DT1S, DT2Y, DT2MO, DT2D, DT2H, DT2MI, DT2S]
stdlib_datetime_to_string[Y, MO, D, H, MI, S, FORMAT_STR](DT_STR)
stdlib_string_matches_regex(STR, REGEX)
stdlib_string_length[STR](LEN)
stdlib_string_concat[S1, S2](S1S2)

Java changes (summary)

new base package at.ac.tuwien.kr.alpha.api.externals for classes mainly concerned with external atom support
class AspStandardLibrary holding "standard lib" of external atoms
modification to InputConfig making sure that the "standard lib" externals are loaded for every program
Utility class ExternalUtils for frequently needed convenience methods to convert from regular objects to sets of terms
Bugfix in Externals.scan(Package): This always scanned the complete classpath. Fixed so that only the given package is scanned
New method Externals.scan(Class): Only scan the given class for annotated methods

NOTE: The newly added test case AspStandardLibraryTest.programWithStringStuff is currently set to @Ignore due to a bug in Alpha's justification analysis (-> issue #229)
Bugfix: Issue #229
During testing of this PR, I found that justification analysis didn't work on ExternalAtoms since ExternalAtom did not implement VariableNormalizableAtom. Fixed this by implementing VariableNormalizableAtom on ExternalAtom. Since all implementations of this interface were using the exact same code, switched to a default implementation in the interface itself.

I dislike the use of "_" to modularize the names. I'd argue that a module hierarchy like with Java (which uses "." for separation like DNS) would be better suited.

I dislike the use of "_" to modularize the names. I'd argue that a module hierarchy like with Java (which uses "." for separation like DNS) would be better suited.

The "strange" java method names came to be because I didn't realize until after I wrote it, that I could also pass a name to the Predicate annotation (I'll change that). As for the names themselves and how they're exposed on the ASP end, I'm also not really satisfied with the current state, but as long as (the Alpha variant of) ASP does not have a native concept of modules or namespaces, I'd like to keep the underscores. Assuming ASP language support for modules, I'd use "::" as a namespace separator, e.g. stdlib::datetime::is_before.

... Assuming ASP language support for modules, I'd use "::" as a namespace separator, e.g. stdlib::datetime::is_before, since dot is already being used as a rule terminator

Since we have a quite powerful parser, it should be no problem to use "." as namespace separator (we already do it for intervals). I would not want to resort to C/C++ parsing workarounds.

... Assuming ASP language support for modules, I'd use "::" as a namespace separator, e.g. stdlib::datetime::is_before, since dot is already being used as a rule terminator

Since we have a quite powerful parser, it should be no problem to use "." as namespace separator (we already do it for intervals). I would not want to resort to C/C++ parsing workarounds.

I was more thinking of readability than parsing. "." is also the logical candidate for struct membership (or whatever we want to call it), which I think would also be a nice ASP feature at some point. So having a separate operator for namespace membership would make for easier to read code. But like a lot of things, I guess this is also a matter of taste ;)

Java methods for standard library externals are now renamed to conform to Java's camel-casing convention, (snake-cased) ASP names are provided as argument of the predicate annotation.
The bug in normalizeVariables that made every normalized atom a BasicAtom is also fixed.
@AntoniusW do you think there's anything still missing, or can this PR be merged?

... Assuming ASP language support for modules, I'd use "::" as a namespace separator, e.g. stdlib::datetime::is_before, since dot is already being used as a rule terminator

Since we have a quite powerful parser, it should be no problem to use "." as namespace separator (we already do it for intervals). I would not want to resort to C/C++ parsing workarounds.

I was more thinking of readability than parsing. "." is also the logical candidate for struct membership (or whatever we want to call it), which I think would also be a nice ASP feature at some point. So having a separate operator for namespace membership would make for easier to read code. But like a lot of things, I guess this is also a matter of taste ;)

That is one of the things, I think, Java did right compared to C++. The "." denotes that-thing-inside-the-other-thing and it does not matter if one is a namespage, a class, a method, or an object. Usually, it is clear from the context which kind it actually is, hence no need for the programmer to make it explicit. I like that. :-)


NoMethodError: undefined method `cdn_host=' for Refile:Module

I am getting the following error when deploying my application. It occurs during assets precompile.
NoMethodError: undefined method 'cdn_host=' for Refile:Module
I have set Refile.cdn_host = "abc.cloudfront.net" under config/initializers/refile.rb
Please help.

Which version are you using? From the history it looks like this was called host before 0.6.0.

Yes, cdn_host is the new name as of 0.6.0. See #301 for details.

Yes I am on version 0.5.5. I will upgrade to 0.6.0. Thanks, much appreciated!

I tried to upgrade from refile 0.5.3 to 0.6.2 but when I restarted my Rails server I got this error:
/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/refile-0.6.2/lib/refile/backend/s3.rb:1:in <top (required)>': [Refile]         from /Users/acandael/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/railties-4.2.2/lib/rails/application.rb:352:in initialize!'│the S3 backend has been extracted into a separate gem, see https://github.com/refile/refile-s3 (RuntimeError)

@acandael follow the instructions in the README, you'll need to add gem "refile-s3" as a dependency.

Hi jnicklas, I upgraded from refile 0.5.4 to 0.6.2
In my refile initializer I had to change the require statement from
require "refile/backend/s3"
to
require "refile/s3"
On my local machine everything works, but when I try to deploy the upgrade on the production server, I get the error:
rake stderr: rake aborted!                                                                                │02          09:10:25 +0100

NameError: uninitialized constant Refile::Backend::S3                                                                                │
/opt/www/adlit/releases/20151202081343/config/initializers/refile.rb:10
my initializers/reflle.rb looks like this now
require "refile/s3"

if Rails.env.production?
  aws = {
    access_key_id: ENV["AWS_ACCESS_KEY_ID"],
    secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
    bucket: "adlit"
  }

  Refile.cache = Refile::Backend::S3.new(prefix: "cache", **aws)
  Refile.store = Refile::Backend::S3.new(prefix: "store", **aws)
 Refile.cdn_host = "//d1e4k3tmal57z3.cloudfront.net"

end
do you know what could be the problem?
greetings,
Anthony

problems are fixed now, I had to make some changes in the refile.rb initializer file and upgrade from rails 4.2.2 to 4.2.3
my initializers/refile.rb looks like this now
require "refile/s3"
if Rails.env.production?
  aws = {
    access_key_id: ENV["AWS_ACCESS_KEY_ID"],
    secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
    region: "eu-west-1",
    bucket: "adlit"
  }
  Refile.cache = Refile::S3.new(prefix: "cache", **aws)
  Refile.store = Refile::S3.new(prefix: "store", **aws)
  Refile.cdn_host = "//d1e4k3tmal57z3.cloudfront.net"
end

I tested things and everything works, the images are accessed from Cloudfront and I can upload image to the S3 store.
One small caveat I'm still facing is that the preview image is broken in the upload form.
Not sure at the moment what's causing this.
greetings,
Anthony


Line width of 1 causes a thicker line at 100% due to anti-aliasing

(Note - this won't be apparent on hi-res screens)
Now that we set a line width of one pixel for figures we have this method:
protected void setLineWidth(Graphics graphics, float lineWidth, Rectangle bounds) {
    bounds.width -= lineWidth;
    bounds.height -= lineWidth;
    graphics.setLineWidthFloat(lineWidth);
    graphics.translate(lineWidth / 2, lineWidth / 2);
}

The call to graphics.translate() allows us to move the x and y drawing area by lineWidth / 2 to compensate for clipping when drawing the line. However, when lineWidth is 1 the translate factor is 0.5. Because this is not a whole number anti-aliasing is introduced and the outline appears thicker (and greyer if it is black).
So with a translate factor of 0.5 pixel we get this:

But if we use a translate factor of 1 pixel we see this (which is how it should be):

However, using a translate factor of 1 pixel is much the same as calling bounds.shrink(1, 1); and the problem with that was the gap it causes around the figure.

We can see the effects of the anti-aliasing if we zoom into the figure:

However, if we don't use graphics.translate(0.5, 0.5); we have a nice clean outline (again, this is zoomed in):

@jbsarrodie I think we might have to use bounds.shrink(1, 1). The only downside is the 1 pixel gap:

Cool that fixes the issue on my 1080p resolution but as you said it creates a small gap between connector lines and the figure shape. This topic seems to be full of side effects...
Using graphics.translate(1,1); doesn't seem to have this 1px gap (at least not on my screen), what would be the downside of using that ?

Using graphics.translate(1,1) doesn't seem to have this 1px gap (at least not on my screen), what would be the downside of using that ?

That is exactly the same as:
bounds.x++;
bounds.y++;

And you will see the 1px gap on the left and the top:

The only reason I used graphics.translate(x, y) was because it can move the bounds by floating point numbers (0.5). But I hadn't thought about the problem of anti-aliasing (I did a lot of testing on a retina Mac where this is not a problem)

Ah right, I see. What about setting graphics.setAntialias(SWT.OFF); and leaving graphics.translate(lineWidth / 2, lineWidth / 2); ? At least on my device that looks promising.

What about setting graphics.setAntialias(SWT.OFF);

I tried that, It leads to poor quality and jagged lines of curves in some figures.

I'm experimenting with a mixed approach:
if(ImageFactory.getDeviceZoom() > 100 || FigureUtils.getFigureScale(this) > 1.0) {
    graphics.translate(lineWidth / 2, lineWidth / 2);
}
else {
    graphics.translate(1, 1);
}

Pseudo-code:
if device is hires OR diagram scale > 100% {
   move x, y by lineWidth / 2; // Will be 0.5
}
else if diagram scale is 100% {
   move x, y by 1;
}

For hires devices this is not a problem, 0.5 pixels is OK, no anti-aliasing is done. For non-hires devices we move by 1 pixel.
As you zoom in 200, 300, 400, 600, 800 there is no anti-aliasing so lineWidth / 2; is OK, For odd zoom factors (75%, 150%) there is anti-aliasing on non-hires devices anyway.

great, that looks good my both, my retina and the 1080p

This is what I ended up with:
protected void setLineWidth(Graphics graphics, float lineWidth, Rectangle bounds) {
    graphics.setLineWidthFloat(lineWidth);

    // Width and height reduced by line width
    bounds.width -= lineWidth;
    bounds.height -= lineWidth;

    // x,y offset is half of line width
    float offset = lineWidth / 2;

    // If non hi-res device and scale = 100% round up to integer to stop anti-aliasing
    if(ImageFactory.getDeviceZoom() == 100 && FigureUtils.getFigureScale(this) == 1.0) {
        offset = (float)Math.ceil(offset);
    }

    graphics.translate(offset, offset);
}

@pschoepf This is in branch linewidth-fix can you test it?
The only compromise is a gap of 1px on the left and top at 100% on non-retina devices. This is my best shot, I can't think of anything else.

It turns out that if line width is 1 and scale is 100% we don't need to do anything.
So this is what we have now:
protected void setLineWidth(Graphics graphics, float lineWidth, Rectangle bounds) {
    graphics.setLineWidthFloat(lineWidth);

    final double figureScale = FigureUtils.getFigureScale(this);

    // If line width is 1 and figure is 100% scale then do nothing
    if(lineWidth == 1 && figureScale == 1.0) {
        return;
    }

    // Width and height reduced by line width
    bounds.width -= lineWidth;
    bounds.height -= lineWidth;

    // x,y offset is half of line width
    float offset = lineWidth / 2;

    // If this is a non hi-res device and scale == 100% round up to integer to stop anti-aliasing
    if(ImageFactory.getDeviceZoom() == 100 && figureScale == 1.0) {
        offset = (float)Math.ceil(offset);
    }

    graphics.translate(offset, offset);
}

And I've added a hack method in com.archimatetool.editor.diagram.figures.FigureUtils#setFigureScale() so that we know what scale is being used when creating an Image (otherwise there is no way of querying the current scale from SWTGraphics)
This is not easy stuff. 😉

I've refined things even further now so that the scale is set on a Figure's ancestor pane when exporting to image. This way com.archimatetool.editor.diagram.figures.FigureUtils#getFigureScale() doesn't need to be hacked.
New commit in linewidth-fix branch.
I want to get get Archi 4.7.1 beta 1 out ASAP. This fix is quite important,

Archi 4.7.1 beta 1 contains the fix for this - https://www.archimatetool.com/beta/
@pschoepf Would you like to test this?

happy to do with my team, but I got a "page not found"

happy to do with my team, but I got a "page not found"

Fixed it!

This turned out to be a bit more complex...

I've refined things even further now so that the scale is set on a Figure's ancestor pane when exporting to image.

That was a potentially dangerous idea. You might get unexpected results in the future. So I've created a class ExtendedSWTGraphics which extends SWTGraphics and this stores the current scale. This can be accessed in our new method (which has grown somewhat):
protected void setLineWidth(Graphics graphics, int lineWidth, Rectangle bounds) {
    graphics.setLineWidth(lineWidth);

    // If we are exporting to image or printing this will be ExtendedSWTGraphics
    // Otherwise it will be SWTGraphics
    final double scale = graphics instanceof ExtendedSWTGraphics ? ((ExtendedSWTGraphics)graphics).getScale() : FigureUtils.getFigureScale(this);

    // If line width is 1 and scale is 100% then do nothing
    if(lineWidth == 1 && scale == 1.0) {
        return;
    }

    // Width and height reduced by line width to compensate for x,y offset
    bounds.width -= lineWidth;
    bounds.height -= lineWidth;

    // x,y offset is half of line width
    float offset = (float)lineWidth / 2;

    // If this is a non hi-res device and scale == 100% round up to integer to stop anti-aliasing
    if(ImageFactory.getDeviceZoom() == 100 && scale == 1.0) {
        offset = (float)Math.ceil(offset);
    }

    graphics.translate(offset, offset);
}

And then I discovered more problems - the "Print" action (do people still print on paper?) uses Draw2d classes that use...yes, you guessed it, ScaledGraphics! So I had to copy and hack these classes to not use ScaledGraphics and to use our ExtendedSWTGraphics so now at least it looks half decent when printing (I only tested by printing to PDF file).
All of this is in a new branch graphics-fix. And we'll need a new 4.7.1 beta.

interesting. hadn't discovered any problems so far in the beta but I have to admit I never printed directly from Archi :-)
Once the new beta is out I will test again.

Archi 4.7.1 beta 2 for a final check. I'm aiming to get 4.7.1 out this week.
https://www.archimatetool.com/beta/

This is in Archi 4.7.1
https://www.archimatetool.com/download/


[Keybase] Implement an encrypted wrapper for private keys akin to ArmoredJson from V0

_DELETE_ME: Please make sure to update the Assigness, Labels, Projects, Milestone before submitting the issue_
_DELETE_ME: Please make sure to add labels for the purpose (e.g. persistence) and priority (e.g. low) of this PR_
Objective
Implement a secure wrapper around private keys.
Origin Document
For increased security, we are going to need something like ArmoredJson from v0 to protecting Private keys coming out of a keybase and providing a way of importing new private keys into the keybase.
This issue is dependent on #150 but I believe it's still possible to work on this in parallel by developing the core functionality for encryption/decryption for initial use with the Utility CLI (#112) where, for now, the privatekeys come into play in the form of a clear-text JSON file.
We just have to remember (via TODOs and/or GH issues) that ultimately the keybase should be interfaced with this as well.
Goals

[ ] Determine if the V0 ArmoredJson implementation could be used in V1 as well and if not, propose alternatives with pros/cons comparisons
[ ] Define interfaces and methods to provide access to the underlying private keys given an address and a passphrase
[ ] Define interfaces and methods to allow importing of private keys into the keybase
[ ] Use these new interfaces/methods to access private keys where needed (a good place to start is the CLI, starting from the Utility commands tracked in #112 )
[ ] Create import functionality for private keys
[ ] Create export functionality for private keys

Deliverable

[ ] ArmoredJson / ArmoredJson-like implementation with basic Encrypt and Decrypt methods (see v0 ArmoredJson)
[ ] Import account from encrypted and ASCII armored file CLI command
[ ] Export account from encrypted and ASCII armored file CLI command
[ ] Log any unfinished work with TODOs depending on the state of #150 and #112 at the moment this is completed/ready to merge.

Non-goals / Non-deliverables

Do any work currently tracked by other Issues (especially #150 and #112)

General issue deliverables

[ ] Update the appropriate CHANGELOG
[ ] Update any relevant READMEs (local and/or global)
[ ] Update any relevant global documentation & references
[ ] If applicable, update the source code tree explanation
[ ] If applicable, add or update a state, sequence or flowchart diagram using mermaid

[Optional] Testing Methodology

Task specific tests: make ...
All tests: make test_all
LocalNet: verify a LocalNet is still functioning correctly by following the instructions at docs/development/README.md
Write tests that ensure encryption and decryption work as expected, including KO cases (eg: wrong passphrase)

Creator: @deblasis
Co-Owners: @Olshansk, @andrewnguyen22

@h5law completed this as part of the key base work.


feat: add self signed jwt support

This PR adds self signed jwt support (https://google.aip.dev/auth/4111). Googlers see this go/yoshi-self-signed-jwt for more details. If user uses service account credentials, and doesn't provide custom endpoint/scopes/audience, then self signed jwt should be used. Since custom endpoint is now supported (cl/356594013) and users cannot provide default audience for ServiceAccountCredentials, we automatically use self signed jwt if scopes are not provided by the users.
Details

Scopes.
We add a new defaultScopes (for client lib) to GoogleCredentials to distinguish with the existing scopes (for users), and updated the subclasses.

For AppEngineCredentials, ComputeEngineCredentials classes, defaultScopes will used  if scopes is not provided, there are no other changes.
For ServiceAccountCredentials, if scopes is not provided, then a ServiceAccountJWTAccessCredentials instance will be created inside ServiceAccountCredentials, and will be used for self signed jwt.
For other type of credentials where scopes are not used, defaultScopes has no effect.

Simplified self signed jwt audience. Googlers see go/simpler-JWT-token-audience
When self signed jwt is used for service account credentials, in getRequestMetadata(uri), we replace the uri with its http(s)://{host_name}/ prefix. For instance, http client normally passes uri like https://compute.googleapis.com/compute/v1/projects/, but the correct audience should be https://compute.googleapis.com/.

Bug fix in google-http-java-client.
http-client doesn't pass uri to ServiceAccountJWTAccessCredentials's getRequestMetadata method. This PR fixes the problem.

Follow up PRs
It will be trivial changes to gax-java and client libs to integrate this feature.
This PR shows how gax-java integrates the feature. gax-java just needs to pass defaultScopes to the auth lib.
This PR shows how GAPIC client integrates the feature. GAPIC client just needs to pass the default scopes via setDefaultScopes instead of setScopesToApply.

@bshaffer Hi Brent, could you take a look?

Don't merge until cl/356594013 is fully rolled out.

cl/356594013 is fully rolled out. Tested the change with pubsub regional endpoint and it worked fine.

@arithmetic1728 @bshaffer It seems that this commit (the only change between 0.24.1 and 0.25.0) broke the Java sample projects. https://github.com/GoogleCloudPlatform/java-docs-samples/pull/4903 Would you look into the failures?
I've invited both of you to "Yoshi Java" chat room.

It also broke Spring Cloud GCP by way of bigquery, config, storage and vision: https://github.com/GoogleCloudPlatform/spring-cloud-gcp/actions/runs/664693361

@arithmetic1728, when merging PRs, could you please use helpful commit messages? You wrote so much good content for this PR, but then it is mostly just garbage on the commit itself: efe103a2e688ca915ec9925a72c49bb2a1b3c3b5

@ejona86 Yep, I will edit the commit message in the future when merging PR. Thank you for pointing it out.


Segmentation faults after small change to Symbol constructor argument

@llllllllll this line here:
https://github.com/blaze/blaze/blob/master/blaze/expr/expressions.py#L307
Leads to problems in another project; essentially, that project used strings for symbol dshapes.
I'm in agreement that normalizing symbol dshapes up front is the right thing to do, but we may need to revert this change for the 0.10.2 release and put in the proper normalization for the 0.11 release.
I tried reverting that line, but it leads to more concerning issues that I'm having a really hard time understanding.
With that line changed to:
@copydoc(Symbol)
def symbol(name, dshape, token=None):
    return Symbol(name, dshape, token or 0)

I'm now seeing repeatable segmentation faults on both OS X and Linux:
https://travis-ci.org/blaze/blaze/jobs/136301015
Such a small change resulting in segfaults makes me think of the recent isidentical refactoring merge.
Can you help me make sense of this?

That line should just be normalizing the values to dshapes. Is your project calling Symbol directly. This is unsupported because the normalization needs to happen in symbol. The segfault is caused by a failure in the __getattr__ because the dshape is a string and not a datashape, so that recurses and stack overflows. Somewhere CPython is missing something like a Py_EnterRecursiveCall

Essentially the project is serializing blaze expressions, storing them in a DB, and bringing them back for later use.  So the Symbol class and it's arguments are stored in the DB, since that's how Blaze's to_tree() represents things.
With the dshape normalization introduced here--which is more robust--it made the old string-based-dshape expressions incompatible with the new format, and our tests revealed the discrepancy.
The reason I'm looking into reverting this one change temporarily is due to the effort required to migrate the DB to the new Symbol objects with dshapes rather than strings.
I think the larger point is that there is a third-party consumer of Blaze's serialization spec beyond blaze server and blaze client.  Whenever there's a backwards incompatible change to that serialization format, we need a way to clearly identify when that happens.
It makes sense to me to:

add something like a "__version__": "1.10.5" k/v pair to serialized blaze expressions.
bump that serialization version whenever a backwards incompatible change is introduced
add more tests around this to help detect when the serialization breaks and requires a version bump
ideally, we would have converters / updaters that can migrate older specs to newer specs

@llllllllll @necaris Thoughts?

Just to be clear, we are suggesting a serialization protocol version here (separate from the Blaze version)? I like this plan!

Just to be clear, we are suggesting a serialization protocol version here (separate from the Blaze version)? I like this plan!

Yes, the serialization protocol version would be independent from Blaze's version, and the serialization version would only increase when a backwards incompatible change was introduced.  Ideally that version number will change slowly.
It's similar in concept to separate API and ABI version numbers for compiled libraries.

The expression memoization does not work if the inputs are not normalized. The memoization was more than a 2x speedup for many queries in our production app so I would really prefer not reverting this.
I think that this might be a lot of overhead to add for the server. I am suprised that the blaze.server serialization is being used by a third party consumer, maybe it should be private? imho we should have the flexibility to make changes as long as it is supported in the server and client. If we want a more robust, versioned serialization format that should live somewhere outside of the server.
I wouldn't mind having a more persistant format with built in version checking / migration. I would just like to name the key _version because the __*__ namespace is reserved for the interpreter's implementation details (I really want to rename __inputs__).

@llllllllll I've created a new release-0.10.2 branch.  Due to the needs of the downstream project, it has the bugfixes since 0.10.1 but does not include the isidentical / expression memoization work.  Those improvements are still on master, and will be part of the 0.11 release.
Having a separate release branch is not ideal, but it was judged the best option given current time constraints.  That release branch is only for the 0.10.2 release; once it's cut, no more development will occur on it.
I'm in favor of the memoization improvements, especially with their performance improvements; we just need more time to migrate existing blaze expressions to the new normalized versions in that project.

I think that this might be a lot of overhead to add for the server. I am suprised that the blaze.server serialization is being used by a third party consumer, maybe it should be private?

The view we have is that Blaze has at least two APIs for representing and interacting with expressions, both of which are public-facing: the programmatic API for blaze expressions, and their serialized forms.
We're using the serialized expression form in both a web client front-end, and in a storage backend.  So the serialization protocol is definitely a public facing one.

imho we should have the flexibility to make changes as long as it is supported in the server and client. If we want a more robust, versioned serialization format that should live somewhere outside of the server.

How would that work?  Can you describe your ideas here in more detail?

What I mean is that there are different constraints for serialization for long term storage and ephemeral transport. In the blaze server, we want to minimize the overhead and to do that we should be able to assume the client/server are on the same version and then go from there with a faster format. When storing things in a databas or on disk we will want to be able to migrate versions and recover all of the information with little assumptions. We could leave the blaze.server.serialization as an implementation detail of the server, and then provide a blaze.serialization for storage.

+1 to making this distinction between ephemeral transport and storage, although I would chime in that even for ephemeral transport there is a lot of utility in ensuring client & server are speaking the same protocol (even if that's just putting big flags in the documentation that the client-server stream is subject to change and versions must be checked -- like the Python pickle module).

Is there a small reproducer for the segfault on Linux?  Travis CI reports the default stack size (8MB) on Linux, and the CPython's default recursion limit is quite conservative for Linux.
If this is a CPython bug, I'd like to fix it (in 3.5/3.6 at least).


Bug: variable container width in post list view mode

Describe the bug
The icons in the list view mode are spread out based on how long the repository description is, it should have full width and min/max height sensible defaults

Steps to reproduce

go to https://hot.opensauced.pizza
toggle the list view mode

Affected services
opensauced.pizza
Platforms
Desktop, Mobile, Tablet, TV, VR
Browsers
Chrome, Firefox, Safari, Edge, Opera
Environment
Production
Additional context
No response
Code of Conduct

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

Hi @0-vortex
I have some questions on this issue, would appreciate if you can clarify them

should the width of the card be reduced based on the content of the card or it should still remain the way it is as the full width of the page
should we adjust only the action buttons so that they are equally spaced out no matter the content of the description in the card, so as for t to look consistent across all cards in the page

should the width of the card be reduced based on the content of the card or it should still remain the way it is as the full width of the page

In my opinion the card should stay the same and the div with text-lightGrey text-xs sm:text-base should go 100% width to match the card.

should we adjust only the action buttons so that they are equally spaced out no matter the content of the description in the card, so as for t to look consistent across all cards in the page

I believe so, however, I would not be able to tell what the best layout here would be, aligned left with min-width or covering the full length of the container, would experiment with that locally or poke @bdougie for creative direction 🍕

Alright then, will experiment on my side and make PR when I have something to present

Alright then, will experiment on my side and make PR when I have something to present

Might be good to comment with some screenshots of your experiments 👀

Alright then, will experiment on my side and make PR when I have something to present

Might be good to comment with some screenshots of your experiments 👀

A better suggestion

My gut says.
justify-content: flext-start # justify-start in tailwind
margin-right: 1rem # mr-4 or similar in tailwind

My gut says.
justify-content: flext-start # justify-start in tailwind
margin-right: 1rem # mr-4 or similar in tailwind

This will actually work, but for me instead of using mr-4 I would use space-x-2
This will actually still space each of the item without adding an extra space at the end of the last item

Hello @0-vortex
What do you think??

Hello @0-vortex
What do you think??

That's looking much better, one improvement I would add here is to make the 3 centainers have 1.5x min-width, like 1st box has 5 upvotes but 11ty has 441 issues and coding-interview has 41, giving them a min display for 4 letter box would make the 3rd column stars (10.9k vs 201.8k vs 337.7k) also be aligned.
Translating thousands into "k" units gives us a 5 character min-width we should use to have everything aligned, hopefully forever 🍕

Giving each of the containers a min-width will make it look cooler. And if possible increase the containers wrapper all together, I mean the width

@0-vortex @kelvinsekx
👀

.take


implement FlushNoCloseOlderThan for better control over idle empty connections

For sessions that have long lulls, it makes sense to keep them around in the pool as long as they aren't consuming too much packet buffer space.  This allows us to flush (without closing empty connections) with a tighter age control and the close them after a long time.  We typically don't see out-of-order packets arrive 5 seconds later (especially on a local segment), so we want to get the packets going if they are actually missing or we've picked up mid-stream.   But if we have a stream going and we've processed all the outstanding contiguous segments, we should be able to hold open the connection in wait for future packets.
e.g.
We can call FlushNoCloseOlderThan(t - 5 seconds) and FlushOlderThan(t - 5 minutes) to achieve this.

Updated to use a FlushWithOptions approach as suggested.

Sorry, spaced on this for a while.


Rename refers field to subject

Fixes correspond to the the image spec changes

https://github.com/opencontainers/image-spec/pull/950

Signed-off-by: Sajay Antony<EMAIL_ADDRESS>

CI should be fixed if this is rebased.

Rebased and CI is now passing.
Please help review this again @vbatts @sudo-bmitch @dmcgowan @jdolitsky.

reads much better, I think.. Thx @sajayantony


[WIP] Fix for docker-machine env unset

This is a WIP PR to fix  docker-machine env -u which is actually broken as noted in issue #2204

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "2204-broken-env-unset" git@github.com:jeanlaurent/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~14
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

A related PR https://github.com/docker/machine/pull/2251

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "2204-broken-env-unset" git@github.com:jeanlaurent/machine.git somewhere
$ cd somewhere
$ git rebase -i HEAD~14
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

LGTM


Inline codegen crate into service_crategen

When the service crate generation was first implemented, the codegen crate was copied in with little modification to make it easier to work with. Now that service crategen seems to be working fine, the codegen crate is just unnecessary extra complexity. Inlining it into the crategen crate will allow us to work on crate generation more easily without having to care about what's public and what isn't.
Also, this should improve the development feedback loop time, as previously, codegen changes would require recompiling rusoto_codegen, then recompiling rusoto_service_crategen, then running the code. This removes the first step.

This looks good to me.  I'll wait on the merge until we figure out what we're doing with a 0.25.1 bugfix release.

IMO, I think we should just do a 0.26.0 release. If it's requested, we can put it in a 0.25.1 later.

@matthewkmayer Are you good with me merging this if CI passes? Having the submodule move is getting to be a pain when switching between branches. 😁

If @adimarco gives it a thumbs up that's plenty good! 👍

Hah, of course. I was just referring to the open bugfix release question.

I'm all for a 0.26.0 release as soon as we can get to it. 😄


fix(sns): create SNS to SQS subscription construct

Goal
Create an SNS to SQS subscription construct that encapsulates creating a dead letter queue for failed SNS messages.
*Tested on dev

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


🔔monitoring intro added 🔔

I am merging this but I'll continue updating monitoring section.. #neverdone :D


Etcd Watch does not pass in a channel to etcd.Client.Watch()

Doing some performance testing on the new CF Routing API, we found that under high load (~200 concurrent requests), the Watch function was missing a large amount of events. This translated into a long wait time for propagating routes from the API to the GoRouter. We spiked on adding a channel to the call and it improved performance dramatically.
Is there a reason why the current implementation does not use a channel to receive events from the etcd client?
@crhino && @ebabani

https://gist.github.com/crhino/96f2b76bc275b7726671
That is a diff of our changes for the spike. We tried to preserve the same behavior, although two tests were failing.
It("skips the missing event history and eventually catches up"
It("should write to the error channel"

The error channel  failure was because the etcd.client.Watch() closes the recvChan as well as returning an error, so there was a race condition about which case of the select statement would be triggered. The missing events history seems more relevant.

@onsi Do you know if there was a specific rationale behind always doing a one-off watch instead of passing a channel into the go-etcd client's Watch method? @vito and I looked through the commit history and we didn't see anything obvious. The only things I can think of are that it avoids creating another goroutine to handle receiving the etcd Response instances on a channel and transforming them storeadapter WatchEvent instances and may simplify the error case handling.

@crhino Might also be related to https://github.com/coreos/go-etcd/issues/83, which was fixed in https://github.com/coreos/go-etcd/pull/108, and motivated https://github.com/cloudfoundry/storeadapter/commit/e6225ebbfbd3e6f60b2a974da6052b81fa4d819a.
@fraenkel might have additional historical context?

I fear you are trying to have a guarantee that can't ever be met with Watch. While you are seeing more of the events, eventually you will hit the next threshold that starts to miss the actual events.
The changes are fine. I don't know why someone didn't switch over to this call form. My guess is that it got lost waiting for the PR. There are some improvements that could be made like using the 2 form case on the select to determine the channel is closed rather than a nil value.
The reason why the first test fails is because you are receiving watch events from etcd when the events channel is blocked whereas the current code doesn't bother to do any watches if the events channel is all backed up. You have probably one extra event before it all backs up. My guess is by making events buffered, you would have seen a similar improvement.

@crhino && @ebabani, if you're interested in submitting a PR to improve watch performance, we'd likely pull it in.
Thanks,
Eric

Closing due to inactivity.


How to register a new template with risu

I have downloaded and installed risu and works so far.  I have a template I created and am trying to use it.  I tried 'risu -t ~/Documents/my_template.rb -o my_template.pdf' and was told '[!] Template "my_template.rb" does not exist. Please check the name'.  I tried without the '.rb' and same result.  So, I copied the template to /usr/local/rvm/gems/ruby-1.9.2-p290/gems/risu-1.4.8/lib/risu/templates where I found the other templates that come with risu and same result.  I tried 'risu -l' and it does not show up.
How do I use my own template with risu?

Wow, that was somewhat painful.  I see you changed the template format rather dramatically, especially the table output.  I finally got my template "converted" to the new format and there are quite a few changes to account for.
But I still have a couple of items:

table output column widths are not working.  Used to be
header_widths = {0 => 75, 1 => 125}
:column_widths = header_widths

But the table procedure does not recognize column_widths and my columns widths are formatted way wrong.

I used to use Item.critical_risks.count and this seems to be missing.  CVSS defines critical as a score of 10 and high as 7-9.  Can I get this back so I can continue to report risks as I did last audit?

The table stuff is related to Prawn the PDF generator used, Just something that happen to change while updating risu.
This is an example of using table widths

def top_10_table(output)
	headers = ["Description", "Count"]
	header_widths = {0 => (output.bounds.width - 50), 1 => 50}

	data = top_10_sorted

	output.table([headers] + data[0..9], :header => true, :column_widths => header_widths, :width => output.bounds.width) do
		row(0).style(:font_style => :bold, :background_color => 'cccccc')
		cells.borders = [:top, :bottom, :left, :right]
	end
end

Item.critical_risks was incorrect. Nessus has High/Medium/Low/Info findings, Risu was fixed to be correct.
Item.critical_risks should be Item.high_risks.count now.
You can you the CVSS score of 10 to have something critical if you want but it is still a high finding from the Nessus standpoint.
1.4.9 adds a whole top 10 api for putting into reports. Not sure when I will have that done. Having a baby has cut my time down a lot.

Thanks for the clarification.  I will look at this and let you know if there are other items I need.
I still think that maybe the Critical will be wanted by my boss and the customer but I will go with high/med/low/info for now to match with Nessus.  This ensures there is no compatibility issue between Nessus and the report which got me last audit and made us look bad when we found the bug in nessusdb and had to reclassify the finding categories.
Congrats on the baby; I have been there and understand.


Removing the SDK specs for servermanagement.

This resource provider has been decomissioned in Azure for many months. Removing the SDK specs as part of a broader cleanup.
This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[x] The title of the PR is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[x] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[x] If applicable, the PR references the bug/issue that it fixes.
[x] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[x] I have read the contribution guidelines.
[x] My spec meets the review criteria:

[x] The spec conforms to the Swagger 2.0 specification.
[x] The spec follows the guidelines described in the Swagger checklist document.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Automation for azure-sdk-for-python

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

@dyhims are you a MSFT employee?  If so it would be good to join the Azure org else it looks like some random person wanting to delete stuff.  :)
@steved0x I see you've touched these swaggers in the past, is it ok to delete them?

@jhendrixMSFT Oops! Didn't realize I had to accept the invitation. Joined.

Automation for azure-sdk-for-node

Automation for azure-sdk-for-java


update: web3/abi -  allow floats to be treated as integers

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 10 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.09%) to 55.782%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

chainsight-cdk/src/web3/abi.rs
0
10
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.09%

Covered Lines:
3343

Relevant Lines:
5993

💛  - Coveralls


compile with Scala 3

Waiting for pekko-http/pekko-management Scala 3 artifacts

also blocked by https://lists.apache.org/thread/gp3rwcdyskv9rvgv1ow0mlgh8q81gz1l (pekko-connectors-cassandra is ready in a branch but we need to merge it to get snapshot jars)


PostgreSQL backup and restore not a default schema

When I want create backup or restore not a default schema in postgresql 9.5, I received error:
pg_dump: No matching schemas were found
I think so, if the schema name around it '"<schema name>"' that so good. I try it the terminal and was good.

Can't reproduce. Please post screenshot of backup wizard or pg_dump command line + error message

<EMAIL_ADDRESS>--format=c -n '"A1234"' --verbose --host=localhost --port=5432 --username=postgres databasename > ~/Desktop/dump.backup
this command works

Yep, you are right. Thanks for checking this.

This problem still exist on MacOs Catalina

This problem still exist on Windows 10 Enterprise.

@Ayxan1 do you use the most recent dbeaver version (6.3.4)?

yes

@Ayxan1 please write more details then. What exactly error do you see, is pg_dump command line correct?

There are multiple schemas in my database. I want to backup only one of my schemas from my database.

This is still an issue. I'm on MacOS Catalina, and I get the same error as @Ayxan1, I have several schemas so I get a no matching tables were found error, even when the query states the tables as "my_schema".my_table.

Me too Diego, so, what I did was took the script from de window and
executed in a shell in terminal, works fine, and then work in pg admin 4.
Regards,
Miguel
El vie., 20 mar. 2020 a las 14:57, Diego Alvarado<EMAIL_ADDRESS>escribió:

This is still an issue. I'm on MacOS Catalina, and I get the same error as
@Ayxan1 https://github.com/Ayxan1, I have several schemas so I get a no
matching tables were found error, even when the query states the tables
as "my_schema".my_table.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dbeaver/dbeaver/issues/4784#issuecomment-601836223,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJXK52MA7ILZ6FCMOCYKB3RIOVCHANCNFSM4GJXX7FQ
.


4.x: Get rid of WARNINGs when starting quickstart

Environment Details

Helidon Version: 4.1.0-SNAPSHOT
Helidon MP

Problem Description
I created the quickstart using the cli
helidon init  --reset --url file:///Users/jdipol/GitHub/barchetta/helidon/archetypes/archetypes/target/cli-data

Build and run it and you get WARNINGs:
2024.07.19 16:41:59 WARNING io.helidon.openapi.OpenApiFeature Thread[#1,main,5,main]: Static OpenAPI file not found, checked: [META-INF/openapi.json, META-INF/openapi.yaml, META-INF/openapi.yml]

2024.07.19 16:41:59 WARNING org.glassfish.jersey.message.internal.MessagingBinders Thread[#1,main,5,main]: A class jakarta.activation.DataSource for a default provider MessageBodyWriter<jakarta.activation.DataSource> was not found. The provider is not available.

2024.07.19 16:41:59 WARNING org.glassfish.jersey.server.wadl.WadlFeature Thread[#1,main,5,main]: JAX-B API not found . WADL feature is disabled.

WADL?? Seriously?
I know two of these are from Jersey, but it would be good to get them cleaned up.

PR #9451 fixed the warning from OpenApiFeature and org.glassfish.jersey.server.wadl.WadlFeature
That leaves the MessagingBinders warning which requires more thought.


Update stream-analytics-edge.md

Updated supported input and output adapters.

@an-emma : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @an-emma - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. We can keep this PR open for review and merge, but would you make future content updates in the private repo? Thank you!

#sign-off


@return not parsing correctly

Hello,
Tags that don't have a name, such as a @return tag, get parsed incorrectly.
For example:
   * @return {undefined}    Doesn't return anything

Gets parsed as:
 { tag: 'return',
   type: 'undefined',
   name: 'Doesn\'t',
   optional: false,
   description: '
return anything
',
   line: 3,
   source: '@return {undefined}   Doesn\'t return anything' }

Adding a custom parser for the name property allows the text after {type} to act as the description:
var fs = require( 'fs' );
var parser = require( 'comment-parser' );
var PARSERS = parser.PARSERS;
var content = fs.readFileSync( './path/to/source.js', { encoding: 'utf8' } );

function parse_name_custom( str, data ) {

    // Use original `parse_name` if not `return` tag
    if ( data.tag !== 'return' ) {
        return PARSERS.parse_name( str, data );
    }

    // Set the text as the `description` property
    data.description = str;

    return {
        source: str,
        data: data
    };
}

var output = parser( content, {
    parsers: [
        PARSERS.parse_tag,
        PARSERS.parse_type,
        parse_name_custom,
        PARSERS.parse_description
    ]
});

I know my answer is too late, but still. I've read through source code and tried to make changes to standard flow. Didn't get anything that would look fine and keep parser generic. Ended up with something very similar to what @ryanfitzer proposed. Would this work for you @omerts.
function skip(parser, tag, stubData) {
  return function(str, data) {
    return data.tag === tag ? {
      source : '',
      data   : data
    } : parser(str, data);
  };
}

parse(source, {
  parsers: [
    parse.PARSERS.parse_tag,
    skip(parse.PARSERS.parse_type, 'return'),
    skip(parse.PARSERS.parse_name, 'return'),
    parse.PARSERS.parse_description
  ]
});

I am going to close this issue if no objections

@yavorskiy Regarding source : '', in your skip function, I was under the impression that str is supposed to be returned. I guess I misunderstood things a bit.
Also, what is the idea behind stubData? I don't see it used anywhere.

sorry, updated my snippet, was copypasting and mistakenly left stubData there. As for what parser is returning there is some notes in README "...returns null or {source: '', data:{}} where source is consumed substring and data is a payload with tag node fields." sorry if It wasn't explained well. So stubbed parser not consuming anything, i.e. leaving string untouched for next parser in chain

@yavorskiy  sorry for the late response, the above custom parser, causes the type to be part of the description, so the current output is:
{ tag: 'return',
  description: '{string} The description of the direction',
  optional: false,
  type: '',
  name: '',
  line: 4,
  source: '@return {string} The description of the direction',
  formattedDescription: '
{string} The description of the direction
' }

But I got the idea, I could work my way through, even though, imho @return should be natively supported.

You are right, you can make a custom parsing rule and have it as flexible as you need. As for natively supported @return, idea was to build generic parser agnostic to actual tags

@omerts You are right, you can make a custom parsing rule and have it as flexible as you need. As for natively supported return, idea was to build generic parser agnostic to actual tags


post chat id, token, token alias to hub on token expiration

@zoeself register

@zoeself register

@h1alexbel I've just registered this ticket as a task and will assign it to someone soon. Thanks!

@lisitsaaa this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-20T15:09:13.147162.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@lisitsaaa Don't forget to close this ticket before the deadline (2023-09-20T15:09:13). You are past the first half of the allowed period.

@lisitsaaa Looks like you've missed the task deadline (2023-09-20T15:09:13). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@erstediy this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-09-30T15:29:45.765799.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@erstediy Looks like you've missed the task deadline (2023-09-30T15:29:46). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@LeonovAlexProg this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-11-19T14:32:59.668505.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@LeonovAlexProg Don't forget to close this ticket before the deadline (2023-11-19T14:33). You are past the first half of the allowed period.

@LeonovAlexProg Looks like you've missed the task deadline (2023-11-19T14:33). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@iColdLight this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-11-29T15:01:45.508083.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@iColdLight Don't forget to close this ticket before the deadline (2023-11-29T15:01:46). You are past the first half of the allowed period.

@iColdLight Looks like you've missed the task deadline (2023-11-29T15:01:46). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@l3r8yJ this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-09T15:32:12.015547.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@l3r8yJ Looks like you've missed the task deadline (2023-12-09T15:32:12). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@h1alexbel this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-19T16:01:47.365748.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@h1alexbel Don't forget to close this ticket before the deadline (2023-12-19T16:01:47). You are past the first half of the allowed period.

@h1alexbel Looks like you've missed the task deadline (2023-12-19T16:01:47). You are now resigned from this task.
Please stop working on it, you will not be paid. I will assign it to someone else soon.

@h1alexbel this is your task now, please go ahead. Deadline (when this ticket should be closed) is 2023-12-29T16:30:44.346548.
Estimation here is 60 minutes, that's how much you will be paid.
Remember, you don't have to solve everything in this ticket - you can solve it partially and leave todo markers in the code, which will become future tasks.
If you have any questions don't ask me, I'm not a technical person. Open new tickets instead.
If you don't have time or simply don't want to work on this, you can always resign.

@h1alexbel Don't forget to close this ticket before the deadline (2023-12-29T16:30:44). You are past the first half of the allowed period.


"service e2e-test-webhook" not found cause delete failed

Thank you for your excellent script! It really help me a lot!
I do a k8s e2e test, after that I have two namesapces which can't be delete

knsk's output:
Kubernetes NameSpace Killer
Checking if kubectl is configured... ok
Checking for unavailable apiservices... not found
Checking for stuck namespaces... found
.: Checking resources in namespace webhook-7327... found

configmap/kube-root-ca.crt... dry-run
timeout 15 kubectl -n webhook-7327 --grace-period=0 --force=true delete configmap/kube-root-ca.crt
timeout 15 kubectl -n webhook-7327 patch configmap/kube-root-ca.crt -p '{"metadata":{"finalizers":null}}'
.: Checking resources in namespace webhook-9779... found
configmap/kube-root-ca.crt... dry-run
timeout 15 kubectl -n webhook-9779 --grace-period=0 --force=true delete configmap/kube-root-ca.crt
timeout 15 kubectl -n webhook-9779 patch configmap/kube-root-ca.crt -p '{"metadata":{"finalizers":null}}'

my /tmp/webhook-7327.json's content:
{
"apiVersion": "v1",
"kind": "Namespace",
"metadata": {
"creationTimestamp": "2021-03-17T12:51:52Z",
"deletionTimestamp": "2021-03-17T12:52:49Z",
"labels": {
"e2e-framework": "webhook",
"e2e-run": "bd69f395-1e7b-4b4a-b268-9e40135e2b64",
"webhook-7327": "true"
},
"managedFields": [
{
"apiVersion": "v1",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:metadata": {
"f:labels": {
".": {},
"f:e2e-framework": {},
"f:e2e-run": {},
"f:webhook-7327": {}
}
},
"f:status": {
"f:phase": {}
}
},
"manager": "e2e.test",
"operation": "Update",
"time": "2021-03-17T12:51:52Z"
},
{
"apiVersion": "v1",
"fieldsType": "FieldsV1",
"fieldsV1": {
"f:status": {
"f:conditions": {
".": {},
"k:{"type":"NamespaceContentRemaining"}": {
".": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
},
"k:{"type":"NamespaceDeletionContentFailure"}": {
".": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
},
"k:{"type":"NamespaceDeletionDiscoveryFailure"}": {
".": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
},
"k:{"type":"NamespaceDeletionGroupVersionParsingFailure"}": {
".": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
},
"k:{"type":"NamespaceFinalizersRemaining"}": {
".": {},
"f:lastTransitionTime": {},
"f:message": {},
"f:reason": {},
"f:status": {},
"f:type": {}
}
}
}
},
"manager": "kube-controller-manager",
"operation": "Update",
"time": "2021-03-17T12:52:54Z"
}
],
"name": "webhook-7327",
"resourceVersion": "1502908",
"uid": "2ddf4230-d197-4f50-ba0f-28e099a6797b"
},
"spec": {
"finalizers": [
    ]
},
"status": {
    "conditions": [
        {
            "lastTransitionTime": "2021-03-17T21:23:28Z",
            "message": "All resources successfully discovered",
            "reason": "ResourcesDiscovered",
            "status": "False",
            "type": "NamespaceDeletionDiscoveryFailure"
        },
        {
            "lastTransitionTime": "2021-03-17T12:52:54Z",
            "message": "All legacy kube types successfully parsed",
            "reason": "ParsedGroupVersions",
            "status": "False",
            "type": "NamespaceDeletionGroupVersionParsingFailure"
        },
        {
            "lastTransitionTime": "2021-03-17T12:52:54Z",
            "message": "Failed to delete all resource types, 1 remaining: Internal error occurred: failed calling webhook \"deny-unwanted-configmap-data.k8s.io\": Post \"https://e2e-test-webhook.webhook-7327.svc:8443/configmaps?timeout=10s\": service \"e2e-test-webhook\" not found",
            "reason": "ContentDeletionFailed",
            "status": "True",
            "type": "NamespaceDeletionContentFailure"
        },
        {
            "lastTransitionTime": "2021-03-17T12:52:54Z",
            "message": "All content successfully removed",
            "reason": "ContentRemoved",
            "status": "False",
            "type": "NamespaceContentRemaining"
        },
        {
            "lastTransitionTime": "2021-03-17T12:52:54Z",
            "message": "All content-preserving finalizers finished",
            "reason": "ContentHasNoFinalizers",
            "status": "False",
            "type": "NamespaceFinalizersRemaining"
        }
    ],
    "phase": "Terminating"
}

}
my /tmp/webhook-7327.json.log 's conteng:
{
"kind": "Status",
"apiVersion": "v1",
"metadata": {
},
"status": "Failure",
"message": "the body of the request was in an unknown format - accepted media types include: application/json, application/yaml, application/vnd.kubernetes.protobuf",
"reason": "UnsupportedMediaType",
"code": 415
my kube-apiserver's log:
Apr 26 20:19:37 master1 kube-apiserver[1168]: E0426 20:19:37.557723    1168 dispatcher.go:159] Internal error occurred: failed calling webhook "deny-unwanted-configmap-data.k8s.io": Post "https://e2e-test-webhook.webhook-7327.svc:8443/configmaps?timeout=10s": service "e2e-test-webhook" not found
Apr 26 20:19:37 master1 kube-apiserver[1168]: W0426 20:19:37.597769    1168 dispatcher.go:134] Failed calling webhook, failing closed deny-unwanted-configmap-data.k8s.io: failed calling webhook "deny-unwanted-configmap-data.k8s.io": Post "https://e2e-test-webhook.webhook-9779.svc:8443/configmaps?timeout=10s": service "e2e-test-webhook" not found

I think the problem has relation with ""e2e-test-webhook" which I really don't have

@thyarles hi, do you have any suggestion ?

Hi @shiguowang,
Thanks for taking time to talk about the script, I'm happy that it helps... I use it once a month on my four kubernetes clusters to see if there any mess.
Could you please tell what is the version of your kubernetes? Is it running on minikube, microk8s or rke?


Disable the padding of the p tag inside the blockquote tag

Motivation
Extra padding in quote block makes all the text not vertically aligned. Looks weird.

Have you read the [Contributing Guidelines on pull requests]
Yes
Test Plan
Linking to a page in the netlify preview deploy that shows the padding removed.
Related PRs
None

Test plan failed. CSS Specificity rules strike again.

Beautiful.
Especially 1 line quoteblocks look a lot better.
Before:

After:

🎉 💃 🌮

Excellent. Thanks!


closes #6 - Collapsible nav for small screens

This closes issue #6
I tried to be as consistent as possible with the CSS set-up, hence the integrated custom media-query, but also felt I had to add a minimum of one class and an ID on the nav.
The collapsible navigation is progressively enhanced: without javascript the default navigation is still displayed. The toggle button and icons are inserted with (vanilla) javaScript, and only collapsed on smaller screens.
I put the javaScript in src/js/app.js because it was already there and included, so this was convenient, but I can see how this could be done differently, like for example inlined.

An example of an implementation of this can be seen over here in an adaption of this template for Sculpin.
A demo of an implementation with Sass on Codepen of a similar nav.

@okabrionz thanks for this!
Two thoughts:

We can just add the static markup and show via css, no need to insert via js.
For the js that remains, put it in a separate file next to app.js and import it - this helps establish the pattern of importing modules for devs using the template.

@erquhart Latest commits addresses the two concerns.

The toggle button is still only visible and navigation items are still only hidden - on smaller screens - if and when javaScript has kicked in.
added a skip navigation link for reasons of accessibility

@atelierbram I made your navigation bar stick at the top, I think it looks quite nice!
I took inspiration from https://codepen.io/Guilh/pen/JLKbn and changed the .nav-collapsible attributes in src/css/imports/_navigation-collapsible.css as such:
.nav-collapsible {

  position: fixed;
  overflow: hidden; /* [1] */
  display: block;
  width: 100%;
  top: 0;
  z-index:150;
  margin-bottom: -80px;
  box-shadow: 0 2px 3px rgba(0,0,0,.4);

  @media (--breakpoint-not-small) {
    display: flex;
  }

}

Seems to be working in both Chrome and Firefox, but... I'm not exactly sure I know what I'm doing.
Cheers,
Egor

@zindy I can see why one would want something like this on such a brochure website, but there is room for improvement I think. In my mind this user interface pattern would be less intrusive and more helpful to a person if the nav-bar only was revealed when scrolling up on the page.
This example demoing exactly that (with vanilla javascript).

@atelierbram Thank you for the example code, this looks very nice indeed! I did think that having a navbar permanently stuck at the top isn't ideal on small devices. I'll see what I can do but I don't speak css/js/html very well.
Cheers,
Egor


EncryptCookies->encrypt() doesn't disable cookie names defined in the $expect property ?

I have used the $except property as explained in the docs, to disable encryption for a given cookie name: http://laravel.com/docs/5.1/responses#attaching-cookies-to-responses
namespace App\Http\Middleware;

use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;

class EncryptCookies extends BaseEncrypter
{
    /**
     * The names of the cookies that should not be encrypted.
     *
     * @var array
     */
    protected $except = [
        'locale',
    ];
}

Unfortunately, this does not seem to prevent the 'locale' cookie from being encrypted.
I have taken a look at the encrypt() method in the BaseEncrypter:
namespace Illuminate\Cookie\Middleware;

class EncryptCookies
{

    /**
     * Encrypt the cookies on an outgoing response.
     *
     * @param  \Symfony\Component\HttpFoundation\Response $response
     * @return \Symfony\Component\HttpFoundation\Response
     */
    protected function encrypt(Response $response)
    {
        foreach ($response->headers->getCookies() as $key => $cookie) {
            if ($this->isDisabled($key)) {
                continue;
            }

            $response->headers->setCookie($this->duplicate(
                $cookie, $this->encrypter->encrypt($cookie->getValue())
            ));
        }

        return $response;
    }

}

Shouldn't it be $this->isDisabled($cookie->getName()) instead of $this->isDisabled($key) ?
See line 124 in https://github.com/laravel/framework/blob/master/src/Illuminate/Cookie/Middleware/EncryptCookies.php

Note: actually, the problem seems to occur with queued cookies only.


fix(deck): Patch steamos-priv-write to address false failures

Fix from ChimeraOS: https://github.com/ChimeraOS/chimeraos/commit/fa7697fd9980dda59df5da52c4fbca0d24f405ca#diff-9a8d1fe67ff1847580d67f802d4e030c51fec313a023b1e51240cea9f3129006

🐐


Added post socialite hook and updated README

added post socialite hook for additional socialite validation and updated to match recent updates.

@josh48202  I haven't forgot about this!
I'm completely swamped with work right now.
The good news is we're using Socialment in the project and it should be coming to a close in the first few weeks after the new year.
This should really allow me to give the new functionality a run for it's money and battle test it.
I am planning on getting this code in hopefully sooner rather than later.
Thanks again for submitting this and I do plan to get it in. Just wanted to let you know I hadn't forgotten about you!

loving all the new updates. just checking in on this.

Hey @josh48202, lets catch up on this.
I reviewed this and wanted to get your thoughts on how I've implemented this in another 'glue' package I use on a few sites.
https://github.com/chrisreedio/socialment-bastion-azure/blob/3.x/src/SocialmentBastionAzureServiceProvider.php#L144
Here I do some checks to see if the user attempting to login can 'access the application'.
I've wanted to do a kind of 'plugin/addon' system for this package to enhance the functionality of specific drivers while keeping driver specific code out of the code.
Would love to hear any thoughts you have on this.
Also appreciate the kind words!


⚠ API - Spain (ES) has degraded performance

In a4ff9a8, API - Spain (ES) ($URL_API) experienced degraded performance:

HTTP code: 200
Response time: 4953 ms

Resolved: API - Spain (ES) performance has improved in 56c9c3a.


header picture on mobile pixelated

header picture on mobile pixelated

Closing this question as have not received any details to clearly describe the issue.


Set job metadata

resolves #2
implements the set_metadata method and allows metadata to be associated with a job via the create_job function.

Coverage increased (+1.4%) to 98.684% when pulling 80ad4e3514335fb3472997d0c722d3407bd7ecab on set-metadata into 96c67e67acb38e732c04b5e4176cfd972f2bdc3d on master.

Coverage increased (+1.4%) to 98.684% when pulling 80ad4e3514335fb3472997d0c722d3407bd7ecab on set-metadata into 96c67e67acb38e732c04b5e4176cfd972f2bdc3d on master.

Coverage increased (+1.4%) to 98.684% when pulling 2cea93ddc0caf21d3fe0ca726269e86e0d9a057b on set-metadata into 96c67e67acb38e732c04b5e4176cfd972f2bdc3d on master.

quiet down coveralls, we hear you


Default log folder should not be in %ProgramFiles%

Logs files and similar changeable content shouldn't exist in the %ProgramFiles% hierarchy, as per https://msdn.microsoft.com/en-us/library/ms995853.aspx (Not sure if there is a fresher version of this, but the concept remains).
From https://msdn.microsoft.com/en-us/library/windows/desktop/dd378457(v=vs.85).aspx, it appears FOLDERID_ProgramData is the 'proper' location these days.
[Of course, Microsoft doesn't often follow this guidance themselves, but no reason we shouldn't try...]

@Froosh I agree with this one, but not sure program data is a better place to put them, particularly since this folder is hidden by default. I think I'll leave them at this spot, but the user can always change the location at installation time if needed.


Tracking daily tasks

Thanks a lot for checking! Sorry, I completely forgot to create a PR. Hope you're doing well :)

I'm glad to see you back here🥹 I thought u left too.


Morrowc fix 01

Robert, this gets past the failed module install in the generate script.

ping cla bot!


"can't load module: mediaelement-core/swf" warning in console

I'm loading polyfiller async with requirejs with the following config:
webshims.setOptions({
waitReady: false,
basePath: "/static/libs/webshims/1.8.7/shims/"
});
webshims.polyfill("forms");
The shims work as expected. However, on browsers that don't support HTML5 forms I'm seeing two warnings in the JavaScript console:
"can't load module: mediaelement-core"
"can't load module: mediaelement-swf"
I wasn't expecting this since I didn't ask to load the mediaelement features. It seems the mediaelement shim is getting included on the page anyway in the file 9.js fetched by the polyfiller. I tried changing the call to polyfill("forms") to polyfill() to load everything but still receive the warning.
I also tried removing the mediaelement features from polyfiller manually but that didn't help. Any ideas what could be causing this?

In my testing the console warnings are visible in Safari 5, IE8, and Firefox 3...

I do have a custom build of Modernizr that does not have the audio/video tests included, as I didn't think I needed them. This seems to be the reason why the mediaelement-core and mediaelement-swf modules aren't registered. But I thought they were designed to be optional and the tests weren't required... not sure why loading the 'forms' feature would try to load the mediaelement modules...

Yes, this wasn't a requirement and optional. Due to the fact, that I have introduced clientside combohandler, the combos which do include not required packges can be loaded and this creates the problem.
To workaround this, you can create a custom build of polyfiller.js, which does not include audio/video in this case the combos, which include mediaelement-core are marked.
Here is the webshims builder (look for Customize Webshims lib's polyfiller.js)

I tried to do what the build does manually, but I guess I didn't do it correctly (I went down to the "Start Feature" section and starting removing the optional feature registrations). The reason I didn't just use the builder is it produces a minified version, and  I'd like a development version for development because I rely on the RequireJS optimizer to minify (I also need wrap the library in the AMD module format which is somewhat more difficult when working with pre-minified code). Any suggestions?

Well, it appears you've already got AMD support built in, so no wrapping would be necessary then...

I was successfully at plugging in a custom polyfiller build with AMD/requirejs without having to modify the source. The console warnings are also no longer present even without Modernizer.audio/video. I'll close out this issue. Thanks.


First update form this file - system messages

We released the Pagekit Beta today. I close this pull request because the code base completely changed. Please create a new one


Fix Node 10

Fixes https://github.com/AnalyticalGraphicsInc/3d-tiles-tools/issues/161
One test is failing locally in Linux:
1) optimizeGlb compresses textures in a glb using the gltf-pipeline
  Message:
    Failed: Expected promise to resolveError: spawn /home/slilley/Code/3d-tiles-tools/tools/node_modules/gltf-pipeline/bin/linux/crunch EACCES

because the gltf-pipeline texture compression binaries don't have their executable bit set after package is install. I disabled the test for now, but more reason to eventually wrap up 2.0-tools if time allows.

There are eslint errors for var/let/const. I assume we can fix those using eslint itself, do we want to do that in this PR?
Otherwise looks good. Tested on Windows and Linux.

Let's fix that later.


bower.io search page is broken

Any search on https://bower.io/search/ results in an error state.

First noticed on Wed Nov 23. Reproduced on Safari, FireFox and Chrome on macOS 13.0.1
All API requests in the to libraries.io in the network tab appear to be returning 404 errors

Moved this issue to the Bower.io repository: https://github.com/bower/bower.github.io/issues/312


Generation:  1 Warning: Error in {: task 1 failed - "could not find function "calculate_tour_distance""   62:

> shiny::runApp()
Loading required package: shiny

Listening on http://<IP_ADDRESS>:5626
Loading required package: foreach
Loading required package: iterators
Loading required package: parallel

Attaching package: ‘dplyr’

The following objects are masked from ‘package:stats’:

    filter, lag

The following objects are masked from ‘package:base’:

    intersect, setdiff, setequal, union

Attaching package: ‘geosphere’

The following object is masked from ‘package:shiny’:

    span

[1] "Set up the EA"
Generation:  1
Warning: Error in {: task 1 failed - "could not find function "calculate_tour_distance""
  62: <Anonymous>

wrong project


How to share objects from main process to Uvicorn workers

I'm running FastAPI on Uvicorn. I'm starting the server programmatically as:
    uvicorn.run("poc.director_repo:api",
                host="<IP_ADDRESS>",
                port=poc.SERVICE_PORT,
                log_level="debug"
                reload=True)

Before that there's one object that has been initiated. But when the request arrives to Uvicorn worker process the object is None since it's a sub-process. Is there anyway I can share this object to the Uvicorn workers?

From what I know uvicorn do not propose a preload option to share easily data between process ( you can still do it manually with named shared memory )
You can use gunicorn for that, a full example there https://github.com/tiangolo/fastapi/issues/2425#issuecomment-734790381
You can close your issue , since this is not a fastAPI issue but a uvicorn one. -> https://github.com/encode/uvicorn

Thanks for the help here everyone! 👏  🙇
If that solves the original problem, then you can close this issue ✔

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.


stale package: unwanted origin

Prerequisites

[X] Have you checked for an existing issue describing the issue?

The issue is described in #846 but without solution:
[00:00:20] Deleting git-tiny-2.35.1.pkg: stale package: unwanted origin devel/git@tiny
[00:00:21] Deleting open-vm-tools-nox11-11.3.5_2,2.pkg: stale package: unwanted origin emulators/open-vm-tools@nox11
[00:00:22] Deleting porttools-1.10.pkg: missing dependency: git-tiny-2.35.1
Those 3 ports are rebuilt every run of poudriere.
.if ${.CURDIR:M*/devel/git}
FLAVOR=   tiny
.endif
.if ${.CURDIR:M*/emulators/open-vm-tools}
FLAVOR=   nox11
.endif

I bumped into this with a more clear reproducer:
Deleting gammaray-3.1.0.pkg: stale package: unwanted origin devel/gammaray@qt6

The culprit code is common.sh
	stale_pkg=0
	if have_ports_feature FLAVORS && \
	    ! get_pkgname_from_originspec "${originspec}" new_pkgname; then
		stale_pkg=1
	fi

and the get_pkgname_from_originspec itself. The ${DEFAULT_FLAVOR} variable looks particularly strange.
Anyways, the important thing about this port is that it has FLAVORS= qt5 qt6, defaulting to qt6. It doesn't have a flavor named default, which is probably a root for the issue. Porter's Handbook doesn't state that a default flavor should always be named default, so this is a Poudriere bug.

Oh, maybe I'm mistaken a bit and the root cause is that the resulting package is named gammaray for @qt6 and gammaray-qt5 for @qt5.


Latest version of yt-dlp can't read my configuration file.

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
After an update to the latest vesion, yt-dlp it is no longer able to read my configuration file. I am using Windows10 and I do installed yt-dlp using PIP package manager.
The configuration file it is located under:
C:\Users\myname\AppData\Roaming\yt-dlp\config.txt
and inside of this file I do have a download rate limiter --limit-rate 0.5M which seems that yt-dlp it is not respecting anymore, looks like it is downloading now at the full speed of my internet connection.
How I can fix this issue?
Verbose log
Not available.

Duplicate of https://github.com/yt-dlp/yt-dlp/issues/3070


[DO NOT MERGE] try to return 2docker-test

Just for test
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

Hey @giggsoff -- now that @eriknordmark and your work got merged into EVE -- can we please revive this?