METRON-1337: List of facets should not be hardcoded

Contributor Comments
This PR makes the list of facet fields in the Alerts UI configurable.  There is now a "search.facet.fields" setting in https://github.com/apache/metron/blob/master/metron-interface/metron-rest/src/main/resources/application.yml that is a comma-separate list of fields to be used as facets.  Originally a comment was made that the "host" field wasn't commonly used so I removed that from the default list.
I can think of two options for exposing this configuration:

through an AlertProfile that is specific to each user, stored in a relational database and can be edited through REST
a setting that is exposed in Ambari

I chose to include the first option in this PR to get the conversation going.  Is one of these preferable?  The AlertProfile approach allows this setting to be changed at runtime and each user has their own list of facet fields.  But it is not versioned like it would if it were in Ambari.  Do we prefer one over the other?  Do we want both with Ambari being the default when an AlertProfile doesn't exist for a user?  Are there other options I'm not thinking of?
This works similar to how default search indices work:  it is managed in the REST layer and can be overriden by including facet fields in a search request.  However it seemed useful to allow a way to explicitly NOT include facets in a query so it works slightly different than indices.  A missing facetFields property in the request will use the defaults while an empty array will disable facets.  A missing indices property or an empty array will use the default indices.  Is this the correct behavior?
This has been tested in full dev and the UI e2e tests pass when run in isolation.  There is currently an effort to stabilize the e2e tests as a follow on to https://github.com/apache/metron/pull/803 so I did not try to solve that here.
I will add some documentation around configuring the facet field list and facetFields behavior in a search request once we come to a consensus on the solution.
Another issue I would like to point out.  When I added facetFields to the AlertProfile object it required a database update because that new field needed to be added to the database.  This would become an issue if someone were upgrading from a previous version.  Is this acceptable if we document it for future upgrades?  Is a relational database the right solution or should we consider a more flexible storage option?
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[x] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && build_utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

Does ambari own the application.yaml currently?

Each environment will have it's own application.yaml.  Full dev has one, our testing environment has one, Ambari ships one etc.  There is also a base application.yaml that has the defaults (default facets are included here).  Does that make sense?

What I get to was, the setting should be exposed in ambari if ambari manages the config.

Ambari does not manage this config.  It is only included in the base application.yml as a default setting.  I don't feel like this setting should be in Ambari for a couple reasons:  changing it requires a restart and the list of facets cannot be user specific.

Bump @merrimanr

The latest commit switches the persistence for storing user settings to HBase rather than a RDBMS as discussed on the dev list.  Instead of fields being stored in RDBMS columns, the user settings object is now serialized with Jackson and stored in HBase as a byte[].  This required several changes including:

Added code to setup HBase in the MPack, following the update table pattern in the indexing MPack scripts as an example
Added default table/cf values to REST properties
Added a Config class to the REST app to setup an HBase client
Added a Service class to the REST app that manages user settings in HBase
Added tests for all new classes and updated existing tests
Updated the REST README

I also refactored some areas to make things clearer and easier to understand:

Renamed AlertProfile to UserSettings and moved the endpoints to the UserController.  The thinking is that we may not want this to be limited to just the Alerts UI.
Refactored the REST MPack scripts to more closely align with other components in regards to setting up Kafka, HBase, etc.
Removed the Optional fields from a couple model classes.  This was causing issues with Jackson and I don't believe it benefits us enough to have to deal with that complexity.

There are a couple of design issues to consider when reviewing this.  The implementation in the REST app is specific to this use case.  I considered trying to make it more generic for future HBase use cases but decided to keep it simple for now.   Instead of trying to predict what those use cases look like and choose a pattern that works, I decided to leave that to whoever implements a new use case in the future.  I also considered making this generic to all of Metron but again, decided to keep it simple.  Should these settings be limited to just REST/UIs?  Any thoughts on this?
This has been tested in full dev and all tests are passing.  In full dev, navigate to the UserController and use the various endpoints to save and retrieve settings for the currently logged in user.  You should also be able to log in as the admin user and see all user settings and delete an individual user's settings.  I also tested evolving the user settings model by adding new fields and it worked without issue.  Users with existing settings just return null for new fields.

First, nice work.
Second, I have this question:
Since we will have some unknown number of rest clients, that may want to save 'configuration' associated with a user, and not just Alerts UI, should it not be factored more generically?
getUserSettingsForType()
And stored as user, type, settings byte[]  or some such?
We may also want to store the version so that it is user, type, settingsFmtVersion, settings.
We might also want to consider storing as Protobufs, which are more supporting changes.

Of course re-reading your comment, I see you specifically didn't account for these, but I think there are some basic tweaks to allow for this that don't presuppose far flung 20% use cases.

I think it's a fair question @ottobackwards.  Anything that might affect how the HBase table is laid out should be worked out now or we're back to altering tables during upgrades.  Currently the row key is the user name, the column family is hardcoded (although configurable), and the column qualifier is hardcoded.  Would you add the type to the row key or store different client settings in different columns?
We could add versioning but that is not trivial and will increase the scope of this PR.  I can take it on here if we decide we want it but this PR is already large.  Follow on maybe?  Either way works for me.  If we decide a follow on is better I would make an effort to do it right away before we do a release.
Jackson is the standard in Metron for serialization/deserialization.  I think we should have a very compelling reason to introduce something new.  Happy to discuss.

I am not an expert in hbase, I cannot say how i'd implement it.
The version thing we can leave out, it will be just as good or bad as what we have in zookeeper right?
I think the use case is:
For any given User ( at least ) we need the ability to store currently known and future unknown configurations as bytes, with configuration type identifier lookup.  This should be done such that new configuration types can be added by 'putting' config bytes with a new identifier.
I think that gets us a long way.

This looks great, one small comment from review

@merrimanr this looks much better. I'm +1 via inspection pending any further feedback from @ottobackwards.

Any other feedback @ottobackwards or is this ready to go?

Sorry, I'll try to get back to this today


Issue7105

Summary
This branch is aiming to fix issue #7105 providing clearer fail messages for toBeGreaterThan and toBeLessThan
Test plan
I made two test cases for a function that returns the sum of its two arguments. The first test case verifies if 5+5 is greater than 10. This was the output before:

And now:

The second test verifies if 5+5 is less than 10. This was the output before:

And now:

@joanasmramos Thank you for making a pull request to fix the issue.
We agree there is room to improve the report when an assertion fails in Jest.
A goal for changes is let people quickly see information that is relevant to them.
An early step is some matchers like toBeGreaterThan and toBeLessThan now have short parallel labels Expected and Received instead of previous wordy message.
Because the labels and values are aligned like two columns in a table, I prefer not to extend the first label from Expected to Expected greater than or Expected less than
A next step (which we have been slow to achieve) is to replace the deleted words with visual contrast: matcher name as regular black instead of dim gray in the line at the beginning of the report:
expect(received).toBeGreaterThan(expected)
expect(received).toBeLessThan(expected

Improved assertion line will also display any not or rejects or resolves in regular black.
To put it another way, goal is people can choose to focus on the values, or the assertion, or both.
Because there are hundreds of updated snapshots to review, we need to change format of matcher name in small batches of a few related matchers (like these two matchers) in each pull request.
We would be happy for you to take a share in this effort:

The good news is there will be opportunity for you to make several pull requests.
The bad news is I ask you to let us leave this pull request waiting until we are ready.

When we have merged the prerequisite improvement, I can add a comment to this pull request:

with a link to pull request for other matchers so you can see which changes that I made
and a mention of your user name, so you receive a notification

If we (especially the we who is me :) can get our act together sooner than later, it would be an honor if Jest can merge your first pull requests on a public project. If developer experience and information design interest you, there are also other rough edges in Jest that deserve attention in 2019.
P.S. one source that has helped me most is Non Designer’s Design Book by Robin Williams

Thanks @joanasmramos for tackling that!
There's ongoing effort from @pedrottimark to improve the expect output with #7557 adding bold matcher names for readability. Let's close this and focus on mentioned PR.


Solving SonarQube issues

SonarQube analysis reported 1 issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 ClockStatusBit.java#L19: Define a constant instead of duplicating this literal "reserved" 3 times.

retest this please

retest this please

retest this please

retest this please

retest this please

retest this please

retest this please

retest this please


I want to train the model with my dataset,how should I do?

I'm a newer to use the faster rcnn. The class number of my dataset is different from VOC2007. I don't know where should I change in the code.

I'm doing the same. This is what I've found so far, there might be other things:

self._classes in pascal_voc.py (although you should probably make a new file that does the job that pascal_voc.py does, but for your own database.
Change n_classes in both VGGnet_train and VGGnet_test. I eventually want this to be done automatically, but at the moment I think we should change it by hand.

@smallcorgi Anything else? Thanks

thank you very much.


Split ExpressionTestCases into folders for standard and sql diff tests

Splits the test files in the ExpressionTestCases folder into 2 subfolders, one which contains files that contain Sql test differences.

Is the idea that /Standard is common to all engines , and then Sql, JS, etc can have specific dirs?
What does it mean that /string.txt is in both dirs?


Improve performance of Image when there are multiple

Environment

react-native -v: 0.46.4
node -v: v7.7.2
npm -v: 4.1.2

Then, specify:

Target Platform: Android

Development Operating System: macOs

Build tools: Android SDK

Problem
I'm rendering multiple images (3-4) horizontally picked from gallery using react-native-image-picker. And putting them to <Image /> using base64 string. But after picking third photo, UI is not responding correctly and lagging so much. My android device has 4GB ram.
How can I improve this?
Reproducible Demo

constructor(props) {
     super(props)

     this.state = {
         Photos: [null, null, null]
     }

     this.renderPhotosView = this.renderPhotosView.bind(this)
     this.onPhotoSelect = this.onPhotoSelect.bind(this)
}

renderPhotosView() {

        var self = this
        var Photos = self.state.Photos

        return (
            <View style={{ flexDirection: 'row'}} >
                {
                    Photos.map(function (photoBase64Data, i) {

                        return (
                            <TouchableOpacity
                                key={i}
                                onPress={() => {

                                    ImagePicker.showImagePicker(options, (response) => {

                                        if (response.didCancel) {
                                            return
                                        }

                                        self.onPhotoSelect(i,  response.data)
                                    })
                                }}
                                style={{
                                    flex:  30,
                                    backgroundColor: '#CCCCCC',
                                    height: 100,
                                    alignItems: 'center',
                                    justifyContent: 'center',
                                    margin: 5
                                }}
                            >
                                <View>
                                    {
                                        (photoBase64Data == null) ?
                                        <Icon name="ios-add" /> :
                                        <Image

                                            source={{ uri: "data:image/jpeg;base64," + photoBase64Data }}
                                            style={{ height: 100, width: 100 }}
                                        />
                                    }
                                </View>
                            </TouchableOpacity>
                        )
                    })
                }
            </View>
        )
    }

This issue looks like a question that would be best asked on StackOverflow.
StackOverflow is amazing for Q&A: it has a reputation system, voting, the ability to mark a question as answered. Because of the reputation system it is likely the community will see and answer your question there. This also helps us use the GitHub bug tracker for bugs only.
Will close this as this is really a question that should be asked on StackOverflow.


Improvement of Default Map

Default Map View has country list that has information (number of HS and completness) for each of it. But, the query is big. Now, it is using ajax for calling each of country to get it's information, but it make logo of marker has to wait it finish to be loaded.

it is improved, by using load more feature


Add clojurescript mime type

In LightTable we depend on a clojurescript mime type. While the syntax highlighting is the same as clojure, clojurescript is its own language with differing builtins e.g. clojurescript-version instead of clojure-version. We would eventually like to update builtins to have correct clojurescript ones as well.

Thanks. Merged as e6b2f4f310f2


Request: Change color from external widget

Use Case: User wants to see how a certain color code looks like. So he enters, e.g., a hex code and the color picker should show this color.
Is it possible to inject a Color value to the picker?

You can change the color by changing initial color.
class SomeViewState extends State<SomeView> {
  Color selectedColor = Colors.red;

  Widget build(BuildContext context) {
    return Column(
      children: [
        CircleColorPicker(
          initialColor: selectedColor,
          onChanged: (color) => this.setState({ selectedColor: color }),
          size: const Size(240, 240),
          strokeWidth: 4,
          thumbSize: 36,
        ),
        TextField(
          onChanged: (text) => this.setState({selectedColor: Color(text)})
        ),
      ]
    );
  }
}

Your code gives the error "error: The argument type 'Map<Color, Color>' can't be assigned to the parameter type 'void Function()'. (argument_type_not_assignable at ...)" for the setState() lines.
I tried this:
class ColorPickerState extends State<ColorPicker> {
  Color _currentColor = Colors.red;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        CircleColorPicker(
          initialColor: _currentColor,
          strokeWidth: 6,
          onChanged: (Color color) {
            setState(() {
              _currentColor = color;
            });
          },
        ),
       TextField(
          onChanged: (text) {
            setState(() {
              _currentColor = Colors.yellow; // the red value should turn into yellow when entering something into the TextField
            });
          },
        )
      ],
    );
  }
}

But it does nothing. When I have a look into your code, the controller values are only set in initState(), am I right? In that case, after creating the widget, the controller never changes its value.

Hi,
do have a solution for this? I tried do change your code by myself but I believe, things got even worse with my approach :D
I really would appreciate a solution here, as well. Because without it, I couldn't use your very nice component anyway. I do need to be able to set values from external widgets (so the component becomes both: A color picker and a color viewer :D)

Currently approach above doesn't work because of a bug in library. I'm working on this issue.

Hi :)
Do you have any news here? It would be awesome to get this feature. Currently my feature branch is waiting for this, because I'd love to integrate you widget. Do you have any idea if or when you get it fixed? (for planning purposes ;))

Sorry, I was busy last month. I'll fix this until the end of May.

+1 on this.  I love your work! I'm using it with Hubitat to play with a neopixel.  I wanted to pull the current color from the LED on start up/resume of flutter, but I don't see any way to set the color wheel to a value.

Great library and looking forward for this new feature!
Will it be ready soon?

Hi,
Thanks for this widget , can you work on that bug pls :)

we need a controller for this widget, can we create one for this :\

@S-Man42 Sorry for being very late!
I merged PR #21 which add controller parameter to control picker color from outside.
Thanks.


Rename custom upload headers for better compatibility with frontend proxies

#1118
Targeted towards develop as there are workarounds available.
99.9% of the javascript changes are due to the prettier formatting them for the first time.

@doolse Given that this is just nginx blocking perfectly valid headers, and that this will break any existing scripts reading the underscore value, should this be enabled by (dare I say it?) another config value?

@doolse Given that this is just nginx blocking perfectly valid headers, and that this will break any existing scripts reading the underscore value, should this be enabled by (dare I say it?) another config value?

Where would a script be using these values?

Where would a script be using these values?

They probably aren't, given it's undocumented.

Let's squerge after 2019.2


Map all symbol kinds to vscode.SymbolKinds

Fixes this issue:
https://github.com/OmniSharp/omnisharp-vscode/issues/1907

@akshita31 Before we merge this, do you mind pulling the branch and verifying the behavior?

@rchande how do we add a test for this behavior?

@TheRealPiotrP Well, if we had per-feature unit tests, that would be a good place to add these tests. However, we're doing approximately the same mapping in completionItemProvider.ts, so this might be a good time to extract out a common helper and add tests for it in a new file under unitTests. @craig006 Any interest in doing that work, too?

@rchande  The type "Delegate" is missing here. It is not present in SymbolKind as well. Should we go ahead and add that ?

@akshita31 Sure. What icon does it show up with now? Note that there's no VSCode icon for "Delegate" https://code.visualstudio.com/docs/extensionAPI/vscode-api#SymbolKind

Only 3 icons are being used to represent all the types.

Currently it is defaulting to a class type, hence we are getting a symbol for the class only.

The change does make the functionality a lot better. @craig006 could you add a case for Delegate as well with the return type as SymbolKind.Method ?


[Bug] Example dubbo-samples-triple-rest-jaxrs runing failed in 3.3

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java Samples (apache/dubbo-samples)
Dubbo Version
3.3.0-beta.3-SNAPSHOT
Steps to reproduce this issue
Run example dubbo-samples-triple-rest-jaxrs
What you expected to happen
Run succeed. but failed
https://github.com/apache/dubbo-samples/pull/1150#issuecomment-2132594889
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[X] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

The specific version number is 3.3.0-beta.3-SNAPSHOT


Add a slider for adjusting the volume of the backing track.

Fixes #55

I'm just going to go ahead and merge this, but let me know if you have any issues with it


docs: update README

Two changes:

The official Angular documentation states that Angular requires Node.js version 10.9.0 or later. The README should align with that.
For more consistency, Architect CLI should be listed in the "Tools" section instead of "Packages".

This PR replaces #14631 and #14631.

cc @alan-agius4

You're welcome


MDB_PANIC: Update of meta page failed or environment had fatal error

Note: I know this is going to be a very unsatisfying bug report, but the only mention I can find of this error is #3936, which did not lead to any conclusion.
Describe the bug
After some amount of continued runtime, seemingly randomly, Meilisearch will start throwing the error MDB_PANIC: Update of meta page failed or environment had fatal error as response to pretty much any request made to it. Contrary to above discussion, this has nothing to do specifically with the task system, but it does become impossible to send documents to the instance.
At least ingestion and searching break, effectively causing a total outage. When/if the error happens again I will hopefully be able to provide a more detailed breakdown of which functionality is affected. Currently I'm assuming the instance becomes entirely unresponsive. According to monitoring the health route also errors, although I currently do not know which error it reports specifically.
To Reproduce
Unclear.
At this moment I am fairly certain that it has nothing to do with a specific document. I was reminded of a similar looking error #2338 and tried some of the same troubleshooting I did back then. But for this issue, as mentioned in the discussion above, often a simple restart is enough to get Meilisearch up and running again. I have tried resetting and re-indexing the data set entirely, and have also downgraded to a prior version, but the bug always takes a few days/weeks to reappear. To make this clear: I have encountered this issue starting from a fresh instance multiple times this month.
Meilisearch version:
At least 1.4.x and 1.5.x are affected. I had 1.3.x deployed for a long time before upgrading and I think I did not see this error back then, but my memory might fail me here.

Hello @Nextra 👋
Thank you very much for this report. I want to ask for more information on the type of disk you are using. The issue is related to LMDB, our internal key-value store, and not specifically to Meilisearch. It is highly recommended to look into the issues related to LMDB on the internet.
Also, just in case it's useful for you, we do also have a cloud offering ⚡ where we manage your Meilisearch for you. There's a 14 day free trial period if you wanted to try it out.

The instance is deployed to Azure ASP Premium V3 (P1V3), as I believe is recommended in your documentation. This has been running for well over a year, but the errors only started to appear recently, I believe after upgrading to 1.5.x from 1.3.x.
I would really like to assist in diagnosis, but I don't know where to start on this.
Unfortunately I need to deploy to private Azure at the moment, so the cloud offering is not useful.

After a restart, the container now crashes with the following information:
2023-12-20T17:36:22.716603783Z [2023-12-20T17:36:22Z INFO  index_scheduler::batch] document addition done: DocumentAdditionResult { indexed_documents: 1, number_of_documents: 37981 }
2023-12-20T17:36:23.198525014Z /usr/local/cargo/git/checkouts/lmdb-rs-97af4d460cf53f67/501aa34/lmdb-sys/lmdb/libraries/liblmdb/mdb.:2443: Assertion 'rc == 0' failed in mdb_page_dirty()

Hello Nextra :wave:,
Several people running Azure reported being affected by what looks like DB corruptions: https://github.com/meilisearch/meilisearch/issues/4123
Apparently it is due to the kind of storage used, which is unfortunately the one currently recommended in our docs.
We have an issue open on our documentation to change the guide relative to Azure so that we stop unintentionally misleading people, but we are not very comfortable with Azure ourselves (this part of the guide was authored by and Azure specialist at Microsoft): https://github.com/meilisearch/documentation/issues/2622.

I have not used the template directly, so there is no separate network share mapped into the App Service. But maybe the persistent storage in /home that is included with the service plan still uses a network share?
The only thing I definitely know is that this is a recent development, as it used to work for months without fault.

Can confirm the Meilisearch version has nothing to do with it. The errors started appearing a few hours after downgrading to a fresh install of 1.3.5 just yesterday. Maybe something in Azure has changed to make this setup not work anymore.
Why do restarts fix the problem temporarily when the data store is supposedly corrupted?

Quickly looking at the code of our database backend (LMDB), the MDB_PANIC can happen if:

The call to msync to flush data from the mmap to the backing file failed: https://github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/mdb.c#L4345, or
The writer thread died while holding the write mutex of the environment: https://github.com/LMDB/lmdb/blob/mdb.master/libraries/liblmdb/mdb.c#L11306

Given the filesystem on Azure seems unstable, and this looks independent of the Meilisearch version, my call is that it is (1) happening randomly.
Can you tell me on which filesystem/disk the data.ms resides? Also, what is the OS? Is it a standard Linux, or an Azure specific distribution? Sorry if my questions are a bit basic, I'm not an Azure user.

Why do restarts fix the problem temporarily when the data store is supposedly corrupted?

The issue seems to be that the filesystem offered by Azure is (became 🤔) unreliable for some of the more "exotic" features that our DB backend is using (mostly, the mmap implementation). From there there could be a range of symptoms ranging from failed file flushes (what you're seeing) to full DB corruptions (as reported in other issues).
Once the issue happens in one of your indexes, you need to restart because LMDB remembers that a sync failed and flags the index as unusable for that process.

This setup has worked pretty much uninterrupted for this whole year, the issues only started arising when I upgraded to 1.5 when it got released. As I now know this was purely a coincidence, but will give you an idea of the time frame.

Also, what is the OS? Is it a standard Linux, or an Azure specific distribution?

$ uname -a
Linux 5babb03ed2fd <IP_ADDRESS>-2.cm2 #1 SMP Sun Sep 24 03:38:45 UTC 2023 x86_64 GNU/Linux
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"

Can you tell me on which filesystem/disk the data.ms resides?

I have configured it such that the database is located on the storage that is included with the ASP. It seems like this does not make a difference compared to your deployment script (where a separate Azure Storage disk is mounted into the ASP app), because that included storage is still a network disk:
Filesystem                                                                             1K-blocks     Used  Available Use% Mounted on
//<IP_ADDRESS>/volume-25-default/onhws9917vtp22509fxp/w6ri90s76b5u63hab218aa101258fw9h<PHONE_NUMBER> 16239524<PHONE_NUMBER>   2% /home

This setup has worked pretty much uninterrupted for this whole year, the issues only started arising when I upgraded to 1.5 when it got released

Did you perhaps restart your machine or otherwise perform a system update at the same time you updated the Meilisearch version?

Not intentionally, but I assume that the VM behind ASP just regularly updates itself in the background. The switch to the new container could have been a possible trigger for such a process.

Thanks for the update. I can't think of anything in RC3 that would make things better. That's the good kind of mysterious though I guess 😅


Error during training

I hope this message finds you well. I am currently working with your CSA-Net repository and have encountered an issue that I am unable to resolve. Could you please provide some guidance or direct me to the appropriate resources?
The issue that i face is an Index error while training.
Thank you for your assistance. Please fix this issue as soon as possible

Best regards,
Jithu A K

Hello, I encountered the same issue. May I ask if you have resolved it?
Best regards

No, not yet.
On Mon, 26 Aug, 2024, 10:10 am WHLWJL, @.***> wrote:

Hello, I encountered the same issue. May I ask if you have resolved it?
Best regards
—
Reply to this email directly, view it on GitHub
https://github.com/mirthAI/CSA-Net/issues/1#issuecomment-2309301210, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/BDCRHSJZJUIBBUHMQZ2NCD3ZTKWU7AVCNFSM6AAAAABL2BU67CVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMBZGMYDCMRRGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you for the reply.

I was unable to replicate the error; however, I have updated the code based on the attached screenshot. Could you please check if this resolves your issue?

The updated code resolved the issue, thank you very much.


partition_quantiles finds incorrect minimum with large unsigned integers

What happened:
dask.dataframe.partitionquantiles.partition_quantiles finds an incorrect minimum and maximum value with large integer inputs.
What you expected to happen:
For partition_quantiles to find correct minimum and maximum.
Minimal Complete Verifiable Example:
In [1]: import numpy as np
   ...: import pandas as pd
   ...: import dask.dataframe as dd
   ...: from dask.dataframe.partitionquantiles import partition_quantiles

In [2]: pandas_df = pd.DataFrame({
   ...:     'a': np.array([612509347682975743,<PHONE_NUMBER>58293247], dtype=np.uint64)
   ...: })
   ...: dask_df = dd.from_pandas(pandas_df, npartitions=1)

In [3]: partition_quantiles(dask_df.a, npartitions=1).compute()
Out[3]:
0.0<PHONE_NUMBER>82975744
1.0<PHONE_NUMBER>58293248
Name: a, dtype: uint64

In [4]: dask_df.a.min().compute()
Out[4]:<PHONE_NUMBER>82975743

Anything else we need to know?:
As more commentary on this bug: this is the simplest example I could come up with, but I've been having related issues with set_index on a uint64 column. Specifically, if I load data from an unsorted CSV, and the minimum value is towards the end of the dataset, then calling set_index leaves the minimum value in the last partition!
I can't share the full dataset but this is really interesting:
df = dd.read_csv(path, dtype={'uint_col': np.uint64})
df = df.set_index('uint_col')

df_min_value = df.index.min().compute()
#<PHONE_NUMBER>82975743
partition_min_value = df.partitions[-1].compute().index.min()
#<PHONE_NUMBER>82975743
divisions_min_value = df.divisions[0]
#<PHONE_NUMBER>82975744

df_min_value < divisions_min_value
# True
partition_min_value < divisions_min_value
# False
partition_min_value < np.uint64(divisions_min_value)
# True
df_min_value == partition_min_value
# True

type(df_min_value)
# numpy.int64
type(partition_min_value)
# numpy.uint64
type(divisions_min_value)
# int

🤯
So I'm guessing that there are some buffer overflow issues with uints?
Edit: It seems like it might be helpful to store more things in the same datatype as the index, and prevent unnecessary coercion? For example, this seems like a bug:
df.index.min().dtype
# dtype('uint64')
df.index.min().compute().dtype
# dtype('int64')

I don't understand why the dtype should change there.
Environment:

Dask version: 2021.2.0
Python version: 3.8.3
Operating System: Mac OSX 11.1
Install method (conda, pip, source): pip

Thanks for the report @kylebarron!
I can reproduce.  I believe the issue arises from using linear interpolation when operating on integer dtypes.  Observe:
In [1]: import numpy as np

In [2]: a = np.array([612509347682975743,<PHONE_NUMBER>58293247], dtype=np.uint64)

In [3]: np.percentile(a, [0, 100], interpolation='linear').astype(np.uint64)
Out[3]: array([612509347682975744,<PHONE_NUMBER>58293248], dtype=uint64)  # Bad

In [4]: np.percentile(a, [0, 100], interpolation='nearest')
Out[4]: array([612509347682975743,<PHONE_NUMBER>58293247], dtype=uint64)  # Good

This could be solved by a few different ways:

don't perform perform linear interpolation for integer dtypes (always do nearest)
check the min/max value and do linear if the values can safely be cast to/from float64
let the user choose the interpolation method.

(1) is simple and probably good enough, but may change behavior for existing code in unexpected ways.
(2) more complicated and introduces an extra min/max computation, but computing the min/max should be very fast.
(3) is my least favorite choice.
I lean towards (2).

Always using interpolation="nearest" for integer dtypes is probably a very reasonable thing to do.  It will help the compression step when combining quantiles from blocks. See relevant comment here: https://github.com/dask/dask/pull/1261#discussion_r67936148 (if only we considered domain more carefully back then!).
Another option is to see if the min/max value from the percentile calculation isn't safe to cast to float, and to move the the next closest floating point value.  This may have the least impact to existing code:
In [1]: import numpy as np

In [2]: a = np.array([612509347682975743,<PHONE_NUMBER>58293247], dtype=np.uint64)

In [3]: qs = np.percentile(a, [0, 100], interpolation='linear')

In [4]: qs.astype(np.uint64)
Out[4]: array([612509347682975744,<PHONE_NUMBER>58293248], dtype=uint64)

In [5]: qs[0] = np.nextafter(qs[0], -np.inf)

In [6]: qs[-1] = np.nextafter(qs[-1], np.inf)

In [7]: qs.astype(np.uint64)
Out[7]: array([612509347682975616,<PHONE_NUMBER>58293376], dtype=uint64)

In [8]: qs.astype(np.uint64)[0] < a[0]
Out[8]: True

In [9]: qs.astype(np.uint64)[-1] > a[-1]
Out[9]: True

Glad it's reproducible! It looks like the relevant code is here?
https://github.com/dask/dask/blob/8663c6b7813fbdcaaa85d4fdde04ff42b1bb6ed0/dask/dataframe/partitionquantiles.py#L411-L418
So it looks like the float output is being rounded and coerced back to integer as you mentioned above.
I don't know Dask super well so I don't have a strong opinion on the best fix. Using interpolation="nearest" for integer types seems fine to me.

Another option is to see if the min/max value from the percentile calculation isn't safe to cast to float, and to move the the next closest floating point value. This may have the least impact to existing code

One small comment here is that it can be beneficial to know tight bounds on your partition, and it seems like this approach necessarily creates larger bounds than necessary? But maybe that's better to prevent a backwards-incompatible change?

Yup, you're understanding of all of the above is correct.
If you want to make a PR to use nearest interpolation for integer dtypes, @kylebarron, that would be great!  We're here to help if you need it.
But just to be clear, you don't need to make a PR if you don't want to.  I can take care of it if you don't.  The reproducible bug report is already super-valuable.


Follow enif_send contract.

As @hansihe notes in https://github.com/hansihe/Rustler/issues/44#issuecomment-271915753
The first argument to enif_send is "The environment of the calling process. Must be NULL only if calling from a created thread." Instead, we pass an OwnedEnv, which isn't associated with any process.
It "seems to work for now" but obviously we should code to the spec.

Thanks for posing this in the erlang-questions lists.  enif_send is the only safety hole that I haven't solved yet.  If you learn anything new, please do record it here for posterity.
Maybe once the dust has settled on OTP-20 (and they are juggling quite a bit in the NIF code) we can see if there are any changes/additions on the Erlang side that will allow safe enif_send.

Options:

What the current send branch does. This is sound, and it supports both enif_send use cases ("calling process" and "created thread"), but it incurs measurable overhead on every NIF call.
We can add a bool to NifEnv telling whether or not it's the "environment of the calling process". The bit would be true for envs created by handle_nif_call and false for envs created by OwnedEnv::run etc.  This would impose some overhead, not on every NIF call, but on everything you do with a NifEnv (no guess whether this is better or worse than option 1). Plus this is a half solution. It works only for "calling process" cases, i.e. when the bit is set. If it's not set, we might be either in a "calling process" or a "created thread" situation, and we have no way of knowing which.
We can create a different thread-local variable, a bool that is set true by ThreadSpawner::spawn() to mark "created" threads. This too is a half solution, but the other half: if we're in a calling process, we know it's safe to call enif_send(null, ...). If not, we don't know if env is the correct environment to pass to enif_send or not.
We could do both option 2 and option 3.
We can mark NifEnv::send() and trait JobSpawner as unsafe.
We can add some kind of flag that you have to set in your rustler_export_nifs if you want to use env.send(), so you only pay the overhead if you're actually planning to send messages. If you don't set the flag, the thread-local variable will be None and .send(), seeing this, can just panic.

An alternative to option 6 would be to use cargo conditional compilation. If the user wants to use send, they add thee send feature to the Cargo.toml, and the code for the feature only gets compiled in if the user explicitly enables the feature. This would completely remove all runtime cost when the feature is disabled, and possibly make the implementation simpler.

Right -- I forgot about that. I'll do that.

Looks like another option would be to use enif_thread_type

@scrogson Nice find!  enif_thread_type first appeared in OTP-19 and is provided by erlang_nif-sys = ">=0.5.3".


Add metrics

Metrics are always good. Not a hard requirement for MVP1, but a very good nice to have

This might actually become very relevant if we try to use custom CloudWatch events/alarms/metrics as a trigger for autoscaling events. The way that would work is we would auto scale when we reach a defined capacity for WebSocket connections on a host. Not technically a requirement for MVP1, but something very good to keep in mind

This is done


detect unknown modifications

Hi,
Would DeepMod2 be able to pinpoint locations where uncharacterised modifications are present?
The current base callers can not handle this, because not trained for these.
But being able to localise where unknown modifications are present would already be very helpfull.
Thanks a ton,
Gerben

Hi,
Currently we have not developed any models for de-novo modification detection, but it is something we plan to do in the near future. We will update the issue once we have such models.
Best,
Umair


The grid on Graphing is not automatically x:y=1:1

Calculator 11.2109.8.0 on Windows 11
The grid on Graphing is not x:y=1:1, which causes perpendicular lines look like unperpendicular, etc.

Thanks for the bug report! This appears to be a dupe of #1368, so going to close for now. If I am mistaken, please let me know, and we can revisit.


Improvements to iOS simulator testing

This removes a workaround for an Xcode bug that's since been fixed, and makes the 32-bit simulator tests compatible with Xcode 8.
I've tested these locally with great success. Hopefully CI will also approve of these changes!

This doesn't appear to have broken anything. Moving to Review.

I guess not switching simulators is a good way to avoid issues related to switching between simulators.
👍


[T6A1][W14-B2]Tan Wei

Some comments added. Feel free to add more comment if you have any questions. Once you are done, you may close the PR after reading comments.


Resuming from Sleep with a changed display resolution

Description
What steps will reproduce the problem?

Spyder still running on a laptop connected to an external monitor and a network, when I put the laptop to Sleep. I disconnected the external monitor and unplugged the machine from the network. Upon waking the laptop from Sleep, this error message appeared.
Traceback
  File "C:\Users\greg\Anaconda3\envs\afcap2\lib\threading.py", line 801, in __bootstrap_inner
    self.run()
  File "C:\Users\greg\Anaconda3\envs\afcap2\lib\site-packages\watchdog\observers\api.py", line 146, in run
    self.queue_events(self.timeout)
  File "C:\Users\greg\Anaconda3\envs\afcap2\lib\site-packages\watchdog\observers\read_directory_changes.py", line 75, in queue_events
    winapi_events = read_events(self._handle, self.watch.is_recursive)
  File "C:\Users\greg\Anaconda3\envs\afcap2\lib\site-packages\watchdog\observers\winapi.py", line 346, in read_events
    buf, nbytes = read_directory_changes(handle, recursive)
  File "C:\Users\greg\Anaconda3\envs\afcap2\lib\site-packages\watchdog\observers\winapi.py", line 306, in read_directory_changes
    raise e
WindowsError: [Error 64] The specified network name is no longer available.

 This problem should be fixed in our latest version. To update please open the Anaconda prompt and run there
conda update anaconda
conda install spyder=4.1.5

Please let us know if it works for you.

Thank you.
Alas, it will be some time before I can confirm whether that fixes it, as conda can't update Spyder in either of my two virtual environments.
One virt-env uses Python 2, but Spyder 4.1.5 requires 3.x.
The other virt-env installed from anaconda 2020.07, and conda install spyder=4.1.5 finds many conflicts before giving up.
I'll probably need to switch to miniconda, or possibly roll back to an earlier anaconda, to break this impasse and actually test 4.1.5.

After updating to Spyder 4.1.5 (by updating to Anaconda 2020.11) a few months back, I have not seen this error again.  As I'm fairly confident that some version after 4.0.1 fixed the error so it no longer occurs with 4.1.5, I'm closing this issue. I'll create a new one if it should ever surface again with 4.1.5 or later.

After updating to Spyder 4.1.5 (by updating to Anaconda 2020.11) a few months back, I have not seen this error again.  As I'm fairly confident that some version after 4.0.1 fixed the error so it no longer occurs with 4.1.5, I'm closing this issue. I'll create a new one if it should ever surface again with 4.1.5 or later.


ERROR: Could not build wheels for gensim, which is required to install pyproject.toml-based projects

Building wheels for collected packages: gensim
Building wheel for gensim (setup.py) ... error
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [42 lines of output]
/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/init.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/setup.py", line 334, in <module>
      setup(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 106, in setup
      _install_setup_requires(attrs)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 79, in _install_setup_requires
      _fetch_build_eggs(dist)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 84, in _fetch_build_eggs
      dist.fetch_build_eggs(dist.setup_requires)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/dist.py", line 907, in fetch_build_eggs
      return _fetch_build_eggs(self, requires)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/installer.py", line 38, in _fetch_build_eggs
      resolved_dists = pkg_resources.working_set.resolve(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 829, in resolve
      dist = self._resolve_dist(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 865, in _resolve_dist
      dist = best[req.key] = env.best_match(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1135, in best_match
      return self.obtain(req, installer)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1147, in obtain
      return installer(requirement)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/installer.py", line 101, in _fetch_build_egg_no_warn
      wheel.install_as_egg(dist_location)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 117, in install_as_egg
      self._install_as_egg(destination_eggdir, zf)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 125, in _install_as_egg
      self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 171, in _convert_metadata
      os.rename(dist_info, egg_info)
  OSError: [Errno 66] Directory not empty: '/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/.eggs/numpy-1.25.2-py3.9-macosx-10.9-universal2.egg/numpy-1.25.2.dist-info' -> '/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/.eggs/numpy-1.25.2-py3.9-macosx-10.9-universal2.egg/EGG-INFO'
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for gensim
Running setup.py clean for gensim
error: subprocess-exited-with-error
× python setup.py clean did not run successfully.
│ exit code: 1
╰─> [42 lines of output]
/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/init.py:84: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated.
!!
          ********************************************************************************
          Requirements should be satisfied by a PEP 517 installer.
          If you are using pip, you can try `pip install --use-pep517`.
          ********************************************************************************

  !!
    dist.fetch_build_eggs(dist.setup_requires)
  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/setup.py", line 334, in <module>
      setup(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 106, in setup
      _install_setup_requires(attrs)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 79, in _install_setup_requires
      _fetch_build_eggs(dist)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/__init__.py", line 84, in _fetch_build_eggs
      dist.fetch_build_eggs(dist.setup_requires)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/dist.py", line 907, in fetch_build_eggs
      return _fetch_build_eggs(self, requires)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/installer.py", line 38, in _fetch_build_eggs
      resolved_dists = pkg_resources.working_set.resolve(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 829, in resolve
      dist = self._resolve_dist(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 865, in _resolve_dist
      dist = best[req.key] = env.best_match(
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1135, in best_match
      return self.obtain(req, installer)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/pkg_resources/__init__.py", line 1147, in obtain
      return installer(requirement)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/installer.py", line 101, in _fetch_build_egg_no_warn
      wheel.install_as_egg(dist_location)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 117, in install_as_egg
      self._install_as_egg(destination_eggdir, zf)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 125, in _install_as_egg
      self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
    File "/Users/dimsumdin/Work/15.openai/generative_agents/venv/lib/python3.9/site-packages/setuptools/wheel.py", line 171, in _convert_metadata
      os.rename(dist_info, egg_info)
  OSError: [Errno 66] Directory not empty: '/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/.eggs/numpy-1.25.2-py3.9-macosx-10.9-universal2.egg/numpy-1.25.2.dist-info' -> '/private/var/folders/qw/41ljf22s02l4ctg_2ytrhjk40000gn/T/pip-install-300gw0fh/gensim_bf04eddd7a0146628321cebfe4809c6f/.eggs/numpy-1.25.2-py3.9-macosx-10.9-universal2.egg/EGG-INFO'
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed cleaning build dir for gensim
Failed to build gensim
ERROR: Could not build wheels for gensim, which is required to install pyproject.toml-based projects
(venv) (base) MacBook-Pro:generative_agents dimsumdin$

I have the same issue. Would be nice to have some help

pillow

Works with me too, thanks for highlighting that.

Have you solved this error? I have the same issue

I have the same issue, Can you give the solution for this ?

I had this same issue. For me, after running pip install gensim --verbose on Windows terminal, I saw I needed to install Microsoft C++ Build Tools, then it worked. Good luck!

seems to work when i run
pip install --use-pep517 gensim==3.8.0

I had this same issue and tried making a new venv with python 3.11 instead of python 3.12, and that worked for me

Has anyone gotten it to work fully lately? If so, would anyone be willing to share their files? We are interested in using it as a use case example for Nonprofit & AI community work, and unfortunately have not been able to get it to work on our own yet.

pip install --use-pep517 gensim==3.8.0
python version 3.9
spacy<3.0.0
That worked for me..

try pip install --use-pep517 gensim==3.8.0
This worked for me in Python-12.

I had this same issue. For me, after running pip install gensim --verbose on Windows terminal, I saw I needed to install Microsoft C++ Build Tools, then it worked. Good luck!

Hi, I am trying the same way, but failed. There are some sub-choice when I installed the vs_BuildTools.exe, is it my failure due to have wrong choices? Could you please tell me a little bit more about the method?


Support long term reference in the h264 video decoder

I am getting the error of long term
full stack trace
ava.lang.RuntimeException: long term
at org.jcodec.codecs.h264.decode.RefListManager.reorder(RefListManager.java:156)
at org.jcodec.codecs.h264.decode.RefListManager.buildRefListP(RefListManager.java:79)
at org.jcodec.codecs.h264.decode.RefListManager.getRefList(RefListManager.java:42)
at org.jcodec.codecs.h264.decode.SliceDecoder.decodeFromReader(SliceDecoder.java:71)
at org.jcodec.codecs.h264.H264Decoder$FrameDecoder.decodeFrame(H264Decoder.java:152)
at org.jcodec.codecs.h264.H264Decoder.decodeFrameFromNals(H264Decoder.java:103)
private void reorder(Picture[] result, int list) {
if (sh.refPicReordering[list] == null)
return;
int predict = sh.frame_num;
int maxFrames = 1 << (sh.sps.log2_max_frame_num_minus4 + 4);
    for (int ind = 0; ind < sh.refPicReordering[list][0].length; ind++) {
        switch (sh.refPicReordering[list][0][ind]) {
        case 0:
            predict = wrap(predict - sh.refPicReordering[list][1][ind] - 1, maxFrames);
            break;
        case 1:
            predict = wrap(predict + sh.refPicReordering[list][1][ind] + 1, maxFrames);
            break;
        case 2:
            throw new RuntimeException("long term");
        }
        for (int i = numRef[list] - 1; i > ind; i--)
            result[i] = result[i - 1];
        result[ind] = sRefs[predict];
        for (int i = ind + 1, j = i; i < numRef[list] && result[i] != null; i++) {
            if (result[i] != sRefs[predict])
                result[j++] = result[i];
        }
    }
}

The above error occurs when I am using rtsp link. However, in video, the code works fine. Any help would be appreciated.

Is there any way I can disable LTR(Long term reference) from code?

Could you please attach a sample video so I could take a look?

Should be fixed in 30eb428, please reopen if you find a file that doesn't work, please attach a video file as well.

Hey, @svitvitskiy  thank you for replying. I am using jcodec library in AWS Kinesis Video Streaming(KVS). I don't have any video as I am using live streaming and I am using kinesis video parser library. Here is the link  https://github.com/aws/amazon-kinesis-video-streams-parser-library.
While running kinesis video parser library it throws jcodec error as mentioned above. Though I will check the latest commit and will let you know if the error is solved or not.

Hello, what is the plan to release a new version of the library having this fix ? Thanks

Thanks, I'll try to do it ASAP.
Stan
On Tue, May 3, 2022 at 7:59 AM Givanildo Alves @.***>
wrote:

Hello, what is the plan to release a new version of the library having
this fix ? Thanks
—
Reply to this email directly, view it on GitHub
https://github.com/jcodec/jcodec/issues/379#issuecomment-1116200341, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABCZ37AI4EL3WXAPTA7AVN3VIE5L3ANCNFSM4ICYIWCA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thanks, any expected date for the new release ?


Warnings on macOS

gcc src/import.c src/utils.c src/caldav.c src/diary.c -o diary -Wall -DGOOGLE_OAUTH_CLIENT_ID=\"\" -DGOOGLE_OAUTH_CLIENT_SECRET=\"\" -lncurses -lcurl -pthread -framework CoreFoundation
src/utils.c:287:10: warning: variable 'res' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    if ( wordexp( str, &str_wordexp, 0 ) == 0) {
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:292:12: note: uninitialized use occurs here
    return res;
           ^~~
src/utils.c:287:5: note: remove the 'if' if its condition is always true
    if ( wordexp( str, &str_wordexp, 0 ) == 0) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/utils.c:285:14: note: initialize the variable 'res' to silence this warning
    char* res;
             ^
              = NULL
1 warning generated.
src/caldav.c:203:13: warning: variable 'res' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
        if (tokenfile == NULL) {
            ^~~~~~~~~~~~~~~~~
src/caldav.c:213:13: note: uninitialized use occurs here
        if (res != CURLE_OK) {
            ^~~
src/caldav.c:203:9: note: remove the 'if' if its condition is always false
        if (tokenfile == NULL) {
        ^~~~~~~~~~~~~~~~~~~~~~~~
src/caldav.c:168:5: note: variable 'res' is declared here
    CURLcode res;
    ^
src/caldav.c:424:9: warning: 'sprintf' will always overflow; destination buffer has size 8, but format string expands to at least 9 [-Wfortify-source]
        sprintf(depth_header, "Depth: %i", depth);
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:3: note: expanded from macro 'sprintf'
  __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
  ^
src/caldav.c:825:50: warning: use of logical '||' with constant operand [-Wconstant-logical-operand]
            if (conf_ch == 'y' || conf_ch == 'Y' || 'a' || conf_ch == '\n' || !confirm) {
                                                 ^  ~~~
src/caldav.c:825:50: note: use '|' for a bitwise operation
            if (conf_ch == 'y' || conf_ch == 'Y' || 'a' || conf_ch == '\n' || !confirm) {
                                                 ^~
                                                 |
src/caldav.c:823:16: warning: variable 'conf_ch' is used uninitialized whenever 'while' loop exits because its condition is false [-Wsometimes-uninitialized]
        while (!conf) {
               ^~~~~
src/caldav.c:864:12: note: uninitialized use occurs here
    return conf_ch;
           ^~~~~~~
src/caldav.c:823:16: note: remove the condition if it is always true
        while (!conf) {
               ^~~~~
               1
src/caldav.c:799:9: warning: variable 'conf_ch' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
    if (remote_file_exists && (timediff < 0 || !local_file_exists)) {
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/caldav.c:864:12: note: uninitialized use occurs here
    return conf_ch;
           ^~~~~~~
src/caldav.c:799:5: note: remove the 'if' if its condition is always true
    if (remote_file_exists && (timediff < 0 || !local_file_exists)) {
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/caldav.c:799:9: warning: variable 'conf_ch' is used uninitialized whenever '&&' condition is false [-Wsometimes-uninitialized]
    if (remote_file_exists && (timediff < 0 || !local_file_exists)) {
        ^~~~~~~~~~~~~~~~~~
src/caldav.c:864:12: note: uninitialized use occurs here
    return conf_ch;
           ^~~~~~~
src/caldav.c:799:9: note: remove the '&&' if its condition is always true
    if (remote_file_exists && (timediff < 0 || !local_file_exists)) {
        ^~~~~~~~~~~~~~~~~~~~~
src/caldav.c:798:16: note: initialize the variable 'conf_ch' to silence this warning
    int conf_ch;
               ^
                = 0
6 warnings generated.

Thanks Jonny, this clang compiler seems to be a lot more useful :+1:
Added a note in the docs for testing and debuggin:
https://github.com/in0rdr/diary/commit/e5c7714e3c990b9a1298aeec96c47f7be19af910


Run from go2rtc server

I'm trying to get this to work with a go2rtc server setup in Proxmox, but can't figur out what's wrong.
https://github.com/AlexxIT/go2rtc
This is my config:
{
      module: "MMM-RTSP2WebRTC",
      position: "top_right"
      config: {
        updateInterval: 30000, // Default time to show next camera (in milliseconds)
        retryDelay: 5000, // Time to wait to refresh DOM when server and feeds are alive (in milliseconds)
        controls: false, // If video player should show its controls
        height: 350, // video player height
        width: 700, // video player width
        animationSpeed: 400, // Animation speed to update DOM
        sources: rtsp://<IP_ADDRESS>:8554/frontdoor // sources list (rtsp urls to proxy. e.g rtsp://x.x.x.x:8554/live)
      }
    },

When I run the rtsp://<IP_ADDRESS>:8554/frontdoor stream in VLC it works fine so my guess it's something in the config I've done wrong.

I get: Error when starting node_helper for module MMM-RTSP2WebRTC
And tried all sorts of syntax for sources with no luck.


Ok if we add/change the rendering example to use viewdom?

Not published on PyPI yet, but here are the docs for viewdom (the code is almost 100% @jviide of course.)
Once I publish the package, ok if I change the htm.py docs to point to it? I'm tempted to remove hyperpython as it doesn't really install and the probably won't any time soon
Two notes about the viewdom docs:

I switched to the sphinx-book-theme which I'm really enjoying.
What made me choose that? They are the folks behind MyST and my viewdom Sphinx docs switched to Markdown

Sure, sounds good to me 👍


HempCoin Advocate Needs Contact With Coin Creator!

Hello $THC Team!

I believe in HempCoin.

I believe it is MORE than a digital currency.

I believe it has the seed-potential to RESTORE THE HEALTH of our (1) bodies, (2) minds, (3) soil, (4) air and (5) economics.

The heartiest plant on earth, deserves to be paired with the heartiest coin on earth!
I want to see that happen. I want to help make that happen. But I need to speak with someone who has technical prowess, and is willing to at least hear out an audacious vision that PUSHES THE CAPACITY of this coin!
I have been earnestly trying to reach the creator of HempCoin, because I have not identified a formidable coin competitor of yours. But, man, the unresponsiveness almost makes me wish that wasn't the case!
I've reached out on Twitter, Bitcoin Forum, Steemit and Email. GitHub is now the 5th platform on which I have said, "I am here to support and herald you! With great loyalty and enthusiasm! Can someone on the team please talk with me?"
Crickets.
I know life is fast and full, but it really shouldn't be this hard to help...

Hello,
I am Tim the creator of HempCoin THC. We are always interested in helping projects. You are welcome to call me. Skype: Autovid or text me<PHONE_NUMBER> anytime.
Regards,
Tim Renzetti
256.759.0161
Sent from iPhone

On Sep 14, 2017, at 8:13 AM, SativaYoga<EMAIL_ADDRESS>wrote:
Hello $THC Team!
I believe in HempCoin.
I believe it is MORE than a digital currency.
I believe it has the seed-potential to RESTORE THE HEALTH of our (1) bodies, (2) minds, (3) soil, (4) air and (5) economics.
The heartiest plant on earth, deserves to be paired with the heartiest coin on earth!
I want to see that happen. I want to help make that happen. But I need to speak with someone who has technical prowess, and is willing to engage with a very audacious vision.
I have been earnestly trying to reach the creator of HempCoin, because I have not identified a formidable coin competitor of yours. The unresponsiveness almost makes me wish that wasn't the case.
I've reached out on Twitter, Bitcoin Forum, Steemit and Email. GitHub is now the 5th platform on which I have said, "I am here to support and herald you! With great loyalty and enthusiasm! Can someone on the team please talk with me?"
Crickets.
I know life is fast and full, but it shouldn't be this hard to help...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you so much for replying, Tim!
I am in Acapulco, Mexico, and we are currently undergoing a major storm system. I keep losing electricity and internet. That's the only reason you didn't get a call from me right away!
I couldn't help but promote and invest in $THC as soon as I saw it... because it touches the core of my greatest values.

I was already committed to cannabis/hemp as a personal mission  (www.patreon.com/sativayoga), so promoting HempCoin just feels like a natural extension of that advocacy.
I'd love to have your official blessing for me to carry on singing the praises of HempCoin to the world.
Also, may I interview you, Tim? Briefly. Under 20 minutes (though you're welcome to share for longer if you like.) We could do side-by-side video on Zoom. Will be fantastic, and I'd promote everywhere.
The coin needs your face, Tim. And with yesterday's spike🚀, $THC is fresh on everyone's minds.
Let's take advantage of that! What do you think?
Excited! ✨
Erika Harris
Skype ID: empathicwriter
Skype #:<PHONE_NUMBER> <--- Haven't used yet, fyi, but should be fine.
Sent from Erika's iPhone

On Sep 14, 2017, at 8:48 AM, Tim<EMAIL_ADDRESS>wrote:
Hello,
I am Tim the creator of HempCoin THC. We are always interested in helping projects. You are welcome to call me. Skype: Autovid or text me<PHONE_NUMBER> anytime.
Regards,
Tim Renzetti
256.759.0161
Sent from iPhone

On Sep 14, 2017, at 8:13 AM, SativaYoga<EMAIL_ADDRESS>wrote:
Hello $THC Team!
I believe in HempCoin.
I believe it is MORE than a digital currency.
I believe it has the seed-potential to RESTORE THE HEALTH of our (1) bodies, (2) minds, (3) soil, (4) air and (5) economics.
The heartiest plant on earth, deserves to be paired with the heartiest coin on earth!
I want to see that happen. I want to help make that happen. But I need to speak with someone who has technical prowess, and is willing to engage with a very audacious vision.
I have been earnestly trying to reach the creator of HempCoin, because I have not identified a formidable coin competitor of yours. The unresponsiveness almost makes me wish that wasn't the case.
I've reached out on Twitter, Bitcoin Forum, Steemit and Email. GitHub is now the 5th platform on which I have said, "I am here to support and herald you! With great loyalty and enthusiasm! Can someone on the team please talk with me?"
Crickets.
I know life is fast and full, but it shouldn't be this hard to help...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


if/typeof/in type narrowing on union type's uncommon properties

Code
interface Bird {
    fly: () => any;
    layEggs: () => any;
}

interface Fish {
    swim: () => any;
    layEggs: () => any;
}

function Move(pet: Fish | Bird) {
    if (pet.swim) {
        pet.swim();
    } else {
        pet.fly();
    }

    if (typeof pet.swim === "function") {
        pet.swim(); // Only this line works
    } else {
        pet.fly();
    }

    if ("swim" in pet) {
        pet.swim();
    } else {
        pet.fly();
    }
}

Expected behavior:
I expect the code above to work without any errors at all. I feel it's all reasonable.
Actual behavior:
I get error for all if/else branches. The only place that works is commented above.

Still an issue in v0.67.0

post code also in flow.org/try please

It's easy to reproduce. Copy/paste into flow.org/try.
Here's the link for anyone that wants it:
https://flow.org/try/#0JYOwLgpgTgZghgYwgAgELCgE2QbwFDKHIwA2AngFzIAUAlMgLwB8ycIZA3AUSXGQKIBzQQGcqdRizac8AXzx5QkWIhQAxYCIAWuboREB3YAFtx9Zq3ZciyXgOFia5qVbkKYAVxAIwwAPYgyACyfgBuENQADhBgVBrayAA+aBiY9Pg2wDA00WAAdIYm6Xo2yLkFRsZ01kSyyBAkIigZpYTlpGTVJfI2JVk0YGTRftnlhcaMDAzIAESe3r4BM8WtbTEVJtXIAPTbyADyIOTIYFqatqAoBn5QANYi3fWNzSU27eRdNvJ92dQz4zNkKAyjEVqsxpVPrUnk1dKsQfkOlDCPJZEA

Still an issue in v0.70.0

Not a bug. pet.swim doesn't prove that it is a Fish, it could be a Bird with swim property of an arbitrary type.

@vkurchatkin Have a look at the following example which uses "exact" types instead (so Bird shouldn't have the swim property of an arbitrary type)...
type Bird = {|
    fly: () => any;
    layEggs: () => any;
|}

type Fish = {|
    swim: () => any;
    layEggs: () => any;
|}

function Move(pet: Fish | Bird) {
    if (pet.swim) {
        pet.swim(); // Works fine
    } else {
        pet.fly(); // Works fine
    }

    if (typeof pet.swim === "function") {
        pet.swim(); // Only this line works
    } else {
        pet.fly(); // Doesn't work - thinks pet could be a fish
    }

    if ("swim" in pet) {
        pet.swim(); // Doesn't work - thinks pet could be a bird
    } else {
        pet.fly(); // Doesn't work - thinks pet could be a fish
    }
}

Yes, this makes sense for exact object, but there is an issue for that already

@vkurchatkin Are you referring to this one? https://github.com/facebook/flow/issues/4772

Yes, but I think there are others


Open terminal in vscode's working directory

Issue Type: Feature Request
Every time I open the terminal in vscode I change the directory to the directory that's opened in vscode. It would be awesome if this happened automatically.
VS Code version: Code 1.35.1 (c7d83e57cd18f18026a8162d042843bda1bcf21f, 2019-06-12T14:30:02.622Z)
OS version: Windows_NT x64 10.0.18362

#34971 and #20013 represent a much more complex problem, that of restoring an entire terminal process / state. I think this issue can stand on its own. Setting the terminal to vscode's default workspace directory does not require the deep surgery needed to capture the entire process state. It's an intermediary benefit which, according to my experience at least of having to manually set it whenever I start vscode, brings a lot of value.

Every time I open the terminal in vscode I change the directory to the directory that's opened in vscode.

This should happen by default, what folder is it opening?

Ah, I see what's happening. My powershell $PROFILE script has a Set-Location to the directory containing all my repositories. If I comment it out and open vscode, then vscode correctly changes the current directory to the vscode workspace directory. Is there a way I can detect in my $PROFILE script that it's running under vscode and not set the location?

You can use $TERM_PROGRAM to see whether it's vscode or not. Other than that I think this is behaving as designed; nothing we can do if PowerShell wants to change the directory off of the cwd.


nix-prefetch-git: also add store path to json output

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 85511 1

9 packages built:
- bundix
- cabal2nix
- crystal2nix
- dep2nix
- go2nix
- nix-prefetch-git
- nix-prefetch-scripts
- nix-update-source
- vgo2nix


Fix ETCD dashboards

How to categorize this PR?

/area monitoring
/kind regression
What this PR does / why we need it:
Three etcd dashboards were broken because the label values on etcd metrics had changed: From role: <main/events> to role: etcd-<main/events>. I also took the liberty of renaming the $cluster variable to be in line with the label name.
For the decision to un-stack and un-staircase various panels, I've attached some screenshots for easier comparison:

etcd dashboard

etcd backup/restore dashboard

etcd cluster details dashboard

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
cc @gardener/monitoring-maintainers
Release note:

The 'etcd', 'etcd backup/restore', and 'etcd cluster details' dashboards now display data again.

Fixes #10095.
Thanks for the PR @rickardsjp.

@rickardsjp on second thought, I also see a similar issue with etcd-cluster-details-dashboard.json dashboard, specifically with the Raft Proposals panel. Could you please check and fix this as well?

Thank you, fixed it. PTAL :)

/approve


add numeric-predecessor type-class, re-pkg nat things

Codecov Report

Merging #9 into master will not change coverage.
The diff coverage is n/a.

@@         Coverage Diff          @@
##           master    #9   +/-   ##
====================================
  Coverage      99%   99%
====================================
  Files          11    11
  Lines         101   101
====================================
  Hits          100   100
  Misses          1     1

Continue to review full report at Codecov.

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


Rename KeyCode::*Win to KeyCode::*Meta

What problem does this solve or what need does it fill?
The KeyCode's LWin and RWin can be somewhat confusing/difficult to find for us Mac users. They seem like they should only work for Windows-style keyboards.
What solution would you like?
Rename KeyCode::LWin and KeyCode::RWin with the more generic KeyCode::LMeta and KeyCode::RMeta.

'Meta' feels foreign for Windows and Linux users and also note that there are a lot more people on Windows than on MacOS.
On Linux we sometimes refer to it as 'Super' key, but that is probably the rarest one.
Imho this key won't be used in most games and apps so no need to bother.

What emacs calls the meta key is the alt key on most keyboards or option on apple keyboards. Same for vim.

On Linux we sometimes refer to it as 'Super' key, but that is probably the rarest one.

Super is another possibility. I've  made apps in Electron and I think they use both.

Imho this key won't be used in most games and apps so no need to bother.

That's probably true. Although, shortcuts like Super+W might be handy for multi-window applications. Or Super+C to copy text. And things like that.
But if these are seen to be unlikely cases, then I suppose we could just stick with the *Win terminology.

What emacs calls the meta key is the alt key on most keyboards or option on apple keyboards. Same for vim.

Oh didn't know that. Maybe Meta isn't the best then? Super is now seeming like it might be the better option then, if we want to still change it.
Otherwise, like I said in my other comment, we can just leave this as is if the community doesn't see any merit in it currently.

how about SuperMetaWin?

how about SuperMetaWin?

This is the one! 😂

Meta can and will confuse Emacs and Vim users. It happened to me, actually, in a different project.
Super is a good and classic choice.
The QMK keyboard firmware uses the word GUI for this key. LGUI and RGUI.
Win and Cmd are platform-specific choices and thus should be avoided.

Is having an alias an option? The problem is most keyboards have a "Windows" key regardless of your OS. So, simply changing it from one to another only moves the confusion, it doesn't really solve anything.

Is having an alias an option?

While it could be nice (again, this is how Electron handles it I think), it could be an issue when matching the KeyCode. We'd probably have to write something like:
match keycode {
  KeyCode::LWin | KeyCode::LMeta => { /* Do something */ },
  // ...
}

So I think an alias might not be the proper solution.

The problem is most keyboards have a "Windows" key regardless of your OS. So, simply changing it from one to another only moves the confusion, it doesn't really solve anything.

Yeah, that's what I think it comes down to. Most people are either on Windows or using a keyboard with a Windows key. A change like this might not be favored by the majority then, even if it does agnosticize the OS/hardware terminology.

Closing for now, as it seems a change to Meta or Super might cause more confusion.

I guess we might just leave this discussion for now and make a poll on this topic in the future. I've did a small poll in my blog and people preferred Super to Meta and no one wanted Win. (only 14 people participated)
also thought of an idea that there are a lot of gamers on Windows, but the majority of developers are on Linux/MacOS which might be an interesting point to consider in this context.

Why not just add some documentation to LWin and RWin that describes what they map to on other platforms?

Why not just add some documentation to LWin and RWin that describes what they map to on other platforms?

This a easy compromise for the time being and should at least help


yutto: 2.0.0-beta.43 -> 2.0.0-rc.4

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 348106 run on x86_64-linux 1

6 packages built:

biliass (python312Packages.biliass)
biliass.dist (python312Packages.biliass.dist)
python311Packages.biliass
python311Packages.biliass.dist
yutto
yutto.dist

Should I mark it as broken or remove darwin from platform?

Well, you're the maintainer of both biliass and yutto, so I guess you can decide :)
Also, biliass failure because of iconv is not related to this PR, so I think you are free to deal with that either here or in another PR.

@ofborg build biliass

Result of nixpkgs-review pr 348106 run on aarch64-darwin 1

6 packages built:

biliass (python312Packages.biliass)
biliass.dist (python312Packages.biliass.dist)
python311Packages.biliass
python311Packages.biliass.dist
yutto
yutto.dist


Loop behaviour

Hi guys, thanks for releasing the Passthrough and Loop features.  They are awesome.
Based on the documentation, the Loop should return an array of outputs based on the array of inputs
I have a simple JDM here
sample.json
using the following inputs
{
  "items": [
    {
      hello: 'foo',
    },
    {
      hello: 'koo',
    },
  ],
}

Expected response:
{
  res: [
    {
      world: 'bar',
    },
    {
      world: 'error',
    },
  ],
}

Actual response:
{
  res: [
    {
      world: 'bar',
    },
    {
      world: 'bar',
    },
  ],
}

Is this behaviour expected?
Btw, I am using the latest Standalone Editor

Hi @Gabrieltay
Thank you for the bug report. This has been confirmed and the fix will be released.


Need update

Hello everybody!
Cell with a formula that uses a formula to the bottom cell writes "#NEED_UPDATE".
EXPERIMENTAL by establishing that if you set the parameter needUpdate = true + render () - recalculation of the cell, but how to do this when loading a table?

At the moment the page is loaded solved the problem since.
But I do not think this is a good option.
for (i = 0; i < table_instance.plugin.matrix.data.length; i++) {
table_instance.plugin.matrix.data[i].needUpdate = true;
}
table_instance.render();


Pause blinking when moving the cursor or interacting with the mouse.

Does that look better?

There we go! Used the arrow function. :D

Thanks for the PR.
Regarding _ and debounce, I think it's better to make a very simple implementation here (just a timer and an extra call to setTimeout), instead of the wrapper. We don't want to pollute the namespace here.
I don't use blinking cursors myself, yet I do agree that it should stop blinking when moving very fast. But why also for mouse events? It doesn't look like obvious to me.

why also for mouse events?

Any time we interact with the cursor it's nice to see it. Any time we don't interact with it, the blinking helps us find it.

@trusktr OK I think I agree with you about holding the cursor blinking.

There we go, how does that look?

Alright, there we go.

Merged.
Thanks a lot!

Awesome! :smile:


Update json-schema and jsprim

Hi @ryuichis, I think my parcel update created a conflict in this PR. I don't see these 2 packages in my package-lock.json, so it may be that we don't need them anymore?


fix: finalchain destructions

Check that final chain thread is stopped before destroying objects

Nice. I think you can even delete these timeouts, which are not necessary anymore:
https://github.com/Taraxa-project/taraxa-node/blob/develop/tests/network_test.cpp#L195
https://github.com/Taraxa-project/taraxa-node/blob/develop/tests/full_node_test.cpp#L1140

Deleted the timeouts and tests seem to pass fine

prnet cleaned-up successfully


Code for generating lineages should be in main package.

The depth two state lineage and breadth two state lineage code should be outside of the figures folder and somewhere in lineage. This should be easy to do. (<1 hr of work)

Done.


[BUG] pycln ignores NOQA on imports with -a

Description: Running pycln with the -a, lines with # NOQA are removed
To Reproduce Steps to reproduce the behavior:

Take this code snippet:

from models.blueprint import \
    Blueprint  # NOQA - required for stand-alone runs or sqlalchemy gets lost wrt cross-table reference

print("Test")

Run this Pycln command:

   $ pycln -a pycln_test.py

Error traceback or unexpected output (if present):

  pycln_test.py:1:0 'from models.blueprint import Blueprint' has removed! 🔮
  pycln_test.py 1 import has removed! 🚀

All done! 💪 😎
1 import has removed, 1 file has changed.

Unexpected fixed code (if present):

print("Test")

Expected behavior:
Lines marked NOQA should remain (at least on the lowest aggressivity level)
Environment (please complete the following informations):

Python Version: Python 3.8
Pycln Version: version 1.0.3
OS Type: MacOs 11.6 (Big Sur)

Hi again @perfa, this issue has been fixed. The fix will take effect in the next release (soon). Thank you for the feedback. I'm happy to see you around.


[ENH] Use InvalidCollectionException/Error consistently

Use the InvalidCollectionException consistently in the Python client and APIs.
Introduce InvalidCollectionError to the JS client and handle it accordingly.
This is the first step to improving error handling in both client and completing #565.
Add tests for all related scenarios.

@ibratoev I noticed the coordinator test was flaky on this  PR -- is it based on main after we checked in https://github.com/chroma-core/chroma/commit/e915b21668fdf063b14644b581d4a483a4a25f14 ? Asking so I know whether I need to do some digging :^)

@beggers It is based on latest main. You can check that clicking on my feature branch: https://github.com/ibratoev/chroma/tree/ib/invalid-col-error and:

Btw, I can't find any useful info in the build for that failure :(


AXIS Q6034-C Not playing nice with Companion

I have a few AXIS Q6034-C cameras that will seemingly connect to the Companion app without issue but when I attempt to pan/tilt/zoom I get limited/wrong functionality or nothing at all . For instance, when attempting to pan right the camera actually moves left. When attempting to tilt up the camera actually moves down. Zooms don't seem to work and I don't have enough control to know for sure if the set speed works correctly.
I have a few Dahua cams that this software works nicely with. Is there something I am setting up incorrectly with the AXIS cams even though they state that they are connected?

Hi,
In companion V3 there is an enhanced module for axis camera's.
But... maybe... did you rotate the image 180 degrees? Then the pan-tilt will be reversed on your image.

I will try giving V3 a go.
Unfortunately, I did not rotate the image 180. The "Pan Right" function does pan the camera left but the "Pan Left" does nothing. Neither does "Tilt Down" and the zooms don't seem to work either. For the record, I am on version 2.4.2 for Linux.

V3 would not connect to the cameras.

Can I connect remote to the camera so I can debug the module?
Please email me<EMAIL_ADDRESS>

I did test it again on my axis-camera's (one of them is  Q6045-E Mk I) and it all works. I use a Mac and Windows. Do you have the right protocol (digest or basic-auth)

I'm using basic. Just pointing the companion app to the camera along with the port and supplying the login credentials. How are you connecting?
I can't give you direct connection to the cameras in question but I can get a spare one setup for you if needed. That one won't be tied to sensitive areas.
I did see that there is an advanced option in 3.0 and will give that a go. I'll also load up 2.4.2 on a Windows machine to see if it displays the same behavior.

Please setup the spare one so I can debug the connection.
Just ip and port username/password and authentication should be sufficient
Axis did change in the firmware the default method from basic to digest. Perhaps that's an issue.

Hi,
Thanks for the opportunity to debug with your test-camera. It showed some high latency in your network or response of the camera. I raised the default timeout of the requests and it run fine in the tests now. It will be merged in the next beta-release.

Most excellent! Thank you so much!
From: Frans Bosman @.>
Sent: Sunday, February 26, 2023 2:46 PM
To: bitfocus/companion-module-axis-ptz @.>
Cc: KNXV- Engineering Department @.>; Author @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
Hi, Thanks for the opportunity to debug with your test-camera. It showed some high latency in your network or response of the camera. I raised the default timeout of the requests and it run fine in the tests now. It will be merged in the next
ZjQcmQRYFpfptBannerStart
External sender
This message came from outside of our company. If you were not expecting this message, please use caution before clicking any links or opening any attachments.
Report Suspicious  https://us-phishalarm-ewt.proofpoint.com/EWT/v1/FJkDyvWmnr4!YVfcUuDDo_TGdfHVYIt9fj7LKGtw945Ibjo2tY2LRGtTyrMnmhBFCe1V4nvbktaEomsnVV4q9O-xFLDKY6vxYH8pE9797UqTVZKog6tVgyD43DJkoBhcGU8rmeMq$
ZjQcmQRYFpfptBannerEnd
Hi,
Thanks for the opportunity to debug with your test-camera. It showed some high latency in your network or response of the camera. I raised the default timeout of the requests and it run fine in the tests now. It will be merged in the next beta-release.
—
Reply to this email directly, view it on GitHub [github.com]https://urldefense.com/v3/__https:/github.com/bitfocus/companion-module-axis-ptz/issues/5*issuecomment-1445475532__;Iw!!FJkDyvWmnr4!eRoFlFm-HfyaVmoHOUK9HWPB_bOs__IimqTXDbEgHZyELwVJxUA8erYbBxo2rMyrVZ-R4SuGwG8XLXm42T81hAgXog$, or unsubscribe [github.com]https://urldefense.com/v3/__https:/github.com/notifications/unsubscribe-auth/AZ3KCX7CO2DPX2Y3JQXE2MLWZPFIDANCNFSM6AAAAAAU5MCZQ4__;!!FJkDyvWmnr4!eRoFlFm-HfyaVmoHOUK9HWPB_bOs__IimqTXDbEgHZyELwVJxUA8erYbBxo2rMyrVZ-R4SuGwG8XLXm42T_lcM-oLg$.
You are receiving this because you authored the thread.Message ID: @.***>
Scripps Media, Inc., certifies that its advertising sales agreements do not discriminate on the basis of race or ethnicity. All advertising sales agreements contain nondiscrimination clauses. Please note: Effective Jan. 1, 2023, Scripps local broadcast stations will be exclusively using Comscore TV audience estimates and will no longer be licensed to use Nielsen TV audience estimate data. Please refrain from sending Nielsen data to Scripps after Dec. 31, 2022. Thank you for your cooperation.

I am having the exact same issue as KNXV had connecting to Axis PTZ cameras. What did you do to resolve their issue?

Knxv had several issues, mostly because of network issues.
Are you using version 3 of companion? Can you send me the log file of the axis connection?

The issue is indeed the resulting /:80/.
This should be :80/. The port is part of the url.
I will look to it tomorrow.
Are you sure the connection failed without the first "/"?

Actually, even though Bitfocus shows a Connection Failure Status. The buttons will work to pan and tilt. So, the real issue is the Connection Failure without the / added to the IP address.
Todd

From: Todd Crane @.>
Sent: Friday, March 8, 2024 2:27 PM
To: bitfocus/companion-module-axis-ptz @.>; bitfocus/companion-module-axis-ptz @.>
Cc: Comment @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
Hopefully you can see this screen shot. The configuration needs the IP address X.X.X.X/ before I can get a successful connection.
Todd
[cid:3b5219df-464f-487d-b89a-18db94857e3b]

From: Frans Bosman @.>
Sent: Friday, March 8, 2024 2:23 PM
To: bitfocus/companion-module-axis-ptz @.>
Cc: Todd Crane @.>; Comment @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
The issue is indeed the resulting /:80/.
This should be :80/. The port is part of the url.
I will look to it tomorrow.
Are you sure the connection failed without the first "/"?
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-axis-ptz/issues/5#issuecomment-1986366474, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BGY3DKYDYWGUHX3PZ5K2OELYXIM3NAVCNFSM6AAAAAAU5MCZQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGM3DMNBXGQ.
You are receiving this because you commented.
CAUTION - EXTERNAL EMAIL This message originated from outside Gray Television and may contain malicious content. Do not click links or open attachments unless you recognize the source of this email and know the content is safe.

Hm.I’ll test this tomorrow (I’m on CET-time)Met vriendelijke groet,Frans BosmanVerstuurd vanaf mijn iPhoneOp 8 mrt 2024 om 21:33 heeft tcrane8080 @.***> het volgende geschreven:
Actually, even though Bitfocus shows a Connection Failure Status. The buttons will work to pan and tilt. So, the real issue is the Connection Failure without the / added to the IP address.
Todd

From: Todd Crane @.***>
Sent: Friday, March 8, 2024 2:27 PM
To: bitfocus/companion-module-axis-ptz @.>; bitfocus/companion-module-axis-ptz @.>
Cc: Comment @.***>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
Hopefully you can see this screen shot. The configuration needs the IP address X.X.X.X/ before I can get a successful connection.
Todd
[cid:3b5219df-464f-487d-b89a-18db94857e3b]

From: Frans Bosman @.***>
Sent: Friday, March 8, 2024 2:23 PM
To: bitfocus/companion-module-axis-ptz @.***>
Cc: Todd Crane @.>; Comment @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
The issue is indeed the resulting /:80/.
This should be :80/. The port is part of the url.
I will look to it tomorrow.
Are you sure the connection failed without the first "/"?
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-axis-ptz/issues/5#issuecomment-1986366474, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BGY3DKYDYWGUHX3PZ5K2OELYXIM3NAVCNFSM6AAAAAAU5MCZQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGM3DMNBXGQ.
You are receiving this because you commented.
CAUTION - EXTERNAL EMAIL This message originated from outside Gray Television and may contain malicious content. Do not click links or open attachments unless you recognize the source of this email and know the content is safe.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

Hi, I could not test it yet, but could you put only the ip-adress and the portnumber?
No http or slashes
Just (my test) <IP_ADDRESS> and 80.
Regards,
Frans
Op 8 mrt 2024, om 21:44 heeft Frans @.***> het volgende geschreven:
Hm.
I’ll test this tomorrow (I’m on CET-time)
Met vriendelijke groet,
Frans Bosman
Verstuurd vanaf mijn iPhone
Op 8 mrt 2024 om 21:33 heeft tcrane8080 @.***> het volgende geschreven:

Actually, even though Bitfocus shows a Connection Failure Status. The buttons will work to pan and tilt. So, the real issue is the Connection Failure without the / added to the IP address.
Todd

From: Todd Crane @.>
Sent: Friday, March 8, 2024 2:27 PM
To: bitfocus/companion-module-axis-ptz @.>; bitfocus/companion-module-axis-ptz @.>
Cc: Comment @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
Hopefully you can see this screen shot. The configuration needs the IP address X.X.X.X/ before I can get a successful connection.
Todd
[cid:3b5219df-464f-487d-b89a-18db94857e3b]

From: Frans Bosman @.>
Sent: Friday, March 8, 2024 2:23 PM
To: bitfocus/companion-module-axis-ptz @.>
Cc: Todd Crane @.>; Comment @.>
Subject: Re: [bitfocus/companion-module-axis-ptz] AXIS Q6034-C Not playing nice with Companion (Issue #5)
The issue is indeed the resulting /:80/.
This should be :80/. The port is part of the url.
I will look to it tomorrow.
Are you sure the connection failed without the first "/"?
—
Reply to this email directly, view it on GitHubhttps://github.com/bitfocus/companion-module-axis-ptz/issues/5#issuecomment-1986366474, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BGY3DKYDYWGUHX3PZ5K2OELYXIM3NAVCNFSM6AAAAAAU5MCZQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGM3DMNBXGQ.
You are receiving this because you commented.
CAUTION - EXTERNAL EMAIL This message originated from outside Gray Television and may contain malicious content. Do not click links or open attachments unless you recognize the source of this email and know the content is safe.
—
Reply to this email directly, view it on GitHub https://github.com/bitfocus/companion-module-axis-ptz/issues/5#issuecomment-1986378031, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFBN5SKETRC2P3ESI73PXTTYXIOAVAVCNFSM6AAAAAAU5MCZQ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBWGM3TQMBTGE.
You are receiving this because you commented.