[Error handling] Remove category from exceptions

As mentioned in #683, category support has already been removed from graphQL error responses with graphqlite because of graphql-php update to v15 ( see upgrade guide v14 -> v15 ), which means category is already missing from extensions in responses.
The purpose of this PR is to remove the category argument from Exceptions.

[!CAUTION]
BC Break

The category argument has been removed from GraphQLException, which means any existing instance of a GraphQLException passing category and/or extensions will trigger an error.
BEFORE
throw new GraphQLException('foo', 0, null, 'MyCategory', ['field' => 'foo']);

AFTER
new GraphQLException('foo', 0, null, ['field' => 'foo'])

[!NOTE]
If you want to keep category, you'll have two options :

Creating your own GraphQLException class and using your own errorFormatter method
Moving the category directly into extensions

Fixes #683

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 95.43%. Comparing base (53f9d49) to head (89fbc48).
Report is 84 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #685      +/-   ##
============================================
- Coverage     95.72%   95.43%   -0.30%
- Complexity     1773     1805      +32
============================================
  Files           154      171      +17
  Lines          4586     4775     +189
============================================
+ Hits           4390     4557     +167
- Misses          196      218      +22

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

@cvergne thanks for this PR!


Dark mode not working in Get in touch with buddytrail section

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #(1455.)
Description
[Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.]

Type of PR

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

Screenshots / videos (if applicable)
[Attach any relevant screenshots or videos demonstrating the changes. Make sure to attach before & after screenshots in your PR.]
Checklist:

[x] I have made this change from my own.
[ ] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@Ankitha2130  Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile! Also Take a moment to ⭐ Star the repository if you haven't already.
Great contribution ! 🎉


fix: add engine version for dbinstance update

Description of your changes
Currently, when changing the engine version of a rds db instance, the new version is not send to aws. This leads to a) the database does not get updated and b) an update loop, as the isUpToDate call always returns false.

Fixes #
I have:

[x] Read and followed Crossplane's contribution process.
[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

add update functionality back after https://github.com/crossplane-contrib/provider-aws/pull/1765


Toast: needs to be able to open more than one at a time.

Multiple Toasts Problem
Okay, so, i’m thinking about the multiple toasts problem.
See #674 for more background.
And, it is a problem, because we need to both be able to display toasts in exactly, and only ever, one .slds-notify-container.... unless the toast is a part of a modal, in which case it is theoretically possible that there is an open toast, in a container on the main part of the page, but also a modal open that needs it’s own toast.
When a Toast is needing opened, discover if there is already an .slds-notify-container open that has an .slds-notify—toast in it, but that is not a part of a Modal, and “simply” attach the new Toast to the existing container, rather than making a new one.
Of course, notifications can be self-dimissing, on a timer, and the timer for the previously-shown notification container still needs to run on it's own schedule, but not kill off its container when it is time to close, or else the new one will dissapear also.
Additionally, I'm not sure, at all, how "hijacking" another Notification's container can/should work in React.
Perhaps what is needed is some sort of Notificaitons Manager™ that can handle messages in and out of, rather than the Notification component itself handling its own hide/show and container placement.

Apparently you can only open 1 toast at a time, because each toast provides its own .slds-notify-container, and just plops any additional ones right over the first one, rather than stacking them.
You can try it yourself by replacing the code in the toast example on the DSR site:
class NotificationExample extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            isOpen1: false,
            isOpen2: false
        }
    }

    toggleOpen(){
        this.setState({ isOpen1: !this.state.isOpen1, isOpen2: !this.state.isOpen2 });
    }

    render(){
        return (
            <div>
                <SLDSButton label="Open Toast" onClick={this.toggleOpen.bind(this)} variant="brand" />

                <SLDSNotification
                    content="There was a problem updating the record."
                    iconName="notification"
                    isOpen={this.state.isOpen1}
                    onDismiss={this.toggleOpen.bind(this)}
                    texture={true}
                    theme="error"
                    variant="toast"
                    />

                <SLDSNotification
                    content="There was a problem updating the record."
                    iconName="notification"
                    isOpen={this.state.isOpen2}
                    onDismiss={this.toggleOpen.bind(this)}
                    texture={true}
                    theme="error"
                    variant="toast"
                    />
            </div>
        );
    }

}

ReactDOM.render(<NotificationExample />, mountNode);

Pretty sure this isn’t what we want.

This is now doable due to the Toast refactor that made the container a different component.


Add support for getting clients in a given room (Works across multiple nodes)

I added basic support for the redis adapter for storing and getting clients (As an async call) or a room in the redis database.
I didn't manage to do the exit cleanup correctly, so after normal exit, rooms are still filled up with the same (now unexisting) socket ids. Quitting with Ctrl+C or the kill signal should work as expected.
Also added a test for the clients function call

I've been looking into this and due to the issues with synchronization it seems like it would be better to use the pubsub functionality to query the adapter for the clients in a room instead of trying to replicate the client list across the adapters.
So, instead of duplicating a full room list on each worker, instead each worker would query the other workers in real time when they needed a list of the clients in a particular room, using http://redis.io/commands/pubsub commands.
I am going to explore this method.

We're definitely not going to do replication.

I did some exploration on this task and I can't get it working. Unfortunately redis pubsub doesn't allow us to use introspection for pattern subscriptions (so we can't know when all workers have responded with their client list), and even if it did, we'd run into the case of possible race conditions of a worker going down between the pub of the 'clientrequest' message, and the reception of the 'clientresponse' message.
If anyone has an idea how we could accomplish this without introspection or replication I'm open to ideas and would be willing to write some code. I am starting to wonder if it is possible to do this without replication at least for redis, and even using something like ZeroMQ seems to require having a central broker with 'eventually consistent' state management.

@cha0s I think pub/sub could be good enough for most cases considering the unsuitability of redis for this task.
The requestor would emit the client aggregation request with a random uid (which solves the introspection problem), and then have a maximum timeout of how long it's willing to wait for responses from other nodes (like 100 ms).

Well we still can't solve introspection that way, because all workers
would have to know the uid in advance to be able to request the # of
channels listening to it. However we would need to generate a uid to
ensure that each request has a unique fingerprint (so responses don't
get mixed up), and the response would need to return it.
We could easily do the timeout pattern. The problem is that since we
don't have reliable introspection, the call will always take 100ms
because there is no reliable way to know all clients who are subscribed
to receive the message. But then...
An alternative would be to hardcode the clientrequest subscription key
(like "socket.io#clientrequest", it could be overridden in options too),
however then we would have to encode the 'real' client uid in the
package to do the 'same uid' check (in addition to another request uid).
This gives us the ability to finally use introspection though since all
workers will know the key in advance (barring separate workers sending
in that key differently through config options, but that's an
application bug).
On 01/27/2015 09:30 AM, Guillermo Rauch wrote:

@cha0s https://github.com/cha0s I think pub/sub could be /good
enough for most cases considering the unsuitability of redis for this
task/.
The requestor would emit the client aggregation request with a random
uid (which solves the introspection problem), and then have a maximum
timeout of how long it's willing to wait for responses from other
nodes (like |100| ms).
—
Reply to this email directly or view it on GitHub
https://github.com/Automattic/socket.io-redis/pull/15#issuecomment-71666731.

My thinking is that requesting the clients list is something you should rarely (if ever) do. That's why the max timeout downside might not be bad.

(it's still a non-solution)

The other more-complex lower-latency more-reliable alternative being implementing discovery and heartbeats for a mongodb-style replica set node registry, but without the replication.

With redis itself acting as the registry-keeper.

Linking the PR I made: https://github.com/Automattic/socket.io-redis/pull/50
I reduced the timeout to 10ms (seems reasonable, redis is pretty darn fast)

I don't understand why @cha0s idea couldn't work.

You publish a getClients request, with a newly created uid
Other instances receive this request, with the uid
They publish their client info, with the uid
The initiator / requester collects all the incoming info with the uid he send, until the fixed timeout is passed.

Why would that not work?

@peteruithoven
That should work but relying solely on timeout means a possibility for incorrect data.

The PR I linked (in addition to the other two linked from that page) indeed demonstrate that it does work :)
The best case actually requires no timeout, when the client request is sent, we look up the number of subscribers to the channel (the # of nodes we're requsting from) and then receive the same number of replies back, concatenating them. The only time this fails is if a node goes down during the client request. It's still possible that this could happen, and is the sole purpose of the timeout.
It's a pretty small window for inconsistency but I will acknowledge that the window is there, yes

@cha0s Your solution looks good to me.

Nice!
I didn't know you could get the number of subscribers, that solves a lot.

@cha0s I really love your introduction of a best case scenario.

What's the status of this pull request?

I'm also curious about this... would be a great feature to have!

This is the next immediate thing I'm including. It's almost there.
—
@rauchg https://twitter.com/rauchg
On Thu, Apr 16, 2015 at 3:03 PM allthetime<EMAIL_ADDRESS>wrote:

I'm also curious about this... would be a great feature to have!
—
Reply to this email directly or view it on GitHub
https://github.com/Automattic/socket.io-redis/pull/15#issuecomment-93849793
.

+1

We wait.

+1

I didn't manage to check the source code for this pull request, but i'm wondering if a 'pure redis' implementation wouldn't be the case?
As in: each worker saving it's own state on redis?
user enters
 ~> add user.id to room:id SET
 ~> add room.id user:in_rooms SET

user leaves
 for each id in user:in_rooms SET
   <~ remove user.id to room:id SET

server shutdown
  for each socket.id in server.socket.clients
    for each id in user:in_rooms SET
      <~ remove user.id to room:id SET

The only issue i can see is if the worker doesn't shutdown gracefully, other than that this implementation should solve the issue?

@FREEZX I have visited your patched version of this repo (https://github.com/FREEZX/socket.io-redis) I was wondering how to use your .clients() function to get all clients in a room.
Currently I'm using this:
var adapter = require('socket.io-redis')({ host: 'localhost', port: 6379 })
io.adapter(adapter);

// Get all clients in a room
adapter.prototype.clients(room, function(err, data){
    console.log(data); // ['K0ce8P0WP_4vM2evAAAB', ...]
});

Is this a good way to do it?

@artofspeed Are you using my fork of socket.io?
You should be able to do io.clients() with my fork.

@FREEZX with your fork can we know when a user entered or left a room?
i had to implement this on my application and end up having to do a couple of workarounds with sockets.id which i don't even know if it's unique across multiple instances running.

@rauchg @FREEZX Any news about the merge of this PR please :)?

I do not need this anymore, i've switched to primus with the ws transformer, so i won't be working on this year old PR. If anyone wants to take over, be my guest.

@FREEZX can primus-cluster and primus-rooms find out the number of clients inside a room outside the box?

@FREEZX interesting. what plugin do you use to replace this redis adapter and broadcasts messages to running node instances with primus ?

I'm also interested in this :)

@perrin4869 Only if you use https://github.com/cayasso/primus-rooms#primusroomroomclientsfn and then count the number of results. It should be fairly straightforward to add a count feature.
@ebourmalo You can use https://github.com/cayasso/primus-rooms with https://github.com/mmalecki/primus-redis-rooms

+1, any news on this?

Any chance this going to be merged at all? Lots of people interested in the feature.
Is this not being merged because of clean up limitation on exit or there is something else?

Hello @FREEZX!
Looks like I also decided to go with Primus, but not sure which transformer is better to use. Is ws a viable enough solution?

Just found a nice article on topic of choosing transformers (with performance tests): https://medium.com/@denizozger/finding-the-right-node-js-websocket-implementation-b63bfca0539

@jsdream I made a detailed benchmark including all node websocket technologies i found while developing my own web framework in order to choose the best possible approach:
http://nukejs.com/#/benchmarks
https://www.dropbox.com/s/6dgnftmjcjf2g5o/bare_conf.pdf

@FREEZX Thank you very much for the response. Btw, your framework looks very interesting. Will consider it for future projects ;-)

@jsdream Thanks, hope you enjoy using it. :) I was previously working with mean.js, but it had some bugs, and it was difficult making it suit my needs, work with websockets and making it scalable, so instead i went out and did this.

@FREEZX Yeah, currently I struggling with MEAN.js to get websockets working in cluster mode. On the benchmark you've provided I noticed this: "Nuke.js uses the websockets transformer by default, because it is the fastest transformer available, and does not require sticky sessions support on your load balancer."
Does this really mean there is no handshake problem when using ws module with primus and node.js cluster? Sorry for such kind of questions, I am just really new to websockets.

@jsdream Yes, since it doesn't require sticky sessions, and judging from the manual, that's the only issue that breaks primus with cluster. I also remember asking the same question on the primus IRC, i think i got the same response.
If you have other questions, join them on IRC:
server: irc.freenode.net
room: #primus

Cool. Thank you again!

There's been a lot of discussion going on here.  Inability to support this is kind of making me look towards other libraries...

@rauchg Two years... Will it be merged?

+1 What's the status on this? @rauchg

This PR is outdated, and probably broken since new updates to both socket.io and the adapter. As the PR author has abandoned it (which I cannot condemn), it's probably not going to get merged any time soon, if ever.

I have had an idea: how about for the lifetime of the connected socket we periodically set a key on redis with a TTL of some time. If the socket disconnects, or if the server crashes, redis would remove the keys using it's EXPIRE mechanism.

Closed by https://github.com/socketio/socket.io-redis/pull/109


Add Controller support

How to scroll pragmatically ?

What is your point？

How to scroll pragmatically ?

controller.animateTo(index);
use this to scroll to particular index.


Add delete unused config nodes button to config panel

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)

Proposed changes
Add a delete unused config nodes button if the config panel is open and there are any unused config nodes. (disabled if there are none to delete).
As per Trello item https://trello.com/c/C4H2kj7N/52-config-node-sidebar-improvements
Checklist

[X] I have read the contribution guidelines
[X] For non-bugfix PRs, I have discussed this change on the mailing list/slack team.
[X] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Retargeted to the new dev branch


Add rzup Binary Creation and Artifact Upload Job

Linux X64 and macOS ARM64 runners work:
https://github.com/risc0/risc0/actions/runs/10157262008/job/28087088511
@flaub and @SchmErik will fit the changes into the release.yml workflow. Reassigning to Platform team.
@kevinnassery

Thanks!!

@flaub I've extracted the relevant bits and placed them in this PR: https://github.com/risc0/risc0/pull/2156 so I'm going to close this one. Feel free to reopen or ping me if you had other thoughts though!


Modernizr build filename

Changes

Clean up Modernizr build filename. Corresponds with updated README instructions in #431.

For review: @DoSomething/front-end

:+1:


Adding a new worker host fails the ansible playbook deploy

I've gone from a one-node setup in my inventory file, like:
hpc-master-node ansible_host=xxx.xxx.xxx.xxx ansible_port=22 ansible_user=my_username

[hpc-master]
hpc-master-node

[hpc-worker]
hpc-master-node

to:
hpc-master-node ansible_host=xxx.xxx.xxx.xxx ansible_port=22 ansible_user=my_username
hpc-worker-02 ansible_host=xxx.xxx.xxx.xxx ansible_port=22 ansible_user=my_username

[hpc-master]
hpc-master-node

[hpc-worker]
hpc-worker-02

However, this led to a crash during the Ansible deploy:
TASK [hosts : Ensure hosts exist within /etc/hosts] ********************************************************************************************************
Friday 11 March 2022  10:52:37 -0800 (0:00:00.040)       0:00:04.423 **********
ok: [hpc-master-node] => (item=hpc-master-node)
fatal: [hpc-master-node]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'ipv4'\n\nThe error appears to be in '/Users/.../qhub-hpc/roles/hosts/tasks/main.yaml': line 2, column 4, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n - name: Ensure hosts exist within /etc/hosts\n   ^ here\n"}
ok: [hpc-worker-02] => (item=hpc-master-node)
fatal: [hpc-worker-02]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'ipv4'\n\nThe error appears to be in '/Users/.../qhub-hpc/roles/hosts/tasks/main.yaml': line 2, column 4, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n - name: Ensure hosts exist within /etc/hosts\n   ^ here\n"}

Perhaps this is related to https://github.com/Quansight/qhub-hpc/blob/323a9342e913442f6f2df24f0e79176f99366d51/playbook.yaml#L4-L9 (one of the only mentions of ipv4 that I see in this repo)?—that task is skipped for me every time

Could you try setting the internal_interface variable within the host_vars/<hostname>.yaml to override the default interface name that is being used for all nodes. My guess would be that the nodes have different interface names.
Also to me it looks like the error is happening here https://github.com/Quansight/qhub-hpc/blob/main/roles/hosts/tasks/main.yaml#L1-L9

Yeah, Ensure hosts exist within /etc/hosts is indeed the task that was crashing (I thought the other task that was getting skipped was related but perhaps not). Updating the internal_interface in host_vars did the trick. Closing this issue. Thanks!

I spoke too soon. Setting that in host_vars/<hostname>.yaml seems to have resolved things for the worker node, but now broken things for the master node:
TASK [hosts : Ensure hosts exist within /etc/hosts] ********************************************************************************************************
Friday 11 March 2022  12:48:31 -0800 (0:00:00.041)       0:00:04.528 **********
ok: [hpc-master-node] => (item=hpc-master-node)
fatal: [hpc-master-node]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'ipv4'\n\nThe error appears to be in '/Users/.../qhub-hpc/roles/hosts/tasks/main.yaml': line 2, column 4, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n - name: Ensure hosts exist within /etc/hosts\n   ^ here\n"}
ok: [hpc-worker-02] => (item=hpc-master-node)
ok: [hpc-worker-02] => (item=hpc-worker-02)

It looks like it's doing something strange with iterating over the "items" for that Ensure hosts exist within /etc/hosts task, where it runs each node's operation on every host (e.g. notice  that it does [hpc-worker-02] => (item=hpc-master-node) followed by ok: [hpc-worker-02] => (item=hpc-worker-02)).


Include submodules

Currently, submodules are not included in git snapshots, so cargo will retrieve them itself during its own fetch, these should be included during mirroring as they can be a significant contributor to download time.

This change would also be a good time to move to the proper git2 crate instead of directly calling into the git executable itself.


Fix CI error for x86_64-pc-windows-msvc

Had a weird error happening when compiling for x86_64-pc-windows-msvc:
error: reference to packed field is unaligned
   --> cryptoki/src/context/general_purpose.rs:46:30
    |
46  |                     .is_some()
    |                              ^
...
188 |         Function::GenerateKeyPair => check_fn!(ctx, GenerateKeyPair),
    |                                      ------------------------------- in this macro invocation
    |
    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
    = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
    = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
    = note: this error originates in the macro `check_fn` (in Nightly builds, run with -Z macro-backtrace for more info)

This applies the tip and move things in a local variable.

In general this looks weird but good to me :+1:
In a more broader context two notes:

it seems CI is already configured to run with MSVC and it didn't complain :-/
maybe we should adjust the CI workflow yaml to use matrix builds since currently it's not easily visible if and when given target build fails.

I'm hoping to get some time after August to improve the CI, testing, and expand support of this repo... :] but it'll have to wait


Standardize HTTP/400 responses using new JSON format

Update HTTP/400 responses for bad parameter validation

[x] Documentation changes
[x] Code changes
[x] Test changes

Purpose of PR
Standardize HTTP/400 error messages in accordance with the new JSON format/spec. Leveraging model binding and model validation for easier reuse and streamlined developer experience. Created new validation tests for custom validation classes. Resolved transient HTTP/500 errors.
Validation

[x] Unit tests updated and ran successfully
[x] Update documentation or issue referenced above

Issues Closed or Referenced

References retaildevcrews/helium#514

Make sure to run Visual Studio code clean up. There are close to 100 syntax errors.


Article about EnTT

Article about creating example project using SFML 2.5 and EnTT using modern C++, Conan and CMake.
https://leinnan.github.io/blog/conan-adventuressfml-and-entt-in-c.html

That's good. Can I put it in the wiki? Not sure that was the request.

Feel free to do it if You want ;)
I wanted to add documentation label but failed to do so. :D Maybe because I don't use github a lot


RosGzPointCloud Not Loading

Environment

OS Version: Ubuntu 22.04
Binary build: ROS2 Humble 2.5.5-1jammy.20240404.154053| Gazebo Fortress 6.16.0

Description

Expected behavior: The depth image can be seen in image display
Actual behavior: The image display cannot be dropped down and the plugin is not correctly loaded

Steps to reproduce

1.Go to ros_gz_point_cloud/examples
2.Run ign gazebo -r examples/depth_camera.sdf
Output
Error message:
[Err] [SystemLoader.cc:94] Failed to load system plugin [RosGzPointCloud] : couldn't find shared library.
Screenshot:

Hello, do I need to install the RosGzPointCloud library? If so, how?

The PointCloud plugin is unfortunately in a broken state right now. There's a COLCON_IGNORE file in the package.
A workaround for this is to use ros_gz_bridge to bridge point cloud messages from Gazebo to ROS. Here is an example.

Are there any updates on this?

We're looking into an alternative, stay tuned for news soon,

I attempted to get this working on ROS Jazzy with Gazebo Harmonic, which I also mentioned in #360.
Here is the same comment, since it might also apply:

I attempted to port this for ROS Jazzy and Gazebo Harmonic. (Because it looked useful and doable, and I wanted more about Gazebo)
However, even after converting it to a rendering plugin, the performance improvements gazebosim/gz-sensors#447 and gazebosim/gz-sensors#413, it is no longer possible to get data via the renderer directly without subscribing to the (gazebo) topic.
(My branch lives here, although not functioning as expected SuperJappie08/ros_gz jazzy-point-cloud)


MPICH + CUDA

Some tests, e.g., long long fail when using mpich and CUDA-aware GPU.

Thanks for testing this. We (WarpX & ImpactX) use GPU-aware MPI heavily on DOE Exaacale machines, which are currently all HPE/Cray and thus MPICH. With the current releases, anything we should look out for?
We do R2C FW and C2R BW FFTs for 1D to 3D.

This should not affect you. The problem happens when we use alltoall (no-v) which means that we pad the MPI messages to the same size. There appears to be an MPI specific issue if the boxes are empty and we only pad (i.e., we push around fake data). I doubt it will affect you and it may be no-issue on newer installations of mpich. We found this in the version installed from apt on Ubuntu 22.04.
Other than that, check the Cray documentation about GPU-aware MPI. ROCm machines require special env and compiler flags to enable this, sometimes both compile time and runtime.

Thank you for the summary!

Other than that, check the Cray documentation about GPU-aware MPI. ROCm machines require special env and compiler flags to enable this, sometimes both compile time and runtime.

Yes, that's correct. For Cray/HPE machines, we control/request it at compile time so we can activate it at runtime.


Unexpected token { in verdaccio beta

Describe the bug
Executing the verdaccio beta executable results in an syntax error. This seems to be an issue with my Node version. Executing the same commands with version 10.2.1 works perfectly fine. I'd propose to add a hint in the README that points to the supported Node versions.
To Reproduce
Steps to reproduce the behavior:

npm install verdaccio@beta
node node_modules/verdaccio/bin/verdaccio --version
See error

/root/verdaccio-beta/node_modules/verdaccio/build/lib/up-storage.js:274
    const { auth } = this.config;
          ^

SyntaxError: Unexpected token {
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/root/verdaccio-beta/node_modules/verdaccio/build/lib/storage.js:23:18)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

Expected behavior
I'm expecting to get the version information.
Debugging output
$ node --version
v4.2.6

Hello @brennerm,
Unfortunately this project minimum requirement for node is v6.12.0.
Node 4.x is already End of Life and is no longer supported.
Please upgrade your node version, and this error will be gone.

Hello @brennerm,
Yes, node 4 is no longer supported on @beta.
If you need to use an old version of node you can still try verdaccio 2.x (doesn't get new features)
According to Node (more info)

4.x release line is going end of life April 30th

The 6.x release line is moving into maintenance mode April 30th

So you really should upgrade your version of node
The docs installation guide covers this topic
Installation · Verdaccio

Thanks for clarification. Btw can you give an estimate on when 3.0 will be released?

The next weekend will be available already. I'm working on update README and some blog articles.


Add ability to restrict fine-grained tokens to specific repositories

Feature Description
Hello, I'd like to have the ability to create fine grained with per-repositories permissions.
Currently to allow the build of select repositories using actions, we create a token giving read-only to all repos and set it as action secret.
This is not ideal because in case of an infected repository: if a compromised (developer got gitea account hacked), the attacker could easily use actions to escalate privileges and access all the repos accessible by the access token.
Having the ability of limiting scope to certain repositories (the best thing would be to be able to set permissions per-repo) would mitigate this risk.
Currently we could have similar effect by creating "service accounts" for each repository needing private repo access or by using deploy keys (but this would not work for packages).
Screenshots

I was thinking another way of managing this would be to have the ability to create service accounts for specific repos:
The repository's actions would inherit from a token with the service account permissions.
There would be an option to create the service account of a repo, adding a new tab to the settings page of the repo, listing permissions of the service account.
Permissions of the service account itself should be managed the same way as real accounts.
Service accounts should be have for username gitea_svc_{repo_id} and for full name {owner_name}/{repo_name}, and updating repo/owner name should update the service account full name.
Best thing would be to have a badge next to the name indicating it's a repo/service account.
They should be "login disabled".
I don't know if this feature might interest people out here but for our use cases it might be perfect to improve ci/cd safety.

Maybe I should create a specifc issue for this because it's now quite far from the original idea

closed in favor of #26754


fix pgn header for number of rounds

displayed rounds now start at 1 instead of 0.

At least in its current form it’s weird, the test says round is 1 when calling the builder but then the builder increments it to 2? huh? Do cutechess games start at 1 too?

At least in its current form it’s weird, the test says round is 1 when calling the builder but then the builder increments it to 2? huh? Do cutechess games start at 1 too?

yes, cutechess pgns all start at round 1, and imo starting at round 0 doesnt make sense tbh. i guess internally its fine for it to be round 0 but in the pgn it should definitely have 1 added to to it which is why i only altered the displayed output. but if you want i can also make it initialized from 1 too?


x/pkgsite: "No results" gopher is unexpectedly large

What is the URL of the page with the issue?
https://beta.pkg.go.dev/search?q=aoeuidhtns
What is your user agent?
Mozilla/5.0 (X11; CrOS x86_64 13904.41.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.81 Safari/537.36
Screenshot

What did you do?
Perform a search with no results.
What did you expect to see?
A small image and some explanatory text.
What did you see instead?
GIANT GOPHER! 🛩

(Brought to my attention by @seankhliao — thanks!)

Thanks! Fixed.


ENH: Add segmenting algorithm from Ghaffari Devos 2023

In the attached paper from FA2023, @houtan-ghaffari and Devos use a segmentation algorithm with the following steps. Would be nice to add that algorithm to facilitate reproducibility

[ ] high pass 500 Hz
[ ] get envelope with Hilbert transform, see example in scipy docs: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.hilbert.html
[ ] smooth with Hann window (not sure what the parameters were)
[ ] threshold to extract, with threshold adaptively set to envelope's average

Ghaffari and Devos - 2023 - CONSISTENT BIRDSONG SYLLABLE SEGMENTATION USING DE.pdf

Hello,
Thank you very much for your work and for sharing the datasets that we used in our work. The purpose of that thresholding algorithm was only to showcase how much expertise is required to design a thresholding segmentation algorithm, which in the end, still has flaws, as you also showed in the TweetyNet paper before us. However, I will soon put a complete jupyter notebook on my GitHub for research and educational purposes. It's not an easy-to-use software for everyone, just a functional code, but it should be a breeze for you to adapt it :). I'll post the link here after I made the repo.
Kind regards,
Houtan

Here's the repo:
https://github.com/houtan-ghaffari/bird_syllable_segmentation

Here's the repo:
https://github.com/houtan-ghaffari/bird_syllable_segmentation

:raised_hands: thank you @houtan-ghaffari for sharing this

The purpose of that thresholding algorithm was only to showcase how much expertise is required to design a thresholding segmentation algorithm, which in the end, still has flaws, as you also showed in the TweetyNet paper before us.

Very understood.
I think you're exactly right, that it's helpful to have a "baseline" thresholding algorithm.
See also different algorithms here from @theresekoch in https://github.com/theresekoch/avn and discussion in #5
I also have to admit as an imposter in signal processing I wasn't aware of using the Hilbert transform to get the envelope. So I'm kind of thinking out loud about how we could provide functionality to "build" a segmenter that specifies each of the steps (get envelope, smooth, threshold, clean up). Something like a scikit-learn pipeline or set of PyTorch transforms, but just for segmentation.
I'm in the middle of adding an implementation of information retrieval metrics (precision, recall, F1) here:
https://github.com/vocalpy/vocalpy/tree/add-segment-metrics-fix-%2354
We'll want a vignette that shows how to use those metrics, I can include your simple baseline and refs/links to the paper + repo in that

Thank you very much!
I'm new to Bioacoustics and lack the expertise in many required areas. However, I experienced that using spectral power is the best automated way to segment the syllables when using thresholding algorithms. Taking the spectrogram, taking the mean (or max) along the frequency axis to get an envelope, and setting the threshold as the mean value of the whole envelope. Of course, I'm talking only about professionally recorded songs like the ones you published, without severe noise and environmental interference.
We are working on large-scale and fully automated annotation methods to alleviate the annotation difficulties, but we are not there to publish anything. I hope to be able to share better methods with the community shortly, and they might be of interest to your software. Thank you again for your datasets and work!

I'm in the middle of adding an implementation of information retrieval metrics (precision, recall, F1) here: https://github.com/vocalpy/vocalpy/tree/add-segment-metrics-fix-%2354 We'll want a vignette that shows how to use those metrics, I can include your simple baseline and refs/links to the paper + repo in that

Hi David and Houtan! Congratulations on the paper, Houtan! It seems like a really interesting segmentation approach. I don't have much to add to this convo except to say that AVN includes a metrics class in the segmentation module which can be used to get the precision, recall and F1 score for segmentation. I'm not sure that it's the most efficient code, but it does the job and might be a helpful reference as you add segmentation metrics to vocalpy, David. Let me know if you have any questions about it or if there is anything I can do to help out!

Thank you very much!
I'm new to Bioacoustics and lack the expertise in many required areas. However, I experienced that using spectral power is the best automated way to segment the syllables when using thresholding algorithms. Taking the spectrogram, taking the mean (or max) along the frequency axis to get an envelope, and setting the threshold as the mean value of the whole envelope. Of course, I'm talking only about professionally recorded songs like the ones you published, without severe noise and environmental interference.

Thank you @houtan-ghaffari, that's helpful to know.

We are working on large-scale and fully automated annotation methods to alleviate the annotation difficulties, but we are not there to publish anything. I hope to be able to share better methods with the community shortly, and they might be of interest to your software. Thank you again for your datasets and work!

Please feel free to also share your FA2023 paper and any future work in our forum here:
https://forum.vocalpy.org/
I have changed this issue to be a documentation issue--we need to add an example to our docs of using IR metrics like precision and recall that I just added in #57. I will be sure to reference your paper because I think your approach of dynamically choosing the mean as a threshold is fairly common, although AFAIK this hasn't been documented in the lit anywhere.

I don't have much to add to this convo except to say that AVN includes a metrics class in the segmentation module which can be used to get the precision, recall and F1 score for segmentation. I'm not sure that it's the most efficient code, but it does the job and might be a helpful reference as you add segmentation metrics to vocalpy, David. Let me know if you have any questions about it or if there is anything I can do to help out!

Thank you @theresekoch -- Mostly I just want people to know about your work.
I did add an implementation of these metrics in #57, you can see all the gory details of the different implementations I tried in all the commits in that branch 😭 (if for some reason you want to)
Basically after I tried to roll my own vectorized version, I started with what's in mir_evalhttps://github.com/craffel/mir_eval/blob/9be1c5bf9b02b842b22f5b248189fbf88a7e30ac/mir_eval/util.py#L662, which seems like it would be fairly efficient but doesn't choose hits based on how close the estimated boundary is to the reference. So I used a more expensive approach that lets us do that.
Would love to hear feedback in whatever way is convenient for you.

Added this vignette in #133


How to make rounded RTCView?

It's not issue, sry, but is it possible to make video in circle?
<RTCView streamURL={this.state.videoURL} style={{ width: wind.width, height: wind.width, backgroundColor: 'red', borderRadius: wind.width / 2 }} />

Try adding objectFit={'cover'} to your RCTView.
Found here -> https://github.com/oney/react-native-webrtc/blob/cbd06d7107b93bb12131a6ddf99ea2093867d51b/android/src/main/java/com/oney/WebRTCModule/RTCVideoViewManager.java#L52
Haven't tried it myself but worth a shot.

@wack17s  How are you getting that RTCView clipped in a circle like that? I can't get the borderRadius to work, and Android doesn't seem to support clipping the video via a View parent with borderRadius.

Possibly the simplest solution is to put a png on top of the view. Keep transparent whatever you want to be visible, and the rest should have background's color

Hello. Have you managed this issue? Is yes, could you share your realization, please?

@ShaubertIlya , I needed a custom shape so I did create a png and put it on top. It works for sure :) and another solution, if only circle is needed, is to put the component inside of the view, for which to set borderRadius and overflow:'hidden'. Without hidden overflow somehow doesn't always apply, I didn't check why.


Error: Cannot find module './decode-entity'

After the discussion with  @regular in ssbc/scuttlebot#557 I published<EMAIL_ADDRESS>When I tried to ./build.sh 13.0.1 I got this:
...
# run bin.js server with local config file (port, host) (IPv4)
pwd: /tmp/sbot_binjstest_1540289424697
scuttlebot 13.0.1 /tmp/sbot_binjstest_1540289424697 logging.level:notice
my key ID: y9jYvf0P/RpxEcmu8p+Xjs4lewytqgsxn+bL+jSe5IM=.ed25519
module.js:549
    throw err;
    ^

Error: Cannot find module './decode-entity'
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/cryptix/ssb/scuttlebot-release/node_modules/parse-entities/index.js:8:20)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

/home/cryptix/ssb/scuttlebot-release/node_modules/parse-entities/index.js:8
Does decode-entity exist in /home/cryptix/ssb/scuttlebot-release/node_modules/parse-entities?

nope!
$ ls /home/cryptix/ssb/scuttlebot-release/node_modules/parse-entities
index.js  package.json	readme.md
$ jq .version /home/cryptix/ssb/scuttlebot-release/node_modules/parse-entities/package.json
"1.2.0"

on my scuttlebot dir it's also 1.2.0 but does have that file... :cold_sweat: :man_shrugging:
$ cat ssb/scuttlebot/node_modules/parse-entities/package.json  | jq ._integrity
"sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g=="
$ cat ssb/scuttlebot-release/node_modules/parse-entities/package.json  | jq ._integrity
"sha512-XXtDdOPLSB0sHecbEapQi6/58U/ODj/KWfIXmmMCJF/eRn8laX6LZbOyioMoETOOJoWRW8/qTSl5VQkUIfKM5g=="

Do the versions differ? Maybe they messed up the latest version.

I just npm ied parse-entities (1.2.0, which is @latest) and decode-entity.js is there, weird.

hmm, I wonder if this is a bug in npm.

sigh.. every day a new level of weirdness. Honestly, If no-one else can reproduce this I'll consider it a fluke and just try again. I'm just running out of time this week to work on it.

that is weird. I successfully published<EMAIL_ADDRESS>does sound a bit like npm is haunted


Artisan command calls during tests do not run app()->terminate like they would when run normally

Laravel Version: 9.9.0
PHP Version: 8.0.16
Database Driver & Version: MySQL 5.7

Description:
When run in tests via $this->artisan('some:command'); or Artisan::call('some:command'); commands do not run terminate like it would when run normally. This makes it challenging to test that the proper things were run with terminate when running a console command.
Steps To Reproduce:

Add a closure to terminating in AppServiceProvider@boot

$this->app->terminating(function () {
    Log::debug('Application is terminating');
});

Run a command normally via CLI or scheduler
You should see the log
Create a test that calls the command

$this->artisan('some:command');

Run the test
You should not see the log as terminate is not properly run after the command is executed.

https://github.com/Orrison/laravel-console-test-terminate

That's because it's not actually run. It's a mocked pending command that's used for testing. There's no way atm to simulate this.


nvim-treesitter Shows error when launching nvim for the first time.

Error
Error detected while processing BufReadPost Autocommands for "*":
Error executing lua callback: C:/Program Files/Neovim/share/nvim/runtime/filetype.lua:22: Error executing lua: C:/Program Files/Neovim/share/nvim/runtime/filetype.lua:23: Vim(append):Error executing lua callback: Failed to load parser: uv_dlopen: C:\Users\stanp\AppData\Local\nvim-data\lazy\nvim-treesitter\parser\lua.so is not a valid Win32 application.

Description
For those who will gonna say that I have to go through Nvim-treesitter official Windows Support. I did that. I also went through troubleshooting.

I was able to get past step 1, but not past of second step which is adding that line. I know that my init.lua file is in the nvim directory on windows.
My directory structure is as follows;
├── nvim
│   └── init.lua
└── nvim-data
    └── lazy
        └── nvim-treesitter
            └── lua
                └── nvim-treesitter
                    └── install.lua

Line I want to add and which is also not working:
require 'nvim-treesitter.install'.compilers = { "clang" }
The above one shows an import error or Unable to load the lua file. Please help me as I am really stuck here even after ChatGPT'ing.

This is a duplicate of #236. Closing.


Refinements to embeddings and tokenizers

Adds support for instructor-xl for embeddings
Properly truncates content for embeddings before sending to the external service
Adds separate Bert, OpenAI and Anthropic tokenizers, and truncate helper method
@SamSaffron  this will make ergonomics arounds embeddings better

Amazing, I was reading and instructor can handle really long  topics, but  perf gets bad at 10k tokens


Store start/length in nodes instead of start/end.

This speeds up incremental parsing by about 25% as the incremental parser pass only has to update one property on most nodes instead of two.  i.e. now only the start needs to be adjusted (as the length stays the same in any reused node).  Previously both the start and end needed to be adjusted, causing at least two writes on all affected nodes.
This also unifies us with VS and Roslyn's views on what a Span is. The naming is consistent, and the model and operations are the same.

let's talk about this first. i think this touches other API changes that we need to agree upon.

I'm not sold on this change. It's pretty invasive and the last thing we need is more churn.

looks like this has been sitting here for a while. closing it for now.

Reopening.  I still want this to go through.  It just didn't meet the bar for 1.5.  It's definitely a help to incremental parsing.  And i've been consistenly ensuring that the PR is up to date.

I do not think the value justifies the breaking change at this point.

I disagree.  We have gone through no actual process for providing a supported API for third parties to consume.  At best we've had a "feel free to try, but do not expect any sort of compat guarantee" approach.
I was not under the impression that we would not be breaking things.  If that were the case then i would have actually fought to make this change for 1.5 as i feel it is the right thing to do, both for perf and for VS consistency.  I didn't fight for it then because it didn't feel important enough, and the argument back then was that we could always change it later.

I would like to see this (just because its technically a better abstraction). Removing the end field should light up any errors for typed consumers of the language service API.

Fwiw, also cool with the break if it means doing the right thing for the API long-term.

:disappointed:


Difference in auto-complete results - v1 vs v2

v2 results look like this:

v1 results look like this:

Yet the search results remain the same:

Is this expected behavior?

This may be due to the internal implementation of Vuetify's autocomplete. I can see 10 results returned from the API response but only the closest matching results are displayed

Tested in prod.  Fixed, auto-complete results now match with the original OrgBook.


Does poetry-types handle dependencies?

Pandas is required by my projects via a dependency, so it is not directly in my pyproject.toml. However, it is in my poetry.lock file.
If I add pandas types with poetry types add pandas then pandas-stubs gets added to my types group. However when I run poetry types update it removes pandas-stubs.
If I add pandas directly to my poetry dependencies in pyproject.toml then pandas-stubs is not removed with poetry types update

It seems that pandas is detected, if I run poetry types update -vvv then I get this at the end of the output:
   0: Complete version solving took 1.253 seconds with 3 overrides
   0: Resolved with overrides: ({Package('pandas', '2.2.2'): {'numpy': <Dependency numpy (>=1.22.4)>}}), ({Package('pandas', '2.2.2'): {'numpy': <Dependency numpy (>=1.23.2)>}}), ({Package('pandas', '2.2.2'): {'numpy': <Dependency numpy (>=1.26.0)>}})

Finding the necessary packages for the current system

Package operations: 0 installs, 0 updates, 2 removals

  - Removing pandas-stubs (<IP_ADDRESS>316): Pending...
  - Removing pandas-stubs (<IP_ADDRESS>316): Removing...
  - Removing pandas-stubs (<IP_ADDRESS>316)
  - Removing types-pytz (2<IP_ADDRESS>40417): Pending...
  - Removing types-pytz (2<IP_ADDRESS>40417): Removing...
  - Removing types-pytz (2<IP_ADDRESS>40417)

Writing lock file

So it seems to know I have pandas installed but it still removes pandas-stubs

poetry-types collects your dependencies from pyproject.toml and syncs your types group based on that information. It should work for most usecases.
But it seems that in your case reading from poetry.lock would be the better solution.
How and why is pandas not in your pyproject.toml, but in your poetry.lock? I want to understand your usecase.

Pandas is not my pyproject.toml because I do not want to pin the version in my library - if a downstream user wants to use a different version of pandas that is there call. However, it is a requirement of one of my library's dependencies
at 18:00:42 ❯ poetry show pandas
 name         : pandas
 version      : 2.2.2
 description  : Powerful data structures for data analysis, time series, and statistics

dependencies
 - numpy >=1.22.4
 - numpy >=1.23.2
 - numpy >=1.26.0
 - python-dateutil >=2.8.2
 - pytz >=2020.1
 - tzdata >=2022.7

required by
 - databricks-connect >=1.0.5

From my point of view there are multiple solutions to this:
- Add pandas with a wildcard contraint pandas = "*"
- Add pandas with an constraints that allows every future version pandas = ">=2.0.0" (I think allowing 1.0 is a bad idea as an older major release will most likely break something; this would be my preferred solution)
- Add pandas to your dev group so it won't be included inside your packages metadata (poetry install --group dev pandas)

I assume I could help you of some sort.


Cannot reinitialize scan on iOS 13

When camera is viewing and slide down without press cancel button, cannot reinitialize scan
iPhone xR iOS 13.2.2
9.0.0<EMAIL_ADDRESS>PlatformiOS
@ionic-native/barcode-scanner 5.16.0
phonegap-plugin-barcodescanner 8.1.0 (latest)

I have the same issue, is there already a fix?


Error using Export-Excel since updating to latest release of module

I've been using your module since May and it's been working fine. I noticed that there had been a lot of recent updates so I downloaded and installed the latest version of the module and now Export-Excel is not working at all. Whenever I try to use the module I get the following error. For example:
PS F:\PowerShellScripts> Get-Service | Export-Excel services.xlsx
invoke member w/ expression name
At line:1 char:1
+ Get-Service | Export-Excel services.xlsx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], NotImplementedExceptio
    + FullyQualifiedErrorId : System.NotImplementedException

I cannot figure this out and don't understand what is happening. The previous version (from 27th May '15) worked fine. It seems to be an issue with the Export-Excel.ps1 file, which didn't even exist in the previous version. I also noticed that parameter completion is no longer working for the Export-Excel cmdlet.
I am using PowerShell 3.0 on Windows 2008 R2. I also tested on Windows 7 with PowerShell 3 - same issue. Reverting back to the previous version works fine.
Hope you can help!

Just to add that I tried downloading a previous version from commit https://github.com/dfinke/ImportExcel/commit/84e273387ca023def5c9541828c96f53caf9de42 on 21st August 2015 and it works fine. So something happened/changed after that date to break the module - at least for me.

Thanks for the clues. I don't have a box with PS 3. It's going to be a challenge.
The error that is shown is this?
invoke member w/ expression name

Hi Doug. Yes, that's the error:
invoke member w/ expression name

It doesn't give much away. I tried specify -Debug but that didn't provide any further info. If there's anything I can do to help identify the root cause please let me know. I tried reviewing the Export-Excel.ps1 module but I don't really see where or what line of the script is causing the issue. There's nothing at line 1 char 1.

Unfortunately it all works in v5 including the parameter completion. I do have PSReadline installed though.
Could you try gsv | select status | export-excel services.xlsx

Hi. Same error as above. No matter what you try to do with the Export-Excel cmdlet, you always get the above error.

Thanks for trying. If you want, create a ps1 file with that line in it, open it in ISE and set a break point and then you can step through into Export-Excel.ps1 and see if that gives more clues.
I need to figure out how to spin up PS V3

Hi Doug. Sorry I am not very experienced using Debug. I did as you suggested but the example script just errors-out with the same error again, it does't seem to step-into the actual code in the module, it just errors immediately when calling Export-Excel cmdlet:
gsv | select status | export-excel services.xlsx
PS C:\WINDOWS\system32\WindowsPowerShell\v1.0> C:\Users\stu\Desktop\test.ps1
Hit Line breakpoint on 'C:\Users\Stu\Desktop\test.ps1:1'
[DBG]: PS C:\WINDOWS\system32\WindowsPowerShell\v1.0>>
invoke member w/ expression name At C:\Users\Stu\Desktop\test.ps1:1 char:1
+ gsv | select status | export-excel services.xlsx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : OperationStopped: (:) [], NotImplementedException
+ FullyQualifiedErrorId : System.NotImplementedException

That's fine. I think the $PSScriptRoot is the problem in the PSM1.  It may work if you replace it and hard code the actual location in the module folder where the export-excel.ps1 is

Hi Doug. Unfortunately that wasn't the issue. I believe PowerShell 3.0 and later fully support $PSScriptRoot. Anyway I replaced it with the hard-coded location of the module and I still get exactly the same error. Googling the error a few posts on technet about similar issues in scripts mention "The ability to store a method name in a variable and invoke it with the dot operator is new to PowerShell 4.0 and later". Does that mean anything to you? Could something have changed in the code to do that in the latest version of the module?
Just also FYI - all of the other functions in the module work fine, e.g. Import-Excel works without issue. It's just Export-Excel (which is the only function we really use) that doesn't work.

Thanks for drilling down on this.
This does make sense. I'll take a look at the code. This might have been introduced when I added conditional formatting.

Hi Doug,
Have you been able to pinpoint his issue? If there's anything more I can do to help, please let me know. We'd like to be able to update to the latest version.
Stuart

On 8 Oct 2015, at 14:28, Doug Finke<EMAIL_ADDRESS>wrote:
Thanks for drilling down on this.
This does make sense. I'll take a look at the code. This might have been introduced when I added conditional formatting.
—
Reply to this email directly or view it on GitHub https://github.com/dfinke/ImportExcel/issues/44#issuecomment-146545136.

Unfortunately, I have not found what is causing this and I may need to load up v3 of PowerShell to figure it out.

OK. Thanks. Again please let me know if there's anything I can do to assist.

OK, commenting out these lines solves the issue on my PS v3 install.
Next, I need to fix it for v3
foreach($format in $ConditionalFormat ) {
    $target = "Add$($format.Formatter)"
    $rule = ($ws.ConditionalFormatting).$target($format.Address, $format.IconType)
    $rule.Reverse = $format.Reverse
}

Can you upgrade to v4? :-D

Hi Doug. Yes changing that line in Export-Excel.ps1 fixes the issue. I wish I understood why it fixes the problem!
Many thanks for looking into this.

I checked in the change and will push it the gallery soon.
I don't know the explanation as to why this changed in v4.
$Method = "SubString"

"Hello".$Method.Invoke(2,1) # => Needed for -lt v4
"Hello".$Method(2,1)        # => Less noise for -ge v4

Thanks Doug!

Hi Doug,
Many thanks on your great module, which now I use for quite some time. I have one server with PowerShell 3.0, which because of some dependencies, I cannot upgrade to PowerShell 4. I've tried the fix you suggested here, but adding Invoke to Export-Excel cmdlet won't help me. Is there any other solution to this one? I'm using the latest version, just added this here because of the same issue stukey had.
Thanks!

Thanks for the comment @marinkovicpetar. There might be one more way. I need to check some older code. If I don't respond in the next couple days, please remind me.

Thanks a lot Doug, looking forward to it
On Tuesday, 21 June 2016, Doug Finke<EMAIL_ADDRESS>wrote:

Thanks for the comment @marinkovicpetar
https://github.com/marinkovicpetar. There might be one more way. I need
to check some older code. If I don't respond in the next couple days,
please remind me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dfinke/ImportExcel/issues/44#issuecomment-227470148,
or mute the thread
https://github.com/notifications/unsubscribe/AMxG0u2aEd5NHA_EvKKDhwrCLlTpC3vRks5qN_43gaJpZM4GKdip
.

@marinkovicpetar Sorry, that was the trick I used to solve it. Could you post the error and what version of PowerShell, $PSVersionTable

Here it is Doug:
$PSVersionTable
Name                           Value

PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           <IP_ADDRESS>
CLRVersion                     4.0.30319.18444
BuildVersion                   6.2.9200.16398
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2
Get-Service | Export-Excel test.xls
invoke member w/ expression name
At line:1 char:1

Get-Service | Export-Excel test.xls

  + CategoryInfo          : OperationStopped: (:) [], NotImplementedException
  + FullyQualifiedErrorId : System.NotImplementedException

I've changed the following on line 81. in Export-Excel.ps1 per instructions from above:
$rule = ($ws.ConditionalFormatting).$target.Invoke($format.Address, $format.IconType)
Thanks for your help in advance!

Ok, let's try those :)
$rule = ($ws.ConditionalFormatting).PSObject.Methods[$target].Invoke($format.Address, $format.IconType)

Unfortunately, it's the same
PS C:\Users\administrator\Desktop> Import-Module ImportExcel
WARNING: PowerShell 5 is required for plot.ps1
WARNING: PowerShell Excel is ready, except for that functionality

PS C:\Users\administrator\Desktop> get-service | Export-Excel test.xlsx
invoke member w/ expression name
At line:1 char:1
+ get-service | Export-Excel test.xlsx
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], NotImplementedException
    + FullyQualifiedErrorId : System.NotImplementedException

Wow. This is a mystery. Do you get the same error for this?
$m="substring"
"hello".psobject.methods[$m].invoke(2,3)

No, that one completes without any errors
PS C:\Users\administrator\Desktop> $m="substring"
"hello".psobject.methods[$m].invoke(2,3)
llo

Ok, that indicates issue is probably elsewhere. Were you able to run earlier versions of  PS Excel on PowerShell 3.0?

Haven't tried. I've used your module on dozen of servers and client OS, but always with PS 4.0. Would upgrade this server as well, but it's some PBX which has module that is compatible only up to 3.0 per documentation and I wouldn't like to break them, since I heavily rely on them
Do you  maybe know the version that I can give a go, I saw that at the beginning of this thread stukey is mentioning previous release that worked fine for him. I only need Export-Excel.ps1 from the module anyway (exporting CSVs to one Excel with multiple sheets)

Sorry, I don't remember what got introduced and when caused issues for 3.0.

Not a problem, I've fixed it somehow :)
I've took a commit from 10/20/2015 (I needed-HeaderRow in Import-Excel) and then I've applied the change with $rule = ($ws.ConditionalFormatting).PSObject.Methods[$target].Invoke($format.Address, $format.IconType) you mentioned and both cmdlets work great.
Once again, thanks a lot for your help and your great module, it really saves me a lot of time other than dealing with COM

Hi @dfinke  - Sorry to revive an old thread but sadly I'm getting exactly the same problem as @marinkovicpetar . My $PSVersionTable and error output are identical to his.
I installed using:
iex (new-object System.Net.WebClient).DownloadString('https://raw.github.com/dfinke/ImportExcel/master/Install.ps1')
Did anyone come up with a fix or workaround for this by any chance? Upgrading to PS4 is a non-starter for us unfortunately
Thanks

Hey @headsphere, no workarounds. Taking the commit from 10/20/15 seemed to work for @marinkovicpetar.

FYI - I've submitted a pull request that seems to fix this issue on my machines with PS3: #126

Thanks for the PRs. They look good. I'll kick the tires on them. I'll only be able to confirm they run on 5.0. The unit tests are severely lacking for this.

any news about this?
im running it in ps 5.0.10586.117
and i get this when exporting:
Failed exporting worksheet 'Sheet1' to 'C:\WINDOWS\system32': Exception calling "Save" with "0" argument(s): "Error saving file C:\WINDOWS\system32"
At C:\Program Files\WindowsPowerShell\Modules\ImportExcel\4.0.9\Export-Excel.ps1:1000 char:13

        throw "Failed exporting worksheet '$WorkSheetname' to '$P ...

        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : OperationStopped: (Failed exportin...NDOWS\system32":String) [], RuntimeException
FullyQualifiedErrorId : Failed exporting worksheet 'Sheet1' to 'C:\WINDOWS\system32': Exception calling "Save" with "0" argument(s): "Error saving file C:\WINDOWS\system32"

thanks

Please post the PowerShell that you are using that causes this error


Install Polypolish via Conda

I noticed that we were doing a manual install of poly-polish while working on creating a unified download rule. Decided to simplify the code.

Create a new conda environment to install polypolish.

Move to polypolish 0.6.0

Remove the rule for installing polypolish.
Simplify rule polish_polypolish:

Remove inputs to polypolish scripts.
Call polypolish sub commands directly.

@jmtsuji I'm running tests on it now. Was there a specific reason why you installed poly-polish outside the conda before, or was there not a conda package ready when writing the original code?

One more thought: if we wanted, we could separate the read mapping step for polypolish from polypolish itself. The read mapping step can be highly parallelized, whereas I think polypolish only runs with a single thread. This doesn't have to be done now, but it could be a nice optimization.

One more thought: if we wanted, we could separate the read mapping step for polypolish from polypolish itself. The read mapping step can be highly parallelized, whereas I think polypolish only runs with a single thread. This doesn't have to be done now, but it could be a nice optimization.

Sounds good. I decided to move this to its own issue. I'm going to be doing some modifications to read mapping and I'll roll these changes into it.

One more thought: if we wanted, we could separate the read mapping step for polypolish from polypolish itself. The read mapping step can be highly parallelized, whereas I think polypolish only runs with a single thread. This doesn't have to be done now, but it could be a nice optimization.

Sounds good. I decided to move this to its own issue. I'm going to be doing some modifications to read mapping and I'll roll these changes into it.

Sounds good!

One more thought: if we wanted, we could separate the read mapping step for polypolish from polypolish itself. The read mapping step can be highly parallelized, whereas I think polypolish only runs with a single thread. This doesn't have to be done now, but it could be a nice optimization.

Sounds good. I decided to move this to its own issue. I'm going to be doing some modifications to read mapping and I'll roll these changes into it.

Sounds good!

Will fix when I add this improvement: https://github.com/rotary-genomics/rotary/issues/124

@jmtsuji Requesting re-review. I combined the two seqtk seq commands rather than piping them into each other. Should that work? The code appears to be passing my tests.


Proposal: drop travis ci and use github ci

Travis CI is pushing new projects to use a "beta" status of ".com" vs. ".org". On top of this I find their documentation somewhat poor and suffers from this confusing split of .com/.org. I propose we avoid these problems entirely and just switch to using the native github ci.
Looking for opinions. I have already prototyped some of the work required and it's not much. The only downside I see is that if a matrix job's params change, like when I recently added octopus, we'd have to remember to explicitly add that item to the branch protection rules (the checks are dis-aggregated).
I think this is worth it since we're not going to changing these frequently.

I agree that it is very annoying that the state of the CI builds is not always reported back. That is the only issue I have been seeing lately. Not sure if that problem lays with GitHub or Travis CI.

What do you mean with new projects to use a "beta" status of ".com" vs. ".org"?
Their documentation and other links on their sites cross domains a lot, .com, org and .community, I always assumed most of it counts for all their environments :man_shrugging:
https://www.traviscistatus.com/ shows an API outage on the .org domain for 27 March

Personally I do not care what CI we use. I have no experience with GitHub CI, so I can not say it works better or is more user-friendly.
For Ceph-CSI I am looking into (WIP branch) using a dedicated OpenShift hosted Jenkins environment in the CentOS CI. As Ceph-CSI uses go-ceph, we could run jobs there too.

Have you considered CircleCI? I think Ceph-Nano uses that.

I agree that it is very annoying that the state of the CI builds is not always reported back. That is the only issue I have been seeing lately. Not sure if that problem lays with GitHub or Travis CI.
* What do you mean with `new projects to use a "beta" status of ".com" vs. ".org"`?

Part of my frustration stems from this separation. To the best of my current understanding one can use public open source projects under "travis-ci.com"  if you enter a beta program. Traditionally, open source projects use "travis-ci.org". However, they appear to be encouraging new open source projects to use ".com".

* Their documentation and other links on their sites cross domains a lot, .com, org and .community, I always assumed most of it counts for all their environments man_shrugging

On the surface that seems true and then as I tried to figure out what was going wrong this appears not be be true. At the very least ".com" reports back results to the PR using the newer github apis and the ".org" jobs dont. I find the docs in this area to be rather confusing.

* https://www.traviscistatus.com/ shows an API outage on the .org domain for 27 March

I saw that when problems first started occuring. However its tagged as the issue applied to  ".com" whereas all the projects where I had issues were ".org".

Personally I do not care what CI we use. I have no experience with GitHub CI, so I can not say it works better or is more user-friendly.

It was easy to set up modulo an issue with the golang integration module. This is resolved by the v2-beta branch so that's what I'm using in my PR.

For Ceph-CSI I am looking into (WIP branch) using a dedicated OpenShift hosted Jenkins environment in the CentOS CI. As Ceph-CSI uses go-ceph, we could run jobs there too.

Interesting.

Have you considered CircleCI? I think Ceph-Nano uses that.

No. I was aware of it as I did a very quick survey of ci when the idea first struck me. However, my goal wasn't to do a comprehensive evaluation of CI for the project but just to move to something that would work more consistently and the current team, myself in particular, could better control. It also turns out there are configuration for this repo that belong to one of the previous maintainers that I would also like to remove.

I did this. I forgot to close this issue around the time of the release when I made the change.


Fail mock_callable().to_return_value() with coroutines

mock_async_callable() is the way to go for callables that return coroutines. Let's add checks to mock_callable() for the behaviors that return something (return_value, return_values, with_implementation etc) so that it fails if the return is a coroutine.

Closed by #228


Villager Personalities

Weird error whenever i change a villager's personality. I save and reopen the file and it is back to being "lazy" or other previous personality.
Not sure what is wrong.

Also I am having a hard time figuring our how to set their location in the villager editor. I am not sure how to find the numbers i need to enter into the boxes... Clarification on this would be much appreciated.

Version 0.4.4 should have fixed that. Tell me if it's happening with this version:
https://github.com/Cuyler36/ACSE/releases/tag/0.4.4

I'm pretty sure this was fixed already.


eunomy, gelds

This pull request was generated by the 'mq' tool
[test]
flake rate: 0.4
logical conflict every: 100
sleep for: 300s
[pullrequest]
requests per hour: 30
deps=[e,g]

/trunk merge


fixFix BE init script Bug

Proposed changes
change /bin/env bash -> /bin/bash

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Error on EF Core Update method after using Mediator

Hi,
Great improvement with Mediator, we have changed over from MediatR recently. However I am getting an error on the EF Core Update method after the update to Mediator and I wanted to check if this is known or if I can get any help solving this issue.
For DI of Mediator:
Services.AddMediator(options =>             {                 options.Namespace = DomainName;                 options.ServiceLifetime = ServiceLifetime.Transient;             });
All my other services are also Transient.
However, when calling the EF Core Update method to update a record in the database, I get the error below:
The instance of entity type 'Entity' cannot be tracked because another instance with the key value '{Id: 6629b094-1884-4e5d-8d03-ae2dfd5472a5}' is already being tracked. When attaching existing entities, ensure that only one entity instance with a given key value is attached.\r\n
The Add and Find Methods from EF Core are working fine.
I am using version 6.0.10 of the EF Core Nuget Package and using version 2.0.29 of Mediator.
If more info is required, please let me know and I will provide it. I have tried changing the other Lifetimes as well to see if that solves the issue but I still get the same error.
Thank you for the help

Hi! I'm not sure how this can be related to Mediator itself, are you sure there were no other changes that could interfere? Would you be able to reproduce this in a sample? If not I can try so myself whenever I have time.
There was this bug reported where transient handlers aren't being disposed, not sure if that can be related? Apart from this I've not yet heard of any relevant functional changes from the MediatR API.
Do you have some sample code for how you are doing the updates? Is it read-modify-write or something else? And which database?

@martinothamar thank you for the response.
Yes, the bug is related I think because when we create a new Scope in each Handler like the below, it works fine. For some reason, even on 2 separate endpoints, the resources injected into Handlers and Services are not disposed.
public async ValueTask<TResponse> Handle(TRequest request, CancellationToken cancellationToken)         {             using IServiceScope scope = ServiceScopeFactory.CreateScope();             return await HandleRequest(scope, request, cancellationToken).ConfigureAwait(continueOnCapturedContext: false);         }
When I do the update of the database record when creating a separate scope for each scope like the above, it works fine.
Looking forward to the fix in version 3.

As mentioned on the other issue, decided to push a fix to 2.0.30 along with an explanation on what caused it


Unable to get handbrake container to use Synology’s hardware acceleration

Hello there,
I need a hand please, I have a DS718+ Synology NAS and I have Handbreak running on a docker container, auto convert from the watch folder works perfectly but it is using a lot of CPU, so I’ve been looking into existing posts about issues with transcoding and QSV H.265 but I can’t get my container to use the hardware acceleration.
Here is the docker command I’m using:
sudo docker run -d -p 5800:5800 --name=handbrake1 --device /dev/dri/renderD128:/dev/dri/renderD128 --device /dev/dri/card0:/dev/dri/card0 -e USER_ID=0 -e GROUP_ID=101 -v /volume1/docker/Handbrake/Config:/config:rw -v /volume1/docker/Handbrake/Storage:/storage:ro -v /volume1/Movies/Watch:/watch:rw -v /volume1/Movies/Output:/output:rw jlesage/handbrake
I’m using the preset: Hardware/H.265 QSV 1080p
Here is the conversion error I’m getting.
[15:42:18] Starting Task: Encoding Pass
[15:42:18] Skipping vfr filter
[15:42:18] Skipping crop/scale filter
[15:42:18] job configuration:
[15:42:18]  * source
[15:42:18]    + /watch/Twister (1996).mp4
[15:42:18]    + title 1, chapter(s) 1 to 1
[15:42:18]    + container: mov,mp4,m4a,3gp,3g2,mj2
[15:42:18]    + data rate: 1962 kbps
[15:42:18]  * destination
[15:42:18]    + /output/.tPZkmO/Twister (1996).mp4
[15:42:18]    + container: MPEG-4 (libavformat)
[15:42:18]  * video track
[15:42:18]    + decoder: h264 10-bit (yuv420p10le)
[15:42:18]      + bitrate 1575 kbps
[15:42:18]    + filters
[15:42:18]      + Format (format=yuv420p)
[15:42:18]    + Output geometry
[15:42:18]      + storage dimensions: 1920 x 794
[15:42:18]      + pixel aspect ratio: 1 : 1
[15:42:18]      + display dimensions: 1920 x 794
[15:42:18]    + encoder: H.265 (Intel Media SDK)
[15:42:18]      + preset:  speed
[15:42:18]      + profile: auto
[15:42:18]      + level:   auto
[15:42:18]      + quality: 22.00 (ICQ)
[15:42:18]      + color profile: 1-1-1
[15:42:18]      + chroma location: left
[15:42:18]  * audio track 1
[15:42:18]    + decoder: Unknown (AC3) (5.1 ch) (384 kbps) (track 1, id 0x1)
[15:42:18]      + bitrate: 384 kbps, samplerate: 48000 Hz
[15:42:18]    + mixdown: Stereo
[15:42:18]    + encoder: AAC (libfdk_aac)
[15:42:18]      + bitrate: 160 kbps, samplerate: 48000 Hz
[15:42:19] sync: expecting 162614 video frames
[15:42:19] hb_display_init: using VA driver 'iHD'
libva info: VA-API version 1.14.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /opt/intel/mediasdk/lib/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_14
libva info: va_openDriver() returns 0
ERROR: encqsvInit: MFXVideoENCODE_Init failed (-3)
[15:42:19] encqsvInit: using encode-only (LowPower) path
[15:42:19] encqsvInit: H.265/HEVC (null) profile @ level (null)
[15:42:19] encqsvInit: TargetUsage 7 AsyncDepth 6
[15:42:19] encqsvInit: GopRefDist 3 GopPicSize 24 NumRefFrame 1
[15:42:19] encqsvInit: BFramesMax 2 BRefType off
[15:42:19] encqsvInit: RateControlMethod ICQ ICQQuality 22
ERROR: Failure to initialise thread 'Quick Sync Video encoder (Intel Media SDK)'
[15:42:19] ac3-decoder done: 0 frames, 0 decoder errors
[15:42:19] h264-decoder done: 0 frames, 0 decoder errors
[15:42:19] sync: got 0 frames, 162614 expected
[15:42:20] Finished work at: Sat Nov 12 15:42:20 2022
[15:42:20] libhb: work result = 3
Encode failed (error 3).
HandBrake has exited.
I know my device supports this but any idea how to enable it and make it visible to the docker container?
Thank you.

It's a known issue in HandBrake.  You can use the lowpower=0 workaround.  See #211 or #185.

I'm having similar issues trying various combinations of solutions in the issues.

Permissions on /dev/dri
It doesn't seem to be a problem via dmesg output in container. See attachment

I tried the lowpower=0 VideoOptionExtra, but that did not resolve anything.

I did similar to original issue reporter and QSV is reported as not supported in the logs. See attachment.

The Intel site clearly states support for QSV: N5105 Link

Maybe this is a problem with handbrake itself. Any other suggestions I can try?

I've got a similar problem with the DS920+ (Intel Celeron J4125). Happens with every QSV profile, with and without lowpower=0
Conversion of a file in the watch folder doesn't work at all:
[22:33:59] Compile-time hardening features are enabled
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
Cannot load libnvidia-encode.so.1
[22:34:00] hb_init: starting libhb thread
[22:34:00] thread 7fadbf73bb38 started ("libhb")
HandBrake 1.5.1<PHONE_NUMBER>) - Linux x86_64 - https://handbrake.fr
4 CPUs detected
Opening /watch/video.mkv...
[22:34:00] CPU: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz
[22:34:00]  - logical processor count: 4
[22:34:00] Intel Quick Sync Video support: no
...
[22:34:02] Starting Task: Encoding Pass
[22:34:02] Skipping vfr filter
[22:34:02] Skipping crop/scale filter
[22:34:02] job configuration:
[22:34:02]  * source
[22:34:02]    + /watch/video.mkv
[22:34:02]    + title 1, chapter(s) 1 to 26
[22:34:02]    + container: matroska,webm
[22:34:02]    + data rate: 12260 kbps
[22:34:02]  * destination
[22:34:02]    + /output/.6jG7rg/video.mp4
[22:34:02]    + container: MPEG-4 (libavformat)
[22:34:02]      + chapter markers
[22:34:02]  * video track
[22:34:02]    + decoder: hevc 10-bit (yuv420p10le)
[22:34:02]    + filters
[22:34:02]      + Format (format=yuv420p)
[22:34:02]    + Output geometry
[22:34:02]      + storage dimensions: 1920 x 1036
[22:34:02]      + pixel aspect ratio: 1 : 1
[22:34:02]      + display dimensions: 1920 x 1036
[22:34:02]    + encoder: H.265 (Intel Media SDK)
[22:34:02]      + preset:  fast
[22:34:02]      + options: lowpower=0
[22:34:02]      + profile: auto
[22:34:02]      + level:   auto
[22:34:02]      + quality: 22.00 (QP)
[22:34:02]      + color profile: 1-1-1
[22:34:02]      + chroma location: left
[22:34:02]  * audio track 1
[22:34:02]    + name: German AC3 2.0
[22:34:02]    + decoder: Deutsch (AC3) (2.0 ch) (Dolby Surround) (192 kbps) (track 1, id 0x1)
[22:34:02]      + bitrate: 192 kbps, samplerate: 48000 Hz
[22:34:02]    + mixdown: Stereo
[22:34:02]    + encoder: AAC (libfdk_aac)
[22:34:02]      + bitrate: 160 kbps, samplerate: 48000 Hz
[22:34:02] sync: expecting 145158 video frames
ERROR: hb_qsv_param_default_preset: invalid pointer(s) param=0x7fadbf39caf8 videoParam=0x7fadbf39cc20 info=0 preset=0x7fadbf2f2a30
ERROR: encqsvInit: hb_qsv_param_default_preset failed
ERROR: Failure to initialise thread 'Quick Sync Video encoder (Intel Media SDK)'
[22:34:02] ac3-decoder done: 0 frames, 0 decoder errors
[22:34:02] hevc-decoder done: 0 frames, 0 decoder errors
[22:34:02] sync: got 0 frames, 145158 expected
[22:34:02] Finished work at: Sun Dec 11 22:34:02 2022

[22:34:02] libhb: work result = 3

Encode failed (error 3).
HandBrake has exited.

conversion.log
Starting a conversion manually works, but it doesn't seem to use hardware encoding:
[22:39:57] CPU: Intel(R) Celeron(R) J4125 CPU @ 2.00GHz
[22:39:57]  - logical processor count: 4
[22:39:57] Intel Quick Sync Video support: no
...
[22:39:59] Starting Task: Encoding Pass
[22:39:59] Skipping vfr filter
[22:39:59] Skipping crop/scale filter
[22:39:59] job configuration:
[22:39:59]  * source
[22:39:59]    + /watch/video.mkv
[22:39:59]    + title 1, chapter(s) 1 to 26
[22:39:59]    + container: matroska,webm
[22:39:59]    + data rate: 12260 kbps
[22:39:59]  * destination
[22:39:59]    + /output/video.m4v
[22:39:59]    + container: MPEG-4 (libavformat)
[22:39:59]      + chapter markers
[22:39:59]  * video track
[22:39:59]    + decoder: hevc 10-bit (yuv420p10le)
[22:39:59]    + filters
[22:39:59]      + Format (format=yuv420p)
[22:39:59]    + Output geometry
[22:39:59]      + storage dimensions: 1920 x 1036
[22:39:59]      + pixel aspect ratio: 1 : 1
[22:39:59]      + display dimensions: 1920 x 1036
[22:39:59]    + encoder: H.264 (libx264)
[22:39:59]      + preset:  ultrafast
[22:39:59]      + options: lowpower=0
[22:39:59]      + profile: auto
[22:39:59]      + level:   auto
[22:39:59]      + quality: 22.00 (RF)
[22:39:59]      + color profile: 1-1-1
[22:39:59]      + chroma location: left
[22:39:59]  * audio track 1
[22:39:59]    + name: German AC3 2.0
[22:39:59]    + decoder: Deutsch (AC3) (2.0 ch) (Dolby Surround) (192 kbps) (track 1, id 0x1)
[22:39:59]      + bitrate: 192 kbps, samplerate: 48000 Hz
[22:39:59]    + mixdown: Stereo
[22:39:59]    + encoder: AAC (libfdk_aac)
[22:39:59]      + bitrate: 160 kbps, samplerate: 48000 Hz
[22:39:59] sync: expecting 145158 video frames
[22:39:59] x264 options: Unknown suboption lowpower
[22:39:59] encx264: min-keyint: 24, keyint: 240
[22:39:59] encx264: encoding at constant RF 22.000000
[22:39:59] encx264: unparsed options: lowpower=0:ref=1:scenecut=0:bframes=0:no-deblock=1:cabac=0:analyse=none:8x8dct=0:weightp=0:me=dia:subme=0:mixed-refs=0:trellis=0:aq-mode=0:mbtree=0:rc-lookahead=0
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2
x264 [info]: profile Constrained Baseline, level 4.0, 4:2:0, 8-bit
...

activity.log

Did you look at the container's log (docker logs <container name>) ?  During the startup it checks if QSV is usable.

@shrugal I have the same configuration as you and mine works. Here's my docker-compose.yml if it helps. The one issue I had was that I couldn't make the container start unless it was running as root (USER_ID=0) because it was complaining about initializing QuickSync, even though I run a Plex container from linuxserver as a non-root user without issues. :shrug:
services:
  handbrake:
    image: jlesage/handbrake
    container_name: handbrake
    environment:
      - USER_ID=0 # User has to be root or QSV doesn't seem to work
      - GROUP_ID=100 # Skip this if you don't care about your files being accessible to other user groups
    ports:
      - "5801:5800"
    volumes:
      - "/volume1/Docker/handbrake:/config:rw"
      - "/volume1/V/Transcode/storage:/storage:ro"
      - "/volume1/V/Transcode/watch:/watch:rw"
      - "/volume1/V/Transcode/output:/output:rw"
    devices:
      - /dev/dri:/dev/dri
    restart: unless-stopped

Do you still have this issue with the latest Docker image ?

have this issue with H.265-QSV and H.265-10bit-QSV on AsusTor NAS (intel 10th gen cpu).
the solution provided here https://github.com/jlesage/docker-handbrake/issues/185
"Adding lowpower=0 to VideoOptionExtra in the presets.json file makes the gui work. Just create a custom profile and add that option to the preset file. A good "so far" solution until something is implemented."
seems still needed to get H.265 -10bit (Intel QSV) and H.265 (8Bit - IntelQSV) functioning with latest Handbrake 1.7.3 Docker Image, at least on this specific NAS.


Magical Item recharging at dawn causes long rests to fail

As told in the title, in my DnD 5e game, I have a player with an artefact that recharges at dawn. Whenever he tried to long rest, an error is sent to the console (which is attached to this issue). I've discovered that changing the recharge system to "per day" fixes the issue. I have tried it with and without any modules. It provides no changes. (I have also attached my used modules).

What is the formula for the charges recovery on the item?


Plugin seems to be closing. Saving plugins in a map and calling on functionality elsewhere

Hey, I might have missed something. I am loading plugins like so
        pluginMap := make(map[string]*MyPlugin)
	filepath.Walk(root, func(path string, info os.FileInfo, err error) error  {

		if !info.IsDir() && filepath.Ext(path) == EXT {
			if this, err := p.Load(ctx, path, PluginFunctions{}); err != nil {
				return err
			} else {
				pluginMap[uuid.New().String()] = &this
			}
		}
		return nil
	})
	m.plugins = pluginMap

then from "somewhere else" I am calling
func (p PluginManager) CallContentOnPlugins(ctx context.Context) error {
	for _, v := range p.plugins {
		content, err := (*v).Content(ctx, emptypb.Empty{})
		if err != nil {
			return err
		}
		fmt.Println("render content ", content.GetContent())
	}
	return nil
}

If I were to do this directly, in the first code snippet above where I am adding the plugin to the map, it works fine. However when I try to do this from this function, I get the error
error module "" closed with exit_code(0)

My guess is that I would have to keep calling .Load on the plugin however I would have thought all would be OK as I am storing the plugin in the map as a reference, but for some reason that doesnt' work? Any tips as to why?
(on another note, is there ways to expose functions in the plugin to the 'host' at runtime - i.e functions that are not known about in the proto file. Perhaps with reflection, or perhaps with a map of functions in the plugin that are exposed in the proto file?)
Thanks for your help!

EDIT - it seems that passing a plugin around is causing the crash... is that something that makes any sense?

I got it!
The issue was the plugin loader was defer p.Close(ctx) closing. I had not thought that this needed to be open for a plugin to work, but it makes sense now. I'll add that to my struct and close it later.
Hopefully this helps someone

Thanks for putting the comment back about what happens. It helps to share this info, @amlwwalker, even if only to re-enforce the point.


Not working with CIDER (again?)

Here is my profiles.clj:
{:user {:plugins [[cider/cider-nrepl "0.8.1"]
                  [lein-midje "3.1.3"]
                  [mvxcvi/whidbey "1.0.0"]]
        :dependencies [[spyscope "0.1.5"]
                       [org.clojure/tools.nrepl "0.2.10"]
                       [org.clojure/tools.namespace "0.2.10"]
                       [org.clojure/tools.logging "0.3.1"]
                       [io.aviso/pretty "0.1.18"]
                       [alembic "0.3.2"]
                       [im.chit/vinyasa.inject "0.3.4"]
                       [im.chit/vinyasa.reflection "0.3.4"]]
        :injections [(require 'spyscope.core)
                     (require '[vinyasa.inject :as inject])
                     (require 'io.aviso.repl)
                     (require 'io.aviso.logging)

                     (inject/in [vinyasa.inject :refer [inject [in inject-in]]]

                                [alembic.still [distill pull] lein [load-project pull-project]]

                                [clojure.tools.namespace.repl refresh]
                                [clojure.repl doc source]

                                clojure.core
                                [vinyasa.reflection .> .? .* .% .%> .& .>ns .>var]

                                clojure.core >
                                [clojure.java.shell sh]
                                [puget.printer pprint cprint])

                     (io.aviso.repl/install-pretty-exceptions)
                     (io.aviso.logging/install-pretty-logging)
                     (io.aviso.logging/install-uncaught-exception-handler)]
        :whidbey {:print-color true}}}

Everything works in lein repl in the terminal.

My initial guess is that the plugin's profile isn't being loaded. Whidbey adds a :whidbey/repl profile which has metadata with the :repl key set. This causes Leiningen's repl task to merge the profile when starting.
I'm not sure what task CIDR uses to start a REPL, but it may not be merging profiles the same way Leiningen does.

Closing as stale - let me know if this is still an issue, I think some folks have gotten CIDER working with the newer versions.


Raise NoSuchTableError when a table cannot be found during reflection

closes #38

It doesn't look like travis is running any of the reflection tests. Can we get a redshift instance to test this against? I've tested against the library that's using redshift_sqlalchemy and can confirm that this fix addresses the issue, but it would be great if somehow we could test against a real instance

travis doesn't run the reflection tests for pull requests, otherwise someone could create a PR that prints out the database password.

ah. good point

Thank you very much for this! Please  squash your changes and I'll merge this in

Done.


I think it's a bug of Android build system. But is there anyway i can analyst it from ninja side?

Hmm, not sure what the question is here. If ninja is running out of memory trying to open and load that file then there's nothing ninja can do better here except maybe in theory to redesign ninja and represent that information more compactly as it is loaded. And that won't do much other than to delay the problem -- eventually build.ninja may keep growing and reach the new memory limit too.

As the moderator and frequent responder over there, I didn't have much of an answer, though I'll post a short update soon.
The process running out of memory in the first message is actually the process generating the ninja file, not ninja & the rest of the build processes. So while a more efficient ninja file format could help (and we've experimented with them in the past), it's not likely to solve this issue. It may help with ninja startup, but Android already has some significant changes in this area in it's ninja fork, like https://groups.google.com/g/ninja-build/c/htlu9akobq0/m/dgqC7MdMAgAJ
There's some amount of things we could do in our generator, like removing comments, and optimizing variable usage, but when I've experimented with that in the past it was a very limited benefit across the board. Android is moving toward Bazel, which has the integration advantage that it will only generate the parts of the build graph that will actually be used, so in theory that'll help with this problem.
For reference, the Android ninja files have grown significantly over the years -- the 2019 ninja-build post had our public ninja files at ~1.5GB. IIRC, our internal versions were probably ~2-3x that. Today, our public (AOSP) versions are ~12GB, while our internal versions are 30+GB. The android-building post from the first comment showed anywhere from 9-23GB for different users (with different sources and configurations).
If anyone is interested in taking a look, we do publish them as part of our public CI artifacts: generator 1 (make -- 47MB gzipped, 1.1GB uncompressed), generator 2 (soong -- 392MB gzipped, 11GB uncompressed) (plus some tiny ones to ties those together if you browse up a directory or two in those links)

Sorry i didn't make it clear.
Here is the thing

When compile our android T code (download from Qualcomm). we ran out of 32G memory. and found soong_build application(written in go, i'm not sure if Google uses ninja generator code) can  take 29G memory to generate build.ninja. and finnaly the build.ninja is 22G
However if i download pure Android T AOSP source code from Google, and compile, soong_build only take 8G memory, and the final build.ninja is 6.1G

At first, i think it's Qualcomm's problem. However @danw says "internal version". Does it mean Qualcomm Android source code uses internal version of ninja generator? (But i don't think so, soong_build is written in go like i said before)
So my post here, is asking for help about how to debug why the build.ninja is so large? What did Qualcomm do about AOSP code and build system? I don't know how to debug build.ninja file

i dont know why the building system always rebuild build.ninjia,even i did't change any files.


GB 4x3 flag is missing the red diagonal cross

Weird as the squared one has it.
https://github.com/steakknife/svg-flags-rails/blob/master/app/assets/images/country-4x3/gb.svg
vs
https://github.com/steakknife/svg-flags-rails/blob/master/app/assets/images/country-squared/gb.svg

Patches welcomed!
On Sun, Oct 16, 2016 at 8:38 AM Antoine Matyja<EMAIL_ADDRESS>wrote:

Weird as the squared one has it.
https://github.com/steakknife/svg-flags-rails/blob/master/app/assets/images/country-4x3/gb.svg
vs
https://github.com/steakknife/svg-flags-rails/blob/master/app/assets/images/country-squared/gb.svg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/steakknife/svg-flags-rails/issues/4, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AANsMO17mw0iR_5tr53JRfqDgEeTMn8Uks5q0kT8gaJpZM4KYACl
.

Resolved by #5. Thanks! 🍺


Should eliminate this

https://github.com/germanrcuriel/jira-cmd/blob/7f4127efbe3ed92a4bab470985e76f49ea0f5822/bin/jira.js#L217

or should it rather be
user = config.user_alias[user] ||  user;   ?


add "clear cache" option for users having trouble connecting

clear microdescriptors

https://twitter.com/tladesignz/status/1672202386310307840
Report to Apple via feedback assistant:

We get serious messages of our users having problems with restarting Orbot iOS:
https://github.com/guardianproject/orbot-apple/issues/61
https://github.com/guardianproject/orbot-apple/issues/63
https://github.com/guardianproject/orbot-apple/issues/64
I experience these myself. Typically it’s fixed when I delete the cached data which is stored in the shared folder. (Shared between app and network extension.)
Typically, when I start the network extension the first time, it works.
Stopping it again and restarting often leads to immediate stops again.
While investigating further, I recognized, that „TorVPN“ processes weren’t stopped. I could still attach with the debugger.
The system says, the network extension is stopped, though.
Trying to restart it sometimes leads to 2(!) processes running at the same time.
I suspect this is the main cause. Clearing the cache probably helps, because Tor might crash when cache files are removed, leading the not-stopped proccess finally to stop. Failed startups could also happen because the second process cannot have exclusive access to the cache files.
To reproduce:

Install Orbot iOS: https://orbot.app
start, stop and restart Orbot (resp. the network extension) several times


Expand a row collapse the others

In the side tree view, expanding a row collapse all the others, it would be useful to have the Introduction to Ada + Introduction to Spark expanded at the same time (for navigation purpose)

Currently sphinx is generating only the current view of the sidebar toctree. Children of siblings in the tree are not created until the sibling link is clicked and the children are in the immediate scope.

Closing this for now. Adding the ability to have the entire toctree expanded at once would create a UI issue. We would also have to override the theme js. We can reopen in the future if this feature gets more requests.


Implement a rational data type

Built-in rational data type will give the ability to represent numbers like 1/3 and -11/17 without rounding.
There are different options: defaulting to the rational type when using 1/10 or using ruby inspired syntax with 1/10r

@RX14 BigRational is not the same as Rational ─ which would be a smaller and more primitive type  (and maybe generic?).
The issue "Implement a rational data type," does not necessarily prompt for a literal or operations on integers to return them. If there is no better way we can at least construct them manually Rational32.new 1, 3, or generic Rational(Int32), ─ hell, maybe even something à la IntX: Rat32.
I think this should be reopened, rationals are very nice to work with.

@Jens0512 For this to be reopened, there should be a reasonable cause why BigRational isn't enough. I don't think there is any.


Migrate to {{ stdlib("c") }}

The sysroot* syntax is getting phased out (conda-forge/conda-forge.github.io#2102).
The recommendation is to move to {{ stdlib("c") }}.
Ref https://github.com/conda-forge/cuda-feedstock/issues/26

You need to set
c_stdlib_version:   # [linux]
  - "2.17"          # [linux]

in recipe/conda_build_config.yaml and then rerender the recipe

@conda-forge-admin , please re-render

@conda-forge-admin , please restart CI

@conda-forge-admin , please re-render

Re-rendering fails here as we lack write permissions on this branch