Break the current operator's configuration into custom and managed properties

Closes SRVLOGIC-195

Added operator managed ConfigMap to store the managed properties (aka immutable)

Key application-PROFILE.properties contains the properties (PROFILE is either prod or dev)

User properties are no more updated by the operator

Properties are defined by the key application.properties

Any changes to one of the two property files implies a forced rollout of the workflow deployment

The checksum is calculated on the joined properties (user + managed)

Since the managed properties are generated using the SonataFlowPlatform instance, all the creator and mutators have been extended to add a platform instance to the input parameters

More tests can be added after we agree on the overall approach.

We can add this link to the documentation: https://quarkus.io/guides/config-reference#default-profiles

@dmartinol can you please verify the e2e failures?
Summarizing 1 Failure:
  [FAIL] SonataFlow Operator ensure that Operator and Operand(s) can run in restricted namespaces [It] should successfully deploy the orderprocessing workflow in devmode and verify if it's running
  /home/runner/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.0/internal/node.go:463

Might be related with these changes.

@dmartinol can you please verify the e2e failures?
Summarizing 1 Failure:
  [FAIL] SonataFlow Operator ensure that Operator and Operand(s) can run in restricted namespaces [It] should successfully deploy the orderprocessing workflow in devmode and verify if it's running
  /home/runner/go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.0/internal/node.go:463

Might be related with these changes.

I see the managed properties do not contain the "converted" discovery properties, so there was not mapping for this configuration:
mp.messaging.outgoing.kogito_outgoing_stream.url = ${kubernetes:services.v1/event-listener}

I'm investigating

We can add this link to the documentation: https://quarkus.io/guides/config-reference#default-profiles

can you remind me again the documentation repo?

@ricardozanini apart from some E2E tests that are failing and I cannot replicate on my local environment, unit tests and manual verification seems to succeed. I will update the ADR in the meantime

We can add this link to the documentation: https://quarkus.io/guides/config-reference#default-profiles

can you remind me again the documentation repo?

Sure thing! https://github.com/apache/incubator-kie-kogito-docs/tree/main/serverlessworkflow/modules/ROOT

We can add this link to the documentation: https://quarkus.io/guides/config-reference#default-profiles

Adding to PR for doc repo

I think you can rebase this PR to take latest Jordi changes to the tests.

I'm touched by that green flag on the E2E checks 😂

@dmartinol looks like we need some love here to fix merge conflicts

@dmartinol looks like we need some love here to fix merge conflicts

and also updated some props, but I need to re-run my manual tests, I'm concerned that latest commits broke anything.
BTW: about properties-related tests, it doesn't make much sense that we only check the number of generated props, but at this point I cannot add a check for each expected properties, as this set is changing day by day. So, I just changed the expected number.

@dmartinol @ricardozanini @domhanak some positive feedback for the record.
I have executed usecase-oc https://github.com/flows-examples/techpreview2/blob/f39a25e626e217dabf7b69237641ca1e05375c6a/README.md?plain=1#L739
And I can see this results:
Managed and normal properties are created

I've added a service discovery property manually in the callbackstate-props

Then I went to the managed properties and I can see that the service discovery was produced and the corresponding property is in the managed set. The other managed properties are still there. good!

The workflow  is running well I could create instances and see them in the DI, good!

When I add properties manually to the user properties I can then see the workflow rollingout. good!

In the workflow deployment environment I can't see any property
But maybe we can start moving things there in a follow-up PR. If I understood well, we should start to see there this kind of props
quarkus.http.port = 8080
quarkus.http.host = <IP_ADDRESS>
as env vars.

But we can think about this in follow-up PR

good job @dmartinol !!!!

@dmartinol @ricardozanini @domhanak some positive feedback for the record.

In the workflow deployment environment I can't see any property
But maybe we can start moving things there in a follow-up PR. If I understood well, we should start to see there this kind of props
quarkus.http.port = 8080
quarkus.http.host = <IP_ADDRESS>
as env vars.

But we can think about this in follow-up PR

Thanks for deep investigation and testing.
Wrt the deployment environment, we changed our initial design because this option doesn't work well with property names including "-", see this issue smallrye-reactive-messaging: incompatibility with configuration through environment variables. E.g., mp.messaging.outgoing.kogito-job-service-job-request-events.connector cannot be managed that way.
If you aim to model as env variables only the properties not affected by that issue, this is an option but at the same time we should keep the managed properties file for all of the others, so we'd have 3 managed source of configuration values.

@dmartinol @ricardozanini @domhanak
I have found a small non blocking issue here.
When playing to add service discovery properties in the callbackstatetimeouts-prop I define this:

After the managed properties calculation was produced in the Reconcile, I can see that the service discovery properties where created, good, but, user.property3 and user.property4 was copied to the managed properties too with a sort of calculated value.
This didn't happen before. It looks like a property expansion is enabled now during the properties calculation or something similar.

@dmartinol @ricardozanini @domhanak some positive feedback for the record.

In the workflow deployment environment I can't see any property
But maybe we can start moving things there in a follow-up PR. If I understood well, we should start to see there this kind of props
quarkus.http.port = 8080
quarkus.http.host = <IP_ADDRESS>
as env vars.

But we can think about this in follow-up PR

Thanks for deep investigation and testing. Wrt the deployment environment, we changed our initial design because this option doesn't work well with property names including "-", see this issue smallrye-reactive-messaging: incompatibility with configuration through environment variables. E.g., mp.messaging.outgoing.kogito-job-service-job-request-events.connector cannot be managed that way.
If you aim to model as env variables only the properties not affected by that issue, this is an option but at the same time we should keep the managed properties file for all of the others, so we'd have 3 managed source of configuration values.

ok, we can see this in a future step.

@wmedvede I'd rather keep all managed properties in the CM. One place to look for the managed properties by the operator can facilitate admin tasks.
Regarding the bug you've found, this is intentional to override the ones by the user. Otherwise, Quarkus will try to read them and parse. Since kubernetes: is not a valid schema, it will fail.
Actually, by chance, @dmartinol found a way to remove our microprofile-config add-on. We don't need it anymore since it's already doing the expansion on the operator side. So in your example, only these will do:

application-dev.properties (Managed)

user.property3=<discovered URL>
user.property4=<discovered URL>

application.properties (User)

user.property3=<desired Kubernetes endpoint>
user.property4=<desired Kubernetes endpoint>

We can ditch the jar and live happily.

We can ditch the jar and live happily.

np from my side, the only thing is that I personally don't know how these properties has ended up in the managed property set, and also with the calculated values
user.property3=
user.property4=
Then, regarding the microprofile like generated properties and the removal of that addon, I think we need to investigate a bit, because when we configure knative-serving operations like:
  "operation": "knative:services.v1.serving.knative.dev/default/serverless-workflow-greeting-quarkus?path=/arrayFunction"

To make them work, if I'm not wrong we need the microprofile addon, need to double check on monday.

@dmartinol can you please try rebasing? Since we've merged the label PR, I think this line in the e2e is causing troubles:
kubectl wait pod -A -l control-plane=sonataflow-operator --for condition=Ready
Your fork still has the old label: https://github.com/dmartinol/incubator-kie-kogito-serverless-operator/blob/SRVLOGIC-195-props/.github/workflows/e2e.yml#L74

need to double check on Monday.

@wmedvede no worries. The problem is that our addon should consider the property in the default profile, which is not. That's why we had to override in the managed CM.

@dmartinol once you rebase, CI is green, I'll merge this.


Blurry label content

Hello
First of all thank U very much for this peace of code...
After transforming the tableview, newly created coordinates don't have integer vals so the content of the tableview becomes blurry. I suggest some type of rounding new coordinate and size values after performing the transform operation
in

(void)createTableWithOrientation:(EasyTableViewOrientation)orientation {

EasyTableView was just recently updated. The interface has changed slightly so you may need to make changes to your code to support EasyTableView 2.0. Please update and let me know if the same behavior still exists. Thanks.


get_xs_points() (#244)

Hey @dblodgett-usgs, I've added a reprex that shows how I was envisioning using more than two points. Probably excessive... but here you go, thanks!
devtools::document()
library(mapedit)
library(ggplot2)
library(sf)
library(patchwork)

point1 <- sf::st_sfc(sf::st_point(x = c(-105.9667, 36.17602)), crs = 4326)
point2 <- sf::st_sfc(sf::st_point(x = c(-105.97768, 36.17526)), crs = 4326)
point3 <- sf::st_sfc(sf::st_point(x = c(-105.98869, 36.17450)), crs = 4326)

points <- c(point1, point2, point3) %>% sf::st_as_sf()

(xs <- get_xs_points(points, 100))

bbox <- sf::st_bbox(xs) + c(-0.005, -0.005, 0.005, 0.005)

nhdplusTools::plot_nhdplus(bbox = bbox)

plot(sf::st_transform(sf::st_geometry(xs), 3857), pch = ".", add = TRUE, col = "red")
plot(sf::st_transform(sf::st_sfc(point1, crs = 4326), 3857), add = TRUE)
plot(sf::st_transform(sf::st_sfc(point2, crs = 4326), 3857), add = TRUE)
plot(sf::st_transform(sf::st_sfc(point3, crs = 4326), 3857), add = TRUE)

plot(xs$distance_m, xs$elevation_m)

#get long pro
mapedit_points <- mapedit::drawFeatures()

(xs <- get_xs_points(mapedit_points, 100))

bbox <- sf::st_bbox(xs) + c(-0.005, -0.005, 0.005, 0.005)

nhdplusTools::plot_nhdplus(bbox = bbox)
plot(sf::st_transform(sf::st_geometry(xs), 3857), pch = ".", add = TRUE, col = "red")
plot(sf::st_transform(sf::st_geometry(mapedit_points), 3857), add = TRUE)

plot(xs$distance_m, xs$elevation_m)

# or
xs <- group_by(xs, group) %>%
      mutate(pct_drop = (head(elevation_m, n = 1)-tail(elevation_m, n = 1))/(tail(distance_m, n = 1)-head(distance_m, n = 1))) %>%
      ungroup()

m1 <- resourceviz::google_map(mapedit_points, zoom = 14) +
  geom_sf(data = xs, aes(color = pct_drop*100), inherit.aes = F) +
  scale_color_gradientn(colors = hcl.colors(n = 6, palette = 'RdBu')) +
  labs(color = 'Drop %') +
  resourceviz::custom_theme(map_void = 4)

g1 <- xs %>% st_drop_geometry() %>%
  ggplot(aes(distance_m, elevation_m, color = pct_drop*100)) +
  geom_point() +
  geom_line() +
  scale_color_gradientn(colors = hcl.colors(n = 6, palette = 'RdBu')) +
  labs(x = 'Distance (m)', y = 'Elevation (m)', color = 'Drop %') +
  resourceviz::custom_theme()

(m1|g1) + plot_layout(guides = 'collect')

This is cool! I kind of wonder if it's an abuse of the service though? heh @cheginit or @rmcd-mscb do you think this would be a good standalone service we could put up? I'm happy to bring this into nhdplusTools if it seems reasonable to use the service like this.

Already have a start on that here: https://code.usgs.gov/wma/nhgf/toolsteam/nldi-xstool/-/blob/main/src/nldi_xstool/nldi_xstool.py#L34

@rmcd-mscb -- do you think you want to wrap your get_elev_along_path() in a web service?
I'm thinking the best path here is to write what is currently a wrapper around get_xs_points() in nhdplusTools and plan on switching out the back end of that function for this elevation along a path use case when it's ready.
Thoughts?

How about we take the new signature you have and create a very lightweight wrapper with this code?
Call it get_elev_along_path() ?

OK -- so @joshualerickson -- do you want to refactor this into a new function or should I take that up?

Hey @dblodgett-usgs either way is fine with me. I’d like to help out for sure and can work on tomorrow but might make more sense (style) and totally understand if you want to take that up! Regardless, thanks for taking the time and getting it to this point 😁. I think it will be a nice addition for users!

If you have time, go for it -- I don't think much code actually needs to be rewritten, just refactor into a caller function that does the point unpacking and iteration.
I may have time tonight, but if you saw the issues I opened last night, I've got a bit of work to do on the package otherwise.

I'll take a stab at it today. So, get_elev_along_path() as it's own stand-alone function and then refactor the iteration and point stuff, sounds good 👍

Hey @dblodgett-usgs just added the get_elev_along_path() function to the PR. Should be good but let me know if this isn't what you were thinking of doing? Thanks.


Implement protection against sharing offensive content

[ ] Reporting enabled from user
[ ] Moderation of video and Image (https://docs.aws.amazon.com/rekognition/latest/dg/moderation.html)
[ ] Remove users who post offensive content frequently

more description needed

@shelcia  I would like to contribute to this repo.
plz assign me this issue .
Thankyou!!


Quick fixup to make the module useful again.

I feel that we actually need a TypeScript remake and a proper cleanup.
But this should do for now 👍🏻
Fixes #3.

Feel free to land it when the CI is happy :-)

Ahahahaha that is a good one 🤔 will investigate.
But will also need permissions nudging up 😅

Fixed the permissions :-)

Thanks as always, will see what i can do 👍🏻

I can't see the CI for this, but is there any idea of when this will get merged? 🙏

Technically it could be merged now, just the CI being a bit funky.
But there is another issue that i'm trying to resolve relating to releasing the update on the registry.

Ahh okay, where is the CI? I can't see github actions running on this PR? 🤔

Pretty much binned them until i was sure of things actually working but they will run again soon.
Chances are the browser tests might be thrown out and replaced with nothing or an updated alternative.

Going to push this up, do a release and fix the GH Actions at a later time.
Only real issue though is getting the package updated and released properly on the main NPM Registry.


Handle new album post

After last update of instagram (more photos into one post), scraper fail during take post.
Eg. in https://www.instagram.com/acmilanlive/media/ the first item is a new album post, but type is video and scraper fail here:
if ($instance->type === 'video') {
       if (isset($mediaArray['video_views'])) {
           $instance->videoViews = $mediaArray['video_views'];
        }
        $instance->videoLowResolutionUrl = $mediaArray['videos']['low_resolution']['url'];
        $instance->videoStandardResolutionUrl = $mediaArray['videos']['standard_resolution']['url'];
        $instance->videoLowBandwidthUrl = $mediaArray['videos']['low_bandwidth']['url'];
}

Someone know a valid solution/new url?

Same problem with official API

@fabianoroberto
Thank you for PR.
Let's wait for some time, maybe Instagram will fix it soon

how handle "carousel" types? if i get images of user, i see megias with types "carousel", but i can see only first image in album. Can you handle this moment in docs?

I see now there use a new type
"type": "carousel",
and related field:
"carousel_media": []

I added a pull request #134 to implement this feature.


Update installation docs with guidance on how to patch controller-manager resource requests for prod deployments

What would you like to be added:
For production deployments the JobSet controller manager resource requests and limits should be configured to align with the specific infrastructure it will be deployed on.
We should add guidance in the installation docs showing the user how to patch the deployment resource requests/limits for prod deployments: https://kubernetes.io/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch/#use-a-strategic-merge-patch-to-update-a-deployment
Why is this needed:
We need to lower the default resource requests to address a widespread usability issue users encounter when trying out JobSet for the first time and getting confused when they can't create JobSets after installing the CRD (controller manager pod stays pending due to not fitting on default cloud VM nodes). However, for production deployments users should not rely on the defaults and should patch them to be optimized for their prod deployment infrastructure.

I think the doc should be more about how to use kustomize to deploy to a cluster and change the resource/requests.
I don't think patching the deployment is the right approch.

Sure, Kustomize is fine as well

Ill take it.
/assign


Changed: Getting migration name from args

When you call  make migrate-create

Codecov Report

Merging #191 (0aca107) into master (fc1df94) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 0aca107 differs from pull request most recent head b2d97b1. Consider uploading reports for the commit b2d97b1 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff            @@
##            master      #191   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines           17        17
=========================================
  Hits            17        17

Flag
Coverage Δ

unittests
?

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


javascript access from godot not working

Godot version:
3.2.3
OS/device including version:
macbook pro and macos 10.15.6
Issue description:
I tried out the functionality described in this page:
https://docs.godotengine.org/pt_BR/stable/getting_started/workflow/export/exporting_for_web.html#calling-javascript-from-script
exported the test project to html5 and uploaded to a server and loaded the project over http it ran ok, but the key feature under test  (js execution ) did nothing
Steps to reproduce:

create a project that uses JavaScript.eval to run javascript code (e.g an alert)
export the project to html5
upload  exported  project to web server
open project in desktop browser (e.g. chrome)
expected outcome:
the javascript code executes.

actual outcome:
it doesn't - nothing happens.
example project to reproduce:
data_persistance.zip

Can you see any error messages in the browser console while trying to evaluate JavaScript code from GDScript?

I didn’t check the console (just saw no alert )
Jerome Mayeux
Sent from Polymail ( https://polymail.io/?utm_source=polymail&utm_medium=referral&utm_campaign=signature )
On Sun, 28 Mar 2021 at 21:22 Hugo Locurcio < Hugo Locurcio ( Hugo Locurcio @.***> ) > wrote:

Can you see any error messages in the browser console while trying to
evaluate JavaScript code from GDScript?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub (
https://github.com/godotengine/godot/issues/47444#issuecomment-808953650 )
, or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AQIJ2U6U2N2BQCLTQTEMJ43TF6MXZANCNFSM4Z6KHZ6A
).

Tried exporting of HTML5 code (Godot 3.2.3) not on macos, but on Windows 10.
But anyway:
the problem is most probably caused by the fact that in the example project, UI.TextEdit is two-liner (CR inserted, with 2nd line empty), so generated alert will not work in this situation. A text on only one line works well on the server for me...

thanks youre right that was the error not the eval implementation - my apologies!
though whilst it works for an alert eval has provided a dead end for themore useful task of persisting a high score ( it seems to disallow access to html5 localstorage e.g. Window.localStorage or Window.sessionStorage (perhaps  they are not available in a webassemply..? I don't know. )
Is that a separate defect or expected behaviour..?
Thx J.

Closing as this was an issue in the user code (causing invalid JS to be passed to eval).
I also suggest you have a look at the new Godot <-> JS interface which is simpler to use and less error prone.


A list of arguments?

I want to support an unknown number of parameters, but below doesn't seem to work:
@cast function f(xs::Int...)
    ...
end

Neither does this
@cast function f(xs::Vector{Int})
    ...
end

What's the correct way to achieve what I want?

Hm, I thought that this unknown number of parameters was fixed. It looks like IonCLI is doing this with a very strange syntax of
@cast function f(x::Int, xs::Int...) and then immediately doing join([x, xs], " ")
https://github.com/Roger-luo/IonCLI.jl/blob/d68eb1e06cb78a6b3a4b36d5b015e447826ce73b/src/project.jl#L43
I am using varargs in VirtualEnv.jl here (https://github.com/mehalter/VirtualEnv.jl/blob/03690e3db23c2428e52978350d1836e988081731/src/VirtualEnv.jl#L136) but I am not utilizing the @cast function since it just has an @main function, so I am unsure if there is a bug outside of that.
@Roger-luo is there a reason that you are separating out the first pkg from the other pkgs in IonCLI for the varags support?

I think there is potentially a bug.

@cast function f1(args...) works but eltype(args) is String
@cast function f2(args::String...) also works
@cast function f3(args::Int...) fails with MethodError: no method matching f3(::String, ::String, ::String)

Yes, this is indeed a bug. Should be fixed in #50
@mehalter It's not special syntax, add requires at least one argument.

but now I think I should check that inside the function since as a result that will cause help to print extra things.

Thanks!


All configured authentication methods failed

Expected Behavior
try to download some file.  It was working well before. It was OK  with version 1.3.9.
Actual Behavior
Now I have got an error: All configured authentication methods failed
Steps to Reproduce the Problem
1.When  the extension update to 1.4.0 automatically.
2.reload the window.
3.try download a file.
Requisites (important to diagnose the problem!)
Extension Logs
[info] config at d:\workspace\project_src\CPTS\staas_workspace\staas {"remotePath":"/home/lyra/workspace/staas","uploadOnSave":false,"downloadOnOpen":false,"syncMode":"update","ignore":["/.vscode/","/.git/","/.DS_Store",".gitignore","/third_part/","/bin/","/obj/","/pbobj/","/.o","staas.cbp","staas.depend","staas.layout","staas.sln","staas.user","staas.vcxproj","build.sh","staas.vcxproj.filters"],"watcher":{"files":"src/**/.cpp","autoUpload":false,"autoDelete":false},"concurrency":4,"protocol":"sftp","host":"<IP_ADDRESS>","port":22,"username":"","password":"","connectTimeout":10000,"privateKeyPath":"C:\Users\wWX444951\.ssh\id_rsa","interactiveAuth":false,"sshConfigPath":"~/.ssh/config","secure":false,"passive":false,"context":"d:\workspace\project_src\CPTS\staas_workspace\staas"}
[trace] execute download for d:\workspace\project_src\CPTS\staas_workspace\staas\pbsrc
[error] Error: [<IP_ADDRESS>]: All configured authentication methods failed
at Client.client.on.on.err (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\out\src\core\Client\SFTPClient.js:133:28)
at emitOne (events.js:121:20)
at Client.emit (events.js:211:7)
at tryNextAuth (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\node_modules\ssh2\lib\client.js:394:12)
at SSH2Stream.onUSERAUTH_FAILURE (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\node_modules\ssh2\lib\client.js:599:5)
at emitTwo (events.js:126:13)
at SSH2Stream.emit (events.js:214:7)
at parsePacket (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\node_modules\ssh2-streams\lib\ssh.js:3930:10)
at SSH2Stream._transform (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\node_modules\ssh2-streams\lib\ssh.js:671:13)
at SSH2Stream.Transform._read (_stream_transform.js:186:10)
at SSH2Stream._read (C:\Users\wWX444951.vscode\extensions\liximomo.sftp-1.4.0\node_modules\ssh2-streams\lib\ssh.js:253:15)
at SSH2Stream.Transform._write (_stream_transform.js:174:12)
at doWrite (_stream_writable.js:387:12)
at writeOrBuffer (_stream_writable.js:373:5)
at SSH2Stream.Writable.write (_stream_writable.js:290:11)
at Socket.ondata (_stream_readable.js:639:20)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)
at Socket.Readable.push (_stream_readable.js:208:10)
at TCP.onread (net.js:594:20)
Specifications

Version:  1.4.0
Platform: Windows 7

Please try debug-pacakge.

Fine, it works.

v1.4.1 has been published.


Add env_file for postgres container

When you run docker-compose up it gives the error:
postgres    | Error: Database is uninitialized and superuser password is not specified.
postgres    |        You must specify POSTGRES_PASSWORD to a non-empty value for the
postgres    |        superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".
postgres    |
postgres    |        You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
postgres    |        connections without a password. This is *not* recommended.
postgres    |
postgres    |        See PostgreSQL documentation about "trust":
postgres    |        https://www.postgresql.org/docs/current/auth-trust.html
postgres    | Error: Database is uninitialized and superuser password is not specified.
postgres    |        You must specify POSTGRES_PASSWORD to a non-empty value for the
postgres    |        superuser. For example, "-e POSTGRES_PASSWORD=password" on "docker run".
postgres    |
postgres    |        You may also use "POSTGRES_HOST_AUTH_METHOD=trust" to allow all
postgres    |        connections without a password. This is *not* recommended.
postgres    |
postgres    |        See PostgreSQL documentation about "trust":
postgres    |        https://www.postgresql.org/docs/current/auth-trust.html
postgres exited with code 1

I see the POSTGRES_PASSWORD var already exists in .env so I've added env_file to the postgres config so it can see these variables, the same as was done for mysql.

Infrastructure is going to be removed after example app improvement.


Update to latest API group for Ingress to support K8s 1.22+

Expected Behaviour

K8s < 1.22 and > 1.22 should work without changes.
Current Behaviour

Only < 1.22 is supported due to the API group being used going away.
List All Possible Solutions and Workarounds

Have an if statement based upon the kube API server version returned.
Steps to Reproduce (for bugs)

Create a new cluster with minikube or kind using 1.22
Deploy
Try to create FunctionIngress
See it fail

Context
Must fix to continue being used on latest K8s versions.

/add label: help wanted,good first issue

I can take care of this @alexellis

I'll look out for a PR @miguelhrocha - but If we don't see one within a week, or when users start having issues, we may need to jump in.
Let me know what kind of timeline you have in mind?

@LucasRoesler it seems we've had no motion on this and missed the release date, so could you put this onto your list, or find someone else to take up the task?
I liked the way you solved the problem for arkade by checking the capabilities of the API server instead of looking purely at the K8s API version.

@alexellis  can you clarify the scope you are expecting on this? I just looked at it and it seems like you are talking about adding an if-statement to the Controller so that it can work  with both the new networking/v1 and with the betav1 apis at the same time. This is not a trivial change, those return types are different, so every spot of the code that in anyway interacts, watches, or creates Ingresses will need some extensive refactoring. The first place this impacts is here
https://github.com/openfaas/ingress-operator/blob/6dcc233f2b722b74c8fef11cd7b91bab0fd8a782/pkg/controller/controller.go#L109-L110
or for example here https://github.com/openfaas/ingress-operator/blob/6dcc233f2b722b74c8fef11cd7b91bab0fd8a782/pkg/controller/controller.go#L268 where an ingress is returned. The typed client is going to return two different and incompatible types.
Further, i noticed that the project is using the 0.17.0 client, so this also requires an upgrade of client-go to at least 0.19.0, just to have access to the networking v1 API.
There might be a way to try and deal with this via interfaces ... but I am not really sure it is possible or potentially even a good idea. It will be complex code. Alternatively you could try deal with the untyped API instead, but again, it is going to be messy.
There is also a code-generator module pinned at 0.17.0, which may also need to be updated. I am not sure if it is impacted by this in anyway https://kubernetes.io/docs/reference/using-api/deprecation-guide/#customresourcedefinition-v122

The dependencies can be updated to 1.19
But if we don't have the if statement, then we will prevent people using Kubernetes 1.18 and lower from using this component.
A bit of context from the ingress-nginx project:
https://github.com/kubernetes/ingress-nginx/pull/7156

@alexellis i am not willing to personally take on support for this, i totally understand that it means dropping support for k8s < 1.19, but this project is often used with nginx-ingress has already done this, so my initial feeling is that unless you see significant new features coming to ingress-operator, it is easier to feeze support for k8s < 1.19 with ingress-operator <= 0.6.7.
At install, we can toggle the version in the helm chart based on the cluster capabilities

Minimum supported versions:
GKE = 1.17
AWS EKS = 1.16
What to do?


chore(project): update required Node version and project dependencies

What does this PR do?

Updates all the project dependencies to their latest versions.
Makes the Node required version > 8.10, in order to be able to install webpack-contrib packages latest versions.

How should it be tested manually?
yarn test
# or
npm test

Pull Request Test Coverage Report for Build 259

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

Totals

Change from base Build 257:
0.0%

Covered Lines:
604

Relevant Lines:
604

💛  - Coveralls


Request/Suggestion for Multiple File handling Enhancements

Hello, I'm a github newbie and have only taken a couple of Python classes so if this is in the wrong place or out of line please forgive me.  I think I have 2 ideas that would make this code even more useful than in already is and probably wouldn't take to much more effort for someone as skilled as you.
For the sake of brevity I'm simply say that I've got over 12k in short clips I'm working with (less than 30 seconds each) and that's the context of what I'm looking at this code with.
Here's are my suggestions:
1.) Building in a loop to go through a folder of video files.  With my minimal skills I think I could put this together but I think it could help in this main code too.
2.) Have the option to have the code rename the original video file with the first X number of characters from the sub folder file, substituting spaces with underscores.   This is more complex than #1 above, but for those of us dealing with large camera dumps of video files and sorting through lots of video files like I am it would be a lifesaver.  This would really be pushing my limits in programming to figure out.
With these two enhancements I think you'd have quite the script.  It wouldn't be aimed at your original target but the potential audience is much larger.  I don't know if you have any interest in including these features but I wanted to suggest them and see what your thoughts are.
Regardless I may take a swipe at this and see if I can hack something together to get it to work over the next couple of weeks.
Thanks for sharing your work!

@mygithubaccount12 I know this is about a year old, but did you ever find or put together what you talk about above?  I could surely use this feature

@mygithubaccount12 I know this is about a year old, but did you ever find or put together what you talk about above? I could surely use this feature

The features he said can be done by bash but not the program itself. I mean it's unnecessary for autosub to do them. These are just some document processing jobs.

@jboldin, I ended up taking the non-automated approach on this.  I found someone who would work for fairly cheap from home and label all the files manually.  Now that my Python skills have improved a lot I agree with @BingLingGroup my original posting was about a lot of document processing.  While probably unnecessary for it to be built in it sure would have made my life a lot easier at the time.


Error on Report 10411 Check (Stub/Check/Stub) when converted to AL

Describe the bug
Error on Report 10411 Check (Stub/Check/Stub) when converted to AL
Microsoft Dynamics NAV
The SourceExpr for report control 'PrnChkCheckAmountText_CheckStyle__US_' is not valid. The following error occurred: Index out of bounds.
OK
To Reproduce
Convert the check to AL and publish it. Try to print a report from the payments journal
Expected behavior
Print the check
Screenshots
If applicable, add screenshots to help explain your problem.
Versions:

AL Langauge: 0.12.28462

Business Central: US Dynamics NAV 11.0 (24232)

Hi @andrecavalcanti! Thank you for reporting this issue! As this repo is only for issues related to the latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

If you file the bug in Collaborate, remember to include steps to reproduce the issue, and the Business Central build number and country version you're using. Here's a link to Collaborate: https://developer.microsoft.com/en-us/dashboard/collaborate/engagements/1173/feedback/wits/Bugs/create.


Logout regulary not working in Chrome (location.href change is cancled).

When I try to logout, very regulary, Chrome will cancel the document.location change to redirect to the endsession function of my identity server. I made a code fix, where I will delay the change in a timeout by half a second. That seems to fix the problem permanently. I will push a pull request shortly.

Hmm... I guess that will not be so easy, to get an working example up and running. This behaviour is pretty erratic. Most of the time, the first call to logout() doesn't work, but the second one will. Sometimes, it doesn't do anything. When looking at the chrome debug console, I see, that the document location change was initiated, but cancled by chrome, hence the backend identity server did not receive the logout command. The delayed call, using the timeout, seems to remedy this issue. I'm not very deep into angular, but what kind of side effects do you see that could happen, by using the timout construct?

Yeah, that sucks if you have a hard to reproduce issue.
However, without it it's really impossible for others to know and test whether the PR fixes things. Nor can we investigate any alternative solutions that possibly tackle the actual root cause (which might well be in the application code, not the library).
The timeout construct is dangerous, because then there's 500ms where an application keeps running and doing stuff even though the user already requested to be logged out. Basically you make a synchronous call asynchronous, and delay it by a decent amount, which is a pretty hefty breaking change.
If it helps you fix your erratic behavior then I'd say go for it and create a custom build of the lib with that workaround. But for a more permanent solution, I'd still say a repro allowing for root cause analysis is needed.

Going to close the issue for now, let us know if you have a minimal repro and we can reopen the issue!


validation failed if model is multiple multiple times

Hi i have just tested your widget and everything works as expected in the test mode with test mode sitekey.
With the normal siteKeys (so in real usage conditions) i have the problem that the model is validated multiple times.
$model->validate() is called multiple times because it is a multi model form and in several external traits from other extensions.
Therefore validate is called directly in the controller and then again in the save() function.
example call in my controller:

if ($model->load(Yii::$app->request->post()) && $model->validate() && $model->save()) {

And because of this multiple validate call the validation fails.
Couldn't there be some sort of timeout added or some setting that that the validation was already successful?
So it validation for the reCaptcha attribute isn't done again a second time?
Edit:
I have solved this issue by validating by a behavior where i can check if the validation was already done or not for the current request.

https://github.com/himiklab/yii2-recaptcha-widget/commit/c900ad07f801d3b8d850d3259aa2cc51be6d9132


[Serverless] Prevent the lamda extension from sending empty log messages

What does this PR do?
AWS is sometimes sending empty logs to Lambda extension :

Since there is no need to send those empty logs message to Datadog, this PR checks for empty messages and discard them + Unit testing
Motivation
No need for empty logs message
Describe how to test your changes
I've release a v88 lambda extension on sa-east-1 and inspect what is sent to datadog -> no more empty logs are sent

Let's set the base branch of this PR to the temporary release branch release/lambda-extension-v8 before merging.

Did we figure out where these "empty" log messages are coming from/why they are being sent?

My understanding is that they come from here

Since if I add one more extension, I have 2 more empty log messages which makes 4 (two for each extension added)

No docs review necessary


Add drop-down item for AWS GovCloud

The data is already being populated as far as I can tell. We just need a drop-down entry to fix it.
You have to manually edit the URL currently.
See: https://www.ec2instances.info/?region=us-gov-west-1&cost_duration=monthly&selected=m4.2xlarge
Fixes: https://github.com/powdahound/ec2instances.info/issues/194

ty!


Better request preprocessing

This improves the preprocessing for data and params in asyncprawcore.Session.request().

Pull Request Test Coverage Report for Build 41714ca71ad0ed4a41c4b771008c33e48d97d9d3-PR-14

27 of 27 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 61db5e715a61f52123e12d474e92cd7ee964417c:
0.0%

Covered Lines:
386

Relevant Lines:
386

💛  - Coveralls

Pull Request Test Coverage Report for Build 41714ca71ad0ed4a41c4b771008c33e48d97d9d3-PR-14

27 of 27 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 61db5e715a61f52123e12d474e92cd7ee964417c:
0.0%

Covered Lines:
386

Relevant Lines:
386

💛  - Coveralls


Migrate google analytics tracking code

This is the current recommendation from google for modern browsers – see https://developers.google.com/analytics/devguides/collection/analyticsjs/#alternative_async_tracking_snippet
It does the same as before, just with a slight performance boost.
In addition, I suggest adding the IP anonymization, which does give google a bit less data but is a small plus on the privacy front. Its also more or less required to google analytics integrations in Germany.

ga('set', 'anonymizeIp', true);

Source https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization
Please say if I can add this as well.

Is the broken build related to this change? I cannot see how it could be …
https://travis-ci.org/openstreetmap/iD/jobs/527459072
    at Function.Module.runMain (module.js:694:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>dist:min: `uglifyjs dist/iD.js -c warnings=false -m -o dist/iD.min.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dist:min script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dist script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>all script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!
Your build has been stopped.

  Honestly all these analytics things should just be removed.   I doubt anyone has even looked at them in 5 years.

I ended up just removing Google Analytics in ff1eea43a


copy_empty_like() sometimes copies instructions.

Environment

Qiskit version: 1.3.0
Python version: 3.12.5
Operating system: MacOS

What is happening?
QuantumCircuit.copy_empty_like() copies RealAmplitudes instruction to the clone.
How can we reproduce the issue?
>>> from qiskit.circuit.library import RealAmplitudes
>>> circuit = RealAmplitudes(num_qubits=2, reps=2)
>>> circuit.draw()
     ┌────────────────────────────────────────────────┐
q_0: ┤0                                               ├
     │  RealAmplitudes(θ[0],θ[1],θ[2],θ[3],θ[4],θ[5]) │
q_1: ┤1                                               ├
     └────────────────────────────────────────────────┘
>>> circuit.copy_empty_like().draw()
     ┌────────────────────────────────────────────────┐
q_0: ┤0                                               ├
     │  RealAmplitudes(θ[0],θ[1],θ[2],θ[3],θ[4],θ[5]) │
q_1: ┤1                                               ├
     └────────────────────────────────────────────────┘
>>> circuit.copy_empty_like() == circuit
True
>>>

What should happen?
The copy should not have a gate
Any suggestions?
No response

This is because RealAmplitudes is a BlueprintCircuit, whose data model is entirely broken.  This is a large reason why we're moving away from QuantumCircuit subclasses in the circuit library.
Honestly, I'm not even sure how we can reasonably fix this.  I suspect it might need to be that BlueprintCircuit.copy_empty_like manually constructs a new QuantumCircuit (not the BlueprintCircuit subclass) with the right metadata, because anything else will not return an empty circuit, because how the circuit library currently uses QuantumCircuit subclasses is basically completely incompatible with the concept of copy_empty_like.

I think returning a  QuantumCircuit instead of the BlueprintCircuit object that will reconstruct it's ._data automatically on access of the copy makes the most sense. It is what I would expect based on the definition of copy_empty_like(). That approach is arguably a breaking api change, although a bit of grey area because we didn't document a specialized version of the method for BlueprintCircuit classes and the QuantumCircuit.copy_empty_like docs just say it returns a QuantumCircuit object. Although I know that's more just an artifact of our docs configuration and not actual intent. Luckily as long as we don't intend to backport this change our next release is 2.0 and I feel it's totally fine to change there. Although I hope @Cryoris was planning to remove all the BlueprintCircuit stuff for 2.0 which would solve this too.
Just for the record too, this bug existed prior to 1.3.0, I was worried that something we changed around copy_empty_like() in 1.3.0 caused a regression for BlueprintCircuit But this behavior has been there since at least Qiskit 1.0 and I suspect much longer.

Yeah I agree that BlueprintCircuit.copy_empty_like should just return an empty circuit. I guess most users are not aware that these objects are BlueprintCircuits and how these work, so the anticipation would be just a plain, empty QuantumCircuit.

Although I hope @Cryoris was planning to remove all the BlueprintCircuit stuff for 2.0 which would solve this too.

I was hoping this too, but this depends: do we want to keep the "old way" of the circuit library around for all of 2.0? Sure we could change the RealAmplitudes & co objects to be QuantumCircuits instead of BlueprintCircuits but then we'd have to deprecate the BlueprintCircuit-specific methods and change the handling of these circuits -- so if we keep them around, maybe the best course of action is to leave them as is for 2.0?


Cannot compile Loader

I'm having problems compiling the SNES Loader.  It says it can't find or load the main class.  (org.gradle.wrapper.GradleWrapperMain"

Oops, I missing checking in the Gradle .jar file.  Update and try again.
In the current state I believe master will build for Ghidra version 9.0.4 and earlier, but not version 9.1.x
Pull request #1 updates the code for version 9.1.2 -- you should be able to apply that branch on top of master (delete the .classpath and .project files when they conflict).

Now I get this error:
> Task :compileJava FAILED
D:\Downloads\ghidra-snes-loader-master\SnesLoader\src\main\java\snesloader\HiRomLoader.java:5: error: cannot access Option
import ghidra.app.util.Option;
                      ^
  bad class file: D:\Ghidra\Ghidra\Features\Base\lib\Base.jar(ghidra/app/util/Option.class)
    class file has wrong version 55.0, should be 52.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':compileJava'.
> Compilation failed; see the compiler error output for details.

What version of Ghidra are you using?

9.1.2
On Thu, Oct 29, 2020 at 4:36 PM achan1989<EMAIL_ADDRESS>wrote:

What version of Ghidra are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/achan1989/ghidra-snes-loader/issues/3#issuecomment-719038465,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBYUYMYQAI4UUXYNN6XQJTSNHN6HANCNFSM4S5W4GAA
.

Are you doing the plain command-line build, or trying to use Eclipse?
If I do a clean checkout and do a plain command-line build with Ghidra 9.1.2 on Linux it just works.

I've tried both the Powershell and Command Prompt on Windows 10.

Based on this I wonder if the build is using the wrong version of Java.  The Ghidra installation guide says it requires Java 11.
If you run gradlew.bat -v it will tell you which version of the JVM it is using.  I'd imagine that any 11.x is ok (mine says 11.0.9).

I can't compile it.  Do you mind making a release file?

I'll give it a go; tomorrow or over the weekend.

Ok, thanks.
On Thu, Oct 29, 2020 at 5:35 PM achan1989<EMAIL_ADDRESS>wrote:

I'll give it a go; tomorrow or over the weekend.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/achan1989/ghidra-snes-loader/issues/3#issuecomment-719062438,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBYUYOBWULX3QIJ2HRRCKDSNHUZLANCNFSM4S5W4GAA
.

I got it to compile by leaving the quotes off the Ghidra directory.  Now Ghidra says it supports SNES ROMs, but every one I open only seems to allow Raw Binary.  Is there something I'm doing wrong?

It's a two part setup.
First, make sure the SNES loader extension is installed.  Once you've built it, there should be a file in the SnesLoader/dist directory.  Copy the ghidra_9.1.2_PUBLIC_20201029_SnesLoader.zip file into <ghidra-install-dir>/Extensions/Ghidra, then run Ghidra and activate the extension via File --> Install Extensions...
Second, you also need to install the 65816 processor module.  Code and installations instructions are in https://github.com/achan1989/ghidra-65816
Then restart Ghidra.  If everything is set up ok, you should see "SNES ROM" as an available format when you try to import a ROM.  Then set the language (65816 should be the only option) and you should be good to go.
I'll warn you that these tools are not polished, and will probably not do what you want them to out of the box.  The processor module is kinda ok, but has problems with switching processor modes automatically.  The loader is hard coded for one specific ROM format (possibly for one specific game), and I can't remember if that's even correct and complete.  Be prepared to change the loader code.

Ok, thank you.
On Sun, Nov 1, 2020 at 6:53 AM achan1989<EMAIL_ADDRESS>wrote:

It's a two part setup.
First, make sure the SNES loader extension is installed. Once you've built
it, there should be a file in the SnesLoader/dist directory. Copy the
ghidra_9.1.2_PUBLIC_20201029_SnesLoader.zip file into
/Extensions/Ghidra, then run Ghidra and activate the
extension via File --> Install Extensions...
Second, you also need to install the 65816 processor module. Code and
installations instructions are in
https://github.com/achan1989/ghidra-65816
Then restart Ghidra. If everything is set up ok, you should see "SNES ROM"
as an available format when you try to import a ROM. Then set the language
(65816 should be the only option) and you should be good to go.
I'll warn you that these tools are not polished, and will probably not do
what you want them to out of the box. The processor module is kinda ok, but
has problems with switching processor modes automatically. The loader is
hard coded for one specific ROM format (possibly for one specific game),
and I can't remember if that's even correct and complete. Be prepared to
change the loader code.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/achan1989/ghidra-snes-loader/issues/3#issuecomment-720083544,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACBYUYJ6HZGR42GQUZ7LLITSNVK3BANCNFSM4S5W4GAA
.

I'm having issues compiling the plugin with Ghidra 9.2.2.  The method in the readme doesn't work.


REQ: option to turn off Puli in http-php/discovery

I noticed that after installing sentry that I started getting multiple exceptions on every request related to the http-php/discovery checking for multiple classes to use. After looking into the issue it seems that they check for a plugin (puli/composer-plugin) that is no longer maintained and just allow the exceptions to be thrown before checking for other classes that are installed.
In one of the issues on their package, they mentioned just using the static function setStrategies to remove the class related to Puli. Would it be possible to add an option to remove Puli from the strategies that http-php/discovery uses?
Something like the following worked in my testing, but I'm not sure familiar enough with sentry-php yet so I just thought I'd check before writing a PR. Any thoughts? Thanks.
$strategies = [
    \Http\Discovery\Strategy\PuliBetaStrategy::class,
    \Http\Discovery\Strategy\CommonClassesStrategy::class,
    \Http\Discovery\Strategy\CommonPsr17ClassesStrategy::class,
];
if ($options['disable_puli']) {
    $strategies = array_slice($strategies, 1);
}
\Http\Discovery\ClassDiscovery::setStrategies($strategies);

First of all I would like to apologize for not replying before. Let me say that adding such option is not something I'm willing to do simply because in my opinion as a library we should not have options to change the behavior of a third party vendor. Calling the ClassDiscovery::setStrategies method in your own code is enough to fix the issue.

I noticed that after installing sentry that I started getting multiple exceptions on every request related to the http-php/discovery checking for multiple classes to use.

I'm unable to reproduce the issue locally. The exception is thrown and catched and only if the ClassDiscovery class cannot find any suitable implementation of what it's looking for the exception is rethrown. Are you sure you have the minimum set of required packages for the SDK to work installed? Have you tried instead requiring in your composer.json sentry/sdk if you don't want to bother chosing such dependencies?

No worries, thanks for getting back to me. Sorry I should have clarified earlier that I am actually using sentry-laravel. Due to how the configuration from sentry-laravel is passed down to sentry-php, I couldn't find a way to do this within sentry-laravel and since the package is bootstrapped at the beginning of the app creation I can't use the setStrategies method myself.
I also can't install the required dependency, puli/composer-plugin, since it is no longer supported and is incompatible with the current version of symfony/process. I'm happy to just fork sentry-laravel and make it work, but I thought I'd see if you had a better suggestion. Thanks again for your time and help.

Mmm, since the method is static and is not part of a service you should be able to call it before the bootstrap of the application in some places. I don't Laravel, but @stayallive should be able to help you

Mmm, since the method is static and is not part of a service you should be able to call it before the bootstrap of the application in some place. I don't know Laravel, but @stayallive should be able to help you

@shawnheide you should be able to call the setStrategies from the register method of any service provider. We should only load Sentry and thus do the class discovery in the boot period of the service providers (register is first).
So if you do the setStrategies call in the register method of for example your AppServiceProvider you should be good 👍
If not it would be helpful to get you composer.json so I can try to reproduce and see how we should get around it, but I think the above should work out.

@stayallive I thought I had tried that, but I guess not because it definitely works. Thanks for all the help.

@shawnheide great to hear! No problem at all, thanks for letting us know it works 👍


add gpt-3.5-turbo-instruct model option

Describe the feature
https://openai.com/blog/gpt-3-5-turbo-fine-tuning-and-api-updates
https://platform.openai.com/docs/models/gpt-3-5

More generally, would be preferable if all currently available versions were automatically offered.

This is now available in the model selection


fix: retain semver symbols on snapshot update

Previously, this rule would update semver to "8.10.0" on solidarity snapshot, rather than the expected "~8.10.0".
"Node": [
      {
        "rule": "cli",
        "binary": "node",
        "semver": "~8.9.4",
     }
]

Windows tests seem unrelated.


Allow connecting bank inline

Fixes
Issue Number: closes #2231
testing on https://salt.odysee.com

Didn't manage to review this today.
From a glance, this will cause major conflict with Paid Content.  If we plan to ship that first, this PR would need to wait a bit.

beaebae5ffd7c3780fba187645e0849ff6cf3ece also added on new place that asks to connect a bank account


fix: allow creation of duplicate service instances in different environments

Purpose
This PR addresses the issue mentioned in #834.
The BadRequest error was due to the service instances being read by their name after its creation. Thus the provider was unable to distinguish between two instances with the same name (although in different environments).
A change was made to read the instances by their ID instead, which is a unique identifier which resolves the above mentioned issue.
Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[ ] Feature
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

How to Test

Test the code via automated test

go test ./...

What to Check
Verify that the following are valid:

Automated tests are executed successfully

Checklist for reviewer

The following organizational tasks must be completed before merging this PR:

[ ] The PR is assigned to the Terraform project and a status is set (typically "in review").
[ ] The PR has the matching labels assigned to it.
[ ] The PR has a milestone assigned to it.
[ ] If the PR closes an issue, the issue is referenced.
[ ] Possible follow-up items are created and linked.

Fixes #834


There are some problems in MUMT.py

Thanks for your contribution, this helped me a lot. And when I read the code, I have the following confusions.
In MUMT.py
what is the meaning of APP?
what is the meaning of ‘cu’? Is it the cost of uploading? What does 100/(8 *self.N) stand for?
Here you define CUL, but it is not used in the entire program.
Looking forward to your reply. Thanks

Thanks for your comments. We have updated MUMT.py and included more comments. To answer your questions:

what is the meaning of APP?
A: The number of CPU cycles per bit required to complete a task/application, which depends on specific applications. In fact, some tasks/applications may require more CPU cycles. Although 'self.APP' is a fixed parameter here, the program is compatible with various applications.

what is the meaning of ‘cu’? Is it the cost of uploading?
A: 'self.cu' is the uploading speed.

What does 100/(8 *self.N) stand for? Here you define CUL, but it is not used in the entire program.
A: Here the '100' is the value of 'self.CUL'. We have updated the code.

Thank you very much


Update pre-commit hooks, change lockfile to use uv pip compile

uv is much faster and thus more appropriate for a mandatory commit hook.
NB: setuptools is now in the lockfile, because uv does not have a "unsafe package exclusion" facility.

Can you also update hack/lock-deps.sh, please, @nicholasjng?

So codecov fails the pipeline every time code is deleted from the repo because of the percentage changes? ¯\_(ツ)_/¯

So codecov fails the pipeline every time code is deleted from the repo because of the percentage changes? ¯_(ツ)_/¯

It's set up to prevent PRs with decreasing coverage atm. It seems that coverage actually went down in errors.py: https://app.codecov.io/gh/aai-institute/lakefs-spec/pull/278/blob/src/lakefs_spec/errors.py

It seems that one of the dependency updates might have made that else branch obsolete.

I've configured Codecov to allow PRs that decrease coverage by 1% at most in 0f7b811050fb4caf1b85954984bfb8667ea1f94d.
As discussed on Slack, the check in errors.py is still valid for older versions of the lakeFS SDK that don't include the fix in https://github.com/treeverse/lakeFS/pull/7697.


add sinope RM3500ZB fingerprint

@aguilbault-Sinope looks like you'll need to rebase in order for the invitation link to generate correctly. There's an error in the version of the repo your PR was based off of preventing the driver upload from succeeding.


dmdtask: Support more than MARC 245$a when extracting "label" field

MARC 245 - Title Statement
We currently only use: $a - Title
Looking at the documentation, I suspect "abc" would be more appropriate.
Unlike with #68, this is a change in the metadata loader and thus encoding only needs to conform to the updated MAP when the loader is used (new records, updates, etc). There is no need to evaluate all records already loaded.

Note that the "label" field being discussed is the IIIF Presentation API label field as encoded in Access Objects in the access CouchDB database.
This is information extracted from the metadata record at the time the record is loaded.
This IIIF field is then used by CAP in specific places (the title with the HTML, the first line after the image is shown, etc)

\crkn-nas\wip_Metadata_Synchronised\analysis\MARC245lists has CSV files to look at to see how labels will look like if the same data was re-loaded.
There is also a more-than-abc.csv file which shows records with values in other fields.
For most of the rows it is a $h value, except for some MARC for ooe.* which has $p ,$6, $n, $f.


fix iterator_type::value_type error

#355 reported that range-v3 ranges failed due to an errant & in the
iterator_type

looks great, merged!


PubSub does not work in the browser

Following: https://github.com/ipfs/js-ipfs-api/pull/493#issuecomment-268603853

PubSub will be unavailable as a browser API until https://github.com/ipfs/http-api-spec/issues/116 happens.

Update on this thread:
We currently have PubSub disabled on the browser as a way to prevent misunderstanding how the cancellation of the API works. Unfortunately, due to what is noted in -- https://github.com/ipfs/js-ipfs-api/pull/493#issuecomment-268603853 -- we simply can't cancel requests as go-ipfs expects in the browser. However, it seems to me that removing support for it entirely is not the optimal solution, as for a lot of use cases, only a few amount of PubSub channels will be open from a client, keeping the maintenance of those at bare minimum.
Proposal: enable PubSub and be explicit that cancels aren't actually being canceled, just silenced.

Just curious, why cancellation does not work?

I think we should enable PubSub on client and document cancelation issue.

I've found and ultra-hacky workaround to cancel fetch requests without XHR here ( https://github.com/Morantron/poor-mans-cancelable-fetch ).
The whole idea is to make requests in a seperate WebWorker, and sending a signal to the worker to terminate itself, which also aborts the request :trollface:
Eventually fetch requests will be able to be aborted ( https://github.com/whatwg/fetch/issues/447 ), but the final API hasn't been decided yet.
I know it's super hackish, but if it works :tm: , it can serve as workaround until fetch requests are abortable.

Great hack! I like it!

Oh wow! @Morantron wanna submit a PR with that feature? Can you make sure to add a check to see if the browser has WebWorker support?

@diasdavid Sure! I'm gonna see if I can turn the hack into some kind of FetchController polyfill, and then make the needed changes in js-ipfs-api.
Looks like IE11 does not support fetch, so I guess PubSub won't work given that XHR does not play well with http streams.

Hey, all, hate to ask a potentially obvious (and stupid) question.....but why not just use standard XHR which is cancellable? Believe me, I support the fetch standard and I love what it provides, but if we aren't using a service worker to intercept requests or anything like that, the main difference comes down to error handling.
XHR requests are cancellable and would solve the issue until the fetch standard includes true cancellable requests. The other alternative to this to cancel requests on the client side would be to run a service worker, and have the service worker respond to the request with a 400 Cancelled or something like that when a cancellation is requested. (Basically, you're manually sending a response to an initiated HTTP request to terminate it early.)

@jedd-ahyoung xhr is not streamable, pubsub/subscribe is a stream. We need to use something like fetch or make this endpoint available Websockets.

Yes, why not websockets? Or dataframes from WebRTC?

This is not a decision at the level of this client library, it is rather at the http-api spec level. Moving to a complete RPC API where WebSockets is used as a transport has been proposed: https://github.com/ipfs/http-api-spec/issues/116

Update
The decision on this one is to either do:
a) Enable PubSub and fake subscriptions - https://github.com/ipfs/js-ipfs-api/issues/518#issuecomment-298729383
b) Use WebWorkers to cancel subscriptions - https://github.com/ipfs/js-ipfs-api/issues/518#issuecomment-302868838
Either is fine as a first iteration.

It's important to notice that Edge 16 and Firefox 57 now can cancel fetch requests by using AbortController and AbortSignal. But Chrome still doesn't support this API...

Seems Chrome has done some work on it, last patch from February 5th this year https://bugs.chromium.org/p/chromium/issues/detail?id=750599
WebKit, no status yet: https://bugs.webkit.org/show_bug.cgi?id=174980

According to https://developer.mozilla.org/en-US/docs/Web/API/AbortController#Browser_compatibility most browsers now work with AbortController (except IE, shocker)

Hi, I'm new to the ipfs community and impressed by the all works done so far.
I find the PubSub functionality very interesting and which it be work in browsers too.
Here are my findings. Maybe I'm totally off the track, please let me know if anything is wrong.
In my understanding, the problem here is that we can't cancel requests in browser by the code bellow.
https://github.com/ipfs/js-ipfs-api/blob/master/src/pubsub.js#L94
But, as @nunofmn suggest if we can use AbortController, we can cancel the fetch.
Since js-ipfs-api uses stream-http as http, aborting function should be implemented using it's API. When looking at the code of the stream-http library, abort() to the client request is implemented at v2.7.2. Thus, required version of stream-http by package.json, v2.8.3, should already have this API. Looks like just calling abort() to the request object is enough(=same as node).
So, isn't this mean we can use same codebase as node to get this "cancellable fetch" working in the browser? I'd love to test my idea but I'm not sure how to do so yet, so just posting comment. Hope this helps.

This sounds reasonable to me @shunkino - I'd ❤ to see a proposal PR 😄

I've made a change to the /src/pubsub.js according to my findings above. But something is still wrong, and I was debugging that these few days. Unfortunately, I'm stack now and need help...
I modified the pubsub.js as below. It's basically adding condition to detect whether the browser have the AbortController functionality.
https://gist.github.com/shunkino/baf26def13aca1ae6949d3ff1e0f939b
Modified version seems to work properly inside browser, but failing the test in interface-ipfs-core.
    .pubsub.publish
      ✓ should error on string messags
      ✓ should publish message from buffer (42ms)
      ✓ should publish 10 times within time limit (251ms)
    .pubsub.subscribe
      single node
        1) should subscribe to one topic
        2) should subscribe to one topic (promised)
        3) should subscribe to one topic with options
        4) should subscribe to one topic with options (promised)
        5) should subscribe to topic multiple times with different handlers
        6) should allow discover option to be passed
      multiple connected nodes
        ✓ should receive messages from a different node (77ms)
        7) "after each" hook for "should receive messages from a different node"
    .pubsub.unsubscribe
      8) should subscribe and unsubscribe 10 times
    .pubsub.peers
      ✓ should not error when not subscribed to a topic (51ms)
      9) should not return extra peers
      10) should return peers for a topic - one peer
      11) should return peers for a topic - multiple peers
    .pubsub.ls
      ✓ should return an empty list when no topics are subscribed (14ms)
      12) should return a list with 1 subscribed topic
      13) should return a list with 3 subscribed topics

To identify why the test is failing, I created the small app based on the example.
(I deployed the test app to /ipfs/Qme1GWMpHuErWGcGXbF7NsDBNKB5yMsT8sSeRP3s8wopQ1/ 😜 You can debug it inside browser. Click testFunction button to test.)
Looks like callback here is not called.
Furthermore, Inside the unsubscribe(), callback given to the eos() was not called. I don't know anything about end-of-stream and once library it depends. Also it was difficult to dig deeper so I'm stack here now.
Suspicious factors:

Event emitting from stream-http, readable-stream
Function wrapper in eos(), once library

Same function worked perfectly in node.js. Any comment and advice are welcome, thank you.

I just noticed on my Firefox (Quantum 61.0.2 64bit on macOS) the code worked...
Maybe there's some browser dependent code causing above mentioned problem.

Is there a way to enable pubsub locally?

any updates here?

@whyrusleeping

@shunkino did you happen to make a PR with your progress?


Change in position of ROI line

Hi, I have question if I change the position of ROI line for camera whose resolution is 1280*720 and the co-ordinate of ROI line is this (1280,360). So in order to bring these changes in how many places do I have to make changes ?

Update the "250" with your case to detect and count the cars, and also update the ROI drawing part to visualize the detection on ROI line by making it green when cars are passing.
Actually, this should be parametric but I need to perform code clean up for all of the codes to make the project more readable and more robust. However, I have not enough time to do it, it is in progress :)


Implement SAML 2.0 protocol support

https://github.com/anvilresearch/connect/issues/137

Whether or not we wait for https://github.com/bergie/passport-saml/pull/113 largely depends on whether or not multiple AttributeStatements generally exist in SAML 2.0 responses for the majority of our users who intend to use SAML.

@vsimonian I think we should probably go ahead and merge this and release, then update when the passport-saml update is released. But first, I want to shake it down with my local setup. Mind doing a walkthrough on the setup + code review? I can make time later today or some time tomorrow.

@vsimonian can you explain what providerInfo, providerNames, and visibileProviders is all about?
https://github.com/anvilresearch/connect/pull/245/files#diff-6d4018922cfaa7ff5385670907dccb09R18

Also, are you able to resolve the conflicts on your end? Now that https://github.com/bergie/passport-saml/pull/113 is merged, I want go ahead and merge/release this...

providerInfo, providerNames, and visibleProviders are different locals expected by the sign-in view, that were missing from this code, thus breaking the sign-in view rendering when it went down this code path. Elsewhere, they already exist. providerInfo is the provider definition information keyed by provider ID, providerNames is a list of provider IDs, and visibleProviders contains only providers not marked as hidden.
Hopefully conflicts should be resolved by now.

@vsimonian good catch on the missing state. What's the purpose of hidden providers? This must be something you added when working on LDAP/AD, etc? I don't recall writing that code...

Hidden providers was implemented for the CLI, allowing the password provider to be always enabled but not visible to allow authority users to continue to sign in for server administration.

Know of a SAML service that's easy to integrate with for testing before I merge?

http://stubidp.kentor.se should be the easiest to work with; you have complete control over the entire set of SAML claims that gets returned.

@vsimonian mind writing up documentation for using this in a PR on connect-docs?

Verified. Still needs docs.


SAK-41982 - Instructor view switch view select box

I used the advice on WebAIM  and created a separate button to trigger this.

Closing this as a11y team thinks there's a better way to do this and someone else can give it a shot.


Can you please add targetSdkVersion

Google Play requires that apps target API level 26 or higher

Those who are getting error like this

please go into the node_modules/react-native-testfairy/android/build.gradle and change the minimum sdk version form 23 to 26

Ask and ye shall receive. v2.18.2. Sorry about the long wait, totally my fault.


Module not working

Hey, not sure if I'm doing something wrong but I can't get the spell points to work even after disabling every other module.
I can enable the module and check the box to turn it on, but no changes appear on my spellcasters' sheets.
Any ideas? Should I try something else? I'm fairly new to Foundry. I have 20 active modules currently.
I'm using dnd5e 2.1.5, and I have the most up to date version of this module.
Thanks a bunch!

Did you created the spell point resource?
please read https://github.com/misthero/dnd5e-spellpoints/blob/main/README.md

Yes. I created the resources on all of the PCs character sheets

I see you have 0 spellpoints, fill that resource (or level up if you are using the automatic calculation) and cast a spell that would use a spell slot. You should see the spell point resource decreasing.

I will try that when I get home and let you know!
On Fri, Mar 17, 2023 at 10:48 AM Luca T. @.***> wrote:

I see you have 0 spellpoints, fill that resource (or level up if you are
using the automatic calculation) and cast a spell that would use a spell
slot. You should see the spell point resource decreasing.
—
Reply to this email directly, view it on GitHub
https://github.com/misthero/dnd5e-spellpoints/issues/47#issuecomment-1474041502,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6P57ALJINFDNPIUAKW2T7DW4SBVLANCNFSM6AAAAAAV3IRDEU
.
You are receiving this because you authored the thread.Message ID:
@.***>

This worked. Thanks a bunch


Zathura throws critical error, yet runs fine, but is not configurable

Describe the bug
My main problem is, that I can not configure zathura.
E.g. typing :set inputbar-bg white has no effect.
I think this is related to zathura throwing an critical error
on startup:
** (org.pwmt.zathura:15581): CRITICAL **: 16:15:44.641: girara_template_set_variable_value: assertion 'value != NULL' failed
Steps To Reproduce
This is a (not yet minimal but shrinked down) configuration.nix under which the bug appears:
#configuration.nix;
{ config, pkgs, ... }:
{
	imports =
		[ # Include the results of the hardware scan.
		  ./hardware-configuration.nix
		  ./vim.nix
		];

	# Bootloader.
	boot.loader.grub.enable = true;
	boot.loader.grub.device = "/dev/sda";
	boot.loader.grub.useOSProber = true;

	networking.hostName = "nixos"; # Define your hostname.

	# Enable networking
	networking.networkmanager.enable = true;

	# Set your time zone.
	time.timeZone = "Europe/Berlin";

	# Select internationalisation properties.
	i18n.defaultLocale = "en_US.utf8";

	i18n.extraLocaleSettings =
	{
		LC_ADDRESS = "de_DE.utf8";
		LC_IDENTIFICATION = "de_DE.utf8";
		LC_MEASUREMENT = "de_DE.utf8";
		LC_MONETARY = "de_DE.utf8";
		LC_NAME = "de_DE.utf8";
		LC_NUMERIC = "de_DE.utf8";
		LC_PAPER = "de_DE.utf8";
		LC_TELEPHONE = "de_DE.utf8";
		LC_TIME = "de_DE.utf8";
	};

	# Configure console keymap
	console.keyMap = "de";

	# Define a user account. Don't forget to set a password with ‘passwd’.
	users.users.user =
	{
		isNormalUser = true;
		description = "user";
		#add user to audio group for audio support:
		extraGroups = [ "networkmanager" "wheel" "audio"];
		packages = with pkgs; [];
	};

	# Allow unfree packages
	nixpkgs.config.allowUnfree = true;

	# List packages installed in system profile.
Expected behavior
I don't want zathura to throw a critical error
and zathura should be configurable.
Additional context
Add any other context about the problem here.
Notify maintainers
@ierton @globin @TethysSvensson
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.78, NixOS, 22.05 (Quokka), 22.05.4093.cb8d3fe07d3`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-22.05"`
 - channels(lino): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Is this issue still present? I tried testing it using zathura from both the master and nixos-22.11 branches, but I couldn't replicate any of the problems. Neither did a critical error occur nor was I unable to change the color of the input bar.

I could resolve the error a few days ago.
It was due to the line
set font 16
in my zathurarc. It expected a string like "monospace 16".
I will still report the fact that an unexpected command causes a critical error upstream (to pwmt).
Thank you.


Publish load test image for labeld PRs

I want to merge this change because...

Impact

[ ] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations

Docs

[ ] Link to documentation:

Pull Request Checklist

[ ] Privileged queries and mutations are either absent or guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migrations are either absent or optimized for zero downtime
[ ] The changes are covered by test cases
[ ] All new fields/inputs/mutations have proper labels added (ADDED_IN_X, PREVIEW_FEATURE, etc.)
[ ] All migrations have proper dependencies
[ ] All indexes are added concurrently in migrations
[ ] All RunSql and RunPython migrations have revert option defined

Once this is done we should also update the instruction for running load tests to explain how to use it.

Could you provide a short description of those changes 🙏


AppConfig.generate_help

Currently, one can print help calling `environ.generate_help(AppConfig).
Is it worth to extend PR #2 and beside AppConfig.from_environ provide also AppConfig.generate_help?

PR #7 created.
To resolve (rare but possible) situation, that given class methods clashes with intended configuration class attributes, I added parameters allowing to rename the methods or prevent their creation completely (using "" or None).
environ.config(from_environ="fr_env", generate_help="gen_hlp")

This has been fixed by #7


[DRAFT] [BIOMAGE-1102] Add code coverage

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-1102
Link to staging deployment URL
Links to any Pull Requests related to this
Anything else the reviewers should know about the changes here
Changes
Code changes
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@f2617af). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #393   +/-   ##
==========================================
  Coverage           ?   54.14%
==========================================
  Files              ?      129
  Lines              ?     4037
  Branches           ?      783
==========================================
  Hits               ?     2186
  Misses             ?     1836
  Partials           ?       15

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 f2617af...1a2762b. Read the comment docs.


Adding Virtual/Physical Memory Cursors to improve inter-operability with other libraries.

Adding 2 new wrapper structures for Vritual/Memory operations that implement Seek/Read/Write and can be used similar to this:
let cursor = VirtualMemoryCursor::new(process.virt_mem())`
cursor.Seek(...);
cursor.Read(...);

A basic implementation of PhysicalMemoryCursor and VirtualMemoryCursor is added now. One future expansion here would be to "utilize" the write's flush operation to do batched writes eventually.


Where is Apple Design System?

Hi.
I don't know what is the name of Apple Design System but i don't find anything named Apple on the page.
Please let me know if exists, otherwise please add it to the list.
Thanks.

+1

yesss get this featured https://developer.apple.com/design/

Great shout, will get this added in now!

Nice job @alexpate, thanks.


Fix compatibility issues with "input()" in python2

override input with raw_input if in python2

Current coverage is 84.83% (diff: 0.00%)

Merging #62 into master will decrease coverage by 0.30%

@@             master        #62   diff @@
==========================================
  Files            19         19
  Lines           565        567     +2
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            481        481
- Misses           84         86     +2
  Partials          0          0

Powered by Codecov. Last update ab95ce2...48f1519

Thanks!


modified grpc_endpoint vtable and implementations

This pull request adds a get_local_address() function to the grpc_endpoint API. The newly implemented grpc_endpoint_get_local_address() returns a std::string containing a URI representation of the local address for a grpc_endpoint connection.This functionality is analogous to the existing function grpc_endpoint_get_peer(), which returns the URI of the peer address for a grpc_endpoint socket. In addition to adding get_local_address() to the grpc_endpoint vtable and appropriately changing all existing endpoint implementations, this pull request changes the return type of grpc_endpoint_get_peer() to be std::string instead of char*.

Thank you for the review. I have made changes to address these issues.

Thanks for the review. The merge conflict should be fixed now. I added a constructor for grpc_tcp in tcp_posix.cc to prevent tcp_zerocopy_send_ctx from being initialized twice (and thus leaking memory) when using new in grpc_tcp_create.

Thank you for the review. I have squashed all my changes to one commit.


Cropping according to a custom shape, like a polygon or hexagon

How do i use the Crop function to crop a custom shape, instead of rectangle

My solutions was creating a mask from a context, thanks guys great library.

can you please share how you cropped it?

Here is an example code:
var frameMask image.Image

frameMask, _ = gg.LoadPNG("./assets/mask.png")

dc := gg.NewContext(100, 100)

dc2 := gg.NewContextForImage(frameMask)

mask := dc2.AsMask()
dc.SetMask(mask)
dc.DrawImage(YOUR_IMAGE, 0, 0)
dc.ResetClip()

// Here you should have the image cropped in the `dc` context

thankyou so much


Package request: Nitroshare

Project description
A cross-platform network file transfer application.
It's a simple file transfer app with Linux support.
And the only app I'm missing on NixOS.
Metadata

homepage URL: https://nitroshare.net
source URL: https://github.com/nitroshare/nitroshare-desktop
license: MIT
platforms: Linux, Darwin & Windows

It hasn't had a release in 7 years, is this really safe for a network-connected app? Any reason more maintained options like syncthing don't work for you?

@eclairevoyant I'll admit I didn't even realise this! I guess I'll just switch to warpinator. Turns out it has an Android version! Closing this.


[Optional Feature] Staticman support

Resolves #3 and #8.  This is basically a minimised port of Beautiful Hugo's native Staticman support.  I'm not expert in CSS, so I'll leave the that for any interested user(s).
Demo site on GitLab
Staticman now supports GitLab at https://vincenttam.gitlab.io/er-demo
Quick guide to test this pull request
If you're using a theme as a Git submodule (as recommended in Hugo's official tutorial), you may create a new (local/GitLab/etc) (private) repo for this theme and run these commands to get this PR merged against a testing branch staticman in the private repo.  I denote the URL of this repo as the upstream.
$ git remote -v
upstream	https://github.com/lingxz/er.git (fetch)
upstream	https://github.com/lingxz/er.git (push)
... # other remote omitted
$ git checkout -b staticman # test on a new branch staticman
$ git fetch upstream pull/9/head # git pull will be rejected
$ git merge FETCH_HEAD # manually merge the this PR against branch staticman
$ cd <your-blog>
... # edit your .gitmodules with url="<repo-containing-staticman>" and branch = "staticman"
$ git submodule sync # inform Git the changes in .gitmodules
$ git submodule update --remote --recursive # switch to the HEAD of your cloned repo for the theme

Hi @VincentTam, thanks, great work! I really like that you included a guide to test pout this branch as well, I think this will be really helpful for people who are looking to put in a comments block in their blog 👍

Setup Staticman for Hugo blog 2018

Go to Settings → Collaborators and add @staticmanlab as a collaborator.

N.B. On GitLab, the procedure is similar, but the next step can be omitted.

Open the following link so that @staticmanlab can accept your invitation.
https://staticman3.herokuapp.com/v3/github/connect/{username}/{repo-name}

N.B. It's reported that the public API instance https://api.staticman.net in eduardoboucas/staticman#227.

Edit config.toml.  Change master to gh-pages if your project page is hosted on the gh-pages branch.
[Params.staticman]
  api = "https://staticman3.herokuapp.com/v3/entry/gitlab/{username}/{repo-name}/master/comments"
#[Params.staticman.recaptcha]
  #sitekey = # "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
  #secret = # "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="

The settings for reCAPTCHA is optional.  Encrypt your site secret with
https://staticman3.herokuapp.com/v3/encrypt/{site-secret}

Edit staticman.yml so that the branch matches the branch on which your site is hosted, and that the reCAPTCHA parameters match those in your config.
comments:
  allowedFields: ["name", "email", "website", "comment", "replyThread", "replyName", "replyID"]
  branch            : "master"
  reCaptcha:
    enabled: false
    siteKey: # "6LeGeTgUAAAAAAqVrfTwox1kJQFdWl-mLzKasV0v"
    secret:  # "hsGjWtWHR4HK4pT7cUsWTArJdZDxxE2pkdg/ArwCguqYQrhuubjj3RS9C5qa8xu4cx/Y9EwHwAMEeXPCZbLR9eW1K9LshissvNcYFfC/b8KKb4deH4V1+oqJEk/JcoK6jp6Rr2nZV4rjDP9M7nunC3WR5UGwMIYb8kKhur9pAic="


[MINOR] Avoid returning null in defaultUserApps when quota file does't config user

What changes were proposed in this pull request?
map.getOrDefault() => map.computeIfAbsent()
Why are the changes needed?
If do not define the user and app num  in the quota configuration file, it will appear that the defaultUserApps does not have the corresponding app number for this user, because we did not include the quotaAppNum in the defaultUserApps.
before :
The log from coordinator is [ERROR] 2023-03-28 19:24:11,18 Grpc-260 AccessAppQuotaChecker check - Denied by AccessAppQuotaChecker => User: xxxx, current app num is: 3, default app num is: null.
after :
The log from coordinator is [ERROR] 2023-03-31 14:32:21,228 Grpc-240 AccessAppQuotaChecker check - Denied by AccessAppQuotaChecker => User: xxxx, current app num is: 3, default app num is: 3.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Origin uts.

Codecov Report

Merging #786 (af1dcfc) into master (ea5a3ba) will increase coverage by 1.45%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #786      +/-   ##
============================================
+ Coverage     57.86%   59.31%   +1.45%
  Complexity     2028     2028
============================================
  Files           298      284      -14
  Lines         14520    12554    -1966
  Branches       1185     1185
============================================
- Hits           8402     7447     -955
+ Misses         5643     4690     -953
+ Partials        475      417      -58

Impacted Files
Coverage Δ

...a/org/apache/uniffle/coordinator/QuotaManager.java
84.41% <100.00%> (ø)

... and 17 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

cc @jerqi @zuston @leixm  Not a big change. Thanks :-)

LGTM. I hadn't noticed this difference between getOrDefault and computeIfAbsent before

Thanks @smallzhongfeng Merged.

Thanks for your review! @zuston

@smallzhongfeng There is a fix. It should be merged to branch 0.7. But there is conflicts with branch 0.7. Could you raise a pr to branch 0.7?


why the 2nd  "strat_train_set"told me "_LocIndexer' object has no attribute 'drop'?

for set_ in (strat_train_set,strat_test_set):
set_.drop(["income_cat"],axis=1,inplace=True)
but when I run it, It told me
AttributeError                            Traceback (most recent call last)
 in ()
1 for set_ in (strat_train_set,strat_test_set):
----> 2     set_.drop(["income_cat"],axis=1,inplace=True)
AttributeError: '_LocIndexer' object has no attribute 'drop'
thank you!

sorry ,my fault.
strat_train_set=housing.loc[train_index]
if : strat_train_set=housing.loc(train_index)
then wrong


[sqlite3] Build error

Host Environment

OS:  Windows
Compiler: revision

To Reproduce
Steps to reproduce the behavior:
./vcpkg install xxxx
cd ..
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg
clear
.\bootstrap-vcpkg.bat
.\vcpkg integrate install
.\vcpkg search sqlite3
.\vcpkg install sqlite3
Failure logs
error: building sqlite3:x86-windows failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+sqlite3
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[sqlite3]+Build+error
Include '[sqlite3] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
vcpkg-tool version: 2023-03-14-105f7f7e8a5ea10dfac9874ff9d1a6bacba5f454
vcpkg-scripts version: e249dfb52 2023-03-20 (19 hours ago)

Additional context
PS C:\src\vcpkg> .\bootstrap-vcpkg.bat
Downloading https://github.com/microsoft/vcpkg-tool/releases/download/2023-03-14/vcpkg.exe -> C:\src\vcpkg\vcpkg.exe... done.
Validating signature... done.
Telemetry
vcpkg collects usage data in order to help us improve your experience.
The data collected by Microsoft is anonymous.
You can opt-out of telemetry by re-running the bootstrap-vcpkg script with -disableMetrics,
passing --disable-metrics to vcpkg on the command line,
or by setting the VCPKG_DISABLE_METRICS environment variable.
Read more about vcpkg telemetry at docs/about/privacy.md

Please attach the log files (Out of curiosity is there a reason why you haven't done that?)

Even when I try to install other package I get the error :
error: building boost-build:x64-windows failed with: BUILD_FAILED
error: Please ensure you're using the latest port files with git pull and vcpkg update.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+boost-build
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[boost-build]+Build+error
Include '[boost-build] Build error' in your bug report title, the following version information in your bug description, and attach any relevant failure logs from above.
vcpkg-tool version: 2023-03-14-105f7f7e8a5ea10dfac9874ff9d1a6bacba5f454
vcpkg-scripts version: e249dfb52 2023-03-20 (20 hours ago)

You have to install an windows SDK

@mitiops Thanks for posting this issue. Please make sure you have the following installed.

Visual Studio English Language Pack.
Visual Studio Desktop development with C++.
Windows 10 SDK or Windows 11 SDK.

Hello, thank you for helping me. Here I put you in screenshot what I installed, I think I have installed everything.

@mitiops Did you try again ./vcpkg install sqlite3:x64-windows after you installed？

yes still the same problem unfortunately

I'm still stck ...
config-x86-windows-dbg-CMakeCache.txt.log
config-x86-windows-rel-CMakeCache.txt.log

Sorry, one more thing to confirm. Did you install this component?

it is installed fine, i found this forum, do you think it is from registry editor ?  https://developercommunity.visualstudio.com/t/resource-compiler-rcexe-is-not-recognized-as-an-in/1676970

According to your log, your component has been broken. 🤔
-- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.35.32215/bin/Hostx64/x86/cl.exe - broken

How to fix it...? I uninstalled and reinstalled VS at least 3 times.

Ah, I see. Visual Studio Installer was silently failing to install the Windows SDK because of some dirty registry keys from older versions that were essentially marking it as already installed, when it really wasn't.
You can use removed them usingmsiexec /x {guid}. The guid can be found in the Windows SDK installation logs.
The best way is manually install Win SDK using the administrator permission.

It's good my problem is solved thank you I can see sqlite3 which is downloading without error but now when I try to use the packages on Visual Studio, Visual Studio does not find them...

Yes it was indeed an administrative access problem with the registry editor. My problem is solved thank you!


Error in  ensure_connection(...)

When we try a websocket write, ensure_connection(...) is called, which calls setup_connection() without an argument
https://github.com/SimonDanisch/Bonito.jl/blob/1a6083e84a660cc50e25bcd13349e3106cffcc7f/js_dependencies/Websocket.js#L22
However it looks like the config argument is actually required
https://github.com/SimonDanisch/Bonito.jl/blob/1a6083e84a660cc50e25bcd13349e3106cffcc7f/js_dependencies/Websocket.js#L159

Okay I managed to trigger this like so:
using HTTP
using Bonito: App
using Bonito.DOM
using Makie
#using WGLMakie

function main()
    # start a blocking server
    HTTP.listen() do http::HTTP.Stream
        HTTP.setstatus(http, 200)
        HTTP.startwrite(http)
        if http.message.target == "/fragment"
            app = App() do
                DOM.div("hi!")
            end
            io = IOBuffer()
            show(io, "text/html", app)
            body = take!(io)
            write(http, body)
        else
            write(http, "")
            write(http, "


Add "Validating an Atlases Source Study List" as a doc to the help and docs section

The google doc is here
https://docs.google.com/document/d/1a8jqmF5T9awAT55t3ZbTsajLBoKmnOjwkb0s-7vI5XA/edit?tab=t.0#heading=h.ll0jzrtdyuy7

remove the other empty guide pages.
Add this as the first real guide. Feel free to fix any text or re-take the screen shots.

Complete


fix: script changes necessary due to Mafia changes

my_path_id() has been deprecated and emits a warning message.
modifier is no longer an allowed variable name

All fixed.


docker php curl reads from hosts /etc/hosts file

Description of problem:
i have followed the following tutorial http://fabiorehm.com/blog/2014/09/11/running-gui-apps-with-docker/   in order to run firefox through the container.
The only difference is that we use centos 6.6  to create the image.
So. I  have created a docker image based on centos 6.6 with lamp stack installed.
In order to create a container i need to docker run  with  --net=host command.
Lets assume that exists a website  example.com with ip  <IP_ADDRESS> developed in php.
The container's vhost.conf is configured  like this:
<VirtualHost *:80>
     ServerName  example.com
     ServerAlias *.example.com
     DocumentRoot /var/www/html/example.com/
</VirtualHost>

And the containers /etc/hosts
<IP_ADDRESS>   example.com

so the container knows that the ip of example.com is <IP_ADDRESS>
The hosts /etc/hosts  has commended that line,
#<IP_ADDRESS>   example.com

so the host  knows that the ip of example.com is <IP_ADDRESS>
I then try to navigate to example.com through  the containers firefox, and the  php code of <IP_ADDRESS> is executed correctly.
I then try to navigate to example.com through  host's  firefox, and the  php code of  <IP_ADDRESS>
is executed correctly.
The problem occurs when i write a php script that is executed from the container and tries  to curl  example.com.
If so, example.com is resolved according to host's /etc/hosts and not the containers /etc/hosts.
I understand that php's curl makes some dns queries, but shouldn't  these resolve according to container's /etc/hosts?
Output of docker version:
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 2
 Running: 2
 Paused: 0
 Stopped: 0
Images: 14
Server Version: 1.10.3
Storage Driver: aufs
 Root Dir: /media/it/More_Space/docker/aufs
 Backing Filesystem: extfs
 Dirs: 33
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: bridge null host
Kernel Version: 3.13.0-83-generic
Operating System: Ubuntu 14.04.4 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 7.684 GiB
Name: it-HP-Pro-3500-Series
ID: 7DLR:EEAD:NY7J:TQZX:BW6H:OH7P:NMMD:CYMZ:DZME:SWYL:RP4E:VQG7
WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
Steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):

This isn't a bug in docker, but the way cURL and PHP using cURL works; see http://stackoverflow.com/questions/9276114/php-curl-doesnt-see-the-etc-hosts-file and http://stackoverflow.com/a/10218482/1811501