getPowerState() does not work on Denon X1400

Hi, great project!
I just tried and got it run nicely. It starts and shuts down the receiver but somehow I can't retrieve the status:
  this.avr.getPowerState(function(error, data) {
    if(error) {
      that.log("Error while getting power state %s", error);
    }
    callback(null, data);
  });

This is my code which results in logging:
Error while getting power state Can't connect to device: Error: response not received

However the exact same this.avr works fine for setPowerState.
Further info: I just tried to increase the timeout in the code which does nothing, so the timeout kicks in and results in an error even after 10 seconds.
Any idea?

Hi, txs for the feedback!
I just had a look at the X1400 protocol and I can't see any changes. So that should generally work.
Could you try to use this.avr.getInput(...) to see, if we have a general problem on the receiving end?
Mike

... and just for debugging matter: is there a difference with getPowerState(), if the device is in standby (powered off) or powered on?

> mdt
MarantzDenonTelnet {
  connectionparams:
   { host: '<IP_ADDRESS>',
     port: 23,
     timeout: 1000,
     sendTimeout: 1200,
     negotiationMandatory: false },
  cmdCue: [],
  connection: null }
> mdt.getInput(function(error, data) {console.log('Input is: ' + data);}, 'ZM');
undefined
> Input is: undefined

As you can see from the above, getInput does not work. Neither does getMuteState. It seems that no get works but even after failed get requests, the setPowerState still works to shut down or power on the AVR. Unfortunately, the connect member is set to null after the request so I can't set the debug flag on it. Any idea on what I can do to debug this?
Also, I am getting the same error on getPowerState no matter if device is in standby or on.

Oh man! After inspecting the AVR options and checking the network diagnostics, it hung forever. So I decided to unplug the AVR for a minute and reconnect to power. And... tada! Everything works as expected. Sorry to have bothered you. Great library!
For anyone who get something similar and finds this via google. You can also go to
http://YOURAVRIP:8080/goform/formMainZone_MainZoneXmlStatusLite.xml
If this does not return a value for power, so an empty <value/> node, power cycle your AVR.

Txs for following up. I'll add the Denon X1400 to the tested devices, then ;) .

One caveat you might want to mention is that only one connection at a time is supported by the AVR. I wanted to create a homebridge plugin based on this and if you add two accessories based on this client, one accessory will fail when currently requesting status. ;)

Will do :) – so it was homebridge, too, that brought you here... this is why I had to add a cue for my accessories and I retain the connections in my homebridge-marantz-denon-telnet plugin.

First of all, great that you separated those projects! I would also love to use your homebridge plugin but that zeroconf, while generally great, is too much magic for me. I was planning to use a switch accessory that is on only if a specific input is set and the AVR is on. -- And then have multiple of those. So that I can set a scene that switches the AVR on, to a specific input, switch the TV on, switch the input source on (eg. HTPC). Anyhow, I learned some node while digging into this. ;)


Stencil got error duplicate identifier when import @material/mwc-tab lib

Describe the bug
When i import @material/mwc-tab-bar and @material/mwc-tab
I got this error (duplicate identifier and do not know why import @materila/mwc-button i got no error but when import two libs above i face the below issue)
To Reproduce
Steps to reproduce the behavior:
I create the web component using stencil lib
Expected behavior
It supposed to be worked well when import @marterial lib
Screenshots

Browser Version (please complete the following information):

OS: [MAC OS]
Browser [e.g. chrome]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Looks like you got the issue resolved, but just in case (or if someone else runs into the same problem), the sub node_modules/ folder usually points to conflicting versions (for example, @material/tab being on v6 and @material/tab-bar being on v7).
Aligning the components to the same version is a sure way to fix it. You can also rely on installing the material-components-web dependency, which will install everything under the same version for you.


storage: minor typo in metrics help field

@mordyovits Thanks! And could you change your commit title to storage: minor typo in metrics help field?

Reference: https://github.com/coreos/etcd/blob/master/CONTRIBUTING.md#format-of-the-commit-message

LGTM. Thanks!


Change list expression to tuple expression

This has not been discussed, except in a discussion thread on https://github.com/p4lang/p4c/pull/3520, in particular here: https://github.com/p4lang/p4c/pull/3520#issuecomment-1251748379
Mihai, is your main concern here with all of the class and method names in p4c, and comments, and perhaps also some documentation about p4c internals, that use the phrase "list" and "list expressions" that would become out of date with the spec if these changes were made?
Or do you have concerns independent of that?  (I am not claiming that such concerns are unimportant, by any means.  I am mainly curious to be clear on the concerns.)

@chrisdodd @hanw @vgurevich This is "only" a change in terminology in the spec, primarily replacing occurrences of "list expression" with "tuple expression".  Just wanted to give you a heads up on this potential change, as it would potentially change terminology that one might want to use in training material and documentation (not an urgent change, but some day), and Mihai also pointed out that the p4c front end IR data structures would still have many occurrences of "list" in the names of some IR node types that would then no longer match the spec terminology, which Mihai is OK with, and would not want to change, because of the disruption that would cause in P4 compiler back ends using the p4c front/mid end.

This needs a changelog

Is there any chance I could convince you to merge this in if you approve of it, under the strict promise that I will add a revision history item as a separate PR after this is merged in?  My local git clone is in a state where that would probably be significantly easier for me.


Why is Rune 0 (UNCOMMON•GOODS) etching block is 1 and not 0?

Considering Bitcoin blocks start at 0, it was surprising to see UNCOMMON•GOODS start at 1. Wondering if there's any specific reasons for this.
cc @gmart7t2

Because rune ID 0:0 is used to mean the rune currently being etched in a mint transaction. It could be 0:1, but there is no corresponding transaction, since block 0 has only one transaction, so I went with 1:0. It doesn't really matter if there's a corresponding transaction, but I was thinking that perhaps some code somewhere would try to look up etching transactions by rune ID, and it would be nice if the transaction for the genesis rune existed.

Thanks for explaining @casey!


Add docs for Splunk On-Call

Preview: https://deploy-preview-952--roadie.netlify.app/docs/integrations/splunk-on-call/


Remove mention of blog till we have blog posts

thanks for your contribution.

@mehedi-sharif My pleasure :)


Release action issues

The v2 release action fails but still publishes, because the step to commit the updated lock file fails. @elycheea shared that we might not actually need to worry about this now that we're using the latest version of lerna (see more details here).
The v1 release action fails and does not publish because @carbon/ibm-cloud-cognitive-core is getting published from both main and main_v1 which is causing mismatched version issues. To resolve this we need to do a major version bump for that package on the main branch (v2) to avoid the clashing versions.

Thank you @matthewgallo for documenting this in an issue. 🙏


HIVE-27145: Use StrictMath for remaining Math functions as followup o…

…f HIVE-23133
HIVE-23133 started using StrictMath for cos, exp, log UDFs to fix Q Tests failing because results could vary based on hardware when using Math library.

There are other Math functions that can have same impact of underlying hardware namely, sin, tan, asin, acos, atan, sqrt, pow, cbrt. Using StrictMath for these as well.
HIVE-23133 missed custom vector classes for Log, using StrictMath for those.
JDK-4477961 (in Java 9) changed radians and degrees calculation leading to Q Test failures. Using round() to ensure tests pass on JDK 8 and later

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?

How was this patch tested?

@kasakrisz Could you please review the changes as well?

@rbalamohan
IIUC Math implementation of functions affected by this PR may exploit specific microprocessor instructions if available in that platform which gives a better performance but the default implementation just calls the StrictMath version.
The cost of the performance boost is precision.
Example from the PR:
Degrees(cdecimal1)
-6844.522849943508

vs
-6844.522849944

Should we give up possible performance benefits to favor precision? Could you please share your thoughts?

Imho the precision is more important in big data world then performance. Maybe I think wrongly, but let's imagine a dataset with full of decimals where I as a customer would like to process a cos or degrees calculation on a TB scale. I would rather spend more CPU times on get precise value then to have just a good enough value. I would sacrifice the performance here.

This is specific to JDK 9 issue.
In recent JDKs it is back to the original implementation. i.e strictfp is removed and it is back to using Math.toDegrees in StrictMath.
https://github.com/openjdk/jdk/commit/0ae4ceb413a7ea92a41cd55cd338f866098eb9b4
Until we move to the latest JDK, it is fine to make this change.
Note that it will not have any difference in JDK 8 as well, since StrictMath::toDegrees uses Math::toDegrees/


Non-determinism when updating a map that is being iterated over

go version: go version go1.7.4 darwin/amd64
Code:
package main

import "fmt"

func main() {
	m := make(map[int]int)
	m[1] = 0
	for k, v := range m {
		m[k+k] = v
	}
	fmt.Println(m)
}

This should do one of two things:

Print out a map that is {1: 0, 2: 0}
Never print anything and never return

Instead, it's non-deterministic in terms of how many loops it does:
$ for i in 1 2 3 4 5 6 7 8 9 10; do go run main.go; done
map[2:0 4:0 8:0 1:0]
map[8:0 16:0 32:0 64:0 1:0 2:0 4:0]
map[2:0 4:0 8:0 16:0 32:0 64:0 128:0 1:0]
map[1:0 8:0 32:0 128:0 256:0 2:0 4:0 16:0 64:0]
map[1:0 2:0 4:0]
map[1:0 2:0]
map[8:0 16:0 32:0 64:0 1:0 2:0 4:0]
map[32:0 1:0 2:0 4:0 8:0 16:0]
map[2:0 4:0 8:0 16:0 32:0 64:0 128:0 1:0]
map[16:0 32:0 64:0 1:0 2:0 4:0 8:0]

Throwing an error/panicking if you update a map in place is one choice, updating deterministically is another, but the lack of an error and the non-determinism is concerning.

The behaviour is covered by the spec:

If map entries are created during iteration, that entry may be produced during the iteration or may be skipped. The choice may vary for each entry created and from one iteration to the next.

Making it an error is not possible in Go 1 under the backwards compatibility promise. Making it always deterministic would limit possible implementations.

Ya, we found that right after. Closing.


Log Scale: customize number of minor ticks

e.g., 10 ticks instead of 5 - suggested by @hibus in #1583
The 5 is hard-coded here
https://github.com/ScottPlot/ScottPlot/blob/10cabc1a9ffcf174c4caa2f724a74eefd3e11f7b/src/ScottPlot/Ticks/TickCollection.cs#L453

plt.YAxis.MinorLogScale(true, minorTickCount: 20);


GitLab Workflow Tasks

Using the GitHub workflow tasks as a base, it would be easy to create similar GitLab workflow tasks.

Start with a CreateIssue task.


Repo sync for protected CLA branch

The pull request is created from main637956621838942932sync_temp to main to fix git push error for protected CLA branch

@opbld15 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Feature request - Add temp displacement as a entity for RCT

I have several RCT around the house, and when connecting them to HA they have 4 entities Temp/Moist/Battery/Signal.
When looking at the logs it also reports the temp displacement sett on the RTC (The adjustment wheel on the older thermostats) as "dropping wheel position on the ground: -3.0" is it possible to have this as a separate entity, so that this can be used to change the set temperature in HA for the specific zone?

Adding the wheel position is trivial, it mostly depends how you want to expose it. I don't have a RCT, so I'm not sure what it reports, so for the time being, I just logged the wheel position and ignored it.
The wheel position could be exposed as a separate value (offset, maybe) or added to the reported temperature for simplicity. I don't know which is easier for you to deal with?

Reported as a separate value (offset is good) would be great in my use case. It would give me all the flexibility I need.
Kind Regards
Øyvind Thoresen
Fra: Karl Anders @.>
Sendt: mandag 19. juli 2021 kl. 22:24
Til: @.>
Kopi: @.>; @.>
Emne: Re: [karloygard/xcomfortd-go] Feature request - Add temp displacement as a entity for RCT (#24)
Adding the wheel position is trivial, it mostly depends how you want to expose it. I don't have a RCT, so I'm not sure what it reports, so for the time being, I just logged the wheel position and ignored it.
The wheel position could be exposed as a separate value (offset, maybe) or added to the reported temperature for simplicity. I don't know which is easier for you to deal with?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fkarloygard%2Fxcomfortd-go%2Fissues%2F24%23issuecomment-882835590&data=04|01||567adde6fb9f4ca3780508d94af32fea|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637623230604728751|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=obVs09Q4YYVlY%2Bo7VcbmBYsvfDhO8GujqpOtxJucpxM%3D&reserved=0, or unsubscribehttps://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FASFGFT2OSWUNU2WSMT3EXL3TYSCXFANCNFSM5AUIWHJQ&data=04|01||567adde6fb9f4ca3780508d94af32fea|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637623230604738743|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=CZtC9CcmwHeiN%2FTlACWBOsN%2FFk4%2F3Gck6eSPffJKbVo%3D&reserved=0.

Updated to 0.36. the wheel position is no longer dropped on the floor in the xcomfort logs, but I see no entity displaying the value in the mqtt integration.

I'm just experimenting at the moment.

I just released 0.36.1, the temperature adjustment should hopefully show up now.

Working great.


DWC missing scientific name

Even though the taxon name is seemingly attached for this collection opbject: https://sfg.taxonworks.org/tasks/collection_objects/browse?collection_object_id=1198048
scientific name does not shows in DWC.
I guess I am missing something here...
Thanks!
István

@mjy labelled OTUs could cause a problem with the indexer? I'm not sure why the OTU is labelled though, it seems its name exactly matches that of the taxon name.


Integrate the FAIRDOscope

The FAIRDOscope is a promising UI to browse typed PID records.

Done in #8


Vesrion2.10.1 changes

CSI 2.10.1 version changes
Pull request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature Enhancement
[ ] Test Automation
[ ] Code Refactoring (no functional changes, no api changes)
[ x] Build related changes
[ ] Community Operator listing
[ ] Other (please describe):

What is the current behavior?

What is the new behavior?

How risky is this change?

[ ] Small, isolated change
[ ] Medium, requires regression testing
[ ] Large, requires functional and regression testing

As it is not created from my fork


Coveralls fix

These changes should make Coveralls reports work once it is enabled on Coveralls.

Changes Unknown when pulling fc43fa2b2e74b242e5b5d0b19e7483eb3edea93c on Koopzington:coveralls-fix into ** on zendframework:master**.


Suggestion where to contribute

Lots of people want to contribute but don't know where.
I recently launched a service which aggregate issues for beginners: https://contributor.ninja.
Discussion on Twitter: https://twitter.com/svensauleau/status/823189011044806658
I would be happy to make a PR if this is accepted.
Thanks,
Sven.

Hey @xtuc, contributor.ninja looks good! We have some similar projects listed in the guides, so feel free to open a pull request to add your project to this list.
Also, just a heads up that we (the team at GitHub that worked on these guides) are very interested  in these sites that match new contributors up with projects that are welcoming to newcomers. We'll likely be endorsing one of them and working with the maintainers and other teams at GitHub to improve it. We'll reach out when we're starting work on that (probably in the next month or so).

Ok great, thanks for your answer.
I'm happy to discuss this further if you'd like to.

@bkeepers Sorry for being late to the party, but what do you think of http://c2oss.com - contribute2OSS aggregates open issues marked as bugs or enhancements in the public Github repositories you have starred or are a member of. I made this at some point last year for myself, and was wondering if I should open a pull request for adding this to docs. Thanks!

@anant90
Thank you for efforts. Helping people track open issues is, heh heh, a big issue.
 Some thoughts:
This issue is closed. It's always a good good idea to open a new issue rather than trying re-open a closed issue.
I had a quick look at contribute2OSS.
I did not see a link to the source code on GitHub or to anywhere else. I did not see a license either.
It seems to me that if OSG is to support or link any project then the project better be really open source itself.
Also, again thinking out loud, I feel I trust projects created by GitHub organizations more than I trust individual user projects.
Theo

@theo-armour Thanks a lot for all the feedback and the double entendre - let me make the Github repo public, add an MIT License and a link to the Github repo and open a new issue :)

@theo-armour

It seems to me that if OSG is to support or link any project then the project better be really open source itself.

Contributor.ninja isn't open-source yet. I'm willing to do it in the future but currently it is still in development.

Also, again thinking out loud, I feel I trust projects created by GitHub organizations more than I trust individual user projects.

I agree and as @bkeepers mentionned ealier, GitHub is interessed in this kind of websites. It would be great to have a dedicated page like the current trending one.
@anant90

aggregates open issues marked as bugs or enhancements in the public Github repositories you have starred or are a member of

This looks to me the same as the GitHub watch list and notifications.

@anant90 c2oss looks good!  It's probably the best visual design of the various sites for contributing.
Since @xtuc's PR was merged we've added a policy against people adding links to their own projects, so if someone else thinks it's valuable and wants to add it, they're welcome to open a PR.


Remove pending in favor of status in data fetching composables

Describe the feature
Currently, data fetching composables expose pending information in two ways: pending and status (status.value === 'pending'). It would be great to consider removing pending for consistency, which currently has a duplicated source of truth. As this would be a breaking change, it's probably best to address it in the next version of Nuxt.
(Update in this comment)
Additional information

[X] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide.
[X] Check existing discussions and issues.

@danielroe @DamianGlowala Can i work on this?

You're welcome to open a PR but we probably won't merge it until we're ready to migrate to Nuxt 4.
You might also consider initial work on writing a codemod to migrate people's code to the new format.

@danielroe I am a little confused on how to replace pending.value in docs and tests. Should i replace it with status.value = "pending" or status.value = "idle" || status.value = "pending" || !data.value

why not just use pending as a computed value of status.value === "pending" so you don't break compatibility?

@danielroe  Wouldn't it be better to keep pending as a computed, as @ctigrisht said - this is a convenient wrapper for useFetch; if this doesn't exist anymore then we need to add the good old boilerplate stuff again and again everywhere.
Imho the following comment from @drowhannn already shows that it is a bad idea to remove the flag, because everybody will be confused as well with this change.

I am a little confused on how to replace pending.value in docs and tests. Should i replace it with status.value === "pending" or status.value === "idle" || status.value === "pending" || !data.value

To sum up: Why removing a convenient well established flag?

I want to be able to use status.pending, instead of status === 'pending'?

I am a little confused on how to replace pending.value in docs and tests. Should i replace it with status.value === "pending" or status.value === "idle" || status.value === "pending" || !data.value

@drowhannn
If you want the same behavior as before, use status.value === "idle" || status.value === "pending" || !data.value. If you want the "accurate" behavior of "when the request was triggered and is pending", use status.value === "pending"

why not just use pending as a computed value of status.value === "pending" so you don't break compatibility?

To sum up: Why removing a convenient well established flag?

@fen89 @ctigrisht Would be an option but will break code without people realizing.

I'm strongly against removing the pending variable. It's incredibly convenient to use and a enables a very common pattern. It works beautifully with Suspense and v-if, is very concise to write and read.

I am a little confused on how to replace pending.value in docs and tests. Should i replace it with status.value === "pending" or status.value === "idle" || status.value === "pending" || !data.value

@drowhannn
If you want the same behavior as before, use status.value === "idle" || status.value === "pending" || !data.value. If you want the "accurate" behavior of "when the request was triggered and is pending", use status.value === "pending"

why not just use pending as a computed value of status.value === "pending" so you don't break compatibility?

To sum up: Why removing a convenient well established flag?

@fen89 @ctigrisht Would be an option but will break code without people realizing.

@manniL Isn't the whole issue about introducing a breaking change?

As this would be a breaking change, it's probably best to address it in the next version of Nuxt.

Before removing such flags there could be other options which imho should be at least considered. If we assume as the author said that this will introduce a breaking change why not checking if the code underneath can be looked at.
Let's use Tanstack Query as a well thought api example, so that everybody can see that both worlds are possible.
Directly from the Website:
The result object contains a few very important states you'll need to be aware of to be productive. A query can only be in one of the following states at any given moment:

variable
status equivalent
description

isPending
status === 'pending'
The query has no data yet

isError
status === 'error'
The query encountered an error

isSuccess
status === 'success'
The query was successful and data is available

Beyond those primary states, more information is available depending on the state of the query:

variable
description

error
If the query is in an isError state, the error is available via the error property.

data
If the query is in an isSuccess state, the data is available via the data property.

isFetching
In any state, if the query is fetching at any time (including background refetching) isFetching will be true.

For most queries, it's usually sufficient to check for the isPending state, then the isError state, then finally, assume that the data is available and render the successful state:
<template>
  Loading...
  Error: {{ error.message }}

{{ todo.title }}

</template>

Status equivalent:
<template>
  Loading...
  Error: {{ error.message }}

{{ todo.title }}

</template>

This should be seen just as an example.
What I really want to see is, that instead of removing those neat little computed flags:

It would be great to consider removing pending for consistency, which currently has a duplicated source of truth.

We should make them usable in both ways, interchangeable without any difference - e.g. make ONE single source of thruth and expose computeds like explained above from them.

I'm a bit confused about why this is considered an improvement. Is pending flag a separate source of truth, or another way of accessing the same source of truth? If pending is always true when status == 'pending', I don't see that removing this flag adds any benefit, but does add some rather tedious plumbing for those of us that use it.

Has removal been confirmed? I just got deprecation warnings all over my codebase after an update.

Has removal been confirmed? I just got deprecation warnings all over my codebase after an update.

Just deprecated for now, that's how I found out about it. For a breaking change I question whether it really supplies new/better functionality or prevents any problems.
The way I see it, pending means "I am doing something", but status means "here is what I'm doing". Like at a restaurant - I don't really care what you're doing, I just want to know when my meal is ready! :) Honestly I've never used the status, as all I need is to feed a loading spinner (and I'd wager this is true for many). Having to manually build a computed prop every time seems a bit awkward to me, and I'm not seeing any problem this fixes.

Hey all 👋
We highly appreciate your feedback on the topic 🙏
Eventually, we decided to not remove pending in Nuxt 4 but to update the implementation to match status === 'pending'. This will still be a breaking change and people using useAsyncData or useFetch with immediate: false might have to update their implementation.
We are planning to remove pending in Nuxt 5 though.

I am a bit confused. I replaced pending with status === 'pending' in all my components. Unfortunately the app stopped working.
The right choice might be replacing pending with status.value === "idle" || status.value === "pending" || !data.value but is this really desired? Isnt it too cumberstone?

I am a bit confused. I replaced pending with status === 'pending' in all my components. Unfortunately the app stopped working.

What do you mean with "stopped working"?

The right choice might be replacing pending with status.value === "idle" || status.value === "pending" || !data.value but is this really desired? Isnt it too cumberstone?

This is the current behavior which isn't necessarily correct for a "pending" state.

I still haven't seen a clear justification for this. Nobody has yet convincingly explained how this would improve anything, or what potential pitfalls it would fix. However, I think it is becoming evident that it would require extensive migration efforts for existing codebases, and then require pointlessly repetitive boilerplate to get the same functionality - all for nil actual change in performance, security, or maintainability. (Remember that employees have to justify these hours to their bosses - what business case could they make for spending that time/money?)
I would say that if you have a semantic or stylistic problem with the pending flag, then... don't use it. Wrap useFetch in your own composable and make it report its status however you want. However, considering that Nuxt is a large, well-regarded and highly-deployed project that people rely on, I think tinkering with an established API, especially one so extensively used, should be approached with extreme caution and extensive justification. Changes like these have real ramifications for businesses, and we should weigh up carefully whether it is essential or a matter of taste.

TL;DR - only when using immediate: false, pending does not behave correctly.

True, I did get a surprise when I first used immediate: false! I figure that pending means "there's no data yet", but if it now means "I am actually talking to the server right now" that makes sense.

True, I did get a surprise when I first used immediate: false! I figure that pending means "there's no data yet", but if it now means "I am actually talking to the server right now" that makes sense.

Exactly! pending should mean "the request started but didn't finish yet" and not only "it didn't finish yet" 👍

Replace a propriety that return a Boolean with a propriety that return a Dictionnary of Strings is not ideal for people who are not using TypeScript.

While I agree that the old implementation of pending is wrong after reading this discussion, updating the implementation while also deprecating pending is a weird decision. This solution would have been better IMHO:

Deprecate pending and keep the faulty implementation.
Mention the caveats in the docs. Right now, the docs don't even mention pending.
To make it easier to find out why pending is deprecated, add a link to an explanation (in the docs) in the JSDoc @description of pending.

By the way, I did not read about this breaking change in the breaking changes of Nuxt 4?

@manniL
It looks like there's 2 groups of users for pending :

Those who want a computed flag that is equivalent to status === 'pending'
Those who want a shortcut for status.value === "idle" || status.value === "pending" || !data.value

Maybe a way to satisfy both set of users would be keep the semantically incorrect name pendingand to deprecate it as @Anoesj.
We could introduce computed flags such as isPending that would return status === 'pending' for the 1st set of users but I personally think status === 'pending' is more explicit.
And if you really want you can use custom helpers or computed :
const { status, data } = useFetch(stuff)
const p1 = oldPending({ status, data })
const p2 = pending(status)

But I think the best solution will appear when we understand what exactly the people from group 2 are doing with this logic, and why it can't be replaced by a simple status === 'pending' in their cases.
Maybe there's a better way to serve their use case than to introduce isPendingOrIdleOrEmpty ?
Are they actyally trying to display the exact same content in 'pending' and 'idle' and 'no data' ?
I would assume that in most cases you'd want some variation of this :
<template>
  Loading...
  Success
  Error
  Fallback
</template>


Components and tests

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

This PR adds the ViewAllButton component

This PR also adds bold, regular, medium, semiBold, light, and colorLink props to StyledText

This PR also adds tests for Components Avatar, ClearButton, FeedbackButton, IconButton, SocialShareButton, StyledText, MainContainer, HeaderActionRight, HeaderRight, and MainHeader

Fixes #13
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

It seems like the header is broken:

I have fixed this


RDO distortion does not take chroma into account, but rate does

Well, this may be a 'Feature', as some video codecs like daala codec intentionally does that.

Fixed by #254.


Image artifacts preventing localization

Describe the bug
We are interested in registering Kinect color images with other color camera images.  As part of this process we image an object with targets of specific metrics with both and search for matching targets between the Kinect and other color images.  As we pursue this, we found that the Kinect performs what looks like sharpening on the images, and this created artifacts of unrealistic color bands on our targets which throws off the application we utilize in this process.
See the comparison of images from different sources in the screenshots section.
Is there some way to prevent this sharpening?  A setting to change?  Or is there a way to retrieve raw color images from the Kinect so we may process them ourselves?
To Reproduce
Take a color image of a black on white object with the Kinect Camera at any resolution.
Expected behavior
No white banding or black edging artifacts as shown in an image from another camera.
Screenshots
Image from the Kinect:

Image from another Camera:

Notice the faint white banding in the Kinect Image, and the lack of such banding in the other Camera's image
Desktop (please complete the following information):

OS with Version: Windows 10 v2004, build 19041.1415
SDK Version:  .NET Nuget v1.4.1
Firmware version:  RGB Camera: 1.6.110; Depth camera: 1.6.70; Audio: 1.6.14

This is still a concern that we are experiencing.  If it's not possible to get the RAW image directly (Note we only take snapshots with the Kinect, and do not need this data streamed continuously), is there a particular algorithm that's been applied (like say, a sharpening filter) that we could reverse?

Is there any update on this?

@dasparli ?

I'm looking into this now.
In the meantime, the Azure Kinect Viewer has a sharpness control for the color camera. Have you tried changing this value to see if different settings have an effect on these artifacts?

@dasparli Thank you for the suggestion.  I have rerun the process with this suggestion and have some comparisons that I hope will help you in your process to correct this concern.
First, changing the sharpness did not result in the desired identification and localization of targets.  Reducing the sharpness, however, did reduce the amount of this artifact occurring, though didn't prevent it entirely.
At sharpness level 0 we did get one target correctly coded, though the rest were not coded at all.  For context, we use two types of targets, one set is all the same white circle with a black border; the other is as you saw in the above images - one white circle, surrounded by a black border, than segments of a white border, and all surrounded by black.  These segments are unique for each target allowing for unique coding and successfully disambiguating camera localization.  Our problem with this sharpening is that the third party system we use is unable to correctly identify the coded targets.
Here is the only target in a sample image that was coded correctly in this system (when sharpness was set to 0):

This same target when the sharpness was set to 4 looks as follows:

The white band as mentioned previously, is not nearly as present in either of these images between the white segments, however, the same type of artifact on the edges, this black banding, (and increased white banding on the edges of the white segment) is very apparent in the sharpness level 4 image, and still present, though much subdued in the sharpness level 0 image.
You can see further examples of this in looking at the following image of an uncoded target which is misidentified as a coded target when shot with sharpness at level 4:

As I mentioned, when shot with the lowest sharpness only one coded target (of almost 40) is identified as a coded target because of the this sharpening banding.
As a further example this is a failing coded target (the next best target in the current view) that fails at sharpness level 0:

While you continue to look into this, is there anything else you think we may be able to try to get less of this banding?
Thanks!

@dasparli Any insights or movement on this?
Thanks in advance.

The ISP block that processes frames from the RGB camera can be configured and controlled by calling  k4a_device_get_color_control()
You can see this function being used to configure default parameters here.
Perhaps you can experiment with different values for some of these configurations in k4aviewer.exe in hopes of affecting those artifacts you are seeing.


allow custom user_timeout

re: #301

Coverage decreased (-0.07%) to 41.205% when pulling 33aa58f0eea46ae6dc6a06b0f597d26ba1bc29ca on JSRossiter:user-socket-timeout into 852b2561b62702524dba37926fc720a2f399de09 on sammchardy:master.

Thanks @JSRossiter will include in next version


fix: stop using deprecated pd.read_table argument squeeze

Instead, use the .squeeze("columns") function, as for example done here:
https://github.com/sktime/sktime/pull/2693/files
This closes #39, with more relevant info over there.

I merged in #40, as the tests there fail with the failure that this PR fixes. So we should probably merge this all at once.

This fix exposed a lot of parts of the workflow that haven't aged well, so in addition to updating the CI workflow, I will now also update all the wrappers. And change the name of the pull request accordingly.


[To rel/0.13][IOTDB-3018] Fix compation bugs on handling deleted target file

A cherry-pick of #5693

@choubenson PTAL


VS Code: Disable Ctrl Right / Only Right from code completion

For whatever reason ctrl + → does accept auto complete and i hate it because i actually just want to get to the right, same with regular →
There isn't an option in the keyboard shortcuts.
Does anyone have the same issue? or does know how to fix it?

Same here. I love supermaven but I use these shortcuts hundreds of times a day and there's no way to disable this. This setting alone is probably going to cause me to ditch the extension because every time I navigate through words it automatically accepts random unrelated AI suggestions, so I have to either slow down by a factor of 2-3x and use my mouse every time I'm typing, or uninstall, and it's an easy choice.

Please @ me if this ever changes 😄

@justingolden21 @Dreathorian is this happening only in VSCode or also in NeoVim?

oh it seemed to be keymap in vscode, i dont know how it got there, but i
found it when look for arrow right
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
Virus-free.www.avg.com
http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
On Wed, 11 Sept 2024 at 12:01, AoMe · 青目 @.***> wrote:

@justingolden21 https://github.com/justingolden21 @Dreathorian
https://github.com/Dreathorian is this happening only in VSCode or also
in NeoVim?
—
Reply to this email directly, view it on GitHub
https://github.com/supermaven-inc/supermaven-nvim/issues/78#issuecomment-2343194126,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ARVVFZJGKPWF6V75QUQ2G6TZWAIH3AVCNFSM6AAAAABLUVW2A6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBTGE4TIMJSGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

I just use VSCode

@justingolden21 then maybe @Dreathorian can help you with the keymaps there, I don't have VSCode in my machine.

That would be appreciated. This shortcut works fine in VS code without supermaven as well as in nearly every other text editor I use; it's only when I have supermaven that it completes the line, so for that reason I believe it wouldn't be on vs code.

I have the same issue with zed
Except on Mac it cmd + arrows


test: passing source map json to loader

Add some tests to parseSourceMap to improve this Ensure babel understands webpack sourcemaps #889

@icatalina It may help pass coverage tests


Impossible to disable SSL verification for login

When instantiating connection, login() is called, before setVerifySsl() can be called.
This means SSL will always be checked on login, and verify_ssl parameter is useless.

This should be fixed with 0b34672 now ;)


Tighten the check for URLs in config keys

HTTParty users can party hard once again.
Fixes #3398

Awesome, thanks!

Thanks for this!

Released in 1.8.2!


⚠ Samsung has degraded performance

In 4c34667, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2805 ms

Resolved: Samsung performance has improved in 7b2a4d9.


Incorrect rendering of ^ in text mode

Try
\text{a\^{}b}

in KaTeX vs LaTeX. In the latter \^{} is a proper caret character, whereas in the former.. well, I'm not quite sure what's going on, maybe it's only a spacing issue, but the result certainly looks wrong.
(Replacing \text with \texttt may help see the problem)

Interesting, thanks for spotting. I need to understand when accented characters take the width of the accent (perhaps empty base character is a special case?) and when they take the width of the base character (as in \^\i).

any progress on this?

@edemaine it looks like it's a text mode thing.  Here's what quicklatex.com produces:
\text{a^{}b}

a^{}b

The second one is actual an error.  I didn't notice it at first because quicklatex.com doesn't enable error reporting by default.

I hadn't realized that \^ is equivalent to \textasciicircum. I'll make a quick PR!

\^ is a text-mode accent command. The issue is with accent commands having empty arguments. In KaTeX, a blank argument is treated like a zero-width box, so the accent gets centered on top.  In LaTeX, a blank argument seems to behave the same as something like a space, but I'm not sure by what mechanism it does so (minimum width? special case of {} argument?). Perhaps this is done at the TeX level? Without knowing the mechanism, it's difficult to implement...


Add Custom JSON Marshalling to NCCO

When we make an API call, we can just pass in the NCCO as an object and the library handles everything for us. When returning an NCCO response, the user needs to call GetActions() themselves. As a helper feature, make the NCCO do this by itself when it is JSON-Marshalled.

@lornajane Can I work on this?

Please go ahead, thanks :)

Merged and released in v0.12.1

@avinashdhinwa, do you mind if we shout you out for this awesome contribution on twitter?  This is you?

@ruskibenya Yes, this is me. I would be more than happy for this.


Dogfood our Flank Github action

Author the user story for this feature
As a developer its always good to dogfood our own product. Lets use Flank Github action on the project itself.
Describe alternatives considered
This is possibly a duplicate.

@piotradamczyk5 is this already done? I would assume we could remove some of our existing implementation  in favor of using the GitHub action? So I assumed its not.

It is done, we could use github action instead of our IT tests

@piotradamczyk5 lets then update our ticket as its a cool replacement, wdyt?

Perfect for me 🎉

Provide more information, what should exactly be done in the scope of this issue. It's a tiger or dragon?

This is a 🐯
The task is about replacing custom integration tests solution with Flank github action

For my curiosity, what would be added value from it? Does it mean that every change we do in integration_tests module needs to be published as gh action with new version?


Peerdependecy automatic installation

Hey, @rjrodger!
I'm having a little issue between Node.js/NPM and peerDependencies.
Currently, the package.json relies on the npm7+ feature which installs all listed peerDependencies. The peerDependencies aren't declared in the devDependencies/dependencies:
  "devDependencies": {
    "@seneca/maintain": "^0.0.20",
    "@types/jest": "^27.4.1",
    "@types/node": "^17.0.25",
    "esbuild": "^0.14.38",
    "esbuild-jest": "^0.5.0",
    "jest": "^27.5.1",
    "seneca-doc": "^2.1.3",
    "seneca-msg-test": "^3.2.0",
    "typescript": "^4.6.3"
  },
  "peerDependencies": {
    "@seneca/entity-util": ">=1",
    "seneca": ">=3",
    "seneca-entity": ">=16",
    "seneca-promisify": ">=2"
  }

However, this feature was only introduce in Node.js 15+. Therefore, if I'm not mistaken, this opens the door for potential bugs. As some packages will not be installed.
For example: containers that uses some other current Node.js Maintenance LTS version(e.g. Lambada environment - 14x).
A basic solution for this, will be to add the peerDeepencies to the devDependencies list, also. Allowing a good support for those who are working with previous versions of Node.js(at least until Node.js team provides some support for them):
   "devDependencies": {
    "@seneca/entity-util": "^1.3.0",
    "@seneca/maintain": "^0.0.20",
    "@types/jest": "^27.4.1",
    "@types/node": "^17.0.25",
    "esbuild": "^0.14.38",
    "esbuild-jest": "^0.5.0",
    "jest": "^27.5.1",
    "seneca": "^3.26.2",
    "seneca-doc": "^2.1.3",
    "seneca-entity": "^16.4.0",
    "seneca-msg-test": "^3.2.0",
    "seneca-promisify": "^2.3.0",
    "typescript": "^4.6.3"
  },
  "peerDependencies": {
    "@seneca/entity-util": ">=1",
    "seneca": ">=3",
    "seneca-entity": ">=16",
    "seneca-promisify": ">=2"
  }

If you think this solution is suitable, I'm more than willing to open a PR enforcing this update.

This indeed intentional :)
Seneca plugins in actual use are not standalone - the app that uses them needs to have the peerdeps as actual deps
It does cause an issue for Github Actions unit testing this plugin standalone - you can see we do a manual install to handle that

I see. Thanks for the clarification. 👍🏾


use JSON formatter also for broadcast.emit

fixes #3

Can’t believe I haven’t broadcasted anything yet ... it’d be great to have an easy way to test this in CI. Thanks though, I might merge this and take the opportunity to rewrite this library as proper dual module 👍

up and running, thank you again 👋

I might [...] take the opportunity to rewrite this library as a proper dual module 👍

I was thinking the same... But go ahead... you're a better coder than me ;)


lack of liquidity trading form output should show dashes

button should say insufficient liquidity

fixed - closing

fixed - closing


Admin command to open a GUI for an NPC that displays their quests for specific players

What does your feature do?
Adds a command like /questsadmin opengui <npcUUID> <playername>
Currently, if an NPC is used as a quest-giver, right clicking on them opens up the questing menu directly and instantly. In our server we use Interactions as well as Denizen to create an environment where players can interact with an NPC and choose to:

Chat with NPCs about the town
Choose to open the NPC's shop
Ask the NPC about available work (Quests)

With Interactions, we can accomplish the first two with no problem! For the quests feature, I've been working on some workarounds, but have had iffy results so far.

For the chatter portion, we use the "random dialogue" function with Interactions
For shops, we use dtlTradersPlus and console_command: dtltraders open %player% blacksmith to open the shops GUI via Interactions as well

For quests, I've made a few flowcharts to test theories and workarounds, but it's super linear, and as the amount of quests scales up or we want to implement additional quests aside from one questline e.g.:

A linear questline to unlock higher tiers (additional pages) in the NPC's shop
Repeatable quests for the NPC
One-time quests that are unlocked by default, or that have unique requirements, but are not tied to the NPC's main shop questline

With how things are currently set-up, I don't know if it's possible.
Currently it looks like:
If quest1 isn't complete, show quest1
If quest1 is complete, show quest2
If quest2 is complete, show quest3
If quest3 is complete, show quest4 ... and so on using Conditional Dialogues with Interactions. I've been testing things out but don't think I could show repeatable quests, or scale it very efficiently.
Flowchart: (may need to enlarge)

With this workflow, I've been running something like console_command: questadmin give %player% Prototyping, which returns a "CONSOLE force you to take... quest" message in chat. If I were to give the player permission to use /quests take, we would have to add specific permission nodes for each quest, or use player flags via denizen, of which we would have a few hundred.

Instead of this spaghetti, we could use a command like /questsadmin opengui <npcUUID> <playername> to simply show all quests tied to that NPC when they choose the "Work" option.
How would people use it?
When utilizing another plugin like Interactions or Denizen - or anything that would have an NPC be used for multiple purposes other than just Quests, server owners and devs could create more lifelike NPC's with additional functionality, rather than just a quest-giver.

Thanks for the suggestion. Since this is a very specific use case, I'm hesitant to add a new command, especially where typing an entire UUID would be necessary for casual use. This level of integration should either be with a custom plugin of your own or something like Depenizen. You might also consider hiring a developer for this purpose.

Right on - thank you for the quick response!

https://pikamug.gitbook.io/quests/casual/modules#want-support-for-other-plugins-or-features


Master

I cant tell what this does, but there seems to be modifications to the bootstrap lib files, is that really something we want to do?

No, it was a mistake by me, sorry for the disturb!
By the way, would you please help to check the email I send to you about a bug?
???? iPhone
? 2017?1?18??15:52?TheRockman <notifications<EMAIL_ADDRESS>???
I cant tell what this does, but there seems to be modifications to the bootstrap lib files, is that really something we want to do?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/Teleopti/styleguide/pull/191#issuecomment-273406894, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AIfAeDNppaX951DXdvYFrQQiYG9JdxQ8ks5rTcSggaJpZM4Lmj3d.

OK, so can i close this pr?
Yes, i have brought up the bug in the front end guild chat so that we can talk about it :)


Unable to create or edit Menus and Categories

Version information

Laravel: v5.7
Voyager: v1.1
PHP: 7.1.20
Database: [MySQL] [5.7.19]

Description

I just made a fresh installation of the Laravel Framework and installed the Voyager package, the installation was successful. But when ever i try to create or edit pages, categories via the admin panel i get the error in the image below
Steps To Reproduce
Steps to reproduce the behavior:

Go to the voyager admin panel
Click on 'Pages' in the side navigation menu
Click 'Add new' page or 'Edit' an a existing page
See error

Expected behavior
An ErrorException is rendered
Screenshots

Additional context
The same error also happens when you navigate to Categories in the side navigation menu and do the same actions.

Great, Thank you!
When will this be completed and ready for use?

I'm also facing samethings


perlPackages.ConfigIniFiles: Use buildPerlPackage

This is to fix cross NixOS builds. buildPerlModule uses Module::Build
which does not cross-build. The package doesn't seem to need
Module::Build so switching to buildPerlPackage seems to be safe.

Motivation for this change
https://github.com/NixOS/nixpkgs/issues/66741#issuecomment-1028427350
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg test switchTest


Running without the garbage collector showed better performance: GOGC=off c2go transpile sqlite3.c
See if we can add GOGC=off to the integration tests to make them run faster.

Interesting. My guess (which could very well be wrong) is the enormous amount of AST nodes it needs to create when parsing the clang output.
I'm in two minds about disabling this on Travis. While it may makes the build faster it also creeps away from the normal commands that would be run. Also if for some reason it allocated a huge amount of memory it would break not only the current build but also potentially all the previous builds (with this change) if we wanted to rerun them.
I'd love to know exactly why Go is spending so much time cleaning up in the first place - maybe then we can find genuine performance gains there...
I know that @Konstantin8105 has done some awesome work with finding which parts contribute significantly to the CPU.

I agree that we should fix the problem at the root, i.e. reduce allocations.
I am guessing that we have a lot of duplicated strings (identifiers, types, ...) Maybe doing some string interning could be beneficial? https://github.com/golang/go/issues/5160
Will need gather more metrics.

Few time ago, I test speed of Go on simple math operation - multiplication of matrix(https://github.com/Konstantin8105/Matrix-Multiply-Part1).
At the result, without changing of any in GC, we can multiply matrixes with speed ~ C code.
Ignore my point, if it outside of thread.

I will try to think about minimize allocation for main.convertLinesToNodesParallel

May be for more precision- we will create a benchmark test. Feel free for implementation(action).

Before:
○ → GODEBUG=gctrace=1 c2go transpile -V  sqlite3.c
......

// Function: sqlite3_compileoption_used(const char *)

After trying to modify main.convertLinesToNodesParallel for minimaze allocations :
○ → GODEBUG=gctrace=1 c2go transpile -V  sqlite3.c
......

Result is fail. So, I reject PR.

Just for information ,
gc 32 @24.755s 5%: .........

I found only 4...5% of time for GC.
In my point of view, let's say - it is fine ).


Bun project creation command is incorrect

📚 Subject area/topic
Bun recipe
📋 Page(s) affected (or suggested, for new content)
https://docs.astro.build/en/recipes/bun/
📋 General description or bullet points (if proposing new content)
The project creation command for bun should be:
bunx create-astro my-astro-project-using-bun

https://bun.sh/guides/ecosystem/astro
The @latest seems to be causing issues for users: https://github.com/oven-sh/bun/issues/4672
🖥 Reproduction in StackBlitz (if reporting incorrect content or code samples)
N/A

Actually, the current command works fine, might be caused by some other issue in Bun. Closing the issue.


package.json for nodejs version

I need to recreate the contents of node_modules using npm so I don't have to include the entire node_modules folder in source control. Can you please share the package.json used to create the nodejs lambda? Thank you so much for sharing your work on this project!
Edit: I've used npm shrinkwrap to ensure all dependencies are the correct version however I the<EMAIL_ADDRESS>dependency still doesn't resolve to the version that is included in your project. When I run npm install and replace generated node_modules/selenium-webdriver with the version that you provide it works.

I haven't tried it, but I think that's because of the new version of selenium-webdriver is not compatible with chromedriver version supplied in lib. Change chromedriver version and that should work.


Docker Build Fails

Executing the following:
cd petprep_extract_tacs && docker build . -t petprep_extract_tacs
yields:
 > [12/19] COPY setup.py /petprep_extract_tacs/setup.py:
------

 1 warning found (use docker --debug to expand):
 - FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/x86_64" (line 2)
Dockerfile:87
--------------------
  85 |
  86 |     # copy the project files
  87 | >>> COPY setup.py /petprep_extract_tacs/setup.py
  88 |     COPY . /petprep_extract_tacs/
  89 |
--------------------
ERROR: failed to solve: failed to compute cache key: failed to calculate checksum of ref d3da3e54-60d8-4911-975c-7c24d44d35e4::0gela23um0w6h3rpkn28bsqh5: "/setup.py": not found

This was fixed by simply removing line 87. This was fixed in v.0.0.5.


failed to use 'compose_extrinsic'

When I want to try to send a transaction in my own rust program. An error occurred，How do I deal with this problem?
error[E0599]: the method `get_nonce` exists for struct `Api<sp_keyring::sr25519::sr25519::Pair, WsRpcClient, BaseExtrinsicParams<AssetTip<u128>, u32, primitive_types::H256>>`, but its trait bounds were not satisfied
  --> src/main.rs:44:46
   |
44 |           let xt: UncheckedExtrinsicV4<_, _> = compose_extrinsic!(
   |  ______________________________________________^
45 | |         api.clone(),
46 | |         "Balances",
47 | |         "transfer",
48 | |         GenericAddress::Address32(to.into()),
49 | |         Compact(42_u128)
50 | |     );
   | |_____^ method cannot be called on `Api<sp_keyring::sr25519::sr25519::Pair, WsRpcClient, BaseExtrinsicParams<AssetTip<u128>, u32, primitive_types::H256>>` due to unsatisfied trait bounds
   |
  ::: /home/gzh/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-core-7.0.0/src/sr25519.rs:83:1
   |
83 |   pub struct Pair(Keypair);
   |   --------------- doesn't satisfy `_: substrate_api_client::Pair`
   |
   = note: the following trait bounds were not satisfied:
           `sp_keyring::sr25519::sr25519::Pair: substrate_api_client::Pair`
   = note: this error originates in the macro `compose_extrinsic` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0599]: no method named `sign` found for struct `sp_keyring::sr25519::sr25519::Pair` in the current scope
   --> src/main.rs:44:46
    |
44  |           let xt: UncheckedExtrinsicV4<_, _> = compose_extrinsic!(
    |  ______________________________________________^
45  | |         api.clone(),
46  | |         "Balances",
47  | |         "transfer",
48  | |         GenericAddress::Address32(to.into()),
49  | |         Compact(42_u128)
50  | |     );
    | |_____^ method not found in `sp_keyring::sr25519::sr25519::Pair`
    |
   ::: /home/gzh/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-core-7.0.0/src/crypto.rs:892:8
    |
892 |       fn sign(&self, message: &[u8]) -> Self::Signature;
    |          ---- the method is available for `sp_keyring::sr25519::sr25519::Pair` here
    |
    = help: items from traits can only be used if the trait is in scope
    = note: this error originates in the macro `$crate::compose_extrinsic_offline` which comes from the expansion of the macro `compose_extrinsic` (in Nightly builds, run with -Z macro-backtrace for more info)
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
18  | use sp_core::crypto::Pair;
    |

error[E0599]: no method named `public` found for struct `sp_keyring::sr25519::sr25519::Pair` in the current scope
   --> src/main.rs:44:46
    |
44  |           let xt: UncheckedExtrinsicV4<_, _> = compose_extrinsic!(
    |  ______________________________________________^
45  | |         api.clone(),
46  | |         "Balances",
47  | |         "transfer",
48  | |         GenericAddress::Address32(to.into()),
49  | |         Compact(42_u128)
50  | |     );
    | |_____^ method not found in `sp_keyring::sr25519::sr25519::Pair`
    |
   ::: /home/gzh/.cargo/registry/src/github.com-1ecc6299db9ec823/sp-core-7.0.0/src/crypto.rs:901:8
    |
901 |       fn public(&self) -> Self::Public;
    |          ------ the method is available for `sp_keyring::sr25519::sr25519::Pair` here
    |
    = help: items from traits can only be used if the trait is in scope
    = note: this error originates in the macro `$crate::compose_extrinsic_offline` which comes from the expansion of the macro `compose_extrinsic` (in Nightly builds, run with -Z macro-backtrace for more info)
help: the following trait is implemented but not in scope; perhaps add a `use` for it:
    |
18  | use sp_core::crypto::Pair;

Try by using 'sp_core::sr25519::Pair'

If you are using an outdated version of the api-client you can use the fix proposed by @shanithkk. However, your error shoud actually be fixed since https://github.com/scs/substrate-api-client/pull/261. Are you using an old api-client version?

see bh/update-subsrate this branch for Cargo.Toml @CoderfishGzh , PR #339

see bh/update-subsrate this branch for Cargo.Toml @CoderfishGzh , PR #339
Okay, I'll try this solution

@CoderfishGzh the branch has been merged to master, so you can, you master once again. I hope it solves your problem!

Closing this, as the api client is now up-to-date with substrate master. If it's still a problem, please reopen @CoderfishGzh


[PROTOCOL]: Authentication proof is impossible for unitialized wallets

Describe the bug
As I understand from your manuals and tutorials, tonconnect v2 backend authentication idea is that the frontend should receive a "proof" from the server, pass it to tonkeeper and receive the "signature" back.
But problem is that signature is generated using the wallet private key. So the backend needs the wallet public key to check it. And that's indeed how you implemented the check in your demo-dapp-backend.
BUT if the wallet is not initialized, its public key is NOT PRESENT in the blockchain! So it's impossible to take it from there and verify the proof signature.
To Reproduce
Steps to reproduce the behavior:

Try to authenticate in demo-dapp-backend with a new wallet
Tonkeeper says it's authenticated
Get an error "wallet is not initialized" when trying to access https://tonapi.io/v1/wallet/getWalletPublicKey

Expected behavior
Authentication with backend proof works :)

@siandreev Are you related to Tonkeeper? Or are your colleagues related to it? :)
Can you take a look at https://github.com/tonkeeper/wallet/issues/284 if you are? :)


Implement Code-Server

https://github.com/codercom/code-server

Made a new issue without noticing this :/ #534

It's done!


Upgrade cartodb extension to 0.7.3 [do NOT merge] #990

@Kartones mini review, https://github.com/CartoDB/cartodb-postgresql/releases/tag/0.7.3
shall not merge until the new version is deployed in production

Frontend tests were OK :+1: (details)

+1


Create custom markdown math renderers for native notebooks

https://github.com/microsoft/vscode/issues/106701 introduces an initial API allowing extensions to contribute custom markdown renderers for notebooks.
https://github.com/microsoft/vscode/pull/115191 is an experimental markdown renderer for native notebooks using the API above. It uses markdown-it to parse markdown, and markdown-it-katex which is a KaTeX extension for markdown-it to render math equations.
The existing KaTeX-based math support is a good first step for math support in native notebooks. A next step would be to explore us contributing our own markdown renderer that fully matches JupyterLab's math-in-markdown handling.

Based on https://github.com/microsoft/vscode/issues/106701#issuecomment-765816050 it seems like extensions cannot bring their own markdown engine yet, i.e. we're limited to contributing markdown-it extensions (e.g. markdown-it-mathjax). Eventually VS Code intends to allow other extensions to bring their own markdown engine.


Use NodeJS v20 (LTS)

[!WARNING]
This PR depends on #248. Merge #248 first, then retarget this PR to main branch.

Changes

[x] Use NodeJS v20 (LTS).

Regards.

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

Comparison is base (36ee1b0) 91.60% compared to head (652aadf) 91.10%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #249      +/-   ##
==========================================
- Coverage   91.60%   91.10%   -0.51%
==========================================
  Files         270      269       -1
  Lines        6634     6461     -173
  Branches     1350     1308      -42
==========================================
- Hits         6077     5886     -191
- Misses        291      468     +177
+ Partials      266      107     -159

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


persist queue between restarts

Will not implement persistence with in-memory implementation.  This will be achieve by using other durable queues


[Answer from BA needed] Validation errors for favicon (size, type, resolution)

Validation errors for file size limit exceeding:

File size limit is 1KB
Favicon file too large, please upload file up to 1KB
Favicon file exceeds maximum size of 1KB

Validation errors for wrong file format:

Only .PNG and .ICO file formats are allowed for favicons
Please upload a favicon in .PNG or .ICO file format
Please ensure that your favicon file is .PNG or .ICO format and try again.

Validation errors for wrong resolution:

Favicon resolution must be a multiple of square (for example: 16x16px)
Please resize your favicon to a resolution that is a multiple of square (e.g. 16x16px)
Favicon dimensions must be a multiple of in both width and height (16x16px, 32x32px and so on)

I suggest the next options
Validation errors for file size limit exceeding:

Favicon file too large, please upload file up to 1KB

Validation errors for wrong file format:

Only .PNG and .ICO file formats are allowed for favicons

Validation errors for wrong resolution:

Favicon resolution must be a multiple of square (for example: 16x16px)


Fixing integration tests after CEP-1072 improvement

https://github.com/wso2/carbon-event-processing/pull/85 needs to be merged before merging this pull-request.


Notifications/Hooks to different systems.

The test system will need a way to get metadata about bundle builds.
First stab at a proposal:

Bundle builds have a unique ID and are stored in S3, under a path like /path/to/bundles/<buildnumber>/<files>.
<files> contains all the components of the bundle (jars, plugin zips, etc) and a manifest file.
The build system stores the bundle build in S3, then sends an SNS notification to the test system. The SNS message contains the bundle build ID and a link to the manifest URL. A simple JSON document would suffice: {"buildid":<number>, "manifest":"path"}
The manifest.yml looks like this:

schema-version: 1.0
product:
  type: opensearch | opensearch-min | dashboards | dashboards-min
  version: major.minor.patch
  platform: x64 | arm64
components:
  - name: string
    repository: github url
    commit: hash
    branch (optional): branch or tag name
  ...
build:
  snapshot: true | false

The schema-version field is to allow for evolving the manifest format over time.
The product element provides basic information about what this bundle represents.
The test system can inspect the product and build elements to determine which bundle test suites to run. For example, a snapshot opensearch-min bundle will have a fairly small set of tests (no plugins, no need for a full set of expensive performance tests for a snapshot build), whereas an opensearch non-snapshot bundle with 15 components will require a much larger test suite, including tests for each component.
The snapshot field could be included under the product element, but I feel that product information and build information are distinct attributes, so I prefer to split out the build information into its own structure.
Component information is included both for reproducibility and to inform the test system which packages need to be checked out in order to run per-component integration tests.
When the test system receives a notification it can load the manifest and start an appropriate test pipeline for the bundle.

I like this.
Couple of questions (Trying to understand):

How are dependencies listed? Would they be another product?
If yes to 1. How do we know which build-id was used to build the bundle for a product. i.e Probably the inner question is, is the build-id the id for bundle or for each product artifact the bundle was built out of?

By dependencies, do you mean the individual plugins? Those are captured in the components section, one entry per plugin plus one entry for the core opensearch component. Plugins are not standalone products.

By dependencies, do you mean the individual plugins? Those are captured in the components section, one entry per plugin plus one entry for the core opensearch component. Plugins are not standalone products.

Yeah mostly plugins and libraries. That makes sense.

I wrote up a meta issue on our end to describe this e2e - #132.
In order for us to read and build this in a script we need to know the entry-point for each component to build & its output location.  So we either include that as part of this manifest as input-command/output-dir properties or define standards in build.sh.
Another thought here, we need a way on the build end to know if a particular component has been cached.  If it is then we will not build it or include it in artifacts for release.  This is particularly useful for libs that may not have been updated.  Something like -
schema-version: 1.0
product:
  type: opensearch | dashboards
  version: major.minor.patch
  platform: x64 | arm64
components:
  - name: string
    repository: github url
    commit: hash
    branch (optional): branch or tag name
    cached-version (optional): 1.0.0
  ...
build:
  build-id: string
  location: s3://path/to/<build-id>

nit: commit -> ref, standard git naming

[Triage] When jenkins has been make public users/tools can subscribe via RSS feed to jobs of interest for them.  If there are more specific workflows that cannot be supported we can look at individual feature requests.


Confused on waht you want to do...
You mean an init script? You're gonna need to learn how to write scripts for your init, if it's not already been done.
Do you want to run custom stuff instead of the traditional DE or WM? (CustomXSession)

I am going to guess what you are looking for. I see two possibilities (Stop me if I'm wrong with either).

You are wondering how to start up ly with xinitrc. I'm sorry, that isn't how it works. Ly is started by your init system. For most distros this is systemd, in which case follow the install instructions from the readme. Only OpenRC and SystemD are supported at the moment.
You are wondering how to start your Desktop Envrionment or Window Manager of choice. In which case I might be able to help you. To allow my xinitrc to start multiple WMs and DEs I used a case statement to switch between different choices based on the input arg for the xinitrc script.
This the bottom of my xinitrc:

# dwm function
dwmStart()
{
	# Polkit
	lxsession &

	# Compositor
	#picom -b --experimental-backends &

	# Status Bar
	slstatus &
	#dsblocks &

	# Loop dwm upon exit.
	while true; do
		dwm > /dev/null 2>&1
	done

	# Start dwm
	exec dwm
}

# bspwm function
bspwmStart()
{
	# Polkit
	lxsession &

	# Set cursor
	xsetroot -cursor_name left_ptr

	# Set background
	#hsetroot -solid "#052e70"
	hsetroot -solid "#000000"

	# Compositor
	picom -b --experimental-backends &

	# Start bspwm
	exec bspwm
}

session=${1:-"dwm"}

case $session in
	"dwm"	 		) dwmStart;;
	"bspwm"		) bspwmStart;;
	* 		 		) exec $1;;
esac

Then I create an .desktop file for my window manager/desktop environment in /usr/share/xsessions, ly will look here for different WMs and DEs to start. This desktop file will point to the xinitrc script and give an arg for the WM/DE you want it to start.
This is my desktop file for dwm:
[Desktop Entry]
Name=dwm
Comment=Dynamic window manager
Exec=/home/user/.xinitrc dwm
Type=XSession

If either of these are wrong, please give more information, so that we may help.

thanks guys, figured it out. im not very familiar with inits and stuff, sorry


Add ability to log your last 10 days of activities and share by link

I think there are a few other issues open on this topic.
Use case: I want my friend to tell me his score for the last 10 days so I know the cost of seeing him.
It doesn't make sense to have him use the spreadsheet.
And this approach is possibly easier than me having to enter all data. (although that's how I currently solve it.)
It's require a lot of design work to come to with a UI/UX that's easy to use.
Possible approach:

create an exandable section below the main calculator called "activity log"
allow you to click "add to log" for the current scenario above.
offer delete/edit buttons for each activity
must include a way to set the date of the activity.
automatically remove the activities over 10 days old
display your 0-7 day budget total (risk to you) and 2-9 day budget total (risk to others)
display your totals as a percentage of your weekly budget
include a note that you must include entries for housemates
possibly allow activies to not have a date and always count against your score (because you do them every week)

I think our decision was "improve the spreadsheet / messaging so people use the spreadsheet." Ok to close?

Yeah I'll close this. I'll open a different issue that is about how to properly directly users to the spreadsheet when they want to solve this problem.

I created #484 as an issue for that.


Set VM IP not registered by ONE

Enhancement Request
Description

Be able to configure manually the IP a VM is using on a specific network.
Use case

VMs imported on a previous version has no the VM - VNet IP association done.
VMs imported in power off state can't provide IP info through the vmWare tools, so the association can't be done automatically.
Interface Changes

New button on Leases tab to select the VM and the IP to hold. Alsa available through CLI and API.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

bumping, interesting feature.

Hi,
Version 5.12.8 is a real forecast?

Unfortunately no, since 5.12 is already in feature freeze. I've adjusted the milestone, we'll try it for 6.0 or subsequent maintenance releases (6.0 beta is almost ready)

Ok, thanks for considering.

PRs to merge in 6.2 & master:

code
docs
tests

we need sunstone support for this, moving to 6.4


LabeledMultiChoice.new won't work properly

I'm trying to get something to work so I can copy the the LabeledMultiChoice from the RobloxPluginGuiService, unfortunately, I have no luck. If I try a local plugin in my plugins folder, it prints out 16:40:56.495 - forrobloxosthingy.lua:19: attempt to index nil with 'new' and as a installed published plugin prints out 16:55:02.143 - Plugin_4087104785.Script:19: attempt to index nil with 'new'. If that happens, then it is likely that saving a local plugin not in my plugins folder or pcall(function() won't work too. If you want to download the code, click here.
Thanks.
Plus judging by the attempt to index nil with 'new', it might have been removed.

It doesn't look like you have added the project to your file structure.
Use the following in the cmd line to add the StudioWidgets project folder to your workspace. This can then be placed anywhere and also saved with your plugin.
local http = game:GetService("HttpService")
local req = http:GetAsync("https://api.github.com/repos/Roblox/StudioWidgets/contents/src")
local json = http:JSONDecode(req)

local targetFolder = Instance.new("Folder")
targetFolder.Name = "StudioWidgets"
targetFolder.Parent = game.Workspace

for i = 1, #json do
	local file = json[i]
	if (file.type == "file") then
		local name = file.name:sub(1, #file.name-4)
		local module = targetFolder:FindFirstChild(name) or Instance.new("ModuleScript")
		module.Name = name
		module.Source = http:GetAsync(file.download_url)
		module.Parent = targetFolder
	end
end

You will also need to Require() the LabeledMultiChoice module inside the StudioWidgets to be able to use the LabeledMultiChoice.new() function.

Thank you! 😊 I did had to turn on HTTPService, which I forgot.


Is roadmap still valid?

I noticed that roadmap have not been updated over two years and I was wondering if those short-term goals are still valid or already handled?

@olljanat right, that document is now obsolete and we are not really following it

we can simply delete it if that creates confusion

@fcrisciani actually I already created PR of it #2316 or did you mean drop whole file?

I think we can also drop the file as a whole, we are not really planning to update it in the near future.

@fcrisciani OK. Updated PR to remove it


ARROW-17055: [Java][FlightRPC] flight-core and flight-sql jars delive…

flight-core and flight-sql jars delivering same class names.
It seems that the classes generated by Flight.proto gets generated in both flight-sql and flight-core jars. Since these classes get generated in flight-core, and flight-sql is dependent on flight-core, can the generation of Flight.java and FlightServiceGrpc.java be removed from flight-sql and instead rely on it to be pulled directly from flight-core.

@github-actions crossbow submit java-jars

Thank you @KBambrick1!


Move example_pubsub_flow.py to GCP package

Closed via https://github.com/apache/airflow/pull/6139


Handle nested composed decider builders

We are working on a use case where we want to nest our composed decider builders.  It seems that when Pass() is called it uses the original state data that was passed in as a string.  So if we nest these builders that call Pass(), later deciders get the state data as a string instead of a struct.  Is this expected?  Should we be using the ContinueDecider instead of calling Pass()?
e.g.
fsm.NewComposedDecider(
   fsm.OnWorkflowCancelRequested(
	OnActivitiesOutstanding( < do something > ),
	fsm.UpdateState( <update some state > ), fsm.CancelWorkflow(sugar.S("Cancel Requested"))),
	fsm.DefaultDecider(),
)

Our implementation of OnActivitiesOutstanding
func OnActivitiesOutstanding(deciders ...fsm.Decider) fsm.Decider {
	return func(ctx *fsm.FSMContext, h *swf.HistoryEvent, data interface{}) fsm.Outcome {
		if len(ctx.ActivitiesInfo()) > 0 {
			return fsm.NewComposedDecider(deciders...)(ctx, h, data)
		}
		return ctx.Pass()
	}
}

I realized my problem.
I was unit testing my decider and I initialized the FSMContext incorrectly with a string instead of an object.
e.g.
f := fsm.NewFSMContext(finiteStateMachine, swf.WorkflowType{Name: sugar.S("foo"), Version: sugar.S("1")},
		swf.WorkflowExecution{WorkflowId: sugar.S("2"), RunId: sugar.S("runid")},
		&fsm.EventCorrelator{}, "state", "some string", 1)

When I should have done this:
f := fsm.NewFSMContext(finiteStateMachine, swf.WorkflowType{Name: sugar.S("foo"), Version: sugar.S("1")},
		swf.WorkflowExecution{WorkflowId: sugar.S("2"), RunId: sugar.S("runid")},
		&fsm.EventCorrelator{}, "state", stateData, 1)


[improve][broker]improve the efficiency of creating topic

Motivation
The topic creating rate is less than 200 QPS  when the topic count of the namespace is about 200,000.
It is due to the time cost of topic exist checking. All the topics would be checked one by one in org.apache.pulsar.broker.admin.AdminResource#checkTopicExistsAsync. As the count of topic grows in a namespace, this method will take a lot.
Modifications
use org.apache.pulsar.broker.namespace.NamespaceService#checkTopicExists to check if the topic is exist because this method is more efficient.
Verifying this change

[x]  Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (no)
The public API: (no)
The schema: (no)
The default values of configurations: (no)
The wire protocol: (no)
The rest endpoints: (no)
The admin cli options: (no)
Anything that affects deployment: (no)

Documentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?

[x] doc-not-needed

Here is a related ML discussion https://lists.apache.org/thread/2b3bn6f2sw7m6x0pwx1dkk42q8pp3p8n

Closed as stale. Feel free to rebase and resubmit the patch.


Change the seq of on_train_batch_end, on_batch_end & on_train_epoch_end, on_epoch_end hooks

What does this PR do?
Fixes #5042
The idea is to have a sequence of hooks ending from specific to generic.
Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified
[x] Check that target branch and milestone match!

Did you have fun?
Make sure you had fun coding 🙃

Hello @kaushikb11! Thanks for opening this PR.

In the file tests/trainer/logging_/test_train_loop_logging_1_0.py:

Line 592:1: W293 blank line contains whitespace

Do see the Hitchhiker's guide to code style

Hello @kaushikb11! Thanks for opening this PR.

In the file tests/trainer/logging_/test_train_loop_logging_1_0.py:

Line 592:1: W293 blank line contains whitespace

Do see the Hitchhiker's guide to code style

I'd suggest we should deprecate these 2 hooks and remove them in the future.

I'd suggest we should deprecate these 2 hooks and remove them in the future.

I'd suggest we should deprecate these 2 hooks and remove them in the future. They are doing nothing different.

thoughts? @PyTorchLightning/core-contributors

I'd suggest we should deprecate these 2 hooks and remove them in the future. They are doing nothing different.

thoughts? @PyTorchLightning/core-contributors

I'd suggest we should deprecate these 2 hooks and remove them in the future. They are doing nothing different.

thoughts? @PyTorchLightning/core-contributors

Will had made a valid point of what if we want to do something on batch end across all three steps? We would have to duplicate the code in three methods.

@Borda @kaushikb11 @rohitgr7  I can think of use cases for these hooks, so its better not to deprecate them.

I'd suggest we should deprecate these 2 hooks and remove them in the future. They are doing nothing different.

thoughts? @PyTorchLightning/core-contributors

Will had made a valid point of what if we want to do something on batch end across all three steps? We would have to duplicate the code in three methods.

one can still do:
def _on_epoch_end_common(...):
    ...

def on_train_epoch_end(...):
   self._on_epoch_end_common(...)..

def on_validation_epoch_end(...):
   self._on_epoch_end_common(...)

def on_test_epoch_end(...):
   self._on_epoch_end_common(...)

we can configure above by allowing on_epoch_end irrespective of the running_stage, but that is just one case. If some one wants to make the behavior same in case of train & val only, one has to use the above code structure.
my point here mostly users think of epoch as something that happens during training since epoch means nothing in case of validation/test. I have already seen many issues raised w.r.t to the difference between on_validation_epoch_end and on_validation_end and adding one more might create more confusion.
But if everyone thinks this is a good option, not a problem since I don't use this hook anymore :v:

@Borda @kaushikb11 @rohitgr7 I can think of use cases for these hooks, so its better not to deprecate them.

@ananyahjha93 mind share a use-case?

@rohitgr7 on_validation_epoch_end is ModelHook and on_validation_end is from callbacks so they definitely serve two different purposes.
Keeping both on_epoch_end and on_train_epoch_end if say I just have to plot GAN generated images at the end of each train, val and test loops, I can do that with on_epoch_end instead of repeating my code.

@rohitgr7 on_validation_epoch_end is ModelHook and on_validation_end is from callbacks so they definitely serve two different purposes.
Keeping both on_epoch_end and on_train_epoch_end if say I just have to plot GAN generated images at the end of each train, val and test loops, I can do that with on_epoch_end instead of repeating my code.

@ananyahjha93 it's a callback hook too: https://github.com/PyTorchLightning/pytorch-lightning/blob/50fd4879a9d4f8b83ace27ee580b7633d4746361/pytorch_lightning/callbacks/base.py#L86

@rohitgr7 I have code in swav which utilizes both callback and model hook version of this function. So, deprecating one of them will probably change a lot of code not just in our repositories but other people's repositories as well.
Callbacks I would say serve a slightly different purpose at times than just calling the same function code in ModelHook's version of that method.

yeah valid point, but one has to update the code even if we change it's behavior now.

@rohitgr7 the reordering ideally should not change any code. Deprecating this would probably.

@rohitgr7 the reordering ideally should not change any code. Deprecating this would probably.

I meant changing it's behavior to run irrespective of train/val/test will require a code change. Re-ordering is not a problem.

@kaushikb11 Training hooks changes LGTM, do validation hooks have a similar ordering issue?

should we reorder on_epoch_start/on_batch_start too? currently it's
on_epoch_start
on_train_epoch_start
...
...
on_train_epoch_end
on_epoch_end

same for on_batch_start

@rohitgr7 We could move the discussion for on_spoch_start hook in the Issues.