Copy Avoidance

After digging into the micro benchmark linked here:
https://github.com/facebookincubator/iterlib/pull/25
and looking at some profiles, I suspect that there is a copy going on between the observable -> skip -> take. Is there a way to avoid the copy in this code?
auto values = rxcpp::observable<>::iterate(vec).skip(size/2).take(size/4);

I wonder if it's feasible to use iterator_traits::reference instead of value_type here:
https://github.com/Reactive-Extensions/RxCpp/blob/master/Rx/v2/src/rxcpp/sources/rx-iterate.hpp#L159-L172

Hi!
rxcpp attempts to ensure minimal copies. Bugs fixes for excessive copies are welcome!
In this case, iterate is intentionally taking a copy of the vector when constructed and then copying each item during iteration.
rxcpp is async by default. this means that iterate takes the vector by value so that a copy (or move) of the vector is invoked, so that when subscribe is called later, the data is still valid.
the vector copy would be avoided by passing a non-owning range to iterate.
iterate is cold. this means that subscribe can be called multiple times and should return the full set of values each time and that those values should not have been mutated.
I think that the per value copy could be removed using iterator_traits::const_reference to prevent mutation. perhaps you could provide a PR for that and we can test to see if there is any negative affect.
Thanks!

the vector copy would be avoided by passing a non-owning range to iterate.

Thanks for the suggestion.
-    auto values = rxcpp::observable<>::iterate(vec).skip(size/2).take(size/4);
+    std::vector<ItemOptimized> sliced = vec | ranges::view::slice(size/2, size/2 + size/4);
+    auto values = rxcpp::observable<>::iterate(sliced);

speeds up things quite a bit by using range-v3. I would like to be able to write:
-    auto values = rxcpp::observable<>::iterate(vec).skip(size/2).take(size/4);
+    auto sliced = vec | ranges::view::slice(size/2, size/2 + size/4);
+    auto values = rxcpp::observable<>::iterate(sliced);

But the code doesn't compile. Is there a way to make a range-v3 view a source for rxcpp::observable without forcing a copy to a vector followed by iterate()? I suspect a new source would've to be written.
Re: PR for const_reference
I wrote some code along the following lines, but it didn't quite work. I suspect more extensive changes are needed.
const_ref.txt

Hi,
rxcpp is not a replacement for range-v3. if the data is already in a vector, then range-v3 is the right tool. if the values are arriving later, then rxcpp is the right tool.
The changes for const ref:
looks like iterate_traits::reference was defined and then iterate_traits::const_reference was referenced.
I expect problems if the value_type of the observable is changed to be a reference. The use of the reference should be isolated to the parameter passed to on_next
I would expect this to work:
auto sliced = vec | ranges::view::slice(size/2, size/2 + size/4);
auto values = rxcpp::observable<>::iterate(sliced);

What was the error?

The reason why rxcpp::observable<>::iterate(sliced) errors out for me is that include/range/v3/utility/iterator_traits.hpp in range-v3 doesn't define the value_type that rx-util.hpp expects for container types.
I'll take another look at isolating the const_ref changes to on_next. Thanks!

Forgot to add the actual error message:
/usr/local/rxcpp/rx-util.hpp:35:80: error: no type named ‘value_type’ in ‘std::decay<std::iterator_traits<__gnu_cxx::__normal_iterator<iterlib::ItemOptimized*, std::vector<iterlib::ItemOptimized> >&> >::type {aka struct std::iterator_traits<__gnu_cxx::__normal_iterator<iterlib::ItemOptimized*, std::vector<iterlib::ItemOptimized> >&>}’
 template<class T> using value_type_t = typename std::decay<T>::type::value_type;

it looks like there is an errant & in the type of the iterator.
perhaps you could try this edit in rx-iterate.hpp and see if that fixes it?
template<class Collection>
struct iterate_traits
{
    typedef rxu::decay_t<Collection> collection_type;
-    typedef decltype(std::begin(*(collection_type*)nullptr)) iterator_type;
+    typedef rxu::decay_t<decltype(std::begin(*(collection_type*)nullptr))> iterator_type;
    typedef rxu::value_type_t<std::iterator_traits<iterator_type>> value_type;
};

That change does fix it. Thanks!
Re: Using range-v3 for vectors and rxcpp for streaming
Things get a bit complicated when a common optimization called "microbatching" is applied. The idea is to delay processing for efficiency. It'd be great if the end user writing the logic doesn't have to worry about the optimizations the stream processing system is performing under the covers.
One way this could be handled is to pass a vector to on_next() by const reference.

One way this could be handled is to pass a vector to on_next() by const reference.

are you referring to the buffer operators?

are you referring to the buffer operators?

Yes. Glad to know rxcpp already takes care of it. I was looking into the implementation here:
https://github.com/Reactive-Extensions/RxCpp/blob/master/Rx/v2/src/rxcpp/operators/rx-buffer_count.hpp#L92
and was wondering if we can avoid the copy in deque/chunks.
One technique iterlib uses for these types of things is to use pointers. Example usage:
https://github.com/facebookincubator/iterlib/blob/master/include/iterlib/OrderByIterator.h#L89
But in order for this to work, the underlying container has to ensure that the pointer remains valid until the item is consumed. std::vector doesn't have this property, which is why we uses list here:
https://github.com/facebookincubator/iterlib/blob/master/include/iterlib/RocksDBIterator.h#L52-L60
Thanks for looking into this and merging the fix.

Hi! I am finally back after a trip.

wondering if we can avoid the copy in deque/chunks.

When the time or count windows are overlapping the copies are required (the same value is part of multiple vectors).
I think your best solution would be a new set of operators - view_. . .
These would store a single deque (even for overlapping windows) and use the soon-to-be-std view(?) type to pass out (potentially overlapping) views into the deque rather than copies. Each value would only be removed when all the views that reference it are emitted.
views of a list of shared_ptr would prevent copies, but I would expect that solution to die in allocator and CPU cache thrashing. often copies of vectors are faster than processing of lists with the same data.
views on a deque would have to be deep copied to a vector if they needed to retained after the stack unwound to the view_. . . that owns the deque, but C++ is pay-for-what-you-need, so it would only add overhead when that overhead is explicitly requested.
Another approach would be for the IO case. making a buffer pool with an owning reference type or a copy-on-write buffer type would allow chunks of data to be efficiently passed by value (copy or move) through all the rxcpp operators.


Component Graph

This is likely to be a useful abstraction in two very important places:

The "Managed Circuit" API (to soon be coming after this) which abstracts the core MNA Circuit abstraction and relaxes the issues with removing components; and
I posit, the thermal simulation, where each region is a simulation domain (this might not have such important performance benefits as the former, but nonetheless).

Note: this is built off of the feature/multimap branch because the tests depend on multimaps.
Todo:

[ ] Improve test coverage
[ ] Document
[ ] Independently review API ergonomics (test implement CircuitManager off this tip?)

I'll take a look at this in the morning; the linter is likely to flip out about whitespace, but the algorithms seem solid. This isn't highly-optimized at the moment, but it is enough of an interface to start getting the important parts off the ground: an interface to Circuit that allows for dynamic disconnections, which will provide for most of the simulation logic.

I'm updating the branch because I think master has a fix for some of the failed builds.

@Grissess status on this?

What's wrong with the debug prints, again? :)

As for the other two that I can't seem to comment on: I did notice that prefix to the regular ol' debug print facility, and I approve; the only thing I'm even slightly concerned about is the runtime cost of that, but that's another axe to grind. You'll notice I used abbreviations, too, to keep the column width of debug prints as small as reasonable, but... once again...
As long as that's the only thing troubling you, that's easy enough!
And, for the star import--do you have any IDEA tricks for that? I think IDEA itself just decided to star it because I was using "enough" imports from java.util (for some definition of "enough") that it thought it was being helpful. I probably can resolve that manually, but I'm worried IDEA will just star it again if I use its own facilities to resolve those imports :P

I would highly recommend telling IDEA not to do asterisks ever. It makes the imports easier to read. The setting is somewhere in the settings menu, which is searchable.
I would change it for Kotlin and Java if you want.

RE: Debug prints taking a long time - meh. Printing by itself takes a little while as it is since it's buffered and stuff, I don't think spending a few extra cycles to find the class name is going to be too bad. Besides, it's debugging code, it shouldn't ever need to run while the game is running unless you've turned it on for some reason.

Well now, I found the culprit for Java, but I can't find it for Kotlin... here's to hoping it's the same setting for both :)

:tada:


allow custom comparison function

The current comparison just does equality on the arguments.
Maybe we want a custom comparison that knows how to handle arguments that are "tuples" i.e. shallow comparison on array arguments.

Close?


Times out

It does not work when i run tailscale up --login-server https://vpn.*.duckdns.org --authkey *

Hi @Juliaria08,
Can you add more details?
If you do curl https://vpn.*.duckdns.org/key do you get any response?
Thanks!

Yes, i get a machine id
It is tring to get /machine/ endpoint
[GIN] 2021/06/01 - 12:31:26 | 404 |         437ns |    <IP_ADDRESS>  | GET      "/machine/-"
[GIN] 2021/06/01 - 12:31:45 | 404 |       1.174µs |    <IP_ADDRESS>  | GET      "/machine/-"

What ports do need to be opened on that server?
Appart from that http proxy that i am doing

Hey @Juliaria08,
You are getting this error on the top of the log message you are pasting:

Could not load DERP servers map

That means that there is something wrong with your derp.yaml.
Without a working list of DERP servers your tailscale nodes are not going to be able to boot up.

Hey @Juliaria08,
You are getting this error on the top of the log message you are pasting:

Could not load DERP servers map

That means that there is something wrong with your derp.yaml.
Without a working list of DERP servers your tailscale nodes are not going to be able to boot up.

I have just put the derp conf back to default

And the result?

And the result?
Still hanging up on tailscale up

Can you paste the full log in here?
On Tue, 1 Jun 2021 at 20:51, Julian Marcos @.***> wrote:

And the result?
Still hanging up on tailscale up
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/juanfont/headscale/issues/32#issuecomment-852364643,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABMGQ56HWGFJMXEGAOBLGDTQUT4JANCNFSM454L3ANA
.

Can you paste the full log in here?
…
On Tue, 1 Jun 2021 at 20:51, Julian Marcos @.***> wrote: And the result? Still hanging up on tailscale up — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub <#32 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABMGQ56HWGFJMXEGAOBLGDTQUT4JANCNFSM454L3ANA .

I asume headscale log, now running on prod mode with systemd:
Jun 01 21:06:47 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:06:47 | 200 |     679.472µs |  machine2 | POST     "/machine/a1a52bbeb584ddf98210f6fcde91224b67f9bcffbb3d554d8d9f3e06297c2845"
Jun 01 21:07:04 bindy.mopi.local sh[520347]: 2021/06/01 21:07:04 We dont know anything about the new key. WTF
Jun 01 21:07:04 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:07:04 | 200 |      757.98µs |  machine2 | POST     "/machine/a1a52bbeb584ddf98210f6fcde91224b67f9bcffbb3d554d8d9f3e06297c2845"
Jun 01 21:07:10 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:07:10 | 404 |         950ns |   machine1 | GET      "/machine/60e3bce3c4c47d0d14cf7a49e4e518f683b224e21a5c19a9415b57f96c58d069"
Jun 01 21:07:32 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:07:32 | 404 |         658ns |   machine1 | GET      "/machine/60e3bce3c4c47d0d14cf7a49e4e518f683b224e21a5c19a9415b57f96c58d069"
Jun 01 21:07:37 bindy.mopi.local sh[520347]: 2021/06/01 21:07:37 We dont know anything about the new key. WTF
Jun 01 21:07:37 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:07:37 | 200 |     688.414µs |  machine2 | POST     "/machine/a1a52bbeb584ddf98210f6fcde91224b67f9bcffbb3d554d8d9f3e06297c2845"
Jun 01 21:08:00 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:08:00 | 404 |         550ns |   machine1 | GET      "/machine/60e3bce3c4c47d0d14cf7a49e4e518f683b224e21a5c19a9415b57f96c58d069"
Jun 01 21:08:06 bindy.mopi.local sh[520347]: 2021/06/01 21:08:06 We dont know anything about the new key. WTF
Jun 01 21:08:06 bindy.mopi.local sh[520347]: [GIN] 2021/06/01 - 21:08:06 | 200 |     630.594µs |  machine2 | POST     "/machine/a1a52bbeb584ddf98210f6fcde91224b67f9bcffbb3d554d8d9f3e06297c2845"

Um. This looks like a bug indeed!
I will investigate and try to replicate the issue. Keep you posted!

Um. This looks like a bug indeed!
I will investigate and try to replicate the issue. Keep you posted!

If you need that system is running with a nginx reverse proxy for giving myself ssl, because i have more than one websites && a firewall that only allows nginx, http, ssh, but it allows to make connections as if the ip was dierect, because it is also using a x2ltp connection

Do i need to get #33 ?

Is there any port i need to open?

Hi @Juliaria08 you can checkout that branch, or just wait until the PR is reviewed and merged into main.
In principle you only need to open the port where you run headscale, as per the config.json you have defined.

Hi @Juliaria08 you can checkout that branch, or just wait until the PR is reviewed and merged into main.
In principle you only need to open the port where you run headscale, as per the config.json you have defined.
Ok, then it is still not working because i can't ping the other server...

@Juliaria08 but has the authentication workflow finished? Can you paste the logs?

@Juliaria08 but has the authentication workflow finished? Can you paste the logs?

Ok. pasting logs. Due to not wanting to get DDOS'ed i will change client 1's ip to <IP_ADDRESS> and client 2's ip to <IP_ADDRESS>

You are not running the new branch!

You are not running the new branch...
However, that should work in the current version you are running.
I will investigate....

Getting branch fix-polling-race...

@Juliaria08 the branch has now been merged into main. Can you check if you are still having the issue?
Cheers,
Juan

@Juliaria08 the branch has now been merged into main. Can you check if you are still having the issue?
Cheers,
Juan

Nothing, tailscale up still does not work correctly.
What i am supposed to do on the client side? Appart from running tailscale up --login-server https://vpn.*.duckdns.org

Can you paste logs?

Can i send mail?

hahah sure. juanfontalonso at gmail.com

hahah sure. juanfontalonso at gmail.com

Done

Why aren't the machines able to acces, nor ping the tailnet...

Check your email please.
On Sun, Jun 13, 2021, 20:21 Julian Marcos @.***> wrote:

Why aren't the machines able to acces, nor ping the tailnet...
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/juanfont/headscale/issues/32#issuecomment-860251152,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABMGQ3F3PAMQDJEQHGSH7DTSTZKHANCNFSM454L3ANA
.


Remove preview values until 1.17 (#601)

Remove preview values until 1.17

Add documentation for dynamic SSH profiles (#594)

Add support for scroll bar 'always' setting (#593)

Co-authored-by: Jon Thysell<EMAIL_ADDRESS>Co-authored-by: Steve Otteson<EMAIL_ADDRESS>

Learn Build status updates of commit 37bdc20:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/command-line-arguments.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-appearance.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/startup.md
:white_check_mark:Succeeded
View

TerminalDocs/dynamic-profiles.md
:white_check_mark:Succeeded
View

TerminalDocs/tutorials/ssh.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Events not registered after continued use

After using the application for a bit, it looks like clicks and some click releases aren't registered. My guess is that maybe some event handling code is too slow, and interferes with registering the next event. That or there is a build up of clutter that slows things down. I thought I fixed some issues with the moderngl garbage collection, but there could still be something there.

I tried running the application while logging events and immediately returning to avoid any of the event handler code. The issue was still there after clicking around for a while.


Adding support for GITHUB IGNORES to the engine Dockerfile

GITHUB IGNORES block the mkdocs header like this:

Then, you use a sed in the Dockerfile to strip the comment tags out and leave the "meat" of the mkdocs header behind.
RUN sed -i.old  -e '/^/g'
/docs/sources/registry/.md
/docs/sources/registry/spec/.md
/docs/sources/registry/spec/auth/.md
/docs/sources/registry/storage-drivers/.md
I've tested it on Distribution with make docs and works like a charm.   Currently, we aren't requiring GITHUB IGNORES in our files except in the docker/distribution repo where the team specifically asked for functionality like this.
Signed-off-by: Mary Anthony<EMAIL_ADDRESS>

ping @docker/docs-owners

I like the idea, but this is the wrong place for the code to go.
There is already a rudimentary implementation of this in https://github.com/docker/docs-base/blob/master/build.sh#L14
to make the meta-data render less horribly, I copied the way fig did it with jekyll - they surround the meta with ----- blocks, which makes it render as a table.
If you move this processing into there, then it'll be consistent for all our projects :)

@SvenDowideit they do not want the meta data to render at all.
I am not familiar with the docs-base project; frankly I don't have time to redo the testing and the fix. This works now.
If you want to port this and test it into docs-base, that would be great.  I'm not sure it is needed:

It is only really required for distribution
We are less than two months away from Dockercon when we will have totally different tooling

Just personal preference, but perhaps it could look a bit more like the "Internet Explorer" conditional comments (http://www.sitepoint.com/web-foundations/internet-explorer-conditional-comments/), e.g.
<!--[metadata]>
page_title: Deploying a registry server
page_description: Explains how to deploy a registry server
page_keywords: registry, service, images, repository
<![end-metadata]-->

@thaJeztah It seemed better to use something that was self-documenting.

It seemed better to use something that was self-documenting.

Hm, if I encountered <!--GITHUB or IGNORES--> without prior knowledge, my first impression would be "someone accidentally pasted his/her clipboard here". Perhaps [hide-on-github] or [hide-meta-data] / [end-hide-metadata]?
My point in using (hidden-)metadata as a term was that the comment-block will hide it on any Markdown renderer, not just GitHub; so a more generic "hack" description could be appropriate.

@thaJeztah You have made two good points.  So, the distribution team and @stevvooe are wanting this to close like yesterday so I can publish and fix their docs.  Taking your suggestion now means at least two hours to test, create a new sed, implement in the down stream repository, and then retest back up here.
I will have to implement this in the Hugo tooling. Right now, I'm not sure what Hugo codes we will be using and I'm not familiar enough with the docs-base enough to fix it quickly.
My preference is to implement this now, in the existing tooling. I can iterate and improve it with your suggestions when I go to docs-base.  Sound good?

@moxiegirl sounds good; I actually wanted to add a follow-up comment that "It's a hack, we know it, and it has to be done fast". No need to discuss this at length while there are far more important issues.
LGTM (as a temporary hack :))
(Might want to open a placeholder issue for finding a neater solution)

@thaJeztah Super, yes agreed. I'll be linking to this from the docker/docs project.  That's an iterative project to redo the tooling for Dockercon.  I'll ping you from there. I'm working on an initial info on the project.
Author LGTM

@thaJeztah This one is my fault. Lot's of sighs...

@stevvooe what needs to be done, needs to be done, right? I don't think it's a big deal as long as we don't loose sight and keep it on a todo list. No worries!
(We still need a general style-guide for the Markdown documents to keep the styling between projects consistent ... remind me on that)

@thaJeztah @stevvooe Let's remember that documentation tooling is iterative in just the way that any software. Yes, it is important to get things "right" but "perfect" is often the enemy of the good.  This solution will work for this requirement without blocking movement forward on the other work.  The final solution will be stronger for this.
@thaJeztah A style guide for Markdown documents is a good idea. There are several things outside of that which are inconsistent across projects --- labeling and bots and more.  Docker has a newly formed open source service team that will be working on unifying that -- or at least making it clear to contributors when there are differences. I'm on that team; so I'll keep in mind you wanted to be reminded.

@moxiegirl thanks! I noticed the docker/docs repo disappeared for me; has it been removed or is it protected/hidden for now (until public release)?

@thaJeztah It isn't ready for the public yet. I was premature in releasing it because I had people concerned that it wasn't public.  It isn't public because it isn't ready.  I"m aware of this particular issue though and I'll make sure to ping you when it is public.

@moxiegirl :) sounds good to me, thx!


CCE-561: Side-nav now overlay the content. Don’t push the content on …

…the page

@saadmhybris Can you please test this on your real devices. It could break the site on mobile...

please see my comment on the ticket - https://jira.hybris.com/browse/CCE-561


Inconsistent focus given to the dropdown of buttons (and thus a "glowing" dropdown)

There appears to be a box-shadow that applies to the button or the dropdown, inconsistently. See the foundation documentation examples: notice on the first two the box-shadow is on the button, like this:

And on the next few it's on the dropdown:

I noticed this problem on my own project, which isn't using class="button" but still using the dropdown pattern:

I could find the box-shadow reference for this anywhere in the foundation scss. I'd suggest removing the flow from buttons and dropdowns, if possible. Thanks.

I just ran into this thread. I noticed the same issue in the examples, which was happening in a project I am working on. It looks like setting tabIndex=-1 on the dropdown content actually makes Foundation focus on it when you click. If you check the source code, you will notice that some examples have tabIndex set and others do not.


Update pom to 0.10.0-SNAPSHOT

Description
Update pom to 0.10.0-SNAPSHOT
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #7788 (8f70cf1) into master (09bb91c) will decrease coverage by 57.00%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #7788       +/-   ##
=============================================
- Coverage     71.62%   14.62%   -57.01%
+ Complexity     4079       80     -3999
=============================================
  Files          1578     1533       -45
  Lines         80641    78771     -1870
  Branches      11987    11784      -203
=============================================
- Hits          57758    11517    -46241
- Misses        18994    66406    +47412
+ Partials       3889      848     -3041

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
14.62% <ø> (+0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


untrunc-anthwlock: fix build on darwin and ensure optimized builds

Description of changes
Fix a typo in libui derivation that was actually causing the package to fail on darwin (it could not find the ui library).
Also refactor the build to make it clearer and ensure optimizations are enabled.
Marked as broken by #173671 I think, should be backported.

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[ ] aarch64-darwin

[X] 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
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (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 180924 run on x86_64-darwin 1

4 packages built:

libui
nimPackages.spry
nimPackages.ui
untrunc-anthwlock

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

1 package built:

untrunc-anthwlock


CkBitVector's comparison operators lie

Original issue: https://charm.cs.illinois.edu/redmine/issues/189

The basic operator== and operator< simply return false; rather than actually computing anything. If they're in use or prospectively useful, they should be fixed. If not, deleted, I guess.

Original date: 2013-08-28 19:04:05

Please look into this.

Original author: Yanhua Sun
Original date: 2013-09-16 15:39:34

Fixed by implementing correct operations

Original author: Yanhua Sun
Original date: 2013-09-17 04:11:34

I implemented a compare function.
If the length of their bits are different, the longer one is greater.
If the length is same, I compare int by int from the first integer. This is because the most significant bit sits in the first integer.

Original author: Yanhua Sun
Original date: 2013-10-08 19:37:42

Semantics:
(1) Compare bit by bit , the one who has smaller bit is smaller.  The one which is short is smaller.
(2) smaller is less.

Original author: Yanhua Sun
Original date: 2013-10-11 14:07:27

updated according to lexicographic order


Graph view Idea

Hi, can you possibly design a similar graph view, the image is attached.

this library doesn't support such type, what you really need is Chart View.
but if you want this shape with indicator like speedometer, just use ImageSpeedometer.
thanks for understanding.


Override Source URL?

I noticed that when uploading images using Bootsy that it will default to relative URLs for the source inside the html. Is it possible to override this default behavior somehow and make the source URL absolute so I can send HTML emails and the images still render properly outside of the application.
BTW... Bootsy is win!

Hey, thanks for using Bootsy. Although currently it's not possible, I think that's a good idea! I'll try to include that on Bootsy 2.1. In the meantime, you'll have to parse your content, unfortunately.
I'll keep you posted!

@zeknox, I ran into the same issue. This is what I did to set the full source url for uploaded images:
Set asset_host in environments config/environments/development.rb:
config.action_controller.asset_host = 'http://localhost:3000'

add asset_host to carrierwave initializer config/initializers/carrierwave.rb :
CarrierWave.configure do |config|
  config.asset_host = ActionController::Base.asset_host
end

Thanks @sandergarretsen! This works like a charm.

Since configuring CairrerWave does the trick I think we can close this. Thanks for sharing!


Inconsistent pre-commit output for verify

The pre-commit hook for verify gives an output that is inconsistent with when it is run on the CLI.
(test-pip-compile-multi) ➜  funnel git:(pip-compile-multi) ✗ pip-compile-multi verify
OK - requirements/base.txt was generated from requirements/base.in.
OK - requirements/test.txt was generated from requirements/test.in.
ERROR! requirements/dev.txt was not regenerated after changes in requirements/dev.in.
Expecting: # SHA1:5822630717825feb55a032ce440fc3ba1dcdb24a
Found:     # SHA1:6aac873c7a17f979a439fc0b45d168fc9bbf3cf3

(test-pip-compile-multi) ➜  funnel git:(pip-compile-multi) ✗ git commit -m "Add flask-debugtoolbar for dev."
check pre-commit.ci config...............................................Passed
pip-compile-multi verify.................................................Failed
- hook id: pip-compile-multi-verify
- exit code: 1

ERROR! requirements/base.txt was not regenerated after changes in requirements/base.in.
Expecting: # SHA1:72a064a0753f811f7b3c1335f3377d3d6c6dbfff
Found:     # SHA1:583a869a06d08d025ee7430995af9a2c4ecb6546
ERROR! requirements/test.txt was not regenerated after changes in requirements/test.in.
Expecting: # SHA1:e31d3e4488d802f3ad33e3663c60a438acf3e754
Found:     # SHA1:c5a71eb216230dce54d598cfeb833afe50a4af40
ERROR! requirements/dev.txt was not regenerated after changes in requirements/dev.in.
Expecting: # SHA1:2e9e4a6c1eaf97ac9be86a0354c2b1f5a4126b0b
Found:     # SHA1:6aac873c7a17f979a439fc0b45d168fc9bbf3cf3

There are no changes made in base.in and test.in.

Looks like a version mismatch. What's the rev you have in your pre-commit-config file?
https://pip-compile-multi.readthedocs.io/en/latest/precommit.html

Wow, it is v1.3.2 in my config file! It seems I must have ended up copying it from an older readme page somehow.
I have corrected it and am not facing the issue anymore. Thanks.


Minify dist on publish.

Additional task to minify substance.cjs.js, substance.es.js and substance.js. As discussed in #1116.

Codecov Report

Merging #1202 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1202   +/-   ##
========================================
  Coverage    59.85%   59.85%
========================================
  Files          394      394
  Lines        14862    14862
========================================
  Hits          8895     8895
  Misses        5967     5967

Continue to review full report at Codecov.

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

@Integral Just saw that b.minify() is not working. I have fixed and published<EMAIL_ADDRESS>

Please introduce a 'prepublishOnly' npm script that call node make publish, and instead let the publish script call node make

@oliver----  did you mean that prebublish script should call node make?

Yeah, that ohne.
Daniel Beilinson<EMAIL_ADDRESS>schrieb am Fr., 18. Mai 2018,
16:27:

@oliver---- https://github.com/oliver---- did you mean that prebublish
script should call node make?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/substance/substance/pull/1202#issuecomment-390224634,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AARVwzIPQcZMDiIRkjAGz_EdfowxToBDks5tztpDgaJpZM4UEsPF
.

Let's see if the combination of 'prepublish' and 'prepublishOnly' works for us.
Having too much in 'prepublish' is making every 'npm install' so long.

Done.

Thanks!
Could you try out now if the minified version is working?
For that do a npm pack in substance. Then go into texture, and npm install the tarball generated by npm pack. Then change app/index.html to use substance.min.js.

Oh, I see, npm pack is not running prepublishOnly... god damnit!

Could you find out, what script we need, so that npm pack is also doing the full build?

(tststs these npm workflow is anything else than intuitive!)

After reading https://docs.npmjs.com/misc/scripts
I think we only want prepack. Then node make publish is run on npm publish and npm pack.
A relative install such as npm install ../substance is now pretty much the same as npm link. In that case you need to do a manual build anyways.
When I test the bundle, I now always use npm pack.

Sorry for the back-and-forth ;)

And then a local npm install is not doing anything. Which was annoying me anyways.

@Integral taking over here.. this is bugging me

@oliver---- sweet! it's working. Thought I can't really verify that npm installs package from tarball even without internet connection, I could say that minify version working both for app and web versions!

Ok thanks for checking!


Create and Run an ABAP Application

Tutorials: https://developers.sap.com/tutorials/abap-create-basic-app.html
There is a small formatting error in the question at the end of the tutorial.

Hi Christian, thanks for this - looks like a rendering issue that is a little eager to interpret newlines with HTML and then HTML-encode the HTML :-) I've addressed this specific instance (the update to the tutorial will take some time to come through) and alerted the team that looks after the engine.


Is there an example on Custom Agent?

Hi,
Is there a Custom Agent example similar to this one Custom LLM Agent?

Hey, not really. However, you can follow the LangChain tutorial mentioned above, but with one difference: you will import LLM from this library instead of from LangChain.


Improve Docs

To earn your Hacktoberfest tee or tree reward, you must register and make four valid pull requests (PRs) between October 1-31 (in any time zone). PRs can be made to any public repo on GitHub, not only the ones with issues labeled Hacktoberfest. If a maintainer reports your pull request as spam or behavior not in line with the project’s code of conduct, you will be ineligible to participate. This year, the first 70,000 participants who successfully complete the challenge will be eligible to receive a prize.

PR is indeed spam. Closing.


Add GetTypeRegistration impl for reflected tuples

Objective
Reflected tuples do not implement GetTypeRegistration, preventing us from registering our tuples, like:
app.register_type::<(i32, i32)>();

This is especially important for things like using #4042 to improve the scene format or implementing #4154 to recursively register fields.
Solution
Added an implementation to the tuple macro:
impl<$($name: Reflect + for<'de> Deserialize<'de>),*> GetTypeRegistration for ($($name,)*) {
  fn get_type_registration() -> TypeRegistration {
    let mut registration = TypeRegistration::of::<($($name,)*)>();
    registration.insert::<ReflectDeserialize>(FromType::<($($name,)*)>::from_type());
    registration
  }
}

This requires that the tuple's types implement Deserialize. This is exactly how Vec and HashMap handle it:
impl<T: FromReflect + for<'de> Deserialize<'de>> GetTypeRegistration for Vec<T> {
  fn get_type_registration() -> TypeRegistration {
    let mut registration = TypeRegistration::of::<Vec<T>>();
    registration.insert::<ReflectDeserialize>(FromType::<Vec<T>>::from_type());
    registration
  }
}

Makes sense, and code looks good to me :)

bors r+

bors r+


Player 2 is appearing erroneousely

sometimes a ghost player appears on the map

found the bug in host.py
fixed in current commit


textDocument/didSave causes spurious cancellation of in-flight requests (syntax highlighting)

if i edit a file and save it before processing finishes, semantic highlighting breaks (loses coloring). it doesn't happen every time (it's timing related) but is not hard to reproduce. editing the file again brings semantic highlighting back. i can provide more info if necessary.
Logs
I[18:41:02.343] <-- textDocument/didChange
I[18:41:02.345] --> textDocument/clangd.fileStatus
I[18:41:02.579] <-- textDocument/codeAction(5216)
I[18:41:02.587] ASTWorker building file project/cppsrc/graph.cc version 1000 with command
[project]
/usr/local/Cellar/llvm/11.0.0/bin/clang-tool -xc++ -std=c++20 -Wall -Wextra -Wconversion -Inode_modules/node-addon-api -DNAPI_DISABLE_CPP_EXCEPTIONS -DNODE_ADDON_API_DISABLE_DEPRECATED -I/Users/cruzdanilo/Library/Caches/node-gyp/15.3.0/include/node project/cppsrc/graph.cc -fsyntax-only -resource-dir=/usr/local/Cellar/llvm/11.0.0/lib/clang/11.0.0 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
I[18:41:02.589] --> textDocument/clangd.fileStatus
I[18:41:02.771] <-- textDocument/semanticTokens/full/delta(5217)
I[18:41:02.825] <-- textDocument/documentSymbol(5218)
I[18:41:03.139] <-- textDocument/didSave
I[18:41:03.146] --> textDocument/clangd.fileStatus
I[18:41:03.216] ASTWorker building file project/cppsrc/graph.h version 171 with command
[project]
/usr/local/Cellar/llvm/11.0.0/bin/clang-tool -xc++ -std=c++20 -Wall -Wextra -Wconversion -Inode_modules/node-addon-api -DNAPI_DISABLE_CPP_EXCEPTIONS -DNODE_ADDON_API_DISABLE_DEPRECATED -I/Users/cruzdanilo/Library/Caches/node-gyp/15.3.0/include/node project/cppsrc/graph.h -fsyntax-only -resource-dir=/usr/local/Cellar/llvm/11.0.0/lib/clang/11.0.0 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
I[18:41:03.218] --> textDocument/clangd.fileStatus
I[18:41:03.219] --> textDocument/clangd.fileStatus
I[18:41:03.222] --> textDocument/clangd.fileStatus
I[18:41:03.223] --> textDocument/clangd.fileStatus
I[18:41:03.333] <-- textDocument/documentLink(5219)
I[18:41:03.528] --> reply:textDocument/codeAction(5216) 949 ms
I[18:41:03.529] Skipping rebuild of the AST for project/cppsrc/graph.cc, inputs are the same.
I[18:41:03.533] --> textDocument/publishDiagnostics
I[18:41:03.533] --> reply:textDocument/semanticTokens/full/delta(5217) 762 ms, error: Task was cancelled.
I[18:41:03.534] --> reply:textDocument/documentSymbol(5218) 708 ms, error: Task was cancelled.
I[18:41:03.534] ASTWorker building file project/cppsrc/graph.cc version 1000 with command
[project]
/usr/local/Cellar/llvm/11.0.0/bin/clang-tool -xc++ -std=c++20 -Wall -Wextra -Wconversion -Inode_modules/node-addon-api -DNAPI_DISABLE_CPP_EXCEPTIONS -DNODE_ADDON_API_DISABLE_DEPRECATED -I/Users/cruzdanilo/Library/Caches/node-gyp/15.3.0/include/node project/cppsrc/graph.cc -fsyntax-only -resource-dir=/usr/local/Cellar/llvm/11.0.0/lib/clang/11.0.0 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
I[18:41:03.536] --> reply:textDocument/documentLink(5219) 203 ms
I[18:41:03.536] --> textDocument/clangd.fileStatus
I[18:41:03.539] --> textDocument/clangd.fileStatus
I[18:41:03.541] --> textDocument/clangd.fileStatus
I[18:41:03.542] --> textDocument/clangd.fileStatus
I[18:41:03.790] <-- textDocument/codeAction(5220)
I[18:41:03.791] --> reply:textDocument/codeAction(5220) 0 ms
I[18:41:03.791] --> textDocument/clangd.fileStatus

System information
Clangd version (from the log, or clangd --version): 11.0.0
clangd extension version: 0.1.8
Operating system: macOS Big Sur v11.0.1

By the way this is actually a bug in vscode/the language server implementation (see https://github.com/microsoft/vscode/pull/113315). When we cancel the request, the language server reports null tokens to vscode instead of throwing an error. And in the specific case where tokens are null, vscode does not reschedule even if there has been changes since the request was sent.


Cinder MAAS alarm used outdated and fixed cinder-volume-status

What version (commit) do you encounter this issue on?
r11.1.6
What type of issue is this (bug, feature, documentation, regression)?
Bug
What is the expected behavior?
Alarm is installed per cinder backend
What is actually happening?
Only one alarm is installed for the entire cinder_volumes service, checking to the hard coded
cinder-volume_status metric. The new checks are reporting metric per back end now so we should update the alarm definition accordingly
Example output of a current cinder service check:
status okay
metric cinder-volume-lvm_status uint32 1
metric cinder-scheduler_status uint32 1
How can we reproduce this issue?
How can we verify your issue is addressed?
No maas errors for this check
If this is a large issue, what can be done immediately to alleviate the issue while working on a longer-term solution?
Medium prio
What is your evaluation on the importance of this issue, and why?

What branches / milestones do you believe this issue should target?
The list below is what is currently supported for backports
Remove branches (lines) you do not wish to target.

[ ] Master
[ ] liberty-12.2
[ ] liberty-12.1
[ ] kilo

Knowing that this was a purposeful change, closing the bug


New actively maintained integration! Collaborators welcome! Details inside.

What Happened?
I've created a new Github organization, The libdyson Working Group and published updated versions of libdyson, ha-dyson, and ha-dyson-cloud. The new forks are actively maintained, and I would be excited to talk with any contributors about joining the organization.
I'm currently working on merging all the commits from Pull Requests, then I'll address all the Issues. There are a few conflicts in the Pull Requests regarding newer devices (Formaldehyde fans/heaters, Humidifiers, and refreshes like the HP07 refresh of the HP04). For the time being, Formaldehyde models are the next on my list of things to tackle.
How can I help?
Anyone interested in helping, even if it's just reviewing and merging Pull Requests, please let me know here in this thread, or via email (ben+libdyson@vez.email)!
Why Fork?
I'm really grateful to @shenxn for their dedication to the project over the years. Sadly, they've been pretty quiet for the past 4~5 months and the integration has started breaking for some people, especially people using new unsupported devices. Eventually, it seemed appropriate to talk about making a community fork to keep things moving.
I especially want to make sure there's at least two people who can merge Pull Requests. This isn't the biggest repo in the world, but it is used by people and gives us some really nice features that are otherwise impossible to access. So I want to make sure all of us continue to have that.
What are the goals?
Primarily, just to keep this working and maintained. I'd personally like to make the integrations and library easier to use, and I'm open to any kind of improvements that the community might have - PR's welcome! Other than that, my short term goals over the next few days are:

Finish merging all the PR's from the past few months to add support for new devices, features for vacuums. This is partially complete right now.
Get Formaldehyde, Humidifier, and other new models working and reporting the correct information.

There are some PRs, but Dyson is being weird and giving different models the same Device ID's which confuses the logic of libdyson right now.

Done: Work with Github support to remove the Fork status so that the new repos can have their own dedicated Issues tracker.
Get some more members on the working group to ensure PRs get merged quickly and updates happen.
Try my best to help people get migrated if they need to.

If you have issues: https://github.com/libdyson-wg/ha-dyson/issues

How do I switch from @shenxn's repos to the new repos?
Experimental no-reconfiguration swap
I haven't tested this method very much, but in my experiments it seems possible to switch over with zero impact to your current integration configuration, entities/devices, or dashboards. I don't know what side-effects it may have though (leftover old config data might start causing issues or something - no guarantees).

Remove the ha-dyson and ha-dyson-cloud custom repositories from HACS

Without removing the integrations themselves.

Add the new ha-dyson and ha-dyson-cloud custom repositories

The ha-dyson-cloud repository is only necessary if you already use it, or are intending to use its features. It is not required, but currently, it makes setting up new devices like HP07 (527K) much simpler.

Update the ha-dyson and ha-dyson-cloud repositories using the HACS updater

Proven some-reconfiguration swap
This is proven to work without any side effects. If you used the default IDs for the entities and devices, then you'll just need to re-configure the devices but your dashboards will not need updating.

Remove the Dyson Local and Dyson Cloud integrations from your /config/integrations page.
Remove the Dyson Local and Dyson Cloud integrations from your /hacs/integrations page.
Remove the dyson-ha and dyson-ha-cloud custom repositories from HACS
Add the new dyson-ha and dyson-ha-cloud custom repositories

The libdyson-ha-cloud repository is only necessary if you already use it, or are intending to use its features. It is not required, but currently, it makes setting up new devices like HP07 (527K) much simpler.

Update the dyson-ha and dyson-ha-cloud repositories

That should be it! But if you have any issues doing this, please share: https://github.com/libdyson-wg/ha-dyson/issues

what do i have to enter in the "credential" field

Really great news to see this getting some attention!

If anyone's curious: Formaldehyde devices and the weird login issues have both been addressed in the fork!

Hi @dotvezz. Thank you for the taking the initative on this - it is great to see some action! I am interested to support you with merging PRs, etc., if required. Let me know.

@codyc1515 hey, sorry somehow I didn't get notified of your comment! Your support would be more than welcome! Feel free to get in touch with me directly via email<EMAIL_ADDRESS>or just start threads on any of the projects in https://github.com/libdyson-wg.
If you'd like to join the organization so I can finally have someone to review my pull requests, that'd be awesome too!

Hi @dotvezz, I'm VERY new to HA (I installed it for the first time yesterday!) but I worked at Dyson on the DysonLink app (now MyDyson) for 5 years as an Android developer, so I'm very familiar with the Dyson cloud and how these machines work and communicate.
I know nothing about making HA add ons, but I'd be happy to help if you have questions about how the machines work - especially the robots!

@Paul-McNeice nice to meet you, this is an awesome opportunity to improve our functionality. Please do send me an email (ben+libdyson@vez.email), I have lots of little nagging questions I'd like your input on!


Use correct comparison for multi-value default value inclusion rules

Related to https://bugzilla.redhat.com/show_bug.cgi?id=1531316, found while I was testing with a multi-value drop down. The default value was being set correctly but the actual drop down wasn't displaying the default. It was because it was trying to see if the default value existed within the list of values. When it's a multi-value drop down, something like "[\"1\", \"2\"]" is not going to be one of the values, we have to parse it first and then check to see if there is any overlap.
@miq-bot assign @gmcculloug
@miq-bot add_label gaprindashvili/yes, bug, blocker
/cc @romanblanco
@d-m-u Can you review, please?

@eclarizio Please see failing test and rubocop issues.

Gaprindashvili backport details:
$ git log -1
commit 35c564c61ea4844c04476ed694b07176e5d3e4ca
Author: Greg McCullough<EMAIL_ADDRESS>Date:   Fri Feb 9 16:17:58 2018 -0500

    Merge pull request #16978 from eclarizio/BZ1531316

    Use correct comparison for multi-value default value inclusion rules
    (cherry picked from commit 6056dc85b025d7fa6b1a533fd5c6bd9ec03e7652)

    https://bugzilla.redhat.com/show_bug.cgi?id=1531316


Disable the action that creates export PRs

Workflow was disabled manually.
https://github.com/sara-sabr/ITStrategy/actions/workflows/github-project-export.yml


Target GNOME Circle

As of two days ago, GTK language bindings can now apply for GNOME Circle: https://gitlab.gnome.org/Teams/Board/-/issues/397
If these bindings are production-ready, you might consider applying.
If not, could this be a goal to target?

Considering most of the bindings work is on the generator (this repo just defines the libadwaita config and includes some helper functions), it's up to Hugo to decide when the bindings are production-ready. I'd say there's other issues to deal with even after the bindings are declared production-ready, specifically:

Central org or at least someone to manage everything from gi-crystal to libadwaita.cr. It's going to be difficult and overwhelming to newcommers if I apply libadwaita.cr to circle and then have to forward every issue to gi-crystal
Guides, Apps, Extensions etc. Ultimate-gtk4-crystal-guide is ok at best, but it mostly documents my workflow from when I started Collision. Since then gi-crystal added support for many gobject patterns from subclassing to properties and signals. A good guide needs to follow upstream closely like the gtk-rs book. For apps, AFAIK there's only Collision and Tijolo (which I don't think has migrated fully to GTK4 and doesn't follow our HIG). Maybe AHK_X11 though it's GTK3

I had started a discussion on this ages ago on gi-crystal if you want to keep track of it https://github.com/hugopl/gi-crystal/discussions/16
Ultimately, applying to circle is something gi-crystal :shrug:

I had started a discussion on this ages ago on gi-crystal if you want to keep track of it hugopl/gi-crystal#16

Thanks! I wasn't sure where to bring this up, so I posted it here. I'll look at the gi repo.

I don't think gi-crystal is production ready yet, it's possible to write gtk applications with it, for sure, but there are tons of GTK features not yet implemented in the generator nether GTK4 bindings.
My current target is to be able to write Tijolo with the minimum amount of work arounds possible, I plan to do a release of the GTK4 version in December, but even so there will stay tons of features missing.
I think a port of the gtk-rs book to Crystal would be a good start to know the missing features and also help newcomers, saving us some work about book structure, etc.
Anyway, having it on gnome circle is good as a ultimate target.

the funny part is that is my comment 1 year ago in the gi-crystal issue I said that I think it's production ready, and one year later I changed my mind 😄

Something else to consider in the long run is adding Crystal support to meson. It obviously won't have any benefit on the Crystal side of things but it will manage all the metadata from translations to installing icons. I've been using a Makefile as a substitute https://github.com/GeopJr/Collision/blob/main/Makefile but it has caused package maintainers to package it wrongly or incompletely.
Also a flatpak crystal sdk extension because the current situation of manually installing crystal is annoying
I'll take a closer look into both of these at some point :weary:

I use Makefiles too, good thing is that it's available everywhere, bad thing is that we need to write it from scratch every time.
I didn't stop to think about translations in gi-crystal yet, maybe because there are other (IMO more important) stuff that still not ready.

I didn't stop to think about translations in gi-crystal yet, maybe because there are other (IMO more important) stuff that still not ready.

I don't think there's anything that needs to be done from gi-crystal's side. Translations work on Collision using gettext (bindings https://github.com/GeopJr/gettext.cr), I have documented it https://ultimate-gtk4-crystal-guide.geopjr.dev/en/extra/gettext.html
But package maintainers end up not installing them at all sometimes :shrug:
https://github.com/GeopJr/Collision/blob/ddec680e228717d63904658cfda501cf4122f66a/Makefile#L20-L27
mo:
	mkdir -p $(PO_LOCATION)/mo
	for lang in `cat "$(PO_LOCATION)/LINGUAS"`; do \
		if [[ "$$lang" == 'en' || "$$lang" == '' ]]; then continue; fi; \
		mkdir -p "$(PREFIX)$(LOCALE_LOCATION)/$$lang/LC_MESSAGES"; \
		msgfmt "$(PO_LOCATION)/$$lang.po" -o "$(PO_LOCATION)/mo/$$lang.mo"; \
		install -D -m 0644 "$(PO_LOCATION)/mo/$$lang.mo" "$(PREFIX)$(LOCALE_LOCATION)/$$lang/LC_MESSAGES/dev.geopjr.Collision.mo"; \
	done


173108170 activity home page

Add LARA activity intro/home page based on activity JSON.  This PR includes:

add SVG icons used in intro page
add mock activity data used to simulate displaying activities
add structure and logo images for project types (logos are used in intro header)
add React components used to display intro page content (headers, main content, page nav, etc.)
add basic page navigation with stub content shown for activity pages

@kswenson I'm not opposed to either of those general ideas.

A few of the components should probably be converted from class to functional components just to simplify them.
I modeled my component unit tests after an example in the starter projects.  If React testing library is what we want to go with, maybe we should consider removing the enzyme-based unit test from the starter projects and using React testing library (testing-library/react-hooks is included in the starter projects, but testing-library/react is not)?

However, in hopes of getting this PR in, I would also advocate doing the above conversions in smaller ongoing PRs when time permits.


Couple of bugs

Email received

Hello Greg,
Thanks for your response.
I am able to sort records having numerical values. I have observed the following things while playing with IPFS-Store -

IPFS-Store does not allow index containing capital letters.
For example, Employee is not a valid index. However, employee is a valid index.

IPFS-Store allows index-fields containing capital letters.
For example, employeeNumber is a valid index field.

IPFS-Store cannot sort by index fields containing capital letters.
For example, if index field is employeeNumber then I am not getting the desired result. However, I am getting the desired result if index field is employee_number.

IPFS-Store can sort numerical values but can not sort strings.

For example, if index field is employee_number then I am getting the desired result. However, I am not getting the desired result if index field is employee_first_name.
Correct me if I am wrong. Thanks again for your cooperation and valuable time.
Regards,

ElasticSearch doesn't accept capital letter in the index name. So I forced at the API level to lowercase the index name. You can now pass EMPloYEE for any operation, it will result create and use the index employee
You can use a field name with capital letter.
and 4. ElasticSearch disables text fielddata by default. Now it's enables so search and sort should work on any kind of field.

PR #34


wrong file extension

I was looking in the auth directory, in the app.d.ts file and noticed that the auth file extension was js and not ts
type Auth = import("./auth.js").Auth;

So this one is good example of the random little details you run into when you have to deal with module resolution shenanigans between Node's CommonJS, ESModules, and the TypeScript compiler.
Long story short, when Node first came out, JavaScript didn't have a module system.  You see it happen every time a module has imports/exports like these:
const somemodule = require('./path/to/somemodule);

module.exports = somemodule;

Later, ECMAScript standardized ECMAScript Module imports in JavaScript, and suddenly JavaScript had a module system... And it was completely different from CommonJS. This module system is what you see when you come across imports/exports like these:
import somemodule from 'some-module';

export default somemodule;

Now, it is 2023, and we're still suffering from this fragmentation at application level module resolution, which leads to weird results like these. In our case, this happens because of these lines in the tsconfig.json for the @open-visit/auth workspace:
https://github.com/thtsystems/open-visit/blob/2ee0204581fcd0d333e820b40c07c4d9e24f14d3/auth/tsconfig.json#L4-L6
We're telling TypeScript's compiler to use the ESM module resolution system when compiling our code to JavaScript (which is needed in order for our code to run anywhere, remember, runtimes can't understand TypeScript, they can understand JavaScript that was compiled by TypeScript). You can find full details about how this happens under the hood here: https://www.typescriptlang.org/docs/handbook/esm-node.html
I still don't get it, this behavior is weird 🥲
I agree. Let's look at a better example of this on our code: these named imports also have a .js file extension on them:
https://github.com/thtsystems/open-visit/blob/2ee0204581fcd0d333e820b40c07c4d9e24f14d3/auth/index.ts#L5-L9
Here is that happens on our code editor LSP (the thing that yells and throws red squiggly lines at us) if we remove the extension:

It will explicitly ask for the .js extension, even tough our module is written with the .ts file extension! I know, it's weird, and I also don't like it 😅
There is however some tsconfig.json changes we can make here, since we're not compiling the TypeScript code trough the TypeScript compiler itself (this is being done internally by Wrangler, the CLI tool from Cloudflare Workers). Under "compilerOptions":
"allowImportingTsExtensions": true,
"noEmit": true,

This is telling TypeScript that modules are allowed to import files with .ts extensions, and that we are not emitting build outputs trough the TypeScript compiler, we're just using it for type-checking.

"Wait, but app.d.ts did not complain about the .ts extension even before those changes! Why? 🤔
Because app.d.ts is a type declaration (d.ts extension) file. It will never be transformed into JavaScript file, it only provides type metadata for other modules in the workspace.

@HenriqueStocco Place these lines on tsconfig.json's compilerOptions:
"allowImportingTsExtensions": true,
"noEmit": true,

And change .js imports to .ts imports, and I can merge this PR ✨

Thanks for the explanation, really very interesting. I will make this change


Translation to French

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Translation to French
Additional context
Happy to dedicate my evening hours to translating into French.

This is being worked on #44

Closed as PR was merged

reopening this, as we still need translations for the Welcome and Phase 0

How can I help ? I speak french.

hi @garciadrl thanks for reaching out, there is a file learn-to-cloud/fr/phase0/ which needs translation

I shall have it done within 2-3 hours if you give me the green light to work on this!

I have made the PR with the translation of the README.md file


Enable/fix test typing in multiple packages

Description
Enabled type checking in a batch of react packages. The type errors being caused in these tests were caused because typescript had no visibility on the global jest matchers (@shopify/react-testing/matchers) imported by sewing kit via tests/setup/tests.ts when running tests.
This was addressed by adding a single file src/tests/setup.ts that imported @shopify/react-testing/matchers.
Note: tests/setup/tests.ts could be imported directly by adding a tsconfig.json file to tests/ and adding it as a project reference in all relevant packages, but this adds additional complexity with no major benefit.
Type of change

[X] react-univeral-provider Patch: Bug (non-breaking change which fixes an issue)
[X] react-tracking-pixel Patch: Bug (non-breaking change which fixes an issue)
[X] react-intersection-observer Patch: Bug (non-breaking change which fixes an issue)
[X] react-i18n-universal-provider Patch: Bug (non-breaking change which fixes an issue)
[X] react-hydrate Patch: Bug (non-breaking change which fixes an issue)
[X] react-google-analytics Patch: Bug (non-breaking change which fixes an issue)
[X] react-csrf-universal-provider Patch: Bug (non-breaking change which fixes an issue)
[X] react-csrf Patch: Bug (non-breaking change which fixes an issue)
[X] react-cookie Patch: Bug (non-breaking change which fixes an issue)
[X] react-compose Patch: Bug (non-breaking change which fixes an issue)
[X] react-app-bridge-universal-provider Patch: Bug (non-breaking change which fixes an issue)

Checklist

[x] 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 new version)

It looks like sewing-kit-next would ready the files in packages/BLAH/tests/setup/test.ts (matching how tests/setup/test.ts works at the workspace root). If you remove the matchers from the global test setup (tests/setup/test.ts and apply them on a per-project basis then would mean this runtime-behaviour was important.

The challenge here is that tests/setup/*.ts files are outside the rootdir (src/). It throws error TS6059 if included in tsconfig.json so you don't gain type-checking.

Alternatively instead of adding config to each project i wonder if we could repeat the declare global inside a config/typescript/matchers.d.ts file and have those files included in the projects that need them (same as the other stuff in the config/typescript directory). I'm tempted to say that repetition of the declare block feels nicer than having to add a file that is never executed at runtime to each package as it has a smaller footprint.

This works (example). The example solution includes all matcher definitions for every test, even those that are unused. This matches how they're loaded during tests. Not sure if having a tests/setup/test.ts per package has significant benefits.

Fantastic work, thanks for continuing to poke at this.

The challenge here is that tests/setup/*.ts files are outside the rootdir (src/). It throws error TS6059 if included in tsconfig.json so you don't gain type-checking.

Yeah, we could change it so for packages the root is the package folder (package/BLAH) rather than src (package/BLAH/src) but I think that just begets other changes, and it feels like that leads to a whole can of worms that i don't really want to think about right now.

Not sure if having a tests/setup/test.ts per package has significant benefits.

There's probably some cuteness around "only loading what you need for a given package" but my gut-feel is those gains are going to be negligible and not worth the extra complexity compared to doing all the setup once at the workspace level.
I think I'm leaning towards the idea that for now we shouldn't need per-package testing config and that it's better that we keep the test config stuff centralised at the workspace level (i.e. what we have now).
I reckon let's run with what you've got in ab388b0 - removing the per-package setup files, and having a config/typescript/matchers.d.ts.
I wonder if you can remove the saddle-up matchers and replace the following to trigger the global augments:
import type {} from 'saddle-up/matchers';
import type {} from 'saddle-up/koa-matchers';


I have got an exception with "can not run opensearch with root"

The other day I downloaded version 2.3.0 of the source code and intend to build it in my CentOS 9 Stream. When I run "gradlew run", I got the exception "can not run opensearch with root", this exception will appear when I use the root user or use command "sudo". but if I run "gradlew run" without  root or sudo, I got the new exception "Could not set file mode 750 on '/home/xx/OpenSearch/OpenSearch-2.3.0/distribution/archives/build/jvm-options-hack/jvm.options.d". Did I make a mistake?

Maybe when it was run the first time it did get far enough to create those files? Run ./gradlew clean as root?

I had many lingering permissions issues after running as root one time.  If gradle starts a daemon when you do this, that can also impact later runs.
I was usually able to temporarily fix the issues by stopping the gradle daemon and running ./gradlew clean as root.
However, the problems never fully disappeared until I deleted the entire project structure and re-cloned the repository.


Klarna Checkout clears Line items from cart

Hi!
Im having some troubles with creating the Klarna checkout widget. In my checkout-controller i run _klarnaCheckoutService.CreateOrUpdateOrder(cart), but when this is run
I can see that all my Line items are removed from my cart in epi, the cart still remains though but without any values.
Everything looks good when I check playground and the widget is generated with correct values so the line items are removed after sending it to Klarna.
However, if I leave this page or reload the checkout page, I get an "empty cart" warning from Klarna.
Do you have any idea why this is happening?
Also, at first when I ran "_klarnaCheckoutService.CreateOrUpdateOrder(cart)" it casted a NullReferenceException because of this :
var shipment = cart.GetFirstShipment();
if (shipment.ShippingAddress != null)
{
orderData.ShippingAddress = shipment.ShippingAddress.ToAddress();
}
in "CreateOrder(ICart cart)"
So I had to add a new Shipment for this to work :
"cart.AddShipment(new Shipment {OrderFormId = cart.OrderForms.First().OrderFormId });"
Any help would be appreciated.

As I remember, you should call _klarnaCheckoutService.CreateOrUpdateOrder(cart) on checkout when you finish it. So the checkout is finished and you should not have anything in the cart and start a new "cart session".

Regarding shipments, it seems that you are not using new APIs. Episerver makes sure that you always have at least one OrderForm and one Shipment if APIs are properly used.
Which version of Episerver CMS, Commerce and Klarna do you have?

Closing because of age.

Closing because of age.


Add solution V3 script for dataConnectors

Add solution V3 script for dataConnectors.
The script will build the template according to the input files

Hi @sagamzu,
This PR is in draft since quite a long. Please let us know if you need any help on this.
Thanks!

Since we have not received a response in the last 7 days, we are closing your PR #7958 per our standard operating procedures. If you still need support for this issue, you can re-open the PR at any time.
If you do re-open, we simply request that you ensure the PR has response to the last request. Thank you for your cooperation


Dependencies with dev-master

Hi there,
When looking at the requirements, I see you require dev-master of some of the components you're using.
Anyway to specify minimum version instead? I don't like using dev-master of components. I already use this for exemple:
    "behat/mink-extension": "^2.2",
    "behat/mink-goutte-driver": "^1.2",
    "behat/mink-selenium2-driver": "^1.3",

along with behat 3.3.1
Thanks

@mbittner closed, versions sticked to the stable ones, except codifico/parameter-bag-extension, which doesn't have stable version.


button with class sidenav-trigger is not shown inside of navbar

Expected Behavior
Button with class "sidenav-trigger" should be shown as other buttons
Current Behavior
Right now, if button inside of html > body > nav > div.nav-wrapper > ul > li contains class "sidenav-trigger" it is not visible.
Steps to Reproduce (for bugs)

Create navbar as shown in the docs
Create button that contains class sidenav-trigger inside of navbar

Video: https://youtu.be/9WcvbnOPXKk

Your Environment

Symfony 6.1
PHP 8.0
Materialize 1.1.0 downloaded over CDN
jQuery 3.6.0 - Slim, Minified

Browser and system

Browser Name and version:

Version 103.0.5060.53 (Developer Build, ungoogled-chromium) (64-bit)

Operating System and version (desktop or mobile):

Desktop, Windows 10, Build 19043.1826

Link to your project (if appropriate):
https://inao.xn--6frz82g/

I see in materialize's source code that the display: none rule was deliberate
// https://github.com/materializecss/materialize/blob/main/sass/components/_navbar.scss#L39
  @media #{$large-and-up} {
    a.sidenav-trigger { display: none; }
  }

In fact, it's used as a proper navbar feature explained here : https://materializecss.github.io/materialize/navbar.html
As we can't change the sidenav-trigger class to something else, to fix this problem, add the following css rule :
nav a.sidenav-trigger {
  display: initial;
}

I also recommend making this selector more descriptive.
Please tell me if it fixes the problem.

Closed for inactivity, feel free to reopen if needed

I also recommend making this selector more descriptive.
Please tell me if it fixes the problem.

Just happened with me, and yes, this solution solves it, maybe it needs to be added to documentation ?
Thank you very much ^_^


[FEAT]: Create a logfile of all commands sent during script execution

Description
It would be really nice if there was a file saved with the contents of the stdout that could be used to view all commands sent during the script execution.
Additional Information
This should be implemented using the logging module of Python and should probably replace the current prints used to provide stdout.

When working on this, be sure to search the code for links to this issue. There are a few places where changes will be needed that are marked with a link to this issue.


samples: hello_world: use zephyr:code-sample directive

Adds missing code-sample directive to the Hello World sample in preparation for upcoming changes to the Zephyr documentation that will be leveraging the provided description and metadata.

rebased on main to address recent boards' READMEs referencing hello world the "old" way
https://github.com/zephyrproject-rtos/zephyr/compare/f86ed69b5910ef5f6b8356b9fb60123f3a0b090e..f6c9be99189b600e018eb216da9cabe0261867d0

Oops, will rebase once more when Hotfix for docs currently broken on main will get merged

Re-assigned to myself as this is 100% docs/samples stuff


promtool: Show more human readable got/exp output

This makes it much easier to see how many alerts are firing, rather than having to scan through a line of text looking for a ,. It probably makes #7883 obsolete too.
The output now looks something like this:
Unit Testing:  testdata/failing.yml
  FAILED:
    alertname:InstanceDown, time:1d,
        exp:[
            0:
              Labels:{alertname="InstanceDown", instance="localhost:9090", job="prometheus", severity="page"}
              Annotations:{description="localhost:9090 of job prometheus has been down for more than 5 minutes.", summary="Instance localhost:9090 down"}
            ],
        got:[
            0:
              Labels:{alertname="InstanceDown", instance="localhost:9090", job="alertmanager", severity="page"}
              Annotations:{description="localhost:9090 of job alertmanager has been down for more than 5 minutes.", summary="Instance localhost:9090 down"},
            1:
              Labels:{alertname="InstanceDown", instance="localhost:9090", job="prometheus", severity="page"}
              Annotations:{description="localhost:9090 of job prometheus has been down for more than 5 minutes.", summary="Instance localhost:9090 down"}
            ]
    expr: "count(ALERTS) by (alertname, alertstate)", time: 4m,
        exp: {alertname="InstanceDown", alertstate="firing"} 1E+00
        got: {alertname="InstanceDown", alertstate="pending"} 3E+00

cc: @simonpasquier

@simonpasquier would you be able to have a look at this?

@simonpasquier would you be able to have a look at this?

@roidelapluie PTAL, I think I fixed your last comment.

I'll add this to my TODO


How to generate the class-agnostic segmentation results (0-1 mask) based on the pre-trained model?

Thanks for your excellent work. Could you please tell me how to generate the masks of the saliency object given the pre-trained model?

Hi @cjfcsjt,
Thank You for your interest in our work. MAVL only provides the class-agnostic bounding boxes. For salient object detection, we use the pretrained COCO Mask RCNN head to generate the segmentation masks given the salient object bounding boxes. Please look at the Section D.5 of our paper for more details.
Thanks


Convert stubs to inline type hints

The current approach makes it hard to maintain the project's types since the docstrings and stub files has to be in sync so I think the project should convert to inline type hints as defined in PEP 448 and note that a py.typed file will need to be added to /pyunity for PEP 561.
Since pyunity only supports Python3.6+ there will be no compatibility issues what's however.
I would like to know your opinion on this :)

Sorry, But I'm not sure why is this a problem. Cython works flawlessly with type hints for me.
$ cat fib.py
def fibonacci(n: int) -> int:
    if n < 2:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)

$ cython -3 fib.py
$ gcc -I/usr/include/python -lpython -shared -fPIC -o fib.so fib.c
$ python
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import fib
>>> fib
<module 'fib' from '.../fib.so'>

The type hints aren't accessible by type checkers except Mypy (i dont even
think mypy checks binary libs).
On Tue, 19 Oct 2021, 04:37 Fares Ahmed, @.***> wrote:

Sorry, But I'm not sure why is this a problem. Cython works flawlessly
with type hints for me.
$ cat fib.py
def fibonacci(n: int) -> int:
if n < 2:
return n
return fibonacci(n - 1) + fibonacci(n - 2)
$ cython -3 fib.py
$ gcc -I/usr/include/python -lpython -shared -fPIC -o fib.so fib.c
$ python
Python 3.6.9 (default, Jan 26 2021, 15:33:00)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

import fib
fib<module 'fib' from '.../fib.so'>

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

I don't quite understand, Why is mypy needed for the end-user?


FEATURE REQUEST: Floating panels for save/cancel in Add Programs and Modify Programs

mgantt87, post:157, topic:39684
I have one small suggestion for the next time you're updating the modify programs page. On shows with many episodes, it sometimes requires much unnecessary scrolling to the bottom to access the finish / cancel and save buttons. It would be nice to have access to the save and finish/ cancel buttons at the top of the page as well.

babsonnexus, post:158, topic:39684
How about a floating frame for that stuff, both in Modify Programs and Add Programs? This way, it will always just be there at the bottom of the screen no matter where you happen to be.
I don't know why I just offered something I have no idea how to do, but I'm sure it's fine!

mgantt87, post:159, topic:39684
I thought about requesting something like that, but I was trying to give you an easy way out!

This will be made available in the next release:

This is available in v2<IP_ADDRESS>0


Selection in one super select affects options of another.

Background
Hypothetically, when setting up a webhooks endpoint for scaffolding_completely_concrete_tangible_things.updated, we want users to be able to specify that they only want to receive a webhook when a specific tangible thing is updated. The current plan is to implement this by adding a scaffolding_completely_concrete_tangible_thing_id attribute to Webhooks::Outgoing::Endpoint. (We're also going to add a scaffolding_absolutely_abstract_creative_concept_id attribute as well, for filtering those kinds of events.)
Assume there is both a "Creative Concept" and "Tangible Thing" super select field on the form for Webhooks::Outgoing::Endpoint.
Request

Before a Creative Concept is selected, I think the Tangible Things field should be disabled by default.
When someone selects a Creative Concept, I want the list of options in the Tangible Things select field to only be those options that exist under the selected Creative Concept.
I'd like this to be implemented in a way where it could be used multiple levels deep, e.g. Country > Region > City.

Initial Thoughts
I think this should be relatively straightforward, since we have the ability to populate a Super Select based on an AJAX request and you can hit /account/scaffolding/absolutely_abstract/creative_concepts/$CREATIVE_CONCEPT_ID/completely_concrete/tangible_things.json and get a list of Tangible Things for a given Creative Concept.

@pascallaliberte It's like we need to be able to piggy-back on the AJAX feature and just specify that the $CREATIVE_CONCEPT_ID part of the URL comes from "that other field" and this field should be disabled unless that value is selected.

@andrewculver How likely is it that the field label will change in the Webhook#new form?
e.g. Let's take the Country > Region example. Instead of "Region", if you select "Canada" as the country, the region label will be "Province" and if United States, will be "State".
In that case, a turbo_frame will be what's called for.

@andrewculver made some headway into this.
I've chosen to equip super-select to update its own searchUrl value from the values of fields on which it depends, and for that, I introduced a new dependable_controller, re-usable for other uses.
I chose not to use the new outlets API from Stimulus 3.2, because it's meant for tight-coupling situations.

@andrewculver
Two problems I've run across, making super-select not a first-party player to our api endpoints:

super-select's ajax functionality isn't made to deduce the items from a json call to one of our endpoints. It assumes the json endpoint returns a .results array with id and text keys, whereas our endpoints are standardized on a root array of items with id and name keys (although that last one is not always true).
the search: true setting, which adds an autocomplete text field, when paired with a choices_url to use ajax, assumes that the results will filter via a search query string (which by default our api endpoints don't act on).

Changing super-select to fix 1. would introduce a breaking change for those who followed select2's own guidance that it "excepts results from the remote endpoint to be filtered on the server-side", and seeing in its examples that it assumes a .results key in the json response and creating one for that purpose. We would therefore need a flag to make super-select opt into using default endpoints. Or maybe the partial could deduce that we're hitting a vanilla api endpoint either by noticing /account/ in the url, or /api/v1/, and then having the smarts to assume a standard response layout.
Then there's the issue of name being the default key instead of text, and a way to override that.
Speaking of /api/v1/, super-select won't be passing the authentication token by default, so I'm assuming we're passing a path like<EMAIL_ADDRESS>format: :json).
For problem 2., we could standardize the search: param across our json endpoints for filtering.
Overall, however, the other alternative is to turbo_frame the whole field and not using select2's ajax capabilities. There's a way to do that, even via super-scaffolding, to make the turbo_frame the current form's URL with ?country_id=<country_id> param in the URL and serving up the right region if available.
Which direction are you leaning toward?

It kinda feels like we should go all-in with super-select working with our endpoints out of the box by default, including default support for search query-string param on json endpoints with STARTS_WITH matching at least.

@andrewculver Thought some more about this. I see two big approaches:

Go all-in with format.json account-prefixed endpoints. Either break backward compatibility of super-selects assuming a sub-array or add a new partial parameter called from_resource_path which would presume an account-prefixed json endpoint and its response to be formatted correctly. Add a search scope to all controllers when ?search= is in the query string params, applied to both json and html responses.
Scaffold controllers to handle a ?<primarySuperSelectName>= query string param on the :new, :edit actions so that we can update a turbo_frame containing that dependentSuperSelect, and the turbo_frame will just update with the new super select without submitting the form.

Option 1. is better if we ever assume we should handle large sets of values for the super-select.
Option 2. is better if we assume short lists of values. It's also better if there's something else we want updated based on the value selected in the primary super select (e.g. the label of the field, an updated helper text, anything outside of the super-select itself) because the whole turbo_frame will be updated.

My work on https://github.com/bullet-train-co/bullet_train/pull/635 will solve all of this. It'll update a dependent super select. It'll side-track the problems with searches and ajax response. It'll also avoid touching the controllers to make parts of the form change to a query_string param of the field we're depending on as we update a turbo_frame to include the new super select.
But there is one thing that'll need a little documentation:

I'd like this to be implemented in a way where it could be used multiple levels deep, e.g. Country > Region > City.

Let's wait until 635 is merged and we can look into that piece of documentation.

https://github.com/bullet-train-co/bullet_train/pull/635 is now merged. The underpinnings are available for this functionality (and used out-of-the-box in the new Address field implementation). The next step it to document this trick.
Let's keep this issue open to cover the documentation need.

@pascallaliberte, do you think we should make an issue in one of the active repos that links to this issue, just so we don't lose track of it? (I had no idea that there were still active issues on repos left over from before The Great Bundling.)

@jagthedrummer Closing https://github.com/bullet-train-co/bullet_train-core/pull/534 will close this one. It's also referenced in issue https://github.com/bullet-train-co/bullet_train-core/issues/533


Add CODEOWNERS

See https://github.com/Microsoft/vscode-azurefunctions/pull/725 for more info. Seems to have been working in the functions repo

Do you need to add .github to the .gitignore?

There is no .vscodeignore in this repo. There are .npmignore files, but those are in each subfolder so I don't have to worry about that since this is in the root


De-emphasise GitOps Toolkit somewhat

On the typical path of a Flux user, they will read "GitOps Toolkit" a lot. In this PR I try to collect GOTK information more centrally, so that the flow of a Flux user ("I want to 	understand/install Flux") is interrupted less.
Also fix link on landing page - it was broken.
Re-use phrasing from https://github.com/fluxcd/community/blob/main/style-guide.md
Fixes: #587
cc @priyanka-ravi

Linkchecker is broken, but links work. Merging!


Secretless has a Trusted Oracle DB connector

If this connector is interesting for you, please share info about the Oracle DB versions you're using, the authentication mode your server is configured with, and the client you're using to connect to it.

Please find a link to the Oracle Opensource C-API for clients as well as a link to a go driver:
https://github.com/oracle/odpi
https://github.com/godror/godror

Note: there is a free tier of Oracle DBs (Express Edition) available here: https://www.oracle.com/database/technologies/appdev/xe.html
AWS also has an RDS DB (may be useful for XA / perf testing): https://aws.amazon.com/rds/oracle/features/
It supports:

Standard Edition One: License Included, Bring-Your-Own License
Standard Edition Two: License Included, Bring-Your-Own-License
Standard Edition: Bring-Your-Own-License
Enterprise Edition: Bring-Your-Own License


tic-tac-toe game

Android based tic tac toe game.

@indrakishore this pr is related to issue #106


Handle bundle sales and listing

Bundles of items are not shown correctly, they mostly come through as undefined - undefined. It would be great to somehow handle these.

Wonder if #307 helps w/ this.


General Discussion

This issue will be the main topic for discussion regarding what this plugin should contain and how.
Everyone is welcomed to contribute, i didn't have yet much time to set up some PR guidelines but soon i will, meanwhile i would like to hear how you guys imagine seeing async api integrated with Nestjs. What i'm doing right now is creating a similar API as nestjs swagger module offers but there are a few differences that we needed to address in different ways with the Async API specification
Channels
AsyncAPI tell us that a channel must be a sort of component that relates with the server, therefore i decided to create 2 decorators for controller methods that will enforce the developer to specify the channel name and payload type but i'll show in a second what i mean by "specifying". A channel is basically what we call a "pattern" in nestjs microservices, i could read the pattern from the decorator but that can take away the possibility to use HTTP controller (async api also does support REST) so i would like to hear ideas on how to approach this in a gentle way.
Since channels are the patterns i will ask for the name of the channel (i could have a decorator with the name but that's just extra boilerplate) and therefore you must guarantee that the channel is valid, there's no way of referencing it yet.
The type will pretty much work as Swagger, you can pass a DTO (but here i hope i can support generics which is something it lacks), and depending on the decorator (Consumer = Subscribe or Publisher = Publish) it will be the message payload
A side book regarding why the channel is not a decorator for the controller class is because there are use cases where your controller can handle multiple patterns and having a channel per controller would restrict that, therefore i decided that each method/event handler will assume the responsibility of providing the channel name
Publisher/Consumer (duplex support)
This one is pretty much straightforward, I have in mind to allow a microservice handler to consume and publish, you still need to specify the name of the channel aka pattern and in this matter it makes more sense having the channel name being specified because it will probably not publish the event to the same channel (in cases like RabbitMQ it does send back the response to the same endpoint but you can also publish to a different broker/channel)
Schema References
AsyncAPI allows you to create custom schema models but this is not 100% like OpenAPI, therefore I will support the reference name as string and custom class type (It has to be decorated with AsyncSchema decorator in order to gather its metadata)
Validations out-of-the-box
If you have used AsyncAPI before it throws usually a lot of generic errors even for things such as "invalid URLs". I decided to add some custom validation wrapped in front of the document/contract builder that will help you identify the mistake, that is something the AsyncAPI team is probably working on at their parser but until then, we'll have some little help
Decorators in mind
Here is a quick overview with the current decorators i do have in mind and settled, this project was already created months ago for personal usage but i decided to look at nestjs swagger module and create a close codebase (so this plugin can be possibly included into an official package and interchanged with swagger decorators)

AsyncConsumer: Method decorator that generates channel subscribe property (similar to ApiOperation in swagger module)
AsyncPublisher: Method decorator that generates channel publish property (similar to ApiResponse in swagger)
AsyncMessage: Class decorator for custom DTO classes  that provides extra metadata and tells nestjs async API that its a model to be used as a payload for AsyncConsumer and AsyncPublisher (if the type passed to consumer/publisher does not contain this decorator, it will throw an error)
AsyncProperty: Property decorator as ApiProperty (swagger module)

The project will be uploaded soon so anyone can contribute, meanwhile I welcome everyone to give some thoughts about this project and help if possible. Let's make our lives easier!

Great idea, and I'll try to help (I'm a little busy so I can't promise that I'll actively contributing, but I'll try to find some time slots to help).
How We should support content types that aren't easy to model, binary data for example.

Nice questions indeed, i can try to address them in different topics

Content types you can specify, i have that already in mind, by default its "application/json" so its expects to be as json but as i called it "Contract" instead of "Document" by a specific reason, your API will expose a contract rather than a json document, therefore you are responsible to tell the consumer the protocol he needs to use. Right now i use reflection like Swagger module does to build up the schemas and it will convert to the model of Async API which is agnostic to the content type, so you just pass the content type to the decorator if its not a JSON and voila. I'm not sure if this answers your question but i can show you a code example if you need
GraphQL kinda had this problem on Nestjs and that's where Federations came in. Right now i'm the only one working on the project and the scope i had in mind was for the service itself, in microservices you usually have service discovery or a service mesh that will expose endpoints of documentation but usually, the gateway of service discovery is an app and so that app can "Federate" multiple documentation endpoints, this is probably what you are looking for, a proxy for the other services documentation.
Microservices models are independent, therefore you usually end up with duplicated models and that's why microservices are not typically used for small teams, it will require a team to be dedicated and in-sync with its service dependencies, therefore you should build your documentation (be it swagger or async api) on each service

I made these 3 topics to try to answer your doubts, not sure if I'm missing something but let me know

I'd like to help, I'm an intermediate programmer (also new to js/ts) struggling to build my first api with both RESTful and MQTT parts using nestjs. I'm keen to bring the sort of functionality from swagger across to the message part of my api - mostly documentation but doing quick tests is also really handy. I think my contributions will be most valuable to test candidate builds and or write documentation etc - but perhaps I will also be able to help with development and bugfixing?

I'd like to help, I'm an intermediate programmer (also new to js/ts) struggling to build my first api with both RESTful and MQTT parts using nestjs. I'm keen to bring the sort of functionality from swagger across to the message part of my api - mostly documentation but doing quick tests is also really handy. I think my contributions will be most valuable to test candidate builds and or write documentation etc - but perhaps I will also be able to help with development and bugfixing?

@garethhcoleman Every help is welcomed, right now i haven't uploaded yet the project because i'm preparing some generic adjusts (it was previously agnostic to one of my projects) but i'm pretty sure this will help also in your use case
I'll open soon the PR rules and generation of documentation but right now i'm kinda tied on time, i'll keep this updated as soon as i can. Meanwhile stay tune

@garethhcoleman Every help is welcomed, right now i haven't uploaded yet the project because i'm preparing some generic adjusts (it was previously agnostic to one of my projects) but i'm pretty sure this will help also in your use case
I'll open soon the PR rules and generation of documentation but right now i'm kinda tied on time, i'll keep this updated as soon as i can. Meanwhile stay tune

I'm also interested in contributing to this feature so we keep in touch I'll be watching 👀

I'm also interested in contributing to this feature so we keep in touch I'll be watching 👀

I'm also interested in contributing to this feature. If nobody minds, I'd like to finish the setup of the project like adding CI, renovate/dependabot, etc

I've been a little bit of this project, as soon as I have more time I'll continue the project and make sure it's up to date with async API standards. Any contributions are welcomed

I am currently working on a project using nestjs and socket io.
I want to use this project for documentation, but it's been 6 months since I uploaded the current project, so I'm wondering if it's still in development.
I have also tried the flamewow/nestjs-asyncapi library, but it is difficult to use because there are many features that are not yet supported.
I hope I can use this project

Hi ! is this project dead ? i try to find a good asyncApi doc generator and nobody seems to get enough interest to maintain a project


fix: No panic on watch. Fixes #3411

Checklist:

[ ] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[ ] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[ ] I've signed the CLA.
[ ] I have written unit and/or e2e tests for my change. PRs without these are unlikely to be merged.
[ ] My builds are green. Try syncing with master if they are not.
[ ] My organization is added to USERS.md.

Fixes #3411

@sarabala1979 I'd like to back-port to v2.9.3 if you can expedite review please?


Remove faulty implementation of Coproduct ZipOne

Fixes #772. Obviously breaks binary compatibility.

Is there anything holding this PR back? The removed code compiles but crashes at runtime, very non-shapeless behaviour :)

Sorry, it looks like this slipped though the cracks ... could you fix up the MiMa failures?

Ehm, the failure is due to the fact that the typeclass is removed. Can one preserve binary compatibility when removing something? (If yes, I'll research and fix it)

You can add a MiMa exclusion for the removed type.

Cool, I'll look into that and fix it. A bit busy at the moment but I'll get to it

Codecov Report

Merging #775 into master will increase coverage by 0.13%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #775      +/-   ##
==========================================
+ Coverage   86.94%   87.08%   +0.13%
==========================================
  Files          90       90
  Lines        2521     2517       -4
  Branches       51       52       +1
==========================================
  Hits         2192     2192
+ Misses        329      325       -4

Impacted Files
Coverage Δ

core/src/main/scala/shapeless/ops/coproduct.scala
85.65% <ø> (+1.38%)
:arrow_up:

Continue to review full report at Codecov.

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

@milessabin this should be all ready now

Awesome! Many thanks ... merging :-)


remove usememo and add cleartimeout

useMemo returns an variable which depends on state, it will return a new one each time the dependencies update


Support v1 API Endpoints

Should we support v1 API Endpoints? Do they provide any information that v2 does not?
If we do support v1 endpoints, are there any that are no longer useful or functional that we should not support?

Needs work: Do we have any reason to support v1 endpoints?


Remove extra factor of xi in susceptibility

Codecov Report

Merging #67 (20b7597) into docs (98d9565) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             docs      #67      +/-   ##
==========================================
+ Coverage   63.57%   63.58%   +0.01%
==========================================
  Files          29       29
  Lines        1908     1906       -2
==========================================
- Hits         1213     1212       -1
+ Misses        695      694       -1

Impacted Files
Coverage Δ

src/diagram_tree/io.jl
62.74% <0.00%> (+1.20%)
:arrow_up:

src/parquet_builder/vertex4.jl
84.48% <0.00%> (-0.41%)
:arrow_down:

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