Bug adding a custom legend

Context
I tried to add a custom legend in the Neighbourhood layer of the map added below and Builder wouldn't do it.
Current Result

Browser and version
Chrome Version 60.0.3112.113 (Official Build) (64-bit)
.carto file
Airbnb Madrid listings (on 2017-09-05 at 13.25.37).carto.zip

I've been messing around a few minutes and I couldn't reproduce it:

Any specific steps you followed or any previous thing you did? I'll try a few minutes more

I don't remember anything in particular. I will try again in my account, maybe it was a temporal glitch or someone fixed it indirectly since then.

Now the one that isn't working is the category one 😐

Maybe related to this Support ticket.

Maybe!

Yes, it's because of that, if your internet connection is slow, and you change between legends fast we send 2 POST requests, instead of the normal cycle which is POST -> DELETE -> POST -> DELETE, this end up in an error thrown by the backend, which breaks everything:

@rubenmoya can we fix it?

I hope so 😂  I'll try a few things and see if that fix it

Deployed to ded15 :)

Re-deploying to ded-15

Deployed

@rjimenezda LGTM!!! Bravo!

It looks like something is wrong. Now no legends are showing.

I found that in production custom legends can not be added even without other legends:

Btw, I cannot view any legend in ded-15.

In production is showing this error message: Failed to load resource: the server responded with a status of 422 (Unprocessable Entity)

As I said in my previous comment, in production the error is given when you send a post request when the first one hasn't finished, this happens with a slow connection when clicking in 2 different legends, since it's validated in backend the second one cannot be created, because it's the same type as the first one (color), and throws a 422 error (valid request but unable to process it), the "types per attribute" are this ones:
LEGEND_TYPES_PER_ATTRIBUTE = {
    color: %w(category choropleth custom custom_choropleth torque),
    size: %(bubble)
}.freeze

I solved this by adding a queue which waits for the last request to finish before adding a new one, it also checks the types of the new legend and removes the previous one if it's the same type, so the queue doesn't fill up and you end up waiting for 100 requests.
On Friday afternoon it was working, but we found that we needed to wait for the delete request too, which was my last commit. This morning it seemed to be working on ded15 so I don't know what happened to not be working now :(

Deployed previous version v4.10.56 in ded10. Category legends are working. Custom legends are not working.

In production 🚀

Rock&Roll @rubenmoya @rjimenezda :-)


Allow exporting of the Raven setup files to the users

Currently, users must build their Raven model files using the provided guidelines. This can sometimes be complex. This RAVEN package does the grunt work to be able to run and so it would be possible to use this service to generate Raven input files that can then be used to run the Raven model locally.
In essence, we would like to Export generated rv? files.

Working on it.
Should the output be a zip file storing the configuration files ?
How should it behave for multiple parameters and multiple models ? Do you want subdirectories inside the zip for each model run ?

Good question. Should we limit this option to single model setups? If we want to go for the all-in-one approach, then yes I think we should have everything in separate zip files. However maybe the EXE should not be included in the package for the larger sets (i.e. more than one model setup/parameter set)? Or do we want to simply not put the model .exe at all?

I was not planning to include the .exe anyway, as it would be 1. large, 2. client hardware dependent.
The question is really about the rv configuration file structure when there is more than one model run. We're constrained by WPS in having a single output file for all configuration files, the freedom we have is in what we put into that zip file and how it's organized.

OK then yes, I think your idea of having nested zip files is the best way forward. Sounds good to me anyways. And good point for the exe being system dependent, didn't think of that.


Rails - STI bug for ActiveRecord_Relation, works fine for a single record

Simple explanation of the bug
MyModelBase.all.decorate
=> Could not infer a decorator for MyModelBase. (Draper::UninferrableDecoratorError)

MyModelBase.all.first.decorate
=> #<MyModelSpecificDecorator:0x000000012116d470

Workaround
PS: Can cause some performance drawbacks in some cases
MyModelBase.all.map(&:decorate)

Expected behavior
MyModelBase.all.decorate shouldn't raise an error.

The question is: What result do you expect? What class do you want it to be / what methods to have?

You may define basic MyModelBasesDecorator < Draper::CollectionDecorator. It may be empty, that will do.

If you don't want to for some reason, you can use a basic collection decorator: Draper::CollectionDecorator.decorate MyModelBase.all explicitly. Every record will be decorated with a decorator matching its class as in case 1.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade" workflow

SonarQube Quality Gate Result

Result: :white_check_mark: OK
Triggered by @aws-solution-clickstream-analytics on pull_request

Metric
Status
Value
Error Threshold

Reliability rating
:white_check_mark: OK
1
> 1

Security rating
:white_check_mark: OK
1
> 1

Sqale rating
:white_check_mark: OK
1
> 1

Coverage
:white_check_mark: OK
83.70
< 80

Duplicated lines density
:white_check_mark: OK
8.50
> 30

Blocker violations
:white_check_mark: OK
0
> 0

Bugs
:white_check_mark: OK
0
> 0

Code smells
:white_check_mark: OK
9
> 40

Critical violations
:white_check_mark: OK
0
> 0

Major violations
:white_check_mark: OK
0
> 0

Vulnerabilities
:white_check_mark: OK
0
> 0

View on SonarQube
updated: 7/22/2024, 00:51:14 (UTC+0)

SonarQube Code Analytics
Quality Gate passed

Additional information
The following metrics might not affect the Quality Gate status but improving them will improve your project code quality.
Issues
 0 Bugs
 0 Vulnerabilities
 0 Code Smells
Coverage and Duplications
No data Coverage
No data Duplication


Spring Security

官方文档: Spring Security Architecture
AuthenticationProvider和UserDetailsService的使用场景
As far as I can understand when you want custom authentication in Spring Security you can either implement a custom AuthenticationProvider or custom UserDetailsService.
@Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth
            //.authenticationProvider(authProvider)  // option 1
            .userDetailsService(userDetailsService); // option 2

    }

In the AuthenticationProvider you can check the username and password and return Authentication with your custom object in it.
public Authentication authenticate(Authentication authentication){
        if (checkUsernameAndPassword(authentication)) {
            CustomUserDetails userDetails = new CustomUserDetails();
            //add whatever you want to the custom user details object
            return new UsernamePasswordAuthenticationToken(userDetails, password, grantedAuths);
        } else {
            throw new BadCredentialsException("Unable to auth against third party systems");
        }
    }

In the UserDetailsService you get only the username and when you return the custom UserDeatails, the framework performs a check on the password.
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
        CustomUserDetails user = new CustomUserDetails();
        //add whatever you want to the custom user details object
        return user;
    }

Looks like both can produce similar results. So the question is what is the difference? When to user one vs the other?
回答:
The answer is inside your question. when you are using a different authentication system, and the password is not provided in your own database/data model, you have to use the AuthenticationProvider. for example, I've worked in a project that the customer had a centralized authentication system (CAS), so my system had no idea about the password, I had to implement the AuthenticationProvider and send the given password to the CAS, and act according to its answer.
But in another system, I was storing the password in my database, so all I had to do was implementing the UserDetailsService and check if the user exists in my database or not, spring-security had to do the rest.
References
Implementing Custom Authentication in Spring Security

Spring Security Custom Authentication - AuthenticationProvider vs UserDetailsService

http://www.baeldung.com/spring-security-authentication-provider
https://www.future-processing.pl/blog/exploring-spring-boot-and-spring-security-custom-token-based-authentication-of-rest-services-with-spring-security-and-pinch-of-spring-java-configuration-and-spring-integration-testing/
https://auth0.com/blog/securing-spring-boot-with-jwts/
https://stackoverflow.com/questions/32548372/how-to-secure-rest-api-with-spring-boot-and-spring-security

https://stackoverflow.com/questions/49717573/property-security-basic-enabled-is-deprecated-the-security-auto-configuration


bundle command throws error

What did you do?
What did you expect to happen?
What happened instead?

Error details
ArgumentError: no HTTP request path given
/usr/local/Cellar/ruby/2.2.2/lib/ruby/2.2.0/net/http/generic_request.rb:24:in `initialize'
/usr/local/Cellar/ruby/2.2.2/lib/ruby/2.2.0/net/http/request.rb:14:in `initialize'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/fetcher.rb:294:in `new'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/fetcher.rb:294:in `request'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/fetcher.rb:270:in `fetch'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/fetcher.rb:242:in `use_api'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:301:in `block in api_fetchers'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:301:in `select'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:301:in `api_fetchers'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:306:in `block in remote_specs'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/index.rb:9:in `build'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:305:in `remote_specs'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/source/rubygems.rb:79:in `specs'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:204:in `block (2 levels) in index'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:202:in `each'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:202:in `block in index'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/index.rb:9:in `build'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:199:in `index'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:193:in `resolve'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:132:in `specs'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/definition.rb:121:in `resolve_remotely!'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/installer.rb:79:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/installer.rb:18:in `install'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/cli/install.rb:80:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/cli.rb:157:in `install'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/cli.rb:10:in `start'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/bin/bundle:20:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/lib/bundler/friendly_errors.rb:7:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.2.0/gems/bundler-1.9.4/bin/bundle:18:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'

Environment
Bundler   1.9.4
Rubygems  2.4.5
Ruby      2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
GEM_HOME  /usr/local/lib/ruby/gems/2.2.0
GEM_PATH  /usr/local/lib/ruby/gems/2.2.0:/Users/Scosentino/.gem/ruby/2.2.0:/usr/local/Cellar/ruby/2.2.2/lib/ruby/gems/2.2.0
Git       2.3.5

You can find the repo here https://github.com/Scosentino/towboatislamorada

Im trying to deploy to heroku and heroku tells me i need a Gemfile.lock but when i try to run the bundle command i get the above error

Can you please share your Gemfile? Thanks!

source "https:rubygems.org"
ruby "2.2.2"
gem 'sinatra'

Ah looks like we need to do a better job validating source URLs to show a nice error. Thanks!

(You can fix things yourself in the meantime by changing the URL to be a valid one, https://rubygems.org)

Great!! Can I help write the contributing code? Or get some kind of credit

:)

Feel free :) The change will probably be somewhere in lib/bundler/source/rubygems.rb to validate the URL

A bit beyond my level.. lol maybe next time

@segiddins Hello! I took a shot and opened a PR. Doing this in the Downloader seemed better to me since this case could also be non-rubygems specific. Not sure if this is the correct way though as I'm unfamiliar with the codebase.


Update Content-Type header to include the utf8 charset

Resolves: https://jira.duraspace.org/browse/FCREPO-1991

@acoburn, This seems like a logical simple change to me, but do you want me to run this with some wide Unicode characters just to make sure?

@whikloj I've tested locally and it works, but yes, please feel free to test. I found that including unicode characters in a PATCH to Fedora via sparql-update mangles the characters (I must be doing something wrong), but using PUT or POST with the UTF-8 chars in a file works great.
Here's what I did to test this in Karaf: you can start with the standard feature:install fcrepo-indexing-triplestore, which installs the old version of camel. Then, if you drop the newly build fcrepo-camel bundle in $KARAF_HOME/deploy and then issue feature:stop fcrepo-camel, that should stop version 4.4.1 but allow 4.4.2-SNAPSHOT to keep running. The fcrepo-camel-toolbox routes will then pick up the newer fcrepo-camel bundle.
I tested this with Fuseki, and the unicode characters made it through just fine. I think it would be good to have a follow-on ticket in fcrepo-camel-toolbox with an appropriate integration test, but that has to wait until we have a new release of fcrepo-camel.

"I found that including unicode characters in a PATCH to Fedora via sparql-update mangles the characters "
That's troubling. That shouldn't be the case, via the HTTP API. Can you give an example? It sounds like a bug…

@ajs6f I agree. Here's an example. Put this in a file (or use the HTML UI):
PREFIX dc: <http://purl.org/dc/elements/1.1/>
INSERT {
    <> dc:title "Die von Blumenbach gegründete anthropologische Sammlung der Universität" .
} WHERE {}

And then issue this:
curl -i -XPATCH localhost:8080/fcrepo/rest/dev/ -H"Content-Type: application/sparql-update; charset=utf-8" --data-binary @patch.txt

or:
curl -i -XPATCH localhost:8080/fcrepo/rest/dev/ -H"Content-Type: application/sparql-update" --data-binary @patch.txt

The presence or absence of charset=utf-8 seems to make no difference.

@ajs6f: just a note -- the application/sparql-update content type is supposed to always be utf-8: https://www.w3.org/TR/sparql11-update/#mediaType
So there should be no need to add charset=utf-8 to the content-type header, meaning it is the task of Fedora to assume that the input is always utf-8.

@ajs6f there is no encoding listed here: https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraLdp.java#L423
Meaning it defaults to "the default encoding of the platform". I suspect that that's the culprit.

Tracking the PATCH encoding issue here: https://jira.duraspace.org/browse/FCREPO-1993

This is likely related to the platform encoding bug I found while testing on Windows:
https://jira.duraspace.org/browse/FCREPO-1979

On Apr 15, 2016, at 10:30 AM, Aaron Coburn<EMAIL_ADDRESS>wrote:
@ajs6f there is no encoding listed here: https://github.com/fcrepo4/fcrepo4/blob/master/fcrepo-http-api/src/main/java/org/fcrepo/http/api/FedoraLdp.java#L423
Meaning it defaults to "the default encoding of the platform". I suspect that that's the culprit.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub

@acoburn So I tried the patch above and (perhaps I misunderstood the issue) but it seems to work fine for me. Should it not appear in Fedora or Fuseki appropriately even with this PR?

This is a common but bad habit to which I plead as guilty as anyone. The platform default encoding is almost never the right choice. @barmintor used to program Java on mainframes, and I imagine there were some truly weird encodings available there. Java 8 got rid of a lot of the boilerplate try {} catch (UnsupportedEncodingException e) {/* impossible */} this used to cause, so we've got less and less excuse.

I'm sorry I didn't even think that my use of an Ubuntu vagrant means that my default encoding scheme is probably UTF-8 anyways.
Otherwise this PR tests appropriately for PUT and POST with UTF-8 characters.
:+1:  Merging

in defense of mainframes, there was just the one weird encoding (though byte order was also fun).


refactor: clarify primary color bootstrapping

Refactors the change from #735 .

Refactor a conditional to consider the true case of the conditional first, dropping a negation.
Add comments narrating the primary color boostrapping logic.

I think I know what this is doing (and hope the comments I've added reflect a true understanding.)
But I don't get it. Is it okay to use $rootScope.THEMES[0]'s primary color rather than fully bootstrap the theming so that the user's preferred or assigned-by-group theme's primary color applies? Is this going to result in a weird experience for some users, say those who prefer themes with significantly different primary colors than that of THEMES[0]?

Contributor License Agreement adherence:

[x] This Contribution is under the terms of Individual Contributor License Agreements (and also Corporate Contributor License Agreements to the extent applicable) appearing in the Apereo CLA roster.

Yeah, I guess I don't fully understand what's going in here either.  I'll try to get some time today to figure this out.

Hey @apetro, it looks like a merge conflict has cropped up. Would you be able to resolve the conflict?


Use Relative Path in model_file in Tests

When defining the location of the model_file in a test yaml file, the expected behaviour is that the path to the model_file is relative to the test file where it is referenced but seems to be relative to the directory where the command originated.
For example: I have a folder structure as below:

src

schema.fga

tests

tests.yaml
data.yaml

In my tests.yaml file I define the location of the model_file as ../src/schema.fga.
If I execute this command:
fga model test --tests .\tests\tests.fga.yaml
from the root directory of the repo I get the below error:
Error: failed to read file ../src/schema.fga due to open ../src/schema.fga: The system cannot find the path specified.
If I execute the similar command:
fga model test --tests .\tests.fga.yaml then the command successfully executes.

Hi! I’m interested in taking on this issue. Can I go ahead and work on it?

Yes, I'm assigning it to you! Thanks!


Don't add max-width to images with width="auto"

Bail out if the image tag already has a width attribute set to auto.
The use case is when images in a table should all have the same height but an
automatic width, causing scrollbars to appear for the table. I tried everything
I could think of and search for in the README linked below, but the only hack I
could come up with was to add variable amounts of   characters in the
table header cells to force the cell width large enough to accommodate the
images.
https://github.com/karlhorky/javascript-graphs/blob/master/README.md

I realize that a width attribute of auto is actually invalid html, which makes this a sub-optimal solution. I'd be happy to consider other options, such as changing the sanitization to allow the style tag through on img tags and then using a non-auto value for max-width if the user has set one.

Another example at the link below. In this case the images are squished to less than their full width:
https://github.com/karlhorky/recommendations

@karlhorky Thanks for the bug report and potential fix.  Let me repeat your report, so I can assure my understanding.
The cathedrals have height="300" and style="max-width:100%;" which causes the images to not be their full width and looked squished.
Does this sound correct?

@simeonwillbanks yes, that is correct.
The width of the containing table cells around the images will be auto-sized to fit all cells in without scrolling. This, combined with the max-width, squishes the images.


Can it be applied to multiple regions?

I usually use ap-northeast-1 region for AWS development.
Since I need Cognito this time and I can't use SES in ap-northeast-1 to send emails via SES, I will set up SES in us-east-1.
The problem is that we want to set up the SES in ap-northeast-1 with the same domain name.
This is a way to avoid over pacific responses.
I kept trying and trying, but I encountered the following error.

Error: There is already a Construct with name 'SesNotificationTopic' in VerifySesDomain

Probably because of the duplicate ID of the Topic being created in this line
https://github.com/seeebiii/ses-verify-identities/blob/93a60750e4ea90b4aff9d76e7968f13a06ee8250/src/verify-ses-domain.ts#L177
Is there any way to work around this?

I'm having a kinda similar issue right now: I'm using Cognito, and I need to validate an email from us-east-1 for a stack that is in another region.
I would like the VerifySesEmailAddress construct to expose a region prop, that could be passed to the AwsSdkCall construct.
I could draft a PR if that makes sense @seeebiii
Maybe that would help with your issue?

@seeebiii
I see, I can work around it by referring to an existing SNS topic or a topic I created separately.
This seems to be a workaround for my problem. Thanks!
As a side note, when I created the SES manually on the AWS console, I was able to create it with "No SNS topic" and was trying to replicate that in the CDK.
I understood that it was createTopic Or UseExisting because it was a necessary item.


TranslatePress compatibility issues

Expected behavior

After installing Timber, I added TranslatePress which redirects http://example.com to http://example.com/en
I'm expecting to see the default English page like when default WordPress theme or Elementor is used.
Actual behavior

However, http://example.com/en now returns 404 instead of the default page.
Steps to reproduce behavior

Install WordPress
Install Timber, now we can see the default Timber theme at http://example.com
Install TranslatePress, under TranslatePress Settings, set Use a subdirectory for the default language to Yes
Loading http://example.com now will redirect to http://example.com/en which causes a 404

What version of WordPress, PHP and Timber are you using?

WordPress Version 5.6.1/5.7
Timber Version 1.18.2
TranslatePress Version 1.9.6
How did you install Timber? (for example, from GitHub, Composer/Packagist, WP.org?)

Upgraded to newest version via plugin updater in WordPress dashboard

Closing this as stale


Drag indicator

Upon addition of new plot, show small animation to indicate where dragging functionality is enabled

Or implement something that resembles a scroll bar with d3 so that the clear axis overlays can be removed


MongoDB metadata ingest doesn't work with MongoDB 4.2

Describe the bug
Attempt to ingest MongoDB metadata for MongoDB 4.2 with fail with error "Unrecognized expression '$bsonSize'".
To Reproduce

Install or get working instance of MongoDB 4.2
Configure MongoDB source .yml file to ingest (mongodb.yml)
Make sure "enableSchemaInference" set True
Run "datahub ingest -c mongodb.yml"
See error "Unrecognized expression '$bsonSize'".

Expected behavior

Data should be ingested into Datahub instance without error.
Documentation should include minimal MongoDB version requirement.

Screenshots
Not applicable
Desktop (please complete the following information):

OS: Windows 10
Python: 3.8.10
Browser: Not applicable
Version: <IP_ADDRESS>

Additional context
Mongodb.yml example attached in zip file and mongodb_ingest.log include full error description
mongodb.yml.zip
mongodb_ingest.log

嗨@ivbeg，
非常感谢报告这个问题。我有一个正在修复程序，并将尝试推出它，并将更新此线程。
Hello, I have the same problem. Will you let me know when the repair is completed?? Where can I see the message of successful modification😊

Hi @ivbeg ,
Thanks a lot for reporting the issue. I have a fix for this in progress and will try to push it out soon and will update this thread.

Hello, I have the same problem. Will you let me know when the repair is completed?? Where can I see the message of successful modification😊


Add TODU App

Repository: https://github.com/CyanSalt/todu
Screenshot: https://user-images.githubusercontent.com/5101076/31648366-ddd86026-b33f-11e7-8a20-35d857514e71.png

This looks like a nice app. Can you add the screenshots to the data too?
screenshots:
  -
    imageUrl: 'https://mysite.com/awesome1.png'
    caption: 'Awesome screenshot 1'
    imageLink: 'https://mysite.com/awesome.html'
  -
    imageUrl: 'https://mysite.com/awesome2.png'
    caption: 'Awesome screenshot 2'
    imageLink: 'https://mysite.com/awesome.html'

Screenshots are not currently displayed on the site, but they will be soon.

@zeke Added, and thanks for your advice!

👍


IOS build issue using cordova-plugin-secure-storage-echo

Hi,
I am trying to put my project on the IOS test flight.
But every time I archive my project, it gives an error "error: Build input file cannot be found: Plugins/cordova-plugin-secure-storage/SAMKeychainQuery.m', SAMKeyChain.m and SecureStorage.m.
I have replaced plugin cordova-splugin-ecure-storage to cordova-plugin-secure-storage-echo as the previous plugin is no longer maintained.
I checked the node module and could find these files there, but still, it is showing as not found.
It would be much helpful if you guys can help me ASAP.

Remove your node_modules, platform and plugins folder and start fresh by
npm i
cordova platform add ios
cordova build ios


Documentation Update for Security Plugin

We need to update Security plugin API path and settings.

APIs are stilling using "opensearch", for example. We should use "plugins". The changes are in this PR.
Settings need to be renamed to reflect the new names, for example. The changes are in this PR.

I'm hopeful that I caught everything here: https://github.com/opensearch-project/documentation-website/commit/c4cf6838bf8bfd6264a914d07fa71cb8a6c0a855


Add REST API Sever

discfg was designed with Lambda + API Gateway in mind, but due to how the code has been organized, it's trivial to add another sub package with a simple REST API. That then can import the config and commands, then be built and ran on a server to handle requests.
So in the end, we'll have: CLI, Lambda API Gateway, and REST API on your own server.

This is going to be the way that API Gateway + Lambda interact with discfg. It's just simpler and more consistent to use Node.js to make HTTP requests to the running Go server. Then have that very same Go app be the HTTP API for any situation where discfg is running on some other server outside Lambda.


The Cost Management SDK is missing

Describe the bug
Hi, the Cost Management SDK is missing. Please can you generate it and add to the project.
Specifically, I need the functionality provided by the Query API:
https://docs.microsoft.com/en-us/rest/api/cost-management/query
Many thanks

Hi @bobalong79 Sorry for response late.
This sdk is first release in JS SDK, and there is no readme.typescript.md in folder.
@nickzhums Please confirm if we will release this sdk in track1 sdk. Thanks

Hi @bobalong79  could you explaining a little bit on your use case scenarios? We'd like to understand more because this will require us to release a SDK for the first time, thanks

Hi @nickzhums, sure thing.
I'd like to use the SDK to collect aggregate cost data for my azure subscriptions in a specific timeframe. I would like to collect stats such as "most expensive day", "cheapest day", "average daily cost" etc, and have these costs presented at a specified Granularity and grouped by ResourceType or None.
To achieve this I'm using the Query dimension of the API:
https://docs.microsoft.com/en-us/rest/api/cost-management/query
With scope:
/subscriptions/{subscriptionId}/
and body:
{
  "type": "Usage",
  "timeframe": "Custom",
  "timePeriod": {
    "from": "2021-05-01T00:00",
    "to": "2021-31-24T23:59"
  },
  "dataset": {
    "granularity": "Daily",
    "aggregation": {
      "totalCost": {
        "name": "PreTaxCost",
        "function": "Avg"
      }
    },
    "grouping": [
      {
        "type": "Dimension",
        "name": "ResourceType"
      }
    ]
  }
}

This same query is delivered via the SDK with the following code:
import {
  loginWithServicePrincipalSecretWithAuthResponse
} from "@azure/ms-rest-nodeauth";
import {
  CostManagementClient,
} from "@azure/arm-costmanagement";
const clientId = "AZURE_CLIENT_ID";
const clientSecret = "AZURE_CLIENT_SECRET";
const tenantId = "AZURE_TENANT_ID";
const subscriptionId = "AZURE_SUBSCRIPTION_ID";

loginWithServicePrincipalSecretWithAuthResponse(
  clientId,
  clientSecret,
  tenantId
).then((res) => {
  const client = new CostManagementClient(res.credentials, subscriptionId);
  client.query.usage(`/subscriptions/${subscriptionId}`, {
    type: 'Usage',
    timeframe: 'Custom',
    timePeriod: {
      from: new Date('2021-05-01T00:00:00Z'),
      to: new Date('2021-05-31T23:59:59Z')
    },
    dataset: {
      granularity: 'Daily',
      aggregation: {
        totalCost: {
          name: 'PreTaxCost',
          functionProperty: 'Sum'
        }
      },
      grouping: [
        {
          type: 'Dimension',
          name: 'ResourceType'
        }
      ]
    }
  }).then((result) => {
    console.log("The result is:");
    console.log(result);
  });
}).catch((err) => {
  console.error(err);
});

I've done the required work for this in my own project, such as adding typescript support and the additional required aggregation functions to the swagger spec, see: https://github.com/Azure/azure-sdk-for-js/pull/15469

@bobalong79  thanks for providing the background! I'm wondering if this is some kind of automation tool, or is it the backend part of some larger application?

Hi @nickzhums I'm writing an Azure Cost Insights plugin for the CCNF's Backstage platform.

BTW the part of the API that I need (query.usage) doesn't work when directly generated via autorest, as paging requires a post data each time. I am currently using a modified version for my project with this support but I've raised an issue here https://github.com/Azure/autorest.typescript/issues/1008

I have sent an email to @omrodrig ask whether we can release the sdk, and hope to get response.

Cannot get response from service  team for long time.
@bobalong79  could you please ask help in https://docs.microsoft.com/en-us/answers/topics/azure-cost-management.html ? In sdk side, we only can release the sdk with their release request.
Thanks

Hi @omrodrig is it possible for the team to release the cost management SDK?

Hi – we apologize for the late response. We recommend moving your workloads off of the Query API and onto the Usage Details API. We are no longer actively developing Query API and plan to retire it in the future. As such, we will not be updating any additional SDKs that use this API. To learn more about Usage details, see Manage Azure costs with automation | Microsoft Docs.

@omrodrig Where is the rest api of Usage Details API? Does it belong to cost management? thx

@dw511214992 Usage Details belong to Microsoft.Consumption

thanks @omrodrig
@bobalong79  could you move to use the usage details rest api in https://www.npmjs.com/package/@azure/arm-consumption to check whether it meets your requirements. thanks

Hi - I'm not able to test the usage details API right now but if you're planning on discontinuing the consumption API then I'll have to find a way to make it work! Thanks for letting me know.


Runtime check for persistent storage?

After reading through https://github.com/hwchen/keyring-rs/issues/123, my understanding is that the keyutils backend (as well as the mock backend) doesn't persist its stored items to disk.
In my application, there's an encrypted database that's created on first run. My goal is to make it as hard as possible for unauthorized code to read from that database. But it's not acceptable from a UI perspective to have the user memorize or store the encryption key. So I randomly generate a key, store that key in the keyring, and rely on the OS to gatekeep access to it. Thus, the user is prompted when access to the database is required, but (at least on MacOS, which is the platform I'm most familiar with here) that prompt is for their OS password, which is much better UI-wise. (there's some additional hardening, aiming to ensure that the key and the db contents can't be read by a different process). The upshot here is that the user doesn't know the encryption key, and so the keyring needs to persist it.
One of the most useful parts of this crate is that it lets me abstract over the underlying OS capabilities, and I don't have to sprinkle cfg()s everywhere. Since, in some configurations, the default keyring doesn't persist its storage (mock and keyutils), it would be great if there was a simple way to check if the default credential store does or does not have this capability.

Yes; imo it would be really useful to have a way to check this property from code. Personally I think it would be nicest if it were a runtime check (maybe even one that can be implemented for custom keystores, though the obvious way to do that would be a breaking change), but a compile-time check would also be acceptable.

Sorry it's taken me so long to answer. I think probably the easiest way to do this would be to add some sort of characteristics API to the underlying keystores and then plumb that up as an extra cross-platform call.  As long as it's an additive API it would just be a minor-version bump that was compatible with existing client code.
Do you have in mind anything other than persistence across reboots that you would want to know?

@benwr Please take a look at #150 and see if it gives you want you need.  You can do, for example:
if matches!(default::default_credential_builder().persistence(), crate::credential::CredentialPersistence::UntilDelete) {
    println!("The default credential builder persists credentials on disk!")
} else {
    println!("The default credential builder doesn't persist credentials on disk!")
}

OK, great, thanks, I'll release the fix.

Oh, good, there's a way I can tell this. Thanks.

I can't figure out where it's exposed in the public API

Hi @ReactorScram, it's in the public, cross-platform CredentialBuilderApi, in particular the persistence method. So first get your hands on an instance of the CredentialBuilder trait, and then call persistence on that instance.
Assuming you are using the default credential builder, here's an example of how to access it:
if matches!(default::default_credential_builder().persistence(), crate::credential::CredentialPersistence::UntilDelete) {
    println!("The default credential builder persists credentials on disk!")
} else {
    println!("The default credential builder doesn't persist credentials on disk!")
}

Note that Entry structures don't expose the credential builder that constructed them, so you can't get persistence information from an entry. You have to know which credential builder you are using to get the information.
Hope this helps!

I did see default in lib.rs but it's not exposed as public. In my app I ended up writing Linux-specific and Windows-specific functions to check persistence of secret-service and the Windows equivalent. It feels like I did it wrong but I can't figure out any way to get the default builder using the public interfaces?

Great point! Not sure why this changed between v2 and v3, or whether v2 had this problem, but in any event I think it's a bug (see #197) and I will fix it right away! Thanks for bringing this to my attention!


Look up the parameterTypeObject based on method name

In WSDL.findParameterObject, if the parameterTypeObj is not located by the
parameterType in either the complexTypes or elements objects, then also
check to see if it can be found by the name of the method in the elements
object.

I'm closing this PR as there was no activity for nearly a year now...


Changes in tests for Setter.Value property

Description
Changes in test repo for the issue : Make Setter.Value the ContentProperty for Setter
Regression
None
Testing
Internal testing done, no new failures encountered.
Risk
None
Microsoft Reviewers: Open in CodeFlow

Will be raising another PR for this. Closing this one.


Extension won't load under Ubuntu

I've built the extension with "make loadable" (added latest sqlite in "vendor" folder), but it fails to load, error being:
$ ./sqlite aaa
SQLite version 3.45.3 2024-04-15 13:34:05
Enter ".help" for usage hints.
sqlite> .load ./vec0
Error: ./vec0.so: undefined symbol: sqrtf
Solution was to link with math lib, i.e. modify Makefile to add "-lm" part at the end of this target:
$(TARGET_LOADABLE): sqlite-vec.c sqlite-vec.h $(prefix)
	gcc \
		-fPIC -shared \
		-Wall -Wextra \
		-Ivendor/ \
		-O3 \
		$(CFLAGS) \
		$< -o $@ \
		-lm

With this the extension will load successfully.
Note that sqlite will crash when trying to execute SQL (below is in gdb with both sqlite and extension compiled with -g):
sqlite> create virtual table vec_examples using vec0(sample_embedding float[8]);
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt full
#0  0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: Cannot access memory at address 0x7ffffffeb928
No luck figuring this out yet, I guess that's material for the next issue.
Thanks for working on this, this has great potential.

Thanks for the bug report! Will add -lm to the Makefile to fix the first issue.
For the 2nd issue: Which version of SQLite is that CLI? Does select vec_debug() also cause a crash? Can you also share the output of PRAGMA compile_options; on that CLI?
Also, can you try the linux binaries available in this release? I have a linux github action runner that seems to run/compile the extension fine, so curious to see if that works out-of-the-box for you. You may have to add chmod u+x the downloaded file, forgot to set up permissions correctly.

I've downloaded current latest sqlite release v3.45.3 (amalgamation edition) and compiled them with these configuration:
SQLITE_FLAGS= -DSQLITE_CORE -DSQLITE_HAS_CODEC -DSQLITE_OMIT_CAST -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_EXPLAIN -DSQLITE_OMIT_UTF16 -DSQLITE_OMIT_PROGRESS_CALLBACK  -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_BUILTIN_TEST -DSQLITE_OMIT_CHECK -DSQLITE_OMIT_COMPOUND_SELECT -DSQLITE_OMIT_CONFLICT_CLAUSE -DSQLITE_OMIT_INCRBLOB -DSQLITE_OMIT_MEMORYDB -DSQLITE_OMIT_TCL_VARIABLE -DSQLITE_OMIT_BLOB_LITERAL -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_TRACE_SIZE_LIMIT=1024 -DSQLITE_DQS=0 -I./sqlite
ifdef WINDIR
 SQLITE_FLAGS += -DSQLITE_OS_WIN
endif

SELECT vec_debug() works OK, see required data below:
sqlite> select vec_debug();
Version: v0.0.1-alpha.3
Date: 2024-05-03T17:42:48Z+0200
Commit: 05bfe5663f99875272c2d7dd7d3a04151f8a024b
Build flags:
sqlite> PRAGMA compile_options;
ATOMIC_INTRINSICS=1
COMPILER=gcc-11.4.0
DEFAULT_AUTOVACUUM
DEFAULT_CACHE_SIZE=-2000
DEFAULT_FILE_FORMAT=4
DEFAULT_JOURNAL_SIZE_LIMIT=-1
DEFAULT_MMAP_SIZE=0
DEFAULT_PAGE_SIZE=4096
DEFAULT_PCACHE_INITSZ=20
DEFAULT_RECURSIVE_TRIGGERS
DEFAULT_SECTOR_SIZE=4096
DEFAULT_SYNCHRONOUS=2
DEFAULT_WAL_AUTOCHECKPOINT=1000
DEFAULT_WAL_SYNCHRONOUS=2
DEFAULT_WORKER_THREADS=0
DIRECT_OVERFLOW_READ
DQS=0
ENABLE_LOCKING_STYLE=0
MALLOC_SOFT_LIMIT=1024
MAX_ATTACHED=10
MAX_COLUMN=2000
MAX_COMPOUND_SELECT=500
MAX_DEFAULT_PAGE_SIZE=8192
MAX_EXPR_DEPTH=1000
MAX_FUNCTION_ARG=127
MAX_LENGTH=1000000000
MAX_LIKE_PATTERN_LENGTH=50000
MAX_MMAP_SIZE=0x7fff0000
MAX_PAGE_COUNT=0xfffffffe
MAX_PAGE_SIZE=65536
MAX_SQL_LENGTH=1000000000
MAX_TRIGGER_DEPTH=1000
MAX_VARIABLE_NUMBER=32766
MAX_VDBE_OP=250000000
MAX_WORKER_THREADS=8
MUTEX_PTHREADS
OMIT_BLOB_LITERAL
OMIT_CAST
OMIT_CHECK
OMIT_COMPOUND_SELECT
OMIT_CONFLICT_CLAUSE
OMIT_DEPRECATED
OMIT_EXPLAIN
OMIT_INCRBLOB
OMIT_MEMORYDB
OMIT_PROGRESS_CALLBACK
OMIT_SHARED_CACHE
OMIT_TCL_VARIABLE
OMIT_UTF16
SYSTEM_MALLOC
TEMP_STORE=1
THREADSAFE=1
sqlite>

Next I've tried your precompiled linux binary, but it doesn't load due to issue #1 I reported here:
vendor$ tar xvf sqlite-vec-0.0.1-alpha.3-loadable-linux-x86_64.tar.gz
vec0.so
vendor$ ./sqlite aaa
SQLite version 3.45.3 2024-04-15 13:34:05
Enter ".help" for usage hints.
sqlite> .load ./vec0
Error: ./vec0.so: undefined symbol: sqrtf
sqlite>

I hope this helped.

The "create virtual table ..." SQL started to work when I recompiled Sqlite with all OMIT flags removed. I guess it would be nice to document what Sqlite features must be compiled in for this extension to work.

Thanks for sharing! Ya looks like the OMIT_INCRBLOB compile-time option is the culprit, sqlite-vec requires the incremental blob i/o API. I'll add a error message at load-time that'll give a warning instead of segfaulting.


Set/Map monoids

Added Set and Map monoid instances in
http://code.google.com/r/mauricioscheffer-fsharp-typeclasses/source/detail?r=22a
e902606e579e68bc10b0a02b1d6384dedbb7f (don't know how to do a pull request
here).

Anyway, just my way of saying hi :)

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 8 Nov 2012 at 12:20

Tracked down the change and committed id as https://github.com/SteveGilham/fsharp-typeclasses/commit/8c2bbc5ec93e46b13177e3b8d21465f08fe8ac1c


zh-CN update

As title.

@Karosieben It seems I wrongly changed locale/en/shinybobgfx.cfg Line7 replace-circuits.


Find a way to kill blocking handler callbacks

Currently, when the HTTPSConnection passes control to the request handler function, this will pass control of the server's task/thread to this handler function. If it does not return (e.g. due to a misbehaving loop running infinitely), the server gets stuck there, does not accept any new connections and also does not handle other ongoing connections anymore.
There should be some possibility to revoke control from those handler tasks, or at least a way for them to pass control back to the HTTPSConnection, without finishing the request. Maybe one could introduce a return parameter to the callback function that can be set to true to state that the very same callback has to be called again later, e.g. when more data becomes available on the underlying SSL socket. It would be nice to find a comprehensive approach that handles this problem and websockets as well (see #2).

Hi,
I am getting some requests stuck when the server tries to close the connection here.
You think this is related to this issue or should I look at something else?
Cheers!

Hi, thank you for the feedback!
I created this specific issue mainly to improve handling more than one connection in parallel. As every request is delegated to a user-written handler function and the server passes control to this function, the server may be blocked as all connections are dealt with consecutively. If you imagine a client sending a big request body, which is split over several TCP packets, and one of those packets does not arrive, the handler function will wait for it indefinitely and never return. This issue is about solving this by allowing the handler function to return with a flag or something that says: "This request hasn't been processed completely, call me later again".
Your problems seems to be similar, but not related to actual request handling but to tearing down the SSL connection. This part of connection handling should also not block the whole server task, obviously. I did not experience this issue by myself, but I suppose it might be related to the close_notify flags used by TLS. If the server initiates the shutdown, it should send a close_notify to the client, which then should reply with a record including close_notify, too. After that, the TCP connection can safely be teared down. Explicitly closing the TLS context is important for HTTPS to prevent truncation attacks.
If you experience this problem only for some requests, the response from the client could be missing and maybe that's what SSL_shutdown is waiting for. In this case (eg. when the client is just gone), a timeout (and raising some kind of exception when it's triggered) should be a viable solution. But I admit that I need to have an in-depth look at the implementation to determine if that really is the cause here.
But we could cover this in this issue too, as it's definitively a way to block the server during request handling (maybe even from client side), with an impact on all connections to the server.
To make some progress on it: Could you already determine whether the problem really is the SSL_shutdown function not returning, or rather the loop around it?
If the loop is causing trouble and SSL_shutdown just returns 0 all the time, a possible solution would be to introduce a STATE_CLOSING to the HTTPSConnection and, while being in this state, trying SSL_shutdown once and then proceeding with other connections. That should stop blocking the server completely.

Warning! My level of experience with C/C++ is very low.

Could you already determine whether the problem really is the SSL_shutdown function not returning, or rather the loop around it?

From what i can tell, when this happens SSL_shutdown(_ssl) never returns true. Execution never proceeds to the next line.
This happens when the request is originating from a native Java android app i 've put together from bits and pieces here and there (Also not a Java developer :) ). If the request comes from a browser or Postman, it works fine and the SSL teardown completes. So it is for sure that the client does something wrong and i should fix that, but as you agree as well, the server should handle that case.
Edit: I just discovered, the SSL teardown completes and execution proceeds after the amount of time the client has set to connection KeepAlive. It was set to 15minutes and i never saw it proceed before.

If the loop is causing trouble and SSL_shutdown just returns 0 all the time, a possible solution would be to introduce a STATE_CLOSING to the HTTPSConnection and, while being in this state, trying SSL_shutdown once and then proceeding with other connections. That should stop blocking the server completely.

As a workaround for my case i was thinking of implenting a 'watchdog' like method which would either completely restart the device, or perform a check in that specific closeConnection() method.
While googling i came upon this (which i assume is the same or related openssl library with ESP32's) which states among others:

SSL_shutdown() tries to send the "close notify" shutdown alert to the peer. Whether the operation succeeds or not, the SSL_SENT_SHUTDOWN flag is set and a currently open session is considered closed and good and will be kept in the session cache for further reuse.

Does that imply that you shouldn't wait for the SSL_Shutdown return value? Not sure, further below the contradict that.
Thanks for the quick reply & thanks for creating the only working & complete (as far as i know) https esp32 server library!

While googling i came upon this (which i assume is the same or related openssl library with ESP32's) which states among others:
[...]
Does that imply that you shouldn't wait for the SSL_Shutdown return value? Not sure, further below the contradict that.

You are right that the server should not wait for it indefinitely, but have a look at the description for a return value of 0:

The shutdown is not yet finished. Call SSL_shutdown() for a second time, if a bidirectional shutdown shall be performed. The output of SSL_get_error may be misleading, as an erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.

That's the reason for the loop I used in the code (the line you mentioned above):
while(SSL_shutdown(_ssl) == 0) delay(1);
This code was only a first attempt, and it assumes the client to eventually send the close notify flag – an assumption that will indeed not hold in real world scenarios. And while it may help to detect truncation attacks, it opens an easy way to run a denial of service attack against the server. So I agree with you that this should be changed.
I can have a look into this and try to provide a fix, but it may take me some days due to other activities.
In the mean time, you should be fine by changing line 121 to SSL_shutdown(_ssl); (without the loop around it) – at least according to the specs it should return after sending the closing notification on first call – or going for a watchdog approach.
Another important thing regarding keep-alive is that it may be bound to the TCP socket rather than the TLS connection on client side. This would mean that SSL_shutdown will not force the client side to close the connection. In this case, this would only happen later when close(_socket) is called. That could be an explanation of the behavior you observed (resuming after 15 minutes).

Removing the while loop and running SSL_shutdown only once seem to work fine for me and i couldn't notice any other side-effects.
In the meantime although I couldn't find what was wrong with my client not respecting the close notify request, i discovered that there was another issue with the keep-alive and the client not re-using the active connection. Thus opening new connections, reaching the server's max connections and then getting stuck till the oldest connection was successfully closed.
Also consider making the server's keep-alive timeout configurable if there aren't any other issues with that i may not be aware of.
Thanks for looking into this. There is no hurry for me for a fix, it is working fine as it is.
Cheers!

Also consider making the server's keep-alive timeout configurable if there aren't any other issues with that i may not be aware of.

It's not available via API yet, but you might be looking for this constant.

In the meantime although I couldn't find what was wrong with my client not respecting the close notify request, i discovered that there was another issue with the keep-alive and the client not re-using the active connection. Thus opening new connections, reaching the server's max connections and then getting stuck till the oldest connection was successfully closed.

Clients not reusing a connection or using a connection pool is an issue, but due to the limited resources of the ESP32, it's hard to allow for more parallel connections. Even for only two or three parallel connections, the SSL handshake might fail (the server will than refuse the connection attempt). However, you are able to configure the parallel connections by modifying the third (and optional) parameter of the HTTPSServer constructor and see what works best for your use case.

I tried to implement the STATE_CLOSING solution I mentioned above, it's on master now. I did just a short test so check I did not break any major functionality, but as I said before, I did not experience your shutdown problem by myself so I was not able to verify if this is a solution to it.
SSL shutdown timeout can be configured here, after that period of time the server will continue to tear down the SSL connection without the client having answered.

I have updated and so far it looks like its working as it should.
I 'll let you know if i run into anything strange.
Thanks again!
Kostas


How to set paths for inputs and outputs

Hey,
Great plugin!
Is there a  way to define paths for inputs and outputs using the .brackets.json file?
I've tried using this in the file but it didn't work:
"jscompiler": {
        "outputs": [
            {
                "inputs": ["js/munchkin.js", "js/doccookies.js", "js/app.js"],
                "output": "app.min.js",
                "generateMap": true,
                "mangle": true,
                "isolate": false
            }
        ]
    }

It should work like that, there must be a bug on the code. Let me check on it.

Thanks for your feedback, the bug has been fixed.

Works great, thanks!


[Automation] Generate Fluent Lite from Swagger signalr#package-2023-08-01-preview

[Automation] Generate Fluent Lite from Swagger signalr#package-2023-08-01-preview

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure.resourcemanager:azure-resourcemanager-signalr


How to specify a custom component for embedded documents?

Hi there, congrats on this admin, it's really easy to get started.
I have a question: I'm using Mongoose, which allows for arrays and objects of embedded documents. How can I customize the "edit" component for a field inside these deep structures?
I'm trying this, without success:
// How my structure looks like:
MyStructure {
  arrayOfEmbeds: MyEmbedStructure[];
  embed: MyEmbedStructure,
}

// My (failed) admin configuration
{
  resource: MyStructure,
  options: {
    properties: {

      arrayOfEmbeds: [{
        fieldName: {
          components: { edit: 'CodeEditor' }
        }
      }],

      embed: {
        fieldName: {
          components: { edit: 'CodeEditor' }
        }
      },
    }
  }
},

Appreciate if you can help me. Cheers!

Managed to get it working like this 🤗
{
  resource: MyStructure,
  options: {
    properties: {

      'arrayOfEmbeds.fieldName': {
        components: { edit: 'CodeEditor' }
      },

      'embed.fieldName': {
        components: { edit: 'CodeEditor' }
      },
    }
  }
},


Adding golang/dep as a user to docusaurus.io

Hi there, Docusaurus maintainer here 👋. This is not a real issue per se, just using this way to ask if golang/dep is ok with being showcased on https://docusaurus.io as a user?
We got a PR ready at https://github.com/facebook/Docusaurus/pull/612.
Hope to get the green light from you!

@sdboyer Mind having a look?

@yangshun sure, though if you're going to showcase us, then some help on getting the doc versioning working would be appreciated.
when I asked on discourse, I got a sort of "shrug, works for us" response

@sdboyer Sorry about that experience. I just joined Docusaurus a while ago and did not see that question. I'll look back into Discord history and try to figure it out.

Hi @sdboyer - I also work on Docusaurus and have been on Discord from the beginning. I actually set the channel up 😄. I don't recall a conversation with you around versioning, but if it did happen, and it was me involved, I really hope I didn't just blow you off. I normally do not do that. And it would make me sad if I did 😞 .
Definitely let me know your issue and I will try to help. We can either discuss here, a new Docusaurus issue or on Discord.


drone secret add

Drone secret add should be immutable, in other words I should be able to add the same secret many times with the same name. Currently Drone rejects with a duplicate secret rather than updating.
Either that or there should be a switch to allow it to be add or update.
There would then be no requirement for an update command. This is needed because the output of 'drone secret ls' is not parsable easily.

The drone secret ls command for a format flag, that works really good for parsing the output.
IMHO it's totally fine that add errors if the secret already exists. Otherwise the name should be simply wrong.


Valid function signature raised an error as invalid signature

Godot version
v4.0.alpha.custom_build.53cf5eff9
System information
Linux Manjaro 5.16.11-2-MANJARO
Issue description
The code an overridden function with a default value:
func virtual_function(dict_var: Dictionary = {}) -> void:

Get the error : The function signature doesn't match the parent. Parent signature is "void virtual_function(Dictionary = default)".
The issue was introduced by commit: 1ebcb58e6942582b3c1e4af9de44f5ce21245148
The issue seems to only appear with the argument type being of type: Dictionary, Array or a new type
Steps to reproduce
Use the following code
Parent class code:
class_name ParentClass
extends Node

func virtual_function_float(_dict_var: float = 0.1) -> void:
	pass

func virtual_function_array(_dict_var: Array = []) -> void:
	pass

func virtual_function_typed_array(_dict_var: Array[int] = ([1] as Array[int])) -> void:
	pass

func virtual_function_dictionary(_dict_var: Dictionary = {}) -> void:
	pass

func virtual_function_new_type(_dict_var: NewType = NewType.new()) -> void:
	pass

Child class code:
extends ParentClass

func virtual_function_float(dict_var: float = 0.1) -> void:
	pass

func virtual_function_array(dict_var: Array = []) -> void:
	pass

func virtual_function_typed_array(dict_var: Array[int] = ([1] as Array[int])) -> void:
	pass

func virtual_function_dictionary(dict_var: Dictionary = {}) -> void:
	pass

func virtual_function_new_type(dict_var: NewType = NewType.new()) -> void:
	pass

NewType class code:
class_name NewType
extends Resource

var test := 12.2

Minimal reproduction project
signature_error_issue_godot_4.zip

This appears to be fixed in the latest master (4c2a614ad41564ab33eb6515b48e0e5b52ea8b81). I did not bisect for a solution commit, but the following test succeeds on (4c2a614ad41564ab33eb6515b48e0e5b52ea8b81) and fails on (https://github.com/godotengine/godot/commit/1ebcb58e6942582b3c1e4af9de44f5ce21245148).
func test():
	var instance := Parent.new()
	instance.my_function({"a": 1})
	instance = Child.new()
	instance.my_function({"a": 1})
	print("No failure")

class Parent:
	func my_function(_par1: Dictionary = {}) -> void:
		pass

class Child extends Parent:
	func my_function(_par1: Dictionary = {}) -> void:
		pass


Could we use GPT-4 model in this scope?

Is it possible for us to use GPT-4 model (with GPT-4 API key in config file) in this project?
I have tried to replace the API key with a GPT-4 one in config.yaml and set the model_name of the llm in HELLM.py as below:
os.environ["OPENAI_API_KEY"] = OPENAI_CONFIG['OPENAI_KEY']     llm = ChatOpenAI(         temperature=0,         model_name='gpt-4-0613',          max_tokens=1024,         request_timeout=60     )
But we got error:
openai.error.InvalidRequestError: The model: gpt-4-0613 does not exist
Thank you in advance for any helpful insight!

The project supports the GPT-4 model. From the link https://platform.openai.com/docs/models/overview the model gpt-4-0613 do exist, so did you change the value of OPENAI_API_TYPE in config.yaml to openai instead of azure? Also, make sure you did get the api access of GPT4, which you should see gpt-4-0613 in the list of your account rate-limits https://platform.openai.com/account/rate-limits
Please let me know if you have solved the problem.

Thx, problem is well solved!


Improve Conntrack garbage collection

The current implementation (as of v1.2) for managing the contents of the datapath connection tracking map leaves something to be desired: Once per minute, the userspace cilium-agent makes a series of calls to the bpf() syscall to fetch all of the entries in the map to determine whether they should be deleted. For each entry in the map, 2-3 calls must be made: One to fetch the next key, one to fetch the value, and perhaps one to delete the entry. The maximum size of the map is 1 million entries, and if the current count approaches this size then the garbage collection goroutine may spend a significant number of CPU cycles iterating and deleting elements from the conntrack map.
We have previously attempted using an LRU map to manage entries, however we hit https://github.com/cilium/cilium/issues/3239 . Observation was that TCP CT entries would be removed from the table and this would cause traffic disruption for long-lived connections.
EDIT 2019-08: As of v1.6 (and likely earlier releases) we have resolved some of the LRU issues and are back to using LRU for the primary method of managing conntrack entries.
Proposals to address this:

~Build a userspace shadow of CT entries based on monitor events (related: #4080)~
This would reduce the 2-3 syscalls per entry down to 1 syscall for each entry that needs to be deleted.

Ensure that trace messages are generated on datapath add/delete from CT map

Extend messages if necessary to include explicit notification of CT create/delete

Open a monitor socket from cilium-agent:

Create an entry in userspace when CT add event is received
Update timer when event is fired for packet allowed to a destination
Delete an entry when CT delete event is received

Periodically iterate over the userspace map and delete entries that have exceeded their timer

Sort CT entries by oldest and only iterate through entries whose timer is in the past

Manage CT entries more actively from the datapath

[x] Consider splitting TCP CT map from UDP map (#5501)

[ ] Populate TCP map via socket events
[ ] Replace UDP map GC from userspace with LRU map in datapath (on supported kernels)

[ ] Remove userspace management of CT map

#5501 will be handled in the 1.3 release. The remaining work is moved to 1.4

We could likely build upon the new bpf_sock support here to populate the CT table:
https://github.com/cilium/cilium/blob/master/bpf/bpf_sock.c

Once this is done, stop doing this
https://github.com/cilium/cilium/blob/e4827c2eb6da82f96d1652abdb5a9b9fe4df0beb/pkg/endpoint/bpf.go#L531-L551

hello, guys, beside the trace/monitor method , is it possible to impelment a kernel module to traverse the bpf map, and do the filter, delete. Using this way, system call is avoided, and you can take rcu lock most of the time.

@joestringer thanks for your reply.   i did some experiement and find that  compared with ipvs+iptables SNAT, bpf  cps  is  140%  better.   our main concern is that LRU maybe not secure enough.  when there are a lot of new connection coming,  some long and idle connections may be evicted even they are not timeout.   I think the best solution maybe add timer entry in the bpf hash map, however there is no such code in main trunk now.  As to the userspace GC, it is nice and very necessary for us to  remedy the security issue by putting a  up limit on the timeout entry. However, when the net traffic is very busy, the GC  tends to issue too many syscalls.  In such case, it seems worth the effort to move the GC into kernel module.

Hey there, we are noticing slowness in endpoint creation and deletion on an enterprise-scale K8s cluster running Cilium and we suspect conntrack cleaning might be part of the cause.
We empirically notice endpoint creation take much longer when the node has heavy CPU workloads running on it, especially when many pods are scheduled at once. Debug logs seem to point to ct cleaning to be the longest factor (waitingForCTClean = 1 minute 3 seconds):
level=warning msg="Regeneration of endpoint failed" bpfCompilation=0s bpfLoadProg="344.712µs" bpfWaitForELF="10.29µs" bpfWriteELF="774.213µs" containerID= datapathPolicyRevision=0 desiredPolicyRevision=18 endpointID=229 error="Failed to replace Qdisc for lxc69bc0bfc43ce: Link not found" identity=45981 ipv4= ipv6= k8sPodName=/ mapSync="110.719µs" policyCalculation="76.11µs" prepareBuild="864.166µs" proxyConfiguration="20.04µs" proxyPolicyCalculation="32.43µs" proxyWaitForAck=0s reason="updated security labels" subsys=endpoint total=1m33.651333003s waitingForCTClean=1m33.646810669s waitingForLock="1.85µs"

A few questions:

Could a long CT cleaning cycle cause endpoint (re)generation to fail? We are seeing 500s in PUTs and we're not sure if this is a cause or a symptom.
Are there parameters we can tune to reduce this time such as reducing conntrack-gc-interval?
Why is k8sPodName blank?

Thanks in advance :)

Hi @jeff-an,
(1) That's not really expected.. do you have some indicators that suggest it's CT GC that is running during that long cycle? Perhaps you could use gops to inspect Cilium cpu usage during that long period.
(2) There's a few conntrack settings, you're welcome to tinker with them but I'm not really sure whether this will impact the problem  you're facing.
(3) That sounds like a separate bug. I filed #22242 for that one.

Thanks for the response!
The only evidence is the "waitingForCTClean=1m33.646810669s" attribute on the first log I sent. We do know CPU can be spikey on these machines, so it is possible Cilium is getting thrashed. When we have more headroom the cluster, we don't see this issue. What's interesting though is that even when CPU has come down on the node, new requests continue to result in 429s (though this could be a separate issue relating to the dynamic rate limiter kicking in).


Selenium2 session doesn't start

My relevant behat.yml:
extensions:
    Behat\MinkExtension:
      browser_name: 'chrome'
      javascript_session: selenium2
      selenium2:
        wd_host: http://<IP_ADDRESS>:4444/wd/hub
      base_url: https://www.twlw.dev
      sessions:
        my_session:
          selenium2: ~

When I try to instantiate a class, I see that the session has not started:

From vendor/sensiolabs/behat-page-object-extension/src/SensioLabs/Behat/PageObjectExtension/PageObject/Factory/DefaultFactory.php:105:

    103|     private function instantiatePage($pageClass)
    104|     {
  > 105|         eval(\Psy\sh());
    106|         return new $pageClass($this->mink->getSession(), $this, $this->pageParameters);
    107|     }
>>> $session = $this->mink->getSession()
=> Behat\Mink\Session {#1892}
>>> $session->isStarted()
=> false
>>>

I changed something that causes this to fail - it use to work.  I don't understand why the session doesn't start.  I notice that the Chrome browser is not started.

This was resolved when I changed the composer dependancies to not use "dev-master"


我遇到了文本自动换行BUG

运行以上代码，请问为什么第一个"星星"文字后面的多个空格没有了？第二个”星星“文字后面为什么又自动换行了？这是bug吗？

Sorry, but I'm not able to read any languages other than English. Could you please find someone to help translate your issue into English.

He mean this :D

Run the above code, why is there more than one space after the first "star" text? Why did the second "Star" text automatically wrap after the text? Is this a bug?

From api of Text:
useAdvancedWrap: Whether or not to use the advanced wrapping algorithm. If true, spaces are collapsed and whitespace is trimmed from lines. If false, spaces and whitespace are left as is.

set useAdvancedWrap to false might solve this issue.

`

`

Running the above code is not what I want. Why does the text after the second "星星" wrap?

`

`

Running the above code is not what I want. Why does the text after the second "星星" wrap?

Sorry, but I'm not able to read any languages other than English. Could you please find someone to help translate your issue into English.

I wrote the English description, please help me to read it when it is convenient, thank you.

Word wrap is based on space character, content will be spitted into these words:

'本次操作',
'需要1个星星'
'通过下'
'面'
'的'
'途'
'径可以获'
'得星星'
'哦！自动换行自动换行自动换行'

'哦！自动换行自动换行自动换行' is a single word, and put into a wrapped new line.
Official text game object does not support character wrapping by default, you might assign a custom wrapping  callback to implement character wrap. (Here is an example of using custom wrapping callback). or try bbcodeText plugin, which support character wrapping, and more, image texture also could be drawn on bbcodeText with text content.

Word wrap is based on space character, content will be spitted into these words:

'本次操作',
'需要1个星星'
'通过下'
'面'
'的'
'途'
'径可以获'
'得星星'
'哦！自动换行自动换行自动换行'

'哦！自动换行自动换行自动换行' is a single word, and put into a wrapped new line.
Official text game object does not support character wrapping by default, you might assign a custom wrapping callback to implement character wrap. (Here is an example of using custom wrapping callback). or try bbcodeText plugin, which support character wrapping, and more, image texture also could be drawn with text content.

I don't think this is reasonable, because it will cause the "星星            通过" space in the middle of the text automatically disappear. The space text in the middle is useful, and I don't want to break lines.

Word wrap is based on space character, content will be spitted into these words:

'本次操作',
'需要1个星星'
'通过下'
'面'
'的'
'途'
'径可以获'
'得星星'
'哦！自动换行自动换行自动换行'

'哦！自动换行自动换行自动换行' is a single word, and put into a wrapped new line.
Official text game object does not support character wrapping by default, you might assign a custom wrapping callback to implement character wrap. (Here is an example of using custom wrapping callback). or try bbcodeText plugin, which support character wrapping, and more, image texture also could be drawn with text content.

I don't think this is reasonable, because it will cause the "星星    通过" space in the middle of the text automatically disappear. The space text in the middle is useful, and I don't want to break lines.

Space characters in bbCodeText object will be kept. I modified the test pen, to show content :
本次操作 需要1个星星    通过下 面 的 途 径可以获 得星星 哦！自动换行自动换行自动换行

Anyway, it is not a bug of official text object, because official text object support word wrap by default.

Space characters in bbCodeText object will be kept. I modified the test pen, to show content :
本次操作 需要1个星星    通过下 面    的 途 径可以获 得星星 哦！自动换行自动换行自动换行

Anyway, it is not a bug of official text object, because official text object support word wrap by default.

Thank you for your answer


Shape error for Sample

Sample has this property restriction:
tern-shapes:Sample-isResultOf
    a sh:PropertyShape ;
    sh:class tern:Sampling ;
    sh:description "Relation linking a Result to the Observation or Actuation or act of Sampling that created or caused it." ;
    sh:minCount 1 ;
    sh:name "sosa:isResultOf" ;
    sh:nodeKind sh:IRI ;
    sh:path sosa:isResultOf ;
.

So this requires a minimum of one sosa:isResultOf.
However, Sample inherits from Result and thus has this restriction:
tern-shapes:Result-isResultOf
    a sh:PropertyShape ;
    sh:description "Relation linking a Result to the Observation or Actuation or act of Sampling that created or caused it." ;
    sh:maxCount 1 ;
    sh:minCount 1 ;
    sh:name "sosa:isResultOf" ;
    sh:nodeKind sh:IRI ;
    sh:or (
            [ sh:class tern:Observation ]
            [ sh:class tern:Sampling ]
        ) ;
    sh:path sosa:isResultOf ;
.

This requires exactly 1 sosa:isResultOf.
The error here is that the Sample restriction is more permissive than the Result restriction. I could have a Sample with 2 sosa:isResultOf values, which would be fine according to Sample's restriction (min 1) but invalid according to Results's restriction (exactly 1).

Thanks @nicholascar. I think the sample's property shape should say:
tern-shapes:Sample-isResultOf
    a sh:PropertyShape ;
    sh:class tern:Sampling ;
    sh:name "sosa:isResultOf" ;
    sh:path sosa:isResultOf ;
.

The min/max count and node kind is already expressed in tern-shapes:Result-isResultOf.
Do you agree?
Related issue: https://github.com/ternaustralia/ontology_tern/issues/109

Yes, that's a solution. That's restricting the range to a Sampling, down from Observation or Sampling - fine - and not touching cardinality.

Awesome thanks @nicholascar, I will get this in on the next release.


Updating Github Pages deployment action to use node 12

This PR does the following:

Updates the gh-pages Github Action workflow to use node 12 like the other Github Actions. This is to set the version to 12 instead of the default of 16 since now the engine is explicitly set to <=12.22.

How has this been tested?

Accessibility concerns or updates

Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] I have added relevant accessibility documentation for this pull request.
[ ] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr802-0kbgm9xiq1kpgk7z1i4jbx4pzypisq56.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/61b2631f821ec845750dd293


Server is not closing when widget destroyed.

I'm using the JavaFxDataViewer in my TornadoFX (kotlin project).
It seems that when I close the window, the server is still running.
I added:
override fun onUndock() {        ChartServiceServer.getInstance().server.stop()    }
to my view, and now it closes properly.
Is that a bug?

Hi bjonnh,
Could you please add me a snippet of the code you are using the JavaFxDataViewer?
Cheers!


Channel page (incognito)

looking at my channel in incognito mode, it appears that the css modifications work properly (or is it just me?)

but viewing it in a normal tab, things seem to be different
(notice that in the first photo, it has the ">" at the tagline while it has "...more" )

it seems that there's no experiment flag for it, so i created a small userscript to temporarily put them back where it should be just like how your extension does it (and to adapt my custom made userscripts and userstyles)

this is the code i use to put the channel buttons to the right side:
document.querySelector("yt-flexible-actions-view-model").style = "position: absolute; right: 0";

and this is what it looked like before the update (only screenshot i had at the time)

hmm, it seems that they reverted it back for the time being

now it looks like it before the "beta update"


Retain the toString method for subclasses of Key in profile/release mode

toString methods are removed in AOT builds by the optimization in https://github.com/flutter/flutter/pull/144763
This PR disables that for Key subclasses because some applications rely on the previous behavior.
Fixes https://github.com/flutter/flutter/issues/148983

ValueKey(..).toString() still doesn't work in Release mode, gives response as Instance of 'ValueKey' in 3.22.3
Closed issue https://github.com/flutter/flutter/issues/148983


fix: StyleX typo

Fixes typo from (Stylex) to (StyleX)

Please can you combine this with your other PR? No need for 2 PRs that each change one character. Thanks


Multiple bug spawn

The event is repeated for the number of players present. If there are 5 players, 5 planes are spawned

Yeah entire script seems kinda scuffed i even bought this script like 3 months ago and they were not able to fix these types of issues and randomly they removed it from theyre tebex store and now its free here with the same issues.


Updated answerkey (9s1)

Nice thank you!
Also aren't there changes in any other shift's answer keys?


Enable OCSP stapling on the balancer

Caveat: I'm not sure if outbound connections to the OCSPs are currently allowed or blocked by a firewall or something. I believe it can be checked by seeing if the following one-liner emits some OCSP urls:
OLDIFS=$IFS; IFS=':' certificates=$(openssl s_client -connect google.com:443 -showcerts -tlsextdebug -tls1 2>&1 </dev/null | sed -n '/-----BEGIN/,/-----END/ {/-----BEGIN/ s/^/:/; p}'); for certificate in ${certificates#:}; do echo $certificate | openssl x509 -noout -ocsp_uri; done; IFS=$OLDIFS

(one liner from here)

Does our ssl_certificate include root cert? If not, we need to add ssl_trusted_certificate too.

Oh yeah, you're right. That seems weird to me, since the client just uses its own root anyway, but everything I can find online says you're right.


Unable to execute JS call: __fbBatchedBridge is undefined

I cloned the repo, yarn install, ran it in xcode Version 9.1 (9B55) and i get the following error. Any advice on what I should try to make it work? Thanks.

+1

+1

+1

+1


Alloy 1.5.3 Bug - alloy-logs daemonset stuck in 'ContainerCreating' as ConfigMap does not exist

In the default values.yaml, setting the following enables the alloy-logs child chart to add a alloy-logs daemonset.
logs:
  enabled: true
  pod_logs:
    enabled: false
  cluster_events:
    enabled: true

The expected behavior is when setting logs enabled: true, we do not expect the child chart to render the alloy-logs daemonset. The Alloy logs daemonset is referring to a ConfigMap that doesn't exist as the parent chart doesn't contain the ConfigMap.
This occurs in the latest k8s-monitoring 1.5.3, we upgraded from 1.4.1.
Additional Error Message:
  Warning  FailedMount  4s (x1918 over 2d16h)  kubelet  MountVolume.SetUp failed for volume "config" : configmap "grafana-cloud-alloy-logs" not found

REF:
https://github.com/grafana/k8s-monitoring-helm/blob/main/charts/k8s-monitoring/templates/alloy-logs-config.yaml#L1
https://github.com/grafana/alloy/blob/main/operations/helm/charts/alloy/templates/controllers/daemonset.yaml

There has always been a bit of a tangle between .Values.logs.enabled and cluster events, pod logs, and other "log" based things. I'll try to improve things.

Thanks for the quick fix @petewall ! What is the release cadence to have this integrated to the chart? Would a release be cut this week?

Release cadence is "as needed", but higher-priority bugfixes will make things happen sooner than later. I'm creating 1.5.4 right now.


Closure -> callable

Can u support?
$app  = new App();
$robot->server->setMessageHandler([$app, 'onReceiveMessage']);

It can be support later

fixed in new version


Database Schema Diagram

Lives here: https://github.com/follow-the-nft/follow-the-nft-api/blob/dev/prepWork/databaseModel.md


Add Tundra Exploration Continued - Stockalike Dragon V2 and Falcon 9 from SpaceDock

This pull request was automatically generated by SpaceDock on behalf of damon, to add Tundra Exploration Continued - Stockalike Dragon V2 and Falcon 9 to CKAN.
Mod details:
name = /mod/1571/Tundra%20Exploration%20Continued%20-%20Stockalike%20Dragon%20V2%20and%20Falcon%209
author = damon
abstract = Tundra Exploration Continued by Damon
license = Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
Homepage =
description = This mod is originally created by Tygoo7, but continued by Damon/
Current parts

Rodan command pod, heatshield, and trunk. It also has a nice IVA included. (Dragon V2)

Staub control block, fuel tank, and OCS. (LADEE)

Ghidorah 9 fuel tanks, second stage engine, first stage engine, legs, grid fins, and decoupler (Falcon 9)

Gigan pod, heatshield, shroud, trunk, solar panel, solar shroud. (Cargo Dragon)

Planned features

Roadmap

Known issues
None so far
Recommended Mods
For the BEST IVA experience, I highly encourage you to download RasterPropMonitor for functional MFDs and other buttons for the IVA.
I HIGHLY recommend RealPlume Stock configs by Felger since it adds wonderful exhaust fx that makes things look much better.
Please direct questions about this pull request to damon.

404


Add EE settings for volume mounts, container options and pull arguments

Add settings to allow custom volume mount path
eg:"ansible.executionEnvironment.volumeMounts": [

     {
         "src" : "/Users/home/common/collections",
         "dest": "/Users/home/common/collections"
     }
 ],

Add setting to pass container options

 "ansible.executionEnvironment.containerOptions": ["--net=host"]

Add setting to pass container image pull arguments

"ansible.executionEnvironment.pull.arguments": ["–-tls-verify=false"]

Move execution-environment.pull-policy setting to
execution-environment.pull.policy

Add integration test for execution environment service and
providers

Related changes to ALS https://github.com/ansible/ansible-language-server/pull/318

The ci/devel-e2e job will pass after PR https://github.com/ansible/ansible-language-server/pull/318 is merged and ALS version is updated in package.json file

@ganeshrn description in ansible.executionEnvironment.pull.arguments. but unintended multibyte characters may be present.
Current: ’–-tls-verify=false’
          "description": "Specify any additional parameters that should be added to the pull command when pulling an execution environment from a container registry. e.g. ’–-tls-verify=false’"

Change?: '--tls-verify=false'
          "description": "Specify any additional parameters that should be added to the pull command when pulling an execution environment from a container registry. e.g. '--tls-verify=false'"

@yaegassy Thanks for your review comment. I have fixed it in the latest commit.


Enforce Dark Mode on Pages

An option to apply dark mode to all pages would be nice!
A process called "Inverting Colors" is what is used for this process.
Simply take the CSS of the current page, invert it, and inject it

You can make a PR with this if you want. It would should be added to the settings menu.

I don't know how to make a settings menu nor do I know how to inject or Invert CSS

I don't know how to make or edit a settings menu nor do I know how to inject or Invert CSS

Okay. I don't know how to invert CSS either. 😅

Enforced Dark Mode CSS
* {
  color: white;
}

input {
  background-color: white;
  color: black;
}

basically view a few websites, find the colors. And find out what colors websites commonly use. Then find an opposite color and have a dark mode css to inject into websites.

It would be easier to execute JavaScript on the page that gives the page dark mode.

It would be easier to execute JavaScript on the page that gives the page dark mode.

Well I suck at JavaScript so I can't do it

Here's some CSS I found on the web:
:root{
  background-color: #fefefe;
  filter:invert(100%)
}

* {
  background-color: inherit
}

img:not([src*='.svg']), video{
  filter: invert(100%)
}

I tested it in Ninetails and it does a pretty good job. I might add this as an option eventually. 😸


Install ML libs in CI

Hi @mlxd, this increases the python test time from ~2.5 min to ~4.5 min. As other workflows take around 8-10 min, this will not increase overall time.

Hi @mlxd, this increases the python test time from ~2.5 min to ~4.5 min. As other workflows take around 8-10 min, this will not increase the overall time.

Great, thanks @chaeyeunpark

Hi @maliasadi, I added versions for TF and PyTorch, but JAX does not maintain a particular stable version. As PL also does not specify a version of JAX, I think this is a reasonable solution. What do you think?

Fair! Thanks for looking into this. It looks good and happy to approve.

Thanks guys for approving this :wink:


[Bug]: Fix inconsistency with test and save buttons in datasource forms

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Datasources like postgres and airtable auto saves data. Save button in not required here.
Steps To Reproduce
Open postgres datasource form
Make a change in any field
Navigate away from page
Open the saved postgres datasource form again
Observe that the changes are autosaved
Public Sample App
No response
Version
Cloud

@parth-appsmith datasource configuration is the only place where we show a save button. Should we confirm this decision and suppress autosave in this case?

datasources created, 6m: 12000
assume 1/3 of users go away from the configuration page with unsaved changes: 4000
Stats

Stat
Values

Reach
4000

Effort (months)
<>

will be addressed in #4381


[production] registration cancelation policy unclear

When you go to register a project we currently say:
"When you register, a notification will be sent to all other project contributors. Other administrators will have 48 hours to approve or reject creating the registration. If any other administrator rejects the registration, it will be canceled. If all other administrators approve or do nothing, the registration will be confirmed and released or enter its embargo period."
This indicates that, whether you choose to make the registration public immediately or embargo is, the 48 hour cancelation policy should apply. Current behavior is that the 48 hour cancelation only applies to registrations that were embargoed. We should either change the language to indicate this, or change it so all registrations (regardless of public immediately vs. embargo) should have the 48 hour cancelation policy.

For what it's worth, I would vote for the 48 hour cancelation policy regardless of what option (immediate vs. embargo) is chosen to give other admins on a project the chance to over-rule a registration no matter how it is being released.

I think I agree @csoderberg .... Question to @HarryRybacki or @GaryKriebel : Current functionality, if I register a project w/multiple admins making it immediately public, and another Admin receives the email and "rejects" -- what happens to the, presumably, former public registration.

There were no changes made to registrations that are made public immediately. That is to say, there is no approval/disapproval emails issued for registrations made public immediately. I think that is on the list for this epic though.

I will write a hotfix to adjust the language accordingly this morning.

Thanks @HarryRybacki

@lbanner This fixed PR has been merged. Maybe we could close this one.

:+1:

@lbanner , this got brought up in metascience and this functionality is an urgent bug( @bnosek ). All registrations, no matter which release option you choose, should have the 48 hour cancelation policy in place.

We got that -- PR in for review on that here: #3919

Make sure to differentiate bug and feature -- the former strikes fear in the developer's heart.

I was told to log it as a bug, just following orders.


bump dependencies

The scala-steward PRs 683-691 are broken due to scala 2.12.10 and I can't figure out a way to rebase them for Travis build. This PR combines them on top of #682 which fixes the build.

Codecov Report

Merging #692 into develop will decrease coverage by 0.1%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           develop    #692      +/-   ##
==========================================
- Coverage     89.6%   89.5%   -0.11%
==========================================
  Files          112     112
  Lines         8943    8943
  Branches       314     314
==========================================
- Hits          8013    8004       -9
- Misses         930     939       +9

Impacted Files
Coverage Δ

...ala/com/twitter/algebird/ApproximateProperty.scala
72% <0%> (-10%)
:arrow_down:

...src/main/scala/com/twitter/algebird/Interval.scala
78.26% <0%> (-3.48%)
:arrow_down:

...re/src/main/scala/com/twitter/algebird/QTree.scala
78.23% <0%> (-1.18%)
:arrow_down:

.../main/scala/com/twitter/algebird/BloomFilter.scala
93.8% <0%> (-0.89%)
:arrow_down:

.../main/scala/com/twitter/algebird/Successible.scala
91.66% <0%> (ø)
:arrow_up:

...c/main/scala/com/twitter/algebird/MapAlgebra.scala
75.67% <0%> (+0.9%)
:arrow_up:

...main/scala/com/twitter/algebird/monad/Reader.scala
55.55% <0%> (+5.55%)
:arrow_up:

...in/scala/com/twitter/algebird/scalacheck/Gen.scala
100% <0%> (+9.09%)
:arrow_up:

Continue to review full report at Codecov.

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


v2 is impossible to import

Trying to import v2 in a project, copying the provided example_test.go file, yields the following error.

Even after updating the go.mod version like so

It still errors out with
require github.com/kkdai/youtube: version "v2.0.0" invalid: module contains a go.mod file, so major version must be compatible: should be v0 or v1, not v2

From what I understand the module directive in the go.mod file should be updated with /v2 like so
module github.com/kkdai/youtube/v2

I'm getting this error too 👍

thank @fr3fou  and @greentornado  for this issue.
now the package should be available.
please use "go get github.com/kkdai/youtube/v2" for new version

Confirmed working. thanks bro :D


If partition is nil return on Close immediately

This patch will allow issue #4135 to be better understood, and allow proper errors to be logged (instead of causing a panic). It may or may not be the right thing to do.

@pauldix @benbjohnson
It may, or may not, be worth preventing this panic, considering the upcoming storage engine work.

+1


Add PR Difficulty Rating workflow to rate pull requests.

The PR is categorized as 'BLACK' due to the creation of a new file (.github/workflows/pr-rating.yml) and the addition of a new GitHub workflow. This indicates extensive changes that have a high potential for introducing bugs or that require deep understanding of the project architecture. The new workflow appears to involve an external action (rate-my-pr/gh-action@main) which could introduce additional complexity to the review process.


SMB traffic missing SPI data or not correctly ingested

Elasticsearch version:
6.3.2
Moloch version:
1.5.2
OS name and version:
CentOS 7.5
How was Moloch built/installed: (rpm, deb, easybutton, ...)
rpm
Provide logs, stack traces and steps to reproduce:
none

SMB traffic passing across the wire is not logging much  of the spi data for much of the SMB pcap we are seeing. Attached is a screenshot showing the fields not being populated.

Additionally, files carved out by identity by Bro are not identified in Moloch spi data; for instance, in the above screenshot, there are gpt.ini files,. but no mention of other files in the transaction, such as Registry.xml.
The pcap used for bro analysis was pulled directly from Moloch, using the moloch id associated with the smb traffic. This was to get an apples to apples comparison. There were 147 packets in the session, so I did not hit the 10k mark and spread the traffic across multiple pcaps.

All the pcaps you sent me are missing packets.  If you feel moloch is dropping packets please run a parallel tcpdump and we can compare.


questions about the output dims of heatmaps

hi ,first, thanks for the repo, it's quite helpful.
I've got some questions about the CornerNet implementation of the codes here.
According to the paper, the output should of heatmaps should have dims like [Batch, Class. 128 128] for ONE keypoint (tl_heats or br_heats), but the implementation has TWO this maps concat as a LIST, while in the focal loss in Losses.py, this two maps' loss sums up together, could I ask, what's the meaning of the second maps?
Also, another question is about the output size of "tags" & "offs", why not just output same size maps as the labels of "tags" & "offs" directly instead of "gathering" from the output maps with "tensor.gather" ? Would the "gathering" helps the performance of the model?
Thank you very much!

Because we have intermediate supervision. During training, we use predictions from both hourglass modules to calculate the losses, following the common practice of training a stacked hourglass network. But, during inference, only the predictions from the last hourglass module are used.
We only calculate the tag and offset loss at the corner locations so I find this would make the loss implementation a little bit easier and cleaner. It's just a personal preference.

Because we have intermediate supervision. During training, we use predictions from both hourglass modules to calculate the losses, following the common practice of training a stacked hourglass network. But, during inference, only the predictions from the last hourglass module are used.
We only calculate the tag and offset loss at the corner locations so I find this would make the loss implementation a little bit easier and cleaner. It's just a personal preference.

Thank you for the reply, learnt lot from the code 😊


Update version of CF CLI plugin bump

Update release date on release-notes and index with ideal release data

[#166551491]
Signed-off-by: Glenn Oppegard<EMAIL_ADDRESS>

Thank you!


Update build guidelines

Fixes broken links to example files and clarifies a few things.
Review

@cfpb/front-end-team-admin

Preview this PR without the whitespace changes
Notes

Would someone (probably @contolini) be willing to update the Node installation instructions to incorporate nvm?

👍


Add publishing chapter

What?
It adds a new chapter to the Getting Started guide on how to define a publisher.

Thanks, for that (pun intended) :)


Push pageview and external link events to GA

What problem does this pull request solve?
Trello card: https://trello.com/c/qAojecL7/1602-enable-google-analytics-in-admin-and-runner

We previously added and enabled google analytics in admin and runner, but events aren't coming through in GA. THis is because we weren't actually pushing the events we care about into the dataLayer.
This PR does that. The events we're pushing are:

page views - every time a user views a page, we push an event containing some basic data about the page to GA
external link clicks - every time a user clicks a link without a relative URL, we log some information about that URL to GA

How to test
Firstly:

Set analytics_enabled: true in your development.yml file
login as a non-super admin user
open the broswer console

To test page views:

load any page on your local forms-admin
enter dataLayer in the console and inspect the array that comes back
you should see one object in the array that looks like this:

{
  event:"page_view",
  page_view:{
    location:{
      href:"http://localhost:3000/",
      origin:"http://localhost:3000/",
      protocol:"http:",
      host:"localhost:3000",
      hostname:"localhost",
      port:"3000",
      pathname:"/",
      search:"",
      hash:""
    },
    referrer:"",
    schema_name:"simple_schema",
    status_code:200,
    title:"Your groups – GOV.UK Forms"
  },
  gtm.uniqueEventId":2
}

To test external link clicks:

make your life easier by stopping links taking you to another page - run this snippet in your browser console:

document.querySelectorAll('a').forEach((link)=>{link.addEventListener('click',(event)=>{event.preventDefault()})})

click an external link (e.g. the Open Government Licence link in the footer)
enter dataLayer in the console and inspect the array that comes back
you should see one object in the array that looks like this:

{
  event:"event_data",
  event_data:{
    event_name:"navigation",
    external:true,
    method:"primary click",
    text:"Open Government Licence v3.0",
    type:"generic link",
    url:"https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/"
  },
  gtm.uniqueEventId":5
}

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

@thomasiles - interesting, that's not intentional. I can see some (impossible to parse) requests being sent to GTM when I click on external links so I think something is being sent. I think I'll merge this and see if the performance folks are getting anything useful back from it


Delete temporary repository data from /tmp after finishing importing a CVE

Is your feature request related to a problem? Please describe.
When importing CVEs in the vulnerability database, patch analyzer clones relevant git repositories in the local machine. However, after finishing importing a specific CVE, the corresponding repository do not get deleted from the local machine. While batch importing large number of vulnerability data it can incrementally waste storage unnecessarily in the local machine.
this is how my /tmp directory is growing while batch importing.

Describe the solution you'd like
After finishing importing a certain CVE, the corresponding repository data should be deleted from /tmp directory. I am assuming the repository data is not needed once the CVE is imported and the patch is analyzed.

PatchAnalyzer offers the -d option to delete temporary directories. However, it is not advisable to use it for bulk imports, because many CVEs concern the same source code repository, hence, the expensive cloning would be done over and over again. As such, for bulk imports, we still suggest to manually delete the temporary directories.
In the mid-term, we anyhow plan to rework the sharing and import of vulnerability information such that Steady does not need to wrap Git or other VCS clients any more.

As such, for bulk imports, we still suggest to manually delete the temporary directories.
I am using a VM where storage space is limited.

In the mid-term, we anyhow plan to rework the sharing and import of vulnerability information such that Steady does not need to wrap Git or other VCS clients any more.
Yes, now that I am deleting the repository data after importing each CVE, importing is taking a long time (~12 hours and still running). If the patch-analyzer analyzes patch to determine the location of CVEs (I am assuming), isn't it more viable to have the final data ready and import that at once?

Thanks!

Technically, I agree that it'd be much easier to share the vulnerability information in a format that can be imported straight-forwardly into the database.
Until today, we refrained from doing so because of license concerns. PatchAnalyzer computes the abstract syntax trees of the vulnerable methods, thus, sharing such information essentially corresponds to redistributing the code of the respective open source component.
This is probably Ok with the licenses of most of the projects. However, so far we do not collect license information systematically and have not established any corresponding processes.

Technically, I agree that it'd be much easier to share the vulnerability information in a format that can be imported straight-forwardly into the database.
Until today, we refrained from doing so because of license concerns. PatchAnalyzer computes the abstract syntax trees of the vulnerable methods, thus, sharing such information essentially corresponds to redistributing the code of the respective open source component.
This is probably Ok with the licenses of most of the projects. However, so far we do not collect license information systematically and do not consider it in our workflows.

Thank you so much for taking your time for this clarification!

You're very welcome, please close the ticket if you think you're good for the time being.
Cheers, Henrik