Remote Resolution Refactor

This PR hides the implementation of the internally used API in an internal package. This allows us to update the internal interfaces freely without breaking users.
NOTE that this is a migration of what I think is only internally used. Our docs on using the resolver framework do not use any of these and neither do our built-in resolvers.

Changes

Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[ ] Has Docs if any changes are user facing, including updates to minimum requirements e.g. Kubernetes version bumps
[x] Has Tests included if any functionality added or changed
[x] pre-commit Passed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Has a kind label. You can add one by adding a comment on this PR that contains /kind <type>. Valid types are bug, cleanup, design, documentation, feature, flake, misc, question, tep
[ ] Release notes block below has been updated with any user facing changes (API changes, bug fixes, changes requiring upgrade notices or deprecation warnings). See some examples of good release notes.
[ ] Release notes contains the string "action required" if the change requires additional action from users switching to the new release

Release Notes
NONE

/kind misc

/assign @wlynch

/assign @afrittoli if you have a chance, PTAL!

We should change the coverage job to update the coverage comment, or delete old ones, it's way to verbose now 😅


BeeGFS: Exception received when installing recursive file system watcher

Environment data
[Info  - 1:37:50 AM] Pylance language server 2021.5.4 (pyright fd334302) starting
[Info  - 1:37:50 AM] Server root directory: /mnt/beegfs/scratch/ray/.vscode-server/extensions/ms-python.vscode-pylance-2021.5.4/dist
[Error - 1:37:52 AM] Exception received when installing recursive file system watcher
[Error - 2:56:27 AM] Exception received when installing recursive file system watcher
Expected behaviour
The pylance can't start on our slurm cluster

That exception is not fatal. It simply means that we are not able to install a file system watcher, so modifications made to source files in your workspace outside of VS Code will not trigger a reanalysis.
You mentioned that pylance can't start. What symptoms are you seeing?

The symptoms are: there is no autocompletion or suggestion while required extensions are all installed, can't find the reference etc

Do you have trace logs? The default log level won't provide much information, hence our template asking for that info (and other sections you've deleted before submitting).
https://github.com/microsoft/pylance-release/blob/main/TROUBLESHOOTING.md#filing-an-issue

[Info  - 11:01:23 PM] Pylance language server 2021.5.4 (pyright fd334302) starting
[Info  - 11:01:23 PM] Server root directory: /mnt/beegfs/scratch/ray/.vscode-server/extensions/ms-python.vscode-pylance-2021.5.4/dist
[Info  - 11:01:23 PM] No configuration file found.
[Info  - 11:01:23 PM] No pyproject.toml file found.
[Info  - 11:01:23 PM] Setting pythonPath for service "research_1": "/mnt/beegfs/scratch/ray/env/anaconda3/envs/proj1/bin/python"
[Warn  - 11:01:23 PM] stubPath /home/leijh/projects/research_1/typings is not a valid directory.
[Info  - 11:01:24 PM] Assuming Python version 3.6
[Info  - 11:01:24 PM] Assuming Python platform Linux
Search paths for /home/leijh/projects/research_1
/mnt/beegfs/scratch/ray/.vscode-server/extensions/ms-python.vscode-pylance-2021.5.4/dist/typeshed-fallback/stdlib
/home/leijh/projects/research_1
/home/leijh/projects/research_1/typings
/mnt/beegfs/scratch/ray/.vscode-server/extensions/ms-python.vscode-pylance-2021.5.4/dist/typeshed-fallback/stubs/...
/mnt/beegfs/scratch/ray/.vscode-server/extensions/ms-python.vscode-pylance-2021.5.4/dist/bundled/stubs
/mnt/beegfs/scratch/ray/env/anaconda3/envs/proj1/lib/python3.6
/mnt/beegfs/scratch/ray/env/anaconda3/envs/proj1/lib/python3.6/lib-dynload
/mnt/beegfs/scratch/ray/env/anaconda3/envs/proj1/lib/python3.6/site-packages
[Error - 11:01:25 PM] Exception received when installing recursive file system watcher
[Info  - 11:01:25 PM] Searching for source files

I stuck in the last step: searching for source files

Problem resolved. The reason is my workspace has an extremely huge dataset that stores on a network storage disk, just excluding the dataset will enable pylance to start running.


fix:  issue 2562

Description
Copying datasets between workspaces does not work as expected since workspace/owner info is now well-updated. This  PR fixes it by enabling the validate_assignment attribute.
Closes #2562
Type of change
(Please delete options that are not relevant. Remember to title the PR according to the type of change)

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested
Added proper tests
Checklist

[x] I have merged the original branch into my forked branch
[ ] I added relevant documentation
[x] follows the style guidelines of this project
[x] I did a self-review of my code
[x] I made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added relevant notes to the CHANGELOG.md file (See https://keepachangelog.com/)

Looks ok but I don't understand the changes on the notebooks, it's something that you commit by mistake?

Looks ok but I don't understand the changes on the notebooks, it's something that you committed by mistake?

Yes, it was a mistake. Now, those changes are reverted


.Net: Allow async IFunctionFilter and IPromptFilters

The interface IFunctionFilter and IPromptFilter does not provide async methods. This is limiting when for example needing to update token usage based on function execution.
Suggestion, since the place where the filters are called from are already async make the filters ansyc.

@frederikrosenberg Thanks for reporting this issue. Yes, at some point we will probably have to add async version of filters as well, which should allow to support async scenarios in filters.
My initial proposal is to introduce IAsyncFunctionFilter and IAsyncPromptFilter which will work in the same way as current filters, but in async scope. ASP.NET Core uses similar approach.
@matthewbolanos Should we add this to filters graduation scope of work or deliver it as separate feature?


Usage gauge incorrect

Thanks for the awesome work in this service! Have found it immensely helpful as we start testing our application with users.
I noticed that #309 introduced increased limits, but the gauge is still counting against the old limit. I'm sure this is going to be fixed but just wanted you to be aware 😁

Hi @spark-ming - try to refresh the usage page, it might take a few minutes for the change to get added, please let me know if you are still seeing this

Just did a hard refresh and looks like it's fixed now! Thanks


Fix typos in parser error messages.

JerryScript-DCO-1.0-Signed-off-by: Renata Hodovan<EMAIL_ADDRESS>

Would you like to fix some fuzzer bugs?

Would be nice (in a distant future), but right now I have other priorities, like finding and reporting further bugs ;) (Seriously, my expertise lies in fuzzer technologies, not in JS engine internals. My goal is to help strengthening the project by finding implementation issues as early as possible.)

But finding and fixing a bug has even more positive effect on a project. So I encourage you to fix some of those bugs.

@renatahodovan : Out of curiosity, thru how many false positives you have to wade thru to find one real issue, as submitted to the project. (I myself very surprised by the amount of high-quality cases found by fuzzing, but I wonder what's there that I don't see).

@pfalcon False positives as such (i.e., something that gets misdiagnosed as an issue but actually isn't) are quite rare - perhaps segfaults caused by infinite recursions classify so. Test cases generated "superfluously" are another story, however, they are part of the nature of fuzz testing. And that ratio (non-failing tests vs failing tests) highly depends on the quality/characteristic of the used test generator. Generally speaking, total randomisation (e.g., random bytes that do not follow any syntax) results in less useful (e.g., issue- triggering) test cases, since they will be mostly discarded in an early stage of the input processing. On the contrary, generators following the rules (syntax or type expectations) too closely are creating tests that are already covered by the project's test suite and don't fail. So, the key is to find the golden mean.
To give some numbers, the latest generator I've been using resulted in a failure in every 30-50 tests, approximately. I've been running it every night during the last week on my workstation and it has executed cca. 8 million test cases (on Jerry, at least). From these issues, 11 were unknown and unique (8 of them are reported already, and 3 are still in my report queue).
As you can see, many of the crashes are duplicates but fortunately, I have a framework (Fuzzinator) that filters the unique ones and prepares them for reporting, automatically.

@renatahodovan : Thanks for the detailed response. I never tried fuzzing myself and know about it only superficially, but your reply confirms my impression that it takes quite some work and experience with it to get good outcome from it. The dichotomy you pin-point - completely random vs "generative" and the fact that neither of these 2 extremes is productive, also helps to organize my thoughts better. Of false positives, we got reports from someone trying to fuzz MicroPython about problems with things like "99**99999999", which get faithfully computed for a minute or two before leading to OOM (completely random input with AFL was used IIRC).
Anyway, thanks for sharing, will be interesting to look into your Fuzzinator on a calm day, the reports here are pretty impressive.


Defaults for choice ?

Is there any chance of allowing defaults for choice, like this:
@click.option('--dry-run', type=click.Choice(['pass', 'fail']), default="pass")
Cheers
S

(This would set 'dry_run' to "pass" if --dry-run is passed - if --dry-run is not passed, it would be None)

This code is working as-is.

Just found this out + came back to close this, thanks for your time.


Enable X-REQUEST-START header on routers

It would be great if we can enable/disable x-request-start header on specific app.
below discussion from slack:

pd Today at 3:20 PM
Is there any way to add X-REQUEST-START header on deis-routers?
34 replies
cryptophobia  2 hours ago
Is that an nginx header? If it is then we would have to add an extra app configuration annotation.
pd  2 hours ago
yes, that’s nginx header
pd  1 hour ago
cryptophobia I’m not sure if I understood correctly, so basically I can add an annotation to app?
cryptophobia  26 minutes ago
We will need to add code to the router config generator to allow it as an annotation on the application service object. Similar to how this one works https://github.com/teamhephy/router/blob/master/README.md#ssl-enforce
GitHubGitHub
teamhephy/router
Contribute to teamhephy/router development by creating an account on GitHub.
cryptophobia  26 minutes ago
Why do you need this annotation? Sounds like a special case. Otherwise we would add to all nginx server block configs for all apps. felixbuenemann
felixbuenemann  23 minutes ago
What is the purpose of X-Request-Start? Do you want to measure queuing latency from the router to your app layer?
felixbuenemann  14 minutes ago
cryptophobia I just checked, we could add something like proxy_set_header X-Request-Start "t=${msec}"; for all apps, I'm not sure we need an annotation to turn it on and off.
felixbuenemann  13 minutes ago
Some perf monitoring solutions like newrelic apm can use that header to determine how long the request was queued in the proxy layer before being processed in the app.
pd  12 minutes ago
exactly, we want to enable those metrics on newrelic
cryptophobia  11 minutes ago
We can add a global key to enable for all apps on the router annotations so we don't change current behavior felixbuenemann?
cryptophobia  11 minutes ago
Was not sure how this header works and what it is for so was just making assumptions...
felixbuenemann  10 minutes ago
The only reason you would want to disable if is if you had another proxy layer like haproxy in front of the deis router, that already injects the header. So not sure we need a flag to turn it on and off.
cryptophobia  10 minutes ago
Sure, if everyone agrees then I can work on adding to config for all apps.
cryptophobia  10 minutes ago
Sounds like it's not a header that changes current behavior, mostly used for analytics of latency and apm.
pd  9 minutes ago
If I can suggest, It’ll be great if we can disable/enable it for apps
pd  9 minutes ago
because in other infrastructure, we have it set on Haproxy and I think it can broke our metrics
felixbuenemann  9 minutes ago
pd Do you have haproxy in front of deis router or behind it?
pd  8 minutes ago
we’ve haproxy in front of deis router
felixbuenemann  8 minutes ago
If you are running haproxy behind deis router you'd probably just override the header.
pd  8 minutes ago
ELB -> Haproxy -> Deis-routers
felixbuenemann  8 minutes ago
Ah OK, then currently your best way would be to add the header on haproxy.
felixbuenemann  8 minutes ago
Otherwise you ignore queuing time in haproxy.
pd  7 minutes ago
sure, but in another project, we don’t have haproxy, so the only place where we can enable this header is deis-routers.
pd  6 minutes ago
give me a second, I’ll take a look if nginx will override that header if it’s already set before
cryptophobia  6 minutes ago
pd can you open an issue in teamhephy/router repo and reference the above conversation. I'll add it for next release.
felixbuenemann  6 minutes ago
In that case the normal annotation system should work fine, that can enable/disable globally in the router and also per app.
cryptophobia  6 minutes ago
Also mention we agree on global enable/disable switch. pd
felixbuenemann  6 minutes ago
Another approach would be to add the header only if it isn't already present in the request.
cryptophobia  5 minutes ago
Hmm how would you do the above felixbuenemann?
felixbuenemann  5 minutes ago
That would be rather using a map in nginx.
felixbuenemann  4 minutes ago
you would map over $http_x_request_stat and if is has a value pass it though and if not, set it. Then you use the new variable from that map in proxy_set_header.
felixbuenemann  4 minutes ago
It also mean it's possible to fake that header as a client, so it's not without drawbacks.
felixbuenemann  3 minutes ago
So probably an on/off toggle is the better solution.

@pdomagala , I will get this code in for next release. Thank you for opening the issue with the conversation from Slack. As of right now, it sounds like it would be best if it is a global switch and then a switch for each app to enable and disable the header.
The global switch will enable for all apps and be the easiest option for the users to enable this optional header.
The global switch will enable it for all apps by default underneath the hephy-router. If a user wants to disable it for certain apps that are using another loadbalancer, then the user can opt-in to add an annotation to the application service and disable them for each specific app that does not need the header underneath the hephy-router. It requires more configuration per app but this is a very custom setup so the extra configuration is warranted.
I am thinking for the names of the annotations to be:

Component
Resource Type
Annotation
Default Value

deis-router
deployment
router.deis.io/nginx.enableXRequestStartHeaders
false

routable application
service
router.deis.io/enableXRequestStartHeader
N/A

How does that sounds @felixbuenemann and @pdomagala ?
Will X-Request-Start header be set to anything different from t=${msec}?

Sounds great to me! t=${msec} is perfect, NewRelic recommends the same value in their docs.
Thanks for fast response 👍

I would simplify the name to requestStart or requestStartHeader if the shorter version seems confusing, because the option that toggles X-Request-ID headers is simply called requestIDs.

Per the discussion above I have made the annotations simpler:
router.deis.io/nginx.requestStartHeader
router.deis.io/disableRequestStartHeader
First one is set on global hephy-router annotations, the other is the application annotation to opt-out of the X-Request-Start header for each application if necessary.

Looks like we will be modifying the PR a bit:

So if appConfig.RequestStartHeader is nil, we use the value from routerConfig.RequestStartHeader, but if it is either true or false it overrides the routerConfig value. - @felixbuenemann

This can be tested with container cryptophobia/router:git-6016a3d.


new qualifier FRAME/CLOBER to write a gif without creating a backup copy

Reported by ansley b manke on 29 Jul 2011 19:05 UTC
For Ferret run by LAS, Roland noticed that when caching is turned off, Ferret re-writes the gif image files, keeping a copy of the previous ones as imagename.gif.~n~
He suggests that it would be cleaner in all cases that if the script is asked to make a file that it clobber any existing file and make a new one.  The caching on the server should prevent it from being asked to make a file when it is not necessary.
It should be a simple matter to add a /CLOBBER qualifier on the FRAME command.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1873

Modified by ansley.b.manke on 29 Jul 2011 19:15 UTC


CLOUDSTACK-10327: Do not invalidate the session when API command not found

Description
CloudStack SSO (using security.singlesignon.key) does not work anymore with CloudStack 4.11, since commit 9988c26, which introduced a regression due to a refactoring: every API request that is not "validated" generates the same error (401 - Unauthorized) and invalidates the session.
However, CloudStack UI executes a call to listConfigurations in method bypassLoginCheck. A non-admin user does not have the permissions to execute this request, which causes an error 401:
{"listconfigurationsresponse":{"uuidList":[],"errorcode":401,"errortext":"unable to verify user credentials and/or request signature"}}

The session (already created by SSO) is then invalidated and the user cannot access to CloudStack UI (error "Session Expired").
Before 9988c26 (up to CloudStack 4.10), an error 432 was returned (and ignored):
{"errorresponse":{"uuidList":[],"errorcode":432,"cserrorcode":9999,"errortext":"The user is not allowed to request the API command or the API command does not exist"}}

Even if the call to listConfigurations was removed, another call to listIdps also lead to an error 401 for user accounts if the SAML plugin is not enabled.
This pull request aims to fix the SSO issue, by restoring errors 432 (instead of 401 + invalidate session) for commands not available. However, if an API command is explicitly denied using ACLs or if the session key is incorrect, it still generates an error 401 and invalidates the session.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

How Has This Been Tested?
Compiled and ran CloudStack.

API commands not explicitly allowed for a role (e.g. listConfigurations for a user) generate 432.
API commands not enabled (e.g. listIdps with SAML disabled) generate 432.
non-existing API commands (e.g. fooBar) generate 432

However, API calls with session key removed generate 401 and invalidate session.
SSO is ok.
Checklist:

[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@olivierlemasle can you edit the PR and rebase against 4.11 branch?

@rhtyd Ok, I've rebased the PR against 4.11 and updated the base branch accordingly.

Thanks @olivierlemasle. I've one comment, since the last change around this was made by Wido, let's ask @wido for review.

I don't see anything odd in this PR, looks good to me. I didn't catch this situation.

@blueorangutan package

@rhtyd a Jenkins job has been kicked to build packages. I'll keep you posted as I make progress.

Packaging result: ✔centos6 ✔centos7 ✖debian. JID-1818

@blueorangutan test

@borisstoyanov a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

Trillian test result (tid-2449)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 7042 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr2498-t2449-kvm-centos7.zip
Intermitten failure detected: /marvin/tests/smoke/test_accounts.py
Smoke tests completed. 0 look OK, 1 have error(s)
Only failed tests results shown below:

Test
Result
Time (s)
Test File

Merged based on test results and code review.


Use the Project call nodes to target a device

Description
Currently it is not possible to target a device using a Project call node.
This would be very helpful to request data from a device.
Requested By

Elevate-it

cc @joepavitt for scheduling considerations

This is essentially a duplicate of https://github.com/FlowFuse/nr-project-nodes/issues/30
It was identified in Jun 2023 that the project nodes should be made application aware and later the issue was updated to explicitly call out this part (targeting application bound devices)
I think we should close this new issue in favour of the original which calls out application awareness explicitly and mentions the deprecated endpoint the nodes currently use.


AP: standardize redirect wrapping/unwrapping

Right now we have redirect_wrap and redirect_unwrap calls kinda scattered all across the codebase, which is making development and testing a bit painful. Ideally I think we'd treat it like sanitizing untrusted user inputs: carefully unwrap all AS2 objects right when they arrive, then leave them unwrapped until right when we send them out again, and carefully wrap them then.

Subsumed by Protocol and ids.py.


v0.18.0-beta.0: $BUILDKIT_HOST is ignored

Description
$BUILDKIT_HOST is ignored in v0.18.0-beta.0
Steps to reproduce the issue
BUILDKIT_HOST=dummy://invalid nerdctl --debug-full build .
Describe the results you received and expected
$BUILDKIT_HOST is ignored
What version of nerdctl are you using?
v0.18.0-beta.0
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
No response
Host information
No response

cc @ktock


Filtered aggregation to filter + aggregation while querying Apache Druid

Currently, Superset creates the query using Filtered Aggregation while creating the Druid native query.  Filtered aggregation on the String dimension is not optimal due to performance reasons while applied in a big dataset.
This request is to add the filter used in the filtered aggregation to the query itself.
Eg: Aggregation query
{
"queryType": "timeseries",
"dataSource": {
"type": "table",
"name": "wikipedia"
},
"intervals": {
"type": "intervals",
"intervals": [
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"
]
},
"granularity": {
"type": "all"
},
"aggregations": [
{
"type": "filtered",
"aggregator": {
"type": "longSum",
"name": "en_cnt",
"fieldName": "added"
},
"filter": {
"type": "selector",
"dimension": "channel",
"value": "#en.wikipedia"
}
},
{
"type": "filtered",
"aggregator": {
"type": "longSum",
"name": "ar_cnt",
"fieldName": "added"
},
"filter": {
"type": "selector",
"dimension": "channel",
"value": "#ar.wikipedia"
}
}
]
}
This will scan all the segments within the interval.
To improve the performance we need to add  the filters in the Query filter
eg:
{
"queryType": "timeseries",
"dataSource": {
"type": "table",
"name": "wikipedia"
},
"intervals": {
"type": "intervals",
"intervals": [
"-146136543-09-08T08:23:32.096Z/146140482-04-24T15:36:27.903Z"
]
},
"filter": {
"type": "in",
"dimension": "channel",
"values": [
"#ar.wikipedia",
"#en.wikipedia"
]
},
"granularity": {
"type": "all"
},
"aggregations": [
{
"type": "filtered",
"aggregator": {
"type": "longSum",
"name": "a0",
"fieldName": "added"
},
"filter": {
"type": "selector",
"dimension": "channel",
"value": "#en.wikipedia"
},
"name": "a0"
},
{
"type": "filtered",
"aggregator": {
"type": "longSum",
"name": "a1",
"fieldName": "added"
},
"filter": {
"type": "selector",
"dimension": "channel",
"value": "#ar.wikipedia"
},
"name": "a1"
}
]
}

Closing this as stale since it's been silent for so long, and we're trying to steer toward a more actionable Issues backlog. If people are still encountering this in current versions (currently 3.x) please re-open this issue, open a new Issue with updated context, or raise a PR to address the problem. Thanks!


Connect to broker using CA Cert ClientCert and Key

I am using MQTTNet with .Net 6 . My MQTT Broker provides 3 certificates as follows
-CA Cert
-Client Cert
-Client Key
These certificates are valid and work if i use them with a software like MQTTExplorer.
Now I am trying to use MqttNet (latest version) to connect to the broker. I have read the documentation and accordingly tried by converting clientCert and Key to pfx file using following command.
   openssl pkcs12 -export -out certificate.pfx -inkey clientkey.pem -in clientCert.crt
Now I have two certificates
-certificate.pfx (with password)

ca cert
I am trying to use MQTTNet as follows in console app:

var factory = new MqttFactory();
var mqttClient = factory.CreateMqttClient();

var caCert = X509Certificate.CreateFromCertFile(@"certificates\cacert.cer");

var clientCert = new<EMAIL_ADDRESS>"mypassword");

var options = new MqttClientOptionsBuilder()
            .WithClientId(clientId)
            .WithTcpServer(mqttUri, mqttPort)
            .WithTls(new MqttClientOptionsBuilderTlsParameters
            {
                UseTls = true,
                SslProtocol = System.Security.Authentication.SslProtocols.Tls12,
                Certificates = new List<X509Certificate>()
                {
                    caCert,clientCert
                }
            }).Build();

await mqttClient.ConnectAsync(options, CancellationToken.None);

On connectAsync I get an error, "Unknown error occured while processing certificates. Not sure what is wrong here ? I have tried to follow the documentation as well
https://github.com/dotnet/MQTTnet/wiki/Client#certificate-based-authentication  -- TLS using client Certificate

Please try with sample from https://github.com/dotnet/MQTTnet/issues/877 and let me know if it works.

@chkr1011 i can try but current version of MQTTNet no longer accepts byte[] for certificates.
Hence it won't allow export syntax. What do you suggest ?


[Feature Request] Saved rolls also remember comments

The current feature to save macros is great, but it would also be nice if it could save any comment alongside the actual roll.
That way you can include a comment that explains what the roll is meant for, if other people don't know what your shorthand means.
E.g:
/r $i = 1d20+6 #Initiative
/r $wolf = repeat(2, 1d20+5, brief) #Bobs-pet-wolf-attack
Of course that would lead to macros potentially taking more space, so it might be smart to limit how long comments can be saved with the macro.

This becomes problematic with recursive memorizations, e.g. $foo = 1d10, $bar = $foo - 1d2...
Maybe a multiline verbose mode.
Or in the future a WASM plugin to render the roll as a picture.

This becomes problematic with second-level memorizations, e.g. $foo = 1d10, $bar = $foo - 1d2...

Oh I didn't realize this was possible, I just tried this out and it works great! Yeah, that sure sounds like it would lead to trouble.
I guess you could include this in the documentation? Doubt I'm the only one who missed out on this feature because this flexibility wasn't mentioned in there.

I would also appreciate this feature. Possibly, for the second-level memorization issue, limit it to only use the comment for the root memorization?
e.g.
/r $roll = d20 # It's a d20 roll
/r $attack = $roll + 4 # Attack roll
/r $attack : Attack roll = (17) + 4 = 21

Thanks for the example, Andrew.
Yeah, I think that would work!

I was just about to make an issue for this, glad to see it's on the docket!

Nice to see this might get included.


ipset: 6.36 -> 6.38

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/ipset/versions.
These checks were done:

built on NixOS
ran ‘/nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/bin/ipset -h’ got 0 exit code
ran ‘/nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/bin/ipset --help’ got 0 exit code
ran ‘/nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/bin/ipset help’ got 0 exit code
found 6.38 with grep in /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38
directory tree listing: https://gist.github.com/0c86d4251a82d41c7e788e320f7013d0

cc @wkennington for review

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: ipset
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: ipset
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38
shrinking /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/lib/libipset.so.11.1.0
shrinking /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/sbin/ipset
gzipping man pages under /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/share/man/
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/lib  /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/sbin
patching script interpreter paths in /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38
checking for references to /tmp/nix-build-ipset-6.38.drv-0 in /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38...
moving /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/sbin/* to /nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38/bin
/nix/store/p1k7d2y5aa4haxlkkn2jadviwvl5plcc-ipset-6.38

Success on aarch64-linux (full log)
Attempted: ipset
Partial log (click to expand)
shrinking RPATHs of ELF executables and libraries in /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38
shrinking /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/sbin/ipset
shrinking /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/lib/libipset.so.11.1.0
gzipping man pages under /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/share/man/
strip is /nix/store/j7d4mr0ikv974ig7yzhknpsq288js4bs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/lib  /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/sbin
patching script interpreter paths in /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38
checking for references to /build in /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38...
moving /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/sbin/* to /nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38/bin
/nix/store/ln30xnb0b5xi221a13sv48b1z46shmaz-ipset-6.38


Need test using special characters as password to decrypt the exported JSON.

Some feedback saying that there have problems when import the exported JSON, using special characters.

For reference, these are potentially related:

#1054
#1219
#1406

A quick test shows special characters working for me, and this is too old--so closing.


New version of TeamFoundation.TeamExplorer.Extensions - 14.0.24712 (VS2015.1)?

I've just started using tfs-git (<IP_ADDRESS>) and got an error on checkintool
Value cannot be null.
Parameter name: path1

Looks like the problem is line 17 of GitTfs.Vs2015\TfsHelper.Vs2015.cs
var tfsExtensionsFolder =<EMAIL_ADDRESS>"Microsoft.VisualStudio.TeamFoundation.TeamExplorer.Extensions,14.0.23102");

on my computer this registry key ends with 14.0.24712. Maybe because I've just installed VS2015 update 1?
thanks

I'm getting this too

Should be fixed by #890. I have upgraded my VS2015 and it fix it for me!
Could you test it?
Here is a built version with the fix...

tested and works OK for me thanks!


rebar3Relx: strip native binaries

Motivation for this change
See #125885
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@NixOS/beam leaving this open 1 day in case anybody is interested in checking in more details.


allow mesos container to run without cmd and args

The docker/runtime isolator grab cmd or args from docker image if not available in app definition.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@vixns Thanks for this PR. Looks good. Can you please rebase this branch?

@vixns our test infrastructure is not stable, so I was not able to merge. Can you please rebase?

@vixns  This branch has now 29 commits. I rebased your commits on top of master here: #4378


Not working with CommandQueue

Hi there.
I prefer this mod to the alternatives. It's simple and it allows me more control over the spawnrates.
Currently, it doesn't appear to work with the popular CommandQueue mod.
Any chance these two could be made to work together?
Thank you!

Hey,
Are you mostly interested in the spawnrate portion of this plugin? If so I can definitely split that into it's own plugin that would work fine with CommandQueue. I haven't looked closely but I'd bet it's the portion of this plugin that provides per instance loot that is hooking the same methods as CommandQueue and causing issue. If you are interested in the instance loot as well though I can try to take a look and see if it's semi-simple fix

Nope! The instancing is the main feature. The spawnrate adjustment is just a nice-to-have.
If you could find any easy way to make this mod compatible with CommandQueue, that would be amazing!
Right now we have to choose one or the other, but I know a number of people that would be thrilled to be able to use both.
I believe CommandQueue works with the other InstancedLoot mod: https://thunderstore.io/package/KubeRoot/InstancedLoot/
I prefer this one, though :)
Thank you!

Ok so looked into it and the issue is that CommandQueue hooks a function I actually ensured never get called. The call path to get to that function normally spawns a network object which I want to avoid as a network object everyone can see and interact with which allows someone to potentially pick up someone else's items, instead I block that path and send a message to each client and have the client create a local command object which then only the local player sees and can interact with. Long story short the way I do that prevents CommandQueue's logic from ever running which is why it doesn't work.
That said the specific function they hook(PickupPickerController.OnDisplayBegin) I had duplicated in my code to display the picker dialog. Some quick testing locally seems to show it's safe to call their implementation instead as that function doesn't care if the object is a local or network object. Changing that things seem to work as expected.
I need to do some more testing. And there's another pr in progress to add some awesome balancing changes to the plugin. Hopefully we'll get that merged in the next day or two and then I'll create a pr for fixing this a day or two after once I can do a bit more testing.

New Version is pushed. Let me know if you see any issues


Documents list: add delete functionality

Is your feature request related to a problem? Please describe.
User wants to be able to delete a document.
Acceptance Criteria
GIVEN I am a logged in user
WHEN I navigate Components > Documents list page
AND I click on delete button for a specific document

THEN I expect to see a message asking for delete confirmation.

AND When I click Delete the document is deleted.
AND The indicator results to which the documents are linked will remain. The document field (Evidence) will just be blank

@chelliah since you did the Documents modal do you mind taking a look at the delete functionality as well?:)


[Bug]: When adding Homebase missing most functions. (Only noticed since having two Homebases S380 and Homebase 2 on same account)

Version
1.7.1
Node version
?
Operating System type
Linux
Operating system version
HAOS 11.2
Describe the bug
I have been using this addon with an S380 for some time with no issues, I recently add into my eufy account my Home Base 2, the Home Base 2 has Motion and Door sensors only. However Although it shows up most functions are not available.
I tried reinstalling the add-in etc. however this resulted in both Home Bases then having the problem.
If I restore my HA from backup the S380 functions are restored and the Home Base 2 syncs back in again, but still broken.
The only options available are:

Set value for Home Base Prompt Volume
Set value for Home Base Alarm Volume

Cameras seem to have all options available.
To reproduce
As above, just having the 2 devices in my account and setting up the addon. The issue reoccurs everytime.
Screenshots & Logfiles

Additional context
No response

wrong repo


Add LiteX config parser script

This simple script is just a wrapper on Configuration class.
It allows to extract single value from the LiteX configuration file and can be used in, e.g., bash scripts to avoid parsing csv/header file there directly.
It is intended to be used in litex-buildenv scripts.

This is not needed anymore after merging #23.


where is ruby 3 in list

I installed using ubuntu apt package manager.
both ruby-build --definitions and rbenv install -l
provide something that looks like this:
...
...
...
2.3.1
2.3.2
2.3.3
2.3.4
2.4.0-dev
2.4.0-preview1
2.4.0-preview2
2.4.0-preview3
2.4.0-rc1
2.4.0
2.4.1
2.5.0-dev
everything else below that is jruby, rbx, where is normal ruby 3? I think on my mac a while back the ruby version went up to 2.7 so how come almost a year later now the highest is 2.5.x, is the ubuntu package just behind?

I don't know the maintenance status of ruby-build on Ubuntu package. I could install Ruby 3.0 or later with the current master branch.

It looks like ruby-build the (apt package) hasn't been updated in a while. Here's what I did to use a newer version as a plugin for rbenv:
$ sudo apt install rbenv
$ sudo apt remove ruby-build
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build


Add configuration for whether selection remains or clears on copy

Selection disappears after copy (on latest release):
If I remember well, this is behavior of cmd.exe and is not how Gnome Terminal / wsltty / Notepad /  any Windows app works. If you work in multiple tabs and copy things in several rounds. It is quite useful to see what was copied / where selection was previously.
Given that https://github.com/microsoft/terminal/issues/4477 is fixed, it is now trivial to discard selection when one does not want it. So keeping selection even after copy now is practical.
After selection, before copy:

After copy (Ctrl+Shift+C):

Now if I switched windows / tabs / did some other clipboard manipulations, I no longer have a way to remember / recall what I already copied last time from this lovely Python disclaimer.

Marked up as a p3 task for terminal backlog. Thanks!

After scanning most of our repo, I think this is actually a /dup of #3884. Linking and updating that one. Refer to that one for updates and discussion.


chore: update dependencies

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 89.744%

Totals

Change from base Build 988809783:
0.0%

Covered Lines:
470

Relevant Lines:
518

💛  - Coveralls


[#532, #2134, #2132, #2056] Allow for editing the quantity of an item directly on the character and group sheet; remove 'Charges' column on group actors.

Note that this touches only the character and group sheets.
CHARACTER:

GROUP:

Resolves #532, #2134, #2132, #2056.

Quantity column looks good. I'm not clear on why we're removing the Charges column from the group actor sheet though.

My idea was that the group actor had a focus on inventory management, not item management, if that makes sense. I also couldn't come up with a use case for managing limited uses on an item on a group actor.
I can add it back easily, though adding the functionality of adjusting the limited uses results in even more copying and pasting from the base actor.
(532 should also be linked)

My idea was that the group actor had a focus on inventory management, not item management, if that makes sense. I also couldn't come up with a use case for managing limited uses on an item on a group actor.

I'm sure there could be items with charges that a group manages in a shared way. Like a Wand of Tiny Hut or something.

I can add it back easily, though adding the functionality of adjusting the limited uses results in even more copying and pasting from the base actor.

There was some mention in the original group actor PR about creating an additional abstract parent sheet implementation that we could use to share code more easily. How much code duplication would there be to just display the charges on the sheet but not have them editable? I'm ok with removing the charges column entirely if it's nonfunctional without code duplication, and then we add it back in once we've created the common sheet class to share code across.

How much code duplication would there be to just display the charges on the sheet but not have them editable?

The code duplication would be in making them save their changed values, not in displaying them. I feel like just adding them back later is a better long-term solution rather than repeated changes.

@krbz999 I brought your fix for #2132 into the 2.1.5 release, so when you rebase you should be able to remove references to that particular fix.


golang pprof does not work yet

As far as I know, perl pprof is deprecated in favor of golang, but golang pprof does not support stack traces symbolization yet. (The pprof flag "--symbols" passed to execlp does not work in golang pprof.)
I was mislead by README, it recommends people to use golang pprof but sadly it does not run acutally. Is it better to remind people to use the perl pprof in README until golang pprof can work?

yes, and they actually refuse to add support for this. Reasonably saying that they're profiling too, not symbolizing.
So for --symbols we'll have to keep perl program, or have somewhat reimplement just --symbols part in c++.


Issue #2068 boolean flag change

Updated the pre-commit as well, since flake8 location changed.  That's why multiple commits.

@ianco - This change was not initially intended to impact security behavior, but you make a good point.  With allow_head = True or False, the server returns a 401 error with admin api key enabled.  With the api key enabled the development proxy would not work which is currently OK, but this may have gaps in the future.
This feature only currently considers HEAD calls with admin-insecure-mode, so that the default route returns a 302 instead of a 405 with the corresponding error in the server log.  In my development proxy situation, I can't configure it to use any routes other than the default.
The security risk of adding this default route to the unprotected set isn't clear to me.
Do you think it would be better to first handle the initial use case (insecure mode) now, and then consider the admin api key scenario in the future?  Or, should more thought be given to adding the default route to the unprotected set (or similar)?  If you provide direction on where in the code base the unprotected set is configured, I can also try to see how that works across the use case variations.

I don't think it would be advisable to add the default route to the set of unprotected routes.
@johnekent, Are you able to provide more details on why your setup requires allow_head = True?  Perhaps there is another way to accomplish the same thing.  Would there be an issue in you're scenario if the admin api key were enabled?

@johnekent the list of unprotected paths is defined here:  https://github.com/hyperledger/aries-cloudagent-python/blob/main/aries_cloudagent/admin/server.py#L300
These include the /api/doc endpoint (so you can connect to the swagger page and authenticate) and the status endpoints that we use for our deployments.  (All of our deployments are secured by an api key, but we don't require the api key access the status endpoints.)
It's recommended to enable the api key for all deployments (other than local dev).  Could your do a HEAD query against one of our existing status endpoints?

@WadeBarnes I am using the Coder development environment which provides a Dev URLs feature for ports (admin, endpoints, etc.) to be available as a reverse proxy - e.g. for accessing the swagger docs from a browser, or for a controller UI to connect with an agent.  The majority of work will be on developing controllers, which shouldn't require admin api keys.  I.e., this is for controller development, not for server administration/configuration.
@ianco the setup described above would be considered local dev, and would only be used for those purposes.  The dev urls configuration can't specify any endpoints, only server and port.
If this feature can be merged, then Coder can be used for controller development.  That seems like a benefit to the aries ecosystem that doesn't cause any harm and also doesn't change the current security.  However, I am open to exploring alternatives.

OK, I'm ok with this as long as @WadeBarnes is ok with it lol
It won't cause any hard because the HEAD method can't be used if the admin api key is enabled, so it's only available in a non-secure environment.
(Btw the admin api key is definitely intended for use with controllers, it's all that's protecting aca-py's admin api from malicious use.  If you deploy aca-py into a prod environment with no api key and someone gains access to the admin url they can issue themselves credentials under your identity.)

@ianco and @WadeBarnes what about this addition - adding HEAD to the existing OPTIONS check.  This allows both use cases while extending the existing security for method exceptions.

Allowing HEAD requests to bypass security when the admin api key is enabled would falsely indicate the endpoints were available when in fact they would not respond to any other request.  It also opens the door for the API to be more easily scanned when it's supposed to be secured.
Allowing HEAD under the regular security constraints would be fine.  Meaning HEAD requests could be used in insecure mode, or secure mode provided the api key was also supplied in the request.

@johnekent, Looks good to me.  Could you please squash and rebase your changes into a single commit and add DCO sign-off please?

Appreciate the patience and feedback here @WadeBarnes and @ianco .  Squashed back to what's ultimately the initial commit, and I believe the DCO's on that one.  Will check back after the scans.  Thanks.

@ianco, ready for your review and approval.


Avoid error when calling getExtent on null geometry

If flatCoordinates were null, an error was thrown.

I'm not sure this is the right fix. It would be better to change the type of the constructor's coordinates argument so it does not accept null coordinates.

Not a big fan of the new version because you have to fake length as well, but ready for another review.

Looks like I misread your comment. There is a test to check null geom is allowed. So looks like its on purpose ?

Hm. Accepting null as coordinates in a geometry constructor was introduced with 1a9d19a2fb8ff978d82f43c5cb8135a0660c490c. In addition to being used in draw-shapes example, geometries with null coordinates are used in many feature formats.
So maybe for now it makes sense to go back to a modification of your initial pull request, i.e. return null for getExtent() on geometries without coordinates.

To have coherent typing, empty extent looks better to me than null. Or we'll have to deal with «maybe null »getExtent elsewhere in the code. We'll still have the same issue with getFirstCoordinate & getLastCoordinate, not sure what's best for them (as there's no «empty» coordinate).

Ideally, we‘d disallow null coordinates in the constructor, and add a SimpleGeometry#fromFlatCoordinates instead.

Sounds good. I'll look at it.

@tonio Probably even better, we could make the geometry constructors smarter by adding an additional ends argument (for polygons etc.), and accepting flat coordinates in addition to coordinates. I'll start a branch to show what I mean, and you can add commits to that.

I have created #8362, which replaces this pull request and fully implements what I suggested in https://github.com/openlayers/openlayers/pull/8353#issuecomment-402956736.


_links field is not whitelisted

_links field should be whitelisted in each rule, it violates our syntax rules in the guidelines but is also defined as default field for links in our guidelines. Currently Zally creates violations for it.

@fmueller AFAIU the only rule that is related is SnakeCaseInPropNameRule
Do you know about any other rules that need to be changed to fix this issue?

It's only related to this rule.

Was re-introduced by a refactoring.


Generate changenote when assigned

What
This PR is for a small function that runs when a step by step is going into draft. It generates an InternalChangeNote with the text "Draft created by #{current_user.name}".
Why
We think that this will help users to keep track of who started the current draft and make communication and traceability easier.
Ticket

@leenagupte thank you for the feedback. I think I've made all the suggested changes. Could I ask for a second look?

@jonodrew If you reverse the order of the commits, I'll approve this.

Deal!


Bump terra and prepare for release

Summary
This commit bumps the terra version to pull in the latest release 0.8.1.
It also prepares the qiskit package versions for release.
Details and comments
Fixes #278

Removed the on hold because terra 0.8.1 is up on pypi now.


Improved the UI of Frosa

Description
Improved the UI of Frosa
Related Issues
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]

Closes #1576

Type of PR

[x] Bug fix
[x] Feature enhancement
[x] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes]

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

@sunny0625 Please merge this PR as soon as possible.

@sanjay-kv  Please merge this PR as soon as possible.

@sunny0625 Please merge this PR and add the level label.


FoundationDB SQL Layer Adapter

I've added support for a FoundationDB SQL Layer knex adapter. I tried my best to follow the style of code throughout the project. The FDB SQL layer code was adapted from the PostgreSQL code. I also updated the test directory to include both unit tests and integration tests for the fdbsql adapter.
For more information about the newly supported database, see here: https://foundationdb.com/
Pleas don't hesitate to contact me for questions and comments.
Thanks!

Please rebase this into a single commit when you have a chance and I'll review it. Knex's internals are starting to become unmanageable so please do the best you can to maximize test coverage. That's the only way to prevent regressions when this stuff needs to be rewritten.

I've rebased as requested. Nearly every test that previously existed for postgreSQL runs for the fdbsql adapter now as well. Note that the ones that aren't properly tested against the FoundationDB SQL Layer are testing unsupported operations for the database. A couple of examples include the tests using the JSON and enum types.

What Ben failed to mention though, is awesome work on putting this together @gjvargas!
Knex's internals are definitely getting a little hairy but should be looking really nice in the coming weeks as I'm going to dive back into things with a fresh look on modularity and coming up with an approach to use transducers throughout the codebase for consistent parsing and query generation.
All that said, Ben and I will take a look through and ask any questions.

Awesome. Thanks guys!

Hi @tgriesser @bendrucker, I worked with @gjvargas on this and would be happy to make any needed changes. Anything I can do to help wrap this up?
We have ones ready to go for Bookshelf and Ghost once this is in :)

I'm fine with this. I'm restarting the last build to see what's up on the tests. As demand for other DBs increases, I'd like to generate multiple coverage reports specific to each DB so we can get a better handle on both DB-related status and stability.

Can you fix the tests?

Can you fix the tests?

Sure!
SQL Layer isn't yet available in Travis so the integration tests will need to be skipped for CI. Is that ok?

Yeah, that goes along with the "experimental" comment.

Removed from default integration list and rebased. And looks like Travis is happy.

Great. On my list for the weekend.

Welp. Guess we'll see if there's any future here - https://www.npmjs.com/package/fdb

Wow — time to revert this then:
http://www.macrumors.com/2015/03/24/apple-acquires-foundationdb/


Accessing "META-INF/maven/plugin.xml" files during tests

If I got this right, a maven plugin is nothing more than a regular jar with some additional metadata files in META-INF/maven/.
A jar built with the de.benediktritter.maven-plugin-development contains those file:

Screenshot of a jar corresponding to the example-maven-plugin project.
The files are generated in the $buildDir/mavenPlugin/descriptor folder.
Usually when I have a task that generates files that needs to be present in the jar, I modify the source set to add the generated folder like this:
sourceSets.main.output.dir file("$buildDir/mavenPlugin/descriptor"), builtBy: generateMavenPluginDescriptor

While I was working on having functional tests for my maven plugin (see https://github.com/britter/maven-plugin-development/issues/41 - I will share the results soon) I noticed that the META-INF/maven/plugin.xml are not available during the test.
Adding this code to a test shows the problem:
System.out.println(getClass().getClassLoader());

if (getClass().getClassLoader() instanceof URLClassLoader) {
    Arrays.stream(((URLClassLoader) getClass().getClassLoader()).getURLs())
            .forEach(e -> System.out.println(e));
} else {
    System.out.println("XXXX Not a URLClassLoader");
}

During the test task the jar is not present on the classpath, only the folder containing the *.class files.
Output:
sun.misc.Launcher$AppClassLoader@2a139a55
file:/<user home>/.gradle/caches/7.3/workerMain/gradle-worker.jar
file:/<path to>/example-maven-plugin/build/classes/java/test/
file:/<path to>/example-maven-plugin/build/classes/java/main/
...
file:/<user home>/.gradle/caches/modules-2/files-2.1/junit/junit/4.12/2973d150c0dc1fefe998f834810d68f278ea58ec/junit-4.12.jar
... and a lot of other jars from the gradle cache (corresponding to my test runtime classpath)

I was wondering if this is intended?

Hey @jmini thank you for the report. I remember trying to do this but but there is a fundamental issue here that I'm not sure how to work around: The Maven plugin tools need to consume both the source files (to scan JavaDoc) and the compiled classes (to find annotations). For that reason the generate task consumes both the sources and the sourceset output as an inputs. Because of that it can not add something to the sourceset because that would result in a cycle. I can review this again and try to work around it, but I'm not sure it's possible.
As a workaround I think it should be possible to make the test tasks consume the jar instead of the classes folder. I can't tell how to do that from the top of my head, but I think it should be possible.

As a workaround I think it should be possible to make the test tasks consume the jar instead of the classes folder.

This would be great. I have a dependency to the jar task anyway. Because for functional tests, Maven (through the takari code) needs to know all the jars and all the pom files of the projects under test.

Currently my workaround is to add $buildDir/mavenPlugin/descriptor to the test source set.
It is wired, but working since once in the classpath it does not matters how it was added.
Following code has to find the MOJO xml file:
Enumeration<URL> resources = getClass().getClassLoader().getResources("META-INF/maven/plugin.xml");

Source in Maven30xRuntime.java
Otherwise the tests are failing with:
java.lang.AssertionError: The MojoDescriptor for the goal <name> cannot be null.
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.assertTrue(Assert.java:41)
	at org.junit.Assert.assertNotNull(Assert.java:712)
	at io.takari.maven.testing.Maven30xRuntime.newMojoExecution(Maven30xRuntime.java:234)
	at io.takari.maven.testing.TestMavenRuntime.newMojoExecution(TestMavenRuntime.java:234)
	at io.takari.maven.testing.TestMavenRuntime.executeMojo(TestMavenRuntime.java:244)
	at io.takari.maven.testing.TestMavenRuntime.executeMojo(TestMavenRuntime.java:240)

If I can't make this work by adding it to the source set I think it's possible to add it to the testRuntimeClasspath from my plugin. I will look into it after I'm done with #73.


Greenkeeper/mocha 6.0.1

Blocking bug: https://github.com/mochajs/mocha/issues/3763

Coverage remained the same at 100.0% when pulling e0dbaa23cb1d1b51d27e71b94c4d4fff72e5a377 on greenkeeper/mocha-6.0.1 into 39877932ae21892cc228c9b4c20881f995a3c1ae on master.


Places: FindPlace API Bug - locationrestriction & locationbias not working

Steps to reproduce

In Postman, trying to call findplacefromtext api, providing the input 'london' and specifying a location restriction of within 10000 meters of the coordinates of London, Ontario, Canada still returns the result London, England

Code example
  https://maps.googleapis.com/maps/api/place/findplacefromtext/json?key=<mykey>&inputtype=textquery&locationrestriction=circle:10000@42.9849233,-81.2452768&input=london&fields=place_id,name,formatted_address

Response
{
    "candidates": [
        {
            "formatted_address": "London, UK",
            "name": "London",
            "place_id": "ChIJdd4hrwug2EcRmSrV3Vo6llI"
        }
    ],
    "status": "OK"
}

Swapping locationrestriction with locationbias here, it also returns London, UK. I would somewhat expect locationbias to return London, Ontario, Canada, but I understand it depends on how strong the location bias is.
However, I fully expect locationrestriction to return the 'london' that is within the location constraint provided.
I also tried specifying a rectangle for locationrestriction, but that did not work either.

I am having the same issue with my query:
https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=petisco&inputtype=textquery&fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry%2Cplace_id&key=<key>&language=en&locationrestriction=circle%3A20000%4045.5152%2C-122.6784
which should give a result in Portland, OR. Instead I'm getting results in the UK or Hamburg.

There is a public issue tracker issue where support confirms that this parameter is unsupported.


Transfer of original repo into this organization

Please verify that you have read and understood the guidelines.
yes
A clear and concise description of the issue.
@tteck: Why the original repository has not been moved into @community-scripts organization?

https://github.com/tteck/Proxmox

Can you do it?
What settings are you currently utilizing?
Default Settings
Which Linux distribution are you employing?
Alpine
If relevant, including screenshots or a code block can be helpful in clarifying the issue.
No response
Please provide detailed steps to reproduce the issue.
No response

I am not sure the original reasoning, but please keep in mind tteck may not be able to answer questions. I don't think it matters going forward.

tteck wants the original code to remain unprocessed. The original repo has therefore been archived.

@MickLesk: It has not been solved, can you reopen?
I have already explained steps to @BramSuurdje :)
The goal is to do not lost the history, fork, star, etc. and there will have redirections.

14.3k stars
194 Watchers
2.3k Forks


Remove drivers symbols on lv_conf.

This is to cleanup the lv_conf file from configuration depending on the chosen driver, the configuration is solved at Kconfig level.
All this work is towards using lvgl as a esp-idf component.

Looks good to me!

Not that I am planning on enabling this anytime soon, but FT81x displays actually support multiple pixel formats: ARGB1555, L1, L2, L4, L8, RGB332, ARGB2, ARGB4, RGB565, PALETTED565, PALETTED4444, and PALETTED8 (which can be effectively RGB8888 I think with the right palette setup). It would be nice if in the new kconfig stuff, this isn't too hard-coded to the display type so that I could enable the other pixel formats for the FT81x down the road. It looks like that will be the case here as long as someone can just change LV_COLOR_DEPTH in kconfig once a default is set for the FT81x. At the very least, this could make the FT81x an interesting test device for LVGL since it supports so many pixel formats. So not a priority at all, just wanted to make sure it was considered.

I didn't pushed my last commit, but you will be able to set any of the LVGL supported color depths on the LVGL Kconfig. This repo is sort of a 'playground' for adding Kconfig (and being able to use it as esp-idf component) support into the main LVGL repo, i hope to get it done in this weeks.

@embeddedt Ready for review, moved two configuration option from lvgl_tft to lvgl Kconfig.

@C47D I'd like to note that when Kconfig will be part of the LVGL repo, ideally ESP32 could work without lv_conf.h too.

@kisvegabor, noted that, we need to update the lv_conf_internal file, some of the options are not handled as in the lv_conf file.

No problem, we can add a dedicated ESP section to add default options.

Ok, I will merge this later today because I need to update the README.


[Navigation] Overlapping elements in Sample Bottom Sheets layout

Description
It seems that something is off with the layout of the Navigation: Bottom Sheets of the Sample app: the button to show a new bottom sheet is overlapping the arg text showing the UUID.
Steps to reproduce
Run the sample on an emulator (tested on API 23 and 31)
Expected behavior
All the elements (button and text) should be visible and not overlapping
Additional context

@jossiwolf I made a PR with a fix.


Moar LinkFree please, thank youuu

Fixes Issue

Changes proposed

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

I didn't use it, but I think it's very cool you offer Gitpod for this repo. 💯


Collections

First draft of collections.
@j-m-dean I welcome suggestions of how to improve the text, things I have missed out, and ideas for an exercise.
Pinging #8

I think it covers all the basics, some comments I jotted down as I read were:

bullet points at start: Dictionarys -> Dictionaries
Can concatenate tuples together
“This notation can be a bit confusing, as this notation is inclusive then exclusive” - a diagram would be useful here.
 The key being the word and the value being its meaning. This is how I was introduced and it has stuck with me since.
“Finally, the items in a dictionary need not be single varibles,” - variables
-personally I would introduce lists before tuples as students are more likely to use lists than tuples.

There are no diagrams in the tutorial at all. Very information dense. No “breathing” space for students to think about concepts. I think list indexing can be learnt easily by visualisation.

Potential exercises:

Create a dictionary of the first row of the d block elements where the keys are the elements names and the values are the valence electrons.
Using list slicing extract the even, odd, values less than 5, values greater than five, values between 3 and 7 for the list [1,2,3,4,5,6,7,8,9,10]. (Boring but practical- I cannot think of any examples where you would need every other/third data points)

@j-m-dean that's me dealt with the comments (I think) and added the transition metal exercise that you suggested. So any other comments welcome!

Looks great! 👏 🎉
Couple of typos and then it is good to go:
-"So it is possble for a list to be made up of disperate forms of information." - disparate (above code cell 16)

"The immutability of a tupe does not mean that the whole variable cannot be overwritten." - tuple (above code cell 24)

Done and going to pull


isMutating doesn't see mutations from children components

Describe the bug
In my app I have a <ParentComponent>, this component contains logic to check if mutations from children components within it are being mutated.
My idea was to use client.isMutating() or useIsMutating() to check whether any mutation from its children components were being submitted, but I think I stumbled upon a bug.
Any mutation from a child component won't cause the parent component to re-render, so client.isMutating() will never return anything other than 0.
Your minimal, reproducible example
https://codesandbox.io/s/crazy-platform-rxhn8e
Steps to reproduce

Click on the "Ping" button
Console should log:

At least one mutation is fetching!
At least one mutation is fetching! (from child component)

Click on "Ping (child)"
Console only logs

At least one mutation is fetching! (from child component)

Expected behavior
As far as I understand it, At least one mutation is fetching! from the parent should also log to the console.
I assume the cache is shared in the Client Context, so my guess is that isMutating() isn't causing a component re-render, which fails to log the correct message to the console.
How often does this bug happen?
Every time
Screenshots or Videos
No response
Platform

OS: Windows 11
Browser: Chrome
Version: 99.0.4844.82 (Official Build) (64-bit)

react-query version
v3.34.16
TypeScript version
No response
Additional context
No response

Upon second inspection this only seems to affect queryClient.isMutating(), which means useIsMutating() works.
Sorry for the bad report :/


Feature: Only show feeds with unread items in sidebar

It would be nice to be able to only show feeds with unread items in the sidebar.

I would also appreciate this as an option.  Over the years I have accumulated a number of feeds that rarely post, but do so often enough that I'd still like to know.

Dupe of #129


Async Guzzle

Followup of https://github.com/unreal4u/telegram-api/issues/7
Enable async requests via Guzzle (or even better, per PSR definition)

This is going to be trickier than I thought it would be, mainly because we must expect an answer back.
I see two options:
1- Promises. (See https://github.com/guzzle/promises and this very informative answer: https://github.com/guzzle/guzzle/issues/1429#issuecomment-197152914 )
2- Build in a check per TelegramMethod whether it should be possible to send out an async request or not.
Maybe combining those two it will be possible to implement this in a way.

This has been partially implemented with #50 but this implementation isn't working, likely due to Guzzle not really having an async implementation although it claims it has.
The alternative could be going with https://github.com/reactphp/http-client and creating a separate AsyncTgLog class, perhaps, which would take a LoopInterface to do its work.

I'd say the groundwork for the API is done here, async requests using different handlers can be provided using the new RequestHandlers, and since Guzzle doesn't allow true async requests in its current state there is no point in trying.
One thing we should still change is to implement our own promise for this, so to not rely on the Guzzle promises. Alternatively if reactphp/promise doesn't pull in more dependencies we could use that.
Sent from my OnePlus ONEPLUS A3003 using FastHub

Promise issue fixed with #52

merged! Thanks, I'm closing this one now :)


Konetix

That resolution can solve issue connected with not working transition animation

Sorry, I don't understand what this is about. Please follow the contributor guide and open an issue with a reproducible test case. Thanks.


Prepare Dockerfile exposing storefront for saleor-platform

@lkostrowski @mmiszy @witoszekdev I believe I addressed all your comments - should I deliver something else here? or can we just merge it?

For some reason tests are failing as if the emv variables were not set. It must be unrelated to this PR so I'll merge it anyway.
(cc: @witoszekdev )

The env vars were not set, because the PR was made from a fork - it's a security measure in order to prevent leaks 😉

The env vars were not set, because the PR was made from a fork - it's a security measure in order to prevent leaks 😉

Well spotted @witoszekdev ! I don't have push access to that repository 🤷🏿


Having server URLs in an OpenApi description should not be required for the show command

It means people will have to set the URL manually. Should we at least warn?

They will get the error when they try to generate.

I'm all for failing as early as possible but I understand it's an opinion.
Replaced the exception by a warning in the generator.


[STORM-1470] Applies shading to hadoop-auth, cleaner exclusions

Personally, I don't think we need separate pull requests for each branch yet (master and 1.x have not diverged enough to cause conflicts), as it kind of confuses things in terms of +1s and comments. It might be easier to add a note requesting that it also be applied to another branch, e.g. "I would also like to see this applied to the X branch."
If for some reason the patch couldn't be applied to the other branch(es), the committer doing the merge could either resolve the conflicts or request an additional pull request against the conflicted branch.
Thoughts?

See #1010


Add option to only allow 🔐 signed commits for a repository

Gitea version (or commit ref): 1.12.0+dev-3-g9269b7f62
Can you reproduce the bug at https://try.gitea.io:

Yes (provide example URL): reproducible on all repositories

Description
It would be nice if someone could enforce to have only signed commits on a repository.
Somebody else described this fully on GitLab issue 3737.
Maybe in that case Gitea should also generate an own key that will sign all PR in the GUI. Like described in GitLab issue 19185.
Also I'm not sure whether the current Docker image is able too handle GPG at all?
PS: I hope "stealing" ideas from GitLab issues is okay?

We already can sign every commit from the UI.
You can enforce signing on protected branches too. Enforcing signing on all branches is not currently supported but could be done. (We'd allow pr commits to be unsigned as those could be signed later)
You can get the docker to sign - it's just not documented as we don't know the best way to do it.
What we don't enforce is a trust scheme. This is probably more important than just enforcing signing. We verify commits are signed with keys that are in Gitea but that doesn't mean that the key should be trusted.
There are at least 5 different trust schemes I can imagine:

Verification only
GitHub-style verification (committer=signer) - this also needs support with our merging methods as GitHub will currently mark our signed merged commits unverified.
Gitea root/Team member/Collaborator Gitea keys
Explicit pubkeyring.gpg in repository - likely verify against contents of this at HEAD of master only.
Pubkeyring stored in Gitea UI.

We also need some way of doing what I am calling web-sign too. (That is the commit is presented back to the user on the UI for them locally to sign.) This requires some more thought as the commits to be signed need to go somewhere temporarily before they're signed - meaning they will need some clean up control too. The signing user would likely need the ability to inspect the tree to ensure that they're signing what they think they're signing too.

It would be great to enforce signed commits on the push hook already by default, letting a push fail if not all commits are signed correctly

This is enforceable using protected branches and therefore I'm going to close this.


Format HTML

Description
Unless I'm wring, Djade currently only enforces Django template rules. I think it'd be nice if it proposed an HTML formatter too. I'd propose the following rules:

max line length sourced from .editorconfig, defaulting to pyproject.toml, defaulting to 120,
indentation sourced from .editorconfig, defaulting to pyproject.toml, defaulting to 4 spaces,
all HTML attributes on one line if line is less that max line length,
if line lenght is more than max line length, each HTML attribute on a new line, tag on its own line, closing chevron on it own line:

    …

tag content collapses first then attributes, following the previous rules if line is still too long,
opening and closing tag on their own line if multiline except when tag is empty:

    Some very long text

    Some very long text

auto-closing tags always closed with a space before slash: , not  or
tag attributes ordered like:

some tag-specific attributes: href, method, action (maybe configurable?)
id
class
other attributes alphabetically ordered
data-* attributes, alphabetically ordered (maybe configurable?)

Deliberately out of scope, per README. Parsing HTML correctly is very complicated - for example, lots of things are optional. Other template formatters olike djlint and DjHTML can introduce issues that break the meaning of templates.


tinyramfs: new package at git

Description of package
Tiny initramfs written in POSIX shell
Installed manifest of package
/var/db/kiss/installed/tinyramfs/version
/var/db/kiss/installed/tinyramfs/sources
/var/db/kiss/installed/tinyramfs/manifest
/var/db/kiss/installed/tinyramfs/build
/var/db/kiss/installed/tinyramfs/
/var/db/kiss/installed/
/var/db/kiss/
/var/db/
/var/
/usr/share/tinyramfs/init
/usr/share/tinyramfs/hooks/systemd-udevd/systemd-udevd.init.late
/usr/share/tinyramfs/hooks/systemd-udevd/systemd-udevd.init
/usr/share/tinyramfs/hooks/systemd-udevd/systemd-udevd
/usr/share/tinyramfs/hooks/systemd-udevd/
/usr/share/tinyramfs/hooks/proc/proc.init.late
/usr/share/tinyramfs/hooks/proc/proc.init
/usr/share/tinyramfs/hooks/proc/proc
/usr/share/tinyramfs/hooks/proc/
/usr/share/tinyramfs/hooks/mdevd/mdevd.init.late
/usr/share/tinyramfs/hooks/mdevd/mdevd.init
/usr/share/tinyramfs/hooks/mdevd/mdevd
/usr/share/tinyramfs/hooks/mdevd/
/usr/share/tinyramfs/hooks/mdev/mdev.init.late
/usr/share/tinyramfs/hooks/mdev/mdev.init
/usr/share/tinyramfs/hooks/mdev/mdev
/usr/share/tinyramfs/hooks/mdev/
/usr/share/tinyramfs/hooks/lvm/lvm.init
/usr/share/tinyramfs/hooks/lvm/lvm
/usr/share/tinyramfs/hooks/lvm/
/usr/share/tinyramfs/hooks/luks/luks.init
/usr/share/tinyramfs/hooks/luks/luks
/usr/share/tinyramfs/hooks/luks/
/usr/share/tinyramfs/hooks/keymap/keymap.init
/usr/share/tinyramfs/hooks/keymap/keymap
/usr/share/tinyramfs/hooks/keymap/
/usr/share/tinyramfs/hooks/eudev/eudev.init.late
/usr/share/tinyramfs/hooks/eudev/eudev.init
/usr/share/tinyramfs/hooks/eudev/eudev
/usr/share/tinyramfs/hooks/eudev/
/usr/share/tinyramfs/hooks/
/usr/share/tinyramfs/device-helper
/usr/share/tinyramfs/
/usr/share/
/usr/bin/tinyramfs
/usr/bin/
/usr/

New package

[x] Latest upstream version.
[x] I agree to maintain this package.
[x] I agree to notify @dylanaraps if I can no longer maintain this package.

Thanks for willing to maintain tinyramfs, but atm tinyramfs is not ready for daily use because there is a plenty things to do like documentation fixes, guides, additional features. I'll cut release when i finish writing documentation.

Oh well, in that case i will close this.


Dismiss button text overflow in IE 11

The text in the dismiss button overflows in IE 11 if its longer than the set min-width: 140px without letting the button grow as expected.

Here is a screenshot of this bug: http://666kb.com/i/dtohjve0o0lklyi5y.png

I used two buttons to get around this overflow issue in IE:
"showLink": true,
		"theme": "classic",
		"type": "opt-in",
		"content": {
		"message": "You can choose to deny or allow use of Cookies during your visit..",
			"dismiss": 'Deny',
			"allow": "Allow",
			"link": "Learn More",
			"href": "/contact/privacypolicy.html",
		},

This issue seems to be caused by setting those buttons to flex: 1 in https://github.com/insites/cookieconsent/blob/7a493e8996faa691f47c777225ec66095fdd14d6/src/styles/layout.css#L55-L57.
I got around this with some additional CSS:
.cc-compliance > .cc-btn {
    flex: none !important;
}

Also fixed with:
.cc-compliance > .cc-btn {     flex: 1 0 0; }

This bug should be fixed in 3.1.0

@Dolondro Do confirm that the bug is fixed!


Create README.md and LICENSE.md

We need a comprehensive README and need to decide on a license for this project.
At a minimum, the README needs to contain:

overview of the project
screenshots/GIFs of the discord bot
screenshot of the web app
dev setup instructions (how to get started with contributing)

Latest guidelines: https://docs.google.com/document/d/19T1QaYzP15zGakOZ7NTuAZd2WjemVFJUqq505iwfoLI/edit

Completed as of https://github.com/MLH-Fellowship/0.2.1-fellowbook/commit/99bd4d0b5060939eb34676f7494e4f9a6f78a81c, https://github.com/MLH-Fellowship/0.2.1-fellowbook/commit/082896290134dcd816c26c132d15e96cc7ccd714, https://github.com/MLH-Fellowship/0.2.1-fellowbook/commit/d9a17562ff233d57abdb38183d5a813b38c32f69


RasaX: nginx container "invalid host in upstream"

Rasa version: 1.9.5
Rasa SDK version (if used & relevant):
Rasa X version (if used & relevant): 0.27.4
Python version: 3.6
Operating system (windows, osx, ...): Ubuntu
Issue:
Upon starting the containers, the nginx container logs an error and crashes.
Error (including full traceback):
SSL encryption is not used since no certificates were provided.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) Failed to connect to app port 80: Connection refused
7
>> exec docker CMD
nginx
2020/06/26 10:52:15 [emerg] 1#0: invalid host in upstream "http://<IP_ADDRESS>:5005" in /opt/bitnami/nginx/conf/conf.d/rasax.nginx:2
nginx: [emerg] invalid host in upstream "http://<IP_ADDRESS>:5005" in /opt/bitnami/nginx/conf/conf.d/rasax.nginx:2

NOTE: http://<IP_ADDRESS>:5005 is the URL of the action server (the app container).
Command or request that led to error:
eval $(egrep -v '^#' .env | xargs) eb local run

environments.yml
rasa:
  production:
    url: ${RASA_PRODUCTION_HOST}
    token: ${RASA_TOKEN}
  worker:
    url: ${RASA_WORKER_HOST}
    token: ${RASA_TOKEN}

endpoints.yml
models:
  url: ${RASA_MODEL_SERVER}
  token: ${RASA_X_TOKEN}
  wait_time_between_pulls: ${RASA_MODEL_PULL_INTERVAL}
tracker_store:
  type: sql
  dialect: "postgresql"
  url: ${DB_HOST}
  port: ${DB_PORT}
  username: ${DB_USER}
  password: ${DB_PASSWORD}
  db: ${DB_DATABASE}
  login_db: ${DB_LOGIN_DB}
action_endpoint:
  url: ${RASA_USER_APP}/webhook
lock_store:
  type: redis
  url: XXXXXXXXXXXXXXXXXXXXX
  port: 6380
  password: XXXXXXXXXXXXXXXXXXXXX
  db: ${LOCK_STORE_DB}
  use_ssl: True
event_broker:
  type: pika
  url: amqp://${RABBITMQ_USERNAME}:${RABBITMQ_PASSWORD}@${RABBITMQ_HOST}/${RABBITMQ_USERNAME}
  username: ${RABBITMQ_USERNAME}
  password: ${RABBITMQ_PASSWORD}
  queues:
    - ${RABBITMQ_QUEUE}

.env file
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXX
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_DATABASE=rasax
DB_HOST=XXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_LOGIN_DB=postgres
DB_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
DB_USER=postgres
DOCKER_HOST_IP=<IP_ADDRESS>
ENDPOINTS_YML=endpoints.yml
JWT_SECRET=XXXXXXXXXXXXXXXXXXXXXXXXXXX
LOCK_STORE_DB=14
LOKI_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
LOKI_USERNAME=4014
PASSWORD_SALT=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_HOST=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_QUEUE=rasax
RABBITMQ_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RABBITMQ_USERNAME=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_PRODUCTION_HOST=http://<IP_ADDRESS>:5005
RASA_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_VERSION=1.9.5
RASA_WORKER_HOST=http://<IP_ADDRESS>:5006
RASA_X_HOST=http://<IP_ADDRESS>:5002
RASA_X_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_X_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_X_USERNAME=me
REDIS_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
REMINDER_TIMEOUT=900
TRACKER_DB=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_PASSWORD=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_URL=XXXXXXXXXXXXXXXXXXXXXXXXXXX
TRACKER_USERNAME=XXXXXXXXXXXXXXXXXXXXXXXXXXX
RASA_USER_APP=http://<IP_ADDRESS>:5055
RASA_MODEL_PULL_INTERVAL=120

@federicotdn This is a continuation of the issue I showed you yesterday, where the action server was not replying. I think it's because nginx is crashing

Thanks for raising this issue, @JustinaPetr will get back to you about it soon✨
Please also check out the docs and the forum in case your issue was raised there too 🤗

Hey @cristianmtr, I think this might be a problem with how the nginx config is generated. The correct values to use would be the URLs defined in RASA_X_HOST and RASA_PRODUCTION_HOST without the http:// prefix. Is it possible to override the env value for these two variables in your Dockerrun.aws.json file, only for the nginx container? (note that RASA_X_WORKER is not relevant here)

Yep, that did it. Thanks :+1:

I've created an issue for this on the Rasa X repo. Thanks for bringing this up :+1: Feel free to close the issue if it's working correctly.


Is there a __dirname & __filename in casperjs like in nodejs?

This is useful in case you want to run test scripts from other working directories (usually for convenience).
Or should this be bubbled up to phantomjs?
Chris

Any news about that ?

https://github.com/ariya/phantomjs/issues/10578
It would seem that nothing so far...

Hi, I just got this problem, could not really know how to get the currently executed file name in casperJs. I wanted to log the file name and use it in the screenshots' names.
So after a lot of diggint, casper.test.currentTestFile  property gives you the full path of the current testfile.

@duke90 To prevent other people from replicating the digging, would you mind to create a PR that documents your finding appropriately?

I'm not sure if a PR has been created for this or not, but this is what I use to get the absolute directory:
testDir: function() {
    var pathParts = fs.absolute(casper.test.currentTestFile).split('/');
    pathParts.pop();

    return pathParts.join('/') + "/";
}


pascal nightly test suite mesa gl issue

Describe the bug
configure error
CMake Error at CMake/FindMesaGL.cmake:90 (message):
  VISIT_MESAGL_DIR provided, but it doesn't contain GL library
Call Stack (most recent call first):
  CMake/VisItOpenGL.cmake:7 (include)
  CMake/SetUpThirdParty.cmake:528 (include)
  CMakeLists.txt:919 (include)

config-site entries:
SET(VISITHOME /usr/workspace/wsa/visit/visit/thirdparty_shared/3.4.1/toss4)
SET(VISITARCH linux-x86_64_gcc-10.3)
VISIT_OPTION_DEFAULT(VISIT_MESAGL_DIR ${VISITHOME}/mesagl/17.3.9/${VISITARCH})

[cyrush@pascal83:test_trunk]$ ls /usr/workspace/wsa/visit/visit/thirdparty_shared/3.4.1/toss4/mesagl/17.3.9/linux-x86_64_gcc-10.3/lib/
libglapi.la	   libGL.la	   libGLU.a	libGLU.so.1.3.1  libOSMesa.so.8.0.0  libswrAVX2.so.0.0.0  libswrAVX.so.0.0.0
libglapi.so	   libGL.so	   libGLU.la	libOSMesa.la	 libswrAVX2.la	     libswrAVX.la	  pkgconfig
libglapi.so.0	   libGL.so.1	   libGLU.so	libOSMesa.so	 libswrAVX2.so	     libswrAVX.so
libglapi.so.0.0.0  libGL.so.1.5.0  libGLU.so.1	libOSMesa.so.8	 libswrAVX2.so.0     libswrAVX.so.0

Is it a permissions issue with the 3.4.1/toss4 dir? Does the regression suite run under group visit? Could you open the permissions?

perms look OK to me, can you see if you can access those files?

I can manually open up an include file in an editor (read only), so read permissions seems fine for me. But the perms aren't fully set for 'others' (r,X). Perhaps that's the snafu with the build.

Ok, I did a:
chmod -R g+rX /usr/workspace/wsa/visit/visit/thirdparty_shared/3.4.1/toss4

I will update run-build-visit to set the proper group perms so it can be captured in a repeatable way.

Perms should be good now (or at least consistent with what we have set in the past) -- we will see how the nightly test goes.

This was a perms issue, closing.


Add border-{top,bottom,left,right}-1

When I want to have a border only on the bottom, I need to add a border on all sides and remove then afterwards:
So the code looks like:
 border border-left-0 border-top-0 border-right-0 border-dark
Which would be much easier, if there was a border-bottom-1
Also, there is no way to match a border the border color of a card. So maybe add another border-grey or something to match that color.
Since I try to re-create the page-title class with utility classes, this would be very helpful.
Because a simple mb-3 pb-1 border-bottom-1 border-grey would do the trick

@TheZoker Check my example: https://github.com/twbs/bootstrap/issues/23354

PR for it was added five hours before you opened this issue ;). See #25021.


make integration tests run in firefox

First, we need to:

move uproxy-networking over to grunt-jasmine-chromeapp (blocked on: https://github.com/willscott/grunt-jasmine-chromeapp/issues/2)
wait for grunt-jasmine-firefoxapp to exist

Update: (1) is done. Still waiting on (2).

I think we should raise the priority on this.

Major progress: our TCP wrapper integration tests now run on Firefox!
Next, we should add the SOCKS tests.


Strongly typed OPA experiments.

Hi @mzhurovich,
Here's the first functional strongly typed version. It heavily leverages template-s, decltype and auto. In fact, if the same Rego function is be called from multiple places with different argument types, the transpiled C++ code would generate several functions, one for each set of input argument types, each optimized accordingly.
I had to get rid of the locals[] array, as all its elements are of the same, most generic, umbrella type. Now, each "local variable" is declared independently. Here's the resulting code for result = input.a + input.b:
template <typename T1, typename T2>
decltype(auto) function_0(T1&& p1, T2&& p2) {
  OPAValue retval;
  OPAValue x1;
  decltype(rego_string_a::GetValueByKeyFrom(std::forward<T1>(p1))) x2;
  decltype(x2) x3;
  decltype(rego_string_b::GetValueByKeyFrom(std::forward<T1>(p1))) x4;
  decltype(x4) x5;
  decltype(opa_plus(x3, x5)) x6;
  decltype(x6) x7;
  decltype(x1) x8;
  x1 = Undefined();
  x2 = rego_string_a::GetValueByKeyFrom(std::forward<T1>(p1));
  x3 = x2;
  x4 = rego_string_b::GetValueByKeyFrom(std::forward<T1>(p1));
  x5 = x4;
  x6 = opa_plus(x3, x5);
  x7 = x6;
  if (IsUndefined(x1)) {
    x1 = x7;
  }
  if (!IsUndefined(x1)) {
    x8 = x1;
  }
  retval = x8;
  return retval;
}
template <typename T_INPUT, typename T_DATA>
OPAResult policy(T_INPUT&& input, T_DATA&& data) {
  OPAResult result;
  decltype(function_0(std::declval<T_INPUT>(), std::declval<T_DATA>())) x1;
  decltype(x1) x2;
  OPAValue x3;
  x1 = function_0(input, data);
  x2 = x1;
  x3 = Object();
  SetValueForKey(x3, "result", x2);
  result.AddToResultSet(x3);
  return result;
}

(The above autogenerated code follows Rego's IR one-to-one, but I believe the C++ compiler would take care of unnecessary assignments. I hope to get to the disassembly part one day, but, for now, there's certainly bigger fish to fry.)
This gets us to the point where a custom type can be used. Specifically, struct Input, defined as:
struct Input {
  int a;
  int b;
};

Can be passed to the same policy() function, and:

The type-aware, optimized code will be generated, and
If any field can not be found, or has the wrong type, it will be a compilation error.

I've tested the above manually, including on a more convoluted example, where the input is:
struct Input {
  string f;  // Can be "add", "mul", or "range".
  int a;
  int b;
};

And it worked like a charm (here's a .gitignore-d tests/indirect_call/p3.rego.stage3.cpp generated by ./scripts/gen_all_cpp.sh).
Ideally, the above should play well with the existing Rego's type checking mechanisms; i.e. parse the schema JSON-s automatically as well. There are only so many hours in the day though, gotta prioritize accordingly.

CC @joaopaulog: The above should play well with gRPC (i.e., with .proto-typed messages). My vision is to build a pipeline that treats .rego policies a lot like .proto gRPC service definitions:

The .rego file is available for the build. (Maybe in the same repo or in a submodule, or maybe brought by a build script).
One build step is to is automatically convert this .rego file into a piece of code (could be a .class for JVM).
The user code can then invoke OPA policies natively.

And these native policy invocations can use local data structures of the language in which the user code is developed. No JSON marshaling and no network communication.
In fact, if the language used is flexible enough (such as C++), those internal data structures may even implement lazy data loading on the fly, behind the scenes, which the author of the OPA/rego policy would be blissfully unaware of!
That's down the road though; gRPC-first is my plan for now, as in the real project we are using OPA for we have already converged to gRPC as the source of truth of the schema for the data providers for our AuthZ policies.

CC @anderseknert, we're at the point where lower-level IR questions emerge. The major ones where you guys may have the answers in your warmed up brain cache are:

The "return statement" from the IR: does it terminate the block, or the function, or none at all, just initializing a (temporary) "return variable"? I'm leaning towards the former (that's what the documentation says), but then why is the index of the local to be returned part of the IR function signature? And if it is the latter, can this "return variable" be overwritten later? If yes, does the "return type" has to be the same? Intuitively, it's quite a tricky case, and I wonder what your thoughts on it are, as you're clearly ahead of these experiments ;-)

Is there a good summary of the rules that are break-ing the block? For example the

Is it by design that all the constants in the IR are strings? I'd expect the numbers to be numbers, but for now it looks like we have to be manually parsing them from strings.

And the question of testing stands tall. We have quite a narrow subset subset of the IR now (~75% of the "opcodes", ~10% of builtin functions, and we took some shortcuts such as not differentiating between null and undefined). I would imagine you guys have plenty of large-scale tests to cover most of Rego's functionality. Shall we join forces here, ideally, in a high-performance setting, if some of your existing customers is dying to see Rego evaluating their policies faster, and on fewer boxes? I'd be motivated to look into this, as it's exactly the problem we'll be facing around Q4/Q1 in our own end user AuthZ use case.
Thanks,
Dima

This is a stmt in in the Jarl evaluator we haven't locked down yet. We currently treat the ReturnLocalStmt as a no-op, and use the local return index from the function definition. There are probably conditions in which this isn't the correct decision - hence the existence of this stmt - but we haven't encountered a compliance-test failing for this reason yet; and continue to push this on the future.
None that I know of other than the general rule stated in the IR docs. Neither is there a clear category of test-cases in OPA that exhaustively condition this concept.
This decision is from before my time, but if I'm to wager a guess without asking anyone that actually knows, I'd say it's for backwards-compatibility reasons. If any future improvements/fixes to OPA would change the way numbers are parsed, then that could potentially invalidate older, compiled IR:s. This is a rather flimsy conjecture, however; and it could simply be the result of an implementation detail in the OPA planner, rather than a design decision.

Re 1., ReturnLocalStmt
Here's what we do in the Wasm compiler: https://github.com/open-policy-agent/opa/blob/main/internal/compiler/wasm/wasm.go#L1006-L1008 -- we put the local on the stack and return from the function -- effectively making that local the function's return value. Here are two test cases where the statement is used: https://github.com/open-policy-agent/opa/blob/main/internal/planner/planner_test.go#L440-L480

Thanks for your support, folks! Transpiling into C++  is now ready and benchmarked: https://dimakorolev.substack.com/p/high-performance-opa.


Why do blocks not always make it to all nodes

Description
If the beacon chain is running long enough, eventually one (or more) of the nodes will never receive a block.  Why?

There is no code to reconnect a peer that lost connection, and I'm not sure keep alive is turned on on both sides. I would start there. There is probably a glaring bug in plumtree as well.

This has been fixed right? Since we're running with no problems nearly indefinitely now.


TAPi18n.loadTranslations on server does not push the changes to the client

Is it normal?

Yes,
loadTranslations must be called in a code common to both server and client
to affect the two.
-Daniel
On Fri, Jul 10, 2015 at 3:56 PM, lowi<EMAIL_ADDRESS>wrote:

Is it normal?
—
Reply to this email directly or view it on GitHub
https://github.com/TAPevents/tap-i18n/issues/88.

Any suggestion so I could code such a feature?

Perhaps tap:i18n-db fits better to your usecase.
-Daniel
On Fri, Jul 10, 2015 at 4:45 PM, lowi<EMAIL_ADDRESS>wrote:

Any suggestion so I could code such a feature?
—
Reply to this email directly or view it on GitHub
https://github.com/TAPevents/tap-i18n/issues/88#issuecomment-120302979.

Perhaps... I plan to use tap:i18n-db to translate the dynamic content (user generated) of collections to several languages, but for static content I think loading from a json file is the best.