Team Fix

Changes

Changed equality of teams to strong equality.
Add TeamName and Description custom classes.

Fixes

#164
#145
#140
#134
#133

Codecov Report
Base: 39.13% // Head: 39.13% // Decreases project coverage by -0.00% :warning:

Coverage data is based on head (58959ef) compared to base (af503b5).
Patch coverage: 35.71% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #171      +/-   ##
============================================
- Coverage     39.13%   39.13%   -0.01%
- Complexity      457      469      +12
============================================
  Files           143      147       +4
  Lines          2619     2668      +49
  Branches        327      338      +11
============================================
+ Hits           1025     1044      +19
- Misses         1529     1549      +20
- Partials         65       75      +10

Impacted Files
Coverage Δ

...a/seedu/address/logic/commands/AddTeamCommand.java
15.38% <ø> (ø)

...eedu/address/logic/commands/DeleteTeamCommand.java
9.52% <0.00%> (-0.48%)
:arrow_down:

.../seedu/address/logic/commands/EditTeamCommand.java
16.36% <0.00%> (ø)

...a/seedu/address/logic/commands/SetTeamCommand.java
9.52% <0.00%> (-0.48%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
53.84% <0.00%> (-9.80%)
:arrow_down:

src/main/java/seedu/address/ui/TeamCard.java
0.00% <0.00%> (ø)

...rc/main/java/seedu/address/ui/TeamDetailsCard.java
0.00% <0.00%> (ø)

...edu/address/logic/parser/DescriptionConverter.java
25.00% <25.00%> (ø)

.../seedu/address/logic/parser/TeamNameConverter.java
25.00% <25.00%> (ø)

src/main/java/seedu/address/model/team/Team.java
40.21% <33.33%> (-1.62%)
:arrow_down:

... and 4 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


CloneIn unnecessarily copies strings when cloning within same allocator

https://github.com/oxc-project/oxc/blob/2476dceee0a656a00d5138e0aeb34b5c062883d8/crates/oxc_span/src/atom.rs#L62-L68
https://github.com/oxc-project/oxc/blob/2476dceee0a656a00d5138e0aeb34b5c062883d8/crates/oxc_span/src/atom.rs#L76-L80
So Atom::clone_in copies the underlying string data and re-allocates it in new allocator.
This is the correct behavior when cloning from one allocator into another allocator - string data does need to be copied into the new allocator.
But when cloning within same allocator, this string copying is unnecessary. Could just do Atom::clone, which creates another reference to original underlying string data, with no data copy.
Not sure how to avoid this copying. Do we need a 2nd cloning trait for within-same-allocator cloning? And how would we enforce that the allocator provided to clone_in is the same allocator as the original? (or maybe we don't need to exactly - 'old_alloc: 'new_alloc would suffice to ensure that the string data in old allocator lives longer than the new Atom).

I think perhaps what we need is 2 different traits: CloneIn and CloneInto.
CloneInto
This is current CloneIn, just renamed to CloneInto. It can clone into a different allocator.
It uses 2 x lifetimes - 'old_alloc and 'new_alloc.
pub trait CloneInto<'new_alloc>: Sized {
    type Cloned;
    fn clone_into(&self, allocator: &'new_alloc Allocator) -> Self::Cloned;
}

impl<'old_alloc, 'new_alloc, T, C> CloneInto<'new_alloc> for Box<'old_alloc, T>
where
    T: CloneInto<'new_alloc, Cloned = C>,
{
    type Cloned = Box<'new_alloc, C>;
    fn clone_into(&self, allocator: &'new_alloc Allocator) -> Self::Cloned {
        Box::new_in(self.as_ref().clone_into(allocator), allocator)
    }
}

impl<'old_alloc, 'new_alloc> CloneInto<'new_alloc> for &'old_alloc str {
    type Cloned = &'new_alloc str;
    fn clone_into(&self, allocator: &'new_alloc Allocator) -> Self::Cloned {
        // String data is copied into new arena
        allocator.alloc_str(self)
    }
}

New CloneIn
This clones only within same allocator.
It uses only 1 lifetime 'alloc - the output has same lifetime as the input.
pub trait CloneIn: Sized {
    fn clone_in(&self, allocator: &'alloc Allocator) -> Self;
}

impl<'alloc, T> CloneIn<'alloc> for Box<'alloc, T>
where
    T: CloneIn<'alloc>,
{
    fn clone_in(&self, allocator: &'alloc Allocator) -> Self {
        Box::new_in(self.as_ref().clone_in(allocator), allocator)
    }
}

impl<'alloc> CloneIn<'alloc> for &'alloc str {
    fn clone_in(&self, _: &'alloc Allocator) -> Self {
        // String data is not copied
        self
    }
}

Probably CloneIn can have a blanket impl impl<'a> CloneIn<'a> for T where T: Clone (where CloneInto cannot).
FromInto / IntoInto?
If we go this route, would we also want to provide separate FromIn/IntoIn and FromInto/IntoInto traits which convert within same allocator / different allocator? (probably need better naming though! IntoInto??)
Is this worth it?
Having 2 traits is an extra complication. However, personally I think it's worth it because:

Within Oxc, CloneIn (clone within same allocator) is the one we'll use most. So it's good to have an implementation which is optimized for our common use case.
String copying is relatively expensive because strings are not sized, so it tends to involve a call to memcpy. Whereas copying sized types (most of cloning) can often be expressed with static size inline load/store operations.
Some strings (e.g. the Atoms inside StringLiterals) can be quite large. So again, relatively expensive to copy.
Thanks to ast_tools, creating a whole new trait and implementing it on all types is not as horrendous amount of work as it would be writing it by hand.

@rzvxa You are the one who knows these traits best. What do you think?

One further thought:
Alternative for cloning within same allocator
The root cause of why we need to call clone_in with an &Allocator is that oxc_allocator::Box does not hold a reference to its allocator internally. So when cloning a Box, you have to provide the Allocator.
If we encoded a reference to allocator within Box (https://github.com/oxc-project/backlog/issues/18#issuecomment-2296544508), then we could make the whole AST Clone, and then we'd only need CloneInto, and not CloneIn. However:

As discussed on that issue, that approach has some drawbacks, and even if we do go for it in the end, it is unlikely to happen any time soon.
CloneIn is not such a commonly-used API, so perhaps not worth bending over backwards to make the AST Clone. We can maybe get more juice out of spare bits in pointers by using them for other more common needs.

Therefore, regardless of what may become possible in future, I feel we'd be better off introducing the clone-within-same-allocator version of CloneIn now, rather than waiting for Clone to (maybe) become possible.


Fix lazy evaluation of gradients in line searches

The Backtracking and Hager Zhang line searches always evaluated the gradient, even if it was already present (because of usage of unwrap_or). In addition, More Thuente would panic if the gradient computation returns an error (because of usage of unwrap). This PR fixes this.
Unrelated: With respect to your usage of dependabot I would recommend using squash & merge in the Github UI to avoid littering your commit history with tons of merge commits. But feel free to ignore this opinion.

Good catch, thanks a lot for this PR!
Regarding merge/squash: I have to admit that I just didn't pay that much attention, but I agree that squash & merge would be more appropriate. Thanks for this comment!


Revamp builds

This PR makes changes similar to https://github.com/orchidjs/sifter.js/pull/33. The primary goal here is to get things working correctly with ESM and TypeScript.
I've tried to carefully think through the potential for breakage, but it's possible something may slip through the cracks. Anything that does break will hopefully be easy to fix forward.
I considered releasing this as a breaking change, but that really shouldn't be necessary; not much should change for consumers. If it does and you find your way to this PR: my sincerest apologies, please open an issue and we'll get things fixed up. TypeScript and ESM are tricky to get right, but this PR should be a large PR in the right direction.

I've tested this in my own project and it's working correctly. The automated tests are passing. I'm going to merge this 🚀


Inaccurate docs about toml

https://docs.rs/system-deps/latest/system_deps/#overriding-library-name

toml keys cannot contain dot characters

I don't think this is true, the following should work (and, adguably, should be recommended?)
[package.metadata.system-deps]
"glib-2.0" = "2.64"

https://toml.io/en/v1.0.0#keys

Indeed, I guess that should work.
I'd prefer to have a test using this before changing the doc. PR welcomes. :)


Add cookies

Clear and concise description of the problem
It could be cool if we were able to set cookies, for token for exemple. Cause on of my website need a cookie for all-1 pages.
Suggested solution
So when we do : npx unlighthouse --site site.com
we could also do : npm unlighthouse --site site.com --cookies token:value,token2:value2...
Alternative
No response
Additional context
No response

Hey @Impre-visible, thanks for the suggestion!
This is now supported in v0.6.0.
Let me know if you have any issues with it.

Thanks, I'm gonna try that


Feature request: SSH codec

To whom it may concern,
I am wondering why there is no first class SSH codec available for netty. I am aware of jSCH, mina-sshd and termd as useable SSH implementations, but despite mina-sshd offering a netty wrapper the programming model is very different from pure netty.
Is there any specific reason why this was left out? Is there interest in addressing this?
Cheers,
Keve

@kevemueller there are currently no plans to add this to netty itself. That said there is no reason why you could not implement something like this by yourself and host it in your own repository.

there is one SSH adapter available in Apache SSHD https://github.com/apache/mina-sshd/tree/master/sshd-netty
it's not a codec but it remains very easy to use and does all the heavy lifting for you.

On 11 Feb 2019, at 14:14, Norman Maurer<EMAIL_ADDRESS>wrote:
@kevemueller https://github.com/kevemueller there are currently no plans to add this to netty itself. That said there is no reason why you could not implement something like this by yourself and host it in your own repository.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/netty/netty/issues/8860#issuecomment-462322978, or mute the thread https://github.com/notifications/unsubscribe-auth/AANxij9iRPtrHHYwlXW8wS7rz2-HB-ONks5vMWzQgaJpZM4a0JQG.

Hi @normanmaurer, thanks for the heads-up. I fully understand that netty is perfectly suitable as a building block for a ssh client/server stack. I was just wondering why nobody ever did this, despite its clear advantages. I understand that you prefer not to have this in netty (core).
Hi @vietj, yes I am aware of Apache Mina SSHD and your work of linking it against a netty backbone. I am currently using this path, but it requires some un-netty work to get a pipeline on top of the provided SshChannel (which is my use case, tunneled TCP as well as pipeline on top of the SSH exec stream). Also this work creates a lot of latency due to the unnecessary conversion from OIO to the pipeline.
As @normanmaurer  spoke a verdict, feel free to close this issue. Anybody interested in getting this further is welcome to contact me in PM.


Add more impactful and clear language

Just suggestions. :)

Just started reviewing :) :octocat: Sent from GH.


python3Packages.rokuecp: 0.15.0 -> 0.16.0

Description of changes
https://github.com/ctalkington/python-rokuecp/releases/tag/0.16.0

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)
[ ] 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.

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

3 packages built:

home-assistant-component-tests.roku
python310Packages.rokuecp
python39Packages.rokuecp


Design System > Add new component (Grid)

Add below new component
1.drag and drop

Add Drag Drop functionality to grid column
Add Resize functionality to grid column
Add Filter functionality to column (for all column or column wise)
Add Search functionality to column (for all column or column wise)
Add Pagination for grid
UI changes for Filter popup for dark and light theme
Soring functionality for column

This code are done functionality wise, I have working on to convert this code it in our code. Following points are covered :
i) Replace Inline css with css classes.
ii) Added custom css.
iii) Added export to interface.
iv) Change the code places accordingly our code.
v) Remove DragItem interface.

1.Add Drag Drop functionality to grid column
2.Add Resize functionality to grid column
3.Add Filter functionality to column (for all column or column wise)
with-all- [Verified pass on staging]
One observation : Sorting not working on column name click
4.Add Search functionality to column (for all column or column wise)
with-all-search :  [Verified pass on staging]
5.Add Pagination for grid Issue added

6.UI changes for Filter popup for dark and light theme
7.Export functionality

For custom filter

For custom search


Update expected status code to 201

Application Insights now returns a 201 instead of a 200 when you create a Release Annotation

Closing, lib is abandoned I think and the api is being deprecated in 2024


翻译《Developers Should Abandon Agile》

https://ronjeffries.com/articles/018-01ff/abandon-1/
这篇文章，看了前三段，简直不要太好。今晚译完。
PS. 顺便看到了《敏捷开发遵循的原则》的翻译，可以学习学习对比对比：http://agilemanifesto.org/iso/zhchs/principles.html 。全国敏捷爱好者们的翻译智慧哟。
PS. 感觉翻译之前，可以先上 Youtube 看看作者的视频，感受一下风格。

 Led, no doubt, by the Scrum Alliance’s successful Certified ScrumMaster offering, we now see hundreds, perhaps thousands of so-called “Agile” coaches and trainers, and many competing frameworks and methods. We see “Agile” leadership training, “Agile” project management offerings, and on and on.
Good for the enterprise
Now, many, perhaps most of these offerings are not bad things, at least for the enterprise. Organizations that try to improve usually do improve, and so even if “Agile” ideas are applied poorly, trying will almost always provide some benefits to the organization. The organization should at least get increased visibility into what’s going on, and that will often lead even the least enlightened management to make better decisions. That’s good, and I’m all for it.
Not so good for developers
The picture is not so attractive for developers, all the people engaged in actually building the products that the “Agile” enterprises are undertaking. When “Agile” ideas are applied poorly, they often lead to more interference with developers, less time to do the work, higher pressure, and demands to “go faster”. This is bad for the developers, and, ultimately, bad for the enterprise as well, because doing “Agile” poorly will result, more often than not, in far more defects and much slower progress than could be attained. Often, good developers leave such organizations, resulting in a less effective enterprise than prior to installing “Agile”.
Safe, not SAFe
My thinking is taken from something Kent Beck said over a decade ago. I would like the world to be safe for developers. At my core, I am a developer, despite years of management, consulting, and writing. I worked with code earlier today, and do so every week if not daily. So it breaks my heart to see the ideas we wrote about in the Agile Manifesto used to make developers’ lives worse, instead of better. It also saddens me that the enterprise isn’t getting what it could out of the deal, but my main concern is for the people doing the work.
 (Usually they say that “Scrum” sucks, because most people in organizations trying to do “Agile” are in organizations trying to do Scrum.)  My hope was that people within the sound of my voice would help themselves, and their organizations, move closer to the real ideas behind Manifesto Agile and away from the many forms of Faux Agile or Dark Agile that we see around us.
That’s not really working out. Efforts like “Advanced” Scrum training and certifications, and leadership-focused efforts are good, and may bear fruit over time, but they will proceed at best slowly and may never really filter down to the poor developers in the “Code Mines of Ohio”.
It’s time to try something new, and here it is:
Developers should abandon “Agile”
Mind you, developers will continue to find themselves working under Scrum conditions, or in organizations using SAFe. Some may even encounter more obscure “Agile” approaches like “DAD”, or, if they’re fortunate, more enlightened approaches like “Modern Agile”, or “Heart of Agile”. Some may even be lucky enough to find themselves doing Extreme Programming, also known as “The Scrum That Actually Works”.
Detach from named methods
Be that as it may, I believe that developers should detach their thinking from any particular named “Agile” method. Instead, they should turn their attention and learning to ways of doing software development that will work within any of those “Agile” methods. Those development approaches, to me, involve use of practices such as, but not limited to, those of Extreme Programming. More generally, developers’ work should adhere to the foundational principles that support Agile Software Development, as we had in mind when we wrote the Manifesto. Today, I’d summarize the ideas this way:
No matter what framework or method your management thinks they are applying, learn to work this way:

Produce running, tested, working, integrated software every two weeks, every week.
Keep the design of that software clean. As it grows, the design will tend to become complex and crufty. Resist and reverse this tendency consciously, refactoring in tiny continuous steps, all the time, so that your rate of progress is as steady and consistent as possible.
Use the current increment of software as the foundation for all your conversations with your product leadership and management. Speak in terms of what’s ready to go, and in terms of what they’d like you to do next.

This is the development team’s best hope for a reasonable life. By keeping the software always ready to go, we can hit any deadline with the best possible result. “Is today the deadline? Here’s what we’ve got, it’s ready to ship.”
As we lead up to the deadline, and as we negotiate what to do next, the running software in our hands lets us keep the conversation focused on the next, most important thing to do, rather than the near-infinite list of things they think they want. It’s not easy to change the focus from “do all this” to “do this next”, but it’s our best chance for a decent life, and it’s often quite possible to get the focus to change, as we work to collaborate with our leaders rather than just work under them.
Under an imposed approach
Too commonly, the “Agile” approach a team uses has been imposed. Larger-scale “Agile” methods appear actually to recommend imposition of process. I include here the so-called “SAFe” method, Scaled Scrum, and LeSS among others. These are pitched to the enterprise, and the enterprise is expected to “install” them, or “roll them out”.
As a developer, you can be sure that this roll-out will not go smoothly nor in a truly Agile fashion. You’ll not likely be trained, much less educated, much less given the real help you need to do your job. Your leadership will perhaps have been trained, perhaps for as much as an entire week(!), to prepare them to bring about this sweeping change in the organization’s approach to product and software development. The road is likely to be a bit bumpy.
Real software is your only hope - Leia (private communication)
But if you can reliably select work to do over the course of a “Sprint” or “boxcar” or whatever your release train conductor starts calling the time period, and accomplish that work, packaging it up in a running, tested, integrated, ready-to-go new version of the system, you’ll be equipped to do the best it’s possible to do.
Slow down to deliver
If you can’t quite manage that, I’d advise you to take on less work in each time period, until you’ve taken on a small enough batch that you can actually get it done. This will be difficult! People will push you to “go faster”. Do your best! Under pressure to sign up for more than you can do, I’d suggest that you work on one or two of the items, complete those entirely — fully packaged, tested, and working — and then do another, so that at the end of the boxcar you have something that you can absolutely call completed. Take the inevitable abuse for not completing everything, and try to drive planning and expectations from reality, not the fantasy of what was demanded, that you never had a chance to do.
It won’t be perfect, and for a while at least, it probably won’t be fun. It’s just the best chance I know to survive down in that code mine. Having a completed running product slice is the best way I know to possibly turn the situation around. In a bad situation, all we can do is our best, and try to help things to get better.
Clearly, in a more enlightened organization, or one with ongoing learning, things will become more and more open to real Manifesto Agile ideas. Life can improve, and I hope it will.
I’ve been in those situations, and other than leaving, the best I know is to do good work, keep it visible, running, tested, and integrated, and help people to see reality.
Choosing an approach
The Manifesto calls for “self-organizing” teams, and in the best case, that comes down to the team choosing its own process. If I were starting a company, I’d let the teams choose any process they wish.
I’d ask for results, not a specific process
However, there would be constraints, not on how they choose to work, but what I need to see. I’d make it clear that every two weeks at most, I would like to review their running tested product slice. They’d show me what they had planned to build, and what they built. It would have to actually work, and to contain visible capabilities that I could understand. We’d talk about what they should do over the next interval. And I’d make it clear that one week would be better than two, and that one day would be better than one week.
I’d provide help
I’d provide them with help. I’d provide someone with a solid connection to the business needs to be met by the product, who would help them decide what slice of work to do next. I’d provide access to training and support doing the work they need to do. I’d make sure they were equipped to do what I was asking them to do.
Of course, I’d do that because I know how to do this stuff. You might be lucky enough to be in a situation somewhat similar to that, at least to the point where you can choose your own process.
Shhh. Maybe XP!
If you do get a chance to choose, I’d recommend that you start with something like Extreme Programming. It contains all the planning and feedback loops you need, and it includes the basic technical practices you need to do what we’ve been talking about here, and to do what I’d be asking for.
And I’d recommend that you stay alert at all times for signs of all the other things you need. “ATDD, TDD, and Refactoring” are things that, in my opinion, you need until you know something better. But there are tens, hundreds, thousands of other things you need as well. Stay alert for those, and when you identify them, get them.
Excellence in making software is a lifetime activity. Even Extreme Programming, the best officially named approach that I know of, just scratches the surface. Moving toward excellence is up to your team and its members.
Summing up
Other than perhaps a self-chosen orientation to the ideas of Extreme Programming — as an idea space rather than a method — I really am coming to think that software developers of all stripes should have no adherence to any “Agile” method of any kind. As those methods manifest on the ground, they are far too commonly the enemy of good software development rather than its friend.
However, the values and principles of the Manifesto for Agile Software Development still offer the best way I know to build software, and based on my long and varied experience, I’d follow those values and principles no matter what method the larger organization used.
I offer that opinion as advice. Do with it as you see fit.
Here and in other writings, I use the quoted word “Agile” to refer to the many instances, approaches, and processes that use the word “agile” to describe themselves, but that do not necessarily adhere to the letter or spirit of Agile Software Development we wrote about in the Agile Manifesto. I will sometimes refer to “Faux Agile” for emphasis, or to “Dark Agile”, which I use to describe so-called “Agile” approaches that have really gone bad. I might refer to “Manifesto Agile” to mean the core ideas from the Manifesto, in which I still believe.

@JimmyLv @Kevin170113664 求个草草 review~不要太严肃的那种~

http://www.infoq.com/cn/news/2018/06/developers-should-abandon-agile
。
直接上了个大纲。

excellence in making software is a lifetime activity

对软件开发的卓越追求乃终身事业。 | 卓越软件开发乃毕生追求。
突然有一感悟：字越少，竟然越精准。（英文亦然。）

“Agile”1 has become big business. Led, no doubt, by the Scrum Alliance’s successful Certified ScrumMaster offering, we now see hundreds, perhaps thousands of so-called “Agile” coaches and trainers, and many competing frameworks and methods. We see “Agile” leadership training, “Agile” project management offerings, and on and on.

“敏捷”俨然已经成为大生意。毫无疑问，在Scrum联盟® 推出的ScrumMaster证书推动下，我们能看到数以百计，甚至是数以千计的所谓“敏捷”教练和训练员，能看到此起彼伏竞争激烈的框架和方法论。我们能看到“敏捷”领导力培训，“敏捷”项目管理服务，诸如此类。
感觉，we now see, we see这样的翻译，还是翻译为当前比较好，而不是过去式的“我们看到了”

Now, many, perhaps most of these offerings are not bad things, at least for the enterprise. Organizations that try to improve usually do improve, and so even if “Agile” ideas are applied poorly, trying will almost always provide some benefits to the organization. The organization should at least get increased visibility into what’s going on, and that will often lead even the least enlightened management to make better decisions. That’s good, and I’m all for it.

其实，很多…或许是几乎所有的这些服务并非坏事，至少对于大企业来说是有益的。即便实施“敏捷”的过程很糟糕，但能尝试做出改进的大组织通常都能取得好结果，这是因为勇于尝试往往都会为组织带来或多或少的好处。这些组织至少应该能获得更好的视野来看待接下来的事情，这经常能在糟糕的管理方式下迸发出让高明的决策。这是好事，我完全同意。

@JimmyLv 你这两点补充简直太好。感谢

@linesh-simplicity 原来如此，那我就养肥再看

@Kevin170113664

Now, many, perhaps most of these offerings are not bad things, at least for the enterprise. Organizations that try to improve usually do improve, and so even if “Agile” ideas are applied poorly, trying will almost always provide some benefits to the organization. The organization should at least get increased visibility into what’s going on, and that will often lead even the least enlightened management to make better decisions. That’s good, and I’m all for it.

其实，很多…或许是几乎所有的这些服务并非坏事，至少对于大企业来说是有益的。即便实施“敏捷”的过程很糟糕，但能尝试做出改进的大组织通常都能取得好结果，这是因为勇于尝试往往都会为组织带来或多或少的好处。这些组织至少应该能获得更好的视野来看待接下来的事情，这经常能在糟糕的管理方式下迸发出高明的决策。这是好事，我完全同意。

采用了「勇于尝试往往都会为组织带来或多或少的好处」，觉得 trying 译为「勇于尝试」很棒。
visibility 感觉就是我们平时讲的「可视化」的意思，「你应该提升你的 visibility！让别人知道你做了什么」，这个意思
这个句子的主干很有意思：「... increased visibility ... often lead (poorest) management to make better decisions」。感觉它强调的可能不是「糟糕」的管理方式和「高明」的决策，而更多是个比较，「再差的管理」，可视化起来以后做决策「也总能好一些吧」，这个感觉。

校对了两段，花去一小时。我感觉我这个处女座不适合做快速翻译然后出版的活…或许是我 TDD 技能还不够…


Add AMD.ChipsetSoftware

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Another day, another failed new package.
You were linked to this download from a site outside of AMD.com Since we do not allow downloads through sites outside of AMD.com, please download your file directly from our site. We want to make sure you have the right driver for your device and operating system. Choose your product and operating system on the [AMD Driver Download page ](https://www.amd.com/en/support)or use the [AMD Driver Autodetect ](https://support.amd.com/en-us/download/auto-detect-tool)to obtain the correct driver for your device.


Add pa.tuple_ DataType

Describe the enhancement requested
I use tuples in my dataframes in Python. When the dataframe is saved/read using parquet, the tuples turn into lists. I prefer the datatype not change. I believe the issue is that there's no pa.tuple_, only pa.list_. Some other data formats do not change tuples into lists such as pickle.
Component(s)
Parquet

I think it is possible to do this with extension types.  Though there may still be merit in supporting this more properly.  CC @jorisvandenbossche
import pyarrow as pa
import pyarrow.parquet as pq

class TupleScalar(pa.ExtensionScalar):
    def as_py(self) -> tuple:
        return tuple(self.value.as_py())

class TupleType(pa.ExtensionType):
    def __init__(self, item_type):
        pa.ExtensionType.__init__(self, pa.list_(item_type),  'my_package.tuple')

    def __reduce__(self):
        return TupleType, ()

    def __arrow_ext_scalar_class__(self):
        return TupleScalar

    def __arrow_ext_serialize__(self):
        # since we don't have a parameterized type, we don't need extra
        # metadata to be deserialized
        return b''

    @classmethod
    def __arrow_ext_deserialize__(self, storage_type, serialized):
        # return an instance of this subclass given the serialized
        # metadata.
        return TupleType(storage_type.value_type)

# Unfortunate that we need to specify all possible permutations here
pa.register_extension_type(TupleType(pa.float32()))

storage = pa.array([[1, 2, 3], [4, 5, 6]], pa.list_(pa.float32()))
arr = pa.ExtensionArray.from_storage(TupleType(pa.float32()), storage)

tab = pa.Table.from_arrays([arr], names=['f0'])
pq.write_table(tab, '/tmp/foo.parquet')

roundtrip = pq.read_table('/tmp/foo.parquet')
print(roundtrip.column(0).to_pylist())
# [(1.0, 2.0, 3.0), (4.0, 5.0, 6.0)]


fix(package): update fastify-plugin to version 0.2.1

Closes #15

Coverage remained the same at 100.0% when pulling 792f4ad2fb02323d1ce1c969fa11fa5d0572b0d5 on greenkeeper/fastify-plugin-0.2.1 into 7a35912bafd690440f42589220dc35387fdf34f2 on master.


Add 'latest' and 'previous' API endpoints for aq and zone

...based on the existing endpoints in parking.

Note that 'latest' zone information (along with subscription to updates) is now available via rtmonitor.

Closing this since accessing this information via rtmonitor is a better strategic approach.


Make the evaluator calculate average values only

Make evaluator calculate average values only. Without any postprocessing.

Closing for now, see #38


Multimodal models don't work with > 1 image

Bug Report
Description
Bug Summary:
Multimodal chat only responds to first query after a second image is input.
Steps to Reproduce:

Give any prompt, observe a normal response.
Add an image, ask a question about it, observe a normal response
Add a second image, ask a question about it, receive a response to the prompt from step 1. All future responses will be to prompt 1.

Expected Behavior:
I am able to ask questions about any number of single images within one chat. The conversation should not be stuck responding to only one of my prompts.
Actual Behavior:
After uploading a second image, the model only responds to the first-ever prompt I gave it.
Environment

Operating System: Ubuntu 20.04
Browser (if applicable): Firefox 121

Reproduction Details
Confirmation:

[x] I have read and followed all the instructions provided in the README.md.
[x] I have reviewed the troubleshooting.md document.
[x] I have included the browser console logs.
[x] I have included the Docker container logs.

Logs and Screenshots
Browser Console Logs:
n/a no useful info
Docker Container Logs:
n/a just useless request logs
Screenshots (if applicable):
BROKEN - interacting with 2 images

WORKING - interacting with one image

Installation Method
Docker
Additional Information
No custom config. I am able to interact with multiple subsequent images when using the ollama CLI, which is why I'm filing a bug on the UI

Hi,Thanks for creating this issue! I'll close this issue as the behaviour you see is caused by limitations of llava model (local models in general). Feel free to make a suggestion if I missed anything, Thanks!

Hey @tjbck thanks for taking a look but I don't think that's quite right - the model itself can handle multiple images, I believe the issue is elsewhere.

One thing you can do to verify it's a model issue is testing the model using Ollama CLI, let us know if CLI doesn't seem to experience the same issue!

As I wrote in the "notes" section at the end of my ticket:

I am able to interact with multiple subsequent images when using the ollama CLI, which is why I'm filing a bug on the UI

Here's another example using two images in one prompt which works fine. It's just something about images in subsequent prompts that breaks.

Hmm, If thats the case, one quick fix could be that we just remove all the previous images when sending a request to Ollama, but I'm not entirely sure if that's the right approach as feels a bit hacky to me, although I believe that's how Ollama is handling multi-images based on what you suggested. Any thoughts?

Yeah it seems like that might resolve this issue. Since multimodal is still nascent, a more permanent solution may come up in the future. I also wonder if some array flattening for images isn't happening when it should be?

https://github.com/ollama/ollama/commit/38296ab352ea7dd029f24cea5353b581f53f678b

@tjbck great minds think alike https://github.com/ollama/ollama/commit/38296ab352ea7dd029f24cea5353b581f53f678b

#642 should work as intended, let me know if you encounter any issues!


fix: file loading and lookup of main pipeline

@aljazerzen I notice you're trying to fix the Windows build in https://github.com/PRQL/prql/pull/2658/files. Remember totally fine to revert and relax...


Remove logger which is already defined in superclass.

Some class already define logger at superclass such as AbstractMetadataReport.
https://github.com/apache/dubbo/blob/15fc5b473bbeb73b0a6c9ac02f2c8d7e0f6fbe82/dubbo-metadata/dubbo-metadata-api/src/main/java/org/apache/dubbo/metadata/report/support/AbstractMetadataReport.java#L87
The subclass needn't define logger again. But some class do as it, such as NacosMetadataReport.
https://github.com/apache/dubbo/blob/15fc5b473bbeb73b0a6c9ac02f2c8d7e0f6fbe82/dubbo-metadata/dubbo-metadata-report-nacos/src/main/java/org/apache/dubbo/metadata/store/nacos/NacosMetadataReport.java#L70
Remove the logger which is define at subclass.

close #7261 via #7262


mintSign(0x657bb113) fix + add contract address screen to every method

Note: hard-coding the contract address check was removed per the product requirements. Our use case is to deploy many smart contracts over time that are copies of one another. Each time that happens, the CAL is updated to include these new contract addresses, which acts as an "allowlist" of contract addresses that can be used to interact with the plugin.
Regarding this previous comment from a previous PR, one of the screens will now show the contract address that a user is interacting with, so this should satisfy the requirement of "clear signing" because the user can verify the exact smart contract they are interacting with.

@Z4karia can you please bump the version to 1.6.0 ?


Fix typo in dotnet restore

Adds missing e in dotnet restore command

@Kukkimonsuta, thanks for catching this obvious spelling mistake. We're currently locked down in master to prepare for shipping. Would you be willing to rebase this against the "dev" branch?

Sure, recreated at #185


⚠ SceneTime has degraded performance

In 9b8a296, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1463 ms

Resolved: SceneTime performance has improved in f95c307 after 6 minutes.


Read text from WPF pane window

I am trying to read text from WPF pane window. Previously this windows was a normal win32 windows. So my automated script was working fine. Now since the developer has changed it to WPF swappy is unable to detect it. So I tried the UIA approach and used Inspect.exe.
The challenge which I am facing is how to use Inspect.exe and pywinauto together to read the text data
Here I am coping the pane window details which I got from Inspect.exe
Is there any way we can read text from WPF pane window?
How found:	Selected from tree...
 text
"" text
"" scroll bar
"" scroll bar
Ancestors:	"" custom
"" custom
"elementHost" pane
"elementHost" pane
"" pane
"Filter active!" pane
"" pane
"" pane
"" pane
"" pane
"" pane
"" pane
"Parameter list" pane
"" tab
"" pane
"" pane
"Device" pane
"" pane
"UpdateMotionAxes_OldVersion.project" window
"Desktop 1" pane
[ No Parent ]

I was able to read the text.
from pywinauto.application import Application
from pywinauto import application
plcPid = application.process_from_module(module = 'MyApp.exe')
wpfApp = Application(backend='uia').connect(process=plcPid)
handle = wpfApp.window_(title='MyDoc.project - MyApp 3.21.0')
child = handle.child_window(auto_id='elementHostInfoBox')
child0 = child.wrapper_object()
child1 = child0.children()
child2 = child1[0].children()
child3 = child2[0].children()
print(child3[0].children_texts())

.connect(path="MyApp.exe") is more compact. Also window is better than deprecated window_. SWAPY uses "win32" backend (mopre precisely it doesn't use backend, but it has separate code base).
Useful method main_window.dump_tree() (main_window is better name than handle) can help to find proper names for specifications.
Read the Getting Started Guide for core concept. And some guides around it in the Contents. You will find many interesting things that will save you a lot of time.

@vasily-v-ryabov Thanks, you are doing a great job!
I did changes suggested by you. But dump_tree() is not working for me. Is there any code dependency before we give a call to dump_tree()? I am getting this error attribute error for 'dump_tree'. Let me know I would love to use 'dump_tree()' method

dump_tree method is available for top level window specification like app.MainWindowTitle.dump_tree(), not for Application object. With full traceback it's better to understand which object raised AttributeError. So bug reporting culture always matters. ;)


adding dotted and dashed border classes

@chiffonsigh do you still want to merge these changes?

Yes sorry I got confused and closed the request... But if you want to merge the changes go ahead!

Sure thing! Would you be able to add some documentation to the index.html file first though (below the Border Colors section)? You can call it "Border Styles" or whatever makes sense to you. That way there's a demo of it and people know that it's available for use!
As for the code snippet for the documentation, feel free to use https://codebeautify.org/html-escape-unescape. The current system in the index.html file is not great and is in need of improvement. But that's a problem for another day.
Thank you!


Fix RemovedInDjango41Warning for default_app_config

Django 4.0 warns about it already:

django.utils.deprecation.RemovedInDjango41Warning: 'django_fsm_log'
defines default_app_config =
'django_fsm_log.apps.DjangoFSMLogAppConfig'. Django now detects this
configuration automatically. You can remove default_app_config.

Note that the tests apparently do not trigger it, but projects using it
might.

@blueyed yes, it is already in there... Therefore I don't know why this PR...

@blueyed yes, it is already in there... Therefore I don't know why this PR...

Django 4.0 will emit a warning already.
I think this PR is fine, but wanted to confirm if there was a specific reason for the lower version you've checked.  Maybe you've meant <= also.. anyway, it will prevent an error, but it is good to not emit a warning in the first place - unless I am misunderstanding that Django 4.0 does not handle it properly already, but the warning says it works already.

Django 3.2 supports the feature, so we check if lower than 3.2, which indeed includes also 4.0.
3.2 does not emit a warning but has the feature (https://docs.djangoproject.com/en/4.0/releases/3.2/#automatic-appconfig-discovery), so I don't know why we should change it.
Maybe you thought we only check against 4.1 or misread something?

It triggers the warning when using Django 4.0.
I have a test suite where those warnings get not only displayed/triggered, but also cause an error (so I really get notified about them).  In this case here it was meant to be handled already, but the version check was not fully working as expected.
Or do you actually want to trigger the warning with Django 4.0, which I cannot imagine really.

@blueyed maybe you are not using the actual version in your project.
The code as it is right now, won't trigger the warning with Django 4.0. Your change only impacts the version 3.2, which as I said, accept both variants, without triggering a warning.

@MRigal
Oh, you are correct.  I've likely have seen it when the last released version, and then have not checked if that code was included already.  And after all your code is more strict.
Thanks for you your persistence.. :)


Can't handle onKeyEvent in iOS with virtual screen keyboard

Describe the bug
Modifier.onKeyEvent doesn't works with virtual iOS keyboard. (It works only with physical keyboard in simulator)
Affected platforms

iOS

Versions

Kotlin version*: 1.9.22
Compose Multiplatform version*: 1.5.12, 1.6.0-rc02
OS version(s)* iOS 17.0 simulator
OS architecture (x86 or arm64): Arm64

To Reproduce
Use this code:
@Composable
fun App() {
   var keyEventsCounter by remember { mutableStateOf(0) }
   Column(
       Modifier.fillMaxSize(),
       verticalArrangement = Arrangement.Center,
   ) {
       Text("onKeyEvent counter: $keyEventsCounter")
       var text by remember { mutableStateOf("type here with onscreen keyboard") }
       OutlinedTextField(
           value = text,
           onValueChange = { text = it },
           modifier = Modifier.onKeyEvent {
               keyEventsCounter++
               false
           }
       )
   }
}

Expected behavior
onKeyEvent should work also with onscreen keyboard

Android has the same issue, there is no way of making a composable able to receive events from on-screen keyboard. It works with a hardware keyboard, but not with an on-screen one.

I have investigated the issue for Android further, and wrote an answer on Stack Overflow: https://stackoverflow.com/a/78426786/11004423

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.


[MAINT] rename master branch to main

It would be extremely nice to have the central branch of this repository renamed from master to main. This comes with some issues, but should be considered a a plus when it comes to inclusiveness. See https://github.com/github/renaming for reference.

Hi @fabianegli we actually always use in our projects master, and we don't see any benefit on moving from one name to another. But problaby others can vote @jpfeuffer @levitsky. If we decide to rename the branch it needs to be one of the last thing to do because forks, releases, CI/CD everything in based on master.

This change is not meant to be benefitting the current developers/maintainers. I know it is additional work with negligible immediate return but that is not the point. It makes sure people who may find master offensive to not be constantly reminded of that. We go with the time when it comes to technology, we should do the same with social issues.
As for the additional forks, there is only one in the network that actually has some work done and that's the one from elixir-proteomics-community. I am sure that can be coordinated.
The master branch is now protected, so no one can push to it anyway and PRs are done across branches. Renaming will not have deteriorating impacts on MRs, as far as I can tell.
Workload wise, I am convinced the longer the project lives the more hardcoded "master" strings will be in the CI and in other places. Especially since we are now planing to add additional CI Actions.
Lastly, there is an immediate benefit: main is only 4 characters to type, master is 6, so main is a it is a 33.33% improvement over master.

Done. !!!


error: comparison is always false due to limited range of data type

I tried to build the ComputeLibrary.
By following this step shown below.

No matter which version I use(21.02,21.05,21.08(latest one)),I got the error after I used this command.
scons arch=arm64-v8a neon=1 opencl=1 embed_kernels=1 extra_cxx_flags="-fPIC" -j4 internal_only=0
---------------error message------------------

-------aarch64-linux-gnu-gcc version-------
command: aarch64-linux-gnu-gcc -v

Do anyone know how can I solve this problem?
Thanks.

Hi @Kevin-Wei-Chih
Please cherry pick this patch to fix the problem with gcc 5.4.0
https://review.mlplatform.org/c/ml/ComputeLibrary/+/6342
Alternatively I'd advice you update to a newer compiler version: gcc 6.3 or later
Hope this helps.


Documentation

Checklist before review:

[x] Fix #73
[x] Use new standard layout

Checklist before merge:

[ ] Reviewers confirm new code works as expected.
[ ] Tests are passing.
[ ] Documentation is updated.

I am not sure who is working and who is not, eventually ignore me.
Regarding the PR, this is just a small update on the documentation, mainly on the layout for it to match the new one.
After merging it, I would go on releasing a new version (note sure if 0.1.0 or an intermediate one. This will allow to merge the rfsoc-fixes PR in qibolab without having in main (and potentially in the release of qibolab) dependency on the qibosoq github repo


Wrong video time properties

I'm having an issue with the 'updated', 'published' and 'isLive' properties. If I try to get this from a channel that has a regular video:
console.log("updated:", channel.videos[0].updated);
console.log("published:", channel.videos[0].published);
console.log("isLive:", channel.videos[0].isLive)

I get:
updated: 0
published:<PHONE_NUMBER>500
isLive: false

a little while later but same video:
updated: 0
published:<PHONE_NUMBER>378
isLive: false

Every video I tried the timestamp keeps changing, and updated is always 0.
For live videos, I get the following:
updated: 0
published: 0
duration: 0
isLive: false

But it's not as big of a deal, because I consider it live if duration is 0.

Thanks for raising this.  When you get video results from a channel or a search, the best that youtube provides with regards to a published time is some statement of age like "5 hours ago" or "3 months ago" which is converted into a rough published timestamp. Video results from a playlist have no indication of published time at all.
If you then proceed to do a video.fetch() youtube then provides a published date, but not a time.  However if there are media streams available, those streams are all timestamped, and so the earliest timestamp becomes the published time for the video. That is about as accurate and reliable as it gets for published date/time, and should give consistent values.
isLive is always false - unless you do a video.fetch() on a live event, then you should get isLive: true.
updated will remain at 0 until you do a video.fetch(). Basically, updated is a timestamp of when you last did a video.fetch().
So I think the idea here is that you should do a video.fetch() on specific channel or search results to get the fullest possible information about a video.

Thanks. That explains it.

@gatecrasher777 is it possible to get this text timestamp that youtube uses for channel videos before fetch(), or do I have to calculate it myself?

For channel videos, if you run video.info() you will get something like this:
    {
      "type": "video",
      "debugOn": false,
      "id": "UoHEvzQc0O4",
      "channelId": "UCG5qGWdu8nIRZqJ_GgDwQ-w",
      "duration": 14,
      "views": 49597,
      "published": "1m0w ago",
      "canEmbed": true,
      "isLive": false,
      "title": "Who scored the better penalty? | Italy v England | Euro 2020 Final",
      "author": "Premier League",
      "channelThumb": "https://yt3.ggpht.com/ytc/AKedOLRQp9LGTGsRZorAesLGLzLXwjZEPauJlRs0_GS-=s900-c-k-c0x00ffffff-no-rj",
      "country": "United Kingdom"
    },

So channel.video[i].info().published will give you something very similar to the youtube string.  It would fairly trivial to create another property to give the exact youtube string.  It is just that if the string was "3 minutes ago" it would only be valid for one minute, whereas info().published is dynamic, so ten and a half minues later, info().published would report  "13m30s ago".


Provision method should catch IgnoredError to ignoring the pv creation

thanks. this could be used for some kind of sharding right?

I used an improved version hostpath-provisioner on every kubernetes nodes, every provisioner need to be ignore pv creation not managed by itself.

I see, that’s good enough for me thanks!


Created Fibonacci Search in Java

Hey pal, this code needs documentation like -- Explanation on what Fibonacci sort is -- Complexities

I have added an explanation file as per your request. Please check it out

Hey pal
Thankyou for your contribution.
Can you add the documentation /details inside your code itself. In that way, people taking the code can easily access it.Rest everything looks fine.
Happy coding!


Update the Travis CI safelist of branches

What does this PR do? Please provide some context
Updates the Travis CI safelist of branches to build within .travis.yml.
Where should the reviewer start?
.travis.yml
How can this be manually tested? (brief repro steps)
Make an incorrect change to one of sass files and push to the oxa/master or oxa/dev.fic branch.
What are the relevant TFS items? (list id numbers)
User Story: 99511 Tasks: 97447, 99906, 99907
Definition of done:

[ ] Title of the pull request is clear and informative
[ ] Add pull request hyperlink to relevant TFS items
[ ] For large or complex change: schedule an in-person review session
[ ] This change has appropriate test coverage

Reminders BEFORE merging

Get at least two approvals
If you're merging from a feature branch into the development branch then "flatten" or "squash" commits
If merging from the development branch into master (or porting changes from upstream) then use github's UI to get review feedback, but use the git command line interface to complete the actual merge.

Reminders AFTER merging

Delete the remote feature branch
Resolve relevant TFS items
(reverse merge) If you merged from the development branch into master then check to see if there are any changes in master that can be merged down to the development branch (like hotfixes, etc). In this case, use github's UI for feedback and the git command line interface for the actual merge.

great work! 👍 . be sure to "squash and merge" when the review is finished haha


[FEATURE] Add section in test readme about how to setup the azureml tests

already in https://github.com/microsoft/recommenders/tree/master/tests


README, PEP 8

Summary of changes:

Enhanced README.md.
Refactored code to match PEP 8 style guide (sport_activities_features_gui).

@lahovniktadej, please fix CI errors and warnings

@lahovniktadej


Provide alt text to overridable assets

Bug/issue #, if applicable: 106633366
Summary
Fixes a minor bug where we did not pass through alt text to overridden assets.
Dependencies
NA
Testing

Assert that overridden icons in the navigator are rendered with an alt text, when they are rendered as img tags from a remote server, instead of local assets.
Assert that LinkBlock cover images are rendered with the alt text of the page, who's card cover image is overridden.

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[x] Added tests
[x] Ran npm test, and it succeeded
[x] Updated documentation if necessary

@swift-ci test

@swift-ci test


Extend boolish by y/n and added separator parameter to array

Hi,
I exended the library by two things I find useful.

The boolish function now also accepts Y, y, N, n (for yes = true and no = false) as values.
The array function accepts the string separator regex as optional parameter. Default is the unchanged regex for spaces.

Please merge the PR if you find it useful too.

Hi @seal-mt, please excuse the long delay. I appreciate your contribution and I think that both additions are valuable in principle.
The separator change is backwards compatible I'd merge it right away if you provide it in a separater PR.
However the change of the boolish is a breaking change. We could technically make it non-breaking if we added a third parameter that allowed passing the acceptable true/false strings. This might also be a more future proof way of dealing with it, since now that we support 1/true/y/Y, likely at some point in the future somebody will also want to accept on/off, Yes/No, yes/no, YES/NO, ja/nein, oui/non, HIja'/ghobe'…
For maximum flexibility we could provide a third option like this patterns = {true: /1|true/, false: /0|false/}, so in your case you could provider {true: /y/i, false: /n/i}.
And since this module is already stateful thanks to https://github.com/ctavan/node-getenv#envdisableerrors and the likes, you could even provide such a config method to only configure this pattern once instead of having to pass it with each getenv.boolish() call…
WDYT?

Hi @ctavan, thanks for the answer.
I will provide a separate PR for the separator change asap. Adding a pattern for boolish is a great idea. If it's ok for you I create another PR with a first version for discussing it. Therefore I close this PR by now.
Greetings,
Manfred


Python 3 support

This package is most useful on Python 2, but it can also be useful on older Python 3.
I'd be happy to add the necessary compilation voodoo needed to support Python 3.

Python3 support might be a bit hard, but if you'd like to tackle it feel free.

:+1:


Omansh-part3

Here are all of the changes I made for part 3 of the beginner project. I have also provided a screen recording for my functional endpoint.
https://drive.google.com/file/d/1mNUJW_1mDd0JA4TNmosEgteb8Z-2AHJD/view?usp=sharing

@Omanshb great great work on this. I love how the code for this is very clean and shows understanding of the JS/TS client/server convention. Cool font by the way for the beginner.tsx file. Please read the other comments I included (they're non-blocking in terms of completion of part 3, but as helpful FYIs). I'll mark this PR as closed since we will not merge these changes into the real DLP app


One little question

NET Framework is used in my System.Configuration to read the Configuration file, which Microsoft official, it is very convenient, of course, the document is very clear, in
https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/ says is very detailed
But now that I'm moving on to.net CORE, I find that this library looks like it's changed, and I actually have a big curiosity about why.net CORE migrations aren't done in the same way as the.net Framework.I just want to hear why? I mean no harm, of course. Because I want to read it in the library, or in the console

Hi @JHeLiu
The System.Configuration library at the core is tied to a few old ideas:

There is a hierarchy of configuration files that affect the app - including one as part of the OS
Sytem.Configuration is based on XML
System.Configuration is highly structured format that doesn't map well to other data sources

I think our main desire was to make something flexible that can work with a variety of configuration data sources (environment variables, command line args, cloud secret storage, various file formats). It would hard and confusing to try and fit these into System.Configuration's view of the world.

@rynowak
Thanks for your answer, I also saw.net CORE in the.net Framework
The System.Configuration library has been migrated.In fact, I also hope that there is a help document, a simple document description can be, such as running in the console, running in the class library,.net Framework help document is written very good, it is best to hang in Microsoft's official, this is great.I'm sure other developers would love to do that,
I found that Microsoft had done many interesting projects, but they were not well promoted. Many of them were dead. Unfortunately,
There is a small hope that the government will come up with a high concurrency big data type of enterprise solution, which can be divided into community and enterprise versions. In the past few years, the WEB has been unable to compete with JAVA and.net solutions.Of course I don't know this desire can realize ^_^, thank you for your answer.


Provide dependencies artifacts during artifact transform

This is an initial version of a solution #7648.
However the current implementation is only tested for usage with transforms triggered through an ArtifactView.

PR updated:

Fixed a number of test failures ... CI will tell me if I got them all
Added a test that shows that when using transforms through attributes on configuration, the files made visible are the transformed ones

@lptr Well, sorry it took that long. Now that we are at perf tests, I do not expect failures ... but hey, who knows.
If you validate the PR, I'll merge if the build is all good.

Well, looks like forcing dependency graph realization has a high cost. Not sure what's the next step there ...

@ljacomet I see 0.17% and 0.03% regressions on the Android tests. These seem very much acceptable. Or am I missing something?

OK, so it looks like the reports are faulty, and the regression is actually 17% and 3%. Back to the drawing board...

OK, so after a long discussion with @wolfs we discovered that we don't need to fully resolve configurations to provide artifact transforms with their dependencies—this fixed the performance regression, so all is well...

...except we also figured out that exposing the initial dependencies to each transform in a chain makes no sense, and we need to do more work to make this feature work.
Consider the following chain of first extracting artifacts then obfuscating their contents:
[original] ---A--> [extracted] ---B--> [obfuscated]
For the transformation A we expose dependencies in the [original] variant, which is what we want. However, we also expose dependencies to B as [original] instead of [extracted].
Transforms should be context insensitive, and should only care and know about their immediate source and target. The current implementation breaks this assumption, because it makes the format of the exposed dependencies depend on the chain the transformation takes place in.
Because we don't depend on transformed artifacts, we also miss the piece where we actually schedule transformations in a way that transformed dependencies become available before a transform is executed.
We need to fix both of these before we can merge this PR. :(

@wolfs I addressed most of your feedback. Let's merge this PR and address the two remaining issues as separate ones:

capture dependencies as inputs to the transformation
expose dependencies of the transformation in terms of its source, not in terms of the initial variant

I'm going to merge this as soon as we have a green master.


Incorrect type inference in class implementation of interface with method Accepting partial type

🔎 Search Terms
typescript class implementation interface method partial type
🕗 Version & Regression Information
This behavior has been observed in the latest version of TypeScript (5.4.5)
⏯ Playground Link
https://www.typescriptlang.org/play/?ts=5.4.5#code/JYOwLgpgTgZghgYwgAgJIFk4AcA86B8yA3gFDLnIC22AKgPYBqdwAJgBSUBcyACnFGGBwANnnwBKbgDdmLEgF8SJMAE8sKAIJbkAXmJkKcI91IUzyAEZXuAZzBRQAcwPlFikgmFwbN5JiwayMCUWMIQlBDgvhjYOFoahKYU1Fj0TKwc3PGSyDKs+uYUCHQgdsgAHrpUAHRGcNVWFi7mxaV0YdXCdI5s5eLNbkqtZQgiwlV4ADT4HNjcMbgE4rqJBinVKWmybETy-e6jwsJsIBAA7n7YGmzi4kA
💻 Code
interface IMap<M> {
    mapToVoid(m: Partial<M>): void
}

type AAA = {
    aaa: {
        bbb: string
    }
}

class MapA implements IMap<AAA> {
    mapToVoid(m: AAA): void {
        const x = m.aaa.bbb
        console.log(x)
    }
}

const call = <M,>(map: IMap<M>) => {
  map.mapToVoid({})
}

call(new MapA())

🙁 Actual behavior
No typecheck errors but during the runtime the MapA.mapToVoid() raises an error Cannot read properties of undefined (reading 'bbb')
🙂 Expected behavior
Typechecking should have an error saying something like Property 'mapToVoid' is missing in type 'MapA' but required in type 'IMap<AAA>'. since the MapA.mapToVoid method signature accept a narrower parameter than what the interface expects
Additional information about the issue
No response

This is working as intended, methods are bivariant. See this FAQ entry: Why Method Bivariance?
You can use the property syntax to get covariant behavior: mapToVoid: (m: Partial<M>) => void

@MartinJohns Thank you, I read the article even though I don't 100% understand but I get that it's kind of a limitation, not sure I'll classify it as working as intended since it is clearly not working in the runtime and caused a bug in my project
but since we have a way forward I think I'll close the ticket

not sure I'll classify it as working as intended since it is clearly not working in the runtime and caused a bug in my project

"Working as intended" = working as the TypeScript compiler devs intend.  The behavior of TypeScript here is intentional, even if it leads to runtime errors.  The type system is intentionally not fully sound: to quote the design goals, TS is designed to "strike a balance between correctness and productivity"; in this case, enforcing strictMethodTypes would be a major roadblock in practice for almost any code people would want to write so it isn't done.

@fatcerberus I understand exactly why isn't it done, I'm happy too that there's way to solve my problem and move forward so I closed the issue, I know it's what the ts devs are aware of but to me it sounds more like a limitation or known issue where they just accepted that it's not worth fixing (if there was a magic way to fix it without any negative impact I think they would do it), working as intended for me is something is working based on your design


Some servers caching the answers

In case you use a varnish or other technics the bridge answers would be cached.
So it would be nice if the answers add a "no-cache" header.
i haven't seen a case where it should anything.

Aaaand it's done 👍


DO NOT MERGE YET - for design suggestions only

@skcain you can see what I mean about displaying suggestions in this branch (right now it flags all the sexism prompts in joblint, plus 4+ syllable word). I figured for each thing there would be examples text and explanation text, where examples is what needs to be changed.
I'm probably not going to change that HTML much before merging, so if you want to work off of this branch feel free.

And there's definitely at least a couple suggestions where we'll have the same explanation but multiple examples, especially the long sentence one.

hokay so I think this is now in a place for review (some of the JS feels hacky), plus still the design part. but I figure some of the JS will be rewritten when the gender bias stuff gets improved. still interested in taking suggestions. (I don’t think I consider the design a blocker, since that can be separate work.)


Tweak the way the config is saved and deleted

I noticed this while reviewing https://github.com/AlexsLemonade/refinebio-py/pull/7, but I don't think it fits in there.
Every time something is saved to the Config file the file is first re-read. As this isn't even a static method, I don't really think this is necessary as we'll already have read the config file to create the Config object whose save() method we're in.
I think the easiest way to modify that is to just add the dictionary config variable to the Config instance so it doesn't need to be populated by reading the file.
The other thing is that there's no way to remove a value from a config if you want to go back to relying on the default. Can we get a delete method for the Config class?

Closed by #37


Added oob_ip field to Device

Fixes #129

@FlxPeters please run CI tests
Stuck with local tests, due some errors
example-netbox-1       | django.core.exceptions.ImproperlyConfigured: Plugin netbox_initializers requires NetBox minimum version 3.5.0.
example-netbox-1       | ❌ Waited 30s or more for the DB to become ready.
example-netbox-1 exited with code 1

Then I bump NetBox container version to 3.6
example-netbox-1       | 🧬 loaded config '/etc/netbox/config/configuration.py'
example-netbox-1       | 🧬 loaded config '/etc/netbox/config/extra.py'
example-netbox-1       | 🧬 loaded config '/etc/netbox/config/logging.py'
example-netbox-1       | 🧬 loaded config '/etc/netbox/config/plugins.py'
example-netbox-1       | Traceback (most recent call last):
example-netbox-1       |   File "/opt/netbox/netbox/./manage.py", line 10, in <module>
example-netbox-1       |     execute_from_command_line(sys.argv)
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
example-netbox-1       |     utility.execute()
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/__init__.py", line 436, in execute
example-netbox-1       |     self.fetch_command(subcommand).run_from_argv(self.argv)
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/base.py", line 412, in run_from_argv
example-netbox-1       |     self.execute(*args, **cmd_options)
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/base.py", line 453, in execute
example-netbox-1       |     self.check()
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/management/base.py", line 485, in check
example-netbox-1       |     all_issues = checks.run_checks(
example-netbox-1       |                  ^^^^^^^^^^^^^^^^^^
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/checks/registry.py", line 88, in run_checks
example-netbox-1       |     new_errors = check(app_configs=app_configs, databases=databases)
example-netbox-1       |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/core/checks/caches.py", line 17, in check_default_cache_is_configured
example-netbox-1       |     if DEFAULT_CACHE_ALIAS not in settings.CACHES:
example-netbox-1       |                                   ^^^^^^^^^^^^^^^
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/conf/__init__.py", line 102, in __getattr__
example-netbox-1       |     self._setup(name)
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/conf/__init__.py", line 89, in _setup
example-netbox-1       |     self._wrapped = Settings(settings_module)
example-netbox-1       |                     ^^^^^^^^^^^^^^^^^^^^^^^^^
example-netbox-1       |   File "/opt/netbox/venv/lib/python3.11/site-packages/django/conf/__init__.py", line 217, in __init__
example-netbox-1       |     mod = importlib.import_module(self.SETTINGS_MODULE)
example-netbox-1       |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
example-netbox-1       |   File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
example-netbox-1       |     return _bootstrap._gcd_import(name[level:], package, level)
example-netbox-1       |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
example-netbox-1       |   File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
example-netbox-1       |   File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
example-netbox-1       |   File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
example-netbox-1       |   File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
example-netbox-1       |   File "<frozen importlib._bootstrap_external>", line 940, in exec_module
example-netbox-1       |   File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
example-netbox-1       |   File "/opt/netbox/netbox/netbox/settings.py", line 75, in <module>
example-netbox-1       |     raise ImproperlyConfigured(
example-netbox-1       | django.core.exceptions.ImproperlyConfigured: SECRET_KEY must be at least 50 characters in length. To generate a suitable key, run the following command:
example-netbox-1       |   python /opt/netbox/netbox/generate_secret_key.py

Like for me the SECRET_KEY exactly 50 symbols length 🤷♂

Ping @FlxPeters

Tests are on their way. I will release a new version with 3.6 compatibility soon.
If this feature is ready we can release a new version with this included directly after.

Tests are on their way. I will release a new version with 3.6 compatibility soon.
If this feature is ready we can release a new version with this included directly after.
Seems tests passed, if you prepare release our devops can start updating prod containers

I just merged it, let me know if it works for you from the latest master, than I will create a new release

Hi @FlxPeters any plan to release this feature in a new version?

Yes, I will make a release soon.


Support Angular 1.5

Hi @guylabs ,
Can you make this support for angular 1.5.x ?
Thank You

Hi @rkusuma,
did you already test it with 1.5.x? If yes what were the issues? Currently I do not have that much time but if you already had a look at it then your findings would help fixing it quicker. The best would be if you could create a PR with the working version of the module with Angular 1.5.x.
Till now I didn't test it with the 1.5.x version.
Thanks and regards,
Guy

I created PR #26 with updated bower.json

Hi @rkusuma,
thanks to the pull request #26 of @torsten-sauer we now have Angular 1.5 support. You can update to the master version to use it.
Thanks and regards,
Guy

@guylabs thanks for your info.. and thanks @torsten-sauer for the PR

@guylabs you are not planning tag to version 0.4.5 ?

Hi @rkusuma,
I think I will first add the flag mentioned in #23 and then do a new release.
Thanks and regards,
Guy


Remove deprecated API GW code

https://github.com/unity-sds/unity-cs-infra/tree/139ea79a100e95762526ec7572787d535367fcd3/deprecated-terraform-api-gateway-cognito
@ramesh-maddegoda says not needed anymore.

This directory has been removed


simplify vector load from json

this reduces number of memory allocations during model load

Thanks for the PR! Looks promising on my phone; I'll have a closer look when I'm at my computer 👍


Upper bound of uinteger is atypical

The normal maximum value of a 32-bit unsigned integer type is 2^32-1, but the specification states it to be 2^31-1 (the maximum value of a 32-bit signed integer type)
This makes it difficult to simply implement uinteger fields using a normal 32-bit unsigned integer value, and makes testing harder, since the maximum allowable value is not the maximum value of the type.
I believe this would be a simple change in the typescript implementation, since uinteger is just a range restriction of typescript's unbounded number type.

That is correct but it was decided to keep that number range the same as the debugger adapter protocol (see https://microsoft.github.io/debug-adapter-protocol/specification)

Would it not be possible to change the DAP in the same way?

I think the swirl will be too big. But you could open an issue against DAP and see if they change it.

I think the swirl will be too big. But you could open an issue against DAP and see if they change it.


How do I get relationships of datamodel in PBIX using PBIXRay?

Thanks for the suggestion. I've added a new relationships property which you can use in v0.1.17 https://github.com/Hugoberry/pbixray/releases/tag/0.1.17

@Hugoberry When will it be available in PyPi to install?

Already in


[$1000] Chat - The reaction emoji left on the loading comment disappears

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to URL https://staging.new.expensify.com/
Log in with any account
Go to any chat
Click on + button -> Add attachment -> Choose an attachment
While the attachment is loading, post a reaction on it

Expected Result:
The reaction emoji does NOT disappear.
Actual Result:
The reaction emoji disappears.
The reaction emoji appears again only after refreshing the page.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/225388261-98723005-2464-4a79-a0ad-8f7c7b2c8f76.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - internal Team , @priya-zha
Slack conversation: Mitch adding: https://expensify.slack.com/archives/C049HHMV9SM/p1678342357605789
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01dc619aac23e0b3e8
Upwork Job ID:<PHONE_NUMBER>738586112
Last Price Increase: 2023-03-21

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~01dc619aac23e0b3e8

@MitchExpensify I was checking to see what automation we did once the Internal label was added.  Feel free to proceed as normal from here

@mallenexpensify  I think @kbecciv doesn't have Slack access, should they? (In order to link the Slack convo)

Theres a thread from 10 days ago here when Priya reported this. Seems like this was before Applause reported it here - I think we should give Priya reporting credit

Proposal
Root Cause:
During uploading of any attachment emoji are applied, at that time the image is not fully uploaded and merging of that reaction is not completed. Hence, emojis are not being displayed for the first time without refreshing the page.
Solution:
So, in this case it is recommended NOT to show the emoji tab during the attachment upload process.
To achieve this behavior an extra condition ( which verifies that the attachment is processing state or not ) needs to add in the ReportActionItem.js file. So, until the image is uploaded properly, the tab of emoji reaction will not display on the right side of the page to apply emoji.
Moreover to remove the tooltip box ( which appears when we right click ) while uploading an attachment, the same condition needs to be added in ReportActionItem.js  at line no 120.

Expected Output:

I think @kbecciv doesn't have Slack access, should they? (In order to link the Slack convo)

I don't think it's a necessity that all QA team have access to Slack, mainly because it hasn't come up much the past 2+ years and cuz BZ can easily add if needed (right?)

Current assignee @MitchExpensify is eligible for the External assigner, not assigning anyone new.

Current assignee @parasharrajat is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to @aldo-expensify (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Sounds like a plan to me!

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat - The reaction emoji left on the loading comment disappears
What is the root cause of that problem?
https://github.com/Expensify/App/blob/ebc03dbb14d1689e35301278833a82716ae53034/src/libs/actions/User.js#L287-L293
We have received {reactions: []}, and {reactions: [{"emoji": ""}]} through the socket, this sequence order is correct, we should put them into onyx to update them
But when we are waiting for the response of SequentialQueue.getCurrenTrequest, and the response of AddAttachment is later than AddEmojiReaction, so the order of these two messages changed, and we finally updated to {reactions: []},
https://github.com/expensify/app/pull/9219#discussion_r1011199179
I can't join SLACK, so I guess the reason is we need to wait for the SaveResponseInOnyx.js to update the API response before saving the update sent by the socket push. The socket message has the highest importance
What changes do you think we should make in order to solve the problem?
We need to save the message received by the socket in order
     // Receive any relevant Onyx updates from the server
+    let waitHandlerPushJSONList = [];
+
-    PusherUtils.subscribeToPrivateUserChannelEvent(Pusher.TYPE.ONYX_API_UPDATE, currentUserAccountID, (pushJSON) => {
+    PusherUtils.subscribeToPrivateUserChannelEvent(Pusher.TYPE.ONYX_API_UPDATE, currentUserAccountID, (waitHandlerPushJSON) => {
+      waitHandlerPushJSONList.push(waitHandlerPushJSON);
         SequentialQueue.getCurrentRequest().then(() => {
-            Onyx.update(pushJSON);
+            if (waitHandlerPushJSONList.length <= 0) {
+                    return;
+            }
+            let pushJSON = waitHandlerPushJSONList.shift();
+            Onyx.update(pushJSON);
             triggerNotifications(pushJSON);
         });
     });

What alternative solutions did you explore? (Optional)
Not Yet

Proposal
Please re-state the problem that we are trying to solve in this issue.
Emoji reaction disappears when it applied at the time of uploading the attachment
What is the root cause of that problem?
Seems the reportAction details get overwritten with AddAttachment onyx success data response which makes Reaction data empty.
What changes do you think we should make in order to solve the problem?
I think we should not allow the user to do context menu operation till the time attachment isn't added to the system. Currently, if we allow and make it open then for download also it will give an error(as attachment details aren't available). This is the same behavior we can verify on other platforms.
Download Issue
https://user-images.githubusercontent.com/14358475/226972651-bccfd7bd-8f6d-48ab-8e85-c717a209f75e.mp4

To solve this we can use the below condition at 2 places to hide the context menu till the attachment is not added.
(!this.props.action.isAttachment || (this.props.action.isAttachment && this.props.action.pendingAction !== CONST.RED_BRICK_ROAD_PENDING_ACTION.ADD))
https://github.com/Expensify/App/blob/75798f50ce5ea8504012ffd15ef4a7e9e196ae8b/src/pages/home/report/ReportActionItem.js#L120
https://github.com/Expensify/App/blob/75798f50ce5ea8504012ffd15ef4a7e9e196ae8b/src/pages/home/report/ReportActionItem.js#L286-L289

Reminder here @parasharrajat

Whats the latest on this one @parasharrajat ? Thanks!

Upwork job price has been updated to $1000

Reverting price to $1000 since we are waiting for the proposals reviews

Friendly bump @parasharrajat .

@parasharrajat @MitchExpensify @aldo-expensify this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ and will need to go internal. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

@parasharrajat, @MitchExpensify, @aldo-expensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

@parasharrajat, @MitchExpensify, @aldo-expensify Whoops! This issue is 2 days overdue. Let's get this updated quick!

Shall we re-assign this @parasharrajat or can you get to it today or tomorrow perhaps?

Nice, did you post a Slack thread out of curiosity @parasharrajat? Keen to follow along as this issue is starting to drag on a bit

@parasharrajat @MitchExpensify @aldo-expensify this issue is now 4 weeks old and preventing us from maintaining WAQ, can you:

Decide whether any proposals currently meet our guidelines and can be approved as-is today
If no proposals meet that standard, please take this issue internal and treat it as one of your highest priorities
If you have any questions, don't hesitate to start a discussion in #expensify-open-source

Thanks!

I'm going to post in the C+ room to see if anyone else has bandwidth to help out here @parasharrajat

Similar to here, closing due to the deprecation of loading messages


Implement AddToBalance events in project event feeds

What does this PR do and why?
Implement AddToBalance events in project event feeds
Acceptance checklist
Have not been able to test as current subgraph is not up to date. This PR should be merged once the mainnet subgraph has the updated AddToBalance functionality.

[x] I have evaluated the Approval Guidelines for this PR.
[x] I have tested this PR in all supported browsers.
[x] I have tested this PR in dark mode and light mode (if applicable).

Confirmed to be working on Goerli! Tested on all supported browsers.


Update images-no-direct-imports.md - fixed the smallest spelling mistake

Description
fixed a tiny spelling mistake - is this open source coding?
Type of change

[x]  Patch: Bug (non-breaking change which fixes an issue)
[ ]  Minor: New feature (non-breaking change which adds functionality)
[ ]  Major: Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

[ ] I have added a changelog entry, prefixed by the type of change noted above (Documentation fix and Test update does not need a changelog as we do not publish a new version for these changes)

@thomasparsons Nice catch! Thank you for the patch.


RSDK-5986 - module logging propagation and resource-level loggers

Before and after (server side):

Before and after (client side):

@acmorrow fyi, this is still marked as draft because the abort trap issue isn't fully resolved, but I do think it's ready for you to look at whenever you're able. I've managed to significantly reduce (though not eliminate) the occurrence of abort traps, and isolate the failure points when we do get an abort trap. These places are highlighted in comments in the code. Let me know if you want to discuss or have any questions or thoughts!


Possibly compile time error

In the code snippet under Attaching a new entity to the context, the variable blog is defined twice within a scope.
using (var context = new BloggingContext())
{
    // Add a new User by setting a reference from a tracked Blog
    var blog = context.Blogs.Find(1);
    blog.Owner = new User { UserName = "johndoe1987" };

    // Add a new Post by adding to the collection of a tracked Blog
    var blog = context.Blogs.Find(2);
    blog.Posts.Add(new Post { Name = "How to Add Entities" });

    context.SaveChanges();
}

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 130521ba-2943-c640-4190-7e22af37e154
Version Independent ID: c31908e9-2836-8efd-5df6-e9dc5b5a9a5f
Content: Working with entity states - EF6
Content Source: entity-framework/ef6/saving/change-tracking/entity-state.md
Product: entity-framework
GitHub Login: @divega
Microsoft Alias: divega

Good catch @benneyman!


Lowercase the metric types (fixes #40)

The issue or feature being addressed

https://github.com/AppMetrics/Prometheus/issues/40

Details on the issue fix or feature implementation

Prometheus 2.4.0 has started validating that metric type names are lowercase. If they're not, the scrape will fail. The PR ensures that # TYPE statements always use the lowercase version of the metric type.

Confirm the following

[ X] I have ensured that I have merged the latest changes from the dev branch
[ X] I have successfully run a local build
[  ] I have included unit tests for the issue/feature
[X ] I have included the github issue number in my commits

@alhardy Hi, can this be included in Pre-release package? It is a pretty blocking change. Thank you.

@lkts, I think youc can use https://www.myget.org/feed/appmetrics/package/nuget/App.Metrics.Formatters.Prometheus/3.0.0-alpha-0061 in a meantime

@TDabasinskas That works, thank.

Can we patch this against v2.x?  The v3 pre-release package pulls in everything else v3 and we can't upgrade our core AppMetrics to v3 yet.

I too am interested in the v2 patch for this functionality please.


fix: Incorrect headers when downloading eSett docs.

Codecov Report

Merging #2056 (0d84faf) into main (ffc550b) will increase coverage by 9.66%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2056      +/-   ##
==========================================
+ Coverage   13.97%   23.64%   +9.66%
==========================================
  Files          80       94      +14
  Lines        2046     2339     +293
  Branches      203        0     -203
==========================================
+ Hits          286      553     +267
- Misses       1752     1774      +22
- Partials        8       12       +4

Files Changed
Coverage Δ

...aHub.WebApi/Controllers/EsettExchangeController.cs
0.00% <0.00%> (ø)

... and 20 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


UnhandledPromiseRejectionWarning: Error: Forbidden

Issue Summary
I'm relatively new to using sendgrid with node.js, and wanted to check it out. I followed all the instructions provided on https://app.sendgrid.com/guide/integrate/langs/nodejs. I even tried to replacing the "to" and "from" properties of "msg" with my own email id, and got the same error as the result.
Steps Followed

Created a new account and generated API Key over at https://app.sendgrid.com/guide/integrate/langs/nodejs
Followed steps 2,3,4
Tried to implement step 5, and the below mentioned error was encountered
In order to get the log of the error, I set up a try-catch statement to work as a promise handler which would output the error log, if there was an error.

Code Snippet
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const msg = {
  to<EMAIL_ADDRESS>  from<EMAIL_ADDRESS>  subject: 'Sending with Twilio SendGrid is Fun',
  text: 'and easy to do anywhere, even with Node.js',
  html: 'and easy to do anywhere, even with Node.js',
};
sgMail.send(msg);

Exception/Log
(node:2831) UnhandledPromiseRejectionWarning: Error: Forbidden
    at Request._callback (node_modules/@sendgrid/client/src/classes/client.js:124:25)
    at Request.self.callback (node_modules/request/request.js:185:22)
    at Request.emit (events.js:310:20)
    at Request.<anonymous> (node_modules/request/request.js:1154:10)
    at Request.emit (events.js:310:20)
    at IncomingMessage.<anonymous> (node_modules/request/request.js:1076:12)
    at Object.onceWrapper (events.js:416:28)
    at IncomingMessage.emit (events.js:322:22)
    at endReadableNT (_stream_readable.js:1187:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)
(node:2831) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:2831) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Technical details:

sendgrid-nodejs version: 6.5.5
node version: v12.16.2
OS: Ubuntu 18.04 LTS

It was least expected, but upon more close checking I realised that I had made the mistake of not including a '.' in the sender's email address I had registered as a single sender. Apologies.

@thazhemadam Please could you reopen this?
It's a documentation issue, since the page doesn't mention that you need to use a valid sender and a recipient. Since there is a validation step that interrogates logs, it would seem reasonable to use the example.com email addresses provided.
Incidentally, for anyone coming across this - you might find that that once the test mail does send, that it lands in spam.


Setup automatic DX tests for Hilla

After introducing React support, we encountered many issues with autocomplete and import suggestions for the components. Many things have effect on the TypeScript IDE behavior for Hilla applications, including:

package.json and tsconfig.json contents
npm install behavior and the resulting contents of the node_modules directory
the version of TypeScript used from the IDE
Hilla libraries, components, and generated output

In order to ensure that the factors above stay in alignment and together provide a good developer experience for the Hilla starters, let us setup automatic IT tests for Hilla starters behavior with TypeScript IDEs.
There are several ways to tackle this:

End-to-end testing using VS Code for the web
Integration tests directly asserting TypeScript Language Server output.

A note on the above: let's make sure we run tests on Windows+Linux+Mac

In addition to automatic tests, I think it would be good to add a manual test before bigger releases (major and minor), where a developer creates a project using the CLI, then creates a defined application without copy-pasting to catch errors like the ones we've had with auto-complete where copypasted code works, but the DX is broken.


Font weight 700 > 500 Table TH

Bug already reported ?

[X] I confirm that I have checked if the bug already has been reported

For which framework/library you are reporting the bug
Chlorophyll
Component name
table
Description
Font weight on the table TH is 700 and on figma is 500 it should be synced.
Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
Font weight by default should be 500


Does not compile on ARM

Hello all, when attempting to compile on ARM64 targeting ARM64, this happens:
  --> src/common/drive_file.rs:64:33
   |
64 |     const IMPORT_EXTENSION_MAP: &[(FileExtension, DocType)] = &[
   |                                 ^ expected named lifetime parameter
   |
help: consider using the `'static` lifetime
   |
64 |     const IMPORT_EXTENSION_MAP: &'static [(FileExtension, DocType)] = &[
   |                                  +++++++
help: consider introducing a named lifetime parameter
   |
63 ~ impl<'a> DocType {
64 ~     const IMPORT_EXTENSION_MAP: &'a [(FileExtension, DocType)] = &[
   |

For more information about this error, try `rustc --explain E0106`.
error: could not compile `gdrive` due to previous error```

I got this when compiling for x86_64 NetBSD.  I took the advise offered in the error, in particular, edit line 64 of src/common/drive_file.rs and add "'static" when it is indicated, and the compile completed and the program appears to work as expected.  It may be that this will work for you too.  While I certainly won't rule out a gdrive bug, this may be due to Rust compiler versions.  I used 1.62.1 on NetBSD/amd64.  The compile worked just fine with the same source tree on ArchLinux/x86_64 with Rust 1.74.0.


get_tickvalues not defined

Following the documentation, I tried to run this code sample:
using CairoMakie

struct IntegerTicks end

Makie.get_tickvalues(::IntegerTicks, vmin, vmax) = ceil(Int, vmin) : floor(Int, vmax)

lines(10 .^ (0:0.01:10), axis = (yscale = log10, yticks = LogTicks(IntegerTicks())))

but I get the error:
julia> Makie.get_tickvalues(::IntegerTicks, vmin, vmax) = ceil(Int, vmin) : floor(Int, vmax)
ERROR: UndefVarError: get_tickvalues not defined
Stacktrace:
 [1] getproperty(x::Module, f::Symbol)
   @ Base ./Base.jl:35
 [2] top-level scope
   @ REPL[3]:1

Are you on the same version as the docs?

Oops...  Was still on Makie v0.16.


Functions to call for Alexa actions

Summary:
I'm able to call Alexa wake function using a push button which is connected to my RPI GPIO referred from here
Now I want to mute or unmute Alexa using a push button, so kindly let me know which function to be used and if possible, please share me a list of functions call for the following:

Microphone toggle
Playback Controls (eg: PLAY or PAUSE)
Stop an interaction (eg: if Alexa is speaking, push a button to stop )

Note: All functions are called using different GPIO pins (I just want to know which function I've to call for a particular action)
What is the expected behavior?
Toggle mute or unmute microphone for alexa with a push button connected to RPI GPIO
Tell us about your environment:
Using the latest AVS-Alexa service installed using the guide from here
Tell us what hardware you're using:

Raspberry Pi

Tell us about your OS (Type & version):

Raspbian Buster

Got it guys, referred InteractionManager and got it working, so closing the issue.


Use --style=STYLE in CLI

As discussed at https://github.com/facebook/ktfmt/issues/391#issuecomment-2108107493
To be landed on top of #477

Once #477 is merged internally I'll rebase this, just wanted to get it up so it can be reviewed

Looks like you have to update the tests in order to make it all compile
https://github.com/facebook/ktfmt/blob/main/online_formatter/src/test/kotlin/HandlerTest.kt
And then the webpage to send in the right data now
https://github.com/facebook/ktfmt/blob/main/website/index/index.js#L95

I keep forgetting about the enclosed gradle builds!

@grodin are you still going to work on those?

I do plan to. It's a little hectic here with school summer holidays so I don't think I'll have a chance this week

@grodin, would you mind if I take over and finish working on the final bits? Credit would still go to you though

No problem, feel free


chore: remove renovate experiment

Details
This PR removes the files related to the Renovate experiment from #685
Motivation
After further testing in a separate repo, hit issues that exceeded experiment timebox.
Context
See #685
Pull request checklist

[x] PR title respects Conventional Commits (starts with fix:, feat:, etc, and is suitable for user-facing release notes)
[x] PR contains no breaking changes, OR description of both PR and final merge commit starts with BREAKING CHANGE:
[n/a] (if applicable) Addresses issue: #0000
[n/a] Added relevant unit tests for your changes
[n/a] Ran yarn precheckin
[n/a] Verified code coverage for the changes made

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Issue when deleting a table and the document contains nothing else

Do you want to request a feature or report a bug?
Bug
What's the current behaviour?

Go to https://gitbookio.github.io/slate-edit-table/
Delete everything
Insert a table
Delete that table

From this point on, any subsequent editing fails.
The reason seems to be that the document is left without any nodes.
What's the expected behavior?
The editor should contain the default empty node.
My workaround right now is to manually insert an empty paragraph before deleting the table.

Isn't it a bug that any Slate plugin would have ? If you select all your document and delete it, what should remains ? I think it's up to Slate to determine that.

Not related to this plugin, you can have your own normalization rules to ensure the document is never empty.


Need to refactor

While I was coding this project, I was newbie in Golang. So a full scoped refactor would be better for code quality.

i would remove the global var endpoints and add the functions to sw like sw.AddEndpoint(GET, "/product", ....)
this would also reduce the need of "." import the lib.