Make it easy to run extensions that are separate processes

If someone has a bunch of code already in some other language or there is a particular toolkit available only in a specific language (e.g., python), we should make it much easier to have an extension that is in a different process.  TJ suggested treating these other processes in the same way as the .NET host, which is good, but that is baked in.  We would need to figure out how to register these other processes in manifests and how to specify which executable to run depending on the OS, hardware, etc.

It is worth considering a few things:

do we bundle extension executables and run them freely? They would have to make their own websocket protocol
do we figure out a way to do native modules? they probably couldn't use Python for example
do we just say use webassembly? Python has native modules that people like using (we :heart: pandas)
Maybe all three of these would be worth doing!

The "createProcess" elevated privilege should allow us to do this now in a reasonable way. Unless someone asks for something more, we can consider this complete.


chore: update path-to-regexp version

add overrides to package.json for path-to-regexp package
then run pnpm install

#2142  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @yuankai-statsig and the rest of your teammates on  Graphite

🚀 Deployed on https://670465ddaf98785284589d38--cozy-fox-0defec.netlify.app


pr-branch-auto-delete also deletes branch if it was not merged by the user

Description
Not quite sure if this changed recently, but at least I did not notice it before.
I reviewed a PR of another user and kept it open in the background.
Later another user merged the PR and when I came back the branch was deleted by me with the new deleted via Refined Github message (which was a good information).
So now I deleted a branch that I did not create and also did not merge.
I feel like I should at least be the one who merged the PR to delete the branch.
I guess it's also okay if it is my own PR and someone else merges it.
But then again it is weird that I need to have the PR open for it to work.
Happy to look into this if this is not an intended behavior, then I might just disable the feature for me 😄
How to replicate the issue
Instead of having two github accounts to create and merge the PR with it should also work to use two browsers with the same github account.

Open a PR with a browser that has rgh installed.
Keep the browser tab open.
Merge the PR from another browser (and maybe account) without rgh installed.
The deleted via Refined Github should appear in the first browser.

Extension version
22.7.20
Browser(s) used
Google Chrome 105.0.5195.10

Ugh, I did this. The feature used to be activated after a click on the merge button:
https://github.com/refined-github/refined-github/blob/afb434cd033a085cf7b226b0d6f8d84f326813d6/source/features/pr-branch-auto-delete.tsx#L17-L20
But now there's no such event, it just looks for a merge timeline event, which can already exist:
https://github.com/refined-github/refined-github/blob/808c68f3745cfe15d1995546d5519b75dc9386e1/source/features/pr-branch-auto-delete.tsx#L45
The problem probably started because I added a new feature that appeared after a merge, but it did not actually need to be enabled after the actual merge action*:
https://github.com/refined-github/refined-github/blob/3547c9bc0e60443dafe06752bc94e9e5b73f8d55/source/features/first-published-tag-for-merged-pr.tsx
I disabled this feature via autofix because that's kinda bad.

The issue is far rarer than I thought:

the feature is only active when the PR is open, so a collaborator needs to be on the tab while it's merged

Still a bug, but far less severe than I thought. If you visit a merged PR it won't be activated.

How can I activate this feature again if I don't care if this bug exists and may actually find it useful?

Hotfixes can't be disabled yet. We can probably drop the hotfix since it happens rarely. It'd be nice to have it fixed though, it's not too difficult: we have to first attach a delegate listener to the merge button.

The feature is now active again. This bug still needs to be fixed though

This should not be default behavior anyway. Not everyone deletes branches.

This should not be default behavior anyway. Not everyone deletes branches. I just discovered this feature after it surprise deleted a branch.

See #3636 and #2267


Framework not found CsoundLib

Following exactly the same installation instruction of "AudioKit 2.1 Configuration for OSX Applications", however there's an error occured, "Framework not found CsoundLib".
My Xcode is 7.0.1 (the latest version currently).

Hi,
You need to set the "Framework Search Paths".
Here the text from the install instructions:
This will automatically add a "Framework Search Paths" entry for you, but it will be an absolute reference, so if you are sharing your projects with others, you should go to Build Settings Tab and add an entry relative to $(SRCROOT) that leads to AudioKit/Platforms/iOS.

Thanks, it works


Move terminal webview to be inside a QFrame so that dock panes in Spyder are uniform

In it's current state, the webview is embedded inside a QFrame spyder_terminal/widgets/terminalgui.py#L26

I think that @goanpeca was making reference to use this spyder.widgets.browser.FrameWebView https://github.com/spyder-ide/spyder/blob/master/spyder/widgets/browser.py#L290


refactor(overlay): use key event dispatcher for CdkConnectedOverlay

Switched the CdkConnectedOverlay directive to use the key event dispatcher rather than listening to events on the document.

Can you check the lint error and CI errors

Sorted out the lint warnings, the unit test failures are coming in from master.


Option to disable "simplified" context menu on Windows 11

What's the Problem?
I really hate Windows 11 context menu, and wish to keep using the classic one with more options.
And for extraction, I'd like to use 7-Zip, but I can't access it from that simplified menu.
Solution/Idea
An option to disable that menu would be great.  I currently have it disabled via Registry for Windows 11 as a whole.
Alternatives
N/A
Priorities

Capability
Priority

This proposal will allow developers to accomplish W
Must

This proposal will allow end users to accomplish X
Should

This proposal will allow developers to accomplish Y
Could

This proposal will allow end users to accomplish Z
Won't

Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.556
Windows Version
Windows 11 21H2 22000.556
Comments
Classic context menu on Windows 11

No option to use 7-Zip for extracting ZIPed files:

We don't have plans for this, you can scroll down in the context menu to find the other options.

I don't like win11 context menu, I has restore to win10 context menu in explorer.


Does zazu have a constant internet connection?

I guess this is more a question than a bug-report. Is zazu always connected to internet? Since each time I reload the config it "loads" the plugins. Are they all part of the app installer, or is it constantly downloading them and checking for updates?

Your plugins are installed locally. When the plugins are loaded by zazu (such as when reloading the config), zazu runs a clone function for each plugin but that won't actually do anything if the plugin is already cloned.
On a completely fresh install, you don't have any plugins and they are installed as part of the load process.
You should be able to see all your installed plugins in ~/.zazu/plugins. AFAIK plugins are only updated if you manually click on "Update Plugins" in the menu.

Yeah, as @OscarBarrett  explained, it won't download plugin code from Github again, nor install npm packages again.
But it will load plugins one by one https://github.com/tinytacoteam/zazu/blob/master/app/containers/pluginWrapper.js#L100
And each plugin load blocks one by one https://github.com/tinytacoteam/zazu/blob/e6e37e63841ca4e8abd6bd6dfc7d211ae30d18d5/app/packages/plugin.js#L79
And each block load it's JS code from FS https://github.com/tinytacoteam/zazu/blob/e6e37e63841ca4e8abd6bd6dfc7d211ae30d18d5/app/blocks/input/prefixScript.js#L14
So I guess the reason why it is slow and made you think it is download something, is because it is doing too much sync IO to disk.
There can be optimization on this, but not very necessary now. Hope this solved your confusion.


Add hasLocationServicesEnabled

Description
Added hasLocationServicesEnabled() that allows the determination of whether or not the user has location services enabled or disabled on their device. Returns a simple boolean value. Useful for determining if the app has access to location services.
NOTE: this is NOT checking the permission to access location, rather the availability of location services.
Compatibility

OS
Implemented

iOS
✅

Android
✅

Windows
❌

Checklist

[x] I have tested this on a device/simulator for each compatible OS
[x] I added the documentation in README.md
[x] I mentioned this change in CHANGELOG.md
[x] I updated the typings files (deviceinfo.d.ts, deviceinfo.js.flow)
[x] I updated the dummy web/test polyfill (default/index.js)
[x] I added a sample use of the API (example/App.js)

Hey - this is great! I could use this in an app for work immediately, so I'm motivated to get this in. What do you think about the general idea of expanding the return object shape to contain all the location-related info we can get out of the devices and then just wrapping for a yes/no for those that want it? I don't intend to complicate too much, I just think that it would pretty easy to add all the method calls as long the area was open for work anyway

For you - I can look into adding those shapes. It could follow a similar pattern to the getProviders API you linked, where you can add the enabledOnly boolean to return the yes/no, otherwise a shape of available providers.
The shapes would certainly need to deviate per-platform then, right? Would you prefer it still be a singular function, with different shapes returned based on platform?

Yeah, the hardware stuff always deviates a bit. I like the idea of a rollup yes/no API especially for  that reason - we will have familiarity and can scan the varies-by-platform return for the items that let us answer API consumers.
But for the next-level of API consumers that need to behave in very specific ways I do really like the idea of binding all the underlying APIs and exposing all the hardware status where possible. In that vein I'd actually not even send in the boolean true, I'd send in false on android for getProviders and just send them all back, let API consumers sort it out in their apps

Okay I took a stab at moving in the direction I think you are suggesting. Hopefully I'm not too far off base 😬
Anyway, I added a getAvailableLocationServices function and returned objects with keys and then boolean values for each key, for the respective platforms.
Let me know what you think, and I can make your other changes as well and we can get this merged once it feels right.

Yeah, that's pretty much it - that looks nice. Between the boolean and the everything options, if people don't have their GPS cases handled now, we can't help them :-) - the new API needs the rest of the administrivia to match (readme, empty polyfill, example API add, types) but it seems fine as is to me. There's a possibility to slim the native portion by re-implementing the boolean "is it enabled" version as a filter on the getAvailableLocationServices return, but I'm not sure if that's an improvement or not so I'll say "implementor's choice" and you can leave it like this or alter if you want. Thanks!

I have made changes and this is ready for review again. I decided to stick with two separate methods: isLocationEnabled() and getAvailableLocationProviders() due to my experience debugging where the Android getProviders API did not return any providers until after I had allowed location permission on my device, which I do suppose makes sense, but I didn't see it documented anywhere. In turn, that made me concerned that the new API level 28 function isLocationEnabled would not work either until location permissions were granted, but that didn't seem to be the case in my testing.
For my use case, it is helpful for me to know before prompting for location permissions whether location services are turned on for the device (hence the original PR content). Thus, different methods.
I did teeter on making getAvailableLocationProviders into two platform-specific functions, since they do return fundamentally different information... but ultimately decided having two similarly named function per platform was more confusing that having two different response objects per platform.
Let me know if I missed anything updating the docs, types, etc. Thanks!

That's very interesting re: permissions and return values. Sounds like the right decision to me definitely, and nothing beats code that's actually tested.
I just re-read it and it looks completely clean. I'm going to pull it locally to test but I can't see a thing to change by looking. Excellent work, thank you!

Tested out clean but I also saw what you saw w.r.t. availability without permissions, and I added permissions to the manifest in the example so users (and I) could do a better test. All checked out and I was able to exercise it completely that way on android. Checking iOS then I'll ship it

v1.8.0 is out! :sparkles: :rocket:


filetools-response-error  when Upload through Drag&Drop

Hello, when I use the plugin https://ckeditor.com/cke4/addon/uploadimage if I drag an image to ckeditor, the image is uploaded to the server but not displayed in the editor.
Error code: filetools-response-error
When the file is uploaded successfully, a JSON response is expected, but the server response is:
`

check this: https://github.com/UniSharp/laravel-filemanager/pull/474

Thanks!


influxdb python tutorial not working

Hi,
I am new to influxdb.
I have influxdb server version 1.0.1 running.
I am using influxdb-python (influxdb-3.0.0) and trying the tutorial
https://github.com/influxdata/influxdb-python/blob/master/examples/tutorial_server_data.py
I get
$ python tutorial_server_data.py
Create database: tutorial
Create a retention policy
Write points #: 4320
ResultSet({})
Result: ResultSet({})
i.e. I cannot read back any of the inserted values. I even relaxed the query to show all.
Also when I do
query = 'SHOW DATABASES'
result = myclient.query(query)
result
I can see 'tutorial' in the output. So I am able to talk to my influxdb server
But
query = 'SHOW MEASUREMENTS'
result = myclient.query(query)
result
give nothing.
I assume I am missing something trivial.
Can someone help?
Thanks,
Vikas

Same here: cannot read back inserted values even when I comment out the drop of the databse in the tutorial code.
BTW, execution fails on Windows hosts at line 33: strftime('%s') is not portable nor supported by Python,: http://stackoverflow.com/questions/11743019/convert-python-datetime-to-epoch-with-strftime/11743262#11743262
Line 33 should be replaced by:
"time": int((past_date - datetime.datetime(1970,1,1)).total_seconds()),

Anyone found the solution for this problem?
Really annoying, it seems that on windows the write_points does not work.
Maybe a commit issue. I can write data using the admin web tool but through the Python package it is impossible.
Such a shame, hopefully someone has a solution.

It looks like the windows version of the server does not accept timestamps.

Anyone has an idea?

It is now working for me.
I have no clue what I did. I restarted the server a few times and tried some curl queries, and boom, working.
Sorry I cannot be of more help.

Thanks both for your feedback. But I still have no luck in making this python tutorial work.
I will see if a restart of the server helps.

Closing due to lack of activity


Remove contents of /schemas

The remaining artifacts in the schema directory have been unused for awhile now, and may be confusing to new users. This removes them - if we need them for reference, we can always go back to any 2.x tag.
Resolves #283
Checklist

[X] Consider if documentation (like in docs/, or if you've changed the structure of a table) needs to be updated
[X] Consider if tests should be added
[X] Update template repo if there are changes to study configuration

Oh also, there is this section of pyproject.toml that can be removed:
# ./cumulus_library/schema needs general revisiting, deferring on style maintenance
# until that occurs
"cumulus_library/schema/valueset.py" = ["E501"]


Revert reworked Orisa to OW1

Created by: MaxwellJung

mentioned in merge request ow1_emulator_backup!230

moved from ow1_emulator_backup#724


Responsible disclosure policy

Hello 👋
I run a security community that finds and fixes vulnerabilities in OSS. A researcher (@beyrakin) has found a potential issue, which I would be eager to share with you.
Could you add a SECURITY.md file with an e-mail address for me to send further details to? GitHub recommends a security policy to ensure issues are responsibly disclosed, and it would help direct researchers in the future.
Looking forward to hearing from you 👍
(cc @huntr-helper)

@psmoros can you please publish?


Document _total search param

coverage: 94.258%. remained the same when pulling bdd96e65226e8db12e831bb2d9fa3417f9cfb7e1 on rahul-document-total-param into 64f736243c00e50999d3e67617e87c5ced8eb4dd on main.


Logs not structured when both --structured-logs and --quiet are used together

Bug Description
In an attempt to identify log entries that are actual errors and reduce noise from log entries which aren't, but are detected as such by the default fluentbit log agent (and thus by GCP Logging Explorer) because they are written text form to the POSIX STDERR stream, we tried to configure the Google Cloud Sql Proxy using both:

--structured-logs (in order to help fluentbit/stackdriver to detect actual errors and not flag text output as errors because it was printed to STDERR)
--quiet (because all those "certificate expires, getting a new one..." or "client opened a new connection..." wasn't giving us much information and we tried to lower the overall logging storage costs.)

However, everytime the cloud sql proxy container gets terminated (because of a simple scaledown of the pod it is living in), we noticed the unstructured log output (to STDERR): SIGTERM signal received. Shutting down... which is coming from https://github.com/GoogleCloudPlatform/cloud-sql-proxy/blob/6284a69342c87190e5201865de447b54da55d798/cmd/root.go#L840
First: This is arguably not an error.
Second: This is also not structured, because whenever --structured-logs is used together with --quiet, the structured logger is again replaced by the NewStdLogger, as can be seen in this code section: https://github.com/GoogleCloudPlatform/cloud-sql-proxy/blob/6284a69342c87190e5201865de447b54da55d798/cmd/root.go#L344-L349
It would be nice, if both:

SIGTERM signal received. Shutting down... would not be logged/treated as an error (maybe a warning)
using structured-logs together with quiet would not disable structured logging

Example code (or command)
No response
Stacktrace
No response
Steps to reproduce?
Run cloudsql proxy with both --structured-logs and --quiet and issue a SIGTERM signal (as is used in Kubernetes) to stop it.
Environment

OS type and version: Standard GKE 1.25 Linux OS with containerd
Cloud SQL Proxy version (./cloud-sql-proxy --version): 2.1.2
Proxy invocation command (for example, ./cloud-sql-proxy --enable_iam_login --dir /path/to/dir INSTANCE_CONNECTION_NAME):

        - name: cloud-sql-proxy
          image: eu.gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.1.2-alpine
          args:
            - "--private-ip"
            - "--quiet"
            - "--structured-logs"
            - "--health-check"
            - "--http-port=9090"
            - "--max-sigterm-delay=15s"
            - "--port=5432"
            - "..."

Additional Details
No response

Thanks for the report @kaiburjack. We'll work this into our next iteration and get it fixed soon.

@kaiburjack This change will be reflected when v2.2.0 is released (which will be sometime tomorrow).
Thanks again for raising this! 😄


Check that naming of a new project is valid

There should be a check that the provided project name for serverpod create is valid lowecase and snakecase.

@vlidholt Ideally, the name validation was handled by flutter itself. But before doing it, then we need one. I can add that.

Maybe I would Like to contribute to this issue and start my Open Source Framework journey with Dart and Flutter with this one..

Okie go on, Good luck buddy @Crazycoder122

Did it and made a PR :)

When creating the project a check for this now exists: https://github.com/serverpod/serverpod/blob/2865fdcce43dfcdd2ef0eeb40b982608bb1033bb/tools/serverpod_cli/lib/src/create/create.dart#L50


Allow to specify pool directory

This PR adds a new parameter to define the pool directory.
It's mostly for advanced usage, related to the OCP cluster node
provisioning changes coming to the Framework.
This patch also ensures we're passing a valid "action" to the
storage_pool.yml tasks file.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running
[X] Appropriate documentation exists and/or is up-to-date:

[X] README in the role

recheck

recheck


No way to parse something off the front a string

I'm trying to implement a DSL as a proc macro. I have a string which should start with a valid rust expression. I want to parse the expression off the front of the string and also get the remainder of the string.
eg.
"123 blah blah blah" => (Expr::Lit(123), " blah blah blah")

This doesn't seem possible.
The first problem is https://github.com/dtolnay/syn/issues/585 - since " blah blah blah" might not consist of valid Rust tokens I can't create a ParseStream to read off the expression from the front.
If I could determine where the valid Rust tokens end I could just create a ParseStream from those, but https://github.com/alexcrichton/proc-macro2/issues/168 makes this impossible.
I could also try parsing progessively larger strings until something successfully gets parsed, but https://github.com/dtolnay/syn/issues/584 makes this impossible.
Even if these attempts had worked though, there doesn't seem to be a way to get the position of a ParseStream in terms of the original string I created it with. I can get a Cursor, but from there I can only get tokens.
Is there any way to do this? Ideally it would be nice if there was a syn::parse_front_of_str<T>(&str) -> (T, &str) function but right now I'd settle for any gross hack at all.

Since I don't plan to address #585 in Syn, I'll close this as well because it doesn't sound like it will be useful to you by itself. I would recommend forking Syn and implementing whatever changes you need to make it work for your DSL.


SEAB-5318: Created execution tab in UI for metrics

Description
This PR adds the Execution tab in workflows to show its metrics. This tab can be accessed by the feature flag metrics.
When workflow has no metrics data available

Available partners can be toggled through the dropdown and if workflow does not have any validations data the bottom table gets hidden

If most recent run is valid

If most recent run is not valid

Review Instructions

Go to this workflow and add the feature flag metrics.
Verify that the executions tab is visible with its corresponding metrics data. Also verify that the partners dropdown toggles through the various available metrics data correctly.
Repeat with this workflow but check that the validations table below is hidden (since there are no available validations data)
Workflows with no metrics data available should have the banner stating so. example

Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-5352
Security
If there are any concerns that require extra attention from the security team, highlight them here.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.
[x] Check whether this PR disables tests. If it legitimately needs to disable a test, create a new ticket to re-enable it in a specific milestone.

Haven't re-reviewed yet, but I had a thought while looking at this locally. For published workflows, the Executions tab is hidden at first view because there's too many tabs.

Wondering if we should move the Executions tab forward, maybe after Files, so it's more noticeable. Probably not a big deal right now because it's accessed through a feature flag so the user probably will look for it, but when it's no longer a feature flag, I think users may overlook it.

Wondering if we should move the Executions tab forward, maybe after Files, so it's more noticeable. Probably not a big deal right now because it's accessed through a feature flag so the user probably will look for it, but when it's no longer a feature flag, I think users may overlook it.

Worth a discussion, there's probably a ux-design worthy ticket in here to figure out what to do when there's too many tabs in general. Maybe we need to merge some or combine the data in some way


Test light version of production pipeline in GitHub Actions

Pull requests could trigger a light version of the production workflow (only a few mcmc samples for a few states) to verify the pipeline still works.

The work in https://github.com/CDCgov/pyrenew-hew/pull/135 could be useful for this.

Also, #148 can be useful for the similar things but covers different part of code base.

The work in #135 could be useful for this.
Aside from integrating into CI, we also need to develop a solution so that multiple PR's on the same data do not have race conditions and overwrite the same files.

Could you make this a bit more precise?
If you're concerned abut the github actions in CI, then so long as each workflow is separate then they should be concurrent by default, so should not interfere at that stage. I don't think committing any results is planned in this issue?

@SamuelBrand1 when running the pipeline, the results are written to azure blob storage, with the storage directory being named after a small set of data attributes. If you ran a model on the same dataset (as you might if you have multiple PR's in progress) those models would be writing results to the same place (with the same file names).
It's not a terribly difficult problem to solve, but does need to be solved.

Reworded original description to match https://github.com/CDCgov/pyrenew-hew/issues/216


Error when executing drill-down expression: left operand not comparable to right operand

To reproduce:
Search on subject resource Encounter, with the following query:
https://occio.pathling.app/fhir/Encounter/?_query=fhirPath&filter=%28%28reasonCode.coding.display%29+contains+%27Limb%2Fjoint+pain%27%29+and+%28%28diagnosis.where%28%5C%24this.use.coding+contains+%27Admission+diagnosis%27%5C%7CAD%29.condition.resolve%28%29.ofType%28Condition%29.code.coding%29+contains+http%3A%2F%2Fsnomed.info%2Fsct%5C%7C240197007%29+and+%28diagnosis.where%28%5C%24this.use.coding+contains+%27Admission+diagnosis%27%5C%7CAD%29.condition.resolve%28%29.ofType%28Condition%29.code.memberOf%28%27http%3A%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F%28%253C%253C%2520125605004%2520%257B%257B%2520%252BHISTORY-MOD%2520%257D%257D%29%27%29+contains+true%29

Close by #508.


Update comment to indicate support for CAP1106 as used by Touch pHAT …

…and Rainbow HAT
This is totally untested... but since it is within a comment, it should not affect the code.

Good spot. Thanks.


Setting storage capacity not working

I have deployed the Qdrant helm chart. And I'm trying to update the storage capacity using the values.yaml, but any change I make doesn't impact the pods or pvc

This is a limitation of the Kubernetes StatefulSet controller.
One way to do this as mentioned in this article: https://serverfault.com/questions/955293/how-to-increase-disk-size-in-a-stateful-set,
Delete the StatefulSet while keeping the Pods running
kubectl delete statefulset --cascade=orphan qdrant

Edit the PVC size to the desired larger size, e.g. to 20Gi
kubectl edit pvc qdrant-storage-qdrant-0

Reinstall the Helm chart with the recreate-pods Flag. This will restart the Pods and during restart the PVCs will be expanded
helm upgrade --install qdrant qdrant/qdrant --set persistence.size=20Gi --recreate-pods

Note that your StorageClass must allow volume expansion.


Error (populate isn't reentrant) caused by tethys_compute in production deployment

File "/usr/lib/tethys/lib/python2.7/site-packages/django/apps/registry.py", line 78, in populate
raise RuntimeError("populate() isn't reentrant")
This error is caused when deploying a production server. If the tethys_compute app is commented out then no error is raised.

This bug is connected with issue #7. See the following from Graham Dumpleton in this thread:https://groups.google.com/forum/#!topic/modwsgi/X3Upsk9Wfsw
"If the loading of one of the application experiences an error, it will raise an exception with the registry in a half built state. It will release the lock on the registry acquired by that thread, but the ready flag on the registry will be left as False.
When mod_wsgi sees that the WSGI script raised an exception when loading, it will throw away the module and return a 500 response error. What it doesn't do is throw away all the other modules that may have been loaded such as Django and its registry.
On the next request, it will load wsgi.py again and when it calls into Registry.populate(), if finds the ready flag still false, but app_configs, which it has the reentrant check on is half populated and so it raises an error for that now instead."


Fix CODEOWNERS

From: @circleci/security-engineering
To: @CircleCI-Public/security-engineering

Matches team name expectation


Align info.description auth section with ICM v0.2.0

What type of PR is this?
Add one of the following kinds:

documentation

What this PR does / why we need it:
Align Authorization and Authentication info.description section with current ICM approved text in v0.2.0
Which issue(s) this PR fixes:

Fixes #76
Special notes for reviewers:
This PR should be merged before #74. It is just an small alignment with new ICM agreed text

Please @AxelNennker take a quick look at this one too

Guess I have to merge this one. Does not change the API and the text is coming from ICM 0.2.0-rc.2


Minor: Fix number of band features referenced in notebook comment

Something I noticed while running this notebook and checking features_train.shape. 6 bands were selected with custom_script = 'return [B02, B03, B04, B08, B11, B12];' earlier, and 3 derived features were added (NDVI, NDWI, NORM). And then 23 is the number of captures over time per location as I understand, explaining 207 = 23 * 9.

A general question I had @mlubej is that as I understand you are using a single pixel's features for its classification, and not looking in the neighborhood for more features. I'm more familiar with hyperspectral than multispectral imagery classification, but I know this is a popular way to improve classification performance. I'm also curious if you could comment on the choice of LightGBM compared to other standards in the multispectral imagery classification. It did give pretty spatially smooth results though with very little noise though!
This whole notebook is very impressive!

Hi @ilyakava!
Thanks for the nice compliments and your improvements, and sorry for the long reply, it seems that I may need to fix my notification settings...
The only thing I changed is to switch the base branch from master to develop.
Regarding your questions, since this is a simple example we wanted to use a simple approach and a simple pixel-based decision tree like classifier. If done properly, using the information from the neighbourhood would, of course, increase the accuracy, but sometimes it comes with large overhead in terms of CPU time.
What do you consider as other standards in multi-spectral imagery classification? We used it because it has a nice and intuitive interface in Python and it's easy to understand when you are still at the point of research (so you know which point of the pipeline to blame, if something goes wrong :) ). There does seem to be very little noise present (in terms of single pixel activation or salt&pepper effect), but this is probably due to the fact that the ML model capacity is relatively small so the probability of overfitting is low, I believe.

@mlubej I recently got to try LGBM for hyper spectral data and compare it to the scikitlearn linear svm. In the majority of cases the SVM outperformed LGBM while also being faster, especially when there was very little training data.
It is interesting that you say the noise is low. The multiple measurements probably help for that!


Generate SDK based on TypeSpec 0.15.3 (with stream-style-serialization=false to some lib)

spec PR https://github.com/Azure/azure-rest-api-specs/pull/28305
Currently commit ID in tsp-location points to head of this spec PR.
If this PR is good, I would merge the spec PR and update the commit ID here.
Link https://github.com/Azure/azure-sdk-for-java/issues/38569
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

One major issue is from text-translation
https://github.com/Azure/autorest.java/issues/2629

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


Write in README how to push the notifier image to auroradev and auroraprod acrs

Describe the improvement you would like to see
We will not have a dedicated workflow for this, since updates to the image is anticipated to be rearer. Instead, document in the README how to push manually
How will this change existing functionality?
NA
How will this improvement affect the current Threat Model?
NA

I have added that notifier image is pushed automatically.
The dev image tag does not depend on the commit, but is rather a hash based on the files that exist under the workflow-notifier directory.
If there is not changes to any files under the workflow-notifier, the same hash will be generated.
It still pushes the same image to the ACR. If we can find a way to skip this pushing if the image with the tag already exists in the acr it would be a small improvement.
Now it overwrites the image with the same image, which is fine, but not really necessary


Stream bufferSize

Hi, I'm using Ratchet to create a server socket that receives messages from a client.
The problem occurs when I try to send a message thats longer than 4096 bytes. The only way that I could make it work was changing (I don't like that) manually the bufferSize in Stream.php class. Is that a way to do that but calling some method acessors? Couldn't find out.
Just to give more insights, my server implements MessageComponentInterface and my onMessage its receiving only the first 4096 bytes of my message.
Thanks in advance.

bufferSize is a public variable on Stream you should just be able to change that.
I don't think this is the problem you're having though. TCP is streamed and has its own chunking. 4096 is just the soft limit more than likely that's not even being reached.
This test case shows Ratchet receiving and sending out WebSocket messages in chunks of 4MB. Internally, React is chunking that at 4096 bytes but it's being reassembled via the messaging protocol to the original 4MB frame.

I don't think I have access to Stream from where I stand.
here's the snippet of my code:

$appServer = ...

$server = IoServer::factory($appServer, $port);

$appServer->setLoop($server->loop);

$server->run();

```php

And in my onMessage, I just got the message with only 4096bytes.
The $connection variable implements ConnectionInterface I don't have access to stream.

I see your test case but I also see my message arriving partially. Whats wrong?

Thanks in advance.

Is connection drops on this check? Got same on post request with multipart/form-data content.
React/Stream/Buffer line 120:
if (0 === strlen($this->data)) {
$this->loop->removeWriteStream($this->stream);
$this->listening = false;
        $this->emit('full-drain', [$this]);
    }

If i comment this, server receive full content, if not it's chunked 8k (stored image size about 7k)

I seem to have the same problem and can't find a solution to it.
I have two reactphp running and I'm using a Socket to have them communicate with each other.  I'm gzcompressing and base64_encoding any message transmitted between them.  The problem is that any message of more than 4096 are being cut in pieces and sent to the 'data' listener that way.
part of my code
	$connector->create('<IP_ADDRESS>', $socketPortNumber)->then(function (Stream $stream) use ($self, $tableId) {
		$self->outputInfo("Connected to table worker".$tableId, DEBUG);
		$stream->bufferSize = 32768;
		$stream->on('data', function ($data, $read) use ($self) {
			$self->handleTableWorkerOutput($data);
		});
	});

Even by setting the bufferSize to a higher value, I can't seem to get bigger data in one piece.  I could come up with a data split thingy and just reassemble on the other side, but I would just prefer to have this working as expected.
Any ideas on this?

@Ethorsen we were having the same problem and also tried to increase the bufferSize but it doesn't seem to make a difference. We solved it by concatenating the data packages before returning it to the calling function to handle. Not as clean as getting all the data in one package, but it gets the job done.
        $connector = new Connector($this->loop, $this->dns);
        $response = "";
        $connector->create($this->address, $this->port)->then(function ($stream) use (&$response) {
            $stream->on('data', function ($data) use (&$response) {
                if (!empty($data)) {
                    $response .= $data;
                }
            });

        });
        $this->loop->run();

        return $response;

Possibly fixed by reactphp/stream#20
Try with react/stream read_buffer branch.

@cboden Great that works, when I added that line in I was able to set the bufferSize higher and get the data in one package. Thanks.

Thx @dancingshell and @cboden.  I did come up with my own split process where I would tag each part with a UID and a part # / total part.  Controller would wait to get all parts of a message before sending it for processing.
But anyhow I will try cboden fix later on.

This test case shows Ratchet receiving and sending out WebSocket messages in chunks of 4MB.
Possibly fixed by reactphp/stream#20

I feel this ticket has been answered and can be closed :+1: If we have new details, update this ticket and we can look into this again :+1:


lockOrientation + unlockOrientation called synchronously breaks rotation

Background:
In my app I'm using portrait lock for pretty much every view but I allow user to rotate on one view.
Then after user goes away from that one special view I'd like to enforce portrait back. That works.
I was playing around with the plugin and I found out that calling
window.screen.lockOrientation('portrait');
window.screen.unlockOrientation();

(just to enforce portrait but without preserving the lock) does not work.
It enforces portrait but rotation becomes permanently locked. Even when I call window.screen.unlockOrientation(); long after that the orientation becomes locked.
On the other hand calling

window.screen.lockOrientation('portrait');
window.setTimeout(function () {
  window.screen.unlockOrientation();
} );

works as expected: it enforces portrait and unlock rotation.
Best (and most meaningful) helper I came up with was:
function rotateTo(orientation) {
  window.screen.lockOrientation(orientation);
  window.addEventListener('orientationchange', function unlockOnOrientationChange(){
    window.screen.unlockOrientation();
    window.removeEventListener('orientationchange', unlockOnOrientationChange);
  });
}

(it waits until orientation change takes place and then it unlocks).
I was testing on ios 10.0.1
I presume the window.screen.unlockOrientation was dropped for some reason (maybe because previous action was taking place at the moment) but I can't explain myself why rotation becomes permanently broken.
I suggest that apart from fixing the permanent lock issue you may extend the lockOrientation: It may return a promise resolved after orientationchange event is fired (or it should take a callback).

@jrencz, thanks for the report.
This repository is no longer being maintained (see README for more information).
Please log an issue in Apache Cordova JIRA for the "Plugin Screen Orientation" component.


[BUG] Volume operations/rebuilding error during eviction

Describe the bug
While evicting replicas, the engine process may not remove the deprecating replicas when receiving the operation requests. Then trying to send requests to the deprecating replicas would cause rpc errors.
This issue will lead to the snapshot purging operation after the replica rebuilding triggered by the eviction itself erroring out. But actually, the purging is issued successfully to all healthy replicas.
To Reproduce
Steps to reproduce the behavior:

Create and attach a multi-replica volume
Prepare one extra disk for a node that contains at least one volume replica
Evicting the old disk for node
Check the engine YAML or longhorn manages log

Expected behavior
No errors in the engine YAML or logs.

Ignore the errors triggered by the invalid replicas in the longhorn manager side.

There are 2 issues here:

As mentioned in the ticket description, there will be some transient error messages in all kinds of engine status maps. These error messages are misleading but they won't affect the functionality.
After the rebuilding is complete, the subsequent purge will be issued. But the purge would be failed by the shutdown of the evicting replica:

Currently, when Longhorn deletes or removes a running replica from a running engine, the replica process will be directly removed first. Then the engine process monitors the replica process failure then report the unavailability to the longhorn manager. In the end, the longhorn manager will help remove the replica record from the engine CR. IMO, this kind of deletion workflow looks weird. Thinking about the volume attachment workflow, Longhorn always starts the replica processes then asks the engine to monitor them. The removal should be done in a reverse way: Longhorn manager asks the engine to stop the replica monitoring and remove the record then shut down the replica process.
Even if the above flow is fixed. The purge command may still get failed as since it's not an atomic operation. The engine monitoring stop can happen between any of these operations then leads to failure. I am thinking if the best fix at this moment is adding retries for the purge invocation.

After discussing with @innobead, we plan to fix 1-1 in v1.3.1.
For 2-1, it's better to open a separate ticket to track it. Since it impacts a lot, it won't be resolved in v1.3.1.
As for 2-2, there may be no need to add a retry. Regular snapshot deletion would help purge all system snapshots.

Verified passed on master-head (longhorn-manager 9746018) by following the test steps.


Fixed broken link to type hierarchy diagram

Type of Improvement

documentation

Desired Merge Strategy

Squash: The PR will be squashed and merged

Reviewer Checklist (only modified by reviewer)

[ ] Did you add the appropriate labels?
[ ] Did you mark the proper milestone (3.2.x, 3.3.x, 3.4.0, 3.5.0) ?
[ ] Did you review?
[ ] Did you check whether all relevant Contributor checkboxes have been checked?
[ ] Did you mark as Please Merge?

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your fix!


chore(deps): update common-dev-assets digest to 16e53c8

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
1d43759 -> 16e53c8

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline


Panic on huge CVE JSON feed

Hi!
Thank you for this interesting tool. I experiment with jaq occasionally. Today I caught a panic on some huge JSON feed.
Steps for reproduce:

Download sample huge JSON file of CVE:

curl https://kazepublic.blob.core.windows.net/cvefree/data.json --output data.json

Pipe this file to jaq:

cat data.json | jaq

cat data.json | jaq
thread 'main' panicked at /home/iru/.cargo/registry/src/index.crates.io-6f17d22bba15001f/jaq-interpret-1.2.0/src/filter.rs:227:16:
index out of bounds: the len is 0 but the index is 0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

If I pipe the same file in jq:
cat data.json | jaq

jq parses this JSON feed and prints the output:
    {
      "cve": "CVE-2003-0002",
      "last_modified_datetime": "2018-10-12T21:32:00.000Z",
      "published_datetime": "2003-02-07T05:00:00.000Z",
      "cvssv2": 6.8,
      "cvssv3": null,
      "epss": "0.140860000",
      "cti_count": null,
      "social_media_audience": null,
      "vendors": [
        "microsoft"
      ],
      "software_cpes": [
        "cpe:2.3:a:microsoft:content_management_server:2001:*:*:*:*:*:*:*",
        "cpe:2.3:a:microsoft:content_management_server:2001:sp1:*:*:*:*:*:*"
      ],
      "v_score": 0.39455917,
...

Hi @franchb, thanks for this bug report!
This seems to be another bug related to using jaq without input filter.
For now, you can just use jaq '.' instead of jaq to make your use case work.
Oh, and if you want better file loading performance, use jaq '.' data.json. That way, your file gets loaded via memory mapping, which is faster than reading from a pipe.


add schnorr signature

Codecov Report

Merging #4 into master will increase coverage by 0.33%.
The diff coverage is 95.74%.

@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   85.71%   86.04%   +0.33%
==========================================
  Files          66       68       +2
  Lines        3374     3426      +52
==========================================
+ Hits         2892     2948      +56
+ Misses        273      271       -2
+ Partials      209      207       -2

Impacted Files
Coverage Δ

xcrypto/pubkey.go
88.88% <100%> (+5.25%)
:arrow_up:

xcrypto/ecdsa.go
74.19% <100%> (ø)
:arrow_up:

xcrypto/sec.go
100% <100%> (ø)

xcrypto/prvkey.go
92.85% <100%> (+0.26%)
:arrow_up:

xcrypto/schnorr.go
90.47% <90.47%> (ø)

Continue to review full report at Codecov.

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


stand alone example projects

I want the examples to be standalone, so that when I want to build a project of my own based on the starters, I can basically copy the example and start working ...
we shouldn't use any parent dependencies/management, each example is selfcontained.
releated to #23

Full agreement

Am 20.09.2015 um 11:09 schrieb Jan Galinski<EMAIL_ADDRESS>I want the examples to be standalone, so that when I want to build a project of my own based on the starters, I can basically copy the example and start working ...
we shouldn't use any parent dependencies/management, each example is selfcontained.
releated to #23
—
Reply to this email directly or view it on GitHub.


Incorrectly detecting additional characters

I'm encountering an issue whereby the TypeScript validation is detecting additional characters that don't exist in the file. I've encountered this a few times within a couple of different files:

Cannot find name 'Stringg'. Did you mean 'String'?

If I attempt to re-save the file this doesn't update as there haven't actually been any changes. If I load in a different editor and save then Sublime re-loads the file and correct the incorrect error. Additionally if I make a superfluous change and re-save the error goes away. But it's very annoying :(
Running Sublime Text 4 - Build 4121
on Ubuntu 20.04.1

I could imagine that this is caused by some character that creates a mismatch between what the server is seeing and what the language server is seeing. Possibly a paragraph separator (\u2029)? Can you check if you have any unusual characters outside of the extended ASCII range? (a regex search for [^\u0000-\u00fff] should do it)

@DanielRosenwasser oddly SublimeText doesn't appear to respect the ^ in that regex as it's matching spaces, brackets etc.
I checked it in VSCode and there are few characters outside the standard range across a number of files, but not in the particular file(s) I've been working in.

I've had issues like this, it seems the deltas generated whenever the file is modified are not always reliable, resulting in the ts compiler seeing incorrect content for the file. My work-around is to cut-paste the problematic section (or the whole file).

@bs85 that does fix the issue, thanks. I am seeing this a lot though unfortunately :(

Hey @DanielRosenwasser, I'm just wondering if there's any additional info I can help to diagnose this one. I appreciate I seem to be the only one encountering it at the moment but it's an incredibly annoying issue that's happening > 10x a day. So if there's anything I can to to help try and get this fixed!

I have the same issue, normally I just press add a character at the end of a line and delete it fast. Sometimes it takes a few tries, but it usually gets the right thing send to the typescript compiler

@Cobertos it's maybe exasperated by the fact that the TypeScript linting is taking 25s to lint a single file. So this slight annoyance introduced almost a 60s delay into my workflow 😢


Add no reply email address to "Expense Paid for" emails

Resolve https://github.com/opencollective/opencollective/issues/5351

Thanks everyone. I can open a new issue in the future for more of these, too - hopefully these three are it.

Other templates have been added to the issue since you opened this PR. Let's either add them here or not close the issue

@Betree : I've updated the PR with the new ones @RichardLitt mentioned. 👍🏽

Thanks, @SudharakaP!

With regard to https://github.com/opencollective/opencollective/issues/5351#issuecomment-1125179426 I am closing this. We'll reopen and iterate if needed in the future.


HTTPS breaks SSR api calls

I use starter, and in production i have error
fail: Microsoft.AspNetCore.NodeServices[0]
ERROR Response {
_body:
ProgressEvent {
type: 'error',
target:
XMLHttpRequest {
onloadstart: null,
onprogress: null,
onabort: null,
onerror: null,
onload: null,
ontimeout: null,
onloadend: null,
_listeners: [Object],
onreadystatechange: null,
_anonymous: undefined,
readyState: 4,
response: null,
responseText: '',
responseType: '',
responseURL: '',
status: 0,
statusText: '',
timeout: 0,
upload: [Object],
_method: 'GET',
_url: [Object],
_sync: false,
_headers: [Object],
_loweredHeaders: [Object],
_mimeOverride: null,
_request: null,
_response: null,
_responseParts: null,
_responseHeaders: null,
_aborting: null,
_error: null,
_loadedBytes: 0,
_totalBytes: 0,
_lengthComputable: false },
currentTarget:
XMLHttpRequest {
onloadstart: null,
onprogress: null,
onabort: null,
onerror: null,
onload: null,
ontimeout: null,
onloadend: null,
_listeners: [Object],
onreadystatechange: null,
_anonymous: undefined,
readyState: 4,
response: null,
responseText: '',
responseType: '',
responseURL: '',
status: 0,
statusText: '',
timeout: 0,
upload: [Object],
_method: 'GET',
_url: [Object],
_sync: false,
_headers: [Object],
_loweredHeaders: [Object],
_mimeOverride: null,
_request: null,
_response: null,
_responseParts: null,
_responseHeaders: null,
_aborting: null,
_error: null,
_loadedBytes: 0,
_totalBytes: 0,
_lengthComputable: false },
lengthComputable: false,
loaded: 0,
total: 0 },
status: 0,
ok: false,
statusText: '',
headers: Headers { _headers: Map {}, _normalizedNames: Map {} },
type: 3,
url: null }

@rufogongora its just the normal response, but it's not executed on the server.
With the new version (angular 5+) the api call is executed twice, 1 via server, 1 via client.

i find solution! ssr starts on random port, so it has different baseUrl than our localhost. for example web api serve on http://localhost:5000 and https://localhost:5001 and our ssr served on http://localhost:56789(for example). so our ssr calls request like this: http://localhost:56789/api/fetch. so it is not our web api. we make shure that we call api by our dedicated localhost:5000 or localhost:5001. and everything will work. i'll publish my own repo soon


Classifer docsToFeatures undefined FEATURES

On line 128 of classifier.js we have:
for (var feature in FEATURES) {
FEATURES is never defined in the file. Not sure if this function is used at all, but this would be a breaking bug, unless there is something I'm missing

The variable FEATURES is passed to the environment of the threads by the following statement:
threadPool.all.eval('var FEATURES = ' + JSON.stringify(this.features));

Then docsToFeatures is called:
threadPool.all.eval(docsToFeatures);

(lines 175/176 of classifier.js)
Hugo


unable to use Clay in emulator

This is due initially to the code being hard coded to to open http://clay.pebble.com.s3-website-us-west-2.amazonaws.com/ which has been offline for a while.
However I'm not clear the technique being used is possible since late 2017 with a change to Mozilla Firefox, https://blog.mozilla.org/security/2017/11/27/blocking-top-level-navigations-data-urls-firefox-59/ (also see bug https://bugzilla.mozilla.org/show_bug.cgi?id=1331351).
Hacking in a new URL (into https://github.com/pebble/clay/blob/master/dev/emulator.html ) results in an error in the debugger console in Mozilla Firefox:
Navigation to toplevel data: URI not allowed (Blocked loading of: “data:text/html;charset=utf-8,<!DOCTYPE html>...”)

I'm not yet clear why the emulator uses a web page and doesn't use a data URI like it does on the phone.
In the mean time for emulator debugging/testing I'm using a regular web page.

https://github.com/clach04/clay/tree/%23162/new_emulator_url has a demo that appears to not work for modern browsers.
Its possible pushing data into an iframe may be a viable workaround.

As I'm using a VM I tried Firefox version 55 and whilst it does not error and does update the URL to a data URI the windows content is blank (dark, so the CSS is loading) :(

Same for 49.0.1

I'm trying to recall when/if Firefox worked with Clay as I know initially it targeted Chrome (I do recall issues with Firefox)

So I ended up needing to use custom handlers with Clay and I was going to add some emulator detector code in place so that I could spawn a regular website URL rather than Clay. Using the custom actions made Clay work in the emulator (using Chromium as browser, I've not tried anything else).
I.e. the following worked for Phone and Emulator on desktop:
var Clay = require('./clay.js');
var clayConfig = require('./config');
var clay = new Clay(clayConfig, null, { autoHandleEvents: false });

// as autoHandleEvents set to false need a basic showConfiguration action
Pebble.addEventListener('showConfiguration', function(e) {
	// for what ever reason this then causes Clay display to work in emulatpr
	// // NOTE save works with web app, but then get error and pebble never receives data/config with my quick test
	var emulator = !Pebble || Pebble.platform === 'pypkjs';
	console.log('showConfiguration');
    console.log('emulator  =' + JSON.stringify(emulator));

    Pebble.openURL(clay.generateUrl());
});

Pebble.addEventListener('webviewclosed', function(e) {
    if (e && !e.response) {
    return;
    }

    // Get the keys and values from each config item
    var dict = clay.getSettings(e.response);

    console.log('string config data =' + JSON.stringify(dict));
    console.log('string config data length=' + JSON.stringify(dict).length);
    // Send settings values to watch side
    Pebble.sendAppMessage(dict, function(e) {
	console.log('Sent config data to Pebble');
    }, function(e) {
	console.log('Failed to send config data!');
	//console.log(JSON.stringify(e));
    });
});

NOTE clay modified to point to a server that is up

@clach04 It looks like it took many twists and turns for you to get to a working state, can you summarize the proper way to get this all working these days? I have copied the code from your latest comment into my index.js and gone into node_modules/pebble-clay/src/js/index.js (as created by pebble package install pebble-clay) and replaced the old Amazon S3 URL with your copy at http://clach04.github.io/pebble/clay/emulator.html#. When I do a clean, build, and install of my app on the emulator and run
pebble emu-app-config
I still get directed to the old broken S3 address in my default web browser. I imagine this is some simple Node issue that I'm not familiar with. Is there a straightforward series of steps you can provide for people to get Clay emulation working with minimal hacks?

@mattrossman my Pebble sdk machine is kaput so best I can do is point you at what my notes indicate is a working branch with code that uses the above.
https://github.com/clach04/pebble-rest-timer/commits/emu_clay
I still use this app on my Pebble, I just can't debug it
I saw some one had a docker image of the sdk/emulator but I'm not sure when I will get chance to play with it any time soon :-(

@matthewtole if you are still getting the AWS url, then the pebble clay package you have is not hacked (correctly). I dug out my old vm and spent the last few hours remembering how pebble node packages work. I'm not convinced I have this all figured out in my head but I do have it working.

I'm using my github hosted clay emulator, its at http://clach04.github.io/pebble/clay/emulator.html# - note the #, my hacked pebble-clay source is in https://github.com/clach04/clay/commits/%23162/new_emulator_url (I did experiment with http://clach04.github.io/pebble/clay/# but not had any success, even though index.html is the same as emulator.html, redirect to data page fails)
You do need the hacked pebble clay installed, I do not have a great mechanism for this but I build it (gulp, npm run build (for good measure, may not be needed), pebble build) and then on the same machine where I have the project I want it issue pebble package install /path/to/build/dir - I've not found a better way yet.
application js needs to handle showConfiguration
I'm using Lubuntu 18.05 LTS and Chrome 48.0.2564.109. If I use Chromium 69 then the redirect is denied - in theory you could copy/paste/edit the redirect URL

Let me know how you get on. I've not figured out how to make deliverable pebble-clay packages otherwise I'd attach to github for you to pull down.

@clach04 I ended up finding a better solution I think. I ran into some hiccups with the instructions, but I eventually reached the point where Chrome was denying the redirect. I realized that I had already been able to reach this point simply by cloning that rest timer app you linked earlier. I noticed that you included a (modified) copy of the clay.js source in your repo, so there was no need to use any pebble package commands to get up and running. I removed all the pebble-clay stuff that was being managed node and just copied that clay.js source file into my project, changing the require statment in my index.js accordingly. That left me with the remaining "Navigation to toplevel data: URI not allowed" issue.
This was resolved by adding in this function to replace the HTML content of the current page from within the

I've merged this into the S3 bucket that Rebble maintains.  Thanks, @kennedn!


Auto-calculated attribute modifiers

Roll template changes and auto-calculated attribute modifiers.

New sheet looks good. I've updated the preview image to be a little bit cleaner, so make sure to update before doing more work so you don't get any merge conflicts.


Apply fixes from StyleCI

This pull request applies code style fixes from an analysis carried out by StyleCI.

For more information, click here.

LGTM


bootstrapping interpolation algorithm

currently only uses linear (because Interpolations.jl only does linear for non-uniform spacing of points, IIRC), but bootstrap is built in a way that should be drop-in replacement for other interpoliaton functions. Other interpolations (e.g. cublic spline) could come later: the design change would be to expose an option (e.g. a kwarg) for the main functions like Forward, Par, CMT, etc...

I briefly checked out Bsplinekit due to having cubic spline interpolations, but it was a newer package and didn't have nativ extrapolation: (https://github.com/jipolanco/BSplineKit.jl/issues/19)
Yields.jl originally used Dierkx.jl and cubic spline, but as that's a Fortran wrapper, it caused issues when trying to use automatic differentiaion (e.g. ActuaryUtilities uses first and second derivatives of price/present value to caluclate duration and convexity)


spectra processed dataset

I am highly interested in the spectra project and would like to conduct experiments and testing using some preprocessed data. Currently, I couldn’t find any preprocessed data readily available for use within the project. Therefore, I kindly request your assistance in providing some preprocessed data that I can use to better understand and utilize the spectra project. Thanks.

Our pre-trained dataset is from Spotify 100K. You can follow the instruction in this link to apply one. Soon we will update how to preprocess the pre-training data on README.md file.

Our pre-trained dataset is from Spotify 100K. You can follow the instruction in this link to apply one. Soon we will update how to preprocess the pre-training data on README.md file.

Alright,, thank you! I'll give it a try first and look forward to your updates.

呜呜呜还没更新嘛

We're pleased to share the processed pretraining datasets with you. Please note, the SpokenWoz dataset is still in the works and will be released at a later date.
Here are the processed pretraining datasets. The SpokenWoz dataset will be released later.
https://space-mm-data.oss-cn-wulanchabu.aliyuncs.com/downstreamv2/iemocap.tgz
https://space-mm-data.oss-cn-wulanchabu.aliyuncs.com/downstreamv2/mintrec.tgz
https://space-mm-data.oss-cn-wulanchabu.aliyuncs.com/downstreamv2/mosei.tgz
https://space-mm-data.oss-cn-wulanchabu.aliyuncs.com/downstreamv2/mosi.tgz
To access the training, validation, and test files in the datasets, you can use the following command to extract the mosi.tgz file:
tar -xzvf mosi.tgz

Once extracted, you'll find .pkl files for training, validation, and testing. Each pickle file contains a list of samples, and each sample includes the following components:

Audio Features: This field contains the audio feature data.
Text Token IDs: Here, you'll find the IDs corresponding to text tokens.
Label: This is the label assigned to the sample.
History Audio Features (if applicable): If present, this field contains historical audio feature data.
History Text Token IDs (if applicable): Similar to the above, this includes historical text token IDs, if available.

We hope this information helps you in utilizing the dataset effectively. Should you have any questions or need further assistance, please feel free to reach out.


fix: exclude libturbomodulejsijni.so from package

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Style the "Choose file" button

Style the "Choose file" button so that it fits in with the rest of the UI. This may require some tricks such as lowering the visibility of the button, or putting a control over it which ignores its own click. UI Fabric may have its own solution for this too.

I have this fixed in a private branch. The solution is to hide the file input, and have the other button's click handler find that file input and call click on it.


Section "Memory Access Messages" missing in TLFS v6.0b

TLFS v6.0b documents the structure of intercept message header but the payload structure is missing.
This structure was documented in TLFS v4.0b under the section "16.3 Memory Access Messages"

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


[TEVA-2070] refactor filters component to agreed format

https://dfedigital.atlassian.net/browse/TEVA-2070 [part of]

uses government accordion component
extend from govuk base class

Review app deployed to https://teaching-vacancies-review-pr-3086.london.cloudapps.digital


Update algebra to 1.0.1

Updates org.typelevel:algebra from 1.0.0 to 1.0.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "algebra" } ]

labels: semver-patch

👍

superseded by #719


Doesn't check the type of an exception

This function will return a number, without flow complaining about it.
function foo(x: ? number): string {
try {
        throw x
    } catch (e) {
        return e // returns x, which is a number
    }
}

I agree, e should be mixed  instead of any

I think also annotating error should be possible:
try {
 } catch (e: Error) { // mixed by default, but arbitrary annotation is allowed
 }

In flow 0.36.0, this is a syntax error:
try {
} catch (e: Error) { // (e: Error) is a Syntax Error
}

@zertosh just to clarify, my proposal is:
try {
 } catch (e) {
   // e is mixed, safe behaviour
 }

try {
 } catch (e: any) {
   // e is any, works exactly as it works today
 }

try {
 } catch (e: Error) {
   // e is Error, works 99.99% percent of the time
 }

e: Error is unsound because we don't check the throws to make sure they're throwing Error.
allowing an annotation seems reasonable to me, but we'll have to flow mixed into it which would mean the only things you could actually annotate with are mixed or any. that's good because the default case will be mixed, but you can downcast to any.
you'd end up with errors like
} catch (e: Error) {
         ^ mixed. Some potential exception is not compatible with
} catch (e: Error) {
            ^^^^^ Error

@mroch everything other then mixed is unsound, but it seems to be a good compromise to allow any annotation (i.e. not flowing mixed anything into it if it's present)

I think we should stick with any here and continue to forbid annotations unless:

We add support for effects, model exceptions as effects, add annotation support to cover libdefs, and actually model the data flow for exceptions

Find some way to indicate "untrusted" types and mark annotations here as untrusted. Any program location into which an any type flows would be untrusted, and this would be one such location.

Do what @mroch suggests and actually change from any to mixed. This wouldn't allow an explicit Error annotation, but you could add an explicit any annotation and cast to Error, or do a type test on the mixed.

@samwgoldman
1 would be the ideal, but probably not worth it. No sure what you mean by 2. What is the purpose of untrusted types?
I'm personally fine with 3, but thought that it would break too much code at once

Avik actually has done some work on effects (1) in order to havoc refinements properly, but the work isn't landed and I don't think anyone has considered using it for exceptions.
(2) is an idea we've been kicking around, mostly in the context of an optimizing compiler which would need to insert runtime checks around untrusted types, but could elide them elsewhere. That line of thinking is still very uncertain, though. Another benefit of surfacing trustworthiness of types would be helping programmers to understand the "amount" of any in their code and possibly to reduce the impact of any-typed code.
I agree that (3) would break a lot of code and I mostly put it up there as a strawman.
Mostly I think we should maintain the status quo.

Another benefit of surfacing trustworthiness of types would be helping programmers to understand the "amount" of any in their code and possibly to reduce the impact of any-typed code.

Isn't it what cover does already?

I agree that (3) would break a lot of code and I mostly put it up there as a strawman.

What about allowing only mixed as annotation?

In the minimum it would be really nice if this at least would mark as covered since it is an error to annotate the value making it impossible to get full coverage.

From a dev-ops perspective this would be great to allow some sort of casting to achieve full coverage. Its much easier to use a tool that enforces 100% flow coverage rather than analyze which exceptions will be allowed.

I like option 3. It encourages checking to see whether what you've caught is what you expect, hopefully encouraging re-throwing it if it didn't match.
Could we enable that as a strict mode option? That would make it opt-in.

I've proposed an option to automatically cast any to mixed here: https://github.com/facebook/flow/issues/7515. Not just for the type of an exception, but it would also affect exceptions.

Find some way to indicate "untrusted" types and mark annotations here as untrusted. Any program location into which an any type flows would be untrusted, and this would be one such location.

I think this option already in works with recent addition of $Trusted and $Private types?

@zeorin I also like option 3. I have two questions:

Your proposal #7515 does not affect the ability to manually cast mixed to any in non-strict mode, correct?
Does #3259 implement option 3? It looks like that work allows annotating the error instead of automatically giving it mixed, but I'm not sure.

@mgreenw

I'm not a 100% sure on that. It's possible to enable the strict mode options as lint warnings in non-strict mode, so there might be some interference still. Aliasing any to mixed would mean that a manual cast like you suggest would probably cast mixed to mixed under my proposal (unless we special-cased it). However it is not meant to apply to a suppress_type (which is a custom any alias you can define in .flowconfig), so you should still be able to cast to any, effectively, but you wouldn't actually write any in that cast operation (you'd use your suppress_type alias instead).
It does not, and is unsound. The only sound options are 2 & 3, IMO.

@zeorin Thanks for the response! Do you know if an implementation of option 3 is underway?

Not to my knowledge. If you like you can :+1: my proposal https://github.com/facebook/flow/issues/7515 and hope for the best :crossed_fingers:.

@zeorin 👍+ 🤞


Settings not saved

I have seen some similar issues but they are closed and I can't see how to be solved.
I have GLPI 9.5.3 and installed the plugin without problems. I did the Azure configuration following the instructions, but I am not able to save it.
When you click on 'update' button from the config form in the plugin config page, I am redirected to glpi home page (dashboard). When I return to the plugin config page, the fields are empty. Obviously if I try to login, the login page shows error "Invalid array settings: idp_entityId_not_found, idp_sso_not_found, idp_cert_or_fingerprint_not_found_and_required", so I assume the config info is not being saved in the database or config file.
If I check the error file it is full of this message:
[php7:notice] [pid 710261] [client <IP_ADDRESS>:61798] PHP Notice:  Undefined index: saml_sp_nameid_format in /var/www/glpi/plugins/phpsaml/inc/config.class.php on line
406
I checked and the file has the correct permissions and owner.
Is it a bug? Do am I missing something? What am I doing wrong?

@breno404 is correct.  This issue has been resolved.  Please use the latest version of the plugin.

I have the same problem on GLPI 9.5.6 impossible to save changes and i have an error message on the debug mode


Route Not Found Error on 16.0 Release

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
After clicking on my app in the Shopify store dashboard, I expect to go to my app's home page
Current Behavior
I get a server 500 error and upon looking at the log, I get the following output:
[2021-01-25 08:07:44] production.ERROR: Route [home] not defined. {"exception":"[object] (Symfony\Component\Routing\Exception\RouteNotFoundException(code: 0): Route [home] not defined. at /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:429)
See complete log at bottom
If I go back to the dashboard and click my app again, I go to the home page as normal
Steps to Reproduce
Please provide detailed steps for reproducing the issue.
Using Chrome v88.0.4324.104

Clear all history and cache from Chrome
Login into store dashboard, click on app link
Observe error
Click Back button
Click on app link again and observe successful route to home page

Context
Please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.

Package Version: v16.0.0
Laravel Version: v8.24
PHP Version: v7.4.14
Using a toolset (Docker, Laradock, Vagrant, etc.):

Failure Logs
Please include any relevant log snippets or files here.
[2021-01-25 08:07:44] production.ERROR: Route [home] not defined. {"exception":"[object] (Symfony\\Component\\Routing\\Exception\\RouteNotFoundException(code: 0): Route [home] not defined. at /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:429) [stacktrace] #0 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Redirector.php(176): Illuminate\\Routing\\UrlGenerator->route('home', Array) #1 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(261): Illuminate\\Routing\\Redirector->route('home', Array) #2 /var/www/html/pc-app/vendor/osiset/laravel-shopify/src/ShopifyApp/Traits/ItpController.php(31): Illuminate\\Support\\Facades\\Facade::__callStatic('route', Array) #3 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): Osiset\\ShopifyApp\\Http\\Controllers\\ItpController->attempt(Object(Illuminate\\Http\\Request)) #4 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('attempt', Array) #5 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Route.php(254): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(Osiset\\ShopifyApp\\Http\\Controllers\\ItpController), 'attempt') #6 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Route.php(197): Illuminate\\Routing\\Route->runController() #7 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(692): Illuminate\\Routing\\Route->run() #8 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #9 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #10 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #11 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #12 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #13 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #14 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #15 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #16 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\Store), Object(Closure)) #17 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #18 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #19 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #20 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #21 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #22 /var/www/html/pc-app/vendor/osiset/laravel-shopify/src/ShopifyApp/Http/Middleware/ITP.php(47): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #23 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Osiset\\ShopifyApp\\Http\\Middleware\\ITP->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #24 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #25 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(694): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #26 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(669): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) #27 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) #28 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) #29 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(166): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) #30 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) #31 /var/www/html/pc-app/nova/src/Http/Middleware/ServeNova.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #32 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Laravel\\Nova\\Http\\Middleware\\ServeNova->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #33 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #34 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #35 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #36 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #37 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #38 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #39 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #40 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #41 /var/www/html/pc-app/vendor/fruitcake/laravel-cors/src/HandleCors.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #42 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #43 /var/www/html/pc-app/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #44 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #45 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #46 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(141): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #47 /var/www/html/pc-app/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) #48 /var/www/html/pc-app/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) #49 {main} "}

I just tested this on Firefox with same results

I just tested this on Firefox with same results

I backed down to 15.1.1 and no problems, so the issue is in the 16.0.0 release

I backed down to 15.1.1 and no problems, so the issue is in the 16.0.0 release

I'm not able to reproduce this, what does your homepage route config look like?

I'm not able to reproduce this, what does your homepage route config look like?

Route::get('/home', [HomeController::class, 'show']);                 // Shows the home page
I have it and the rest of my get routes in a Route middleware group:
Route::middleware(['auth.shopify'])->group(function() {
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 12:42 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
I'm not able to reproduce this, what does your homepage route config look like?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767747401 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHM5DGBJXIRGXP4C7O3S34EH7ANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHJNTFUIKXWP2ZNVAFTS34EH7A5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBOKSI.gif

Route::get('/home', [HomeController::class, 'show']);                 // Shows the home page
I have it and the rest of my get routes in a Route middleware group:
Route::middleware(['auth.shopify'])->group(function() {
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 12:42 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
I'm not able to reproduce this, what does your homepage route config look like?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767747401 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHM5DGBJXIRGXP4C7O3S34EH7ANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHJNTFUIKXWP2ZNVAFTS34EH7A5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBOKSI.gif

You dont have your route named as home.

You dont have your route named as home.

Ah, named routes are required then…was this a specific change from 15.1.1? I’ll try that
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 1:36 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
You dont have your route named as home.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767778335 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHLGHPPYA3TF7FUDUYLS34KQNANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHKCMPNLAEXXRPWYNQLS34KQNA5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBV4HY.gif

Ah, named routes are required then…was this a specific change from 15.1.1? I’ll try that
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 1:36 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
You dont have your route named as home.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767778335 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHLGHPPYA3TF7FUDUYLS34KQNANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHKCMPNLAEXXRPWYNQLS34KQNA5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBV4HY.gif

Yep, that worked. Thanks!
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 1:36 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
You dont have your route named as home.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767778335 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHLGHPPYA3TF7FUDUYLS34KQNANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHKCMPNLAEXXRPWYNQLS34KQNA5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBV4HY.gif

Yep, that worked. Thanks!
From: Tyler King<EMAIL_ADDRESS>Sent: Tuesday, January 26, 2021 1:36 PM
To: osiset/laravel-shopify<EMAIL_ADDRESS>Cc: mddickens<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [osiset/laravel-shopify] Route Not Found Error on 16.0 Release (#671)
You dont have your route named as home.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/osiset/laravel-shopify/issues/671#issuecomment-767778335 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQ2XEHLGHPPYA3TF7FUDUYLS34KQNANCNFSM4WR3LWJA .  https://github.com/notifications/beacon/AQ2XEHKCMPNLAEXXRPWYNQLS34KQNA5CNFSM4WR3LWJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFXBV4HY.gif


CRD regex sanitize does not allow spaces

Description of the bug:
When trying to import a CRD the API Version key is failing because it doesn't match the regex match.  The regex that is shown should match '/^(\w|\.|\/|-|#|,)*$/' which does not allow spaces.  No spaces means that the description key will fail or it is failing on something else.  The key specifically looks like this:
        API Version:
          Description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
          Type:         string

Reproduction Steps:
Command I ran: cdk8s import --language python
# cdk8s.yaml
language: python
app: pipenv run python main.py
imports:
  - k8s
  - testapp:=my-app.yaml

Error Log:
Error: Key 'API Version' contains non standard characters (Must match regex '/^(\w|\.|\/|-|#|,)*$/')
    at SafeReviver._sanitizeObj (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:40:23)
    at SafeReviver._sanitizeObj (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:47:22)
    at SafeReviver._sanitizeObj (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:47:22)
    at SafeReviver._sanitizeObj (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:47:22)
    at SafeReviver._sanitizeObj (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:47:22)
    at SafeReviver.sanitize (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/reviver.js:31:14)
    at safeParseYaml (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/util.js:105:17)
    at safeParseCrds (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/import/crd.js:147:46)
    at Function.fromSpec (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/import/crd.js:120:51)
    at async importDispatch (/usr/local/Cellar/cdk8s/1.0.143/libexec/lib/node_modules/cdk8s-cli/lib/import/dispatch.js:9:26)

Environment:

Framework Version: 1.0.143
OS: macOS Big Sur 11.6.4
python: 2.7.16
pipenv: 2022.3.28

Other:

This is :bug: Bug Report

This was my mistake, it was a miss configuration.


Information on the "processing" page of the app talks about "accept" or "reject" matches. Options are "confirm" or "reject".

Overview
On the "Processing" page, which explains how the OAR matching algorithm works, the explanation includes this sentence:
If one or more potential matches to an existing facility are found, but the application is not confident enough to make the match automatically, the contributor will be asked to “Accept” or “Reject” the match using buttons within the application.
Expected Behavior
The options are "Confirm" or "Reject".
Actual Behavior
The sentence reads If one or more potential matches to an existing facility are found, but the application is not confident enough to make the match automatically, the contributor will be asked to “Accept” or “Reject” the match using buttons within the application.
Steps to Reproduce
Visit: https://openapparel.org/about/processing

Try to combine this small text correction with another issue.


Tidy up sprites

[x] Get rid of V1 and other unused sprites

[x] Standardize sprite names

[ ] Change mob texture

Changes proposed in a new pull request - without the mob texture atm.


New contributors guide to backend development

Summary
I am starting work on devlake and I am having some troubles getting it all running smoothly since I last worked on the project. I am reading all of your docs and looking for the right information but I am not seeing it so far.
My goal is to create my own plugin and test it locally but first, I need to see the app running locally.
I have added docs and a new docker-compose file in order to document this process. I need this reviewed by @klesh to make sure this is a valid way to run and test the application. Please make comments on this PR and I will update the code.
Local Dev mode vs Docker
It seems like there are two ways the application is being run.

You want to just consume the application with docker-compose up -d
You want to develop the application which means running grafana/postres/mysql/config-ui in docker and the golang project manually with make run (Note: I was expecting there to be a docker-compose file that is local dev mode specific)

Does this close any open issues?
Maybe this one: https://github.com/apache/incubator-devlake/issues/1863
Maybe this one: https://github.com/apache/incubator-devlake/issues/2092

How I do backend work:

Fire up mysql by running docker-compose up -d mysql, and setup my .env file properly.
When working on plugin development, I modify source files, and then test them by running go run ./plugin/xxx/xxx.go
When working on API stuff, I modify source files, and fire up the whole system with make dev, test them with hoppscotch or curl command.

2. When working on plugin development, I modify source files, and then test them by running go run ./plugin/xxx/xxx.go

Do you not need to build the plugin each time you want to test it? I also think you will always need to run the api to test the plugin?
More detailed steps would be helpful 👍

curl command

Which cUrl commands? Are there examples somewhere that I am not seeing?

For plugin development, no, just run go run ./plugins/xxx/xx.go will launch the plugin in standalone mode. no need to build other plugins.
For API development, make dev will build them for me.

I think this can now be merged @klesh


Update sample to latest.

Can you also change all references to new Team.Marshal() to Team.FACTORY.marshal() (same for HockeyPlayer) since thats the recommended way of using the marshal in 0.4.2

lgtm


Ci enable csrf protection

Enabling XSRF (Cross Site Remote Forgery) protection  …
See: https://trello.com/c/cFc17M7P
This option is enabled by default on more recent versions of Jenkins but only for new installs not upgrades
This change affects the way we make (headless) API modifications to our Jenkins instance.  To authenticate we now need to include an XSRF Token Crumb Header, as well as a username and apiToken/password.
To retrieve a CSRF Token Crumb Header you'll have to use xpath.
curl -XGET 'http://'"${API_USERNAME}"':'"${API_TOKEN}"'@localhost:8080/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)'

This config has been omitted on our current deploy instance as this could potentially impact the service it provides.

Is anything else being added in the config file other than the below?
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
    <excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
</crumbIssuer>

That could quite easily be an if statement in the template, which could then be triggered with a versioncmp in the manifest. This would mean we avoid having to maintain two different template files. We'd also have to remember to create a new template everytime we upgrade Jenkins (though going on past behaviour this won't be a problem...)
If there are more differences then it does make sense having a newer file, but if it's only a smaller segment I'd suggest it's better to keep the config in the same bit.


Photos and text are not aligned properly

I will align the photo and text.

I can align the image and text properly.

old codebase issue