Explorer still starts DND operation even if disabled

Testing: #36990
Steps:

disable DND "explorer.enableDragAndDrop": false
open explorer
start dragging a file
drop it somewhere

Observe: nothing happens (which is somehow correct). But if DND is disable I shouldn't be able to initiate a DND operation.

I am not convinced we should disable DND entirely, I think what people are mainly complaining about is accidentally moving a file or folder within the explorer but that does not mean they do not want to e.g. move a file into the editor area to open it in a specific tab location or to the side.

The setting description is also clear around this: Controls if the editor should allow to move selections via drag and drop


Why this lib need to depend on c++20 spec?

Will it possible to depend on c++11 to achive easier adoption?

yes please, add option  to using the fmt library


Login is not remembered

When logging in with email on macOS the login is not remembered when SoundCleod starts the next time.

I can't log in with my gmail account at all.
I go Sign In -> Continue with Google -> Choose an account -> I click on my account -> Nothing, back to 'Continue with Google

This seems fixed when we bump to electron 8 (#193). Works for me at least..

@salomvary , @szalaiit can you both try with latest master and see if its fixed?

Seems to be fixed now.


Fix #760 by making administrator_login & administrator_password optional for connection details

Description of your changes
As described in #760 disabling password auth (only enabling azure ad) results in a panic as no credential details are available. Within this PR checks are introduced which verify the existence of username/password and only then add it to the credential details.
As general "inspiration" I oriented the change on how it's done for MSSQL: https://github.com/crossplane-contrib/provider-upjet-azure/blob/main/config/sql/config.go#L39

Fixes #760
I have:

[x] Read and followed Crossplane's contribution process.
[] Run make reviewable to ensure this PR is ready for review. <- I somehow didn't get that command running. But I doubt it's because of my code changes..
[] Added backport release-x.y labels to auto-backport this PR if necessary. <- Not too sure. I need input from the maintainers if it makes sense to backport?

How has this code been tested
I run the fixed provider within my cluster with the example MR as described in the bug report. With the applied changes, the panic is not appearing and the .status of the FlexibleServer MR is updated when creating with disabled password auth.

/test-examples="examples/dbforpostgresql/v1beta2/flexibleserver.yaml"

Hey @niiku, many thanks for your effort and interest here, we appreciate it.

I could be mistaken, but this does not seem to be related to my changes at all.

Yes, this is not related to the change you made, the e2e test of the current version of the resource seems to be unverified. Dependent resources need to be checked and selectors need to be adjusted.

@turkenf Thanks a lot for your answer! I could have a look at the e2e tests. As far as I understood the code base, there aren't that many unit tests done for config.go - so I wanted to get some input how to best "bake in" the use case I added in form of tests. Might you guide me if you rather would like to see unit tests (as this might be well testable on this level) and/or have an e2e for this case as well?

@jeanduplessis @turkenf I think i might have fixed the e2e as simply the privat dns name wasn't set correctly. Could you let them run again?

/test-examples="examples/dbforpostgresql/v1beta2/flexibleserver.yaml"

Hey @niiku, I have manually checked the resource's examples/dbforpostgresql/v1beta2/flexibleserver.yaml YAML file except for the changes you have made so far and I think the following changes are considerable:

We have an uptest.upbound.io/timeout annotation that we use in e2e tests, we use this annotation when the creation and deletion of the resource takes over 20 minutes. When I look at the Terraform documentation, I think it would be useful to add the annotation uptest.upbound.io/timeout: "3600", this gives us 1 hour for testing.
As an example: https://github.com/crossplane-contrib/provider-upjet-azure/blob/0a511b8f5330fc8a8dec7dea0c76e2ef4e16ffcc/examples/dbforpostgresql/v1beta1/virtualnetworkrule.yaml#L10

It would be logical to remove the spec.forProvider.zone field of the FlexibleServer resource since it is optional, so it will automatically be assigned to the available zone.

/test-examples="examples/dbforpostgresql/v1beta2/flexibleserver.yaml"

I added the following changes:

Added autoGeneratePassword because of

2024-06-12T07:56:29.1795017Z     logger.go:42: 07:56:29 | case/0-apply |       message: 'create failed: async create failed: failed to create the resource:
2024-06-12T07:56:29.1796616Z     logger.go:42: 07:56:29 | case/0-apply |         [***0 `administrator_password` is required when `create_mode` is `Default` and
2024-06-12T07:56:29.1798019Z     logger.go:42: 07:56:29 | case/0-apply |         `authentication.password_auth_enabled` is set to `true`  []***]'

Removed the zone to allow better distribution
Updated PostgreSQL version to 16 as it's latest

I would not recommend to increase the timeout - as this setup should be provisioned in like ~10min - so 30min as timeout is sufficient - if it takes longer it just delays the time until we get feedback from the e2e tests.
Could you run the e2e tests again?

/test-examples="examples/dbforpostgresql/v1beta2/flexibleserver.yaml"

/test-examples="examples/dbforpostgresql/v1beta2/flexibleserver.yaml"


Mixed scalar and vector observations

Some of the environments (e.g. domain_name='quadruped', task_name='run') have mixed scalar and vector observations. For example, env.observation_spec()['torso_upright'].shape == () and env.observation_spec()['torso_velocity'].shape == (3, ). This is a bit confusing since certain operations like np.concatenate require all the inputs to be of the same shape and thus some manual handling needs to happen for scalar fields to reshape then into shape (1, ).
Is having scalar observations with shape () intentional? Would you accept a PR that converts all the scalar observations to be of shape (1, ) within the environments? Or maybe a reasonable solution would be to provide a wrapper that reshapes all the desired fields into vectors?

Hi Kristian,
Firstly, were you aware of the flat_observation kwarg to control.Environment? If you set this to True (e.g. suite.load('cartpole', 'balance', environment_kwargs={'flat_observation': True}) then the environment will return observations that have been flattened and concatenated into a single 1D vector. I suspect that might be what you're looking for.
Secondly, if you want to do your own thing in terms of concatenation you can use np.hstack in place of np.concatenate, which will deal gracefully with mixed sequences of 1D arrays  and scalars.
I'm a bit reluctant to change the default shapes of the observation arrays since we have quite a lot of existing code that depends on the current observation shapes.

Hey @alimuldal,
Thanks for the quick reply. I am actually aware of the flat observation, but that doesn't fully work in my case since I preferable store the observations on the algorithms side as dictionaries. After thinking of this again, maybe this is more of a defect on our side rather than in dm_control.

Secondly, if you want to do your own thing in terms of concatenation you can use np.hstack in place of np.concatenate, which will deal gracefully with mixed sequences of 1D arrays and scalars.

Neat, I did not know this. Thanks for the tip!
I'll close this for now.


Unclear how to determine allowed methods per URL, so hard to make a 405

When a URL exists, but does not support a particular method (e.g. DELETE) the correct response is to return an HTTP 405 response code. Routes doesn't make this immediately easy. By default a mapping that does not match just returns None with no indication that it was because of a failed condition after an initial path match. So what I've had to come up with is something like the following test, which seems cumbersome. Is there a better way?
from routes import Mapper, middleware

def test_405():
    map = Mapper()
    map.connect(
        '/controller/{id}', action='get_handler',
        conditions=dict(method=['GET', 'HEAD']))
    map.connect('/controller/{id}', action='post_handler',
        conditions=dict(method=['POST']))
    map.connect('/controller/{id}', action='405_handler')

    environ = {
        'PATH_INFO': '/controller/cow',
        'REQUEST_METHOD': 'GET',
        'SERVER_NAME': 'example.com',
        'SERVER_PORT': '80',
        'wsgi.url_scheme': 'http',
    }

    result = map.match(environ=environ)
    assert result['action'] == 'get_handler'

    environ['REQUEST_METHOD'] = 'POST'
    result = map.match(environ=environ)
    assert result['action'] == 'post_handler'

    environ['REQUEST_METHOD'] = 'PUT'
    result = map.match(environ=environ)
    assert result['action'] == '405_handler'

    environ['PATH_INFO'] = '/missed/url'
    result = map.match(environ=environ)
    assert result is None

These leaves out the mechanism whereby the 405_handler would know which methods to put in the Allow header of the response it sends.

That's correct, it does not. In theory it could though, if it recorded the fact that a route did match, but then the method did not. I'd be open to a PR adding such a capability.

For reference the way I've ended up doing things is in the make_map() method in this file.
That's suitably explicit for my situation for now, but I'll keep thinking about a more general solution.

I think having a special match method, or toggle that returns detailed match info would make it possible to handle this case. ie, instead of None, it'd return a Match object with information on what routes matched, and what checks failed. This way you could examine the object and determine if it was just the method that failed to match and issue a 405.

I think having a special match method, or toggle that returns detailed match info would make it possible to handle this case. ie, instead of None, it'd return a Match object with information on what routes matched, and what checks failed. This way you could examine the object and determine if it was just the method that failed to match and issue a 405.

Closing due to inactivity.


[CI] Make E2E tests run in multiple JDK versions

closes #3608
should fail until e2e container PR is merged

/run e2e

/run e2e

As SkyAPMTest/e2e-container#5 merged, let's add JDK 11 and 12 to the test. Is the agent application running in these JDKs too?

Sounds good to me, which group in Jenkins job to add?

How about we keep all JDK related and reboot in group 1, and others are in group 2?

Two questions

Is the agent application running in these JDKs too?
I thought UI is not running? So don't know whether is it working? Am I right?

Two questions

Is the agent application running in these JDKs too?
If I remember correctly, at the first step of E2E, we designed to run all the components(OAP, agent, web app) in a single container, so they share the same JDK environment, so YES

I thought UI is not running? So don't know whether is it working? Am I right?
Do you mean web app? UI didn't depends on JDK I think

UI didn't depend, I mean webapp. Is it running in the tests? If yes, I think we have tested it. I remembered you said, it is not working back to several days ago.

UI didn't depend, I mean webapp. Is it running in the tests? If yes, I think we have tested it. I remembered you said, it is not working back to several days ago.

Confirmed, the web app is running in the tests


Reusing a session fails

Hi,
Is it normal that a session cannot be reused, say with two consecutive POST requests? I get a ValueError: Invalid file object: <_socket._socketobject object at 0x3> with test cases like the following that have multiple requests using the same session alias:
*** Settings ***
#
Library    Collections
Library    OperatingSystem
Library    RequestsLibrary

*** Test Cases ***
Post Requests
    [Tags]  post
    Create Session  httpbin  http://httpbin.org
    &{data}=  Create Dictionary  name=bulkan  surname=evcimen
    &{headers}=  Create Dictionary  Content-Type=application/x-www-form-urlencoded
    ${resp}=  Post Request  httpbin  /post  data=${data}  headers=${headers}
    ${resp}=  Post Request  httpbin  /post  data=${data}  headers=${headers}
    Dictionary Should Contain Value  ${resp.json()['form']}  bulkan
    Dictionary Should Contain Value  ${resp.json()['form']}  evcimen

If this is normal maybe some documentation could be added on how to manage session in test cases. Thanks!
PS: I'm on Jython in case that makes a difference.

@mvh77 I am not sure will this work on Jython, I will try to install on Jython on my machine, let you about changes https://wiki.python.org/jython/InstallationInstructions

It works fine without the second call, and it works if I create a second session with a different name for the second call.

Are you trying creating two sessions in single testcase? or in different approach, if possible could you share test code?

I need to do a PUT, a POST and a GET in the same test to the same server. Do I need 3 sessions?  Isn't CreateSession just an alias? It's not very well documented how it should be used. Should the example I gave you with two POSTs work or not?

Not required. Will update documentation about this issue


Cannot include images

Whenever i try to include an image in the template the server crashes due to ThreadError.
I'm trying to call this in show.docx.caracal:
docx.img project.thumbnail_url(:cv), width: 300, height: 300, align: :left
Where project.thumbnail_url(:cv) is http://localhost:3000/assets/cv_default-34ff320be9c011ccaef4b564c308a0518b07329df2f62055e00738f4593577fd.png (the file is delivered correctly)
Any idea why this might be happening?
Here is the error if i let the server time out:
Completed 500 Internal Server Error in 120097ms (ActiveRecord: 3.9ms)

ActionView::Template::Error (Net::ReadTimeout):
    1: docx.style do
    2:   id 'Normal'
    3:   name 'Normal'
    4:   font   'Calibri'
  app/views/cv_exports/show.docx.caracal:1:in `block in singleton class'
  app/views/cv_exports/show.docx.caracal:-2:in `instance_eval'
  app/views/cv_exports/show.docx.caracal:-2:in `singleton class'
  app/views/cv_exports/show.docx.caracal:-4:in `__tilt_70195351606480'
  app/views/cv_exports/show.docx.caracal:1:in `_app_views_cv_exports_show_docx_caracal___2175006984916252707_70195432268340'

  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/_source.erb (7.3ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/_trace.html.erb (2.6ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/_request_and_response.html.erb (0.9ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/actionpack-4.2.5/lib/action_dispatch/middleware/templates/rescues/template_error.html.erb within rescues/layout (73.9ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/_markup.html.erb (0.3ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/_inner_console_markup.html.erb within layouts/inlined_string (0.4ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/_prompt_box_markup.html.erb within layouts/inlined_string (0.4ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/style.css.erb within layouts/inlined_string (0.3ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/console.js.erb within layouts/javascript (61.0ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/main.js.erb within layouts/javascript (0.5ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/error_page.js.erb within layouts/javascript (0.4ms)
  Rendered /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/web-console-2.2.1/lib/web_console/templates/index.html.erb (129.1ms)

Started GET "/assets/cv_default-34ff320be9c011ccaef4b564c308a0518b07329df2f62055e00738f4593577fd.png" for ::1 at 2016-02-18 15:20:32 +0100

Started GET "/assets/cv_default-34ff320be9c011ccaef4b564c308a0518b07329df2f62055e00738f4593577fd.png" for ::1 at 2016-02-18 15:20:32 +0100
[2016-02-18 15:20:32] ERROR Errno::ECONNRESET: Connection reset by peer @ io_fillbuf - fd:18
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `eof?'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:80:in `run'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'

Here is my entire stack trace (after i manually kill the server):
  Rendered cv_exports/show.docx.caracal (2272.8ms)
Completed 401 Unauthorized in 2340ms (ActiveRecord: 13.2ms)
[2016-02-18 15:12:54] ERROR ThreadError: Attempt to unlock a mutex which is locked by another thread
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/lock.rb:22:in `unlock'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/lock.rb:22:in `ensure in call'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/lock.rb:23:in `call'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/content_length.rb:15:in `call'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:88:in `service'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:138:in `service'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/httpserver.rb:94:in `run'
	/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:294:in `block in start_thread'
/Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:48:in `shutdown': undefined method `shutdown' for nil:NilClass (NoMethodError)
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:280:in `block in start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:206:in `call'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:206:in `join'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:206:in `block (2 levels) in start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:206:in `each'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:206:in `block in start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:32:in `start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/webrick/server.rb:162:in `start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/handler/webrick.rb:34:in `run'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/rack-1.6.4/lib/rack/server.rb:286:in `start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/server.rb:80:in `start'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:80:in `block in server'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `tap'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:75:in `server'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/railties-4.2.5/lib/rails/commands.rb:17:in `<top (required)>'
	from /Users/ohenrik/Sites/menon_projects/bin/rails:9:in `require'
	from /Users/ohenrik/Sites/menon_projects/bin/rails:9:in `<top (required)>'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/client/rails.rb:28:in `load'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/client/rails.rb:28:in `call'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/client/command.rb:7:in `call'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/client.rb:28:in `run'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/bin/spring:49:in `<top (required)>'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/binstub.rb:11:in `load'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/gems/2.2.0/gems/spring-1.5.0/lib/spring/binstub.rb:11:in `<top (required)>'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /Users/ohenrik/.rbenv/versions/2.2.1/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
	from /Users/ohenrik/Sites/menon_projects/bin/spring:13:in `<top (required)>'
	from bin/rails:3:in `load'
	from bin/rails:3:in `<main>'
zlib(finalizer): the stream was freed prematurely.

I believe this is due to webrick running under a single process.  Because the file you're loading is also being served from your webrick server, my guess is you're getting a timeout on the image request (because webrick is locked trying to render the caracal page).

Yeah that did the trick. Used puma with 2 workers. However, why does this not happen when I'm rendering other templates? Is there a solution to this problem other than using multiple workers?

Cool.
No, there really isn't.  So, when Rails renders an image in an HTML page, all it's doing is formatting an img tag and adding a link to the image resource--like your other templates, all the rendering is internal to Rails.  It doesn't actually care what the image is.  The link is just a text string. The image data itself isn't read until your browser uses the link to fetch the url after the page has been loaded.
But a Word document actually embeds the image data in the file that constitutes the HTTP response.  To do so, Caracal has to use open-uri to read the image data associated with your url when it processes the block.  It then saves that image data to a tmp file that gets zipped up into the final .docx deliverable.
So, when you use an external url, this poses no problem to webrick, since the open-uri call hits another server, which presumably is not busy.  But, when you call a url from your own project, the open-uri call cannot be answered because webrick's one process is already blocking...because it's waiting for that open-uri call to finish.  It sort of a snake eating its own tail.
In production/staging environments, this tends not to be an issue since you'd always be using a multi-process server there.

That makes sense! Didn't think about the fact that img tags only need the link, not the actual image. :)


partial error reporting using chromedriver

When I use chromedriver to run tests in the browser in my httpSig project, I don't get the full diff error results as I would when running the java tests.
$ sbt
> ciChrome

results in the following output:

Which does not show the diffs, making it difficult to work out what the problem may be.

@armanbilge told me this is related to #247 Avoid relying on Node's fs when running in browser-based JSEnv. Perhaps there is a way of making the code available via HTTP, to get the diffs?

There's also a proposal to solve this in https://github.com/scalameta/munit/pull/441#issuecomment-945084300.


Fix improper Docker stop handling

Trying to stop the container using Docker stop results in Docker killing the container (exit 137). This is because Docker uses SIGTERM as its stop signal and strapi expects SIGINT (CTRL-C) as its stop signal.
This PR changes the CMD format in the Dockerfile to the exec-format, so the wrapper-script will be executed as PID 1 (and can receive the stop signal), and traps the stop signal in the wrapper-script to send the correct signal to strapi.
We cannot use STOPSIGNAL in the Dockerfile as SIGINT is a signal that will not be passed to PID 1.

Hi @msgeissler, thanks for your contribution !


fix(config): Support $$ in config for literal $

Summary

This allows escaping $ in the configuration file by prefixing it with another $ (i.e. to escape a dollar sign, users have to use $$).
Example:
endpoints:
  - name: example
    url: https://example.org/docs/how-to-create-config-file-without-including-literal-password-in-it
    conditions:
      - "[BODY] == pat(*$$PASSWORD*)"

(for verbosity, the above endpoint assumes that there's $PASSWORD in the body)
Fixes #422
Checklist

[X] Tested and/or added tests to validate that the changes work as intended, if applicable.
[ ] Added the documentation in README.md, if applicable.

Codecov Report
Base: 82.06% // Head: 82.08% // Increases project coverage by +0.02% :tada:

Coverage data is based on head (9a2ec81) compared to base (26611b7).
Patch coverage: 100.00% of modified lines in pull request are covered.

: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
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #427      +/-   ##
==========================================
+ Coverage   82.06%   82.08%   +0.02%
==========================================
  Files          56       56
  Lines        4226     4231       +5
==========================================
+ Hits         3468     3473       +5
  Misses        590      590
  Partials      168      168

Impacted Files
Coverage Δ

config/config.go
76.56% <100.00%> (+0.50%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

I am glad I found this. I was banging my head forever on why I kept getting a 422 status code back. The variables in the body needed to be escaped with another $. It would be helpful if this was in the documentation.


added aria announcments, and added announcements for forward and back

adds aria announcement support for the video player, announces current seek time in seconds to the user.
fixes: https://github.com/paypal/accessible-html5-video-player/issues/66

👍 nice job @dmikey


Adds CI job for ike-prow-plugins repository

Adds definition for https://github.com/arquillian/ike-prow-plugins/ project to run the tests

Can one of the admins verify this patch?

Should wait until https://github.com/arquillian/ike-prow-plugins/pull/123 is merged

Hi, the referenced PR has been merged so the script is part of the master branch.
May I ask any of the admins if you could take a look at this PR...? Thanks a lot

[test]


[Feature Request] Support all file types (beside solely support image formats)

I love your amazing software, but it will be better if you can allow attachments of ALL files types to be renamed & put into respective folders automatically.
For example:

I attach a program.exe files (or pdf, apk, zip etc..) into Obsidian file called "file1.md".
"program.exe" will be renamed into program_file1_2024-12-31.exe"
Then, put into folder called "file1_attachment"

Hope you can understand my point 😊

You can use the Extension override feature to auto rename any attachments with specific extension.
(I have added a tooltips in latest version, upgrade first.)

You are excellently awesome! But it will be perfect if you could add feature like: auto custom size for pasted image eg: "image.png|300" & drag the corner of image to resize?
There is a plugin ( https://github.com/xryul/obsidian-image-converter ) can do that but if I enable it, yours will stop functioning. Perhaps you could add some features or enable other plugin to coexist (co-functioning) together?


Update generate-tarball script to support hadoop-3.2

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/5314/
Test PASSed.

@chcn Thanks for adding the support of Hadoop-3.2! I see this PR is making two efforts here:
(1) Add 3.2 to the tarball generation
(2) Change the default distribution version also to 3.2?
Can we limit the scope of this PR to be (1) (only changing dev/scripts/src/alluxio.org/build-distribution/cmd/common.go). @ns1123 will create a separate PR as we plan to have default version as hadoop 2.7 in the coming Alluxio 2.1 release

@apc999 generate-tarball.go has to be changed because the hadoopDistributionFlag was never used, the defaultHadoopClient was always used. Also, the default version is already set to 2.7 in this PR.

taken over by https://github.com/Alluxio/alluxio/pull/9889.  I will also create another PR to bump default hadoop version to 2.7


Massive Refactor - 3.0.0

This PR strips out the Archivist and the OCR bot, then all the duplicate code now stored in github.com/transcribersofreddit/tor_core. Tested and working.

Just to be clear, this is ready to merge? @itsthejoker

It is, I'm still pulling code from it to finish up the other two bots. Almost ready -- just making sure I didn't miss anything.


antonym_synonym.py

finds antonyms and synonyms for a given word.
What the program do ?
finds antonyms and synonyms for a given word.
In what programming language it is written?
Written in python

This pull request do not contains files in specific folders. Please fix it and reopen


Feature/completion steps

Added image support for InstructionStepLayout.
These images can also be AnimatedVectors, if isImageAnimated is true.
Used these two additions to make the CompletionStepLayout, which is used in Onboarding after the user passes the consent quiz.
To test this in MPower, see https://github.com/Sage-Bionetworks/mPower-Android/pull/21

I think this is related to the previous PR, but I'm getting an error when trying to sync gradle atm:
In rsb_step_layout_share_the_app.xml it fails at the android:src="@drawable/icon" line in the rsb_share_logo_view ImageView stating that no resource was found that matches the given name (at 'src' with value '@drawable/icon')
This is in spite of me being on latest mPower meant to test the changes you have here.
Any idea what might be causing this?


Releasing constraint on go

As a pull request owner and reviewers, I checked that:

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

[x] README in the role
[x] Content of the docs/source is reflecting the changes

CIX: https://issues.redhat.com/browse/OSPCIX-343

recheck

/lgtm
/approve


Remove few lines of obsolete code

Some small spelling fixes and parameter names that didn't match the names in the description.

Thank you!


F7 not enough space in default FIFO allocation

I setup a project with cube and freertos on an F767ZI (nucleo board) with one ACM CDC using the supplied console_if and it was not enumerating while recreating the same project worked fine on a F407 (after fixing #4). Both times using the FS OTG,
After a lot of head-scratching I just added a few more words to the FIFO in USB_HvAllocateEPs.
It turned out that just one more word was the difference between working and not working.
After reading #1 I found out that the quoted app-note in the comment RM0431 uses a slightly different formula then the one actually used and also clashes with the text description:

10 locations must be reserved in the receive FIFO to receive SETUP packets on control endpoint. [...]
(5 * number of control endpoints + 8) + [...]

how is this supposed to add up to 10? (also can you have more then one control EP?)
However the formula that is used matches the one that is documented in the doc for the F76x/F77x (RM0410).

(4 * number of control endpoints + 6) + [...]

I now share your frustration of unclear and nebulous documentation.
By the way the CubeHAL just uses 128 words for both F4 and F7 no matter the configuration (512 when using HS).
I don't really know what to do about it. I will just add some extra words to the FIFO for now on my end. Since we apperently don't know what exact number of words is required it is a bit difficult to fix the default.

I almost forgot. To make it work on the F7 I had to define the following symbols myself since apperently the F7 CMSIS files don't provide those :disappointed:
/*values from datasheet for 76xxx & 77xxx */
#define USB_OTG_FS_MAX_IN_ENDPOINTS       5
#define USB_OTG_HS_MAX_IN_ENDPOINTS       8
#define USB_OTG_FS_TOTAL_FIFO_SIZE        1280
#define USB_OTG_HS_TOTAL_FIFO_SIZE        4096

I don't have a better idea than just keep adjusting the value until everyone's happy, so I increased the default RxFIFO size by 1 word, if this doesn't cause further issues please close this ticket.
For the missing symbols from the device header I can only recommend that you report it on the STM32 forum.


feat: generalize stream structure

issue #12

Codecov Report
Patch coverage: 93.61% and project coverage change: +0.45% :tada:

Comparison is base (b891aaf) 93.70% compared to head (5ed8fcb) 94.15%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   93.70%   94.15%   +0.45%
==========================================
  Files           1        1
  Lines         127      154      +27
  Branches       17       21       +4
==========================================
+ Hits          119      145      +26
- Misses          3        4       +1
  Partials        5        5

Files Changed
Coverage Δ

include/parsi/parsi.hpp
94.15% <93.61%> (+0.45%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add SWITCH (AS559) to doc/friends.md

We have been using BGPalerter for about a year.
Thanks a lot for keeping it awesome!
Related to #397

Thanks Simon!


feat: TsxProviderBase with test function

Description
Currently a TsxProvider needs a getter for the filename it can provider. This PR seeks to introduce a new base class TsxProviderBase which instead uses a bool checkProvidable(String filename) function to determine if a TsxProviderBase is able to provide the source.
To accomplish this it also has Parser getSourceBase(String filename) and Parser? getCachedSourceBase(String filename) methods to retrieve the source when needed.
While do not like attaching Base to everything this naming scheme seems to be the easiest option to not break current implementations.
This new functionality is usefull for example to resolve all .tsx-files relative to a single directory.
Checklist

[X] The title of my PR starts with a Conventional Commit prefix (fix:, feat:, docs: etc).
[X] I have read the Contributor Guide and followed the process outlined for submitting PRs.
[ ] I have updated/added tests for ALL new/updated/fixed functionality.
[X] I have updated/added relevant documentation in docs and added dartdoc comments with ///.
[ ] I have updated/added relevant examples in examples.

Breaking Change

[X] Yes, this is a breaking change.
[X] No, this is not a breaking change.

While the internal functionig does change and new APIs are exposed I have recreated the old behaviour in TsxProvider as a sub class of the new TsxProviderBase. Therefore classes extending TsxProvider should work as before with no breaking changes.
However classes only implementing it will require additional methods, however if only implemented they should directly implement TsxProviderBase since (apart from the implementation of the old behaviour) TsxProvider does not offer more functionality. It is simply a Wrapper to emulate the old behaviour and not break convention.
Migration instructions
All classes only implementing TsxProvider should either

extend TsxProvider if the old API is needed (this allows you to not have to look at any new functionality) or
directly implement TsxProviderBase.

Related Issues
Completes #70
Allows for usecase described in #69

I've got some questions about the checklist:

The old functionality was not covered by tests as far as I can see, nevertheless I will write some soon.
There is no example folder in this repo. Where should examples go?

While do not like attaching Base to everything this naming scheme seems to be the easiest option to not break current implementations.

I would consider just breaking current implementations, as long as you are willing to write a PR for flame_tiled, which is the only major client of this library.
Overall it's hard to me to tell if this PR makes sense without concrete examples, maybe tests would help with that

@benni-tec any updates on this? :)

Not yet. My fork currently does everything I need for my current project. I do plan to submit proper PRs for this and the other issues I've opened, however I am currently pretty time constrained.
As of now my current project should be wrapped up in January, I am currently planning to clean up and submit PRs then.
Is this something that is time-sensitive for you? If so I will see if can get the PRs done this year!

LFTM (looks fine to me!)

Thanks for the review, I didn't have to time yet to write a proper comment:
I have generalised into a generic Provider that can also be used for templates, therby also resolving #73, also as being extensible to more easily discover the location of images in flame_tiled.
I also moved the methods from TileMapParser into TiledMap since there were already parsing method there, and I always thought it was confusing to have this in a different class that does nothing otherwise. While moving it over I also made the names nicer and more descriptive.
The fromString method seems to only have been used in the tests to generate TsxProvider's for every included tileset, which always seemed like a hack to me! Anyways this is not neccessary anymore since the new Provider can resolve multiple or even all files (see tests for an example). The rest of the functionality can be found in parseTmx()!
I took the liberty of adding the Lists of Provider's to the parser to make it more convenient and clean (instead of passing it through all parse calls, only the initial Parser creation is affected and the copies)!
However I split them into multiple Lists so one for tmx and one for templates. This however does not allow to integrate the same mechanism for images (e.g. of tilesets), because I don't think the actual loading of the images is supposed to be in this library and nothing is ever done with them I don't think that is a big deal. flame_tiled could still use the same Provider mechanism to discorver images (this would be great improvment compared to the current state), but just create it's own List when parsing the RenderableMap!
However I could also only pass one List and the Provider's could instead report their capability. What do you think is preferable?

Sorry for the extremely late reply @benni-tec, I had completely forgotten that we had open PRs on this repository!
What is the state of your PRs, are they ready to be merged?

Honestly I also forget about the PRs since my project was finished in January, I just merged the incoming changes into #77 and it should be ready to merge now.
I will merge theses changes here as well and incorporate the feedback today, this PR should then also make #59 obsolete.
As for #78 I believe you said it should be an extension package, however I beliebe I made some adjustments in that PR that should be merged to, I will have to look at it again

Alright so I rebased this branch onto #77 and fixed the docs as well as incorporating the feedback here. The tests also clear now, as for the analyze it failed due to the partof directives so I'm gussing thats fine? And I don't know whats up with format

@benni-tec could you do a final check on the PR just to see that everything looks correct after the rebase? :)


[Bug]: Can't connect to database during Dockerfile buildtime

Error Message and Logs
Hello there!
I'm using new Prisma TypedSQL feature, which relies on an active database connection to generate its types: https://www.prisma.io/docs/orm/prisma-client/using-raw-sql/typedsql
When running it, it says that the database isn't running - however it is, my app is live, I'm able to connect through MySQL Workbench, etc.
2024-Nov-26 15:05:27.207981
 > [nextjs  8/10] RUN npx prisma generate --sql:
2024-Nov-26 15:05:27.207981
6.964 Error: Errors while reading sql files:
2024-Nov-26 15:05:27.207981
6.964
2024-Nov-26 15:05:27.207981
6.964 In prisma/sql/getBestSellingProductsByPeriod.sql:
2024-Nov-26 15:05:27.207981
6.964 Error: P1001
2024-Nov-26 15:05:27.207981
6.964
2024-Nov-26 15:05:27.207981
6.964 Can't reach database server at `x.y.z.w:5432`
2024-Nov-26 15:05:27.207981
6.964
2024-Nov-26 15:05:27.207981
6.964 Please make sure your database server is running at `x.y.z.w:5432`.

I've tried using both internal URL from Coolify and the public database URL, neither of them work. The database is also hosted on the same coolify instance.
Steps to Reproduce

Enable https://www.prisma.io/docs/orm/prisma-client/using-raw-sql/typedsql on Prisma schema.
run npx prisma generate --sql during Dockerfile build time.
It needs connection to database, which fails.

Example Repository URL
No response
Coolify Version
v4.0.0-beta.372
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
Alpine 3.20.3
Additional Information
No response

When you say "mapped to host" you mean this?

It's allowed to connect to predefined networks and it doesn't work if I try to connect with internal URL.

@vendramini no that just means its in the coolify network , but your host doesnt know about those hostnames hence the error
you would need to add port mappings to teh host or add the ip/hostname to your /etc/hosts file on the host
or run it in post deployment

I couldn't make it work during build time, not even with database IP. But it does work on post deployment. Not the solution that I wanted but I need to move forward :P
Ty for the tip :)


Added PS tags and phased genotypes when decomposin complex variants

I've added the basic functionality, with a '-p' command-line flag. It adds a 'PS' tag with the position of the first variant in the decomposed block as an ID, and replaces the '/' with a '|' in the GT field. I've tested this on a few small VCFs, and it seems to work fine, but it took me a little while to work out how to modify the genotypes, so it's worth checking over that code.

May I have access to your small VCFs for testing?

I used this for testing MNP splitting with phased genotypes. I have not
tested on length-changing replacements
yet.
Andy
On Mon, Feb 8, 2016 at 2:50 PM, Adrian Tan<EMAIL_ADDRESS>wrote:

May I have access to your small VCFs for testing?
—
Reply to this email directly or view it on GitHub
https://github.com/atks/vt/pull/42#issuecomment-181399503.

--
This email is sent on behalf of Genomics plc, a public limited company
registered in England and Wales with registered number 8839972, VAT
registered number 189 2635 65 and registered office at 24 Cornhill, London,
EC3V 3ND, United Kingdom.
The contents of this e-mail and any attachments are confidential to the
intended recipient. If you are not the intended recipient please do not use
or publish its contents, contact Genomics plc immediately at
<EMAIL_ADDRESS><EMAIL_ADDRESS>then delete. You may not copy,
forward, use or disclose the contents of this email to anybody else if you
are not the intended recipient. Emails are not secure and may contain
viruses.

I've updated a test set in make test.
There was a bug which killed the program when there are more than one individual in a VCF file.
Use case updated in wiki page
http://genome.sph.umich.edu/wiki/Vt#Decompose_biallelic_block_substitutions
There might be a better way to name the phase set IDs for the second individual.

Sorry about that: I should have tested on multi-sample VCFs. I think the
phase set ID should be the same across individuals.  In the example on the
Wiki the tumour and normal samples end up with different PS values, but as
far as I can see from the code there is only one call to
bcf_update_format_int32(odw->hdr, nv, "PS", &start_pos_of_phased_block,
bcf_get_n_sample(nv));
so how do they end up with different values?
Kind regards,
Andy
On Mon, Feb 8, 2016 at 8:14 PM, Adrian Tan<EMAIL_ADDRESS>wrote:

I've updated a test set in make test.
There was a bug which killed the program when there are more than one
individual in a VCF file.
Use case updated in wiki page
http://genome.sph.umich.edu/wiki/Vt#Decompose_biallelic_block_substitutions
There might be a better way to name the phase set IDs for the second
individual.
—
Reply to this email directly or view it on GitHub
https://github.com/atks/vt/pull/42#issuecomment-181511992.

--
This email is sent on behalf of Genomics plc, a public limited company
registered in England and Wales with registered number 8839972, VAT
registered number 189 2635 65 and registered office at 24 Cornhill, London,
EC3V 3ND, United Kingdom.
The contents of this e-mail and any attachments are confidential to the
intended recipient. If you are not the intended recipient please do not use
or publish its contents, contact Genomics plc immediately at
<EMAIL_ADDRESS><EMAIL_ADDRESS>then delete. You may not copy,
forward, use or disclose the contents of this email to anybody else if you
are not the intended recipient. Emails are not secure and may contain
viruses.

fixed.  when updating, you need to update from an array of n_sample values.  so the fix was to simply make sure that start_pos_of_phased_block was an array and that it was properly updated.  unequal allele length variants also tested out fine.

Great. Thanks for that.
On 8 Feb 2016 21:51, "Adrian Tan"<EMAIL_ADDRESS>wrote:

fixed. when updating, you need to update from an array of n_sample values.
so the fix was to simply make sure that start_pos_of_phased_block was an
array and that it was properly updated. unequal allele length variants also
tested out fine.
—
Reply to this email directly or view it on GitHub
https://github.com/atks/vt/pull/42#issuecomment-181572278.

--
This email is sent on behalf of Genomics plc, a public limited company
registered in England and Wales with registered number 8839972, VAT
registered number 189 2635 65 and registered office at 24 Cornhill, London,
EC3V 3ND, United Kingdom.
The contents of this e-mail and any attachments are confidential to the
intended recipient. If you are not the intended recipient please do not use
or publish its contents, contact Genomics plc immediately at
<EMAIL_ADDRESS><EMAIL_ADDRESS>then delete. You may not copy,
forward, use or disclose the contents of this email to anybody else if you
are not the intended recipient. Emails are not secure and may contain
viruses.


Evaluating ShiftResNet on CIFAR-10 returns AttributeError

Running python eval.py --model=checkpoint/shiftresnet20_3.0.t7 in root directory returns
Files already downloaded and verified
==> Resuming from checkpoint..
Reading from model checkpoint/shiftresnet20_3.0.t7
...(some SourceChangeWarnings)...
Traceback (most recent call last):
  File "eval.py", line 90, in <module>
    checkpoint = torch.load(model)
  File "/cvgl2/u/brianlui/shiftresnet/shift/local/lib/python2.7/site-packages/torch/serialization.py", line 358, in load
    return _load(f, map_location, pickle_module)
  File "/cvgl2/u/brianlui/shiftresnet/shift/local/lib/python2.7/site-packages/torch/serialization.py", line 542, in _load
    result = unpickler.load()
AttributeError: 'module' object has no attribute 'ShiftConv'

Why does the ShiftNet shiftresnet20_3.0.t7 model pretrained on CIFAR-10 give a module object that has no attribute ShiftConv?  I was able to fix other bugs using StackOverflow, but this one seems to be model-specific.  Would appreciate any advice - thank you!

As a follow-up, the details of the machine running the above code are:
OS: Linux
Python: 2.7
Pytorch: 0.4.1
CUDA: 9.0

One possible solution is switching to Pytorch 0.4.0, I faced a similar issue when loading models trained under 0.4.0 to 0.4.1. Not sure if the solution is applicable to your case.

Thank you @Yang-YiFan!  I just now switched to Pytorch 0.4.0 and the corresponding torchvision, but the same error unfortunately persists.  Any advice?

@briancylui  does it faster than normal conv?
How about the speed.

Hello  guys, I have exactly the same problem as you.How did you solve it

I got the same error on pytorch 0.4.0 and 0.4.1, have you solved it now?


Discussion - PermitV2 and PermissionV2

Discussion - PermitV2
SPEC
Contracts have been attached to this PR for reference and for discussion, they shouldn't be merged as is.
This PR is for discussing the draft of a PermitV2 spec solution. The main contracts are PermitV2.sol and PermissionedV2.sol.
The goal of PermitV2 is to improve the user permission & decryption flow. Currently each contract requires its own permit to be generated and signed, which hurts the UX of any dapps that use data from multiple contracts, ex: token portfolio.
This PermitV2s implementation uses NFTs as Permits, which are minted and held in the user's wallet. These PermitNFTs can be thought of as Github Personal Access Tokens. Minting NFTs will be done through a "Permits" page that is built by the Fhenix team (intended to be included in the DeFi Portal)
PermitV2 benefits:

Multi Contract Permits: Use a single permit for multiple contracts instead of an individual permit for each contract. Users will not have to sign a fresh signature for every contract that they interact with, improving user flow.
Expiration: Permits expire after a user determined duration (fails safe). This could be anywhere from an hour to a year. If a permit expires, it can be "renewed" to extend its validity from the current time.
Shareable: Users can allow others to see their confidential data (auditors / smart contracts) by minting and sending a PermitNFT with the 2nd user.
Revocable: Permits can be revoked to prevent bad actors that have gained access. Revoked permits are immediately unavailable. Permits that have already been shared can still be revoked.
Non-local: Permits shouldn't be usable if they are stolen from a users localstorage
Granularity

Fine Grained - The PermitV2 is valid for a whitelist of contracts determined by the user (users will add contracts to this list over time - see below). These contracts can be added / removed at any time
Coarse Grained - The PermitV2 is given a list of projects ("FHERC20" / "Curve" / "UniswapV4") that can be accessed with this permit. Contracts that implement PermissionedV2 are created with a projectId. Permits that have whitelisted that project will then be able to interact with and read from all the required project contracts. Projects are encouraged to use the same projectId across all their contracts, so that users can "approve" the project and immediately be able to interact with the full project functionality. "FHERC20" is added as a project to ensure that all FHERC20 contracts can be read without approving many projects.

User Flow:
When interacting with a dApp, users should be prompted to select the PermitV2 that they want to use. This should be done through a dropdown similar to the "connect" button. The Fhenix team will have to build a scaffold of this component so that it is easy for teams and engineers to integrate. Once the permit is selected, the user will sign a tx to create a permission for that permit which will be used to read confidential data.
If a user is using a fine grained permit (only specific contracts are allowed), then that user will have to add each contract they want to interact with to their permit. This can happen over time, similarly to how users approve contracts to use their tokens.
User Flow Demo - Creating a PermitNFT & Using a PermitNFT
https://github.com/user-attachments/assets/9ff88f6b-d336-48a5-91b3-9ae076f54b41
Integration Example
! Notice below that in getCounterPermitSealed the counter value is fetched for permission.issuer. This ensures that the holder of the PermitNFT, can see the data of the minter of the PermitNFT. This is key to the shareability of the PermitV2.
contract Counter is PermissionedV2 {
	mapping(address => euint32) private userCounter;

	constructor() PermissionedV2("COUNTER") {}

	function add(inEuint32 calldata encryptedValue) public {
		euint32 value = FHE.asEuint32(encryptedValue);
		userCounter[msg.sender] = userCounter[msg.sender] + value;
	}

	function getCounterPermitSealed(
		PermissionV2 memory permission
	) public view withPermission(permission) returns (string memory) {
		return userCounter[permission.issuer].seal(permission.publicKey);
	}
}

The user would have to approve the project "COUNTER" to read the data from getCounterPermitSealed
PermitV2.sol link
The primary contract that handles the PermitV2 NFTs (minting / updating / renewing / revoking), as well as permission validation. This contract follows the standard NFT paradigm, and users will be able to see their PermitV2s in their metamask or other wallets.
Permit functionality

createNewPermit - create a new PermitV2 with options
renewPermit - renews the permit for the validity duration
revokePermit - permanently disables this permit from being used
updateProjectIds - add / remove permitted projectIds from this permit
updateContracts - add / remove permitted contracts from this permit

Permission functionality

checkPermitSatisfies - called by PermissionedV2.sol, allows dApps to quickly check whether the user's selected PermitNFT will satisfy this contract (checks against contract address / projectId)
validatePermission - called by PermissionedV2.sol

checks that the permit is active (not expired, not revoked)
checks that the tx msg.sender matches the signer of the permission
checks that the permit being used is held by the signer
checks that the permit issuer matches the permitIssuer of the permission (this value is used to determine what data to return to the user - see Counter.sol example)
checks that the contract of the tx is permitted (if permit is fine grained)
checks that the category of the tx is permitted (if permit is coarse grained)

View

tokenURI - encodes and returns the base64 permit metadata (useful for displaying the PermitV2 as an NFT)
getPermitInfo - returns the permit info as a struct

PermissionedV2.sol link
Thin wrapper around the validation functions of PermitV2.sol. Currently the PermitV2 contract address has to be passed in through the constructor, however after the PermitV2 contract is deployed it can be hard coded into the contract.
I have removed onlyPermitted / onlyPermittedBetween because I think their use cases have been solved by the ability to share permits between users.
Open Questions

How do we handle contracts that are using the old permit / permission system
Better name than permit (which is already associated with gasless token approvals)
What would the upgrade scheme look like if a bug was found or feature requested
LocalStorage / SessionStorage for the signed permission
Does this introduce too much overhead for a user that wants to interact with Fhenix?
Gas costs for deploying / updating a PermitV2
Should revoking a permit be a permanent step, or should we allow users to undo this

Requirements for a mature and integrated release

Finalize contracts, add inline docs, add events.
Deploy PermitV2.sol and update fhenix-contracts PermissionedV2.sol with the deployed PermitV2 contract address.
Implement a permit management frontend that allows users to create and manage permits.
Add a hardhat / foundry precompile that inserts the PermitV2 contract at the correct address for testing
Update fhenixjs to use PermitV2s. This will need updating in permit generation and unsealing sealed outputs. Include the PermitV2 and PermissionedV2 abi's in fhenixjs so that users can interact with them easily.
Write documentation on how to use and integrate PermitV2s for engineers
Write documentation on the user flow expectation that Fhenix users can expect when using a Fhenix & PermitV2 enabled dApp

Very Very Nice! I approve!
This looks like a very useful tool for the ecosystem. Modular and supports wide array of use-cases. I still need to understand how does the "stolen from a users localstorage" work.
I think there should be a need for both kinds of permits, both V2 and V1, because V1 is still much simpler and does not require an extra transaction broadcasted and also less gas. V1 only requires an extra, offline interaction with metamask, if I'm not mistaken.
I think a contract could support both kinds of permits, right? Assuming it is OK without the extra security assumptions of V2. In that case, users of the contract should still enjoy the benefits of V2 if they don't issue a V1 permit, right?

I completely agree, we should definitely handle both V1 and V2 cases, it makes it easier for devs to build with it without needing to spool up any extra boilerplate.
As far as stolen from a users localstorage, I don't know if this is possible, but a single point of failure on a signature that could be used forever by a malicious actor is spooky to me.
I'll look into making the new system be backwards compatible with V1 permits

I've just added in some changes that have become apparent / useful through working with the PermitV2 system in encrypto:

Remove granularity. There is no need to force a permit to be authorized for only contracts or only projects. PermitNFTs can now support either or both
ERC1271 signatures. Smart contract accounts cannot sign ERC712 messages so ERC1271 standard contract signatures can now be validated
Permission deadline. Permissions are now only active for a user specified time, a reasonable default is 24 hours, after which the permission itself will become invalid and a new signature generated.
Approve and Revoke functions. Granting a PermitNFT access to contracts and projects should be as streamlined as possible, so these functions have been added to PermitV2. PermissionedV2 has also been given these functions to prevent engineers from needing to interact with the PermitV2 contract directly.

Superseded by https://github.com/FhenixProtocol/fhenix-contracts/pull/85


Fix anything other than food having a quality

I was smelting some iron and it gave it a food quality. It also prevents multiple iron ingots from being in the furnace at the same time.
https://github.com/s5y-ux/ExpandedCooking/assets/142674955/ff373f85-942b-4499-a90e-ad85b9865c37

Thank you very much for bringing this up to my attention.
I will fix this in a couple minutes

The problem was on line 56 in the "CookedFood" class. When I was calling the event, I overlooked a logical check to make sure that the resulting item existed in the array of foods that were available for an EXP boost. To do this, I implemented a binary search method and updated the logic check to make sure the Material of the result existed in the array of foods.
Another way I could have fixed this was converting the array into a set and using the contains() method.
-Ill be updating a release and marking this issue closed. Please let me know if you run into any more bugs.
Thank you for using Expanded Cooking :)
private boolean binarySearch(Material[] materialList, Material item) {
		for(Material mat: materialList) {
			if(mat.equals(item)) {
				return(true);
			}
		}
		return(false);
	}

	@EventHandler
    public void onFurnaceSmelt(FurnaceSmeltEvent event) {
    	try {

    		if(binarySearch(this.EXPData.Foods, event.getResult().getType())) {

    	Block furnaceBlock = event.getBlock();
        Location furnaceLocation = furnaceBlock.getLocation();
    	Player player = furnaceInteractions.get(furnaceLocation);
        ItemStack resultItem = event.getResult();
        ItemMeta resultItemMeta = resultItem.getItemMeta();
        List<String> Lore = new ArrayList<String>();
        PlayerData ourPlayer = new PlayerData(main, player);
        Lore.add(ourPlayer.getCookQuality());
        Lore.add(ourPlayer.getChef());
        resultItemMeta.setLore(Lore);
        resultItem.setItemMeta(resultItemMeta);
    		}
    		}
    	catch (Exception e) {
    		event.setCancelled(true);
    	}

    }

https://github.com/s5y-ux/ExpandedCooking/releases/tag/1.3.2


make sure docstrings are visible in Visual Studio for mac

Verified that all docstrings are visible for SimpleCacheClient in Visual Studio for Mac.


Add refund information to rejection email when paid form

Added field "isPaidForm" to rejection email model so that a paragraph about refunds can be dynamically added to rejection emails when the form is paid.
Associated chs-notification-api PR: https://github.com/companieshouse/chs-notification-api/pull/277
BI-8064

The Sonar issue and code coverage are addressed in #69, so we should approve and merge that to resolve the issue here.

think isPaidForm needs to be added to unit test for Mapper
as per sonar report


ci: test Node.js 4, 6, 8, 10 and 11

We should test the supported versions (see engines field in package.json).
Also just even releases are supported and LTS, 7 and other odd release numbers already reached their EOL.

Does not support Node.js 4: https://travis-ci.org/niklasvh/html2canvas/jobs/450881493

Sorry for the late reploy, I am moving the project away from travis-ci to azure pipeline (for better browser testing and faster builds), so i'll close this


⚠ Processors has degraded performance

In 0e96bb9, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 89 ms

Resolved: Processors performance has improved in 244f05a.


Release 11.8.3

Releases cuda-python version 11.8.3 on the 11.8 branch
Fixes #48

@conda-forge-admin , please re-render

@conda-forge-admin , please re-render

@conda-forge-admin , please re-render

@conda-forge-admin , please re-render

@vzhurba01 could you please review?

LGTM, though note that this is my first time reviewing changes such as these

Thanks all! 🙏


Upgrade security protocol

See for more details

Additional information https://blogs.msdn.microsoft.com/tsmatsuz/2016/09/06/microsoft-bot-framework-bot-with-authentication-and-signin-login/


Logic for generating LDS v2 response

v2 versions of corresponding v1 build functions.
Review tip: diff the files against their v1 counterparts to see the changes.

@ostromart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
310d7f30a822a1c8776161d8010fd882482d0f58
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Get.nestedKey throwing a " Multiple widgets used the same GlobalKey" when used with multiple nested navigator widgets

I'm currently having issues with nested navigation using Get. Having issues when using Get.nestedKey() specifically. Using a normal GlobalKey works fine but whenever i use the nestedKey i keep getting the "multiple widgets used the same Global Key" error and i need to use the nestedKey in order to use Get's routing.
Here's a my code
import 'package:animated_bottom_navigation_bar/animated_bottom_navigation_bar.dart';

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:get/get.dart';

class Destination {
  const Destination(this.index, this.title, this.icon);
  final int index;
  final String title;
  final IconData icon;
}

const List<Destination> allDestinations = <Destination>[
  Destination(0, 'Home', Icons.home),
  Destination(1, 'Explore', Icons.explore),
  Destination(2, 'Profile', Icons.person),
  Destination(3, 'Settings', Icons.settings),
];

class RootPage extends StatelessWidget {
  const RootPage({Key key, this.destination}) : super(key: key);

  final Destination destination;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(destination.title),
        backgroundColor: Theme.of(context).appBarTheme.color,
      ),
      backgroundColor: Theme.of(context).scaffoldBackgroundColor,
      body: SizedBox.expand(
        child: InkWell(
          onTap: () {
            Get.toNamed("/list", id: 0);
          },
          child: Center(
            child: Text('tap here'),
          ),
        ),
      ),
    );
  }
}

class ListPage extends StatelessWidget {
  const ListPage({Key key, this.destination}) : super(key: key);

  final Destination destination;

  @override
  Widget build(BuildContext context) {
    const List<int> shades = <int>[
      50,
      100,
      200,
      300,
      400,
      500,
      600,
      700,
      800,
      900
    ];

    return Scaffold(
      appBar: AppBar(
        title: Text(destination.title),
        backgroundColor: Theme.of(context).appBarTheme.color,
      ),
      backgroundColor: Theme.of(context).scaffoldBackgroundColor,
      body: SizedBox.expand(
        child: ListView.builder(
          itemCount: shades.length,
          itemBuilder: (BuildContext context, int index) {
            return SizedBox(
              height: 128,
              child: Card(
                color: Theme.of(context)
                    .snackBarTheme
                    .backgroundColor
                    .withOpacity(0.25),
                child: InkWell(
                  onTap: () {
                    Get.toNamed("/text", id: 1);
                  },
                  child: Center(
                    child: Text('Item $index',
                        style: Theme.of(context).primaryTextTheme.display1),
                  ),
                ),
              ),
            );
          },
        ),
      ),
    );
  }
}

class ViewNavigatorObserver extends NavigatorObserver {
  ViewNavigatorObserver(this.onNavigation);

  final VoidCallback onNavigation;

  void didPop(Route<dynamic> route, Route<dynamic> previousRoute) {
    onNavigation();
  }

  void didPush(Route<dynamic> route, Route<dynamic> previousRoute) {
    onNavigation();
  }
}

class DestinationView extends StatefulWidget {
  const DestinationView(
      {Key key,
      @required this.destination,
      @required this.onNavigation,
})
      : super(key: key);

  final Destination destination;
  final VoidCallback onNavigation;

  @override
  _DestinationViewState createState() => _DestinationViewState();
}

class _DestinationViewState extends State<DestinationView> {
  @override
  void initState() {
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return widget.destination.index == 3
        ? SettingsUI()
        : TabNavigator(
            destination: widget.destination,
            onNavigation: widget.onNavigation,

          );
  }
}

class TabNavigator extends StatelessWidget {
  TabNavigator({
    Key key,
    @required this.destination,
    @required this.onNavigation,

  }) : super(key: key);

  Route onGenerateRouteOne(RouteSettings settings) {
    if (settings.name == '/')
      return GetPageRoute(
        settings: settings,
        page: () => Builder(builder: (BuildContext context) {
          return RootPage(destination: destination);
        }),
      );

    if (settings.name == '/list')
      return GetPageRoute(
        settings: settings,
        page: () => ListPage(destination: destination),
      );
    throw Exception('Page not found: ${settings.name}');
  }

  Route onGenerateRouteTwo(RouteSettings settings) {
    if (settings.name == '/')
      return GetPageRoute(
        settings: settings,
        page: () => RootPage(destination: destination),
      );

    if (settings.name == '/list2')
      return GetPageRoute(
        settings: settings,
        page: () => ListPage(destination: destination),
      );
    throw Exception('Page not found: ${settings.name}');
  }

  Route onGenerateRouteThree(RouteSettings settings) {
    if (settings.name == '/')
      return GetPageRoute(
        settings: settings,
        page: () => RootPage(destination: destination),
      );

    if (settings.name == '/editProfile')
      return GetPageRoute(
        settings: settings,
        page: () => ListPage(destination: destination),
      );
    throw Exception('Page not found: ${settings.name}');
  }

  final Destination destination;
  final VoidCallback onNavigation;
  final List navigatorKeys;

  @override
  Widget build(BuildContext context) {
    return Navigator(
        key: Get.nestedKey(destination.index), // create a key by index

        observers: <NavigatorObserver>[
          ViewNavigatorObserver(onNavigation),
        ],
        onGenerateRoute: (settings) {
          if (destination.index == 0) return onGenerateRouteOne(settings);

          if (destination.index == 1) return onGenerateRouteTwo(settings);

          if (destination.index == 2) return onGenerateRouteThree(settings);
        });

  }
}

class HomeUI extends StatefulWidget {
  @override
  _HomeUIState createState() => _HomeUIState();
}

class _HomeUIState extends State<HomeUI> with TickerProviderStateMixin<HomeUI> {
  List<Key> _destinationKeys;
  List<AnimationController> _faders;
  AnimationController _hide;
  int _currentIndex = 0;

  // bottom nav bar animation controls
  AnimationController _animationController;
  Animation<double> animation;
  CurvedAnimation curve;

  @override
  void initState() {
    super.initState();

    _faders =
        allDestinations.map<AnimationController>((Destination destination) {
      return AnimationController(
          vsync: this, duration: Duration(milliseconds: 200));
    }).toList();
    _faders[_currentIndex].value = 1.0;
    _destinationKeys =
        List<Key>.generate(allDestinations.length, (int index) => GlobalKey())
            .toList();
    _hide = AnimationController(vsync: this, duration: kThemeAnimationDuration);

    _animationController = AnimationController(
      duration: Duration(seconds: 1),
      vsync: this,
    );

    curve = CurvedAnimation(
      parent: _animationController,
      curve: Interval(
        0.3,
        1.0,
        curve: Curves.fastOutSlowIn,
      ),
    );

    animation = Tween<double>(
      begin: 0,
      end: 1,
    ).animate(curve);

    Future.delayed(
      Duration(seconds: 1),
      () => _animationController.forward(),
    );
  }

  @override
  void dispose() {
    for (AnimationController controller in _faders) controller.dispose();
    _hide.dispose();
    _animationController.dispose();
    super.dispose();
  }

  bool _handleScrollNotification(ScrollNotification notification) {
    if (notification.depth == 0) {
      if (notification is UserScrollNotification) {
        final UserScrollNotification userScroll = notification;
        switch (userScroll.direction) {
          case ScrollDirection.forward:
            _hide.forward();
            break;
          case ScrollDirection.reverse:
            _hide.reverse();
            break;
          case ScrollDirection.idle:
            break;
        }
      }
    }
    return false;
  }

  List keys = Get.arguments;

  @override
  Widget build(BuildContext context) {
    return WillPopScope(
      onWillPop: () async => !await keys[_currentIndex].currentState.maybePop(),
      child: NotificationListener<ScrollNotification>(
        onNotification: _handleScrollNotification,
        child: Scaffold(
          body: SafeArea(
            top: false,
            child: Stack(
              fit: StackFit.expand,
              children: allDestinations.map((Destination destination) {
                final Widget view = FadeTransition(
                  opacity: _faders[destination.index]
                      .drive(CurveTween(curve: Curves.fastOutSlowIn)),
                  child: KeyedSubtree(
                    key: _destinationKeys[destination.index],
                    child: DestinationView(
                      destination: destination,
                      onNavigation: () {
                        _hide.forward();
                      },
                    ),
                  ),
                );
                if (destination.index == _currentIndex) {
                  _faders[destination.index].forward();
                  return view;
                } else {
                  _faders[destination.index].reverse();
                  if (_faders[destination.index].isAnimating) {
                    return IgnorePointer(child: view);
                  }
                  return Offstage(child: view);
                }
              }).toList(),
            ),
          ),
          extendBody: true,
          floatingActionButton: ScaleTransition(
            scale: _hide,
            alignment: Alignment.bottomCenter,
            child: FloatingActionButton(
              child: Icon(Icons.mic, color: Colors.white),
              onPressed: () {},
            ),
          ),
          floatingActionButtonLocation:
              FloatingActionButtonLocation.centerDocked,
          bottomNavigationBar: SizeTransition(
            sizeFactor: _hide,
            axisAlignment: -1.0,
            child: AnimatedBottomNavigationBar(
              icons: allDestinations.map((Destination destination) {
                return destination.icon;
              }).toList(),
              activeColor: Colors.lightBlue,
              splashSpeedInMilliseconds: 300,
              splashColor: Theme.of(context).colorScheme.primaryVariant,
              inactiveColor: Colors.grey,
              backgroundColor: Theme.of(context).brightness == Brightness.light
                  ? Colors.white
                  : Theme.of(context).backgroundColor.withOpacity(0.7),
              notchAndCornersAnimation: animation,
              activeIndex: _currentIndex,
              gapLocation: GapLocation.center,
              notchSmoothness: NotchSmoothness.defaultEdge,
              leftCornerRadius: 32,
              rightCornerRadius: 32,
              // elevation: 35.0,
              onTap: (index) => setState(() => _currentIndex = index),
            ),
          ),
        ),
      ),
    );
  }
}

Please enter a reproduction code, or the issue will be closed.
In addition, you cannot attach a key to more than one Navigator, the error is self explanatory for what is happening here.
However, if you think it is a bug, please enter a reproducible code here.

@mtkgeek check if the main view its not rebuilding twice.

@joanofdart you're right, it does look like te build method is being called twice. This seems to be a flutter specific issue because an issue is currently open on the flutter repository. Nevertheless my code doesn't throw the global key error when i use Get.key in place of Get.nestedKey so i still think there's a bug somewhere.

Fixing the double rebuild fixed the issue for me. Get.nestedKey() works just fine. Thanks for all your help.

@mtkgeek  I have the same situation, can you please share the solution you used to fix the rebuild?
Right now my GetPage builder function calls twice!

@mtkgeek  I have the same situation, can you please share the solution you used to fix the rebuild?
Right now my GetPage builder function calls twice!

@papmodern my issue was caused by an external dependency (firebase), so i don't really think what i did would be of much help to you. Fix whatever might be causing a rebuild in your widget tree and that should solve your problem.

@papmodern my issue was caused by an external dependency (firebase), so i don't really think what i did would be of much help to you. Fix whatever might be causing a rebuild in your widget tree and that should solve your problem.

@mtkgeek I am having the same issue and am using firebase. I cannot find any other reason my page builder is getting called multiple times. What did you do to solve it?

@mtkgeek I am having the same issue and am using firebase. I cannot find any other reason my page builder is getting called multiple times. What did you do to solve it?

@mtkgeek Why do you think I'm not using firebase? :D
I'm using firebase also. But the problem of nestedKey was not related to double builds @ShadowOfThePenguin
The problem was that I created another widget and passed the key as "key" attribute. And inside the widget I passed the super.key to the Navigator widget. When I declared another attribute for it (nestedKey) and used that one to bypass the key everything solved

@mtkgeek Why do you think I'm not using firebase? :D
I'm using firebase also. But the problem of nestedKey was not related to double builds @ShadowOfThePenguin
The problem was that I created another widget and passed the key as "key" attribute. And inside the widget I passed the super.key to the Navigator widget. When I declared another attribute for it (nestedKey) and used that one to bypass the key everything solved

@mtkgeek how do i know if there's something causing rebuild? i'm using nesteKey and firebase too

@mtkgeek how do i know if there's something causing rebuild? i'm using nesteKey and firebase too

The error message "multiple widgets used the same global key" tells you two widgets are using the same key, this could be the same widget being rebuilt or two different widgets. Check your code and find out which case it is.


Cannot use MongoKitten with Vapor HTTP

I'm new to Swift and I'm probably missing something. I can't compile after importing MK and Vapor HTTP as there is a clash with Server:
main.swift:5:13: reference to generic type 'Server' requires arguments in <...>

let server: Server!
            ^

** BUILD FAILED **

Is there a way of importing MK into a namespace?

You could use MongoKitten.Server

Wow @Joannis - thanks!
I didn't even have time to take a swig of my coffee!
Closing.


Add data retrieval/validation methods

Models should have add(), set(), get(), and has() methods to update, retrieve, and validate data inside of the front matter. Currently, this has to be done manually through setMatter(), addMatter(), but this is not intuitive.

Closed by #22


Blank usernames allowed for the first time

Person.objects.create(personal='name', family='surname'<EMAIL_ADDRESS>creates a new row in the Person table with blank username field.
However, according to Django doc,

Field.blank
If True, the field is allowed to be blank. Default is False.

The default behaviour should be false.
Subsequent addition of rows with blank username field result in IntegrityError.

That's bizarre, the definition of Person.username uses blank=False implicitly, right?

Yes, it does.
Adding blank=True to the definition does not initiate a migration.

@narayanaditya95 Adding blank=True does trigger the migration for me (tested on master branch), while blank=False doesn't.

Anyway, the issue seems that Django doesn't enforce validation upon Person.objects.create, for example in Person.objects.create(personal='ASD', family='DSA', email='WSAD') "WSAD" seems to be a perfectly valid email…

@pbanaszkiewicz Sorry I meant the opposite. Yes, adding blank=False does not initiate a migration.
Anyway, neither do save or create methods invoke any validation check, we have to resort to full_clean().
Closing the issue as it is an expected behaviour.


Texture errors provide no information

Godot version:
3.2.2 stable
OS/device including version:
Linux
Issue description:
I am getting the following error. I have tried using '-v' at the command line, but there is nothing extra shown. There are errors loading a texture, but I have no idea what and Godot won't tell me. This happens on a new load of a project and I have. If it failed to load, surely it should be telling us what file it failed on given it failed trying to load a specific file?
Similarly, load every scene in the editor works just fine, it is only at runtime.
How do we get the information from debug that is required to trace this fault?
neil@MintNeil:~$ ERROR: _load_data: Condition "!f" is true. Returned: ERR_CANT_OPEN
At: scene/resources/texture.cpp:502.

Usually if I can debug this with a C++ debugger, I put a breakpoint in _err_print_error inside error_macros.cpp, or directly in the file shown in your error. I see the path should be available on the line above.

Thanks for the information.
Maybe this is a feature request then? But I and most people don't have the
debug/source version. Given you've said its available, can it be marked to
be included in the next release if somebody is good enough to update the
code?
I have about 150 scenes, 500 textures and about 75 animated sprites and
other resources that use textures so figuring it out is pretty hard unless
I bisect all my code and try to figure it all out 😉
On Thu, 12 Nov 2020, 14:06 Marc<EMAIL_ADDRESS>wrote:

Usually if I can debug this with a C++ debugger, I put a breakpoint in
_err_print_error inside error_macros.cpp, or directly in the file shown
in your error. I see the path should be available on the line above.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/43475#issuecomment-726098889,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADCERRPQUMTV7KDE54QIDSDSPPTWLANCNFSM4TTIYIQQ
.

Ya I've just run into this, I did a fresh OS install and then pulled a copy of my game back from github, and now when I run it I get 3 error messages:
ERROR: Condition "!f" is true. Returned: ERR_CANT_OPEN
at: _load_data (scene/resources/texture.cpp:466)
But I have literally thousands of image files that get loaded now, I have no idea where this is coming from, so really hard to try and figure out which images suddenly are failing to load

@nazgum I just cherry-picked #43490 for the 3.x and 3.4 branches, so it should be included in 3.5 and 3.4.3.

awesome thanks @akien-mga!! =)


[Backport] [1.x] Use BuildParams.isCi() instead of checking env var (#5368)

Backport of https://github.com/opensearch-project/OpenSearch/pull/5368 to 1.x

Codecov Report

Merging #5374 (0d1bc73) into 1.x (9987967) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                1.x    #5374      +/-   ##
============================================
- Coverage     77.93%   77.92%   -0.01%
- Complexity    63444    63471      +27
============================================
  Files          4454     4454
  Lines        275052   275052
  Branches      41175    41175
============================================
- Hits         214350   214343       -7
+ Misses        43792    43786       -6
- Partials      16910    16923      +13

Impacted Files
Coverage Δ

...nsearch/indices/recovery/PeerRecoveryNotFound.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/opensearch/action/NoSuchNodeException.java
0.00% <0.00%> (-50.00%)
:arrow_down:

.../action/ingest/SimulatePipelineRequestBuilder.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...n/indices/upgrade/post/UpgradeSettingsRequest.java
30.00% <0.00%> (-45.00%)
:arrow_down:

...search/snapshots/InvalidSnapshotNameException.java
40.00% <0.00%> (-40.00%)
:arrow_down:

...search/aggregations/metrics/ParsedPercentiles.java
48.42% <0.00%> (-31.58%)
:arrow_down:

...opensearch/transport/TransportResponseHandler.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...uster/storedscripts/DeleteStoredScriptRequest.java
40.00% <0.00%> (-24.00%)
:arrow_down:

...pensearch/index/shard/SearchOperationListener.java
75.53% <0.00%> (-23.41%)
:arrow_down:

...g/opensearch/action/get/MultiGetShardResponse.java
76.92% <0.00%> (-23.08%)
:arrow_down:

... and 477 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Mod prevents creation of new materials

Somehow, and I have no idea how, since this just started after an update possibly and I'm not sure which one, but it seems like this mod breaks the new material menu. Either trying to create one thru the dev tip or material tip, or via conversion of an existing material, it's simply blank.

It also straight up removes the material menu in the create new dev tip menu

Here's a clean log where it happens.
MA3A-6-REDUX - 2<IP_ADDRESS>9 - 2023-10-19 08_04_30.log
Seems line 1023 is where the stack trace is
Thank you!

Did you do anything in particular to trigger this?
Other than that, the Exception you point to is a common thing with the context menu it would seem. It's something trying to drive a field that's already driven and being blocked.

Nope. I just noticed it while working on my world. Joined another world not hosted by me and the issue persisted.
The problem disappears when I remove the mod

Never mind. Turns out it must be a different one because its suddenly cropped up again despite removing the mod.
Sorry for the confusion.


Added "open" to the REPL

In REPL:

Makes it easier to work on screens. Just open MyScreen and you see it.
(Tested and does work)

Do you think adding open to every object could be problematic? Do you know a better way to add something to REPL?

Does this align with ProMotion?   It's not much to simply call rmq.screen.open if that's what one wants.   Or even app.open would be better.

app.open is a good idea.

I don't really have any REPL helpers in ProMotion, so this is more of a *Potion thing.

Going to rethink this.

open is on screens
By default REPL is in Activity
find.screen.open


Remove trailing array comma in es6-call-spread-visitors.js

Makes it work in IE8 and consistent with other visitors.

:thumbsup: thanks!


Seminar Update of 200721

@JoshOrndorff  I see. You have the seminar description text ready in the calendar. I pretty much just copy and paste :)
Thanks for the advanced preparation.

can you add me to this branch please @jimmychu0807 or update July 21st to include my name/information please


Run tests for wasm crate

I encountered a few problems while testing wasm crate

If we try to run the cargo test without
--target wasm32-unknown-unknown then we will encounter the problem of

cannot call wasm-bindgen imported functions on non-wasm targets

and in fact we will not be able to work with JsValue, call serde_wasm_bindgen::from_value() , serde_wasm_bindgen::to_value(). Also we won't be able to create JsValue from json (which I planned to do to create test data)

At the same time, if we run cargo test with --target wasm32-unknown-unknown, we encounter a compiler bug.
locals exceed maximum (at offset 28040301) details

What is happening here is that the compiled .wasm binary contains a function that has more than that 50,000 local
variables in it. As it turns out, the tool that parses the wasm file has a hard limit of 50,000 local variables

One theory is that the error
locals exceed maximum (at offset 28040301)
is related to proving-keys and there is hardly an easy way to fix it .
This would explain that in the early stages of wasm crate development I successfully ran tests with --target wasm32-unknown-unknown (there were no proving-keys back then)

Compiling with --release fixes this. For instance wasm-pack test --node -- --test test_file_name --target wasm32-unknown-unknown --release


Compile error with Bluetooth disabled

When Bluetooth is disabled through make menuconfig, compilation results in the following error:
In file included from /mnt/c/Users/Han/Documents/Projects/esp32base/components/cpp_utils/./BLESecurity.cpp:8:0: /mnt/c/Users/Han/Documents/Projects/esp32base/components/cpp_utils/BLESecurity.h:10:29: fatal error: esp_gap_ble_api.h: No such file or directory  #include <esp_gap_ble_api.h>
It seems BLESecurity.cpp lacks a guard on CONFIG_BT_ENABLED.

Thank you sir.  We have made the fixes you identified.  Many thanks for reporting and especially many thanks for taking the time to investigate.   We apologize for the inconvenience that this caused.  I'd love to say we'll do better in the future ... but I'm quietly confident that we'll make these mistakes over and over and over :-)   Please review and close at your leisure.

Compiling with Bluetooth disabled no longer generates error messages.


hono/cloudflare-pages 404 handler doesn't work

As shown in the snippet below, when using hono's cloudflare pages handler, it doesn't inherit the 404 handler of the original app, so it responds with Hono's generic plaintext 404 (thanks to new Hono().route(...))
export const onRequest = handle(app, '/api');

https://github.com/honojs/hono/blob/fea78f29bd681350ce61dd71b33042aa6ec7db5c/src/adapter/cloudflare-pages/handler.ts#L17-L22

Hi @Skye-31 !
Yes, you are right. app.route() does not inherit the Not Found handler of "subApp". So we were about to deprecate passing pass as the second argument. Instead that, we can specify base path with basePath method that is not merged:
const app = new Hono().basePath('/api')

//...

export const onRequest = handle(app)


increase [David] service test timeouts

We've had persistent issues with the David tests (and badges) for a while a now, and an unfortunate side effect of this has been that our daily service test runs have been in a constant state of red/failure for a very long time now. I worry that this constantly failing status of our daily service test runs are starting to defeat the purpose of their existence, as it's human nature to start to ignore the jobs (I confess I rarely check each of the two daily runs anymore because of this).
The root cause of the David failures were upstream issues with the platform that largely seem to have been resolved by some infrastructure/runtime environment changes there, but we're still getting test timeout issues (https://app.circleci.com/pipelines/github/badges/daily-tests/659/workflows/eb63b021-d2a6-4afb-81ea-9ba7b68474e5/jobs/1557)
As such I'm proposing an extensive timeout increase for these David tests. Obviously any badge request that needs 15 seconds will largely be useless in most common badge contexts, but I think it's worth trying it in this case anyway. I'd really like to get our daily test runs back into a passing (and IMO useful) state, and I don't think that it's worth blocking that possibility on these tests given the historical nature of these badges and tests

Messages

:book:
:sparkles: Thanks for your contribution to Shields, @calebcartwright!

  Generated by :no_entry_sign: dangerJS against 95876956c9fd00849c0aa57c03bbd1acd60fa29f

🤞 hopefully won't be necessary after https://github.com/badges/shields/pull/5968

@PyvesB - sorry for the delay, needed to account for the updated 5XX response status code to get the last couple service tests passing. Should be all set now if you can re-:+1: whenever you get a chance


chore: Remove obsolete legacy visualizations

SUMMARY
This is a rehash of https://github.com/apache/superset/pull/24675 without the deprecation of the TableViz as sadly the legacy visualization is deeply entangled with the annotation layers. Specifically this PR removes the following obsolete chart types:

BigNumberViz
BigNumberTotalViz

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TESTING INSTRUCTIONS
CI.
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Required feature flags:
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Closing in favor of https://github.com/apache/superset/pull/24694.


Update Composer dependencies (2021-01-15-00-11)

Visual regression test failed!

Visual regression test failed!


Falcon 6.35 Helm installation issue in GKE

I have already Falcon deployed on GKE using 6.33.0 Falcon Sensor & 1.6.2 Helm Chart version without issues.
I am trying to upgrade to 6.35.0 using Helm chart version 1.11.0 (which according to the readme is compatible).
I downloaded Ubuntu latest 6.35 deb from https://falcon.crowdstrike.com/hosts/sensor-downloads
Then I built the image. Tagged it and pushed it to my repo
git clone git@github.com:CrowdStrike/Dockerfiles.git Crowdstrike-Dockerfiles
cd Crowdstrike-Dockerfiles
docker build --no-cache=true --build-arg BUILD_DATE=$(date -u +'%Y-%m-%dT%H:%M:%SZ') --build-arg VCS_REF=$(git rev-parse --short HEAD) --build-arg FALCON_PKG=falcon-sensor_6.35.0-13207_amd64.deb -f Dockerfile.ubuntu -t falcon-sensor:6.35.0 .

docker tag falcon-sensor:6.35.0 us-central1-docker.pkg.dev/my-artifact/docker-registry/crowdstrike/falcon-sensor:ubuntu-6.35.0
docker push us-central1-docker.pkg.dev/my-artifact/docker-registry/crowdstrike/falcon-sensor:ubuntu-6.35.0

and deployed it via Helm
$ helm upgrade --install falcon-helm crowdstrike/falcon-sensor -n falcon-system --set falcon.cid="$FALCON_CID" --set node.image.repository="us-central1-docker.pkg.dev/my-artifact/docker-registry/crowdstrike/falcon-sensor" --set node.image.tag="ubuntu-6.35.0" --version 1.11.0 --create-namespace

The init containers init-falconstore fail in the daemonset with the following error
0s          Warning   Failed             pod/falcon-helm-falcon-sensor-n9vfp   Error: failed to start container "init-falconstore": Error response from daemon: OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: mkdir /opt/CrowdStrike: read-only file system: unknown

It seems that I cannot deploy 6.35 in GKE with 1.7.0+.
I have also tried the same process using the Dockerfile.debian file with no luck.
I have also tried removing the mkdir -p command from the daemonset, again no luck.
The OS of my GKE nodes is the default Container-Optimized OS with Docker ( cos ).
https://github.com/CrowdStrike/falcon-helm/tree/1.11.0/helm-charts/falcon-sensor#kubernetes-cluster-compatability

Hello, starting with sensor version 6.35 and helm chart version 1.7.0+, the supported version of the sensor can only be downloaded from registry.crowdstrike.com. Building from the dockerfiles will no longer work.

@redhatrises I'm in the same situation. But I have tried sensor version 6.44.14108, 6.41.13804, and 6.39.13601, and all versions still have the same error with helm chart version 1.17.6. The OS of my GKE nodes is also the default Container-Optimized OS with Docker ( cos ). It appears the gke node hostpath mounts are all read-only, so I have been unable to create the falconstore file. The only work around I have gotten to work is doing the following:

remove the hostpath mount, and use an empty dir
update the init container to run falconctl as unpriviliged to create the falconstore file (I have to run the init container as unprivileged, otherwise falconctl fails to find/read/write /opt/Crowdstrike/falconstore)
Update the run command of the main container to only start the falcon-sensor, and not run falconctl


[stable/sonarqube] Upgrade chart for new sonarqube images

Update LTS version from 6.7.3 to 6.7.6-community.
Starting 6.7.6 and 7.4 sonarsource has changed their docker images.
Images don't need a specific command to be run when starting the
container.
Allow users to override command if needed.
Bump chart version.

What this PR does / why we need it:
It fails to start with new images because it does not start as root and so can not create /scripts directory.
Sonarqube change the way docker images start since 6.7.6-community and 7.4-community, so
make the  command field configurable in order to work with the new images and keep the possibility to start old images.
Also, I update the default version to the last LTS version available: 6.7.3 to 6.7.6-community.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/ok-to-test
/assign
/lgtm

Thanks for the update. I'm glad we no longer need to override the start command.


Params are not passed to the route

Hey,
I'm trying to pass an id to a specific route, but the param is never passed.
'/post/:id': {
    component: require('./components/blog/post.vue')
},

a.btn.btn-link(v-link="{ path: '/post', params: { id: '1' }}") Ler Mais...

Anyone can help me, I do not know what to do.

Can you provide reproduction? (jsfiddle?)

Ok... I used the example on the vue-router documentation as base... https://jsfiddle.net/onsg89e1/

Params make sense together with name: https://jsfiddle.net/onsg89e1/1/
You don't need params if you are using path. If you want to use path, just do: path: '/foo'+1

Ok... Now I understand. I think the documentation is not very clear what comes to this matter.
Tks ;)

@azamat-sharapov you jsfiddle is not working neither (at least, not anymore).
The JSON is not visible

@melanke https://jsfiddle.net/onsg89e1/2/ (vm.$router changed into vm.$route).


Get viz api calls correctly

Move api calls fetch to lib so it can be used from different places
@Kartones @rafatower @zenitraM please CR

Frontend tests were OK :+1: (details)

Frontend tests were OK :+1: (details)

:+1: I like it, if for only because of getting it out of User model. Wait for kartones so he's aware (but I don't think it affects the refactor at this point and should make it a bit easier in the near future).

Frontend tests were OK :+1: (details)

Marked so tomorrow I either coordinate with @juanignaciosl or fix it myself, but this was
a) needed
and
b) eases things a lot, changes are minimal in both User and Visualization models and new code is really smal
That's why I gave him green light on my side