Create payment request golang script

Description
A-Team discussed during a demo pairing session the need for scripts around using the PRIME API.
John came up with a Bash script https://github.com/transcom/mymove/pull/4884 that was quick to put together and worked great for the demo script. I also started working with using golang to create a script that took a longer to put together, but could also come in handy for testing payment requests.
There is more work to do with the script but it is currently able to:

Fetch and Display MTOs
Update Shipment Fields:
0: Actual Pickup Date
1: Requested Pickup Date
2: Scheduled Pickup Date
3: Prime Estimated Weight
4: Prime Actual Weight
5: Send shipment updates
6: Cancel updating shipment
Create Payment Request

Script still needs:

Tweaks to display where needed
Being able to view a list of payment requests
Call API to print out EDI
Menu display out of order (easy fix, currently works but ordering can annoying)
More comments in code to understand parts of code
Additional cli options. e.g. a flag to automatically delete the generated json file or to keep it. Right now it's generated into a temp file and kept around for debugging.
Handling errors from CAC store, mainly if you need to login again, to re-do the login and retry the request. Right now, it will simply exit the script.

Demo of script
https://drive.google.com/file/d/1VNFSGqsEOP_bWncbPSpfS2u6C-eeA3GZ/view?usp=sharing
Reviewer Notes
Is there anything you would like reviewers to give additional scrutiny?
Setup
Add any steps or code to run in this section to help others prepare to run your code:
When first running script, the menu is out of order, but you must run 0: Fetch and display MTOs first before doing any of the other commands.

└─ $ ▶ go run ./cmd/prime-api-dev --cac --hostname api.stg.move.mil --port 443 pr

################################################
                MAIN MENU
################################################

2: Select MTO
0: Fetch and display MTOs
1: Display MTOs
4: Exit
Enter selection:

go run ./cmd/prime-api-dev --cac --hostname api.stg.move.mil --port 443 pr

go run ./cmd/prime-api-dev --insecure pr

Code Review Verification Steps

[ ] Code follows the guidelines for Logging
[ ] The requirements listed in
Querying the Database Safely
have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change
this article explains more about the approach used.

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against e5be5e35b3adee95eb96c5b8debb65c8e5a25d08

I forgot to add a comment about adding a make command for this tool like our other go tools. That would be good to add as well or at least make a TODO comment to do so.


Add stem width

added get_root_pair_widths_projections with standard tests

Added get_root_pair_widths_projections and test_stem_width to bases.py and test_bases.py respectively.


MetricsCollector is informed about delay of an event

Nakadi events have some standard metadata (though not always present) that allows to calculate a notion of delay of the event consumption, i.e. the time between occurrence ($.metadata.occurent_at) and the time of consumption. This delay can help to understand the performance of a consumer (e.g. if it always keeps up with the event producer) and can be used as an alert condition if the delay exceeds a certain threshold.
To provide this, fahrschein would inspect the event if the json path $.metadata.occurent_at is present in the event body. If present, it would compute a duration between the given timestamp and now. It would then update the metric collector via a method void updateDelayOfConsumption(Duration delay). In case the delay cannot be computed (e.g. field is not present in the event), it would call void unknownDelayOfConsumption(). Both methods can have default implementation that do nothing to keep backwards compatibility.

I like the idea, this would be an interesting metric to monitor. But currently the MetricsCollector interface is only handling agregated data, like the number of events in a batch. Handling individual event metadata does not look like a good fit for this interface. One option could be reporting the min and max of the occured_at for each batch:
void markEventsReceived(int size, Optional<OffsetDateTime> minOccuredAt, Optional<OffsetDateTime> maxOccuredAt);

I might give the implementation a go. (Sry, I closed the issue by accident)

There might be a more efficient way to extract this information by using a TokenBuffer as in AsPropertyTypeDeserializer
I'm currently loking into using this approach to extract the event_type property for mapping type hierarchies.

Metadata could be extracted without parsing the whole data into a tree structure like this: https://github.com/zalando-incubator/fahrschein/blob/master/fahrschein/src/main/java/org/zalando/fahrschein/MetadataTypeResolver.java#L117
I still think this could be easier done inside the listener.

Closing, as this can be done inside the listener


Fix variable names in messages

// before
Variable name "%s" does not use underscore format.

// after
Variable name "$varName" does not use underscore format.

@nishaya,
thanks for your contribution.
Sorry but I'm currently on vacations and won't be able to review this PR before the end of August.
I will do it right after I'll come back
Eric

Hi @nishaya,
this issue (ref. #5) is fixed in latest version v1.0.5,
thanks for your help
Eric


Dark theme support based on preference

TestEz's documentation is a health hazard. I believe I'm suffering from eye fatigue looking at the bright white colors.
This will acknowledge any health concerns as well as provide a seamless reading experience.

/clabot

We will have to manually run the make docs action when this lands for the change to take effect on the docs site.


Add Column View Python demo

This PR adds a Column View demo for Python.
This ended up being way more difficult and ugly than I was expecting because we need an updated release of PyGObject to support Fundamental types like Gtk.Expression.
TODO:

[X] Resolve TypeError with GtkPropertyExpression

Hi @theCapypara, any thoughts on merging this, and then we can come back with an updated version once we get an updated release of PyGObject with Fundamental types?

Hi! Thanks for your contribution.
Sorry I've been a bit busy. I hope I can review & merge this tomorrow.

Just for reference: This supersedes my original PR: https://github.com/workbenchdev/Workbench/pull/824


Illegal string offset 'uuid'

I downloaded the file, copied it onto the webserver, and tested it in the Browser.
This is the output it gave me:

username: Shadowwolf97
uuid: 795a605316a742f2bdd29e8e33ff0333

Warning: Illegal string offset 'uuid' in /Library/WebServer/Documents/MinecraftUUID.php on line 89

From your code, it seems that this SHOULD be showing turt2live's username and uuid where it shows the error.
I'm using Apache 2.4.9 with PHP 5.5.14 on OS X 10.10.2. I also tested it on a computer running Ubuntu 14.10, with Apache 2.4.12 and PHP 5.5.21; I got the same error.

I found the issue.
Change this (Lines 87-95):
        if(strlen($identifier) <= 16)
            $identifier = ProfileUtils::getUUIDFromUsername($identifier, $timeout);
            $url = "https://sessionserver.mojang.com/session/minecraft/profile/".$identifier['uuid'];
            $ctx = stream_context_create(array(
                'http' => array(
                    'timeout' => $timeout
                )
            )
        );

To this:
        if(strlen($identifier) <= 16){
            $identifier = ProfileUtils::getUUIDFromUsername($identifier, $timeout);
            $url = "https://sessionserver.mojang.com/session/minecraft/profile/".$identifier['uuid'];
        } else {
            $url = "https://sessionserver.mojang.com/session/minecraft/profile/".$identifier;
        }
        $ctx = stream_context_create(
        	array(
            	'http' => array(
                	'timeout' => $timeout
				)
            )
        );

It made it work for me.


update messages.html with clickable username to display messages for that user

this was present in the eralier PR for displaying messages by user, but got lost somewhere along the way.

Probably when I merged main into my translation branch. I had a lot of conflicts there. I will have a look.


[Bug] warnings swallowed when compiling in root of workspace

🐛 Bug
Warnings appear to be swallowed when compiling in the root of a workspace. This is the intended behavior for non-path dependencies, but we'd like to see warnings for the local crates.
This also appears to prevent treating warnings as errors. See #618 where this was attempted unsuccessfully.
To reproduce

checkout d8ecd67c which contains a warning in the types crate.
cargo build
cargo clean -p types
cd types
cargo build

Step 2 succeeds with no output, but Step 5 shows the warning.
Expected Behavior
Step 2 above should also show the same warning as Step 5.
Additional context
This appears related to rust-lang/cargo#5998.

I jotted down :
https://github.com/rust-lang/cargo/issues/6915
https://github.com/rust-lang/cargo/issues/1796

Thanks @huitseeker. The root cause of this is that the testing feature is getting flipped for crates, and the hidden warnings are because those warnings don't exist when compiled with the testing feature.
This is a low priority, since the only warnings we miss will be ones that aren't warnings under testing.


add more information about usage scenarios in docs

Closes #24.

@suyograo updated: added examples to schedule section.

perfect. LGTM


support option autocomplete support for slash commands

This adds a new method autocomplete to ISlashCommand. This method is invoked whenever an autocomplete-able option is being typed by a user. The method simply responds with the autocomplete results for the user to use when typing a command option.
More information on this feature can be found in the docs.

can you add the fcn to one command so that reviewers can see how itll be implemented?

An implementation of this can be found here

conflicts btw


Adding code of conduct

Let me know if anything needs fixing or if you want any changes made to the draft :) I followed the Contributor Covenant Code of Conduct while making this one which is why they are credited at the bottom.

This is absolutely fantastic! The copy is insanely professional, beautifully crafted, and perfectly concise — exactly what I had envisioned in mind!
Thank you so much for writing it!


add notes how to deploy react to amplify

https://romankurnovskii.com/en/posts/cloud-exam-quizz/amplify-setup-project/


gitmodules: use only git over https

If you haven't setup a local valid ssh key on github, the sync of submodules fails.
Fixes https://github.com/ChainGreenOrg/chaingreen-blockchain/issues/29

LGTM. Merging.


Add Result Err helpers for batched flow

Motivation
To implement a batched flow like in batched attestation validation https://github.com/ChainSafe/lodestar/blob/97f00b83a986aa9a4f94ae7f0aebef93005f713a/packages/beacon-node/src/chain/validation/attestation.ts#L19-L26 the following semantics are necessary
Given a function that may return an error
function squareNum(n: number): Result<number, Error>

That function can now be consumed as
function getNumSquare(): Result<number, Error> {
  const value = getNum();
  if (isErr(value)) {
    return value; // return as error
  }
  return value ** 2;
}

Description
Introduce Result, Err and isErr building blocks

:tada: This PR is included in v1.6.0 :tada:


#3586 On distributions that are filtered by item, totals should only include the items filtered by

#3586

@dorner

@dorner not exactly sure if the grand totals are working as intended

OK, I wasn't sure about this - the old page showed the totals for the current page as well as for all pages. This seems to have been removed and replaced with totals for the current filters as well as for unfiltered.
@cielf how would you like to handle this?

@dorner So I can show the total for all pages by passing nil, but the total value $ will never reflect the total quantity. I altered the styling because the number (quanity) and number (dollar value) would split onto 2 lines sometimes.

@dorner Total value is using this itemizabe method to get the value which always reflects the current line items
def value_per_itemizable
    line_items.sum(&:value_per_line_item)
 end

 def total_value(distributions)
    distributions.sum(&:value_per_itemizable)
 end

It turns out that we already have an issue-in-waiting around making the values filtered as well.   These really should have been one issue -- but yes, the total values should only include the items filtered by.

@cielf Sorry a bit turned around. For this issue, my changes should only reflect example 1? I also provided a reference (current) to what is shown on the current main branch.
example 1:

@dorner

example 2:

current

What I'm saying is that for both the  this-page  totals and the grand totals,  for both quantity and value,  the numbers should only include the filtered items.        The original issue language was inclusive -- but not clear enough.

@lokisk1155 Is this ready for a re-review?

@lokisk1155 Is this ready for a re-review?

Yeah, just need you to make sure the totals are how you want it - the migration thing should of been fixed

Ok.  I'm at the end of what I can do today,  but I'll try to kick the tires on it early next week

@cielf No stress, I got some work to do on my other PR tonight

Hey @lokisk1155 -- I took a very quick look..
From the issue:  "The grand totals and the totals for the distributions index page should only include the items filtered by. "
So we still need the page totals.  We don't need a separated "filtered totals" and "grand totals".

@cielf Ok I think we are good on this one : reverted to pages original html with the correct filtering

Alas.   There is something amiss.
I went to kick the tires using a copy of prod (so I could check out the pagination).  Filtered on a couple of things.   It looked like the totals, added together, were more than the original totals.  Went to double-check that I'd written down the original values right, blanked out the item filter, and got this...

I  have another commitment atm,  so I don't know what the issue is, and haven't recreated it step by step on a seeded copy, but thought you'd like to know that it is broken.
(Note... it's quite possible that this is broken because of the additional fix needed for backing out of the thing... (see a very recent PR)

@cielf interesting... thank you for the heads up. I will take a look!

Yup - recreated on a seeded version.   All you have to do is hit filter without choosing an item.

Thank you! Will get on this tomorrow; taking baby to the ER     :( still not feeling well

@cielf threw .presence  on the filter_params[:by_item_id] to return nil if it is an empty string. I am going to try to dig into the tests failing right now

@dorner can you check this out? I think I mistook the tests failing for the global failing tests here. Specs passing now, looks good locally to me

Oh, probably -- but at this point not until tomorrow, after the p&g meeting (and any release).

I'm not seeing anything that would cause me not to go ahead and merge -- so I'm going to!


restructure project to use gb for reproducible builds

gb is the preferred tool now for building and managing go projects, because gb can guarantee reproducible builds. This means that everything is self contained in the "project dir" and simplifies the differences between development and production environments.
http://getgb.io/docs/usage/
video intro to gb
Also, review the vendor plugin:
https://godoc.org/github.com/constabulary/gb/cmd/gb-vendor
I'm having issues with fragmenta no matter where my project is located on my local system.
I'm having issues with absolute paths.
Here, I placed my fragmenta "site" in my "gocode dir", which is in my path, but even in another location, I'm having trouble.
fragmenta
12:23:24
------
Fragmenta version: 1.3.1
------
12:23:24 Building server...
12:23:24 Running goimports at ./
12:23:24 Building server at /Users/chris/src/gocode/fragmenta/bin/fragmenta-server-local
12:23:24 CMD go build -o /Users/chris/src/gocode/fragmenta/bin/fragmenta-server-local server.go
server.go:8:2: import "/Users/chris/src/gocode/fragmenta/src/app": cannot import absolute path
12:23:24 Error running build exit status 1
12:23:24 Error building server: exit status 1

Created a PR to get this started:
https://github.com/fragmenta/fragmenta-cms/pull/13

I'm not sure about switching to the gb layout, I'll look into it at some point but there are very few external dependencies, so gb is not required and not a priority for me right now. I do want to keep the project go gettable (which is why the server.go file is in the main directory), and I think using gb precludes that and forces you to use the gb tool.
Re your problem above, I suspect your GOPATH is in fact /Users/chris, since you have a src dir under there. Fragmenta should probably refuse to generate and give you an error rather than generating with absolute paths though.

I've had a think about this and would prefer to keep the project go gettable I'm afraid (which is mostly why server.go is in the root folder).
I'm leaving this issue open for discussion of gb or future vendoring solutions.

Would it be acceptable to recognise an app which had server.go inside the src dir as a valid app as well? If so I'd be open to doing that, keeping the default go-gettable but allowing use of gb if people want to use it.
As the blessed approach to vendoring uses go get and a /vendor dir, I think I will be using that approach in my own projects using something like govend or godep.


Fix problem with ConfigurationObjectBean

Signed-off-by: stefanermens<EMAIL_ADDRESS>

Retest this please


findDOMNode is deprecated warning in Strict Mode with ReactQuill

Issue Description
Using ReactQuill in a project with React's Strict Mode enabled causes a deprecation warning: "findDOMNode is deprecated and will be removed in the next major release." This warning arises because findDOMNode is used internally by ReactQuill, which is not compatible with Strict Mode.
Steps to Reproduce

Create a new React project with Strict Mode enabled.
Install and use the latest version of ReactQuill in a component.
Run the app, and check the console for warnings.

Expected Behavior
ReactQuill should avoid using findDOMNode in Strict Mode to comply with React's deprecation.
Environment

React version: "^18.3.1",
ReactQuill version: "^2.0.0"
Browser: Opera

The issue is bigger than strict mode. findDomNode is removed in the react 19 RC, meaning ReactQuill is not compatible with the next version of react...

but react-quill is not in this repo - so issue is raised in the wrong place.
see:
https://github.com/zenoamaro/react-quill/issues?q=is%3Aissue+is%3Aopen+findDomNode

@Yohannes-Misganaw checkout react-quill-new - its a fork using quill 2.0.2 and no findDomNode


make directory lister trigger if mime type is httpd/unix-directory

What problem are we solving?
when folders are created via the s3 gateway, the mime type httpd/unix-directory is attached to the folder. https://github.com/seaweedfs/seaweedfs/blob/master/weed/s3api/s3api_object_handlers.go#L102
however, when listing files via the filer server, the filer checks if the mime type is empty to determine whether or not to display the folder listing. https://github.com/seaweedfs/seaweedfs/blob/master/weed/server/filer_server_handlers_read.go#L121
this causes folders uploaded via the s3 gateway to appear as blank white screen (404 error) when using the filer web ui
How are we solving the problem?
have filer server check if the mime type is either httpd/unix-directory or empty, instead of just empty, which will make it properly show directory listing on directories uploaded with s3

This was done on purpose and to show the folder as a file, not a directory.
Now the logic is broken https://github.com/seaweedfs/seaweedfs/issues/3086
This is an explicitly created directory, aka a file in s3 terms, it's an object that exists on its own.


Make full text search work

Added functionality to full text search.  Full text search bugs tracked in this ticket: https://github.com/CopticScriptorium/cts/issues/48

There was another full-text search ticket. I replied there: hide it if linking to ANNIS is too complicated/beyond current contract.  It is definitely still slow.

Full text search is hidden for the time being.

Can we close this?


Hide "Peek" Line at end of taskbar

Description of the new feature / enhancement
I've been trying to find a way to hide the peek vertical line at the end of the taskbar in Win10 with no luck.  It would be very helpful if this became a function/option that also didnt require PowerToys to always be running to do it.
Scenario when this would be used?
OLED display burn in prevention.  Even when the taskbar is hidden until mouse over the Peek line is ALWAYS visible.
Im concerned that eventually and without too much time that any monitor or tv that people use to run Windows will have this gray line burned into the edge of the screen forever and id like to avoid that.
Supporting information
No response

I think a utility like https://github.com/ChrisAnd1998/TaskbarX would be a good fit.  I don't think we'd be touching this area.

Yeah I'm not looking for something that needs to run in the background.  I
know a program that can already do it but it just draws a little window
that's the taskbar color over it.
I'm looking for a way to do it permanently without needing to always be
running something.
Thanks though.  You can close it again.   Although... Earlier (non win10)
version's of power toys had options similar to what I'm requesting.
On Thu, Oct 7, 2021, 6:42 PM Clint Rutkas @.***> wrote:

Closed #13687 https://github.com/microsoft/PowerToys/issues/13687.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/PowerToys/issues/13687#event-5431410109,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADLH3GPMXDLL6WU3IFULBB3UFYO67ANCNFSM5FR3OT4A
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Remove develop branch

Given that this project is not part of a direct deployment pipeline, it could make sense to remove the develop branch and PR changes directly to master going forward, then use versioning to indicate "official" releases.

@ddragosd any concerns here?

develop branch has been removed and code merged to master with #70.


User reports it takes 5 seconds to start gRPC connection for Cloud Spanner

https://stackoverflow.com/questions/50861577/spring-boot-gcp-data-spanner-latency-issues
The user here is using the cloud spanner client lib and reports that it takes him 5 seconds to start the connection to Cloud Spanner and then he is getting slow performance out of each query and read operation. There is sample code in there as well.

The problem in this case was that the user was not closing the ResultSet that was returned by the query (and also did not completely consume the ResultSet), causing the library to create a new session for each new query. I could reproduce the exact same behavior in a very simple setup with basically the same timing as reported by the user. Changing the example code to use a try-with-resources block on the ResultSet solves it. I posted a full answer to the stackoverflow question.
The corresponding example code:
/**
 * This method will execute the query quickly, as the ResultSet
 * is closed automatically by the try-with-resources block.
 */
private Long executeQueryFast() {
  Statement statement = Statement.of("SELECT * FROM T WHERE ID=1");
  try (ResultSet resultSet = dbClient.singleUse().executeQuery(statement)) {
    while (resultSet.next()) {
      return resultSet.getLong("ID");
    }
  } catch (Exception ex) {
    // log
  }
  return null;
}

/**
 * This method will execute the query slowly, as the ResultSet is
 * not closed and the Spanner library thinks that the session is
 * still in use. Executing this method repeatedly will cause
 * the library to create a new session for each method call.
 * Closing the ResultSet will cause the session that was used
 * to be returned to the session pool, and the sessions will be
 * re-used.
 */
private Long executeQuerySlow() {
  Statement statement = Statement.of("SELECT * FROM T WHERE ID=1");
  try {
    ResultSet resultSet = dbClient.singleUse().executeQuery(statement);
    while (resultSet.next()) {
      return resultSet.getLong("ID");
    }
  } catch (Exception ex) {
    // log
  }
  return null;
}


Netcdf4Dimid Writing or Not Based on Variable Write Order?

Environment Information
Centos6 64 Bit
Anaconda Python 2.7
Library version: netCDF4 (<IP_ADDRESS>)
Summary of Issue
The internal attribute _Netcdf4Dimid is inconsistently showing up in output files for our tools, and it appears to be due to variable write order (with data).
Steps to reproduce the behavior
Using the following input file:
https://tropomi.gesdisc.eosdis.nasa.gov/data/S5P_TROPOMI_Level2/S5P_L2__AER_AI.1/2019/025/S5P_OFFL_L2__AER_AI_20190125T105654_20190125T123824_06655_01_010202_20190131T102415.nc
I try to read the following two variables in, and write a subset of them to an output file:
METADATA/QA_STATISTICS/aerosol_index_340_380_histogram_axis
METADATA/QA_STATISTICS/aerosol_index_340_380_histogram
METADATA/QA_STATISTICS/aerosol_index_340_380_histogram_axis is a Dimension scale variable.
If I read & write aerosol_index_340_380_histogram_axis first & assign it data, and next read & write aerosol_index_340_380_histogram & assign it data (scratch_6.py [txt]), then aerosol_index_340_380_histogram does NOT get an  _Netcdf4Dimid attribute.
However, if I do the same steps, but with the variables reversed - that is read & write aerosol_index_340_380_histogram first & assign it data, and next read & write aerosol_index_340_380_histogram_axis & assign it data (scratch_5.py [txt]) - then
aerosol_index_340_380_histogram DOES get an  _Netcdf4Dimid attribute.
This behavior is quite confusing, unexpected, and not consistent with the other dimension scale variables in the file (except aerosol_index_354_388_histogram_axis which behaves the same). Is this a bug, or is there a design reason this is occurring that I need to code towards?
Code:
scratch_5.txt
scratch_6.txt

Thanks, will take a look at this!

Unfortunately, I'm getting a '404 file not found' when I try to access this file.  Can you confirm that it is still present?  I can try to debug this with a different file, but would like to duplicate the issue as closely as possible.

If I click the link, I get a file. We do require a (free) account to download from NASA now. If you would prefer, I could put it here as an attachment, but it is large (~125MB).

The _Netcdf4Dimid attribute is used when needed to retain dimension ordering that would otherwise be lost.
Since it is a hidden attribute, why is it a problem for you?

Because I am trying to preserve the original file as close as possible, and the _Netcdf4Dimid exists in the original, but not some of our subsets (it is inconsistent). The inconsistency also affects our ability to test our services.

If you create the file with netcdf or any of the netcdf utilities, you don't have to worry about whether it is present or not.
If you use netcdf for testing (i.e. to open the file and check it) then once again it should not matter.
In fact, the only way to see it is to use netcdf-c to create the file, and then use hdf5 to read the file. Is that what you are doing?

Yes, we are using hdf5 tools in addition to netcdf tools to read the file.

OK, well if I recall correctly, the _Netcdf4Dimid attribute is used whenever the creation order of the dimension scale dataset is not the same as the dimid order. This occurs in the following situation:
nc_def_dim "dim_a"
nc_def_dim "dim_b"
nc_def_var "dim_a"
So if I define two dimensions dim_a and dim_b they will be created in that order and have dimids 0 and 1.
Then I do an nc_def_var for dim_a (because I am going to write coordinate data). This causes the dimension scale dataset for dim_a to be re-created, which changes the creation order, and would then break the dimids. So a _NetcdfDimid attribute will be attached to the dimension scale datasets, to indicate the correct dimids.
Does that make sense?

I would suggest you write your hdf5-based tests so that they ignore the netcdf-4 hidden attributes. They are (from libhdf5/hdf5file.c):
static const NC_reservedatt NC_reserved[NRESERVED] = {
    {NC_ATT_CLASS, READONLYFLAG|DIMSCALEFLAG},            /*CLASS*/
    {NC_ATT_DIMENSION_LIST, READONLYFLAG|DIMSCALEFLAG},   /*DIMENSION_LIST*/
    {NC_ATT_NAME, READONLYFLAG|DIMSCALEFLAG},             /*NAME*/
    {NC_ATT_REFERENCE_LIST, READONLYFLAG|DIMSCALEFLAG},   /*REFERENCE_LIST*/
    {NC_ATT_FORMAT, READONLYFLAG},                        /*_Format*/
    {ISNETCDF4ATT, READONLYFLAG|NAMEONLYFLAG},            /*_IsNetcdf4*/
    {NCPROPS, READONLYFLAG|NAMEONLYFLAG|MATERIALIZEDFLAG},/*_NCProperties*/
    {NC_ATT_COORDINATES, READONLYFLAG|DIMSCALEFLAG|MATERIALIZEDFLAG},/*_Netcdf4Coordinates*/
    {NC_DIMID_ATT_NAME, READONLYFLAG|DIMSCALEFLAG|MATERIALIZEDFLAG},/*_Netcdf4Dimid*/
    {SUPERBLOCKATT, READONLYFLAG|NAMEONLYFLAG},/*_SuperblockVersion*/
    {NC3_STRICT_ATT_NAME, READONLYFLAG|MATERIALIZEDFLAG},  /*_nc3_strict*/

Your description did make sense. Do you know where I can find good documentation on _Netcdf4Dimid?

That was it! ;-)
You can grep the code and see what you find. It will be documented there as well.

Okay - so long as it is only intra-library, and does not affect anything else, I can modify my tests to ignore it.

Probably this issue should be closed, since this is not a bug. ;-)


Validate password

This PR was created to create a function to validate the user's current password. This function is made so that when the user is going to change the password we can validate the current one.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


large model parallelism on gpu causing oom

We are using v100 with gpu memory of 32 gb to train wide and deep model of size 12gb, facing the problem of gpu out of memory.
So we are thinking of the model parallelism to distribute the large model on different gpu, however, all of the current available strategies for model parallelism could not meet our demand.

MirroredStrategy
MultiWorkerMirroredStrategy
CentralStorageStrategy
ParameterServerStrategy
TPUStrategy

For MirroredStrategy  and MultiWorkerMirroredStrategy, each variable in the model is mirrored across all the replicas, which means that gpu memory of each card is still in shortage. CentralStorageStrategy and ParameterServerStrategy have great communication cost among cpus and gpus. So my question is for our large ctr model is there any solutions to realize model parallelism

Please provide details about what platform you are using (operating system, architecture). Also include your TensorFlow version.
Please provide colab link or simple standalone code with supporting files to reproduce the issue in our environment. It helps us in localizing the issue faster.Please, fill issue template.Thanks!

ubuntu 18.04 and tf 1.14 @ravikyram

It's noticed that the wide-and-deep model involves the usage of the DNNLinearCombinedClassifier, so the detail of the model is invisible for the user to specify which variable should be placed on the specified gpu,  i.e. with tf.device('/gpu:0'). @ymodak

May be you can consider limiting gpu memory growth  in this case?
Also see https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/ConfigProto
For TF 1.X  you can try,
import tensorflow as tf
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

@ymodak I've tried limiting memory growth as mentioned above, without any help. Because the model involves adagrad op, the internal variables of which require three times the model size, which is 3*12gb = 36gb > 32gb of the gpu memory. So it's useless to set config.gpu_options.allow_growth = True. Any other suggestions?

What I desired is the parallel model training that could split large model on one machine with eight gpus. Each part of the model is trained on the single gpu, and then the results are combined, just the philosophy of map-reduce, for the reason that each gpu memory is not large enough to hold the entire model, not the MirroredStrategy that simply makes the replica of model on different gpus.

This is not supported natively in TF yet. We're certainly interested in it. Could you describe your use case more if possible? Are you using a deep and wide model?
You can look into Mesh Tensorflow.

@crccw The model is exactly the wide-and-deep model. Mesh Tensorflow seems to be one of the solutions that implement model parallelism, however, mesh tensorflow involves so much revise of the original model code. Maybe some other distribution strategies like MirroredStrategy are welcomed. Or whether you can any materials describing the detail implementation and architecture of MirroredStrategy so that user can develop the strategies by themselves?

MirroredStrategy use a custom variable_creator[1] to replica each variable on all devices. It launches computation on all devices by using multiple threads. In each thread, it's essentially:
with tf.device("xxx"):
do_the_work()
(The actual code is much more complicated in order to make things work with other parts of TF).
After getting the gradient, it AllReduce them and each replica applies the gradient by itself.
Developing your own strategy is not trivial. Optionally you can look into ZeRO (https://arxiv.org/abs/1910.02054). One of its optimization is to distribute the optimizer states. This is possible to implement by wrapping optimizers. It's still non trivial, but you don't need to touch your model code.
[1] https://www.tensorflow.org/api_docs/python/tf/variable_creator_scope
[2] https://arxiv.org/abs/1910.02054

@crccw Thanks a lot for your helpful advice. ZeRO seems to be amazing, and here is the micorsoft's implementation of the optimizer on Pytorch. Any plan to support it on tensorflow?

We don't have concrete plans at this moment. Please understand that we need to prioritize this among other things that are also important. I'll keep this ticket updated.

Hello, is there any update of this thread? We are planning to train a model that may even not fit into a100 which has 40GB GPU memory. And we are seeking for model parallelism solutions. Or something similar to Pipeline parallelism[1] in Pytorch should help.
[1] https://pytorch.org/docs/stable/pipeline.html

Hi,
Thank you for opening this issue. Since this issue has been open for a long time, the code/debug information for this issue may not be relevant with the current state of the code base.
The Tensorflow team is constantly improving the framework by fixing bugs and adding new features. We suggest you try the latest TensorFlow version with the latest compatible hardware configuration which could potentially resolve the issue. If you are still facing the issue, please create a new GitHub issue with your latest findings, with all the debugging information which could help us investigate.
Please follow the release notes to stay up to date with the latest developments which are happening in the Tensorflow space.


Missing library exceptions during generation with drift_dev 2.11.2

I am trying to migrate from drift 2.11.1 + analyzer:5.12.0 to drift 2.12.1 + analyzer:6.1.0/6.2.0.
With drift 2.11.1 everything works perfectly but after upgrades I get errors when trying to generate.
[SEVERE] drift_dev:not_shared on lib/db/file_upload_table.expr.temp.dart:

Invalid argument(s): Missing library: package:foo_app/db/converter/local_date_converter.dart
Libraries: [dart:async, dart:collection, dart:convert, dart:core, dart:developer, dart:ffi, dart:html, ... A very long list

A stripped down version of the file upload table file:
import 'package:foo_app/db/foo/foo.drift';
import 'package:foo_app/db/image/image.drift';
import 'package:foo_app/db/document/document.drift';
import 'package:foo_app/db/uploads/file_upload_state.dart';
import 'package:foo_app/db/uploads/file_upload_type.dart';
import 'package:foo_app/db/converter/built_value_enum_converter.dart';

CREATE TABLE file_uploads(
    id              TEXT NOT NULL,
    task_id         TEXT,
    foo_id       INTEGER NOT NULL,
    image_id        TEXT,
    document_id     TEXT,
    state           INTEGER NOT NULL MAPPED BY `const BuiltValueEnumConverter<FileUploadStateEnum>()`,
    type            INTEGER NOT NULL MAPPED BY `const BuiltValueEnumConverter<FileUploadTypeEnum>()`,
    PRIMARY KEY (id),
    FOREIGN KEY(foo_id) REFERENCES foo(id) ON DELETE CASCADE,
    FOREIGN KEY(image_id) REFERENCES images(id) ON DELETE CASCADE,
    FOREIGN KEY(document_id) REFERENCES documents(id) ON DELETE CASCADE
) STRICT AS FileUploadEntity;

The content of the file_upload_table.expr.temp.dart:
import 'package:foo_app/db/converter/built_value_enum_converter.dart';
import 'package:foo_app/db/estate/uploads/file_upload_type.dart';
import 'package:foo_app/db/estate/uploads/file_upload_state.dart';
import 'package:foo_app/db/catalog/catalog_entity.dart';
import 'package:foo_app/db/converter/local_date_converter.dart';
var expr_0 = const BuiltValueEnumConverter<FileUploadStateEnum>();
var expr_1 = const BuiltValueEnumConverter<FileUploadTypeEnum>();

Here is what I think is happening, but I might be way off:
The file uploads table does NOT use the local_date_converter.dart and does not import it, same goes for the catalog_entity.dart file.
Still the local_date_converter.dart and catalog_entity.dart end up as imports in the file_upload_table.expr.temp.dart file and then for whatever reason can not be found. Either the imports are added incorrectly in 2.12 or something might have changed in the analyzer that now "optimizes" the libraries away.
In any case the FK linked foo table has these imports and that is likely why they are transitively (mistakenly?) get added.

Does running the build with --verbose print a stack trace?

The file uploads table does NOT use the local_date_converter.dart and does not import it, same goes for the catalog_entity.dart file.
In any case the FK linked foo table has these imports and that is likely why they are transitively (mistakenly?) get added.

We also add imports for Dart files transitively imported through other .drift files. This is since drift files don't have a real module system - tables defined in a transitively imported file are reachable and for consistency, we try to emulate this for Dart imports in drift files as well. I think this hasn't changed recently.
Did the drift file actually importing the Dart file also see this error?

I got 2 stacks with analyzer 6.2.0:
#0      LinkedElementFactory.removeLibraries (package:analyzer/src/summary2/linked_element_factory.dart:243:67)
#1      LibraryContext.remove (package:analyzer/src/dart/analysis/library_context.dart:270:20)
#2      AnalysisDriver._removePotentiallyAffectedLibraries (package:analyzer/src/dart/analysis/driver.dart:1841:22)
#3      AnalysisDriver._applyPendingFileChanges (package:analyzer/src/dart/analysis/driver.dart:1266:7)
#4      AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2217:18)
<asynchronous suspension>

package:analyzer/src/summary2/linked_element_factory.dart 130:7   LinkedElementFactory.createLibraryElementForReading
package:analyzer/src/summary2/linked_element_factory.dart 194:14  LinkedElementFactory.elementOfReference
package:analyzer/src/summary2/linked_element_factory.dart 222:12  LinkedElementFactory.libraryOfUri
package:analyzer/src/summary2/linked_element_factory.dart 226:19  LinkedElementFactory.libraryOfUri2
package:analyzer/src/summary2/bundle_reader.dart 1783:28          ResolutionReader.libraryOfUri
package:analyzer/src/summary2/bundle_reader.dart 483:30           LibraryElementLinkedData._readLibraryOrAugmentation
package:analyzer/src/summary2/bundle_reader.dart 457:5            LibraryElementLinkedData._read
package:analyzer/src/summary2/bundle_reader.dart 220:5            ElementLinkedData.read
package:analyzer/src/summary2/bundle_reader.dart 446:13           LibraryElementLinkedData.read
package:analyzer/src/dart/element/element.dart 4476:17            LibraryElementImpl._readLinkedData
package:analyzer/src/dart/element/element.dart 4223:5             LibraryElementImpl.libraryExports
package:analyzer/src/dart/element/element.dart 4661:12            LibraryOrAugmentationElementImpl.children
package:analyzer/src/dart/element/element.dart 4084:18            LibraryElementImpl.children
package:analyzer/src/dart/element/element.dart 2433:27            ElementImpl.visitChildren
package:analyzer/dart/element/visitor.dart 309:13                 RecursiveElementVisitor.visitLibraryElement
package:drift_dev/src/analysis/resolver/discover.dart 185:5       _FindDartElements.find
package:drift_dev/src/analysis/resolver/discover.dart 78:22       DiscoverStep.discover
package:drift_dev/src/analysis/driver/driver.dart 129:7           DriftAnalysisDriver.discoverIfNecessary
package:drift_dev/src/analysis/driver/driver.dart 166:7           DriftAnalysisDriver.findLocalElements
package:drift_dev/src/backends/build/drift_builder.dart 226:21    _DriftBuildRun._checkForElementsToBuild
package:drift_dev/src/backends/build/drift_builder.dart 149:10    _DriftBuildRun.run
package:drift_dev/src/backends/build/drift_builder.dart 106:5     DriftBuilder.build

Did the drift file actually importing the Dart file also see this error?

Hard to say, there is always only one or 2 errors in the output but it is not deterministic for which tables.
It seems the analyzer is calling removeLibraries with the converters as arguments (among a long list of other libraries).
[removeLibraries][uriSet: {package:foo_app/db/converter/built_value_enum_converter.dart, package:foo_app/db/converter/local_date_converter.dart, ...

This time it also failed for the built_value_enum_converter.dart which is directly used...
@simolus3 I sent you a mail with the full log.

If I run the generation often enough without cleaning, at some point it seems to succeed...

Ok, so I just saw that there was a change in drift_dev: 2.11.2 to follow exports. This seems to be the culprit.

Did this happen with analyzer: 6.3.0 as well or was there a version conflict preventing that? Just wondering because some code in summary2/linked_element_factory.dart seems to have changed recently judging on the line numbers in the stack trace. Drift might have uncovered this, but it still looks like a problem with the analyzer or build_resolvers package.

Did this happen with analyzer: 6.3.0 as well or was there a version conflict preventing that? Just wondering because some code in summary2/linked_element_factory.dart seems to have changed recently judging on the line numbers in the stack trace. Drift might have uncovered this, but it still looks like a problem with the analyzer or build_resolvers package.

This is probably not related to analyzer 6 - see my previous comment.
The error starts to happen with drft_dev: 2.11.2 independent of the analyzer.


Can't change the height of the switch

The height of the switch seems to be fixed. The height argument is not defined.

The parameter for switch height is now defined.


issue: context not working with certain syntax.

my setup:
blankline.setup{
  show_current_context = true,
  show_current_context_start = true,

  show_end_of_line = true, -- shows the char specified at the bellow lines
  space_char_blankline = " ",

  char_highlight_list = {
    "IndentBlanklineIndent2",
    "IndentBlanklineIndent1",
    "IndentBlanklineIndent4",
    "IndentBlanklineIndent3",
  }
}

vim.opt.list = true
vim.opt.listchars:append "eol:↴"
vim.opt.listchars:append "space:."

vim.opt.termguicolors = true
vim.cmd [[highlight IndentBlanklineIndent2 guifg=#E5C07B gui=nocombine]]
vim.cmd [[highlight IndentBlanklineIndent1 guifg=#E06C75 gui=nocombine]]
vim.cmd [[highlight IndentBlanklineIndent4 guifg=#56B6C2 gui=nocombine]]
vim.cmd [[highlight IndentBlanklineIndent3 guifg=#98C379 gui=nocombine]]

maybe the problem in treesitter idk how to debug this. but here is a visual version of the problem.
I think it's dependent on indentations:
[context start working]

[context start not working]

please take a look here https://github.com/lukas-reineke/indent-blankline.nvim/issues/485#issuecomment-1264518353


wezterm-types?

Hi Folke - I noticed you have a .neoconf.json for wezterm-types.
Is that this repo: https://github.com/nekowinston/wezterm-types/tree/main or something you've made custom?
If it's custom, and you have the time, would you mind putting together a repo / plugin for it?
Thanks for all your amazing work in the Neovim community!
{
  "lspconfig": {
    "lua_ls": {
      "Lua.workspace.library": [
        "/home/folke/.local/share/nvim/lazy/wezterm-types/types"
      ]
    }
  }
}

No need to create a plugin for it, just add it to your lazy plugin table. The code snippet you gave should be enough for anyone to understand what he does. 🤦🏾


fix target _blank when anchor has children

Couple of days ago, we have faced an issue with out non-SPA project:
Once you add a child element to a <router-link> with target="_blank" attribute, it wouldn't fire on a new tab. check this fiddle:
https://jsfiddle.net/asynchronous/dnLs1dm4/10/
I've changed gaurdEvent method in link component so it could fix this issue.

What browser are you facing the issue? It's working properly on Chrome

@posva we've checked on chrome and firefox (both ubuntu and windows).
are you sure you're clicking on span link ?

yes, both links behave the same (chrome 57)

@posva anchor with child is not opening in new tab for me too.

I see, it doesn't work on firefox.
Maybe we should use currentTarget instead of target

Nah man, same thing on Chrome ... event multiple PCs :/
you are the first person who says it works fine for him

@posva yes currentTarget fixed that issue.


jquery.d.ts lacks event.originalEvent.pointerType

I am currently working on a mobile first application and I need to target Internet Explorer 11 (desktop and phone) and Microsoft Edge among others. These browsers expose the event type pointerdown and MSPointerDown with a special property pointerType.
Certainly we could add pointerType to jquery.d.ts - what would be the best approach to get TypeScript support and have rich intellisense that also advises on browser compatibility?
FYI; currently the plain JavaScript (jQuery?) support from Web Essentials already provides support for pointerType.

@johnnyreilly ?

Hi @cveld,
I think this probably doesn't belong in jquery.d.ts but you should be able to extend the definition of jquery to cater for this in the same way that jQuery plugins do. You might want to take a look at a jQuery plugin in DT and see if you can use that approach to get what you need.
Hope that helps.


The DiscordRateLimitPolicy is not stateless.

Describe the bug
If you have multiple process running the library for the same bot then DiscordRateLimitPolicy  will not handle rate limits properly.
To Reproduce
Steps to reproduce the behavior:

Hit a rate limit on an endpoint on one process.
Send a request to the same endpoint.
See error

Expected behavior
The second process should not send the request.

Fixed in v1.10.0.


elero blinds and shutters support

Hi, can you please add support for elero venetian blinds and roller shutters? They behave a bit differently than already coded covers.
These devices advertise their state as string ("Unknown", "Opened", "Closed", "Opening", "Closing", "FavoritePosition1", "FavoritePosition2")
They don't respond to setValue command but to: "open", "close", "stop" and "setFavoritePosition" with additional argument "FavoritePosition1" or "FavoritePosition2".
There are three more commands which are not really needed: "rotateSlatsUp", "rotateSlatsDown", "stopSlats"
response_1677794384428.txt
response_1677794146086.txt

If you implement it.... you'll get a coffee ;-) (Donation)

I am not using HC3 but Yubii Home, but it should work the same.
I have attached JSON, Yubbi log and part of device_api file which I modified to work with elero devices. It's lines 315-346, everything else is untouched.
It does only basic commands (open, close, stop). I don't understand HA or Fibaro enough to implement more (favorite positions or position feedback).
mqtt-4090669a989041fe15642759cafe0e5a-Pravá-b08d729ab5d96ccfb6e6bf230f9163bc.json.txt
device_api.txt
Yubii home.txt

Hi @Mikl-h,
Thank for context and trying to look into the QuickApp source code, this is much appreciated especially if you want to help in the future.

You have added "com.fibaro.actor" type as the criterion for Elero blinds/shutters device identification. The problem with the proposed approach is about using a generic value that is also applicable for other device types. Therefore it would break the functionality for other users, and even for yourself. For example, one of your switches is now wrongly identified as "cover-default". How can you control a switch (or other device types) with a Cover/Shutter?

<📦> #55 named as "HC3 <-> MQTT Bridge" in "Obývák" room identified as cover-default type

Can you please provide full JSON for devices 34 and 37 that I was asking earlier? This will help me understand how device identification should work properly. Feel free to share JSON for more devices if they have different types, and so I can implement its support properly
Did you try using the position slider at Home Assistant, and at Yubii Home - does it mirror the changes between systems?
Or you only used "open", "close", "stop"?

Hi @alexander-vitishchenko

I know "com.fibaro.actor" is not ideal, it was just a quick fix to get it working as I don't have any other devices than elero paired with Yubii. I will try other criteria when I get home.
Do you need JSON export from HA or Yubii/HC3?
Position slider is broken as elero devices don't advertise their position as 0-100 but as either of these values: "Unknown", "Opened", "Closed", "Opening", "Closing", "FavoritePosition1", "FavoritePosition2"
I only use "open", "close", "stop". I just started with HA and lack the knowledge to add a switch entity to device in HA to send other commands, e.g. "setFavoritePosition"

The existing identification criteria should be fine, with no adjustments required for you device 35 as I see in logs. The reason your Elero shutter didn't work is because there was only "positioning" support implemented, with no "open", "close", "stop".

Please check the new experimental version that I've implemented over weekend, with a broader action list support for your device id 35. As I do not have any Elero devices - need your to do the testing and provide me with a report :-)

Can you please send me few more JSON files like for device 35 (response_1677794384428.txt), describing the data for the shutter (id 35) in "Open" and "Stopped" states? (your example is for "Closed" state)

As for parent devices - they are mostly used for device aggregation and useful people who work on various systems integrations like me, but we hopefully don't need to deal with it for your feature request.

Hi @Mikl-h have you had a chance to test the latest version of the quick app and see if it supports open/close/stop commands from Home Assistant UI?

Hi @Mikl-h, @rudi70,
Can you please check the latest version of the QuickApp and let me know if it works for you?

Hi! sorry.... I move to a new flat and so I can support you with data in round about 1 week..... at the first trail I can't verify it :-(

Hi @alexander-vitishchenko you verified the elero product with
elseif self:fibaroDeviceHasAction("rotateSlatsUp") or self:fibaroDeviceHasAction("rotateSlatsDown") or self:fibaroDeviceHasAction("stopSlats") then (device_api, line 347)
and then use
msg.tilt_command_template = "{% if value == 0 %}rotateSlatsDown{% elif value == 100 %}rotateSlatsUp{% else %}unsupportedByDeviceAndHomeAssistant{% endif %}" in mqtt_convention_api, line 309
These functions are not what @Mikl-h wanted to use IIRC. The functions/actions should be "setFavoritePosition","FavoritePosition1"  or ""setFavoritePosition","FavoritePosition2"  instead of rotateSlatsUp/Down
The fibaro command for this is hub.call(deviceID, "setFavoritePosition","FavoritePosition1")
I changed my device_api and mqtt_convention_api files for using the FavoritePositions like this:
In device_api I added this after line 69:
elseif propertyName == "actionp" then
        print("FUNCTION CALL: \"" .. propertyName .. "\", with PARAMS \"" .. json.encode(params) .. "\" for device #" .. self.id)
        fibaro.call(self.id, params[1], params[2])

In mqtt_convention_api I changed lines 308 and 309 to this:
msg.tilt_command_topic = self:setterTopic(haEntity, "actionp")
msg.tilt_command_template = "{% if value == 0 %}setFavoritePosition,FavoritePosition1{% elif value == 100 %}setFavoritePosition,FavoritePosition2{% else %}unsupportedByDeviceAndHomeAssistant{% endif %}"

[device_api.txt](https://github.com/alexander-vitishchenko/h
mqtt_convention_api.txt
c3-to-mqtt/files/11945698/device_api.txt)
I tested it and it sends the right commands to the elero device.
The only I have atm is that after I used for example "setFavoritePosition2" I can only use any other button until I use "setFavoritePosition1" to use "setFavoritePosition2" again.
As you can see the right arrow isn't enabled. Is this and HA issue or coming from the binding?

Let me look at it during the weekend and thank you for more inputs, the more the better, you know :)

@alexander-vitishchenko another thing what comes in mind is, if its possible to show the state of the elero device in HA correctly...you get the state from hub.get(deviceID,"state") within the homecenter or from the api within the device.properties.state
If you need more information, I will try to provide as many as possible :-)

Hi @Surycx, @Mikl-h,
I've recently posted the new QuickApp version 1.0.232, can you please look at it and tell if Home Assistant shows Open/Closed states properly now?

At first with the elero device I tested only Opening/Closing/Closed worked.
I had to append line 376 to 393 in the device.api
device_api.txt
With this Opening/Opened/Closing/Closed works.
Unknown position/state isn't working for me.
Additionally if I press stop in HA the state of the device isn't updated (to unknown im somewhere in the middle).

HI @Surycx
The "Unknown" state is expected to be omitted while HC3 => HA event transmission, i.e. I'd expect no "Unknown" state to be seen in MQTT.
Please let me know if you use the latest 1.0.232 version of the QuickApp as is, or made local changes to it? (it would be great to see the changes in diff format)

@alexander-vitishchenko
What diff format do you want the changes to be in?

First I used the QA as it is:

Only Closing, Closed and Opening worked fine. When the shutter is Opened the state on HA didn't change.

Second I changed the function Cover:overrideCustomFibaroEventIfNeeded in device.api to:

function Cover:overrideCustomFibaroEventIfNeeded(originalEvent)

    --[[if originalEvent.data.property == "state" and originalEvent.data.newValue == "Unknown" then
        return nil -- no event to be emitted HC3 => HA
    end]]

    -----------------------------ADDED BY SURYCX---------------------------------------------
    if originalEvent.data.property == "state" then
        local value = originalEvent.data.newValue
        local newStateEvent
        if value == "Closed" then
            -- generate additional event for indicating cover state
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateClosed)
        elseif value == "Opened" then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateOpen)
        elseif value == "Closing" then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateClosing)
        elseif value == "Opening" then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateOpening)
        else
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateUnknown)
        end

        return { originalEvent, newStateEvent }
    end
	-----------------------------END ADDED BY SURYCX-------------------------------------------

    if originalEvent.data.property == "value" then
        local value = originalEvent.data.newValue
        local newStateEvent
        if value == 0 then
            -- generate additional event for indicating cover state
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateClosed)
        elseif value >= 99 then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateOpen)
        elseif value < 50 then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateClosing)
        elseif value >= 50 then
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateOpening)
        else
            newStateEvent = createFibaroEventPayload(self.sourceDeviceNode.fibaroDevice, "state", Cover.stateUnknown)
        end

        return { originalEvent, newStateEvent }
    end

    return originalEvent
end

Now Opened as state works too!

Accounting the "Unknown" state. An elero device sends back "Unknown" if it is in between upper and lower endposition because it has no absolute values.
When I use my changed device_api and I press stop the topic:
fibaro => home assistant/state in MQTT is changed to the correct state:
{ "timestamp": "Thu Aug  3 07:23:46 2023", "created":<PHONE_NUMBER>, "value": "Unknown", "roomName": "Testing", "id": 39, "deviceName": "JA_Test" }
Is it possible that this Unknown is shown in HA?

Can you please share the MQTT state event when Cover gets to the opened state, for the original 1.0.232?
I suspect Fibaro uses Open and Opened aliases depending if this is Z-Wave or Elero/Nice. If this is true - then I can implement it so it could be used by anyone else with and with less lines of code.

@alexander-vitishchenko Here is the MQTT state event (homeassistant/cover/39/events/fibaro => home assistant/state): {"timestamp":"Mon Aug  7 06:58:20 023","id":39,"deviceName":"JA_Test","roomName":"Testing","value":"Opened","created":1691384300}
{"timestamp":"Mon Aug  7 06:57:54 2023","id":39,"deviceName":"JA_Test","roomName":"Testing","value":"Opening","created":1691384274}
Tested with the original 1.0.232

Done for the new 1.0.233 version


[ie/youtube:stories] Remove YoutubeStoriesIE

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

ADD DESCRIPTION HERE
stories is dead
https://www.theverge.com/2023/5/25/23736246/youtube-ending-stories-shorts-community-posts
https://techcrunch.com/2023/05/25/youtube-stories-are-shutting-down-june-26-as-company-focuses-on-shorts/
Template

Before submitting a pull request make sure you have:

[X] At least skimmed through contributing guidelines including yt-dlp coding conventions
[X] Searched the bugtracker for similar pull requests
[X] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[X] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)
[X] Remove extractor

Copilot Summary

🤖 Generated by Copilot at 5731604
Summary
🗑🔧🚫

Drop YouTube stories support from yt-dlp. Delete the YoutubeStoriesIE class and related code from yt_dlp/extractor/youtube.py.

Sing, O Muse, of the daring deeds of yt-dlp,
The swift and versatile downloader of online videos,
Who faced the wrath of YouTube and its fleeting stories,
And boldly stripped them from his code with skillful strokes.

Walkthrough

Remove YoutubeStoriesIE extractor and related code, as YouTube stories are no longer available (link, link,                                F0L7439R

Also do:
diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py
index d5607975e..66eca7198 100644
--- a/yt_dlp/extractor/youtube.py
+++ b/yt_dlp/extractor/youtube.py
@@ -3612,7 +3612,7 @@ def _extract_player_response(self, client, video_id, master_ytcfg, player_ytcfg,
         yt_query = {
             'videoId': video_id,
         }
-        if smuggled_data.get('is_story') or _split_innertube_client(client)[0] == 'android':
+        if _split_innertube_client(client)[0] == 'android':
             yt_query['params'] = self._PLAYER_PARAMS

         yt_query.update(self._generate_player_context(sts))
@@ -4025,8 +4025,6 @@ def _download_player_responses(self, url, smuggled_data, video_id, webpage_url):
         webpage = None
         if 'webpage' not in self._configuration_arg('player_skip'):
             query = {'bpctr': '9999999999', 'has_verified': '1'}
-            if smuggled_data.get('is_story'):  # XXX: Deprecated
-                query['pp'] = self._PLAYER_PARAMS
             webpage = self._download_webpage(
                 webpage_url, video_id, fatal=False, query=query)


[Accessibility] Text has insufficient contrast

Describe the bug
When reviewing our checkout for WCAG 2.1 - 1.4.3 Contrast (minimum) (AA), I found the payment step to not meet the minimum contrast ratio.
To Reproduce
Steps to reproduce the behavior:

Go to 'payment step'
View payment step fields placeholder text
See insufficient contrast
Enter data
See insufficient contrast (green text)

Expected behavior
Text to meet minimum contrast ratio 3.5:1.
Screenshots

Grey placeholder text "J. Smith"

Entered green text "MR TM Martyn"
Desktop (please complete the following information):

OS: macOS Monterey 12.6
Browser: Chrome
Version: 106

Additional context
Using CCA contrast checker tool from TPGI
https://www.tpgi.com/color-contrast-checker/

This issue has been fixed in versions v5.20.0 and v5.24.0 so please consider upgrading.


Use a local copy of reprepro configs at the deployment stage to avoid R2 issues

we are in the progress of moving to another scheme, maybe even completely moved already
on the other hand, the issue we're trying to address here is still reproducing, see https://github.com/yandex-cloud/geesefs/issues/98#issuecomment-2313231182 + https://github.com/Felixoid/geesefs-reprepro


Segmentation Fault when running optimzied

I encountered a segmentation fault after instatiating the default timer when running a binary using
cargo run --release
Here's a link to a minimal setup where i encounter this error:
https://github.com/joeschman/tokio-timer-segfault
While debugging I found out that optimization error can be avoided when inserting a print-statement after line 248 in the file tokio-timer/src/wheel.rs
    /// Returns the instant in time that corresponds to the next timeout
    /// scheduled in this wheel.
    pub fn next_timeout(&self) -> Option<Instant> {
        // TODO: can this be optimized to not look at the whole array?
        let mut min = None;
        for a in self.wheel.iter().filter_map(|s| s.next_timeout.as_ref()) {
            if let Some(b) = min {
                if b < a {
                    print!("");  // FIXME: optimization bug here
                    continue
                }
            }
            min = Some(a);
        }

        min.map(|t| *t)
    }

I'm not sure if that helps but I am running macOS 10.13.3.
I hope this bug report helps to fix the bug.

Do you think this is a bug in tokio-timer or a bug in Rust codegen?
The only unsafe code is in the mpmc file which I copied from the Rust source and is based on the 1024cores design, which is pretty established.

I basically think it s a bug of rust codegen but did neither know the right place to post the issue nor ambi entirely sure where the buge comes from since i didn t have a detailed look at the implementation of tokio-timer.
But by placing println!s i could find out that the segfault occurs  somewhere within the loop.
Do you get this error as well when running the crate i posted?

No, I don't get the segfault. My OS is OS X 10.12.6.
Maybe report this on the Rust repo?

Which toolchain are you using?
I just found out the error only occurs when using beta-x86_64-apple-darwin or nightly-x86_64-apple-darwin but not when using stable-x86_64-apple-darwin.
I created an issue on the rust repo.

I am also getting this on nightly-x86_64-pc-windows-msvc

Well, tokio-timer is in the process of being rewritten. So, that should "fix" the problem by virtue of it being new code...


WASAPI driver will now resample when the device rate != audio/mix_rate

Fixes #16229 and maybe #15430

Thanks!

cherry picked into 3.0.3


last update -- weeks ago, apparently has been errorring out

not sure why nobody of us noticed -- let's blame holidays
https://github.com/datalad/datalad-usage-dashboard/actions/runs/3827310963/jobs/6511793554#step:6:1231
  File "/home/runner/work/datalad-usage-dashboard/datalad-usage-dashboard/find_datalad_repos/github.py", line 160, in get_repo_stars
    r.raise_for_status()
  File "/opt/hostedtoolcache/Python/3.11.1/x64/lib/python3.11/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://api.github.com/repos/bids-standard/bids-schema
Error: Process completed with exit code 1.

not sure what it is about since it is public repo.

@yarikoptic My best guess is that we're hitting an API rate limit, except (a) the limit should be 5000 requests per hour, and it doesn't look like we're making more than 1200 requests before failing (Unless the rate limit is shared among all tokens for the user in question?  The documentation isn't clear), and (b) the HTTP "reason" should mention rate limiting (unless we're using HTTP/2, but I don't think requests supports that yet).  We might be hitting a secondary rate limit, but I'm not entirely sure how to detect that.  For now, I'm just going to make the code output the response body when this error occurs so we get more detail.

We might indeed be getting too many results now for querying for RUNCMD commits, judging from the number of those
Found commit  log lines.  I wonder if we could instrument query a little more to limit time period to go back only slightly behind the last sync time or something like that.

@yarikoptic With the ability to see the response body, we get:
{
    "message": "`bids-standard` forbids access via a personal access token (classic). Please use a GitHub App, OAuth App, or a personal access token with fine-grained permissions.",
    "documentation_url": "https://docs.github.com/rest/reference/repos#get-a-repository"
}

So apparently we just need to replace the token used with a new one that follows GitHub's new format (which will be any token generated today).

oh, damn -- the same issue as we had with con/tinuous logs of it.  I have now updated SEARCH_GITHUB_TOKEN secret with that same token. And will rerun the recent workflow -- let's see if helps

last commit 6 hours ago, so - was addressed


为什么引入了commons-compress还是一直丢失

A required class was missing while executing com.github.core-lib:xjar-maven-plugin:4.0.2:build: org/apache/commons/compress/archivers/jar/JarArchiveInputStream

What's the reason?

maven插件打包异常： Failed to execute goal com.github.core-lib:xjar-maven-plugin:4.0.2:build (default) on project iMEC: Execution default of goal com.github.core-lib:xjar-maven-plugin:4.0.2:build failed: A required class was missing while executing com.github.core-lib:xjar-maven-plugin:4.0.2:build: org/apache/commons/compress/archivers/jar/JarArchiveInputStream
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>com.github.core-lib:xjar-maven-plugin:4.0.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/Users/Lance/.m2/repository/com/github/core-lib/xjar-maven-plugin/4.0.2/xjar-maven-plugin-4.0.2.jar
[ERROR] urls[1] = file:/Users/Lance/.m2/repository/org/apache/commons/commons-lang3/3.5/commons-lang3-3.5.jar
[ERROR] urls[2] = file:/Users/Lance/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
[ERROR] urls[3] = file:/Users/Lance/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
[ERROR] urls[4] = file:/Users/Lance/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
[ERROR] urls[5] = file:/Users/Lance/.m2/repository/com/github/core-lib/xjar/4.0.2/xjar-4.0.2.jar
[ERROR] urls[6] = file:/Users/Lance/.m2/repository/org/eclipse/aether/aether-util/0.9.0.M2/aether-util-0.9.0.M2.jar
[ERROR] urls[7] = file:/Users/Lance/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
[ERROR] urls[8] = file:/Users/Lance/.m2/repository/org/codehaus/plexus/plexus-utils/3.0.15/plexus-utils-3.0.15.jar
[ERROR] urls[9] = file:/Users/Lance/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.5.5/plexus-component-annotations-1.5.5.jar
[ERROR] urls[10] = file:/Users/Lance/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.3/plexus-sec-dispatcher-1.3.jar
[ERROR] urls[11] = file:/Users/Lance/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------
[ERROR] : org.apache.commons.compress.archivers.jar.JarArchiveInputStream
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginContainerException


Eliminate gzip deprecation warning

I took a slightly different approach in #122, please take a look

Both work I guess.... I can close this


Add FTPOpen and MemcachedOpen plugins

Hi,
LeakIX has been a very useful tool for me, so i thought i would help improve it a bit! I have written two plugins:

Memcached plugin
FTP plugin

They are available here: https://github.com/kevdagoat/leakix-plugins
Currently untested, due to my lack of a target, hoping you guys could test for me. If not, ill set up one and do the testing.
Let me know if this is what you guys are after!

Thank you so much !
I'm opening a few issues on your repo. I'll open PRs a bit later and help fixing them !

Very welcome! I have merged your PR and addressed your other comment about the summary, check the issue for more info.

We're not forgetting this PR !
We're in the process of unifying tcpid and explore ( and possibly synscan ) in a single tool and add/fix a few implementations.
Once done I'll send the implentation updates to you so we can merge it to the new tools ! ( everything will happen in the l9plugin repo in the future ).


fix the link for azure

Link has changed, update the link.
https://docs.microsoft.com/  ——>  https://learn.microsoft.com

A general rule for blog articles is that we don't fix posts older than a year.
In this case, the fix is simple and straightforward. Hopefully, those blogs are still valid in general for readers.
/approve


GUI example error when using legacy linker on linux

$ cargo run -- run --linker=legacy examples/gui/Hello.roc
    Finished dev [unoptimized + debuginfo] target(s) in 0.31s
     Running `target/debug/roc run --linker=legacy examples/gui/Hello.roc`
🔨 Rebuilding platform...
/nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: examples/gui/platform/host.o:(.data._rust_extern_with_linkage___dso_handle+0x0): undefined reference to `__dso_handle'
/nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: /nix/store/6f66prpgx1qx4n6k450sxs3d157ia1ps-glibc-2.35-163/lib/libc_nonshared.a(pthread_atfork.oS): in function `__pthread_atfork':
(.text+0x7): undefined reference to `__dso_handle'
/nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: examples/gui/hello-gui: hidden symbol `__dso_handle' isn't defined
/nix/store/vhf2cr6immz4qdxd83y025fnxim8mmfg-binutils-2.38/bin/ld: final link failed: bad value
1 error and 0 warnings found in 37699 ms.

Running program anyway…

────────────────────────────────────────────────────────────────────────────────
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', crates/cli/src/lib.rs:639:61
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace```

To get around this we always used our own surgical linker instead (cargo run -- run examples/gui/Hello.roc).
This error is very similar to the one in issue #1157.

This is strange. It looks like the helloWorld binary works when run through valgrind but not when run directly:
[nick@nick-x270 roc]$ cargo run examples/hello-world/main.roc
<lots of debug info snipped>
Segmentation fault

[nick@nick-x270 roc]$ ./examples/hello-world/helloWorld
Segmentation fault

[nick@nick-x270 roc]$ valgrind --leak-check=full --track-origins=yes ./examples/hello-world/helloWorld
==60130== Memcheck, a memory error detector
==60130== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
==60130== Using Valgrind-3.19.0 and LibVEX; rerun with -h for copyright info
==60130== Command: ./examples/hello-world/helloWorld
==60130==
Hello, World!
==60130==
==60130== HEAP SUMMARY:
==60130==     in use at exit: 0 bytes in 0 blocks
==60130==   total heap usage: 0 allocs, 0 frees, 0 bytes allocated
==60130==
==60130== All heap blocks were freed -- no leaks are possible
==60130==
==60130== For lists of detected and suppressed errors, rerun with: -s
==60130== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

(new lines added for clarity)

This now also happens with the surgical linker but only on aarch64 linux (raspberry pi 4, outside of nix):
---- cli_run::hello_gui stdout ----
thread 'cli_run::hello_gui' panicked at '
___________
The roc command:

  "/home/username/gitrepos/roc2/roc/target/release/roc build --optimize /home/username/gitrepos/roc2/roc/examples/gui/hello.roc --"

had unexpected stderr:

  🔨 Rebuilding platform...
ld: /home/username/gitrepos/roc2/roc/examples/gui/platform/linux-arm64.o:(.data._rust_extern_with_linkage___dso_handle+0x0): undefined reference to `__dso_handle'
ld: /usr/lib/aarch64-linux-gnu/libc_nonshared.a(pthread_atfork.oS): in function `__pthread_atfork':
(.text+0x0): undefined reference to `__dso_handle'
ld: (.text+0x4): undefined reference to `__dso_handle'
ld: /home/username/gitrepos/roc2/roc/examples/gui/hello-gui: hidden symbol `__dso_handle' isn't defined
ld: final link failed: bad value
thread 'main' panicked at 'not yet implemented: gracefully handle `ld` (or `zig` in the case of wasm with --optimize) returning exit code Some(1)', crates/compiler/build/src/program.rs:1036:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


[Hub Generated] Review request for Microsoft.Subscription to add version preview/2019-10-01-preview

If you are a MSFT employee you can view your work branch via this link.
Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

Can one of the admins verify this patch?

Checked with PR owner. This PR is still on hold as of right now.

Closing PR as team decide to put it on hold. Feel free to reopen the PR once decision is made. Thanks.


Option to disable for imported libraries

Given that underscores are common in protobufs, particular around enums, where the following definition from https://developers.google.com/protocol-buffers/docs/proto3#enum:
message SearchRequest {
  string query = 1;
  int32 page_number = 2;
  int32 result_per_page = 3;
  enum Corpus {
    UNIVERSAL = 0;
    WEB = 1;
    IMAGES = 2;
    LOCAL = 3;
    NEWS = 4;
    PRODUCTS = 5;
    VIDEO = 6;
  }
  Corpus corpus = 4;
}

Will in generated code resolve to CORPUS_UNIVERSAL, CORPUS_WEB, ....
It would be useful to be able to ignore all instances such as this coming in from specific imported libraries where the consuming project does not have control over the naming. As we make use of protobuf and enums, I've had to disable the linter as there are no many occurrences of this caught, while I would prefer to leave it to catch the odd mistake automatically.

In my opinion the linter should actually only check new declarations and type definitions in the current project. I'm not aware of any linter that flags issues that stem from other dependencies. Currently nosnakecase even flags stuff from the standard library such as the constants from x/sys/unix.


Go Back from Any Screen

better going back (b and q works everywhere, with b instructions all around)
better booting instructions and seed encryption details
UI tweaks
readme update

HT @matthieu and @acityinohio

:+1: :+1: Nice! Thanks @mflaxman .


 Consider installing a portable version of the browser: http://portableapps.com/apps/internet"

I'm testing it now on the English version page.
http://browser-update.org/en/update.html
I think i will tweak the text and see how many people use the link.

This is now also activated for German, because the portable apps site is also available in this language.
Do you know other sources for portable apps available in more languages?

For now only active for english and german.


Possible duplicate code in DefaultOverlayManager

I have been looking over the code in the overlay manager, because I'm looking at optimizing the overlay manager to only render line segments that are on screen as well as any type of overlay, I think someone here was talking about an issue with large polylines and hardware acceleration, I adopted some of their code in a custom folder overlay and it works real well. I was just hoping to intercept the on draw calls in the overlay manager instead but I noticed on the onDraw command it looks like the code is duplicated, any reason for this or was this a merge error?

which code?

If they both are needed to be there Im sure it could be optimized too, why have two for loops, when they could be done in the same loop too. Just thinking if one had a lot of overlays that call might be inefficient.
I too am curious what the shadow call does.

If it should be there, though not implemented, I am proposing more of a single for loop rather than two separate loops. Just thinking speed, but if the shadow is useless then maybe remove it. It could always be done on the on draw anyways.

I will do a test with my changes removing the shadow calls and see if it breaks anything in tests, If it works I will open a pull request for the fix.

@cfsbhawkins any updates on this? Getting ready to cut another version soon

@spyhunter99 I have been testing it let me do one today with a few thousand markers, so far so good. No adverse side affects. If anything were skipping one for loop cycle on every on draw. I had actually been working on a new overlay manager that only draws what is in the current bounding box. I still have a bit of work todo since lines and polygons sometimes do some funny things. I'm hoping that I can get it to the point where we can enable Hardware Acceleration and not have issues with large polylines.

@spyhunter99 We have been doing some testing here and see no issues with taking out the shadow. That being said I can open a pull request with my changes, but I'm trying to think what we should do. I would love to remove the boolean shadow from the onDraw method, but that would break OSMBonus Pack and anyone who created their own overlays as well, I could create a new method with deprecated tile on the current onDraw or I can just remove the duplicated code from the DefaultOverlayManager and we always pass false to on draw.
Let me know your thoughts.

Your approach sounds perfect. We'll schedule the removal of the additional parameter with 6.0 or maybe later


Update link_content_credential_phishing.yml

Description
Testing an OR'd on profile.by_sender() with uncommon and no false positives.

/update-test-rules


Warn users they cannot search by email address [OSF-5639]

Purpose
Currently users can search when adding contributors by email address. They can then invite a user, who may already exist in the database by the email address entered, which can cause confusion when it says they already have an account. These changes will no longer enable users to search by email address.
Changes
If a user attempts to search an email address in the add contributors page, it will show a message that searching by email address is not allowed, and it will not give them the option to add that email address as an unregistered contributor.
BEFORE:

AFTER:

Side effects
None.
Ticket
https://openscience.atlassian.net/browse/OSF-5639

Tests are failing, so be sure they are passing before putting into Code Review.

Also, could you add before and after screenshots of your changes?

Pass done. 🐧

You'll need to change this branch name. Use the gitflow convention of feature/branch-name, so for this something like feature/error-searching-by-email-address. Close this PR and open a new one for the new branch.
As a general rule, we would just keep the current branch name and change it for next time, but you'll want to keep develop and master free or it could cause some issues later on, and I can't guarantee this PR will be closed before you're going to need to have it available.


Serve static using uwsgi

Modify the uwsgi container to serve static with uwsgi instead of nginx. Also, take advantage of pre-gzipping content.

https://uwsgi-docs.readthedocs.io/en/latest/StaticFiles.html
https://uwsgi-docs.readthedocs.io/en/latest/StaticFiles.html#gzip-uwsgi-1-9
https://github.com/vuejs-templates/webpack/pull/150
https://github.com/armandtvz/django-compress-staticfiles

Done.


Relate Freeman / Broderick pooling windows to Pillow GLM bases

The parametrization used in the vision papers papers (Freeman and Simoncelli, 2011, Broderick et al., 2023) are different from that described in Pillow et al., 2008 and thus the one we ended up implementing. Make sure they're equivalent and add some tests to show that?
My pooling-windows repo might be useful here.

Using the code included in #6 , you can vary the "log-stretchiness" of the basis functions, with the $\gamma$ parameter discussed there and in #5 . With the Freeman/Broderick pooling windows, that log-stretchiness cannot be stretched, so $\gamma$ is not the same as the scaling parameter discussed in those papers (which gives the ratio between the distance from zero and the full-width half-max of the windows). The pooling windows have a linear relationship between that distance and the FWHM, and scaling just changes the slope of that line, whereas $\gamma$ can make that line more-or-less linear (I think). So there's probably some $\gamma$ value that reduces to the pooling windows case.


plus_code feature added to type definition file

Hello,
I have added the missing the typings for plus_code which is recently introduced.
https://cloud.google.com/blog/products/maps-platform/introducing-plus-codes-place-autocomplete-place-details-and-geocoding-help-you-serve-users-everywhere

Thank for the PR!

Live in v2.1.2


Validating data types

Currently the tool may produce invalid input data for GAMS, because it doesn't verify data types. Should we introduce such a verification before export to GAMS?

@siddharth-krishna what do you think?

Sure, perhaps add a field to times-info.json that specifies the data type of each parameter/set?
Ideally we should use the correct dtypes for pandas column from the time we read in the excel tables: #47
But this sounds like a good start towards that.

Parameters (value columns) are always numeric, e.g. double. :-) Their indices can vary, but string generally works. Sets are similar to indices of the parameters.

Does it not matter if a year is written out as 2020.0 when in a parameter value column, or a set index column?

@siddharth-krishna  In the decimal system, it does not matter if you add zero decimals to a numeric value, onto the right side, right of the decimal point.  The values are by definition identical.  GAMS complies with the decimal system with respect to inputting parameter values in text files.  GAMS GDX files may use a binary representation.
However, indexes, i.e. the members of sets are identified by labels, which are basically case insensitive strings.  The years indexes are thus also identified by set element labels. and a string "2020.0" is different from the string "2020".

If it helps, I've been using pandera  for dataframe type (and range etc) validation, and it's pretty good. Might be worth a look for this.

Looks like it may be what we need. Should we be applying it to inputs (i.e. EmbeddedXlTable.dataframe) or outputs (i.e. TimesModel), or both?


Can't rename or connect nodes

Every time I try to rename a node, it defaults back to "Diag Node #0" or some number. I drag the connector between nodes but they don't connect. Dunno what's going on here. Really hoping I don't have to code my own dialog system from the ground up.

Hi! Is this still happening?
I noticed this issue with my recent release, and updated with 0.0.2 hotfix 2
It is supposed to be fixed with the most recent commit in main.
Please let me know if you are still facing this problem.


How to know the instant playback was started?

I know the buffers make it hard but even with a 10ms buffer I'm getting around 500ms of latency, which seems high, and which I have to manually bias around. What's the most reliable way to get the instant playback was started at? I'm reading song-length MP3s so loading the entire file into memory is not doable.
My setup matches the readme pretty closely:
// Ideally this function doesn't return until the exact instant playback starts
func (ap *AudioPlayer) Play(path string) (time.Time, error) {
	f, err := os.Open(path)
	if err != nil {
		return time.Time{}, err
	}

	// Does this buffer anything or does it read straight from the disk
	// when I do speaker.Play()? Can I somehow make it buffer some
	// bytes, so playback starts faster?
	streamer, format, err := mp3.Decode(f)
	if err != nil {
		return time.Time{}, err
	}

	ap.format = format
	ap.streamer = streamer

	buff := time.Millisecond * 10
	speaker.Init(format.SampleRate, format.SampleRate.N(buff))

	speaker.Play(ap.streamer)

	// ...and time.Now() turns out to be 500ms off :(
	return time.Now(), nil
}

The speaker had a bug in it that made one of its internal buffers 0.5sec long. Fixed in https://github.com/gopxl/beep/pull/134 and I just tagged it so if you upgrade to beep v1.3.0 you should have it.

Very nice! Latency in v1.3.0 seems to be much more consistent, I can bias by the same duration as the buffer and get good results. Thanks!


ARROW-1048: Use existing LD_LIBRARY_PATH in source release script to accommodate non-system toolchain libs

Tripped on this again when cutting the 0.4.1 rc0. cc @kou

+1


Login Failed Unable to login to selected edge controller

I followed the link““ https://openziti.io/docs/learn/quickstarts/network/local-docker-compose ”I used Docker Compose to set up Ziti, but when I access ZAC, I don't know what username and password to use. When logging in with admin/admin, it shows “Login Failed Unable to login to selected edge controller”.
May I ask how to solve it？

Sure enough that page doesn't talk about the password on it. It expects you to exec into the controller container and execute your ziti CLI functions but that isn't necessary. Inside that container an environment file was created that represents the set of answers used to install the overlay.
you can get the password used when it started one a few ways:
Grep:
docker exec -it docker-ziti-controller-1 grep ZITI_PWD /persistent/ziti.env
if [[ "$ZITI_PWD" == "" ]]; then export ZITI_PWD="7vdTGwSykxWg8VClS1xJr5kTNXzyBI2C";

exec into the container and look at that file /persistent/ziti.env
or docker logs:
docker logs docker-ziti-controller-1 2>&1 | grep ZITI_PWD
Do you want to keep the generated admin password '7vdTGwSykxWg8VClS1xJr5kTNXzyBI2C'? (Y/n) INFO: using ZITI_PWD=7vdTGwSykxWg8VClS1xJr5kTNXzyBI2C
NOT OVERRIDING: env var ZITI_PWD already set. using existing value
ZITI_PWD overridden: 7vdTGwSykxWg8VClS1xJr5kTNXzyBI2C

Alternatively when you start the container you can set that ZITI_PWD and it'll use whatever you set it as the initial password:
ZITI_PWD=here_is_my_password docker compose --project-name docker up

Then when you grep the logs you'll see:
$ docker logs docker-ziti-controller-1 2>&1 | grep ZITI_PWD
ZITI_PWD overridden: here_is_my_password

I'll close this issue as complete but if you need to reopen it please do. Also we tend to use discourse for "how-to" and "help" related issues. You can find that here: https://openziti.discourse.group/
cheers


Update thread.d Fiber documentation

Discussion<EMAIL_ADDRESS>

Looking at the implementation again, there is indeed a bug.
The assert( m_ctxt.tstack == m_ctxt.bstack ); in reset will only work for terminated fibers not for hold ones. We'd need to explicitly set m_ctxt.tstack = m_ctxt.bstack for those.

Now I get it, reset without parameters works for HOLD state iff the stack is clean. Reset with parameters (new function/delegate) works with any state cause there is no check there and leads to stack overflow.

We'd need to explicitly set m_ctxt.tstack = m_ctxt.bstack for those.

That would be awesome, one could cope with scope(exit) and struct destructors not executing but having a way to completely reset HOLD fiber is very nice.

We'd need to explicitly set m_ctxt.tstack = m_ctxt.bstack for those.

Can you change the pull to just do that and add a test case.
unittest
{
    // test unsafe reset in hold state
    auto fib = new Fiber({ubyte[2048] buf = void; Fiber.yield();}, 4096);
    foreach (_; 0 .. 10)
    {
        fib.call();
        assert(fib.state == Fiber.State.HOLD);
        fib.reset();
    }
}

Can you change the pull to just do that and add a test case.

Did that, rebuilt everything with Digger on win32 and that test case works.

Auto-merge toggled on

Thx


Discard OIDC implementation in favor of just simple one user login

The idea is something similar to this Spring doc.

TODO
Backend

[ ] Modify SecurityConfig.kt to delete .oauth2Login

Frontend

[ ] Modify (or delete) Modal.tsx


No query results, Dataview plugin said to be not installed when it is

I have dataview installed, enabled, and working (i.e. I can run dataview queries just fine.) When I enable queryallthethings and try to run the example query listed in the README > Getting Started, or the one in Documentation > Your First query, no results are returned. When I disable queryallthethings and then re-enable it, I get this warning: "Dataview plugin is not installed. Dataview backed tables will be empty." Is there another prerequisite that I overlooked?

No. It should work if dataview is enabled and using the dataview tables.
Are you trying to run this query?
query: |
  SELECT TOP 5 *
  FROM obsidian_markdown_notes
  ORDER BY stat->mtime DESC
template: |
  {{#each result}}
   - [[{{path}}\|{{basename}}]]
  {{/each}}

That's the one, yeah.

Issue has been resolve. The new handlebars helpers caused a conflict that was not apparent on initial local testing. This has been reverted. I also detected a async race condition in the checks for dataview and customjs. These have also been resolved. Initial fixes were in 0.8.9 and the CustomJS fix was in 0.8.10

Confirmed working via Discord chat in plugin-general. Closing up issue.


Helm tests: collect container logs

Motivation and context

How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[ ] I have added a description of my changes into the CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (see GitHub docs)
[ ] I have increased versions of npm packages if it is necessary
(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

LGTM, but I think we can also collect logs from our worker containers

added
https://github.com/opencv/cvat/actions/runs/4691808547

@azhavoro , there are some problems with help tests in the PR. Should we resolve them before merging?


Why there are many hard-coded symbol links in cadence_libs

Hi, I am wondering why there are so many hard-coded symbol links in that folder.
It looks like all of these links are linked to some dynamic shared libraries.
Why not use something like LDFLAGS ?

Thanks for raising this issue. It has been resolved. Please follow the instructions in the updated README.


minimal updates to accommodate django 4.0

What this does
Upgrades Django to Django 4
Checked python graph to see which packages were breaking, it appears only:
django-current-user, django-extensions needed updates
How to test
Add user steps to achieve desired functionality for this feature.

I'll play around with it for a bit, but I did install it to a personal app and it seems to be running fine


Mouse pointer corruption when connecting to XRDP instance

We are experiencing "corruption" of the mouse pointer when using Myrtille to connect to a Ubuntu based XRDP server.
Using the native Windows RDP client works fine, but via Myrtille the mouse pointer image is "corrupted" (garbled could be a better description).
Functionality is still perfect...its just the rendering of the mouse pointer that is the issue.
Screenshots are problematic as the pointer is hidden while taking a screenshot in Windows 10...so this also suggests it is a client site rendering issue somewhere.
Client devices/browsers tested:

Windows 10 with Edge (new Chromium-based version)
Windows 10 with Chrome

Yes, I had noticed it and it also occurs in some cases under Windows RDP (https://github.com/cedrozor/myrtille/issues/161). I already tried to fix it but without success.
I need to resync FreeRDP with the master repository, maybe this was fixed since.

@cedrozor Is it still not fixed?


Bump werkzeug to 3.0.3

Read this before submitting the PR

Always create a Draft PR first
Go through sections 1-5 below, fill them in and check all the boxes
Make sure that the branch is updated; if there's an "Update branch" button at the bottom of the PR, rebase or update branch.
When all boxes are checked, information is filled in, and the branch is updated: mark as Ready For Review and tag reviewers (top right)
Once there is a submitted review, implement the suggestions (if reasonable, otherwise discuss) and request an new review.

If there is a field which you are unsure about, enter the edit mode of this description or go to the PR template; There are invisible comments providing descriptions which may be of help.
1. Description / Summary
Solves Werkzeug vulnerability alerted via scans.
2. Jira task / GitHub issue
https://scilifelab.atlassian.net/jira/software/projects/DDS/boards/13/backlog?epics=visible&selectedIssue=DDS-2040
3. Type of change
What type of change(s) does the PR contain?
Check the relevant boxes below. For an explanation of the different sections, enter edit mode of this PR description template.

[ ] New feature

[ ] Breaking: Why / How? Add info here.
[ ] Non-breaking

[ ] Bug fix
[x] Security Alert fix

[x] Package update

[ ] Major version update

[ ] Documentation <!-- Should be checked if the PR adds or updates the CLI documentation -- anything in docs/ directory. -->
[ ] Workflow
[ ] Tests only

4. Additional information

[ ] Sprintlog  Not adding sprintlog row since this only relates to tests.
[ ] Blocking PRs

[ ] Merged

[ ] PR to master branch: If checked, read the release instructions

[ ] I have followed steps 1-8.

5. Actions / Scans
Check the boxes when the specified checks have passed.
For information on what the different checks do and how to fix it if they're failing, enter edit mode of this description or go to the PR template.

[x] Black

[x] Pylint

[x] Prettier

[x] Yamllint

[x] Tests

[x] TestPyPI

[x] CodeQL

[x] Trivy

[x] Snyk

Why is it Werzeug needed in the tests in the client?

Why is it Werzeug needed in the tests in the client?

I was asking myself the same thing. At some point I'm pretty sure we needed it because some package had it as a requirement but didn't install it itself, but now I'm not sure. Currently testing if it's needed.

@rv0lt Seems like it's no longer needed. Updating the title of this PR