Error with non US-ASCII user names / full names (Slack)

I cannot run the auth users find command if the User's profile contains non US-ASCII characters.
Here is an example from the logs if I am looking for my user which has "Jürgen Brüder" as a full name in the Slack profile:
2016-07-25_12:14:50.05531 /opt/lita/vendor/ruby/2.1.0/gems/multi_json-1.12.1/lib/multi_json/adapters/json_common.rb:19:in `encode': "\xC3" on US-ASCII (Encoding::InvalidByteSequenceError)
2016-07-25_12:14:50.05536 	from /opt/lita/vendor/ruby/2.1.0/gems/multi_json-1.12.1/lib/multi_json/adapters/json_common.rb:19:in `to_json'
2016-07-25_12:14:50.05539 	from /opt/lita/vendor/ruby/2.1.0/gems/multi_json-1.12.1/lib/multi_json/adapters/json_common.rb:19:in `dump'
2016-07-25_12:14:50.05540 	from /opt/lita/vendor/ruby/2.1.0/gems/multi_json-1.12.1/lib/multi_json/adapter.rb:25:in `dump'
2016-07-25_12:14:50.05541 	from /opt/lita/vendor/ruby/2.1.0/gems/multi_json-1.12.1/lib/multi_json.rb:139:in `dump'
2016-07-25_12:14:50.05542 	from /opt/lita/vendor/ruby/2.1.0/gems/lita-slack-1.7.2/lib/lita/adapters/slack/rtm_connection.rb:89:in `payload_for'
2016-07-25_12:14:50.05544 	from /opt/lita/vendor/ruby/2.1.0/gems/lita-slack-1.7.2/lib/lita/adapters/slack/rtm_connection.rb:104:in `safe_payload_for'
2016-07-25_12:14:50.05545 	from /opt/lita/vendor/ruby/2.1.0/gems/lita-slack-1.7.2/lib/lita/adapters/slack/rtm_connection.rb:62:in `block (2 levels) in send_messages'
2016-07-25_12:14:50.05546 	from /opt/lita/vendor/ruby/2.1.0/gems/lita-slack-1.7.2/lib/lita/adapters/slack/event_loop.rb:10:in `block in defer'
2016-07-25_12:14:50.05547 	from /opt/lita/vendor/ruby/2.1.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:1076:in `call'
2016-07-25_12:14:50.05548 	from /opt/lita/vendor/ruby/2.1.0/gems/eventmachine-<IP_ADDRESS>/lib/eventmachine.rb:1076:in `block in spawn_threadpool'

There is no output/message reaching the Slack channel where the command was issued.
The expected output/message would be:
Jürgen Brüder (ID: <USER-ID>, Mention name: jaybrueder)

The problem does not exists if I change my full name to "Juergen Brueder" in Slack.

Could you add the following line to the top of your lita_config.rb and see if it helps?
Encoding.default_external = Encoding.default_internal = Encoding::UTF_8


Add Git Bash to available shell when installed

All good? Then proceed!
--> yes
Description of the new feature/enhancement
Add Git Bash to the available shell when installed on the system
Proposed technical implementation details (optional)
1)Add Git Bash option between the available choices
2)I propose to look up to the standard installation folder and is not there a file-path to the binaries. Actually, I didn't search on your implementation how is done, but ignore this point is not fit.
3) keep your good work, I'm loving it!

Duplicate see #1394

Indeed. In addition to this, we're not intending on adding much more automatic detection. It doesn't scale, and it often does things users don't want. It's harder to get it right when we're just guessing what folks want, so we're looking at features that allow applications to specify their profiles (so Git Bash could add itself, if you opt in) instead. Hope that helps!
/dup #1394.


AtmoOrb smoothing additions

1. Tell us something about your changes.
Added new AtmoOrb options:

Choose between Orbs internal smoothing or that of Hyperion  and defined by useOrbSmoothing bool setting (true = external Orb smoothing)
minimal color (0-255) difference to override smoothing so that if current and previously received colors are higher than diff we override Orbs external smoothing and is defined by skipSmoothingDiff integer setting

skipSmoothingDiff setting allows for faster transitions when the minimal color difference is defined (0-255), for instance if you go from full white to black it can clear smoothing right away for instant color change, this is only used when Orbs smoothing is enabled (useOrbSmoothing = true);
2. If this changes affect the .conf file. Please provide the changed section
Removed bool setting: switchOffOnBlack
Added new bool setting: useOrbSmoothing
Added new integer setting: skipSmoothingDiff (0-255 range)
Sample config and updated wiki:
https://gist.github.com/RickDB/dfbb39c16a556ffe591b
https://github.com/tvdzwan/hyperion/wiki/AtmoOrb-device

@RickDB
Ready?
useOrbSmoothing -> default false or true?


[Feature] Update SecurityIndexAccessEvaluator to support new index permission

New permission for read/write access on system indexes
A new permissions should be created a starting point is 'system:admin/system_index', where 'system:' is a new convention. The new permission name should be used where {NEW PERMISSION R/W SYSTEM INDEX} is seen in the rest of this document
Updates to SecurityIndexAccessEvaluator
SecurityIndexAccessEvaluator is responsible for accepting/rejecting modifications to the system index. This class will be modified so the evaluate(...) method includes the permissions from the current user has '{NEW PERMISSION R/W SYSTEM INDEX}' permissions for each index in the request. If allowed on all the system indexes in the request, then preemptively return, otherwise use the conventional evaluation flow.
Along with this should be a new integration test that verify:

The new permissions applies to the indexes that match its index pattern, no other system indexes.
The new permissions allows for read and write operations on the permitted index(es)
(Should already exist, if not add) Make sure that '*' allowed actions doesn't automatically give '{NEW PERMISSION R/W SYSTEM INDEX}' access

@peternied  @scrawfor99  Sorry if the answer is obvious, but I have a question, each Extension will have it's own index? or is it only one index called "system_index"  that will contain info for all extensions? And Piggybacking on that, each extension would have it is own User and Role?

Additional background on system indexes configuration / security plugin interaction https://opensearch.org/docs/1.3/security/configuration/system-indexes/
Plugins implement the SystemIndexPlugin interface when they can describe N system indexes, [link].  Extensions will do the same (but that is out of scope for this task).
Check out how different plugins use them by searching through the org [search results].

Hi!
"The new permissions allows for read and write operations on the permitted index(es)"
So a user mapped to the following role:
myExtensionRole:
  description: "Extension Role"
  cluster_permissions:
    - '*'
  index_permissions:
    - index_patterns:
        - '.myExtensionIndex'
      allowed_actions:
        - "system:admin/system_index"

Should be able to read/write  without any of the existing  allowed actions ? (e.g.  "indices:admin/get" )
Cause i was thinking, couldn't just block the access if it is trying to access and extension index without the new permission and if it has the new permission, proceed with the remaining existing permission checks?

I created a draft PR: https://github.com/opensearch-project/security/pull/2681
Here are some scenarios:
Given a index called 'system_index_b' configured as a 'system index'
The role below would be able to access system_index_b
extensions_role_b:
  description: "Limited ExtensionsRole"
  cluster_permissions:
    - '*'
  index_permissions:
    - index_patterns:
        - 'system_index_b'
      allowed_actions:
        - '*'
        - 'system:admin/system_index'

The role below would not be able to access system_index_b
extensions_role_c:
  description: "Limited ExtensionsRole"
  cluster_permissions:
    - '*'
  index_permissions:
    - index_patterns:
        - 'system_index_c'
      allowed_actions:
        - '*'
        - 'system:admin/system_index'

The role below would not be able to access system_index_b
all_access_role:
  description: "Limited ExtensionsRole"
  cluster_permissions:
    - '*'
  index_permissions:
    - index_patterns:
        - '*'
      allowed_actions:
        - '*'

Is that in the right direction?
@cwperks  ``` I'm not sure if it makes sense to introduce an action name that can be assigned in a role, without tying it to an actual action in OpenSearch. system:admin/system_index should correspond to the name of a transport action in OpenSearch.

Could you please expand on that?

Thanks

Hi @samuelcostae, thank you for opening a draft PR! The general problem for extensions that needs to be solved is how to ensure that an extension can write to a set of indices that it reserves and that any other user (including the admin with all_access role) cannot interact with those indices since the extension relies on those indices to function properly. In the plugin architecture, plugins have the ability to meddle with other indices but since plugins are inherently trusted its assumed that they won't. Good intentions are great, but with security there needs to be assurances that the extension won't cease to operate normally because an admin inadvertently deleted an index that it relies on to run.
What's proposed here is one way to go about making system indices assignable via a role, but IMO the protection is not strong enough and breaks with convention. Any action name that you see in a roles definition: i.e.
cluster_permissions:
    - 'cluster:action/name/1'
    - 'cluster:action/name/2'
  index_permissions:
    - index_patterns:
        - '*'
      allowed_actions:
        - 'indices:action/name/1'
        - 'indices:action/name/2'

Are all connected to a TransportAction. See SearchAction (indices:data/read/search) for an example: https://github.com/opensearch-project/OpenSearch/blob/main/server/src/main/java/org/opensearch/action/search/SearchAction.java#L45
IMO what I would like to see for system accounts is a new type of account different from a regular user. This type of account would be called a Service Account and that account could be associated with an external service (re: extension). If that extension reserves indices (similar to plugins that extension SystemIndexPlugin), then the service account should be permitted in some way to interact with the indices that its requesting to reserve. For Anomaly Detection, that would be the set of index patterns: [".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state"]

One general question I have for the proposed solution here, would all_access be given this new permission system:admin/system_index or would there be some way to exclude this from a user with the all_access role?
There was another PR that introduced new permissions, but added logic to prevent them from being assigned if a user entered * for all of the cluster_permissions or index_permissions.

One general question I have for the proposed solution here, would all_access be given this new permission system:admin/system_index or would there be some way to exclude this from a user with the all_access role?
@cwperks  In the implementation in the draft PR, and considering all_access user exemplified above, the user not able to access/modify the extension's system indexes, even with the "*" permission

@samuelcostae Got it, sorry I have not had a chance to review the Draft PR just yet. I will get around to that today. I think this proposal could work, but I do have some concerns about a roles definition like:
all_system_indices:
  index_permissions:
    - index_patterns:
        - '*'
      allowed_actions:
        - 'system:admin/system_index'

That would be a powerful role and what would prevent an admin from assigning themselves to this role?

@cwperks @peternied Sorry for crashing this conversation, but I just have a curious question :-)
I am a bit confused by associating an extension with a role. So far, users are associated with roles. So, when talking about a role which provides privileges to an extension-specific system index, who is supposed to have this role?

Any user who is supposed to use the extension?
Background processes the extension is spawning?
Or, is a role which provides system index privileges not supposed to be assigned to a user. If so, where it is supposed to be used?

Hi @nibix, IMO there needs to be a strong level of ownership between an extension and the set of indices it wants to reserve. Sorry I did not get a chance to review this issue earlier and only pointed out a concern with this design yesterday. The main problem that needs to be solved for extensions is how an extension can write/read/create/delete to a reserved set of indices and have some guarantees that other users or extensions cannot meddle with the indices. In the plugin model, a plugin can stash its threadcontext and at that point it has full privileges to the cluster so on some level there is intrinsic trust that a plugin will behave with good intentions. With extensions, its not enough to rely on good intentions alone there need to be mechanisms to prevent unwanted behavior.
Take below the settings for the HelloWorld extension:
extensionName: hello-world
hostAddress: <IP_ADDRESS>
hostPort: 4532
opensearchAddress: <IP_ADDRESS>
opensearchPort: 9200
reservedIndices: [".hello-world"] // Example setting to supply the list of indices this extension would like to reserve. This supports wildcards as well.

For Anomaly Detection that set of indices would be [".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state"]
Can we create a mechanism for the HelloWorld extension to write to that set of reserved indices? Assuming that the extension uses the REST-Layer to make calls to the OpenSearch cluster? The only current mechanism to support writing to the .hello-world index via a REST request would be to connect with the admin certificate.
Options

One idea put forth to accomplish writing to a reserved index is to create a token for the service/extension that conveys the identity of the service. When the security plugin receives a request with this token it could lookup in a registry of extensions the list of reserved indices for that extension and authorize the request using this list. The scope of this token would be narrow to only permit requests with the reserved set of indices and no more.

The idea for this approach is inspired by this log line in SecurityIndexAccessEvaluator
{} for '{}' index is not allowed for a regular user

Where the privileges for this request would be evaluated differently because the request is not coming from the regular user, its coming from a service account associated with the extension and that extension owns that set of indices. For the tokens that would be generated that are used to authorize REST requests there is some ongoing discussion on whether the tokens should be bearer tokens or basic auth tokens. Consideration needs to be given to how extensions can obtain new tokens if they need to be refreshed or rotated.

If an extension can be reliably identified via TLS on the transport-layer it may be possible for an extension to use the transport-layer for such requests to interact with its reserved set of indices. There is ongoing work with extension TLS here: https://github.com/opensearch-project/opensearch-sdk-java/pull/619

So we wouldn't be actually assigning the  role to an extension right?
It would be a separate process where the extension would register with security and say "Hey, i'm an extension, my unique id is 'hello-world'  and those are my reserved indices. Do not let anyone but myself access those indices, and give me a token so you know that I am me"
And then the extension would send the token with every request.

@samuelcostae Yes, exactly! You get the idea. This is the second time today where I've seen tokens personified to explain how they work 🤣 . On HN (https://news.ycombinator.com/item?id=35720006) there is a comment explaining how OAuth tokens work in a similar way.
The only edit I'd make is that these tokens wouldn't be used on every request, just the requests where the extension wants to write to its reserved indices.
Take 2 different extension scenarios:

Let's say I have a HelloWorldExtension again.

If I call /_extensions/_hw/hello it prints out Hello, World!, but there is an endpoint where I can update the text that it will print out so that it doesn't say Hello, World! any longer but can say Hello, Craig!. So if a user calls:
/_extensions/_hw/update/{name}

The handler that handles this REST Request could use the token described in this issue to update the reserved index to persist the new name and look it up on subsequent calls to /_extensions/_hw/hello. The next time the user calls /_extensions/_hw/hello it would print out Hello, {name}!.
The reserved indices are a place where the extension can store these settings to persist them and look them up on future requests. In the case of Anomaly Detection as an Extension, the detector metadata and results of the run of a detector are stored in indices reserved by the extension.

This is contrived, but now imagine there is a WordCountExtension that has super fast implementations that helps a user count instances of words appearing in documents within OpenSearch.

Let's say a user calls an endpoint:
/_extensions/_hw/count_word_instances
{
    words: ["needle"],
    indices: ["haystack"]
}

and the handler for this REST Request would then have to call OpenSearch to search for documents containing the term needle in the haystack index. How is this request authorized? Some thoughts have been posted already in this gist which will hopefully soon be posted in the DESIGN.md document of the SDK. When the extension makes a REST request to search for documents containing the term needle in the index haystack it wouldn't use the service account token in this instance, instead of would use an on-behalf-of token which is issued on behalf of the user who initiated the REST request. The reason for that is the security system needs to verify that the original user is authorized to search documents in the haystack index in addition to any restrictions imposed on the extension by the cluster admin.
There is active debate on how the on-behalf-of tokens would be authorized and some of the debate is captured in this section of the gist: https://gist.github.com/cwperks/e756e1cead72cd511d819241a11337e8#on-behalf-of-tokens-authorization. Any comments are welcome!

@cwperks Ah, thank you for the explanation. That totally makes sense!

Thanks @cwperks
Connecting this to the rest level authorization  https://github.com/opensearch-project/security/issues/2622 , would it make sense for  the extension to also register its 'protected REST endpoints' ?

@samuelcostae yes, extensions need to register their paths and handlers with OpenSearch and that currently happens during the extension bootstrap process here.
The issue described here is unrelated to REST-layer authz so this may not be the best place for discussion.
Read this section on the gist for REST-layer authz: https://gist.github.com/cwperks/e756e1cead72cd511d819241a11337e8#rest-layer-authorization. One of the problems that needs to be solved is how to map a route that an extension registers to a simple name that can be placed in a roles definition. For plugins being converted to extensions, it also needs to support the legacy name of the current action as a plugin.
This open PR takes a stab at mapping a route to a name that can be placed in a roles definition, but more work needs to be done to support backward compatible legacy naming and how plugins can migrate index permissions to the new model like the ism action referenced in the gist.

@peternied @samuelcostae What do you think about a permission that can grant access to protected indices. i.e. system:admin/protected_index instead of system:admin/system_index? This permission would be similar to the setting plugins.security.protected_indices.roles which would allow a user with the permission assigned to meddle with protected indices.
Originally, the goal was to convert AD backend from a plugin to an extension without any configuration migrations, just a drop-in replacement. That may not be possible. In bringing up this change from system -> protected indices I am suggesting that extensions use protected indices, but not system indices.
# opensearch.yml

plugins.security.protected_indices.enabled: true
plugins.security.protected_indices.indices: [".opendistro-anomaly-results*", ".opendistro-anomaly-detector*", ".opendistro-anomaly-checkpoints", ".opendistro-anomaly-detection-state"]

The problem I see with this though is that these lists from opensearch.yml that provide the list of system indices or protected indices are not dynamic and we will need these to be dynamic for extensions. i.e. on extension installation it reserves a set of indices and those indices get special protection from the security plugin. If we rely on settings in opensearch.yml these are not dynamic.

@cwperks Sounds like feature creep, the point of this feature is to allow modification of the system indices.  Administrators can do things like disable SSL or delete all indices in a cluster, lets not go overboard trying to prevent bad actor administrators.
Is the name a blocker? They are called system indices today, if we alter the names on the permissions types it will not be clearly aligned.  Could you open up an issue in core on how you'd like to see this evolve?

@peternied This comment outlines the thoughts I have around how to get reserved indices working for extensions and @samuelcostae responded with a good reply that explains the idea more succinctly: https://github.com/opensearch-project/security/issues/2553#issuecomment-1524186519
IMO a system index is an index that is vital for an opensearch cluster to run normally. As plugins, I think its apt to call the indices that plugins rely on system indices because exceptions in plugins that run in the same JVM as an opensearch node have the potential to take down a node if they are not handled gracefully.
With extensions, these indices are vital for an extension to run but not necessarily an opensearch node. I don't think it makes sense to refer to these as system indices but they should still receive protections as system indices since extensions rely on them to function.

@samuelcostae I know there has been a lot of discussion on this issue, Extensions are driving the priority for this feature area, but this feature is not limited to extensions which has driven some of the disconnects.  The expectation for this item is limited to only what is in the description, which I have quoted below.  If you've got additional questions please feel free to ask them here, but I think a draft PR might be a better starting point.
There has been great feedback in this issues comments (shoutout to @cwperks!) and I think many aspects can be best addressed in a pull request around the code - I will try to capture those when a draft / full PR is published.

New permission for read/write access on system indexes
A new permissions should be created a starting point is 'system:admin/system_index', where 'system:' is a new convention. The new permission name should be used where {NEW PERMISSION R/W SYSTEM INDEX} is seen in the rest of this document

Updates to SecurityIndexAccessEvaluator
SecurityIndexAccessEvaluator is responsible for accepting/rejecting modifications to the system index. This class will be modified so the evaluate(...) method includes the permissions from the current user has '{NEW PERMISSION R/W SYSTEM INDEX}' permissions for each index in the request. If allowed on all the system indexes in the request, then preemptively return, otherwise use the conventional evaluation flow.

Along with this should be a new integration test that verify:

The new permissions applies to the indexes that match its index pattern, no other system indexes.
The new permissions allows for read and write operations on the permitted index(es)
(Should already exist, if not add) Make sure that '*' allowed actions doesn't automatically give '{NEW PERMISSION R/W SYSTEM INDEX}' access

Would you mind refreshing that pull request and following up on the existing feedback threads to drive this forward?

https://github.com/opensearch-project/security/pull/2681

Folks, 2 questions for my understanding:

Who should/ will be able to assign these permissions to a role? Is it super-admin only or can any other admin do it too.
Will there be setting that enables/disables this feature? Something similar to: https://github.com/opensearch-project/security/blob/main/tools/install_demo_configuration.sh#L384

Who should/ will be able to assign these permissions to a role? Is it super-admin only or can any other admin do it too.

Anyone that can update permissions on a role can add these permissions - they behave the same way all other permissions operate for assignment.

Will there be setting that enables/disables this feature?

For operators of managed services this seems like a good option to give them more control.  I've created #2845 and added it to the meta issue associated with this work

@peternied @cwperks How should access to security index be covered? Should it be an exception to this feature or should this index be granted access the same way other it is granted to other system indices.
IMO, access to security index should still be admin-cert only. This will add additional safety measures to ensure a normal user doesn't accidentally delete the security index leading to blocked access for everyone but the super admin.
We can maintain an "exception list" of indices which can still only be accessed by super admin. In addition to this, we can also add a feature flag (saw it as part of #2681 but not in the refreshed #2887) to control enabling-disabling the feature.
This will give cluster admin some room to control this feature.

@peternied @cwperks How should access to security index be covered? Should it be an exception to this feature or should this index be granted access the same way other it is granted to other system indices.
IMO, access to security index should still be admin-cert only. This will add additional safety measures to ensure a normal user doesn't accidentally delete the security index leading to blocked access for everyone but the super admin.
We can maintain an "exception list" of indices which can still only be accessed by super admin. In addition to this, we can also add a feature flag (saw it as part of #2681 but not in the refreshed #2887) to toggle enabling-disabling the feature. I see that #2845 was already created to address this issue. This will give cluster admin some room to control this feature.

In addition to that other test that is "failing" due to the changes are "Search All", as that includes the security cluster. We also need to define that the behaviour in that case

Dropping a link to the conversation around V6 deprecation: https://github.com/opensearch-project/security/issues/2967


using a local Configuration object instead of the global one to avoid…

… problem with parallelisation

Hi Cedric,
The changes broke the build, as visible from the stacktrace in Travis:
    Caused by: org.apache.commons.configuration.ConfigurationException: Application incomplete: Arguments provided cannot be used to create an application identifier. Group and artifact must be specified and cannot exceed 128 characters, version must be specified and cannot exceed 96 characters
    	at com.sap.psr.vulas.core.util.CoreConfiguration.getAppContext(CoreConfiguration.java:155)
    	at com.sap.psr.vulas.core.util.CoreConfiguration.getAppContext(CoreConfiguration.java:146)
    	at com.sap.vulas.gradle.AbstractVulasTask.prepareConfiguration(AbstractVulasTask.java:85)
    	at com.sap.vulas.gradle.AbstractVulasTask.executeTask(AbstractVulasTask.java:151)
    	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)

Maybe this is related to how the Gradle tests invoke the plugin?
Cheers, Henrik

Interestingly, I was not able to reproduce locally using mvn -P gradle -pl plugin-gradle clean test

Also mvn -P gradle,soot clean test worked locally. However, another Travis job failed again ...

I made a small change to AbstractVulasTask such that the specific instance of VulasConfiguration is also passed to the method CoreConfiguration.getAppContext. If that is not done, the application context will be constructed from the global configuration.


How is Hologram server different from STS?

Hologram server and STS seem equivalent at first glance: http://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html
What does Hologram server provide that STS doesn't? Why not use STS as the backend for Hologram agent?

Essentially hologram is a proxy to sts - the server uses sts api on the
back. The main problem we were trying to solve is distributing aws keys -
if the agent connects directly to sts, the agent then needs aws keys.
It also centralizes auth, so we can gate it with ldap, vpn etc. we intend
to also restrict user access to roles - you could do this in iam but we
also don't want to manage user specific accounts in iam
On Wednesday, April 1, 2015, Grant Rodgers<EMAIL_ADDRESS>wrote:

Hologram server and STS seem equivalent at first glance:
http://docs.aws.amazon.com/STS/latest/UsingSTS/Welcome.html
What does Hologram server provide that STS doesn't? Why not use STS as the
backend for Hologram agent?
—
Reply to this email directly or view it on GitHub
https://github.com/AdRoll/hologram/issues/39.

Thanks for the info @walterking! The local metadata service would definitely make using AWS apis much easier.

if the agent connects directly to sts, the agent then needs aws keys.

STS supports auth methods that don't require AWS keys in advance. Check out http://docs.aws.amazon.com/STS/latest/UsingSTS/CreatingFedTokens.html#saml-temp-creds. If your LDAP or VPN identity provider supports SAML, you can send a SAML assertion to STS in an unsigned request and get aws keys back.

@grantr ultimately even with SAML, you need some other server/entity making sure you're who you say you are and certifying that. The hologram server is conceptually just that, even if the mechanism is slightly different. The hologram agent is just emulating the EC2 instance credential mechanism on a user machine.


Add gperftools for channel usage memory profiling

For adding in gperftools memory profiling in the channel memory usage benchmark.
Todo: Remove memory profiling flag, and add note to add define for memory profiling to memory_diff.py

@ananda1066 are you taking care of landing this or am I (I honestly forget!)

I have it somewhere on my to-do list :)

lol, how's that TODO list looking?

Ummm emphasis on somewhere LOL


Zooming into detail text stays at same scale

When zooming in on the demo, the text for roads, places etc all stay at the original scale where as the vector features scale as you zoom. This makes trying to zoom to read text impossible.

Thanks a lot for reporting this issue, I also think the font size is too small right now.


VelocityControl python bindings

Motivation and Context
Pushing VelocityControl struct into python bindings.
Supporting changes:

added get/set for gravity to Simulator bindings
VelocityControl now stored and used via smart pointers

How Has This Been Tested
New python test tests/test_physics::test_velocity_control and changes to tests/test_physics::test_dynamics for gravity.
Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

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

def test_agent_forward():
    agent_node = sim.agents[0].scene_node
    sim.add_object(0, agent_node)
    #sim.set_translation(np.random.rand(3), object_id)
    #assert np.allclose(agent_node.translation, sim.get_translation(object_id))

    vel_control = sim.get_object_velocity_control(object_id)
    # test global velocities
    vel_control.linear_velocity = np.array([1.0, 0, 0])
    vel_control.angular_velocity = np.array([0, 1.0, 0])
    vel_control.controlling_lin_vel = True
    vel_control.controlling_ang_vel = True

    old_translation = sim.get_translation(object_id)
    while sim.get_world_time() < 1.0:
        # NOTE: stepping close to default timestep to get near-constant velocity control of DYNAMIC bodies.
        sim.step_physics(0.00416)

    ground_truth_pos = sim.get_world_time() * vel_control.linear_velocity + old_translation
    print(sim.get_translation(object_id))
    print(ground_truth_pos)
    assert np.allclose(sim.get_translation(object_id), ground_truth_pos, atol=0.01)

The test fails for translating agent. The output is
agent translation after applying linear vel: Vector(-0.436783, 0.107289, 8.58296)
ground truth pose: Vector(-0.369022, 0.0843179, 8.60693)

There are changes in Y and Z as well applying X velocities only.

Is magnum being updated/changed on purpose?

Yes, we are grabbing a patch to prevent math::angle(q0, q1) from returning nan when the quaternions are very close.

There's a few new features pulled in with the submodule update (mainly shader instancing), which is why it looks so big, but nothing that could cause regressions.


Turn Flow strict mode on for DatePickerIOS

Related to #22100
Turn Flow strict mode on for DatePickerIOS.
Test Plan:

[x] npm run prettier
[x] npm run flow-check-ios
[x] npm run flow-check-android

This error was happend #22101 #22048
Release Notes:
[GENERAL] [ENHANCEMENT] [Components/DatePicker/DatePickerIOS.ios.js] - Flow strict mode

Just needs the other change to the local prop that I commented then we can land this. :+1:

@TheSavior
I fixed!!


Close tab or clear cookie when disconnect

Is there a way to clear cookies or close the tab/redirect when user gets disconnected from WebRDP?

Cookies are indeed cleared when the session is disconnected, but only when when using myrtille into an iframe. You can force the cleanup whatever the setup, and for all the cookies if you want, here and prevent a redirect here. The same thing must be done in xmlhttp.js for HTLML4.


Fix ubuntu ubuntu 16.04 and 18.04 unattended-upgrades lock

https://github.com/sky-uk/clusterverse/pull/36


Added UTECH

Added the University of Technology, Jamaica

@Tahjaye I am sorry, the domain students.utech.edu.jm is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


[FLINK-4378]Enable RollingSink to custom HDFS client configuration

Adding a new interface to rolling sink

the change is a little bigger than expected. because {{FileSystem}} will be cached once created ,to make sure the user defined configuration work,   {{fs.%s.impl.disable.cache}} need to be set true and I cache the file system to avoid creating the filesystem duplicated.

The changes look good! 👍 Thanks for the work. We recently (today) merged an updated version of RollingSink called BucketingSink. Would you be willing to forward port your changes to that as well. If you don't want to I can also do it.

@wenlong88 Are there any updates on this?

sorry,@aljoscha,  I have miss the last message in august, I will update the pr quite soon

@aljoscha i have rebase the newest master branch, and forward port the changes in rollingsink to bucketsink

@wenlong88 thanks for the update! What's the reason for setting the fs.%s.impl.disable.cache parameter explicitly?

I have commented above, it is to make sure that the customized configuration work

Ah I see. I didn't see that before, sorry. I'll merge this once it passes on Travis.
Thanks for your work! 😃

all of the test in travis have passed. thanks for merging this. ^_^

I merged it. 👍 Could you please close this PR?
I changed setHDFSConfig() to setFSConfig to reflect the fact that a FileSystem is not necessarily used only for HDFS, I hope that's ok.

it is ok for me


Is there any way to get pprof file for PGO?

First of all thanks for great product, just can't find any docs about getting pprof file for a team to use PGO. If not is there any plans to do so? Maybe you need some help with?
added request to cluster agent. looks like it can be doable there. Of course we can add UI for it not just s3 bucket :)

I've added PR to cluster agent just to start with something :) please let me know what you think

@MistaTwista apologies for the delayed response, I'll review and comment on your PR shortly


Support InfluxDB 0.9.x+

Are there plans to expand InfluxDB support past 0.8? I realize the end game for this project is hopefully being replaced by functionality built into InfluxDB, but I share a lot of the same concerns and would love to vet this for use, but we're using 0.9.x.

trivago is currently in the process of migrating to InfluxDB 0.10, so support for InfluxDB 0.9x+ is very likely. At this point in time I cannot give an ETA when it will be available.
The syntax hasn't changed that dramatically, so it shouldn't require a huge refactoring.
If you like (and if you find the time of course) you can also try to add the support yourself and send a pull request. :blush:


Oauth2 authentication

MrinDoc has Oauth2 authentication. Will it be available for RapiDoc also soon?

MrinDoc is an app that is served from a server, therefore you can register that domain with an oAuth provider
But <rapi-doc> is a custom-element that runs on browser, you dont need any server, you can just use the tag in any html and open it in a browser.
So we don have any domain that can be registered with the oAuth provider.
we are open to suggestions, to create an workflow that can help getting token from oAuth Provider easier

closing this as it is the responsibility of the Web-App creator to provide an oAuth flow. RapiDoc is just a  WebComponent.


[QUESTION] Can I implement FromView in this action?

Is only that.
I'm trying to implement the FromView concern in this action, but I can't solve this.

This package is not intended to work with FromView. You should implement your own action and use Laravel Excel directly with an Export class that implements FromView.

Ok, thanks!


Add block height support in rpc call getblock

feature request: RPC getblock accepts height or hash
in the  upstream there are 2 unaccepted PR:
https://github.com/bitcoin/bitcoin/pull/8457/files
and duplicate  https://github.com/bitcoin/bitcoin/pull/14858/files
Rejection argument: https://github.com/bitcoin/bitcoin/pull/8457#issuecomment-244677759
Is there a place for these changes in dash?

This could be helpful probably but I agree with reasons provided for not merging it, at least for an overloaded version. If anything I would rather see smth like this implemented as a separate rpc (e.g. getblockbyheight as suggested in one of the comments) which would clearly state in its help text that this rpc returns a block in best-block-chain at height provided (as in getblockhash) meaning that results can change if there is a reorg later.

As someone working with the RPC, plus one on not overloading existing commands. A new command is way better.

btw: there is an implementation here https://github.com/bitcoin/bitcoin/pull/16345 of this


Support config via query params

Closes https://github.com/zoidbergwill/gitlab-honeycomb-buildevents-webhooks-sink/issues/12

I have a feeling this might not actually work.
I need to check what libhoney.Init does, since it might do some global state stuff.

I have a feeling this might not actually work.
I need to check what libhoney.Init does, since it might do some global state stuff.

I think I found out what libhoney.Init() does - there is a package level variable dc and package level functions like NewEvent(). The package level libhoney.Init() basically does a bunch of shenanigans around the config you passed, setting up transmissions and right at the end calls dc, err = NewClient(clientConf).
Unfortunately there is no Init() method implemented on the actual client struct so to make this possible we'd need to figure out what client we realistically need and build it up ourselves. Apart from that the rest of the exercise becomes straight forward because we could then just hold a HoneyClient *libhoney.Client in our Hook struct, then in the createEvent()  function we call the NewEvent() function on our held client instead of the package level one.
The only problem I see currently is that we'd still have to create one client per incoming unique combination of the 3 query params since else we'd run into concurrency bugs and started writing stuff to other peoples honeycomb instances, which seems bad :upside_down_face: We could hold them in a map indexed by the three URL params and have some GC running in the background? Definitely a bit of complexity here.


[hotfix] Fix irregular variable names

What changes were proposed in this pull request?
Fix irregular variable names: tablename -> tableName
Why are the changes needed?
Variable name tablename is irregular
Does this PR introduce any user-facing change?
No
How was this patch tested?
Modify variable name naming convention, no testing required.

@zhuangchong
Thank you for your help. Please modify the PR description.

If you encounter any problems, please refer to the descriptions of other PRs.

@zhuangchong Thank you for your help. Please modify the PR description.
If you encounter any problems, please refer to the descriptions of other PRs.

done.

@zhuangchong
Can you correct all the typos tablename in the project?

@zhuangchong Can you correct all the typos tablename in the project?

The existing "tablename" is in the test class and makes sense. So there is no longer an irregularly named variable tablename.

@zhuangchong Can you correct all the typos tablename in the project?

@yuqi1129 The existing tablename is in the test class and makes sense. So there is no longer an irregularly named variable tablename.

Okay

@zhuangchong
Thank you for your contributions.


Add edit image field in blog edit page

Feature request-
While editing blog there is no field to update image
Is your feature request related to a problem? Please describe. (optional)
A clear and concise description of what the problem is.
Describe the solution you'd like
Add a file input to update images
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Describe how this feature will be useful to our readers.
A clear and concise description of how this feature will be useful for our  other readers.
Additional context

Note:

Do mention if your are working under GSSoC'21.
If you want to work on an issue, you should check if it has already been assigned to anyone. If the issue is free you can comment /assign to get the issue assigned to you.
If you are raising a new issue and want to work on it then also you should comment /assign under the issue to get it auto assigned.
Please refrain from adding labels to your issue/pull-request on your own. It is the job of the Project Admin and the Mentors to review your issue/pull-request and add labels accordingly.
According to the level of the issue, respective time will be allotted under which the task needs to be completed/resolved by the assigned person. If the issue is not resolved within the given time, it will be assigned to the next person. In case of any discrepancies, the decision of the maintainer will be final.

level - 0: 2 days
level - 1: 3 days
level - 2: 4 days
level - 3: 5 days

/assign


[AutoPR] mysql/resource-manager

Created to accumulate context: mysql/resource-manager

Build output:

Closing PRs that have been open for more than 1 month.


Blogpost: Monitoring Interconnection Performance

This change is

Hey collin. I was just looking at the late submission time for your original PR. I can resubmit this from my master to upstream rather than patching your master branch.


elevenlabs_synthesizer

bolna-app-1   | 2024-12-05 11:46:41.902 INFO {elevenlabs_synthesizer} [receiver] response for isFinal: None
bolna-app-1   | 2024-12-05 11:46:41.903 INFO {elevenlabs_synthesizer} [generate] Received message from server
bolna-app-1   | 2024-12-05 11:46:41.903 INFO {utils} [convert_audio_to_wav] CONVERTING AUDIO TO WAV mp3
bolna-app-1   | Traceback (most recent call last):
bolna-app-1   |   File "/usr/local/lib/python3.10/site-packages/bolna/synthesizer/elevenlabs_synthesizer.py", line 174, in generate
bolna-app-1   |     audio = resample(convert_audio_to_wav(message, source_format="mp3"), int(self.sampling_rate),
bolna-app-1   |   File "/usr/local/lib/python3.10/site-packages/bolna/helpers/utils.py", line 357, in convert_audio_to_wav
bolna-app-1   |     audio = AudioSegment.from_file(io.BytesIO(audio_bytes), format=source_format)
bolna-app-1   |   File "/usr/local/lib/python3.10/site-packages/pydub/audio_segment.py", line 773, in from_file
bolna-app-1   |     raise CouldntDecodeError(
bolna-app-1   | pydub.exceptions.CouldntDecodeError: Decoding failed. ffmpeg returned error code: 1

@ashok-groovy this shouldn't be occuring now. Can you please check and let me know in case this is still an issue.


RapidClientFactory.NewRapidClient is now thread safe

This fixed a problem where using RapidClientFactory.NewRapidClient would cause exceptions from AutoMapper to be thrown. This occurred as Mapper.CreateMap is not thread safe (see this thread).
The test I added failed about half the time with the old code, and never fails now with the supplied fix.

A related problem (not fixed by these changes) is Automapper version 4.1.1 fails the new multithreaded test about 20% of the time. I'm not sure what the problem is there, but using 3.3.1 fixed the issue. The eWAY.Rapid nuget package has a dependency range for AutoMapper of  (>= 3.3.1 && <= 4.1.1) so this can result in problems. I haven't investigated if any versions of Automapper between 3.3.1 and 4.1.1, or versions after 4.1.1 work.

Thanks for the PR David!
The test in particular looks good, we'll investigate further to see if we can make Automapper happy.

This update was merged in as part of the 1.4.0 release, looks like Github didn't pick up the merge.
I couldn't get the test to fail with Automapper 4.1.1, but if anyone does have the issue we know 3.1.1 does work. Automapper version 4.2 has some breaking changes in it, so we'll need to investigate getting that working in the future.
Thanks again David!


debugging win only code

Pull Request Test Coverage Report for Build 938088017

10 of 10 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 92.132%

Totals

Change from base Build 937071032:
0.04%

Covered Lines:
1698

Relevant Lines:
1843

💛  - Coveralls

Pull Request Test Coverage Report for Build 938088017
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

10 of 10 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 92.132%

Totals

Change from base Build 937071032:
0.04%

Covered Lines:
1698

Relevant Lines:
1843

💛  - Coveralls


Reset IDIR account in keycloak

Hi,
I had problems with IDIR after coming back from  vacation, so the IDIR team has reset/change my password, but facing issues with Keycloak login. Since guid in keycloak changed. Please reset my account in keyclaoak
IDIR - NARORA

captured in https://github.com/bcgov/ocp-sso/issues/68 closing this ticket.


crashed while trying to close all syncthing processes

Version: <IP_ADDRESS>; Variant: Installed; Arch: Amd64
Path: C:\Program Files\SyncTrayzor\SyncTrayzor.exe
System.ComponentModel.Win32Exception (0x80004005): Access is denied
   at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.GetProcessHandle(Int32 access, Boolean throwIfExited)
   at System.Diagnostics.Process.Kill()
   at SyncTrayzor.Syncthing.SyncthingProcessRunner.KillAllSyncthingProcesses() in C:\projects\synctrayzor\src\SyncTrayzor\Syncthing\SyncthingProcessRunner.cs:line 266
   at SyncTrayzor.Pages.ShellViewModel.KillAllSyncthingProcesses() in C:\projects\synctrayzor\src\SyncTrayzor\Pages\ShellViewModel.cs:line 123
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Stylet.Xaml.ActionBase.InvokeTargetMethod(Object[] parameters) in c:\projects\stylet\Stylet\Xaml\ActionBase.cs:line 201
   at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
   at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Thanks! I guess this is fairly easy to reproduce.

 Everything has since been working normally. Is it because the SyncTrayzor process does not have administrative privilege? Thank you for looking into this!

Yeah, it's probably because there was a Syncthing process which was running as a different user.


[BUG] You are loading @emotion/react when it is already loaded. Running multiple instances may cause problems.

Describe the bug
It's happened because of react-select have it's own react-select version
Link to Reproduction
A link to a CodeSandbox with a minimal reproduction of the bug you're experiencing.
Screenshots

@csandman I think you can try to use  this solutions https://github.com/emotion-js/emotion/issues/2343#issuecomment-900209935. I can't do anything because react-select packages is installed in your package

Can you share a list of your dependencies (deps, peer deps, dev deps) so I can look into it?

Also, is this actually causing any problems, or are you just getting the warning?

So I implemented a way to avoid this warning in #115.  The main idea is just that your project's @emotion/react version needs to be equal or higher than the version required by React Select (in this case ^11.8.1) which will allow NPM to de-dupe the package, preventing this warning/error.
To enforce this, I set a peer dependency requirement of @emotion/react to be the same as what's required by React Select.


[BUG] Citizen - Medical records - Wrong type of field "Blood type"

What version of Node.js are you using?
does not matter
What version of npm are you using?
does not matter
What operating system are you using?
does not matter
What version of SnailyCAD are you currently using?
v1.0.0-beta.90
Describe the Bug
Wrong type of field "Blood type". I didn't notice this before. Now the "Blood type" field is multiple, which is not correct. A person can have one blood type and it does not change throughout life.
Expected Behavior
The "Blood type" field must be one. If the implementation is complex, then the "Diseases" field can also be made one, so that diseases are entered separated by commas.
To Reproduce
No response

The blood group field isn't multiple? I'm unable to reproduce this error.

The blood group field isn't multiple?

@Dev-CasperTheGhost you missed an important detail in the message. The "Blood type" field is multiple and it`s NOT correct.
A person's blood type is ONE for life, but I can specify as many as I like. This is wrong

Ahhh! Like that. sure, that can be changed. Maybe if someone creates a new medical record with a different blood group, it will change it for all the other medical records the citizen has?

it will change it for all the other medical records

Ok, sounds good. 👍
An employee can make a mistake with the indication of the blood type and then it will be incorrectly indicated in other records, but this will already be part of the role-play. :)

Sorry for taking a few days to get back to this. Should be fixed shortly!
https://user-images.githubusercontent.com/53900565/166150412-0cbb4a0f-ab57-4473-abe6-79cd2ad8728d.mov


minimacy: 1.0.0 -> 1.1.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ambermind/minimacy/releases.
meta.description for minimacy is: An open-source minimalist computing technology
meta.homepage for minimacy is: https://minimacy.net
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.0 with grep in /nix/store/jxdhkga6i9lsl7rc9d3jh5dr55xj3vkd-minimacy-1.1.0
found 1.1.0 in filename of file in /nix/store/jxdhkga6i9lsl7rc9d3jh5dr55xj3vkd-minimacy-1.1.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
minimacy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/jxdhkga6i9lsl7rc9d3jh5dr55xj3vkd-minimacy-1.1.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A minimacy https://github.com/r-ryantm/nixpkgs/archive/fe2a3e5e353bf87f514c24fc6e0ac2a35ef99f37.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/jxdhkga6i9lsl7rc9d3jh5dr55xj3vkd-minimacy-1.1.0
ls -la /nix/store/jxdhkga6i9lsl7rc9d3jh5dr55xj3vkd-minimacy-1.1.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

minimacy

Maintainer pings
cc @jboynyc for testing.

LGTM!


segment fault happen when benchmark thread set over 1 thread

[root@NC03 build]# ./bench -fill=1 -value_size=4096 -threads=2 -path=/mnt/pmem0/kvdk -space=2748779069 -num=4000000 -max_write_threads=1 -type=string -populate=1
to fill 4000000 uniform keys
[LOG] time 0 ms: Initializing PMEM size<PHONE_NUMBER> in file /mnt/pmem0/kvdk/data
[LOG] time 380 ms: Map pmem space done
[LOG] time 1163 ms: In restoring: iterated 0 records
[LOG] time 1163 ms: Populating PMEM space ...
[LOG] time 2697 ms: Populating done
init 2 write threads
init 0 read threads
------- ops in seconds -----------
time (ms),   read ops,   not found,  write ops,  total read,  total write
Segmentation fault (core dumped)
compile the debug version and use the gdb to see the offset of the thread cache entry is overflow:
Thread 20 "bench" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffafd7f8700 (LWP 4346)]
0x00007ffff7e613a5 in memmove_mov_sse2_clwb () from /lib64/libpmem.so.1
Missing separate debuginfos, use: dnf debuginfo-install gflags-2.2.2-5.fc32.x86_64 libgcc-10.3.1-1.fc32.x86_64 libpmem-1.8-2.fc32.x86_64 libstdc++-10.3.1-1.fc32.x86_64
(gdb) bt
#0  0x00007ffff7e613a5 in memmove_mov_sse2_clwb () from /lib64/libpmem.so.1
#1  0x00007ffff7e49da6 in memmove_nodrain_sse2_clwb () from /lib64/libpmem.so.1
#2  0x00007ffff7e496cd in pmem_memcpy_persist () from /lib64/libpmem.so.1
#3  0x00007ffff7f8560a in kvdk::PMEMAllocator::Allocate (this=0x43bca0, size=4128) at /home/dennis/kvdk/engine/pmem_allocator.cpp:334
#4  0x00007ffff7f4e472 in kvdk::KVEngine::HashSetImpl (this=0x43ba90, key=..., value=..., dt=1, batch_hint=0x0) at /home/dennis/kvdk/engine/kv_engine.cpp:806
#5  0x00007ffff7f4e97c in kvdk::KVEngine::Set (this=0x43ba90, key="I\023\000\000\000\000\000",
value="0yVu77DE49c8Rj9wD4D7pCWGv9DBdsi96M6QHZD3M64pnOX9FB7c8bLqj3si5DiyjMtX497gkFeLpiePIP8L5Xg5bw7cALT9gGYqjRSKz4SIsCYOjg5VLp94IdMZ3saQB1X475fOxuF3Vas5u04aIxKff25DzR05401cg2QClimC6FsL53o182S5plURj25TrkJBAZ0Y"...) at /home/dennis/kvdk/engine/kv_engine.cpp:871
#6  0x000000000041282d in DBWrite (id=1) at /home/dennis/kvdk/benchmark/bench.cpp:200
#7  0x000000000041bfda in std::__invoke_impl<void, void ()(int), int> (__f=@0x43bf70: 0x4126ab <DBWrite(int)>) at /usr/include/c++/10/bits/invoke.h:60
#8  0x000000000041bf35 in std::__invoke<void ()(int), int> (__fn=@0x43bf70: 0x4126ab <DBWrite(int)>) at /usr/include/c++/10/bits/invoke.h:95
#9  0x000000000041bea5 in std::thread::_Invoker<std::tuple<void ()(int), int> >::_M_invoke<0ul, 1ul> (this=0x43bf68) at /usr/include/c++/10/thread:264
#10 0x000000000041be44 in std::thread::_Invoker<std::tuple<void ()(int), int> >::operator() (this=0x43bf68) at /usr/include/c++/10/thread:271
#11 0x000000000041bd80 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(int), int> > >::M_run (this=0x43bf60)
at /usr/include/c++/10/thread:215
#12 0x00007ffff7cfd994 in execute_native_thread_routine () from /lib64/libstdc++.so.6
#13 0x00007ffff7e8e432 in start_thread () from /lib64/libpthread.so.0
#14 0x00007ffff79fa6d3 in clone () from /lib64/libc.so.6
(gdb) f 3
#3  0x00007ffff7f8560a in kvdk::PMEMAllocator::Allocate (this=0x43bca0, size=4128) at /home/dennis/kvdk/engine/pmem_allocator.cpp:334
334               pmem_memcpy_persist(
(gdb) list
329             // Padding remaining space
330             auto extra_space = thread_cache.free_entry.size - b_size;
331             // TODO optimize, do not write PMEM
332             if (extra_space >= FREE_SPACE_PADDING_BLOCK) {
333               DataHeader header(0, extra_space);
334               pmem_memcpy_persist(
335                   offset2addr(thread_cache.free_entry.space_entry.offset + b_size),
336                   &header, sizeof(DataHeader));
337             } else {
338               b_size = thread_cache.free_entry.size;
(gdb) p header
$1 = {checksum = 0, b_size =<PHONE_NUMBER>}
(gdb) p thread_cache
$2 = (kvdk::PMEMAllocator::ThreadCache &) @0x43bc60: {segment_offset =<PHONE_NUMBER>, segment_usable_blocks = 49, free_entry = {space_entry = {
offset =<PHONE_NUMBER>81152, hash_entry_reference = 0x43bc40, hash_entry_mutex = 0x7ffff7800000}, size =<PHONE_NUMBER>}, freelist = {
offsets = std::vector of length -178956965, capacity<PHONE_NUMBER>623 = {}
(gdb) p thread_cache.free_entry.space_entry.offset
$3 =<PHONE_NUMBER>81152
(gdb) p /x thread_cache.free_entry.space_entry.offset
$4 = 0x7ffff7e84020
The offset looks like a address, please take a look to see if there is something wrong.

Hi, max_write_threads is max current write thread of kvdk, it should larger than write threads of benchmark (in your case, it's 2)
In fact, it is recommanded to set max_write_threads to the number of cores (or hyper threads) for performance.

And the segment fault is fixed, thank you
#10


Remove SupportUser clauses in ProviderAuthorisation

Context
The ProviderAuthorisation class is quite complicated already. As far as I can see, we aren't actually using the class in the Support UI, so removing these statements will be fine, and makes the class smaller.
Changes proposed in this pull request

Guidance to review

Link to Trello card
https://trello.com/c/sCTl8idK
Things to check

[ ] This code doesn't rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] New environment variables have been added to the Azure config

@duncanjbrown before I fix the tests, does this make sense?

Yes, I think so. It'll come back if we need it.

Turns out the SupportUser clauses are used/misused in the test application generation, for some reason. Will look into this another time.


File setup

word list creator

Checklists

[ ] All CI checks pass
[ ] The branch works when you pull it and run it locally

HTML

[ ] the code is well-formatted
[ ] the HTML code passes validator.w3.org
[ ] there are no inline styles (example: style='color: red;')
[ ] there are no <style> tags with CSS, all styles are hrefs
[ ] there is no inline JavaScript (example: onclick='doSomething()')
[ ] there are no <script> tags with JS, all JS is in an separate file
[ ] ids are used for JavaScript only, not for CSS
[ ] semantic tags are used
[ ] ARIA labels are used where necessary
[ ] spelling and grammar is correct in all site content

CSS

[ ] the code is well-formatted
[ ] the code does not use any # id's
[ ] styles are responsive

JavaScript

[ ] code is clean and easy to read
[ ] helpful variable names are used
[ ] all comments are clear and help to understand the code
[ ] there is no unused code in comments
[ ] all file names are helpful and match their exports

src/data.js

[ ] the file does not import anything
[ ] the file only exports JS data (primitives, arrays, objects, ...)
[ ] the file does not contain any functions or logic
(optional) the data is documented with JSDocs

src/init

[ ] there is an index.js that is included by the index.html file
[ ] ../listener files are imported
[ ] there is no code that needs to run after the page is initialized
[ ] any other files have helpful names

src/listeners

[ ] the DOM can be queried to find elements
[ ] the DOM is not be modified
[ ] handlers are imported and used as callbacks to event listeners
[ ] no other functions are imported or used
[ ] the file name makes sense for the listener

src/handlers

[ ] handlers have a JSDoc comment
[ ] the function name matches the file name
[ ] handlers are used as a callback to .addEventListener somewhere in the program
[ ] functions from /logic or /procedures files may be imported and called
[ ] functions from /handlers may be imported and attached to the DOM with event listeners
[ ] data from /data.js may be imported and used
[ ] handlers may read and write to the DOM
[ ] handlers do not return values that you will need later in the program

src/components

[ ] A DOM element is returned
[ ] handlers can be imported and used as callbacks to event listeners
[ ] logic, components and procedures can also be imported
[ ] there is an HTML test file to render the component with different inputs
[ ] each component has a .test.html file
[ ] bonus points for a unit test .spec.js file

src/logic

[ ] the handler has a complete and correct JSDoc comment
[ ] the function name matches the file name
[ ] other functions from /logic may be imported and called
[ ] the function does not read or write to the DOM
[ ] the function does not log to the console
[ ] each logic function has a .spec.js file

[ ] tests are simple with no extra code
[ ] tests are well-named
[ ] tests cover common use cases (bonus for edge cases)
[ ] tests check for side-effects (if necessary)

Great to see what you have done @aviv82 🚀 .  But it is a lot of work in one branch. Next time try to create different branches for your features.(e.g.: logic-branch, CSS-html-branch, planning-branch, src-branch....) 👍🏾

Great to see what you have done @aviv82 🚀 . But it is a lot of work in one branch. Next time try to create different branches for your features.(e.g.: logic-branch, CSS-html-branch, planning-branch, src-branch....) 👍🏾

thank you Gelila! will do. 😀


Set name in the proto request for non-ego vehicles

In the previous PR I forgot to set the name in all if-branches when spawning a vehicle.
Noticed that the code is largely the same for both branches, so I propose to simplify this code to avoid future mistakes like mine. The code logic should be preserved, only set_is_ego is moved after toProto() (pure subjective aesthetics), which should not affect semantics.
Types of PR

[ ] New Features
[ ] Upgrade of existing features
[x] Bugfix

Link to the issue
Description
How to review this PR.
Others

@prybicki friendly ping

cd (directory of scenario_simulator_v2)
ament_clang_format --reformat

Done. Sorry for the delay.


Debian wheezy unable to reboot

Hi Manfred,
I had to open the issue again...The problem is still there. I've attached the screenshot.

Ok, so I though my changes were enough, but I think we still miss a script that prevent init to kill the main qemu-nbd0 process, it will need a little more work
For now I can suggest to switch to another images, every other images are rebooting find, debian jessie included

Calling this:
ps x | grep xnbd-client | grep -v grep | awk '{print $1}' > /run/sendsigs.omit.d/nbd

Seems to works, you can maybe add this in your /etc/rc.local script
I'm trying to fixit from within the initrd (see https://github.com/scaleway/initrd/pull/88), if so, the issue should be fixed without rebuilding the image

Unfortunately the reboot still fails in the same way.

Yep, actually this is not the same bug, the hotfix fixes at least 1 issue, but there are still some ones
For now, I suggest you to reboot using "reboot" then restart the server from the console.
or as said previously, switch to another image, i.e. Debian Jessie

I'm closing this issue because it has been inactive for a few weeks.
Please reopen if you still encounter this issue.
Thank you!


Run and Debug

There is no debug and run is showing in vs code. In run and debug it shows as all extensions are disabled. Enable a extensions or install a new one

@ghost so just go to VS Code's extension view and enable the debugger extensions you want to use.


FormzSubmissionStatus

This is my class and constructor

whenever i pass the arguments in Formz.validate function i am getting error in status variable.

error
The argument type 'bool' can't be assigned to the parameter type 'FormzSubmissionStatus?'.

Hi, thanks for opening an issue! This was a breaking change introduced in v0.5.0-dev.1: https://github.com/VeryGoodOpenSource/formz/blob/main/CHANGELOG.md#050-dev1. The Formz.validate method returns a boolean now, which indicates whether or not the fields are valid.

Thank you very much


path percent encoding - wierdness

Describe the bug
currently if a path is (double) percent encoded, it will be decoded by yarp, but unfortunatly yarp will try to sent the unencoded path to the backend server
To Reproduce
send the following path:
GET /encoded%2520path

yarp should now send the following to the backend:
GET /encoded%2520path

what it does send:
GET /encoded%20path

whoever we actually used double percent encoding in some places of our code and this completly breaks it
it would be good if there was a option to keep the path as-is.
btw. we can fix it by using (or by using a HttpTransformer):
    public class PercentEncodingTransform : RequestTransform
    {
        public override ValueTask ApplyAsync(RequestTransformContext context)
        {
            context.ProxyRequest.RequestUri = new Uri(
                new Uri(context.DestinationPrefix),
                Uri.EscapeUriString(context.HttpContext.Request.GetEncodedPathAndQuery()));
            return ValueTask.CompletedTask;
        }
    }

but it's probably strange that a proxy rewrite's the path. (btw. we use double percent encoding because the framework's and routers which we use is a little bit wierd and this fixed it)
not sure if that is even fixable since it depends on PathString which always change the behavior. maybe a good idea would be to expose a RawRequestPath in dotnet and allow yarp to have a config to use RawRequestPath instead of context.Path for the backend
Further technical details

1.0.0-preview12
platform: macOS

Yeah, we're looking into some round tripping issues here.
For triage: this needs to be mitigated for 1.0. This might help:
https://github.com/microsoft/reverse-proxy/commit/dc82e060e95498fdb0d16d426688c4848a3c893a

@Tratcher took me a while to test it, but your branch works, fyi.


Add Tracing for jobs

There are a number of features we'd like to offer people to give them better insight into the execution of their jobs. However we don't yet have a very consistent way of implementing this, we currently store some basic information in etcd such as datum progress, logs are handled by k8s driver but also might be handled by our logging stack if users want more persistence, @sjezewski has proposed adding a stats service so we can record more in depth stats about the jobs as the execute. I worry about how much deployment overhead we're adding for these features and about the people who aren't going to have access to many of these features due to not wanting to deploy such a complicated stack. This is slightly different approach to implementing these features.
The idea is the leverage pfs which we know is present on every pachyderm installation to store some of this data. We'd add a flag to pipelines and jobs called Trace which would output tracing information for jobs when they ran. I'm imagining we'd have a branch on output repos called trace which would get update alongside the output branch with tracing information for the job. Each job would be its own commit on the branch. The structure of a commit would look something like this:
/<job-id>
  /<datum-hash>
    /pfs
      /input1/...
      /input2/...
      /out/...
    /logs
    /metrics

/pfs/... would contain the full state of the containers filesystem when it exited. This has been requested a lot since it would allow you to see the data processed as part of a job. Pfs' deduplication means that we're not actually storing an extra copy of the data under the hood.
/logs would be a copy of the logs outputted during processing of the datum. And of course they can easily be tied to a particular datum.
/metrics would be timing information for the job, how long did downloading data take, how long did user code run for, how long did uploading take, etc.
There are probably other things we'll want to add to this repo, the nice thing is once we have this system built it gives us a pretty generic system we can use to expose various information about the execution of a job.

I think this design mostly makes sense.  Just a couple comments:

"Tracing" is probably not the right term to use here since that usually means tracking a request end-to-end, i.e. distributed tracing as in Dapper/Zipkin/OpenTracing.
While there's not much data storage overhead since PFS de-dups, there's a considerable amount of metadata overhead since we will need to store at least 1 more hashtree for each datum.  This may or may not matter but it's something to think about.

Woah, this is great ... this gives us job stats. That's big.
The proposed solution would be great at answering a bunch of questions around job stats:

histogram of datum size (e.g. cases of extremely heterogeneous datum sizes ... this came up for a customer w 400 datums where the last 2 accounted for 50% of the processing time)
histogram of job run times over commits
I think this would give us an easy way to record 'data written per commit' ... but I don't think quite gives us repo size? (maybe there's something clever we can do here to make that calculation easy too)
the ability to list datums per job (which we don't have a first class API for)
the ability to record where a datum was run (for debugging purposes)
and perhaps most importantly ... a pretty easy way to add more stats to be measured/collected

Which are things we don't have today but I've felt the need for.
Broadly, this bites a huge chunk out of what I'm looking for w the stats service. It gives us job stats. And this would help us dogfood our own tech, which is great.
The two things I see missing / we'd need to address are:

App stats for pachd

I want us to be able to answer questions like:

How much of each API call are we seeing? (e.g. ListFile, GetFile, PutFile ...)
Where is the bottleneck in the DAG / where are the API calls slowing down? (we could see where in the DAG this was slowing down by looking at a graph of GetFile / PutFile frequencies or times to start)
How does pachd handle load? sidecars vs master? Where is the scaling bottleneck for pachd? When do we recommend scaling up pachd nodes?

And to answer those questions I still think we need to record stats for all the pachd API calls. Again, I haven't looked too much into this, there's a chance we can use what we already have reported in the logs. But I want to be able to search / filter / graph the stats data.

The rest of the 'stats service' stack

Using grafana / elastic search / statsd (or a similar stack)  gives us quite a lot of things we need. The ability to store (and rotate) data, search, filter, and graph the data. And present the data in a way that we can use to display stuff in our own UI.
What we're talking about here is basically replacing some of the stats collection (statsd or fluentd) and the indexing/hosting of the data (elastic search). I think we get a lot for free w pfs, but it won't be parity with those services
That's not necessarily a bad thing. We'll start with what works. But I just want to make sure we don't try to build all the features of those other things. Because that's probably not our core intention for our tech. And for the things that it would align with (e.g. data volume, data ingest rates) dogfooding it will only make our tech better. Awesome.
I do think we'd need some graphing utils. I'm sure some of this we'll consume and present in our own UI. But I don't want to reinvent the wheel for UI tools that already exist. So to me the question is how to integrate this with something like grafana. It could be that we have an 'ETL' pipeline running on this repo that massages it into the JSON format that grafana expects (and elastic search serves).
This all feels like we may want to start thinking about namespacing repos/pipelines. This all feels like it would go under the 'pach-system' namespace and user's wouldn't see by default. (And prob shouldn't have write access to directly)

Re: data de-duplication -- if this is storing output files from each input datum that then later get concatenated into larger files, will those be deduped? Are we storing a block per concatenated chunk, or doing the concat and then storing the whole file together?

This has been implemented and merged into master.


Remove kernelMapping setting and handle kernelspecs asynchronous

The first commit removes the kernelMapping setting. Instead the user is asked to chose a kernel to start.
The second commit introduces callbacks for all kernel specs handling. In order to update the kernel specs if necessary.
It probably makes sense to review each commit on its own.

@n-riesco Thanks for the feedback.

Thank you both!


perf(sol-macro): use a lookup table when generating SolInterface::abi_decode_raw

Faster and maybe less binary size

Tested locally against foundry cheatcodes


[requires.io] dependency update on master branch

Coverage remained the same at 100.0% when pulling 7f442978ceb43bbffd005b4a4d45947888355e01 on requires-io-master into a3831c00105c5dbf9c27b28a449f0f83648b2033 on master.

Coverage remained the same at 100.0% when pulling f1c370a0fecb93d8aea9b6bfd8cf15a3eda15d2b on requires-io-master into a3831c00105c5dbf9c27b28a449f0f83648b2033 on master.


Allow users to specify AppState in genesis RPC

Version(s) of tendermint-rs: v0.23.x
Description
The Client::genesis() function currently returns the genesis app state as a serde_json::Value (https://github.com/informalsystems/tendermint-rs/blob/v0.23.5/rpc/src/client.rs#L232).  It would be nice if the API users could decide the type of the app state.
Definition of "done"
Users are able to specify concrete types for genesis App state.

Is this exclusively relevant to v0.23.x, or should this feature still be available in newer versions of tendermint-rs?


Migrating from old freelancer to new freelancer template - Vendor folder

Hi,
I'm in the process of migrating my old freelancer template pages that I created about 6 years ago, which was running on old NodeJS 6 to a new freelancer template pages.
It's been good so far; it's mostly copy-and-pasting activity so far.
However, I ran into this one peculiar problem.

As attached, the old freelancer template has these vendor assets before, but the new one no longer has this... :/
And I don't want to remove these into my new sites as it will certainly majority of the CSS/JS functionality the old portfolio site that I've been running for years now..
The old website using gulping tooling to copy vendor folders to the dist folder locations.  The new website using plain npm tooling to achieve the same thing..  The only difference is that I need to add another npm script to build vendor assets somewhere in the npm script pipeline.
Here's the working snippet of gulping tooling.
// Copy third party libraries from /node_modules into /vendor
gulp.task('vendor', function() {

  // Bootstrap
  gulp.src([
      './node_modules/bootstrap/dist/**/*',
      '!./node_modules/bootstrap/dist/css/bootstrap-grid*',
      '!./node_modules/bootstrap/dist/css/bootstrap-reboot*'
    ])
    .pipe(gulp.dest('./vendor/bootstrap'))

  // Font Awesome
  gulp.src([
      './node_modules/font-awesome/**/*',
      '!./node_modules/font-awesome/{less,less/*}',
      '!./node_modules/font-awesome/{scss,scss/*}',
      '!./node_modules/font-awesome/.*',
      '!./node_modules/font-awesome/*.{txt,json,md}'
    ])
    .pipe(gulp.dest('./vendor/font-awesome'))

  // jQuery
  gulp.src([
      './node_modules/jquery/dist/*',
      '!./node_modules/jquery/dist/core.js'
    ])
    .pipe(gulp.dest('./vendor/jquery'))

  // jQuery Easing
  gulp.src([
      './node_modules/jquery.easing/*.js'
    ])
    .pipe(gulp.dest('./vendor/jquery-easing'))

  // Magnific Popup
  gulp.src([
      './node_modules/magnific-popup/dist/*'
    ])
    .pipe(gulp.dest('./vendor/magnific-popup'))

});

Would it be straight forward for me to retrofit this code into plain npm script?  Is there any gotchas I need to watch out for when performing this migration?
Thanks!

Don't worry about this.
I found my way to make things work.
I reliased I don't need the vendor css and javascript anymore since the new updater freelancer is not maintaining its own vendor css/js files anymore in the legacy framework build.   All of that has been offloaded to external link elsewhere.
It's no longer requirement for me to do this.


Duplicated Error message for IterDataPipe

When the Error comes from singleton iterator. This part of message becomes duplicated.
You can run the following example:
source_dp = IterableWrapper(range(10))
it1 = iter(source_dp)
next(it1)
it2 = iter(source_dp)
next(it2)
next(it1)

The Error message is:
RuntimeError: This iterator has been invalidated because another iterator has been created from the same IterDataPipe: IterableWrapperIterDataPipe(deepcopy=True, iterable=range(0, 10))
This may be caused multiple references to the same IterDataPipe. We recommend using `.fork()` if that is necessary.
For feedback regarding this single iterator per IterDataPipe constraint, feel free to comment on this issue: https://github.com/pytorch/data/issues/45.
This exception is thrown by __iter__ of IterableWrapperIterDataPipe(deepcopy=True, iterable=range(0, 10))

cc: @NivekT
Originally posted by @ejguan in https://github.com/pytorch/pytorch/pull/75618#discussion_r897060430

Closing this Issue as https://github.com/pytorch/pytorch/pull/79547 has landed.


Implement strict mode for flag parsing

In reference to https://github.com/flyjs/fly/issues/44. Strict flag parsing should either be the default, or an optional state for how flags are parsed, meaning that, for example, if  -v is an implemented flag, then invocations like -v123 should throw an error instead of being parsed.

@Aweary Sorry for the delay, but finally landed in @0.2.0.
This introduced a breaking change as the API was modified. Fortunately I found this improvement simplified how Parsec is used.
// ./app --msg=hi
Parsec
  .options("msg")
  .options("verbose", { default: false })
  .parse(process.argv)

The README also received a significant rewrite :pencil2:


INT - update codegen to use group as package name

Will merge this after next week's release

@vivekschauhan @tsjohns9 @sbolosan - you all good with me merging this now?


fix: workaround netrw mapping for ctrl-L

This adds a workaround for the netrw keymapping conflict for ctrl-l by setting the g:Netrw_UserMaps list. To limit the impact to users, this will leave the list alone if the user has already set the variable and instead gives a warning to prompt the user about the issue.
This mapping workaround can be disabled by setting either g:tmux_navigator_no_mappings or
g:tmux_navigator_disable_netrw_workaround.
This makes PR #392 obsolete.
Fixes #189, Fixes #251, Fixes #379

Hey Chris, big fan of the plugin! It looks like this netrw issue has been around for a while and folks have figured out a few different kinds of workarounds. Let me know if you'd be open to making this workaround built into the vim-tmux-navigator plugin itself.
If it's too risky to work around this automatically, then I think PR #392 would be a really nice way to make people aware of how they can workaround the problem on their own.

This is great! Thanks for detailed writeup and consideration. I think having this be built in makes sense I'll merge this one and comment on the other


Add configurable default worker number into mac yaml

@hsong-rh Why is this config only for Mac yaml?

@Dostonbek1 This config is already present for the other docker-compose files, but we only have a variable for activation workers.
I think we should have aligned the variable names @hsong-rh Can you update the same variables for dev and stage?


Extensions—'Contorller'——gesture block can not work normally

hey guys
gesture block can not work normally
My hardware is Meowbit，I have tested my hardware is ok.
But when I use the gesture block，I can't get correct result.
For example, my screen is facing up,tilt left is triggered
I already reported this issue a year ago, but it still hasn't been fixed.I hope someone can help me
https://github.com/microsoft/pxt-arcade/issues/3643
my code:
https://makecode.com/_2a7ghHEeCRtU

Another report of the same issue: https://github.com/microsoft/pxt-arcade/issues/2349
@mmoskal

hey guys，will you help us fix this bug?


Feature Request: Set Volume, Speak, Resume Volume

NOTE: For a feature to be created it has to be doable in the Amazon app because we are basically replicating the app for HA. If you can't find it in the app, we probably can't create it here.
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
When coming from Echo Speaks, there was an option I used frequently that was a 3-step pattern:

Set Volume (for example, if volume is 3, then it would set volume to 6)
Speak (message at Volume 6)
Reset Volume back to original volume (say 3 per example above)

Describe alternatives you've considered
None
Additional context
https://tonesto7.github.io/echo-speaks-docs/devicesupport/commands/speech_commands/#setvolumespeakandrestorevolume_message
All other unique features of the Echo Speaks actions would be fantastic, but specifically the one above is one I am looking for.
For your consideration,
Kreene1987

Thanks. This is one of the first scripts that people have written and you can probably find it in the wiki. This will be low priority.


Include as raw

I use swig to compile javascript libs to single bundle with "include" tag.
I'd like to have 3rd party javascript libs untouched but some of them, angular.js for example, have "{{" and "}}" in its code and I have to add "raw" tag into angular.js lib.
It would be nice to have "raw" parameter in "include" tag so swig will include external file content without processing it.

There is a bug in your raw tag implementation, @neovov: swig is not available in the scope you are using it in. change swig.loaders.fs() to _swig.options.loader and it works on some platforms (not on Windows).
I'm trying to write a cross platform implementation of this, but am stuck at the moment. If I figure it out, I'll let you guys know.

@pellebjerkestrand Probably, it was a hotfix, the issue is still valid, we should have a built-in way to do it.


Breaking changes with PyMC3 > 3.4.1

There are breaking changes with PyMC3 > 3.4.1

Fixed with PR #37


polymer_expressions can't assign to null

Seems like it does't correctly determine "this".
Can provide more detail as needed.

This issue has been moved to dart-lang/polymer-dart#496.


Would it be possible to instantiate a DAO provided a transaction query execution

In order to operate across multiple tables via DAOs in a single transaction.

I am afraid that is not possible, but you can easily write your own queries
using the underlying QueryExecutor.
If you're using one of the reactive-modules use one of the
QueryExecutor's transaction-methods.
If you're using a jdbc-module you can use the
DSLContext-transaction-method's inside the
QueryExecutor's executeAny-method.
Hope that helps!
Am Fr., 29. Mai 2020 um 03:44 Uhr schrieb William Welling <
<EMAIL_ADDRESS>
In order to operate across multiple tables via DAOs in a single
transaction.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jklingsporn/vertx-jooq/issues/155, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQLZXWUIEGRLTBWOENSVDLRT4HP7ANCNFSM4NNUDGSQ
.

--
Jens Klingsporn
Beselerstraße 33
22607 Hamburg
Tel: 0151/70102082

Thanks for the quick reply. The reason to use the DAOs is for the automatic mapping to the POJOs. Is there a convenient way to go from QueryResult and/or Row directly to the POJO or must it go to the Record and then to the POJO via interface? Using toJson/fromJson is not an option at this time due to heavy use of UUID and LocalDateTime types.

Check the generated RowMapper-class (I assume you're using a
reactive-module).
Am Fr., 29. Mai 2020 um 14:23 Uhr schrieb William Welling <
<EMAIL_ADDRESS>
Thanks for the quick reply. The reason to use the DAOs is for the
automatic mapping to the POJOs. Is there a convenient way to go from
QueryResult and/or Row directly to the POJO or must it go to the Record and
then to the POJO via interface? Using toJson/fromJson is not an option at
this time due to heavy use of UUID and LocalDateTime types.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jklingsporn/vertx-jooq/issues/155#issuecomment-635943475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABQLZXQ6A6ZEEOOIB3WW3Q3RT6SMVANCNFSM4NNUDGSQ
.

--
Jens Klingsporn
Beselerstraße 33
22607 Hamburg
Tel: 0151/70102082

Great. Thanks. Closing this issue.

@jklingsporn is it possible to go from Row to Record?


Add additional solc options on trace compilation

Hi,
We are looking to integrate saddle in our compilation library. This would allow to support all our tools (including Slither, Echidna, or Manticore) out of the box.
Would it be possible to add abi,ast,userdoc,devdoc,hashes,compact-format to the solc options if the compilation is done with --trace ?
https://github.com/compound-finance/saddle/blob/d5ee0ef85915c94f09515243623a4a7daa35230f/src/cli/commands/compile.ts#L18
This will simplify our integration.
Thank you

Sure- do you think maybe this would be better to add solc_trace_args similar to solc_args in saddle.config.js so you could add whichever args you want via your config file?
See https://github.com/compound-finance/saddle/blob/master/saddle.config.js#L4

Thanks @hayesgm for the link.
So that would work with manual editing, but it will prevent a more transparent usage.
Ex: as a user I want to run some_tool [saddle project] without having to change my saddle.config.js to fit the external tool needs.
If we can have access to the elements listed above, I think that would facilitate any third party tool integration. It's the way we integrated the other frameworks.


[4.2][CSSimplify] When trying to simplify bind with error type fail gracefully

Since member lookup doesn't check requirements
it might sometimes return types which are not
visible in the current context e.g. typealias
defined in constrained extension, substitution
of which might produce error type for base, so
assignement should thead lightly and just fail
if it encounters such types.
Resolves: rdar://problem/39931339
Resolves: SR-5013
(cherry picked from commit 11ba7e0f4289869ac3d0fa9e19e52fd027a29462)

Build failed
Swift Test Linux Platform
Git Sha - 244854f074112f8151c6957e444dd5237d35a55d

Build failed
Swift Test OS X Platform
Git Sha - 244854f074112f8151c6957e444dd5237d35a55d

@swift-ci please test

@swift-ci please test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - 244854f074112f8151c6957e444dd5237d35a55d

Build failed
Swift Test OS X Platform
Git Sha - 244854f074112f8151c6957e444dd5237d35a55d

@swift-ci please test source compatibility


Renamed all Sirupsen to sirupsen

Getting  case-insensitive import collision using this lib after this change: https://github.com/sirupsen/logrus/issues/451
Still some errors, logrus-logstash-hook is misbehaving, but looks like upstream has changed more than I can fix.

can you try the following command to fix this issue ?
rm -rf $GOPATH/src/github.com/sirupsen
cd $GOPATH/src/github.com/gogap/logrus_mate
go get -v

Thx. Your command above could have worked, but then other parts of my build would have failed expecting lowercase ‘sirupsen’.


Fix respawn panic and collision tiles offset

When using multiple chunks with collisions, the chunk offset was added twice for the collision tiles:

when the tile was created in the rigidbody translation
by bevy because the tile was parented to the chunk

In addition, parenting the tile to the chunk sometimes caused a "NoSuchEntity" error. (see #123)
This PR makes the collision tiles parented to the whole tilemap instead.
The collision tiles are thus no longer removed automatically by despawn_recursive, and must be manually despawned.
The "get_entities" method from the chunks was changed to "remove_entities" and now remove all the entities from the chunk (including the collision tiles) and returns them.
In despawn_chunk, all these entities are despawned.
In addition, the chunk offset added to the rigidbody translation seemed wrong (it was multiplied by both the tile size and the physics tile size. I removed the former).
Finally, I also removed the tilemap position offset for the collision tiles, as the offset is already handled by the parenting.

Looks great and thank you so much for this awesome contribution!


Proposal for changing structure of the repo

The current directory structure is a little messy, I suggest an adjustment, so that the hierarchy and scalability are better, create a new "mainnet" directory, it is recommended to move all chain directories to "mainnet",
The adjusted top structure is roughly as follows:
*.schema.json
IBC/
nonIBC/
mainnets/
testnets/
README
...

Is this a duplicate of #444? If yes, please make your comments there and we can close this one.


bug: search autocompleted text from cmp is invisible

Did you check docs and existing issues?

[X] I have read all the noice.nvim docs
[X] I have updated the plugin to the latest version before submitting this issue
[X] I have searched the existing issues of noice.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.10.1
Operating system/version
Windows
Describe the bug
https://github.com/user-attachments/assets/47159518-59b7-458d-a11a-778f62fe01a8
Text selected from nvim-cmp will be invisible until a whitespace is added, or any other change are made to it.
This only happens when accepting the immediate (right below the input field) suggestion.
Steps To Reproduce

Open search
Type
Accept the first suggestion ()

Expected Behavior
Accepted text shows up
Repro
No response

Could you provide a repro config?

Could you provide a repro config?

local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "https://github.com/folke/lazy.nvim.git",
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

vim.opt.tabstop = 2
vim.opt.shiftwidth = 2
vim.opt.expandtab = true

require("lazy").setup({
  {
    "hrsh7th/nvim-cmp",
    dependencies = {
      "hrsh7th/cmp-buffer",
      "hrsh7th/cmp-cmdline",
    },
    config = function()
      local cmp = require("cmp")

      cmp.setup.cmdline("/", {
        mapping = cmp.mapping.preset.cmdline({
          ["<C-y>"] = cmp.mapping(cmp.mapping.confirm({ select = true }), { "i", "c" }),
        }),
        sources = {
          { name = "buffer" },
        },
      })
    end
  },
  {
    "folke/noice.nvim",
    event = "VeryLazy",
    opts = {
      -- Add your noice configuration here
    },
    dependencies = {
      "MunifTanjim/nui.nvim",
      "rcarriga/nvim-notify",
    }
  }
})

This looks like a redraw issue related to #923. Have you tried to rollback?
Also, your repro config is not an actual repro. See the example repro in the issue template. https://github.com/folke/noice.nvim/blob/448bb9c524a7601035449210838e374a30153172/.github/ISSUE_TEMPLATE/bug_report.yml?plain=1#L65-L73

Sorry for not correctly using the template. Shall I redo ? (It will take a while prob like 1hour+, I'm a total noob and research everything new im doing, I don't mind whatsoever tho.)
Yes I had tried rollbacking, to 4.4.7 and 4.4.6. Doesnt fix it.
A funny but working fix would be to:
    config = function()
      local cmp = require("cmp")

      cmp.setup.cmdline("/", {
        mapping = cmp.mapping.preset.cmdline({
         ["<C-y>"] = cmp.mapping(cmp.mapping.confirm({ select = true }), { "i", "c" }),
        }),
        sources = {
          { name = "buffer" },
        },
      })

      local feedkeys = vim.api.nvim_feedkeys
      local termcodes = vim.api.nvim_replace_termcodes
      local function feed_space_backspace()
        feedkeys(termcodes(" <BS>", true, false, true), "n", true)
      end

      cmp.event:on("confirm_done", function()
        vim.schedule(feed_space_backspace)
      end)
    end

Yes this workaround will work because vim.api.nvim_feedkeys invokes new keyboard input, and forces a UI redraw.
If v4.4.6 didn't fix your issue, then there may be a bug further back in noice or nvim-cmp.