Merged preview image has transparency when it shouldn't

A PSD file may contain any number of channels up to 56. After the main color channels (eg 3 for RGB) the next channel may be alpha transparency or it may be a mask channel. It seems psd-tools sometimes identifies when this is the case using Alpha Identifiers or maybe something else but depending on what exported the file this isn't always available. The most reliable way to identify whether the merged preview image has an alpha transparency channel is using the sign of the layer count as indicated in the PSD spec below. This seems to currently be ignored and sometimes produces incorrect merged image results when the image has no transparent alpha channel but one or more alpha channels that are used for masks because one of the mask channels is used as transparency usually leading to parts of the image being fully transparent that shouldn't be.
In the PSD spec, (https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_16000):

Layer count. If it is a negative number, its absolute value is the number of layers and the first alpha channel contains the transparency data for the merged result.

The layer count being positive indicates the merged image doesn't contain an alpha channel, even if there are additional channels present.
A quick fix I was able to implement is adding a couple lines to has_transparency in numpy_io.py to check for this condition:
def has_transparency(psd):
    keys = (
        Tag.SAVING_MERGED_TRANSPARENCY,
        Tag.SAVING_MERGED_TRANSPARENCY16,
        Tag.SAVING_MERGED_TRANSPARENCY32,
    )
    if psd.tagged_blocks and any(key in psd.tagged_blocks for key in keys):
        return True
    if psd.channels > EXPECTED_CHANNELS.get(psd.color_mode):
        alpha_ids = psd.image_resources.get_data(Resource.ALPHA_IDENTIFIERS)
        if alpha_ids and all(x > 0 for x in alpha_ids):
            return False
+       if(psd._record.layer_and_mask_information.layer_info is not None and psd._record.layer_and_mask_information.layer_info.layer_count > 0):
+           return False
        return True
    return False

@floogulinc Ok, can you make a PR?

Yeah, I'm not too familiar with the codebase yet so I'm not sure if this is exactly the right way to do it but I'll make a PR.


Remove Vagrant

What changes are proposed in this pull request?
Remove Vagrant related integration
Why are the changes needed?
Removing outdated dependencies for coming 300
Does this PR introduce any user facing changes?
Vagrant is no more supported since 2.0. No real user-facing change

alluxio-bot, merge this please


Refactoring and improve update client semantics

Closes: #997
Description

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

The PR is now ready for review. Here is a more reliable way to reproduce #997:

Modify the timeout_commit and timeout_propose fields in the one-chain script to a longer duration, such as 10s.
Recreate the chains using ./scripts/dev-env.
Run commands such as./target/debug/hermes create client ibc-0 ibc-1 ; ./target/debug/hermes update client ibc-0 07-tendermint-{N}, with {N} replaced with expected new client ID.
The command should fail on master, but pass on this PR.

Running locally e2e/run.py i get:
2021-06-02 12:37:20 [   DEBUG] {"result":null,"status":"success"}
Traceback (most recent call last):
  File "/Users/ancaz/rust/ibc-rs/./e2e/run.py", line 229, in <module>
    main()
  File "/Users/ancaz/rust/ibc-rs/./e2e/run.py", line 213, in main
    ibc0_client_id, ibc0_conn_id, ibc0_chan_id, ibc1_client_id, ibc1_conn_id, ibc1_chan_id = raw(config, ibc0 , ibc1, port_id)
  File "/Users/ancaz/rust/ibc-rs/./e2e/run.py", line 130, in raw
    ibc0_client_id = client.create_update_query_client(c, ibc0, ibc1)
  File "/Users/ancaz/rust/ibc-rs/e2e/e2e/client.py", line 128, in create_update_query_client
    update_client(c, dst, client.client_id)
  File "/Users/ancaz/rust/ibc-rs/e2e/e2e/client.py", line 111, in update_client
    res = cmd.run(c).success()
  File "/Users/ancaz/rust/ibc-rs/e2e/e2e/cmd.py", line 34, in success
    data = self.cmd.process(result)
  File "/Users/ancaz/rust/ibc-rs/e2e/e2e/client.py", line 49, in process
    return from_dict(ClientUpdated, result['UpdateClient']['common'])
KeyError: 'UpdateClient'

probably because the return value is None and update client event cannot be decoded.
(one-chain script changed with 10 seconds timeouts)

probably because the return value is None and update client event cannot be decoded.

Hmm makes sense. If the trusted height is already at target height, then None is returned, so the e2e script will need to handle that. I will fix the e2e script then.

So I'm wondering if it is possible to break the PR in two parts: one that strictly (and minimally) fixes 997, and another part with your refactoring.

I suppose if we want to fix #997 naively, we can just replace the comparator operator in the original build_update_client_and_send from < to <=:
diff --git a/relayer/src/foreign_client.rs b/relayer/src/foreign_client.rs
index dad8993d..1385fe4b 100644
--- a/relayer/src/foreign_client.rs
+++ b/relayer/src/foreign_client.rs
@@ -439,7 +439,7 @@ impl ForeignClient {
             // Get highest height smaller than target height
             cs_heights
                 .into_iter()
-                .find(|h| h < &target_height)
+                .find(|h| h <= &target_height)
                 .ok_or_else(|| {
                     ForeignClientError::ClientUpdate(format!(
                         "chain {} is missing trusted state smaller than target height {}",

I agree that the original code is pretty difficult to understand. And at least without familiarizing myself with what the code actually does, I wouldn't be able to be certain that the fix really solves the issue. Right now with the correct understanding after the refactoring, I think the simple fix could work.
The refactored code should preserve the original semantics while keeping it simpler. But since the original code is so complex, it certainly requires some reading to make sure that it really doesn't break anything.

I suppose if we want to fix #997 naively, we can just replace the comparator operator in the original build_update_client_and_send from < to <=:

Hmm maybe it's not that straightforward. Somewhere upstream the original code would still convert empty result to error.
Jun 02 11:19:29.047  WARN ibc_relayer::foreign_client: [ibc-1 -> ibc-0:07-tendermint-3] skipping update: trusted height (1-14) >= chain target height (1-14)
Error: tx error: error raised while updating client: Client 07-tendermint-3 is already up-to-date with chain ibc-1@1-14

So I'm wondering if it is possible to break the PR in two parts: one that strictly (and minimally) fixes 997, and another part with your refactoring.

That would be great, and would perhaps allow us to merge the fix for 997 before the release and take some time to properly review the refactoring afterwards.

I have opened #1036 for the quick fix.

This work will be subsided by later work that will replace Height::zero with Option<Height>.
Heights can have different meanings:

some specific height
none specified, which can mean an error (because a specific height is necessary)
none specified, which can mean the latest one

@soareschen:

Create a discussion to capture this refactor, describe the rationale.


When parsing step with both a variable and a grid, the step file is created incorrectly

When you have a line like the following:
Given {"Steve Jobs"} has a visit planned
      | "id"                 | 1                          |
      | "date"               | "2024-05-01T08:00:00.000Z" |
      | "patientFirstName"   | "Tim"                   |
      | "patientLastName"    | "Cook"                 |
      | "patientBirthDate"   | "1938-05-01T00:00:00.000Z" |
      | "sex"                | "MALE"                     |

the created step file looks like this:
/// Usage: {"Steve Jobs"} has a visit planned
Future<void> hasAVisitPlanned(
  WidgetTester tester,
  bdd.DataTable dataTable
) async {}

and the created usage looks like this:
 await hasAVisitPlanned(
            tester,
            "Steve Jobs",
            const bdd.DataTable([
              ["id", 1],
              ["date", "2024-05-01T08:00:00.000Z"],
              ["patientFirstName", "Tim"],
              ["patientLastName", "Cook"],
              ["patientBirthDate", "1938-05-01T00:00:00.000Z"],
              ["sex", "MALE"]
            ]));

The usage is created correctly, but the step file isn't. The step file should instead be something like this:
/// Usage: {"Steve Jobs"} has a visit planned
Future<void> hasAVisitPlanned(
  WidgetTester tester,
  String param1,
  bdd.DataTable dataTable
) async {}

Thanks for the issue! Fixed in 1.7.5.


APIM logger is creating a new named value everytime bicep is run

Bicep version
0.6.18
Describe the bug
When a logger is attached to APIM through application insights then a named value is getting created with instrumentation key in it. But this a new named value is getting created everytime the logger is attached through the same bicep script.
To Reproduce
resource service_fusedigitalsbx_name_service_fusedigitalsbx_name_logger 'Microsoft.ApiManagement/service/loggers@2021-08-01' = {
  parent: gateway
  name: '${gateway_prefix}-appinsights-logger'
  properties: {
    loggerType: 'applicationInsights'
    credentials: {
      instrumentationKey: appInsights.properties.InstrumentationKey
    }
    resourceId: appInsights.id
    isBuffered: true
  }
}

Above bicep script creates a namedvalue with application insights instrumentation key in it. But it keeps creating new namedvalue everytime the above script is run and after sometime there are 100s of namedvalues created with same instrumentation key.
Additional context
Add any other context about the problem here.

This is a known problem of the Resource Provider. The workaround is to put app insights instrumentation key in a named value and then use that named value name in double curly braces in place where you put the instrumentation key now.

@miqm can you provide example how it shall be done?


Explicitely include cstdio

When compiling a library that depends on this on MacOS Monterry with gcc and OpenMPI (both installed via homebrew) the build fails because of cstdio missing (see here).
Everything works well when building with clang instead. But I saw no harm in explicitly including cstdio.

Thank you for the fix Pablo!


Add support for nullable NSString columns

This is the first step toward addressing #628.
\c @tgoyne @jpsim

@bdash if you could give this a quick glance, that'd be great

My two main concerns are:

we need a mechanism through which to make a property optional or required in Objective-C.
what happens when a String? property is declared in Swift? (as opposed to NSString?)

You can't make a dynamic optional swift string
-Samuel E. Giddins
On May 11, 2015, at 10:10 PM, JP Simard<EMAIL_ADDRESS>wrote:
My two main concerns are:
we need a mechanism through which to make a property optional or required in Objective-C.
what happens when a String? property is declared in Swift? (as opposed to NSString?)
—
Reply to this email directly or view it on GitHub.

Ok, well at least it'll be caught at compile-time. That's fine. we still need a way to specify optional/required properties in Objective-C.

This should be ready for a review so we can release a beta, but right now it depends upon https://github.com/realm/realm-core/pull/855 to pass.

Looks fine for shipping a beta.

The only failure here is in an interprocess test exceeding its timeout... I think this is passing! 🎉

RLMBinaryDataForNSData[NSData data]) results in a null BinaryData because -bytes returns 0. Doing something like if (data && !data.length) return realm::BinaryData((__bridge void *)data, 0); in RLMBinaryDataForNSData is a simple solution, but it's kinda dumb.

This has now been rebased to use the C++ object store

(I'm waiting to move over the nullability features to the c++ object store until #2094 is merged)

This has been feature-flagged (and thus actual null support disabled), but should be mergable to master!

@tgoyne @jpsim @bdash I'd like to get this reviewed and merged into master, especially since the core upgrade/file format change is no longer coupled with this getting merged.

:+1:
Only CI failure is the pre-existing testNotificationsForChangesWhileSuspended one.

:+1:

🎉🎉🎂

wow nice ! :+1:


Polling for tasks using In memory

Can Worker  poll for task when server is running  In memory?? ( without running dyanmite ,redis and elastic search)

Yes, The worker code is just an HTTP client to poll the tasks. This is easiest way to test your code

@parmeshdayal @jvemugunta Please be aware, the in-memory implementation is only meant for testing and should't be used for production env.

Closing since already answered.


Workspace theme no longer used

Type: Bug
I use different themes for workspaces. If it matters, the workspaces are loaded over ssh. Until the release today, the themes loaded as expected. Now though, the themes are ignored. When I look in Settings->Workspace->Workbench: Color Theme, I see the correct theme selected, but it isn't used. Switching to another theme has no effect either.
 I have not turned this feature on, so I don't know if it is new or the feature started working this release, but in Settings->User->Window: Auto Detect Color Scheme was enabled, and disabling it allowed the workbench themes to activate.

I found the problem. I have not turned this feature on, so I don't know if it is new or the feature started working this release, but in Settings->User->Window: Auto Detect Color Scheme was enabled, and disabling it allowed the workbench themes to activate.


go_1_21: install from distpack archive

Description of changes
Changes the build and install phases to use archives produced by distpack. This allows us to drop the code that cleans GOROOT and moves cross-compiled binaries out of bin/GOOS_GOARCH, and potentially avoid issues like missing GOROOT/go.env in the future.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Please move the finalattrs changes to a separate PR. The rebuild count for 1.21 should be low so we can send both of these changes to master.

I've opened https://github.com/NixOS/nixpkgs/pull/254502 for finalAttrs. It should be zero rebuilds so I've applied it to all go versions, I've added you as co-author there.

I’ll mark this as ready once nixpkgs-review pr 254497 is done running on my aarch64-linux and x86_64-linux systems.

Result of nixpkgs-review pr 254497 run on aarch64-linux 1

14 packages built:

carapace
clash
diffoci
go_1_21
juicity
kubectl-klock
oneshot
reviewdog
sq
tailscale
terraform-providers.tailscale
trayscale
trufflehog
usql

Result of nixpkgs-review pr --skip-package trayscale 254497 run on x86_64-linux 1

14 packages built:

carapace
clash
clash-verge
diffoci
go_1_21
juicity
kubectl-klock
oneshot
reviewdog
sq
tailscale
terraform-providers.tailscale
trufflehog
usql

Trayscale takes almost an hour to build, yikes.

I've checked a couple of cross builds and it seems fine.
@nixos/golang I was going to start work on bumping the default go to 1.21 soon but I think I'll leave it another week or two so we can deal with any potential issues from this on master instead of staging.

Thanks!

Hm, this results in using the native (like arm64) golang binary instead of the system local one when cross-compiling in https://github.com/cri-o/cri-o/pull/7319 resulting in an exec binary error. Is there anything we can do in using the x86_64 golang when using
  crossSystem = {
    config = "aarch64-unknown-linux-gnu";
  };

Seems to be because we set GOOS/GOARCH to targetPlatform, and before this change there was preInstall phase that instead kept the binaries for hostPlatform when cross-compiling.
That worked because Go builds binaries for both local and cross system and we could choose which to keep. However, Go is a cross-compiler so targetPlatform only makes sense for setting CXX/CC_FOR_${GOOS}_${GOARCH} where GOOS/GOARCH are inferred from targetPlatform (see also https://golang.org/cl/76018).
I’m working on a fix for this, I’ll make a PR soon.

Thank you @tie!

I'll revert this in https://github.com/NixOS/nixpkgs/pull/254497 for now.


feat: Deep linking for the notification page

Description

[x] For dialog errors (eg. property field ), it will navigate back to the dialog and the error property field will be highlighted with red rectangle.
[x] For lu errors, it will navigate back to the dialog and luis editor will be in red rectangle
[x] For lg errors, it will navigate to the lg all up view in edit mode and focus on the error line

Task Item
refs #1582
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code refactor (non-breaking change which improve code quality, clean up, add tests, etc)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Doc update (document update)

Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have functionally tested my change

Screenshots

Hi, @cwhitten @compulim Thanks for your review. I have resolved some of these comments. And I will add dialog's error link in this PR.

update the UI
if bot has errors, the start button will disabled

Hi, @cwhitten @a-b-r-o-w-n @boydc2014, I have added some e2e test in this PR now. The lufile's diagnostic is a string list. I will update it in PR #1608.

hey @lei9444, when I have an error in the Condition for the Intent form that requires an expression, I don't see it show up as a line item in the Notifications page

hey @lei9444, when I have an error in the Condition for the Intent form that requires an expression, I don't see it show up as a line item in the Notifications page

Hi, @cwhitten only these types' expression are checked now:

I can add more tomorrow.

hey @lei9444, when I have an error in the Condition for the Intent form that requires an expression, I don't see it show up as a line item in the Notifications page

Hi, @cwhitten only these types' expression are checked now:

I can add more tomorrow.

we should plum the schema in to this logic now  and let us drive which validation rules we apply to a field.

hey @lei9444, when I have an error in the Condition for the Intent form that requires an expression, I don't see it show up as a line item in the Notifications page

Hi, @cwhitten only these types' expression are checked now:

I can add more tomorrow.

we should plumb the schema in to this logic now and let us drive which validation rules we apply to a field.

@cwhitten @a-b-r-o-w-n @boydc2014 I have added function to scan schema and all $role=expression will do expression check now

hey @lei9444,
Lets make the following adjustments to wrap this up:

the Notifications table should be paginated, 10 row items per page
the cursor:pointer style is currently only on text, it should be on the entire row item
A single click on the row item should navigate to the appropriate page. Currently it takes a double-click.
the dropdown selection should not be filterable by file, it should be filterable by type: All, Errors, Warnings
In the row item text, we should not show the Microsoft.TextInput label, but use the ConceptLabels map from shared
There are many "Warnings" associated with empty fields that are not required. These should not be warnings. On empty fields that are required, we should be rendering an Error. Generally, we should have very little to no "Warnings".
Item overflow is adjusting the table header layout slightly, if you have many items it will push the table component up. It should be fixed in place.

-[ ] the Notifications table should be paginated, 10 row items per page
-[ ] the cursor:pointer style is currently only on text, it should be on the entire row item
-[ ] A single click on the row item should navigate to the appropriate page. Currently it takes a double-click.
-[ ] the dropdown selection should not be filterable by file, it should be filterable by type: All, Errors, Warnings
-[ ] In the row item text, we should not show the Microsoft.TextInput label, but use the ConceptLabels map from shared
-[ ] There are many "Warnings" associated with empty fields that are not required. These should not be warnings. On empty fields that are required, we should be rendering an Error. Generally, we should have very little to no "Warnings".
-[ ] Item overflow is adjusting the table header layout slightly, if you have many items it will push the table component up. It should be fixed in place.

Pagination is added to notification list now

@lei9444 check out the following video: https://share.getcloudapp.com/Z4uwPKyg
I think we're still over-reporting empty fields as errors. The video shows me supplying incorrect expression syntax, but 4 errors being reported for it instead of 1. The 3 additional errors are the empty field errors that shouldn't be errors at all.

@lei9444 check out the following video: https://share.getcloudapp.com/Z4uwPKyg
I think we're still over-reporting empty fields as errors. The video shows me supplying incorrect expression syntax, but 4 errors being reported for it instead of 1. The 3 additional errors are the empty field errors that shouldn't be errors at all.

Hi, @cwhitten , It's a bug in checker function, I have fixed it now. I forget to clean the message and use the error message for all properties.


[FEATURE REQUEST] - Add option to filter out issues from collection / excluded repos

Description of feature request, idea
Many Hacktoberfest issues shown on the website were created in collection repos. Collection repos are repos where their only purpose is to get easy 4 PRs for Hacktoberfest by contributing random code snippets to the repo. These repos are excluded from Hacktoberfest. It's very annoying to scroll through these issues from collection repos because there are so many of them compared to issues from legit repos.
I would like to have an option to filter out as many issues from collection repos as possible. I think one solution is to filter out repos based on the repos' name so their issues won't be shown with the filter on. This would probably remove most of the issues from collection repos and keep issues to display from legit repos.
Here are some keywords that I think would be good for the filter:
dsa
algo
algorithm
data-structure
hacktoberfest
hacktober
hactoberfest
hactober
hackoberfest
hackober
hackoctoberfest
hackoctober
leetcode
hackerrank
codechef
codeforces

I know that there are some legit repos (like this one) that have Hacktoberfest included in their name so this is why it's an option.
Add (multiple) screenshot links (if applicable)
Here are some examples of issues that are from collection repos (notice the repos' name)

Add any other context about the feature request here
More information about excluded repos from the Hacktoberfest discord

Hi @huyszn
Yes, I'm planning it out. This is quite trickier.
I am thing of different path to get the ineligible repos from organizers and filter them out.


redshift RA3 nodes support cross-db references, but dbt prevents this in compilation

https://github.com/fishtown-analytics/dbt/blob/841b2115a42cc20658ec69ba129d515412993d10/core/dbt/adapters/base/relation.py#L440-L442
this is tricky because there is a long term fork in redshift behavior based on node type. RA3 nodes support cross db references (this is now GA) but gen2 node types do not. the redshift/postgres connector may need to be subclassed for ra3 node types with the db-ref-count omitted. It might be possible to distinguish between node types by issuing a version command.
If simplicity of implementation is preferred, an override could maybe be added to the project.yml spec (like, force-enable-cross-db=true or something as an option which defaults to false for the next release and automatic detection could be added in a future release?
I don't know the codebase well enough to assess what strategy would create the least tech debt.

Thanks for opening @mike-weinberg, and for the thoughtful writeup!

It might be possible to distinguish between node types by issuing a version command.

Yes, this feels like a major input: If you're talking to an RA3 node, how do you know? Does it tell you, by returning something specific in select version();? Would this information be more readily available if we switched to using the Redshift python driver instead of reusing the dbt-postgres logic (which connects via psycopg2)?
If that type of detection is possible, and it's something dbt can do once and store in the RedshiftConnectionManager or RedshiftAdapter object, there's some nice overlap with the best-case resolution for https://github.com/fishtown-analytics/dbt/issues/3168.
Otherwise, I'd be in favor of a ra3: true | false config in profiles.yml. I agree that this fork in Redshift behavior feels significant, long-term, and not limited to a one-time thing we'd much rather hack around and quickly forget.

@jtcohen6 I agree, ra3: true feels like a right-sized fix for the context. I don't love that it implies a behavior change rather than being an explicit switch, but i suppose this is likely not the last feature that will be ra3 only (I think the system tables are also forking).
I think there might be some value in adding a check at dbt startup to make sure that ra3=true ... is actually true, because customers can change node types, but that's not need-to-have functionality, it simply helps ensure that error handling follows the least-sad path

I think there might be some value in adding a check at dbt startup to make sure that ra3=true ... is actually true, because customers can change node types, but that's not need-to-have functionality, it simply helps ensure that error handling follows the least-sad path

@mike-weinberg Right on. Some folks from the Redshift team shared a system query that can verify the current node type. It looks about the way you'd expect.

following up here, this seems to be resolved in #3408 and should be included is v0.21.

 This will be released in v0.21.0-b1 for starters, and it will require flipping on a ra3: true parameter in the Redshift profile. I'm going to close this issue :)


implementing onClear callback for when the signature area is wiped

I've been using this for a while and thought it might be helpful.

closing as stale


Upgrade to brave 3.0.0-rc-1

fixes gh-33
/cc @dsyer @adriancole @kristofa

nice! :shipit:

That was fast! :+1:


[BUG] post.children doesn't work with custom post type

The "children" method of Timber/Post is not working with a custom post type.
Expected Behavior
Using the children method on a Timber/Post object should allow me to loop through that post's children.
Actual behavior
post.children contains an empty array on a hierarchical custom post type, but it works mostly like you'd expect on the page post type.
Steps to reproduce behavior
Add a custom post type with children, and add some pages with children.
$args = [
	"post_type" => "docs",
	"order" => "ASC",
	"orderby" => "menu_order",
	"post_parent" => 0,
	"posts_per_page" => -1,
];
$posts = Timber::get_posts($args);
$context["docs"] = $posts;

	{% for post in docs %}

		{{ post.title }}
		{% if post.children %}

			{% for child in post.children %}

{{ child.title }}

			{% endfor %}

		{% endif %}

	{% endfor %}

Using this code, I only get a single-level list of top-level posts. If I change "post_type" to "page", then I get children (mostly) as expected.
Notes
Related observation: Changing the query to point at page causes post.children to include the page's attachments in the media library. This can be worked around by including page as an argument for children(), but is this expected?
What version of Timber are you using?
2.0
What version of WordPress are you using?
Wordpres 6.3
What version of PHP are you using?
PHP 8.1
How did you install Timber?
Installed or updated Timber through Composer

Hi @cbirdsong ,
I just tested this locally with a custom post type and I got a list of the parent custom posts and its attached children. So not sure what is going wrong here.

Hope that helps

@cbirdsong , could you let us know if you were able to fix this issue?

I didn't fix it, I just worked around it. Digging in and trying to isolate the issue is on my list, but a lot of fires have come up in the last week.

Hi @cbirdsong ,
I am going to close this ticket until you have the time to provide us with some information so we can help you.
Just reply here and I will be glad to reopen the ticket for you.


Survey.add_rule() method is not correctly administering skip logic

Example:
from edsl.questions import QuestionMultipleChoice, QuestionNumerical, QuestionFreeText
from edsl import Survey

q1 = QuestionMultipleChoice(
   question_name = "best_pet",
   question_text = "What is the best kind of pet?",
   question_options = ["Dog", "Fish", "Lizard", "Parrot"]
)
q2 = QuestionNumerical(
   question_name = "ideal_fish",
   question_text = "What is the ideal number of fish to own?"
)
q3 = QuestionFreeText(
   question_name = "parrots",
   question_text = "What are parrots known for?"
)
survey = Survey([q1, q2, q3]).add_rule(q1, "best_pet == 'Dog'", q3)
results = survey.run()
results.select("best_pet", "ideal_fish", "parrots").print(format="rich")

Stop rule is correctly displayed in Survey object:

But the response to q3 is still "None" when it should have been administered based on the rule:

This is part of the code where the bug likely lives:
https://github.com/expectedparrot/edsl/blob/49a41cf08075fe0bf1bfd34082750553f89c66a2/edsl/jobs/interviews/InterviewTaskBuildingMixin.py#L187


Official Documents Finder

This PR allows finder front end to render an Official Documents Finder.
It displays a pre-filtered list of documents that return true for has_official_document eg https://www-origin.staging.publishing.service.gov.uk/api/search.json?filter_has_official_document=true
and provides users with the option of filtering on command papers, or act paper only.
ref: Trello card

Search page examples to sanity check:

http://finder-frontend-pr-[THIS PR NUMBER].herokuapp.com/search/all
http://finder-frontend-pr-[THIS PR NUMBER].herokuapp.com/search/research-and-statistics
http://finder-frontend-pr-[THIS PR NUMBER].herokuapp.com/search/advanced?group=guidance_and_regulation&topic=%2Feducation
http://finder-frontend-pr-[THIS PR NUMBER].herokuapp.com/drug-device-alerts
http://finder-frontend-pr-[THIS PR NUMBER].herokuapp.com/find-eu-exit-guidance-business

Other finders

@bilbof thanks bill. My thought was that the duplication was fine until a third custom facet and filter is required and then I should refactor. But am happy to do so now.

I'd remove the duplicated code now, while we're very familiar with it. Future us might forget how this stuff works.
If we can extract the duplicated stuff into additional classes that will make future changes easier.
For example, since the only difference between OfficialDocumentsFacet and ResearchAndStatisticsFacet is the filter_hashes, you could have a method called filter_hashes in both of these classes, and have them inherit from RadioFacetWithRequiredValue (or something like that), a new class that uses those. If you can think of a way to do this with composition rather than inheritance that would be even better.
I would also see - this might be out of scope for this PR - if filter_hashes could give an array of classes rather than hashes. This would make the code less dependent on mutable filter_hashes, and instead on a collection of immutable (e.g.) Filter classes.

@hannako there are some linting failures on the build :-(


fix(dashboard): cluster dashboard latest_fail_time should be at midnight

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

If you could update this with latest main we'll get this merged


AssertionError: assert _is_global_function(fn_primal)

Context: packaging bayeux-ml on nixpkgs.
While running the test suite for optimistix (v0.0.7), most (347) tests fail with:
>       assert _is_global_function(fn_primal)
E       AssertionError
E       --------------------
E       For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.

Could it be caused by the jax version used (0.4.28) ?
Thanks in advance for your help.

Ah, this was a jaxtyping-optimistix version mismatch. It was fixed in https://github.com/patrick-kidger/optimistix/commit/fb63b4cd03648cdafda3e87fecb5c11be3d10b0e, I just haven't done a new Optimistix release since then.
Would it be useful to you to have a release? I'm planning on doing one soon anyway to fix some JAX deprecation warnings.

Ok thanks for the quick answer !
It is not urgent, if it's a matter of <20 days it should be fine. Otherwise I will always be able to fetch the patch.

Hi !
Do you have a better idea of when the next release could happen ?

Thank you very much :)


Implemented Jitsi using Helm charts but unable to autoscale Jitsi components.Kindly provide any documentation for Autoscaling?

Hello @sunkmou!
Unfortunately, this chart doesn't feature any autoscaling templates as of now.
You'll have to implement Pod autoscaling yourself, but keep in mind that some components (e.g. Prosody and JVB) cannot be easily autoscaled, as they either are stateful or require different configs for different instances.
PRs are always welcome. :)


[DateTimePicker] Cancel and ok button don't work

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Current behavior 😯
At the moment everytime you choose something in the picker it changed directly the date in the input.
Expected behavior 🤔
If cancel- and okay-button appear, it should just change the date by click on the okay-button and discard changes by click on the cancel-button.
Steps to reproduce 🕹
Steps:

Open MobileDateTimePicker
Click on some date fields in the open picker
Check the value of the input
Click cancel
Original date is not restored

Context 🔦
No response
Your environment 🌎

`npx @mui/envinfo`
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

I would like to work on this. I'm trying to figure where the DateTimePicker component is located?

Any news regarding this issue? Seems to still be an issue in the latest version at the time of writing (5.0.0-alpha.73).


cmd/cgo: define exported Go func as function

In order to resolve symbols correctly during C compilation with CGO
the compiler emits a _cgo_main.c file which holds definitions for
symbols. The problem is that the definitions in the _cgo_main.c do not
match up with what's declared in _cgo_export.c which causes compilation
to fail if using CGO_CFLAGS="-flto -ffat-lto-objects" due to an
incompatibility with link time optimization in GCC.
This patch makes it so that the symbol emitted in _cgo_main.c lines up
with the type declared in _cgo_export.c. This should be safe to do as
the actual exported C symbol ends up as an argument to crosscall2 which
defines the function signature for these exported symbols. The function
sig will be consistent in that way since CGO generates wrappers and
structs to handle argument / return value passing.
Fixes #43830

I've added a test case for the first issue and included a second, related fix with a test case as well. Not seeing them in gerrit right now but I'm not sure how quick the sync works.


Move Snyk Scripts from k/test-infra to k/sig-security/sig-security-tooling

As we learnt from https://github.com/kubernetes/test-infra/pull/26896#discussion_r932628360 it is possible for prow to pick up shell scripts outside of k/test-infra.
Moving the script that is present here: https://github.com/kubernetes/test-infra/blob/master/config/jobs/kubernetes/sig-k8s-infra/trusted/sig-security-trusted.yaml#L29-L87 into a dedicated shell script with name build-deps-and-release-images.sh under k/sig-security/sig-security-tooling/scanning would be great for faster iteration and approvals and reviews can be managed within SIG Security members.
/sig security
/good-first-issue
/help

/hold for https://github.com/kubernetes/test-infra/pull/27309

Hi @PushkarJ is this issue open for contribution?

Yes the PR blocking it is merged. So you can work on this if you'd like

/assign

/remove-lifecycle stale

/assign


Uncaught Error: spawn E2BIG

The autocomplete throw ~a lot of~ exceptions After the setup of erlangHomeconfig.
Atom Version: 1.0.19
System: Mac OS X 10.10.2
Thrown From: autocomplete-elixir package, v1.4.2
Stack Trace
Uncaught Error: spawn E2BIG
At /Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:260

Error: spawn E2BIG
    at exports._errnoException (util.js:814:11)
    at ChildProcess.spawn (internal/child_process.js:298:11)
    at Object.exports.spawn (child_process.js:343:9)
    at BufferedProcess.module.exports.BufferedProcess.spawn (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:188:44)
    at new BufferedProcess (/Applications/Atom.app/Contents/Resources/app.asar/src/buffered-process.js:52:14)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:43:12)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)

Commands
     -0:22.5.0 settings-view:open (atom-text-editor.editor.vim-mode.insert-mode.is-focused)

Config
{
  "core": {
    "disabledPackages": [
      "todo-show",
      "Termrk",
      "elixir-cmd",
      "archive-view",
      "language-c",
      "language-clojure",
      "language-coffee-script",
      "language-csharp",
      "language-mustache",
      "language-objective-c",
      "language-perl",
      "language-ruby-on-rails"
    ],
    "themes": [
      "one-dark-ui",
      "solarized-dark-syntax"
    ],
    "excludeVcsIgnoredPaths": false
  },
  "autocomplete-elixir": {
    "elixirPath": "/usr/local/bin/elixir",
    "erlangHome": "/usr/local/bin/erl"
  }
}

Installed Packages
# User
autocomplete-elixir, v1.4.2
language-elixir, v0.5.2
linter, v1.9.1
linter-php, v1.0.5
linter-phpcs, v1.2.2
linter-phpmd, v1.3.2
minimap, v4.15.0
php-cs-fixer, v2.5.1
project-manager, v2.6.5
vim-mode, v0.62.0
wakatime, v5.0.0

# Dev
No dev packages

The first exception was this:
Thrown From: autocomplete-elixir package, v1.4.2
Stack Trace
Uncaught RangeError: Maximum call stack size exceeded
At /Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:26

RangeError: Maximum call stack size exceeded
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:26:9)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)
    at Object.exports.init (/Users/leandro/.atom/packages/autocomplete-elixir/lib/alchemide/wrapper.coffee:47:34)

I found the solution of this issue here.


Update Awake Security information

Source: me. I interned there in the summer of 2018.

Thanks for the update!


Feature : Create A Settings For Background Noise.

Feature Overview
Add the background noise as  a configurable setting in the settings pane similar to toggle of play sound.

@kzhovn do you have any guide that I can follow so that I can compile the source code and test it with my running instance ? Perhaps you can sen me a link or something.
Thanks.

I've added the setting on my end, haven't pushed it yet because I'm making some changes to the code to work better with the current structure.
https://github.com/obsidianmd/obsidian-sample-plugin might be helpful to you; the tldr is that you clone the project into the .obsidian/plugins folder, run npm i and then npm run dev, and reload Obsidian. At that point the project should show up as just another plugin.

Great, Thanks!


KeyVault secret jar failing due to 2.4.3 Jackson jar - java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer

key vault jar uses 2.10.0 jackson dependency, but we need to use Jackson 2.4.3 dependency.  The application is failing due to cross dependency issue. We can't upgrade the version due to big infrastructure changes.
Exception or Stack Trace
Please find attached Error_Test.txt
To Reproduce

Use below dependencies in project

com.azure
azure-security-keyvault-secrets
4.0.1

com.azure
azure-identity
1.0.1

com.fasterxml.jackson.core
jackson-annotations
2.4.3

com.fasterxml.jackson.core
jackson-core
2.4.3

com.fasterxml.jackson.core
jackson-databind
2.4.3

Get Secret - you will start getting error java.lang.IllegalAccessError: tried to access method com.fasterxml.jackson.databind.ser.std.StdSerializer

Code Snippet
`ClientSecretCredential clientSecretCredential = new ClientSecretCredentialBuilder()
.clientId(CLIENT_ID)
.clientSecret(CLIENT_SECRET)
.tenantId(TENANT_ID)
.build();
SecretClient secretClient = new SecretClientBuilder()
.vaultUrl(KEY_VAULT_URL)
.credential(clientSecretCredential)
.buildClient();
	 KeyVaultSecret keyVaultSecret = secretClient.getSecret("test");
	 System.out.println("** keyVaultSecret value **" + keyVaultSecret.getValue());`

Expected behavior
Application should run and provide secret value.
Setup (please complete the following information):

OS: Windons 10
IDE : Anypoint Studio
Version of the Library used - 4.0.1
Error_Test.txt

@g2vinay PTAL

Looping in @anuchandy.

@abhikt48, unfortunately thedependency conflict is a problem with very limited options to solve it. One option is pin to a specific version in the application, in your case you cannot override Jackson version to 2.10.0 in your application. The only other option I'm aware of is - Shade azure-security-keyvault-secrets and it dependencies with Jackson 2.10.0 dependencies Relocated.
If you download the following app and run man package, it should produce a file with name keyvaultshadedlib-1.0-SNAPSHOT-shaded.jar in target dir
simple-app.zip
then your app should be able to take dependency on this produced jar. Its not clean but something we can try.

@anuchandy  - Thanks a lot for providing backup option. I tried with suggested option, but it is not working as expected with Mule application. It is working fine only with maven based application but not with mule-maven.
There could be two reasons -

Some mule defined libraries/classes loaded before application lib/classes. So old jackson classes are already in memory before starting any application.
com.azure.core.util.serializer.JacksonAdapter class is part of both libraries "azure-core-1.0.1" and "azure-security-keyvault-secrets-4.0.1". Which is getting trigger by IdentityClient class.
Some classes are available in different libraries that could be a reason for not working with shaded library.

I replaced below 3 jars at Mule server for testing and it is working fine as expected. In real scenario - we can't replace in production. So we can't use it.

jackson-annotations-2.4.0 replaced with jackson-annotations-2.10.0
jackson-core-2.4.3 replaced with jackson-core-2.10.0
3 jackson-databind-2.4.3 replaced with jackson-databind-2.10.0

Please find attached ErrorTrace_AKV.txt.
Is it possible for you guyz to provide timeline to fix this issue, so we can plan accordingly. ?
ErrorTrace_AKV.txt

@abhikt48 thanks for trying it out and sharing your insight!.
The sample app I shared shade only azure-security-keyvault-secrets + it's dependencies (including  azure-core) and relocate Jackson 2.10.0 references from classes in the shaded jar. I guess in your app - along with keyvaultshadedlib-1.0-SNAPSHOT-shaded.jar,  there is an explicit reference to "com.azure:azure-identity:1.0.1" which result in pulling "azure-core" (and dependencies including Jackson 2.10.0), now the Jackson conflict is back via "azure-core" in class path. This is what I understood from the 2nd point you mentioned.
I think we should include "com.azure:azure-identity:1.0.1"  as well in the shaded-jar and make sure your app is not explicitly referring any other azure libs that has transitive dependency on Jackson 2.10.0.

@anuchandy  - Thanks for information. Yes it is working fine after including "azure-identity" in shaded library. Temperory this issue gone. However i will look forward for permanent fixes.
Please let us know once fixes are available.

@abhikt48 thanks for trying out and happy to know you were able to deploy the app.
This dependency issue is a common problem in hosted environments (Azure Data Bricks/Functions, Google Cloud Apache Spark, Mule etc..) due to env injecting conflicting libs in the class path. Shading is the only option here. Below given some of the official references on Shading from Cloud providers:

https://github.com/Azure/azure-sdk-for-java/wiki/Frequently-Asked-Questions#application-dependencies-adb
https://cloud.google.com/blog/products/data-analytics/managing-java-dependencies-apache-spark-applications-cloud-dataproc


Minnesota 2023 81kwage joint 1 dep

At
http://taxsim.nber.org/out2psl/test15
is the Minnesota 2023 joint return with a different standard deduction (27650 v 13825) taxable income (67175 v 48550) and tax (2664 v  4131) than the emulator for 81K wages, one dep. Also, 4800 exemption amount is zero in the emulator.

closed with PR #88


Added a test suite for the Morpho wstETH/USDC market

Description
This PR adds a test suite for the Morpho wstETH/USDC market to ensure that precision issues don't result in problems. This is necessary since USDC only has 6 decimals and Morpho has an abnormally low share price of ~1e12.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>4
Details

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

Totals

Change from base Build<PHONE_NUMBER>6:
0.05%

Covered Lines:
2244

Relevant Lines:
2473

💛  - Coveralls


Added jira_server to pipeline

Fixes a bug where jira_server was only added to pipeline when existing tickets were bumped

lgtm :+1:


Improvements to be made

Hi there!
I checked out your repository and it looks great, but I figured there's some improvements to be made. Why not use node-fetch? Or the newly available fetch feature in Node v18 that doesn't require any extra dependencies? The downside to that would be to force Node v18 in your package.json, but it's great. Also, requiring package.json in every request doesn't seem efficient and there might be a better solution to that. It may as well be nice to look into ES6!
Other than that this repository surely improved my knowledge over creating a Promise based API and I deeply thank you for your work😅

I'm using axios for a long time now and it's working perfectly fine so I'll not switch to node-fetch. Also I don't want to limit the lib to Node 18 as it's kinda new.
I made a constant for the package.json since I think it's not efficient to require it at each request too.
Finally I prefer using CommonJS format but the lib can be imported in ES6.
In any case, thanks for this issue I appreciate it.


iio: support IIO hrtimer based trigger

For hrtimer trigger, configure trigger name to 'hrtimer:'
It will create '/sys/kernel/config/iio/triggers/hrtimer/'
directory if not exist, and write  into
'/iio:deviceX/trigger/current_trigger'.
Make sure IIO hrtimer base trigger is enabled in kernel, and
'/sys/kernel/config/' is mounted.
Signed-off-by: Lay, Kuan Loon<EMAIL_ADDRESS>Signed-off-by: Yong Li<EMAIL_ADDRESS>

@edersondisouza @cabelitos @fulong82 @laykuanloon please help to review/test


Expose team sync status through the GraphQL API

Currently there is no way for a user to get any information about the synchronisation status of the team (as in whether or not the reconcilers have successfully synched the team to the configured third party systems).

Fixed in 2dd096e5fc1f5e65b2a0fd5cb48ab0cd142dc297


feat: remove EC2 instances tags before termination

PR for #138.

Looks like I need to fix my commit message to conform to Conventional Commits to pass checks. I'll open a new PR.


[CWS] fix error log when reading profile was not possible

What does this PR do?
This PR fixes the issue where "failed to open" and "fail to read" had the same message.

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge


Build and deploy the documentation via GitHub actions

This enables our documentation to always be up-to-date with the tip of master, which most likely means the latest release.
I pulled over some general information from the README into the documentation's front matter. The existing autodoc of the API has been moved into an API section.
Later adjustments can be made to make the built results multi-versioned. These changes primarily focuses on getting the documentation built and published with minor additions for for proof-of-concept.

Note, publishing this gh-pages under a non-github domain is all done in repository settings.

Will reopen a new PR

Reopened as #155


Swift | 191. Number of 1 Bits

File(s) Modified: [191-Number-of-1-Bits]
Language(s) Used: [swift]
Submission URL: [https://leetcode.com/submissions/detail/707303356/]

Thanks, @diss1993!


Upgrade container from Trusty to Xenial

This PR upgrades the base image used in this repo's Dockerfile from
a Trusty base to a Xenial base.
I had to install lsb-release manually for the tests to pass. I also replaced trusty with xenial in some test cases (not sure if that was actually necessary).
r? @dougbarth-stripe

r? @arpith-stripe


请问你训练SVD用的什么数据集呢？

We used a small hand-crafted dataset to verify correctness of implementation. It's not suitable for large-scale training.


licensing GPL-2.0-only vs GPL-2.0-or-later

You have the license for the plugin as gpl-2.0-only.
I believe that qemu-plugin.h is gpl-2.0-or-later.
Is there a reason you've gone for 2.0-only, or would the or-later variant be acceptable?

I think -or-later is fine, I'll fix this in v4 (since you're the only other contributor and it seems like you agree 😋)

This will be closed by #21, thanks for the note.

Yes, I agree :)
I'm excited about reading virtual memory too! thanks for sorting that out!


Fix Logo Placement

The logo isn't fixed in the navbar and should be reactive and should adjust with the size of the page or screen

HI, can you assign it to me so i can start working on this
Thanks!

Sure, please go ahead


use callbacks.Begin as a hook to handle begin operation

make transaction support hooks

[x] Do only one thing
[x] Non breaking API changes
[x] Tested

What did this pull request do?
Use callbacks.Begin as hook to handle real transaction operation, make transaction support before/after hooks.
User Case Description

Database sharding: shard database by info in context
Implement distributed transaction

notes to myself:
The Transaction hooks API will be behaves like:
tx := db.Scopes(OnTransaction{
       OnCommit: func(tx *gorm.TransactionInterface) {
               // xxx
               tx.Commit()
               // xxx
       },
       OnRollback: func(tx *gorm.TransactionInterface) {
               // xxx
               tx.Rollback()
               // xxx
       },
       OnBegin: func(db *gorm.DBInterface) {
               // xxx
               tx.Begin()
               // xxx
       },
}).Begin()

tx.Commit()

I think I just saw a unicorn in this PR.


A SUPER EASY FIX

SURELY NOTHING COULD GO WRONG HERE

Luau syntax fail;
pull request name invalid;
pull request denied.


Bug report: Possibly incorrect Year on latest Changelog entries

Describe the bug
The latest two version tags in the changelog cite 2020 instead of 2021
To Reproduce

Review the changelog
Profit

Expected behaviour
2021 on the latest two changelog entries
Screenshots
NA
Desktop (if relevant, please complete the following information):
NA
Additional context
NA

Good spot! Thanks for raising this.


How to check if worksheet is empty

As the title reads, how does one check if a worksheet is empty?
I am aware of IsWorkbookEmpty but I am interested in a given sheet, such as the CurrentWorksheet.
Thank you, guys.

You may use MaxContentRow and MaxContentCol. Zero means no content on the worksheet. But notice that this doesn't work if content removed from a worksheet.

Much appreciated.
And a heartfelt thank you to all those involved in the development and support of ReoGrid.
Amazing work.


Fix build for tests non-x86_64

Test for update_cdf_4_sse2 fails since the method under test cannot be found.

Coverage remained the same at 81.708% when pulling f244ba408d04dc4728c18aefbb500d5af4004995 on barrbrain:test-non-x86_64 into e484c7ee2b0321dcc4835425d8dceab50345f737 on xiph:master.


Misc issues 2

[ ] 1. With Sample 2, some errors that have been fixed do not have an explanation (see 17 & 18 below)

[x] 2. Again with Sample 2, when you resolve errors, even though four of them (1, 2, 17, and 18) are left, the error count is 1 in the title.

[x] 3. Fix explanation messages should be grammatically correct (Fixed by moving glyph18 inside glyph0):

[x] 4. When input and output EPNs (e.g. macromolecules) of a process are moved inside a compartment, and the associated process stays outside, we have poor layouts. Hence, let's have a post-processing phase in resolving errors, where we check to see if any EPN was moved inside a compartment, and if so check whether the associated process is outside any compartments. If so, also check if all inputs and outputs of the process are in the same compartment. In such cases, we should move the process to the same compartment as well. This should be done after all fixes are applied for efficiency reasons and before layout.

[x] 5. When an error is resolved, the corresponding item's borders in the error list should no longer be color-coded but be gray.

[ ] 6. When the given file is valid, we should 1) display "(none)" instead of "(0)", 2) get rid of the gray box aligned with "Map is valid!" message, 3) apply orphan (no compartment) logic for processes even when the map is valid before layout.

[ ] 7. The popup image (when you click on the image on the right) is not relocatable. Often times, users will want to move it to the right and see the error list on the left while looking at this image.

Looks good. Let's not repeat the name of the glyph/arch in the explanation though since it's already provided as the role.

"Fix of another error triggered fix of this error." -> "Fix of another error resolved this error."
get rid of the gray box aligned with "Map is valid!" message

@YusufZiyaOzgul Lets place the Auto checkbox to the right of Width and Height options as in the Transparent checkbox. In addition, dont forget to add this option to the control of "Reset to default" button.

Some remaining minor issues:

Reset to default ignore the "Auto" checkbox in resolution
Handle in popped up image should have an orange background and the close icon should have the same color as the other icons (dark gray)
Text on the handle in popped up image should have some padding around it

I think we need to use four-headed arrow while only mouse cursor is on the top bar of the draggable image window. Because we allow user to drag the window only from top bar, and it doesn't make sense to show it while the cursor is over the image.

Another minor problem here is an incorrect tooltip for the Close (X) button:

@YusufZiyaOzgul what's the status of this issue? If done you should unassign yourself.

I think we need to use four-headed arrow while only mouse cursor is on the top bar of the draggable image window. Because we allow user to drag the window only from top bar, and it doesn't make sense to show it while the cursor is over the image. As an alternative, we should allow user to drag the window while the cursor is over the popup window.

My suggestion is to have the plus icon on the top bar where dragging is possible (current behavior) and have the pointing hand icon on the draggable image window and the close icon. When the user clicks on the draggable image window as well as the close icon, we could dock the window back to the original place.

I think we need to use four-headed arrow while only mouse cursor is on the top bar of the draggable image window. Because we allow user to drag the window only from top bar, and it doesn't make sense to show it while the cursor is over the image. As an alternative, we should allow user to drag the window while the cursor is over the popup window.

four headed arrow is only available in top bar of draggable image window, in image area there is a pointing hand icon.


Function call type checking for operations

Description
When calling operations, the argument types are of course checked against the declared type. But which actually is the declared type if there are multiple definition of an operation given by the following?
interface Eff[A] {
  def op(x: A): A
}

Consider this object:
def impl: Eff[Int] = new Eff[Int] {
  def op(x: Int) = x / 1
}

When calling impl.op("hello"), the function type for the symbol of op is looked up. However, the function type is annotated as [A](x: A): A once. Thus, when checking the function call, the call is only ever checked with respect to the original declared type and not all potentially existing types of concrete implementations.
One solution could be to annotate each concrete type during typechecking the implementation of Eff, but since we only have exactly one symbol for all possible implementations of op, updating the type of op overwrites the previous annotation.
Note that this is not an issue exclusive to objects, but to also for handlers.
try { eff.op("hello") }
with Eff[Int] { def op(x) = resume(x / 1) }

Both of these examples compile and yield NaN.
Idea
We need to have unique symbols for each operation implementation and then annotate the specific type for each implementation to this unique symbol.
Relevant

https://github.com/effekt-lang/effekt/blob/5dffce2c7f61b03c5038ddfe9d3c1f0fc0ae2ae1/effekt/shared/src/main/scala/effekt/Typer.scala#L364
We need to bind this type to the operation here: Context.bind(op.symbol.asOperation, <>). This overwrites previous annotations, though.

https://github.com/effekt-lang/effekt/blob/5dffce2c7f61b03c5038ddfe9d3c1f0fc0ae2ae1/effekt/shared/src/main/scala/effekt/Typer.scala#L176-L177

https://github.com/effekt-lang/effekt/blob/5dffce2c7f61b03c5038ddfe9d3c1f0fc0ae2ae1/effekt/shared/src/main/scala/effekt/Typer.scala#L910-L912

Fun, you can even chain it! :)
interface Eff[A] {
    def op(x: A): A
}

def eff1: Eff[Int] = new Eff[Int] {
    def op(x) = x + 42
}

def eff2: Eff[String] = new Eff[String] {
    def op(x) = eff1.op(x) ++ "!!!"    // => Should be an error, `x : String`, but `eff1.op` expects its argument to be `Int`
}

record Person(name: String)
def main() = {
    val jolene = Person("Jolene")
    println(eff2.op(jolene)) // => "[object Object]42!!!"
}

This also, of course, breaks (my) reasoning about effects. 😭
interface Exc { def raise(msg: String): Nothing }

interface Eff[A] {
    def op(x: A): A / Exc
}

def eff: Eff[Int] = new Eff[Int] {
    def op(x) =
        try { do raise("ohno") }
        with Exc { def raise(msg) = println("error: " ++ msg) match {} }
}

record Person(name: String, hairColour: String)
def main() = {
    val jolene = Person("Jolene", "red")
    println(eff.op(jolene))
}

produces a compiler error with:
[error] test.effekt:1:1: Main cannot have user defined effects, but includes effects: { Exc }
interface Exc { def raise(msg: String): Nothing }
^

Tangentially related:
In the following example, if I right-click on eff.op and click on [Go to definition],
the cursor jumps to the declaration site in the interface.
This brings up the question: what is the definition of eff.op? (Here's the obvious analogy to object-oriented languages: where do we jump there?)
I'd expect it to be the "closest" definition in the scope graph (especially if we can only go to a "single" definition...)
interface Eff[A] {
    def op(x: A): A              // <- currently it jumps here
}

def eff: Eff[Int] = new Eff[Int] {
    def op(x) = x / 1            // <- but this is the "closer" definition
}

def main() = {
    println(eff.op("Hello"))  //   /|\
    //          ^^                  |
    //     [Go to definition] ------/
}

Getting back to the original question, actually the type of op should not be [A](x: A): A but (x: Int): Int, obviously. It becomes even more tricky if both the type and the operation have a type parameter.
interface Eff[A] {
  def op[B](x: B): A
}
def eff: Eff[Int] = new Eff[Int] {
    def op[C](x) = x / 1
}

then at the callsite eff.op("Hello") the type of op should be [B](x: B): Int where B will be inferred to be String.

We should definitely revisit the design decision to add type parameters like A in your example as parameter to the operation
https://github.com/effekt-lang/effekt/blob/5dffce2c7f61b03c5038ddfe9d3c1f0fc0ae2ae1/effekt/shared/src/main/scala/effekt/Namer.scala#L310
This was a trick in the beginning to treat every function-like thing uniformly, but seems ad-hoc now.


This asks for a lot of permissions in my Github account. Why so?

Hi @djowett, it's quite possible that I could do something about the scope to make the permissions more reasonable. I'm not certain though. If you'd like to look into it, check out this file which has all the places where we interface with the GitHub API.

Same question here -- I'd be very interested to try this out, but I can't allow this tool to see my Private repos

Thanks for your interest in the project! Unfortunately I'm not really working on it much anymore. But I'm happy to discuss solutions and I invite you to makeapullrequest.com. Thank you for understanding.


/assets?asset_issuer=[issuer_pubkey]&asset_code=[code] doesn't show an asset if the holders are unauthorized

What version are you using?
Horizon v0.24.1
What did you do?
I setup an account that issues assets and set the flag Auth Required. I add a trustline from a holder account to the issuer account for an asset and then check the endpoint to view the asset information
What did you expect to see?
A record for the asset in the response that shows the num_accounts: 1
What did you see instead?
The record array is empty.
The trustline is unauthorized but it still appears as a balance on the /accounts/{holder} and it also appears on the /accounts?asset={asset_code}:{issuer} endpoints. For consistency shouldn't it also appear here?

A small extra note on this - if the asset is auth_required: false the endpoint works as expected for the first trustline (presumably because the account that applies for the trustline has is_authorized set to true)

Also another experiment result I just tried:

Add trustline for asset_code USD to issuing account with auth_required to false
Set flag for auth_required to true on issuing account
Add trustline for asset_code KHR to issuing account (now with auth_required set to true)
Check endpoint and find an empty array structure: assets?asset_issuer=issuing account&asset_code=KHR

I'm using Horizon v1.0.1 now


fix: adjust IAM token expiration time

This commit changes the IAM, Container and VPC Instance authenticators slightly so that an IAM access token will be viewed as "expired" when the current time is within 10 seconds of the official expiration time. IOW, we'll expire the access token 10 secs earlier than the IAM server-computed expiration time.
We're doing this to avoid a scenario where
an IBM Cloud service receives a request along
with an "almost expired" access token and then uses that token to perform downstream requests in a
somewhat longer-running transaction and then the
access token expires while that transaction is
still active.

Checklist

[x] npm test passes (tip: npm run lint-fix can correct most style issues)
[x] tests are included
[ ] documentation is changed or added

:tada: This PR is included in version 4.2.4 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


In iPhone 4 the title is above left and right buttons

In the simulator all appears fine but when I run it in an actual iPhone 4 the title is not aligned with the left or right buttons, it appears above.

Well, AFAIK, iPhone 4 doesn't have a retina display, so that's why you have twice big bottom offset.
Unfortunately, iPhone 4 has been discontinued by Apple, so I don't see any reason to fix anything to make it work.
But as a workaround, you can pass a custom title component and specify a padding that will work for you.


Embedded images

Codecov Report

Merging #39 (4554a1f) into master (fd174bd) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           master     #39      +/-   ##
=========================================
- Coverage    3.81%   3.69%   -0.13%
=========================================
  Files         148     149       +1
  Lines        3067    3114      +47
  Branches      966     981      +15
=========================================
- Hits          117     115       -2
- Misses       2947    2995      +48
- Partials        3       4       +1

Impacted Files
Coverage Δ

src/aws/actions/articles.ts
16.88% <0.00%> (-8.12%)
:arrow_down:

src/components/ArticleImage.tsx
0.00% <0.00%> (ø)

src/components/HTML.tsx
0.00% <0.00%> (ø)

src/components/ImageFigure.tsx
0.00% <0.00%> (ø)

src/components/ImageSlider.tsx
0.00% <ø> (ø)

src/components/index.ts
0.00% <ø> (ø)

src/pages/article/[year]/[month]/[slug].page.tsx
0.00% <0.00%> (ø)

src/pages/article/preview/[id].page.tsx
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Align ANR and Crash reporting

Task/Issue URL: https://app.asana.com/0/1202552961248957/1204410260530429/f
Description
See asana for more info
Steps to test this PR
Run same tests that in PR #3052

Current dependencies on/for this PR:

develop

PR #3121   👈

This comment was auto-generated by Graphite.


Remove deprecated DSA host key from Docker Container

Since OpenSSH 7.0 and greater similarly disable the ssh-dss (DSA) public key algorithm, and recommend against its use. http://www.openssh.com/legacy.html
:warning: BREAKING :warning:
This patch will remove  DSA host key form OpenSSH daemon configuration file.

It's disabled by default in OpenSSH 7.0 clients, but can still be turned back on.

make L-G-T-M work


PHP 7.3.4

I know that PHP 7.3.3 was pushed in March and PHP 7.3.6 will be pushed in August. I noticed that my apps are showing PHP 7.3.4.
When was PHP 7.3.4 pushed?

@sweigand is this supposed to be posted somewhere else? I am going to close this issue as its topic doesn't seem to belong to this repo.


[release-react] Change default sourcemap output

[release-react] Change default sourcemap output to outputDir instead of updateContentsPath, preventing the sourcemaps to be uploaded to Appcenter.
Fixes #1451.
Please tell me if you have any remarks or suggestions about this PR.

@hduprat Thanks a lot for the contribution. We will test the change and merge if it works as expected.

@hduprat I've checked your PR. This will end up creating a source map in a wrong location, and thus it will not be included in the codepush release.
I think we should avoid creating source map at all if we don't need it.
Currently we create a source map if source-dir was provided, which might be incorrect actually. However I'm worried about breaking existing behaviour. If we change it, it may break many set-ups which rely on source map being uploaded within the codepush release.
On the other hand we are not creating source map if we don't specify output-dir param, which looks inconsistent.
Also, according to the parameter description Path to where the sourcemap for the resulting bundle should be written. If omitted, a sourcemap will not be generated, we should not create a source map if it was not provided.
So, let's remove outputDir from the if condition and prevent creating a source map if sourcemap-output and sourcemap-output-dir were not specified.

Hi @hduprat! Just a friendly ping.

Hi @DmitriyKirakosyan ,

Currently we create a source map if source-dir was provided, which might be incorrect actually. However I'm worried about breaking existing behaviour. If we change it, it may break many set-ups which rely on source map being uploaded within the codepush release.

Do you know if setups like this actually exist? The issue #1451 is precisely that sourcemaps are uploaded with the release, and thus downloaded on the apps (and it takes ~70% of bundle size). I can't think of a valid use of sourcemaps inside an app so if you have some examples in mind, it would help me a lot. Let's discuss this in the issue itself!

So, let's remove outputDir from the if condition and prevent creating a source map if sourcemap-output and sourcemap-output-dir were not specified.

Ok, that means the command itself has a bug (generating sourcemaps if outputDir is specified, even if sourcemap-output and sourcemap-output-dir are omitted. I will focus on fixing this bug for now.

/azp run


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative-sandbox/kn-plugin-operator-approvers
/assign knative-sandbox/kn-plugin-operator-approvers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping k8s.io/client-go 14fa49e...11f68c5:
  > 11f68c5 Update dependencies to v0.23.9 tag
bumping k8s.io/api e08b72c...f89a761:
  > f89a761 Update dependencies to v0.23.9 tag
bumping knative.dev/hack 782bbaa...9dabf7c:
  > 9dabf7c Update community files (# 206)
bumping k8s.io/klog/v2 43cc75f...0990e81:
  > 0990e81 Merge pull request # 342 from pohly/harshanarayana-reviewer
  > 33351c0 Merge pull request # 341 from pohly/contextual-logging-state-fix
  > 442891b OWNERS: add harshanarayana
  > ea66a13 Merge pull request # 337 from pohly/testing-logger-stop
  > c2d5a45 contextual logging: enable by default again
  > 7a070b4 Merge pull request # 333 from harshanarayana/tests/GIT-275-add-additional-test-for-kv
  > 9405f8e ktesting: stop using testing.T when test completes
  > 265aa25 Merge pull request # 327 from pohly/buffer-logger
  > 280fc18 GIT-275: add tests for int and struct keys
  > 78f38f6 ktesting: fix type assertion
  > ca252b1 Merge pull request # 328 from pohly/fatal-backtrace-revert
  > 325472d ktesting: capture log data in memory
  > 66544b3 ktesting: use black box testing
  > 49e17d5 Merge pull request # 332 from harshanarayana/bug/GIT-331/fix-variable-shadown
  > c5c3132 klog.Fatal: document behavior and alternatives
  > 6b3fb0b Merge pull request # 329 from pohly/apidiff-fix
  > 9c48b7d Merge pull request # 330 from pohly/logtools-removal
  > e4329d2 GIT-331: fix shadowing key from the kv pair
  > c977919 klog.Fatal: revert dumping of all stack backtraces to stderr
  > ea35802 Merge pull request # 320 from pohly/state-restore
  > 49d73a5 GitHub: use apidiff with more recent Go
  > e9884d2 remove hack/tools
  > a585df9 Merge pull request # 326 from pohly/remove-trim-duplicates
  > 3c90bf9 refactor global state
  > 788efcd Merge pull request # 325 from pohly/logr-marshaler
  > cebb190 internal: remove unused TrimDuplicates
  > 296f5e6 save and restore state
  > 42bf7a2 Merge pull request # 322 from pohly/kobjs-performance
  > 369b848 support logr.Marshaler
  > cc2ce06 Merge pull request # 315 from pohly/logcheck-regexp
  > 87ca629 Merge pull request # 324 from pohly/trim-duplicates
  > 8a3e48e replace KObjs with KObjSlice
  > c697110 Merge pull request # 314 from pohly/stop-flush-daemon-clarification
  > 5079582 logcheck: fix detection of invalid * regexp in filter
  > 7a827a0 Merge pull request # 319 from pohly/klog-help-texts
  > 4c3943c use faster MergeKVs
  > ff92e06 test: add benchmark for KObjs
  > d07cbbf Merge pull request # 313 from pohly/logcheck-contextual-logging
  > 47f254f StopFlushDaemon: document flushing on shutdown
  > 2910cb1 README.md: clarify -logtostderr
  > 6f47a32 klogr: simplify test failure message
  > 4a4a786 Merge pull request # 297 from pohly/logcheck-contextual-logging
  > 7179178 hack/tools: drop dependency on golangci-lint
  > e2432e8 serialize: add MergeKVs as faster TrimDuplicates alternative
  > b46e95d Merge pull request # 311 from pohly/contextual-logging-stable
  > 1876dee logcheck: harmonize report messages
  > e6d69a5 serialize: benchmark and test TrimDuplicates
  > 7b1c318 Merge pull request # 310 from pohly/fork-clock
  > 36e44e7 promote non-test APIs to stable
  > 216a02e logcheck: add check for With* and NewContext
  > e3af9af dependencies: avoid k8s.io/utils, fork clock code instead
  > 317fe52 logcheck: optionally warn about using direct klog logging
  > 41995aa logcheck: detect if V().Enabled()
  > 5b4c326 logcheck: warn about functions with both Logger and Context
  > 567c037 logcheck: support logr.Logger
  > c4c35ff logcheck: support import renaming and improve klog.V(2) handling
  > df531eb logcheck: support running as golangci-lint plugin
  > 3f08024 logcheck: also check for format specifier in calls like klog.Info
  > 0c36cf7 logcheck: move into package
  > 93980ca logcheck: add test cases for parameter check
bumping knative.dev/operator c92cd54...bef2ecf:
  > bef2ecf upgrade to latest dependencies (# 1150)
  > d1aab18 upgrade to latest dependencies (# 1149)
  > 45cbcc3 upgrade to latest dependencies (# 1147)
  > cd08ffc Update community files (# 1146)
  > 053a68a Remove the old manifests for operatorhub (# 1144)
  > 0df2ea4 Refactor the README (# 1145)
  > 7d97b3a Fix the issue when "webhookdefinitions" does not exist in CSV (# 1143)
  > 82d55ae upgrade to latest dependencies (# 1141)
  > ed5a9af Prevent the case of an empty replicas in high-availability (# 1137)
  > e6dba8d upgrade to latest dependencies (# 1140)
  > d54b55b update knative.dev/hack (# 1139)
  > 2d3961f Bump the go version to 1.18 (# 1138)
  > b9e09de upgrade to latest dependencies (# 1136)
bumping k8s.io/apimachinery 276a8a7...276a8a7:
bumping knative.dev/pkg 6c9c1c6...a01dfed:
  > a01dfed bump to k8s 0.23.9 (# 2565)
  > 449f7e6 Update community files (# 2564)
  > ed7ab1d upgrade to latest dependencies (# 2559)

/lgtm
/approve


Create References page

[x] Create page
[x] Add description of what is being covered
[x] Add description of checks required on this content, compiled from current protocol documents
[x] Add examples covering correct and incorrect scenarios, as required to support checks
[x] Populate with schematron messages
[x] Provide explanations for how to fix schematron errors and warnings
[x] Review house style document to ensure all requirements are covered by GitBook and schematron
[x] Review schematron messages related to this topic to ensure they are user friendly
[ ] Becky approved page
[ ] Melissa approved page
[ ] Fred approved page
[ ] James approved page
[ ] Naushin approved page
[ ] Claudia approved page
[ ] Share page with Exeter and invite feedback
[ ] Revise with Exeter's suggestions

Definition of done

[ ] Page completed
[ ] Team reviewed and approved page?
[ ] Assign Fred to update the Schematron

Make it clear that the changes to reference ordering rules will be implements on Kriya 2 - we'll need to include both current and future sets of rules.

@FAtherden-eLife - I've got a few questions about some of the rules.
pre-element-cite-string-date + final-element-cite-string-date - the logic here looks like it's checking for a string-date in full, but the messages only refer to the year. Is that just a case of the message needing to be clarified?
tagging-elem-cit-des - is this specifically targetting tags that have been entered as text? The fail case uses em tags, but obviously something like italics in a title is fine, so I presume this is about catching badly copied text.
pub-id-doi-test-2 - slightly confused by this one, since the test cases provided on the repo don't seem to match how we handle DOIs in references. E.g the pass case is
<pub-id assigning-authority="other" pub-id-type="doi" xlink:href="https://doi.org/10.17617/3.3v">10.17617/3.3v</pub-id>
but we'd normally tag that as
<pub-id pub-id-type="doi">10.17617/3.3v</pub-id>
(Obviously ditching assigning-authority entirely at this point!) Am I missing an obvious alternative use case, or has this fallen out of sync with how we handle DOIs?
Thanks!

pre-element-cite-string-date + final-element-cite-string-date - the logic here looks like it's checking for a string-date in full, but the messages only refer to the year. Is that just a case of the message needing to be clarified?

Yup - will replace the word year with string-date.

tagging-elem-cit-des - is this specifically targetting tags that have been entered as text? The fail case uses em tags, but obviously something like italics in a title is fine, so I presume this is about catching badly copied text.

Yes it's checking that the text has tagging like text. I think it's basically to catch when the tagging is pulled from Crossref/PubMed incorrectly (either due to bug in reference validation in Kriya, or due to bad data being supplied to those places).

pub-id-doi-test-2 ... (Obviously ditching assigning-authority entirely at this point!) Am I missing an obvious alternative use case, or has this fallen out of sync with how we handle DOIs?

The latter, you can ignore this one.

Brilliant, thanks @FAtherden-eLife !

@griffithscm, @FAtherden-eLife, @Melissa37, @naushinthomson - this page is now ready for your review. It is very long!
https://app.gitbook.com/@elifesciences/s/productionhowto/article-details/content/references

Each reference list applies to the entire article in which it appears; references cited in appendices are not treated separately from those in the main text.

It does not cover the decision letter and author response so not quite the entire article! Can you add a bit about references in DL/AR are left untagged and intext and why we don't add to ref list (citation counts etc)?

Where the formatting of a reference appears incorrect in the proofing system or the PDF — such as there being misplaced full-stops, italics applied to the wrong piece of text etc — this will usually indicate that the content has been mistagged. In most cases this can be resolved by editing the reference in the proofing system and re-entering the details in the correct fields, as per the guidance on the type-specific pages.

It can also happen when you change reference content and don't revalidate it.

As you can see, the first author provides the main ordering criterion, followed by the publication date in cases where the first surnames for separate references are the same. In cases where the first surname and date are the same, the second and then third author surnames provide the next level of ordering (here, Keeley and Soldati are followed by Keeleym Soldati and Smith).

So zero authors trumps next in alphabet in a list? ie A,B,C 2000  versus A,B 2000 the latter would be first?

all of them would be cited as 'Keeley et al., 2004'. In order to prevent confusion, references with identical citation strings are distguished by added a letter to the year.

Typo distguished

Warning: The numeric value of the first 4 digits of the  element must be between 1700 and the current year + 5 years (inclusive). Reference 'XXXXXX' does not meet this requirement as it contains the value 'XXXXXX'.–

Is there a way to refine the future date ie future date only allowed if In Press is present?

Warning: The numeric value of the first 4 digits of the @iso-8601-date attribute on the  element must be between 1700 and the current year + 5 years (inclusive). Reference 'XXXXXX' does not meet this requirement as the attribute contains the value 'XXXXXX'.

There should only ever be 4 digits on the @iso-8601-date. Thta's the point of it - a,b,c etc is in the visual year field, this is pure.

Is there a warning if there should be a,b,cs in year and there are not?
You could use the author list and iso date to find that?

The number of references cited will vary considerably between different article types. ... high as 200+ references.

Is it worth specifying that there is no limit to the number of references in an eLife article?

Warning: 'XXXXXX' type references must have a string-date. Reference 'XXXXXX' does not. If you are unable to determine this, please ensure to add an author query asking for the date of publication.
Action: This warning indicates at the pre-author stage that a reference is missing a publication date (this will fire on reference types that use the  element in place of ). Check that the reference details have been correctly processed from the provided article file and if no date (day, month, year) was provided, please query the authors:

Can you list the reference types that have this?

final-pub-id-test-2
Error: pub-id is tagged as a doi, but it is not one - XXXXXX
Action: This error indicates, at the pre-author stage,

This is the post author stage

Nice! Thanks James, this will be really helpful and looks like it will bump our Schematron % up quite a bit too (fingers crossed).

link-href-conformance

I realise we need to allow for sftp as well. Please update the text for the message so that it reads:

@xlink:href must start with either "http://", "https://", "sftp://" or "ftp://" ...

I will update the schematron.
It's pedantry but:

A URL that does not begin with one of these is invalid, so this will need to be corrected.

Isn't technically correct, since there are various other valid protocols. Maybe we could say something like:

A URL that does not begin with one of these is undesirable since it's less likely to be universally supported by browsers. Therefore it will need to be corrected.

or similar.

Same as above applies for pre-pub-id-test-1 and final-pub-id-test-1. I will update the Schematron, but leave the messages as they are.

Web and periodical references missing from the list under:

eLife permits references to the following kinds of publication, for which type-specific guidance has been provided on dedicated pages:

pre-element-cite-year ... final-element-cite-year

These won't fire on periodical refs.

I think the following tests would be best suited to this page as well:

err-elem-cit-gen-name-5
err-elem-cit-gen-date-1-9
fpage-lpage-test-1
err-elem-cit-gen-name-3-1
err-elem-cit-gen-name-3-2
err-elem-cit-gen-name-4

More we should probably add to this page (sorry!):

pre-year-element-citation-conformity
final-year-element-citation-conformity
publisher-name-colon
publisher-name-inc
pub-name-replacement-character-presence
pub-name-newspaper
author-test-1
author-test-2
author-test-3
all-caps-surname
surname-number-check
surname-ellipsis-check
surname-count
given-names-count
given-names-count-2
isbn-conformity-test - (there's also isbn-conformity-test-2, but I don't think we've ever used the isbn element so we can probably ignore for now).
doi-in-display-test
link-in-display-test

Unsure whether text-v-cite-test is best placed on this page, or a general one. Presumably missing-ref-in-text-test should be elsewhere.

Nice job, thanks @JGilbert-eLife

The reference list is placed at the end of the article, in the back matter.

is it worth saying that they come before any appendices?

References are ordered alphabetically by the surname of the first author for each entry, then by year, and then by the surnames of the second, third, fourth etc authors as necessary.

Might be helpful to point out that the ordering is an automatic process

This warning indicates a reference has a date that is outside the range 1700 to five years past the current year.

could this be rephrased to 'This warning indicates a reference has a date that is outside the range spanning from 1700 to five years into the future' (otherwise ‘past’ seems a bit unclear)

pub-id-test-4
Warning: pub id contains whitespace - XXXXXX - which is very likely to be incorrect.
Action: This warning indicates that a pub id (DOI or PubMed ID)

should this be ‘pub ID'?

pre-ref-link-presence
Warning: 'XXXXXX' has no linked citations. Either the reference should be removed or a citation linking to it needs to be added.
Action: At the pre-author stage, this warning indicates that a reference is not cited in the text. All reference listed must be cited at least once. The author should be queried to provide the missing citation.

is it worth saying that you should check whether there are any citations for it currently unlinked and in plain text/possibly check the article file to ensure a citation hasn’t been missed in pre-editing?

The reference list is placed at the end of the article, in the back matter.
* is it worth saying that they come before any appendices?

For simplicity I'd rather not, since appendices display in different places in the PDF and online!

(compare Axten et al., 2021 in the two lists shown above)

I think this should say 2012

The italics for journal or books titles, the bolding for volume numbers, and so on is all provided by the platform on which the reference list is being displayed.

I'm a bit confused by this sentence - does it mean the formatting is pulled from where the reference is hosted?

This refers not to to the reference details

Extra to can be deleted

This will be carried out during initial processing of the article files so there usually will not be nothing to check at the subsequent stages.

I think the double negatives are confusing me here - can you clarify?

@FAtherden-eLife I think there's a typo in surname-ellipsis-check

Error: surname in ref 'XXXXXX' begins with an ellipsis which is wrong - XXXXXX. Are there preceding author missing from the list?

should it be 'are there preceding authors'?

Should pre-element-cite-string-date and final-element-cite-string-date not be on the periodicals refs page?

Nothing further to add, thanks for tackling this mammoth page!

Should pre-element-cite-string-date and final-element-cite-string-date not be on the periodicals refs page?

I think it would seem a bit odd to list the ones for non-periodicals here but not these as well. I can be persuaded otherwise though.

The italics for journal or books titles, the bolding for volume numbers, and so on is all provided by the platform on which the reference list is being displayed.

I'm a bit confused by this sentence - does it mean the formatting is pulled from where the reference is hosted?

Tried to clarify what I mean!
I've updated everything else and will share this with Exeter.


dataloder error

hello, I have a problem. I was training on aishell-1, but it is very slow. ctrl+c， then it output the information, how can I fix it?
File "wenet/bin/train.py", line 279, in
(espnet) root@6e8b6375898a:/data/xiaosujie/AM/trainEnv/wenet-main/examples/aishell/s0#     main()
File "wenet/bin/train.py", line 253, in main
writer, configs, scaler)
File "/data/xiaosujie/AM/trainEnv/wenet-main/wenet/utils/executor.py", line 41, in train
for batch_idx, batch in enumerate(data_loader):
File "/root/miniconda3/envs/espnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 435, in next
data = self._next_data()
File "/root/miniconda3/envs/espnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1068, in _next_data
idx, data = self._get_data()
File "/root/miniconda3/envs/espnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 1024, in _get_data
success, data = self._try_get_data()
File "/root/miniconda3/envs/espnet/lib/python3.7/site-packages/torch/utils/data/dataloader.py", line 872, in _try_get_data
data = self._data_queue.get(timeout=timeout)
File "/root/miniconda3/envs/espnet/lib/python3.7/queue.py", line 179, in get
self.not_empty.wait(remaining)
File "/root/miniconda3/envs/espnet/lib/python3.7/threading.py", line 300, in wait
gotit = waiter.acquire(True, timeout)
KeyboardInterrupt

Do you have the right python virtual environment, espnet is used from your command line.

I use python3.7 and torch1.7.  Sometimes it is normal. but sometimes it is slow.

I've met the same problem. Can you share your resolution or some insight if you did solve this problem?

I don't solve this problem. I just move to another machine, the it's ok. The problem may be caused by the I/O of the disk.  Many people use that machine and many processes read the same disk. It is very slow.


[WIP] Support topk classification metrics [ci skip]

What does this PR do?

Add support for topk in classification metrics. Let's see how it goes with tests.
TODO:

[ ] Add more tests
[ ] Update class metrics

Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[ ] Did you read the contributor guideline, Pull Request section?
[ ] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

Hello @rohitgr7! Thanks for opening this PR.

In the file pytorch_lightning/metrics/functional/classification.py:

Line 273:13: E251 unexpected spaces around keyword / parameter equals
Line 273:15: E251 unexpected spaces around keyword / parameter equals

Do see the Hitchhiker's guide to code style

This looks better and cleaner. I guess natively supporting top_k is far more useful.

Here is a top k accuracy implementation using the new Metrics API if it's helpful:
class TopKAccuracy(pl.metrics.Metric):
    def __init__(self, k=[1, 5], dist_sync_on_step=False):
        super().__init__(dist_sync_on_step=dist_sync_on_step)
        self.k = k
        self.add_state("correct", default=torch.zeros(len(k)), dist_reduce_fx="sum")
        self.add_state("total", default=torch.tensor(0.0), dist_reduce_fx="sum")

    def update(self, logits, y):
        _, pred = logits.topk(max(self.k), dim=1)
        pred = pred.t()
        corr = pred.eq(y.view(1, -1).expand_as(pred))
        self.correct += torch.stack([corr[:k].view(-1).sum() for k in self.k])
        self.total += y.numel()

    def compute(self):
        return self.correct.float() / self.total

This is correct. I used the same formula earlier. Can we simply keep topk as int instead of tuple ?

@oke-aditya I think I prefer that as well, especially since self.log(metric) only supports scalar values

I guess we can replace .view() by .reshape(). It recently threw an error on torch 1.7. It didn't throw in 1.6 though.
Here is the modfied code.
class AccuracyTopK(pl.metrics.Metric):
    def __init__(self, top_k=1, dist_sync_on_step=False):
        super().__init__(dist_sync_on_step=dist_sync_on_step)
        self.k = top_k
        self.add_state("correct", default=torch.tensor(0.0), dist_reduce_fx="sum")
        self.add_state("total", default=torch.tensor(0.0), dist_reduce_fx="sum")

    def update(self, logits, y):
        _, pred = logits.topk(self.k, dim=1, True, True)
        pred = pred.t()
        corr = pred.eq(y.reshape(1, -1).expand_as(pred))
        self.correct += corr[:self.k].reshape(-1).float().sum()
        self.total += y.numel()

    def compute(self):
        return self.correct.float() / self.total

@oke-aditya thanks. I'll complete this one in a few days. The metrics package has been changed and I haven't checked it out yet.

Great. 😀

Looks that AccuracyTopK is not available in the current version? Will it be in the next version?

Hi @zhutmost it will be added in https://github.com/PyTorchLightning/pytorch-lightning/pull/4838
will close this one after https://github.com/PyTorchLightning/pytorch-lightning/pull/4838 gets merged. Although you can use the implementation of AccuracyTopK from above for now.

@rohitgr7 @justusschock how is it going here, ready to review/merge? 🐰

closing this, will be added in #4837 and follow up PRs.


NuGet deploy failing since merging #369

The NuGet deploy through AppVeyor is failing since I merged #369. It complains about an invalid or expired API key which I didn't actually change in the PR I have no idea how that happened.
Build: https://ci.appveyor.com/project/tathamoddie/system-io-abstractions/builds/19794098
Diff of AppVeyor.yml: https://github.com/System-IO-Abstractions/System.IO.Abstractions/pull/369/files#diff-180360612c6b8c4ed830919bbb4dd459
@tathamoddie @jpreese Any ideas?

Fixed by #382, but now the GitHub key isn't valid

@fgreinacher Where does the GitHub key come from?

Based on the build sequence, whilst the build is failing, NuGet packages are being published again at least

And the package version just jumped from <IP_ADDRESS>6 to 2.2.2-beta

Thanks!
The GitHub key - I created one and encrypted through my AppVeyor account - that’s probably the problem. I assume you need to do that @tathamoddie

Maybe it might be better to add @jpreese and myself as Collaborators on your AppVeyor account, seems to be possible somehow though I’m not sure how much you can restrict this role to the SIO project.

@tathamoddie The easiest way would probably be to add us as owners for the packages on NuGet.org - then we take care of all the remaining things without bothering you for each and every change :)

@jpreese is already a collaborator on the AppVeyor project. Adding you now @fgreinacher.

You (@jpreese and @fgreinacher) should now both be co-owners of the GitHub org (https://github.com/System-IO-Abstractions/) and the AppVeyor project (https://ci.appveyor.com/project/tathamoddie/system-io-abstractions)


Breaking change from 1.8.10 to 2.0.3 for union types of class having functions

TypeScript Version:  2.0.3
Transferring my project from 1.8.10 to 2.0.3 ran me into a bunch of issues all similar to the following simplified code example (test.ts):
class X<T> {
	bla(x:()=>T|Z<T>) {

	}
}

class Y<T> {
	bla(x:()=>T) {

	}
}

class Z<T> {

}

function doBla<T>(In:T) {
	const x:X<T>|Y<T>|T = new X();
	if ((<X<T>|Y<T>>x).bla) (<X<T>|Y<T>>x).bla(()=>{return In;}); //<= compiles in 1.8.10, but fails in 2.0.3
}

Expected behavior: compiles (as on tsc 1.8.10)
Actual behavior: does not compile on 2.0.3, see below
mk@mk-actifsource:~/tmp$ tsc -v
Version 1.8.10
mk@mk-actifsource:~/tmp$ tsc test.ts
mk@mk-actifsource:~/tmp$ node_modules/.bin/tsc -v
Version 2.0.3
mk@mk-actifsource:~/tmp$ node_modules/.bin/tsc test.ts
src/test.ts(20,26): error TS2349: Cannot invoke an expression whose type lacks a call signature.

I tried to search for similar issues and found #7294, however I am not sure about relevance of that issue.

This is the same issue as #10025.

However, #10025 states milestone 2.0.2 - this report is for 2.0.3. Is it really the same issue, which is not yet completely fixed, or just related?

It is the same issue, and it is unfortunately an actual breaking change. As mentioned in the comments for #10025, it happened to work in some cases (including yours) because of aggressive subtype reduction, but we need a different approach to actually fix the issue in the general case.

As #10025 is closed as well: Which ticket handles the "different approach to actually fix the issue in the general case"?
Or in other words: which ticket should I watch to get notified when I can remove my "hacky quirks" as soon as this is resolved?