Add clickhandler for links and back/forward button

Closes #874
This PR allows to follow links in responses.
Changes:

Adds clickhandler for links that executes follow-up request within the context of the current request. I have implemented the actual handling in app.js _handleSendFollowUpRequestWithEnvironment, passed it down as _handleSend to response-viewer.js _handleOpenLink and use a separate followupRequest object parameter to network.js send to distinguish initial from followup requests.
You get a history with back/forward buttons and a current address above the response viewer
The history is stored together with the request definition and will be available across restarts
If a historic response is a POST, clicking back will ask you if you want to repeat the POST
If a historic response is the result of a redirect, the history stores the redirect target to support the PRG pattern
If the user goes back in history and clicks a link there, the history will restart from there, i.e. the history will be truncated at that point and continue with the new clicked link ("restartMidHistory")
The history descriptor has a list of requests and responses because the historic url to dereference is sometimes the one in the response, not the request itself. This allows us to take care of redirects.

Example: coffeeshop API:

After clicking the link to the product "Latte Macchiato":

Decisions

Follow-Up Requests
We decided to implement a click on a link as a follow-up request to the current request, and execute it in the context of the current request.

One alternative was to create and store new request definitions in Insomnia for every click, and then open them, or to introduce interim tabs for every followup request.
Drawback: Doing this everytime would pollute the request list or create many tabs. Conceptually, the HATEOAS principle would be undermined - every followup request would become a new application state without connection to the previous state. Implementing back and forward would be difficult.
A context menu on links can easily be added later, which could allow to create and store a new request from an interesting url (effectively, a bookmark function)
Another alternative was to update the url of the current request definition and repeat the request.
Drawback: the original request would be lost.

Separate Browser Address Bar
We decided to implement a separate address bar in the response view with back/forward buttons to reflect the current application state. The response view becomes an actual browser. The request pane stays the request definition pane.
Drawback: Having two urls might confuse people. On the other hand, it should be clear even to an infrequent Insomnia user that the request pane is really the request definition pane. Changes to the url in the request pane are permanent. The request pane is not "like a browser" at all.
Currently, the address bar in the response view is read-only, to keep the UX simple.

Future Enhancements

Support for UriTemplates
Support for UriTemplates is underway: https://github.com/dschulten/insomnia/tree/feature/follow-rfc6570-uritemplates. That feature will allow users to enter parameter values for UriTemplates if an API supports that:

It works already, but support for composite values could be improved by allowing a multiline editor on composite params.

Address Bar
Make it editable, bookmarkable, add refresh button, back/forward context menu shows stack of historic requests

Create new request definitions from URLs
A context menu action on hyperlinks should use information from the current context to create a new request definition, including header information for media-type, authentication etc.

There are self-describing response media-types which could allow to improve the browsing experience considerably, e.g. Collection+JSON, Siren or Hal-Forms, furthermore ALPS. The correct way to approach this would probably be plugins for each kind of api description, which understand the descriptions of the possible interactions and would make it much easier to work with these apis.
An experimental feature branch demonstrates how this works with the Siren mediatype: https://github.com/dschulten/insomnia/tree/feature/add-affordance-plugins

Support rfc5988 link headers: make link headers accessible in response viewer

Hey @dschulten!
I'm super happy that you've decided to work on this. It's been a long-requested feature.
Before I do a full review, can you update your PR description to include a description of the high-level changes you've done, decisions you made, and also screenshots of new UI/UX that you've added?
Thanks 🙂

First of all, thanks for putting the time in to submit this PR!
Before looking too closely at your code, I think it's worth first discussion things at a higher level so we can get to a good place. Since this is such a large change I suggest we keep this PR as a "proof of concept" and then, once we decide on a concrete direction, break it up into smaller pieces to review and merge separately.
High-level Feedback
I played around with your PR on my machine and have some feedback.
UI Implementation
Since most Insomnia users will never click a link within a response, we should not have this feature impact their workflow. I suggest only showing the extra history UI once a link has been clicked and a history exists.
User Experience
My main question here is around history navigation. Can you explain the use for resending requests when navigating backward/forward in the history? Can we get away with simply showing the existing response instead of resending it?
Navbar Row Appearance
I'm not a huge fan of the way the extra nav row looks. I did a small change on my end to try something different but it seems like the back/forward might get confused with the history dropdown on the right in this case since they're on the same visual level.

Moving Forward
As mentioned, I think a good plan of attack here is to use this PR to implement a rough outline and implementation, then break it up into smaller PRs. I think this would be a good strategy:

Discuss these high-level points on this PR
Implement minor tweaks without worrying about code quality
Decide on high-level implementation architecture (DB models, logic, etc)
Decide how to break this up into smaller PRs if possible

I suggest only showing the extra history UI once a link has been clicked and a history exists.

Fine with me. That most users will not use the links does not immediately convince me, after all many seem to have requested this, but your solution seems a good compromise. Actually, I had the navigation in the existing row initially, but back then you gave me the idea to introduce an extra row for the buttons and the URL: https://github.com/getinsomnia/insomnia/issues/874#issuecomment-394822941. The advantage of the extra row is that there is enough space for most links and additional ui elements to create bookmarks, repeat the request etc. An extra row might be easier to add visually after the user clicked a link, we just have to make it ease in.

Can you explain the use for resending requests when navigating backward/forward in the history? Can we get away with simply showing the existing response instead of resending it?

It is what the browser does. The browser also employs its cache but it seems libcurl does not support caching. Using a stored response history means that the persisted data potentially can become large (when can we evict them?), also we would be in the business of caching, so we should also honor cache headers like Last-Modified  and No-Cache. My expectation when using the back-forward buttons is that the responses are not stale, but up to date. I am not against caching, but that seems to be a big feature in its own right.
If we repeat the request, the content of the timeline is obvious: it is the timeline of what you see.
So I would vote to store the minimum information to repeat the requests in the history and repeat them when browsing the history. I'd rather think about caching later.

I did a small change on my end to try something different but it seems like the back/forward might get confused with the history dropdown on the right in this case since they're on the same visual level.

Back then I think the concern that users might mistake the timeline for a browsing history lead you to propose a second row, if I read you correctly: https://github.com/getinsomnia/insomnia/issues/874#issuecomment-394524129
I'm fine with both solutions.

Discuss these high-level points on this PR
The branch https://github.com/dschulten/insomnia/tree/feature/add-affordance-plugins shows what I ultimately have in mind, along the line of future enhancements. It already works and it was fairly easy to implement, so kudos to your architecture :)
Maybe we should include these ideas in the discussion, in the sense of a possible roadmap.

Implement minor tweaks without worrying about code quality
I would like to reduce the amount of data stored in the history and come up with a good way to test the linking and history feature.
What would you change?

Decide on high-level implementation architecture (DB models, logic, etc)
I sense that you have something in mind here. Tell me more ;)

Decide how to break this up into smaller PRs if possible
Of course.

I'm not a huge fan of the way the extra nav row looks. I did a small change on my end to try something different but it seems like the back/forward might get confused with the history dropdown on the right in this case since they're on the same visual level.

What if the back/forward & url box goes under the Preview tab, between the tabbing component and the code preview. It could show once you navigate.

Due to this being a rather large and impactful change, we don't have the bandwidth to help get this one over the line in a way we feel comfortable with. I'm going to close this PR but we appreciate the effort that went into it 💜


WIP: LiberTEM-live integration test

Run LiberTEM-live integration test in the pipeline. We may want to move
this to its own pipeline to decrease the number of jobs of the main
pipeline.
Contributor Checklist:

[ ] I have added or updated my entry in the creators.json file
[ ] I have added a changelog entry for my contribution
[ ] I have added/updated documentation for all user-facing changes
[ ] I have added/updated test cases
[ ] I have included the rebuilt production build of the client (only if changes were made to the GUI)

Reviewer Checklist:

[ ] /azp run libertem.libertem-data passed
[ ] No import of GPL code from MIT code

/azp run libertem.libertem-data

/azp run libertem.libertem-data

/azp run libertem.libertem-data

/azp run libertem.libertem-data


stopPropagation is not working

Expected Behavior
I have a sprite (parent) inside another sprite (child)
Both the child and the parent can listen to mousedown and mouseup events, but want the child to stop the propagation. This is not happening.
I added some extra attribute in the mousedown event, to check if ti was the same event.
event.test = "aaaa"
the parent received this information.
Current Behavior
The stopPropagation does not have any effect.
Possible Solution
No idea. ☹
Steps to Reproduce
Environment

pixi.js version: _e.g. 5.2
Browser & Version: Chrome
OS & Version:  Mac
Running Example: url

Any idea?

Could you create an example please demonstrating this on https://www.pixiplayground.com
Thank you!

or jsfiddle, or codesandbox. or zip file.

Relevant test case: https://github.com/pixijs/pixi.js/blob/dev/packages/interaction/test/InteractionManager.js#L190


Unifies commit list in repository commit table and wiki revision page

I noticed that there are two commit lists (repository and wiki) that are mostly identical, with the only difference being that the commit is linked for repository and is not in wiki.
We should merge those in order to reduce LOC and to ensure changes made to the commit list are valid for all occurences.

Codecov Report

Merging #7907 into master will decrease coverage by <.01%.
The diff coverage is 40%.

@@            Coverage Diff             @@
##           master    #7907      +/-   ##
==========================================
- Coverage   41.43%   41.43%   -0.01%
==========================================
  Files         478      478
  Lines       63943    63953      +10
==========================================
+ Hits        26492    26496       +4
- Misses      34001    34007       +6
  Partials     3450     3450

Impacted Files
Coverage Δ

modules/templates/helper.go
48.21% <40%> (-0.26%)
:arrow_down:

models/repo_list.go
72.08% <0%> (-1.02%)
:arrow_down:

modules/log/event.go
65.64% <0%> (+1.02%)
: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 2d0b90c...205b57c. Read the comment docs.

Please resolve conflicts.

@saitho Please resolve conflicts.

Conflicts resolved. Three changes were made to the commit list which I transfered to the new template file:

zeripath* 16.10.19, 15:42 Sign merges, CRUD, Wiki and Repository initialisation with gpg key (#7631)
jaqra* 10.09.19, 11:03 Make link last commit massages in repository home page and commit tables (#8006)
Gary Kim* 20.08.19, 14:40 Provide links in commit summaries in commits table/view list (#7659)

I currently don't have a test case covering signed commits. To be sure someone should test that with the respective test cases and look at the different commit lists. ;)

@saitho your changes appear to work correctly for signed commits

Thanks @saitho sorry it took so long to merge.


Make clap defaults not override previous layers

Hey, I've noticed that the clap layer overrides previous layers if a clap default_value is given.
For example on current master try:
APP_THREADS=4 cargo run --example clap_derive -- --db-host localhost --verbose

It will print:
config - Config { db_host: "localhost", threads: 55, verbose: true }

But I'd expect it to print :
config - Config { db_host: "localhost", threads: 4, verbose: true }

This PR solves this by tracking for each value if the provided value was a default value, and does not override existing values then.
I've implemented it in a way, where other layers also could easily have default values, not just clap, but I guess it doesn't make sense for the other currently existing layers.
Note, that the first Layer providing a default value will set the value, if later layers also set a default value for the same key they will be ignored in this implementation.

Done, I did this because I think clap's default_value_t is way nicer than serde_default, especially for simple cases.
Now the only sad thing is that clap derive doesn't support HashMap.

Thanks for your great contributions @w0xel a new version with this fix has been released (0.9.0)


Add Publisher Hook

This PR is a rework of the 'Publisher' component into a hook (usePublisher).
The existing publisher component will use this hook behind the scenes and will remain to keep compatibility.
The hook has the existing functionality of providing a message to publish, but also returns a function publish, to publish messages on-demand or from state/user input
The hook uses the topic-caching system introduced in #4 to automatically clean up emitters and connections when the hook unmounts, as well as reusing the same emitter if multiple components use the same topic with the same settings.
The new code exposes the isAdvertised field on the RosLibJS Topic type, which isn't available by default, but is useful internally, so I pulled it in.
Should resolve whatever problems arose in #8 by using the publish function.
Working Example:
https://github.com/drewhoener/rosreact-examples/blob/main/src/examples/PublisherWithAutoRepeat.tsx

@ltiseni94 ready for review

@ltiseni94 bump on this?

Hi @ahoenerBE , sorry for merging so late. Tough time at work.
Again, thank you very much for working on this library!
Best!


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-27-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3028

Questions ?
Please refer to the Backport tool documentation


Member access within misaligned address for type 'UTPSocketKeyData', which requires 8 byte alignment

What is the issue?
Undefined Behavior Runtime error in libutp, on that line:
https://github.com/transmission/libutp/blob/c95738b1a6644b919e5b64d3ea9736cfc5894e0b/utp_internal.cpp#L2574

Thread 6: Misaligned pointer use
Member access within misaligned address 0x0001570734ec for type 'UTPSocketKeyData', which requires 8 byte alignment

It's not a crash, but as it says, it's undefined behavior.
The Xcode documentation to attempt to resolve that is at https://developer.apple.com/documentation/xcode/misaligned-pointer.
Historically, that piece of code is from 2013 (https://github.com/transmission/libutp/commit/365254427e5358a0c390aa5a60df5f449b9c0f00). We kind of branched off libutp from a commit of July 2017 (https://github.com/transmission/libutp/tree/d7daf7f36f64da975fc1b42772f774cbd5ffbbf1), but the official bittorrent repo has been abandoned since then, so no one else is maintaining libutp officially. I still opened an issue at https://github.com/bittorrent/libutp/issues/136 some time ago.

Thread 6#0	0x0000000104f08eb4 in __ubsan_on_report ()
#1	0x0000000104f08f68 in __ubsan::UndefinedBehaviorReport::UndefinedBehaviorReport(char const*, __ubsan::Location&, __sanitizer::InternalScopedString&) ()
#2	0x0000000104f048f8 in __ubsan::Diag::~Diag() ()
#3	0x0000000104f06234 in handleTypeMismatchImpl(__ubsan::TypeMismatchData*, unsigned long, __ubsan::ReportOptions) ()
#4	0x0000000104f05ebc in __ubsan_handle_type_mismatch_v1 ()
#5	0x00000001033a44d8 in utp_initialize_socket(UTPSocket*, sockaddr const*, unsigned int, bool, unsigned int, unsigned int, unsigned int) at /Users/User/Developer/transmission/third-party/libutp/utp_internal.cpp:2574
#6	0x00000001033a7cfc in ::utp_connect(utp_socket *, const sockaddr *, socklen_t) at /Users/User/Developer/transmission/third-party/libutp/utp_internal.cpp:2748
#7	0x0000000102bcbfe8 in tr_peerIo::new_outgoing(tr_session*, tr_bandwidth*, tr_address const&, tr_port, std::__1::array<std::byte, 20ul> const&, bool, bool) at /Users/User/Developer/transmission/libtransmission/peer-io.cc:142
#8	0x0000000102bf647c in (anonymous namespace)::connect_helpers::initiateConnection(tr_peerMgr*, tr_swarm*, peer_atom&) at /Users/User/Developer/transmission/libtransmission/peer-mgr.cc:2451
#9	0x0000000102bf3608 in tr_peerMgr::makeNewPeerConnections(unsigned long) at /Users/User/Developer/transmission/libtransmission/peer-mgr.cc:2490
#10	0x0000000102bf2598 in tr_peerMgr::reconnectPulse() at /Users/User/Developer/transmission/libtransmission/peer-mgr.cc:2156
#11	0x0000000102bf39b8 in tr_peerMgr::bandwidthPulse() at /Users/User/Developer/transmission/libtransmission/peer-mgr.cc:2221
#12	0x0000000102bfeac4 in tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()::operator()() const at /Users/User/Developer/transmission/libtransmission/peer-mgr.cc:689
#13	0x0000000102bfea6c in decltype(std::declval<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()&>()()) std::__1::__invoke[abi:v160002]<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()&>(tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()&) at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/invoke.h:394
#14	0x0000000102bfe8dc in void std::__1::__invoke_void_return_wrapper<void, true>::__call<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()&>(tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()&) at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/invoke.h:487
#15	0x0000000102bfe870 in std::__1::__function::__alloc_func<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'(), std::__1::allocator<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()>, void ()>::operator()[abi:v160002]() at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/function.h:185
#16	0x0000000102bfa778 in std::__1::__function::__func<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'(), std::__1::allocator<tr_peerMgr::tr_peerMgr(tr_session*)::'lambda'()>, void ()>::operator()() at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/function.h:356
#17	0x0000000102b81754 in std::__1::__function::__value_func<void ()>::operator()[abi:v160002]() const at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/function.h:510
#18	0x0000000102b7ff90 in std::__1::function<void ()>::operator()() const at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/function.h:1156
#19	0x00000001030e0ab0 in libtransmission::EvTimer::handleTimer() at /Users/User/Developer/transmission/libtransmission/timer-ev.cc:145
#20	0x00000001030dfd40 in libtransmission::EvTimer::onTimer(int, short, void*) at /Users/User/Developer/transmission/libtransmission/timer-ev.cc:137
#21	0x0000000103286868 in event_persist_closure at /Users/User/Developer/transmission/third-party/libevent/event.c:1623
#22	0x000000010328255c in event_process_active_single_queue at /Users/User/Developer/transmission/third-party/libevent/event.c:1682
#23	0x00000001032621d8 in event_process_active at /Users/User/Developer/transmission/third-party/libevent/event.c:1783
#24	0x000000010325b600 in event_base_loop at /Users/User/Developer/transmission/third-party/libevent/event.c:2006
#25	0x0000000102b7e790 in tr_session_thread_impl::sessionThreadFunc(event_base*) at /Users/User/Developer/transmission/libtransmission/session-thread.cc:245
#26	0x0000000102b83980 in decltype(*std::declval<tr_session_thread_impl*>().*std::declval<void (tr_session_thread_impl::*)(event_base*)>()(std::declval<event_base*>())) std::__1::__invoke[abi:v160002]<void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*, void>(void (tr_session_thread_impl::*&&)(event_base*), tr_session_thread_impl*&&, event_base*&&) at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/__functional/invoke.h:359
#27	0x0000000102b838ac in void std::__1::__thread_execute[abi:v160002]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*, 2ul, 3ul>(std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>&, std::__1::__tuple_indices<2ul, 3ul>) at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/thread:288
#28	0x0000000102b82770 in void* std::__1::__thread_proxy[abi:v160002]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (tr_session_thread_impl::*)(event_base*), tr_session_thread_impl*, event_base*>>(void*) at /Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/usr/include/c++/v1/thread:299
#29	0x0000000104b61628 in _pthread_start ()

Which application of Transmission?
macOS app
Which version of Transmission?
4.1.0-dev (76166d8fa7)

@Coeur, @mikedld, @tearfur PR is up @ https://github.com/transmission/libutp/pull/13
This is largish diff and the libutp repo has no tests. If / when we merge this and start using in Transmission, we will want a decent amount of time for nightly build users to test it out.

So, that issue is easily reproducible in current Transmission main (https://github.com/transmission/transmission/tree/a575be778f006a8357e6bc02639c8e79ca40d3ad), which is based on c95738b1a6644b919e5b64d3ea9736cfc5894e0b.
Trying with newer libutp now (4ed4d43c2bd532047c5d359589ce0630404bcb86)... and the misaligned address undefined behavior is gone. 👍 🎉


ERROR: Version mismatch: file ./docker-compose.yml specifies version 3.3 but extension file ./docker-compose.labelfree.yml uses version 3.1

Describe the bug
A clear and concise description of what the bug is.
ERROR: Version mismatch: file ./docker-compose.yml specifies version 3.3 but extension file ./docker-compose.labelfree.yml uses version 3.1
To Reproduce
Steps to reproduce the behavior:

bash ymir.sh start

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

Server OS: [e.g. Ubuntu] ubuntu:18.04
Ymir Version [e.g. 0.5.0]
Local Browser [e.g. chrome]

Additional context
Add any other context about the problem here.

You can upgrade docker-compose to 1.29.2 or higher and try again


#1793 Add Page and External links for rich text editor

@TheHadiAhmadi TextHTML plugin doesn't use the richtext editor


Print results into console on error

CodeCarbon version: 2.5.0
Python version: 3.12.4
Operating System: Linux-5.15.0-88-generic-x86_64-with-glibc2.35

Description
Is it possible, to print all results into console if it crashes before it can put the results into the csv file? If it is not possible right now, could it be added?
What I Did
I was just running a code for many hours, but it crashed after finishing the code, which I wanted to track due to an error while putting the results into the csv files.

Hello,
You could do some things about it :

use a try/finally : https://github.com/mlco2/codecarbon/issues/409#issuecomment-1562720863
use flush() : https://github.com/mlco2/codecarbon/blob/480c7081dcc954250445ff363f4665b463f8c369/codecarbon/emissions_tracker.py#L598
use the CodeCarbon API
use a custom Output : https://github.com/mlco2/codecarbon/blob/480c7081dcc954250445ff363f4665b463f8c369/codecarbon/output_methods/file.py

Oh, okay thank you. I think this should work


TextBox inherited don't paint

Describe the bug
When create a custom textbox using the original implementation (inherit TextBox class) this can't paint.
Steps to reproduce the behavior:
Create a custom class that inherit TextBox, put this new implementation in a XAML. This textbox doesn't paint.
Expected behavior
Custom implementation of textbox should be paint correctly
Screenshots

Desktop (please complete the following information):

OS: Mac Os Ventura 13.1 (M1) This bug it's replicable in Android and iOS also.
Version: 11.0.0-preview4 (Also replicable in 0.10.8)

You need to add a Style for your new Control or override IStyleable.Stylekey=typeof(TextBox)

Thanks @timunie !
public class CustomTextBox : TextBox, IStyleable
{
    public Type StyleKey => typeof(TextBox);
}

Newbie here in Avalonia, sorry to raise a bug too early.

All fine. You can also join telegram chat or use discussuins.


[BUG] Philips SML001 sensitivity setting not working properly

Describe the bug
I am using the quirk motion.py and the device class is reported as phillips.motion.PhilipsMotion. I'm trying to adjust the sensitivity of my Philips Hue SML001 by changing the Sensitivity (id: 0x0030) value in the OccupancyCluster to 0. However, it does not accept the change reports the changed value afterwards with "None" and when restarting the HA the default value 2 is displayed again.
To Reproduce
Steps to reproduce the behavior:

Go to Device Settings -> Cluster -> OccupancyCluster -> sensitivity -> 0
Click on set zigbee attribute
Click on get zigbee attribute
See error

Expected behavior
The corresponding value is set and saved for the sensitivity.

I cannot reproduce the issue on a Philips Hue first gen outdoor sensor (SML002) that's basically identical to a SML001.
I was able to set the sensitivity to 0 and read back the attribute without any issues.

Since you did not fill out the issue template, please post the "Diagnostic information" (which can be acquired by clicking on the "Download Diagnostics" button in the device settings view). (It'll also include things like your Home Assistant version and more).


Implementation in Android

Can I use this library in android.? If yes can you please demonstrate how to use it.

As far as I know, it does not. As stated in the readme:
(I'm not maintaining this code as I neither have personal resources nor am I still using this project. I'll be happy to oblige if you have any pull requests or even if you wish to be a co-maintainer.)


Add proposition metrics

What are the schemas that are affected by the issue
Metrics
What are examples of products that are impacted by the issue
As such, none of the existing products will be affected. This issue will help meet the needs of offer management use-cases, where an application proposes an offer to another solution.

Makes sense, but will need more fleshing out.

This does not make sense to me in ExperienceEvent. ExperienceEvent is centric about the action a user does and the state of the experience at that moment. So we may well have metrics like 'product-views' that were impacted by a 'proposition' but the user did not do a 'proposition' a system did it that the user has no direct control over.
There needs to be a new schema created that represents the decision around a proposition.

Agree, this should not be an ExperienceEvent, but modeled through EventEnvelope, so that it can still be observed.


Informing a regex syntax should include required slash separators

If we inform the user about how to make a case sensitive search using a regex syntax, do it with the regex delimitators in place, so the user:

Don't gets an error when copying and pasting the regex syntax to the github code search textbox. Error meaning it didn't find results because it lacks the regex slash separators.

Avoid the user to have to also find in the documentation how to enter a regex in the code search textbox. Have to find out it needs to use the slash separators.

So this MR is about removing burden from the user when trying to find out how to do a case sensitive search in Github.

Why:
Because a user checking docs of GitHub code search syntax to know how to search with case-sensitiveness enabled, would have to do so in two separate places (one where the required regex syntax is informed (i.e. (?-i)) and when pasting that and see it does not work, he would then have to find again in the documentation how a regex syntax is inputted (i.e. using two slash separators /(?-i)/).

What's being changed (if available, include any code snippets, screenshots, or gifs):

Check off the following:

[ ] I have reviewed my changes in staging, available via the View deployment link in this PR's timeline (this link will be available after opening the PR).

For content changes, you will also see an automatically generated comment with links directly to pages you've modified. The comment won't appear if your PR only edits files in the data directory.

[x] For content changes, I have completed the self-review checklist.

@nbenitez Thanks so much for opening a PR! I'll get this triaged for review ✨


ConfusionMatrix does not work on GPU

🐛 Bug
Hello,
When trying to utilize torchmetrics.IoU with preds and targets tensors on the GPU, I receive the following error
Traceback (most recent call last):
  File "/home/setakafu/.pyenv/versions/3.8.6/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/setakafu/.pyenv/versions/3.8.6/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/setakafu/projects/CSE/mlops/pipelines/train/steps/train.py", line 159, in <module>
    metric_iou(preds, targets)
  File "/home/setakafu/projects/CSE/venv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/setakafu/projects/CSE/venv/lib/python3.8/site-packages/torchmetrics/metric.py", line 168, in forward
    self.update(*args, **kwargs)
  File "/home/setakafu/projects/CSE/venv/lib/python3.8/site-packages/torchmetrics/metric.py", line 216, in wrapped_func
    return update(*args, **kwargs)
  File "/home/setakafu/projects/CSE/venv/lib/python3.8/site-packages/torchmetrics/classification/confusion_matrix.py", line 143, in update
    self.confmat += confmat
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!

To Reproduce
Modified from the example to have pred and tensor on GPU
Code Sample
from torchmetrics import IoU
target = torch.randint(0, 2, (10, 25, 25))
pred = torch.tensor(target)
pred[2:5, 7:13, 9:15] = 1 - pred[2:5, 7:13, 9:15]
iou = IoU(num_classes=2)
iou(pred.to(torch.device("cuda")), target.to(torch.device("cuda")))

Expected behavior
Metric should compute as normal
Environment

PyTorch Version (e.g., 1.0): '1.8.1+cu102'
OS (e.g., Linux): Linux
How you installed PyTorch (conda, pip, source): pip
Build command you used (if compiling from source):
Python version: 3.8.6
CUDA/cuDNN version:  11.2
GPU models and configuration: Tesla K80
Any other relevant information:

Additional context
Problem appears to be due to default state of confmat in class ConfusionMatrix always creating default on CPU
Happy to submit a PR regarding the change but am not sure what would be best in line with the API signature

as @maximsch2 suggested you need to move the module to the same device as the input/target data. Internally, the confusion matrix will be by default in the cpu - that's why torch asserts a mismatch between devices. This the above code with the proper usage:
from torchmetrics import IoU
import torch

target = torch.randint(0, 2, (10, 25, 25))
pred = torch.tensor(target)
pred[2:5, 7:13, 9:15] = 1 - pred[2:5, 7:13, 9:15]
iou = IoU(num_classes=2).to("cuda")
iou(pred.to(torch.device("cuda")), target.to(torch.device("cuda")))

Closing the issue since it's not a bug, but an intended behavior.
Another possible solution could be to move the internal confusion matrix to the same device as the inputs.
In that case, this should be discussed in a separated issue.


bump ReverseDiff version

This supercedes https://github.com/jeff-regier/Celeste.jl/pull/593 (which is already closed).

Ah Optim upper bounds ForwardDiff, causing a version conflict here. I'll just bump ReverseDiff here, then, which should still fix the problem from #593, and open a PR in Optim to raise their ForwardDiff upper bound.

This is failing due to unrelated Rmath build errors. Looks like curl is getting back a server error (error code 500) when trying to download https://github.com/JuliaLang/Rmath-julia/archive/v0.1.tar.gz (if I go to that link in the browser, I also get a server error).

This passes locally, so I'm going to merge.


Remove Troubleshooting and Share your feedback button from the statusbar

Is your enhancement related to a problem? Please describe
As part of this Epic we changed the help menu to be a popup menu instead of a seperate page. This also included adding the troubleshooting and share your feedback buttons. Since these are now duplicate and we are in an effort to simplify the statusbar, the Troubleshooting and Share your feedback buttons can be removed.
Describe the solution you'd like
Remove the Troubleshooting and share your feedback buttons from the statusbar.
Describe alternatives you've considered
No response
Additional context
No response

IMHO I would separate the removal of other icons from this PR. Scope is too big.
First: add things/rework only help and get feedback, second: remove things, not do too many things at once.
The title of the issue or the PR is to move help page to a dropdown, not removing bulb and share feedback icons, so as a reviewer, it's not doing what is said, so I'm requesting changes.
About the content, it looks like the original intent was to reduce the number of clicks while here I would do extra clicks.(if bulb and report feedback direct action icons are moved)
But my point is that to click on useful links, I would have to move the cursor far way from the first click it looks like it'll do the opposite of what it was describing (looks like import links are on the top while clicking on a menu from the bottom I expect the opposite)

Feedback from @benoitf

About the content, it looks like the original intent was to reduce the number of clicks while here I would do extra clicks.(if bulb and report feedback direct action icons are moved)

We have seen it quite often that users don't make the connection between the light bulb icon and troubleshooting. Having it in a menu where we can also add a text label can help with that.
This also helps reduce the amount of icons in total that are on the statusbar thus removing the amount of icons a user will need to hover over to understand what they mean.

We have seen it quite often that users don't make the connection between the light bulb icon and troubleshooting. Having it in a menu where we can also add a text label can help with that.

it's a shortcut, when you're using the product everyday it's helpful. If you're new, clicking on the help menu you'll see the entry.

This also helps reduce the amount of icons in total that are on the statusbar thus removing the amount of icons a user will need to hover over to understand what they mean.

It's not taking much place compare to adding provider's name. Also note that all users are not newcomers.

It might be an extra click, but now users won't need to hover and wait for some time to understand what the light bulb means.

It's discoverability. People will see the full entries in the help menu.
Also probably less people will click on report feedback. Useful content will be drowned in too many entries

We decided during the UX call that we won't do this for now. We can re-open in the future if we want.


Occasionally failing to start container over varlink interface

Description
I've been playing around with the varlink interface to automate spinning up containers for testing. Occasionally I run into an issue where the StartContainer call will fail with the following error:
failed to read from slirp4netns sync pipe: read |0: bad file descriptor

Sometimes another, somewhat similar error happens:
error saving container 425746739fb2cdeac0abb3366c3133b1e0cff78d3783f21cab30b8dc496c6fae state: write /home/REDACTED/.local/share/containers/storage/libpod/bolt_state.db: bad file descriptor

This happens about 1 in 10 times.
Steps to reproduce the issue:

Enable the podman socket interface
Create a container via the varlink interfacevarlink call unix:/run/user/1000/podman/io.podman/io.podman.CreateContainer '{"create":{"args":["cockroachdb/cockroach:v19.1.3","start","--insecure","--listen-addr=<IP_ADDRESS>:6257"],"name": "cockroach-test-db","publish":["6257"],"pull":"missing","ulimit":["nofile=1956:1956"]}}'

Run the varlink StartContainer command:varlink call unix:/run/user/1000/podman/io.podman/io.podman.StartContainer '{"name":"cockroach-test-db"}'

If it doesn't error, tear the container down and repeat until it errors.

Describe the results you received:
I received an unexpected error:
failed to read from slirp4netns sync pipe: read |0: bad file descriptor

Sometimes another, somewhat similar error happens:
error saving container 425746739fb2cdeac0abb3366c3133b1e0cff78d3783f21cab30b8dc496c6fae state: write /home/REDACTED/.local/share/containers/storage/libpod/bolt_state.db: bad file descriptor

Describe the results you expected:
I expected the container to start every time.
Additional information you deem important (e.g. issue happens only occasionally):
$ slirp4netns --version
slirp4netns version 0.4.1
commit: 4d38845e2e311b684fc8d1c775c725bfcd5ddc27

Output of podman version:
$ podman version
Version:            1.5.1
RemoteAPI Version:  1
Go Version:         go1.12.8
OS/Arch:            linux/amd64

Output of varlink info:
$ varlink info unix:/run/user/1000/podman/io.podmanVendor: Atomic
Product: podman
Version: 1.5.1
URL: https://github.com/containers/libpod
Interfaces:
  org.varlink.service
  io.podman

Output of podman info --debug:
$ podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.12.8
  podman version: 1.5.1
host:
  BuildahVersion: 1.10.1
  Conmon:
    package: Unknown
    path: /usr/bin/conmon
    version: 'conmon version 2.0.0, commit: e217fdff82e0b1a6184a28c43043a4065083407f'
  Distribution:
    distribution: manjaro
    version: unknown
  MemFree: 743174144
  MemTotal:<PHONE_NUMBER>0
  OCIRuntime:
    package: Unknown
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc8
      commit: 425e105d5a03fabd737a126ad93d62a9eeede87f
      spec: 1.0.1-dev
  SwapFree:<PHONE_NUMBER>2
  SwapTotal:<PHONE_NUMBER>4
  arch: amd64
  cpus: 8
  eventlogger: file
  hostname: REDACTED
  kernel: 4.19.69-1-MANJARO
  os: linux
  rootless: true
  uptime: 173h 49m 3.52s (Approximately 7.21 days)
registries:
  blocked: null
  insecure: null
  search:
  - docker.io
  - registry.fedoraproject.org
  - quay.io
  - registry.access.redhat.com
  - registry.centos.org
store:
  ConfigFile: /home/REDACTED/.config/containers/storage.conf
  ContainerStore:
    number: 1
  GraphDriverName: vfs
  GraphOptions: null
  GraphRoot: /home/REDACTED/.local/share/containers/storage
  GraphStatus: {}
  ImageStore:
    number: 118
  RunRoot: /run/user/1000
  VolumePath: /home/REDACTED/.local/share/containers/storage/volumes

Package info (e.g. output of rpm -q podman or apt list podman):
$ pacman -Qs podman
local/podman 1.5.1-1
    Tool and library for running OCI-based containers in pods
local/podman-docker 1.5.1-1
    Emulate Docker CLI using podman

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on laptop in systemd user mode.
$ systemctl --user enable io.podman.socket
$ systemctl --user start io.podman.socket

This is worse than 1/10 times - in my recent testing it's over half the time. Often it will work fine for a bit and then fail over and over again for 5-6 times before working again. It is pretty readily reproducible.

Hi @johanbrandhorst, thanks for opening the issue. I can confirm that varlink is having issue when being started via systemd. Similar (maybe identical?) to https://github.com/containers/libpod/issues/4005.
@baude @jwhonce FYI

Thanks for the information @vrothberg, unfortunately I'm only interested in running podman varlink in user mode, so that's very disappointing. Is there a way to enable the socket for rootless accounts that doesn't go via systemd?

@johanbrandhorst, you could run a varlink endpoint outside of the systemd context via podman varlink unix:$path and then connect to $path. I just did as follows:
$ podman varlink unix:/home/$(whoami)/podman.socket -t0
$ PODMAN_VARLINK_ADDRESS=unix:/home/$(whoami)/podman.socket podman-remote info
client:
...

Let me see if that removes the errors, thanks!

Error does seem to be related to systemd, I've been running with a local socket for a while and not seen the errors.

Thanks a lot for reporting, @johanbrandhorst! We're looking into the issue.
I will close this one as duplicate of https://github.com/containers/libpod/issues/4005. Feel free to join the discussion there.


Change what events trigger validation on a specific field

Is your feature request related to a problem? Please describe.
I have an input field that must be a unique value. When the user types a value into it, Vee-Validate sets the field as pending, so we disable the save button. When the network request finishes we send back the true/false on whether it is unique. If the value is unique the pending goes away and the save button is enabled again. The user goes to click on the save button, but this pulls their focus out of the input field. Since the field is blurred it triggers another network request for uniqueness validation.
TLDR: Blur triggers double validation.
Describe the solution you'd like
Allow setting on a per-field level the specific events that trigger validation, and only use those events.
<input
  v-validate="'required|unique'"
  v-validate-on="input|keyup|blur|click"
  v-model="name"
  name="name"
  type="text"
/>

Describe alternatives you've considered
In my custom uniqueness validation function I could cache the last checked value and the last returned boolean and if the same value is passed in return the same boolean we did last time.
I don't like this as it adds complexity to the function that is a result of a side effect, rather than just resolve the source of the issue. Also I'm not even sure if it would work because this would skip the time it takes to make the network request, but the blur event would still trigger pending to occur, and though it would be momentary since the function would instantly return true, if the event that triggered the blur was clicking directly on the Save button, the user may still have to click save twice.

If there is already a feature to adjust what events trigger validation then it should be better documented/made more obvious, as I was not able to find it.

The data-vv-validate-on allows you to do just that. I will try to make it
clearer in the documentation.
On Thu, 28 Jun 2018, 17:21 The Jared Wilcurt<EMAIL_ADDRESS>wrote:

Is your feature request related to a problem? Please describe.
I have an input field that must be a unique value. When the user types a
value into it, Vee-Validate sets the field as pending, so we disable the
save button. When the network request finishes we send back the true/false
on whether it is unique. If the value is unique the pending goes away and
the save button is enabled again. The user goes to click on the save
button, but this pulls their focus out of the input field. Since the field
is blurred it triggers another network request for uniqueness validation.
TLDR: Blur triggers double validation.
Describe the solution you'd like
Allow setting on a per-field level the specific events that trigger
validation, and only use those events.

Describe alternatives you've considered
In my custom uniqueness validation function I could cache the last checked
value and the last returned boolean and if the same value is passed in
return the same boolean we did last time.
I don't like this as it adds complexity to the function that is a result
of a side effect, rather than just resolve the source of the issue.
If there is already a feature to adjust what events trigger validation
then it should be better documented/made more obvious, as I was not able to
find it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/baianat/vee-validate/issues/1442, or mute the thread
https://github.com/notifications/unsubscribe-auth/AF-KSn9rkH-UreMkRJOQzzURL1PNLSIuks5uBPSQgaJpZM4U7l7e
.

It is documented here in the "Getting Started" Topic
https://baianat.github.io/vee-validate/guide/events.html


why def _get_hg_rev(self): is marked to be removed?

Is it only because this method is untested?

We really do not want anything untested - it's better not to have a feature than to have a feature whose behavior cannot be trusted.


Missing image on the about us page

Is your feature request related to a problem? Please describe.
There's a missing image on the about_us.html page.
Describe the solution you'd like
Keep only the working images.

Actually there is no such image in the directory shall we remove it or add another image

Let's Keep only the working images.


refactor(): restructure

WORK IN PROGRESS DO NOT MERGE
this PR starts in depth restructuring of this library

Matrix4x4

rightMultiply1x3Vector & leftMultiply1x3Vector should NOT know Vector3, instead use arguments x,y,z and return array
rightMultiply1x2Vector & leftMultiply1x2Vector should NOT know Vector2, instead use arguments x,y and return array

Assuming that the Math classes can change...
Matrix4x4:

rightMultiply1x3Vector() --> rightMultiply1x3() and adjust for array parameter and Array return

same for other such routines

translation() rotate(), scale() should not rely on Vector classes

@z3dev not changing the api in this PR, will be in the next major one
but good points all around , I keep them for the next 'breaking' one

General comment about math classes....

a lot of the math is performed by Vector, even for non-vectored classes. There must be a lot of "new Vector" calls for any math. Horrible for memory and performance

Lime2D and Lime3D...

these reallly are non-ending, directional lines. Not very useful.

rename to Ray2D and Ray3D
create new Line2D and Line3D for use with CNC and other applications.

this don't feel like Math classes as these contain other classes , more like User level classes.

OrthoNormalBasis...

a very strange class. Could this just be a bunch of functions?
there's test code in comments
uses vectors for all math

Vertex2 and Vertex3...

are these necessary? I don't see any additional functionality
if kept, shouldn't these be named Vertex2 and Vertex3? It's very confusing to have the same class names

Vector2 and Vector3...

those horrible constructor functions should be fromObject() functions. The constructor should take ONLY the values as required for the instance variables, i.e. x,y,z

and all calls to this function should be fixed to supply straight values

the Vector3.Create() function is not necessary. Fix the constructor
get() and set() functions... remove... name the instance variables correctly

add a warning to NEVER manipulate the instance variables directly

randomNonParallelVector() might be better as a separate function

Side...

what is _fromFakePolygon() used for? Maybe this should go into sideUtils

Polygon3...

all prototype functions that return other things should move to general functions

maybe polygonUtils ?

constructor should take exactly what's required only
is CSGDEBUG really supported?

Path2D...

constructor does checks for distance... no no... that should be another function
interesting... this class does a lot of checking and throws errors. is this an Math class?
prototype functions that return other things should move to path2dUtils

Utils...

does iPolygon3.sStrictlyConvexPoint() belong here?
does Polygon3.isConvexPoint() belong here?
does Vector3.randomNonParallelVector() belong here?
does lineUtils belong here?

utils.js ...

move solve2Linear() to lineUtils
the remainder looks like sort utility functions... HINT

CagValidation.js...

isSelfIntersecting() has if (debug)... what is this? Dead code?
CsgProjections.js ...
projectToOrthoNormalBasis() is horribly inefficient. 💀
FixTJuctions.js...
deleteSides) has throw statements... why? Debugging?

General...

which is better?

cag instanceof Array
isArray(cag)
length in cag
cag.prototype is Array

Maybe there are more but we should use the closet to the standard.

CSG.js...

getFeatures() seems like a nice function, but should this be in Utils

also, can this be applied to CAG?

FYI.... done with core

General...

the split of factories is good. But there are more... Vector, Lines, etc.
functions that convert from on class to another should be split out, for example extrude, toPoints, projection, etc.

a general toPoints() maybe possible

functions that convert to non-core or non-math should be come API, such as toTriangles()
where should toCompactBinary and fromCompactBinary exist? These are really special and should live separately

toObject() and fromObject() as well? There may be special logic required, like now.

Properties...

a totally unused class? I know nothing about this

Connector...

rename connectors.js to Connectors.js for consistency

ConnectorList...

this is one strange thing... is this used internally, or something bolted on?

Mutators...

I understand these but really question the worth of this morphing of classes

is maintaining these directly in each class difficult? Is this just being lazy?
can JavaScript engines optimize these functions?
how to add documentation for these?
is this really the way objects should be "extended"?

Trees...

there are some checks that throw which are not wrapped by _CSGDEBUG

General...

the unreliability of instanceOf shows that we should not use it
just wondering... we test for array parameter... but could the API also accept iterable objects?


Empty 'Scenery' tab; warning about certs (Fedora)

When trying to install AutoOrtho for XP11 on Nobara 38 (Fedora with tweaks), the Scenery tab is empty. There is a warning in the terminal window:
WARNING:downloader:Couldn't update release info <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1007)>.
Edit/Update: with the new v0.5 pre-release, where certs were updated, the issue persists.

From reading around on forums, running with SSL_CERT_DIR=/etc/ssl/certs ./autoortho_lin.bin did the trick!


Import from addon

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to 'Import'
Click on 'Addon'
Insert data
Click import
See error lots of IDs just missing

Expected behavior
A clear and concise description of what you expected to happen.
Sim Links and Screenshots
If applicable, add links to your sim settings or screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Could you please provide the import string you used?

Suspect this is a duplicate of #1509


Ensure whitespace only lines are ignored.

This PR fixes #1. Whitespace only lines are filtered out when the maze is split into rows. This avoids a special case for the last row in the maze.

This is a great improvement, thank you so much! This will be really nice for students.
I want to make a few minor modifications before merging, mostly whitespace/comment/stylistic changes. Would you mind selecting "Allow edits from maintainers" on this PR so I can make modifications before merging? I will await your approval on my changes before the final merge, of course.
Also, one of those changes would be to add your name to a new list of contributors in the comment at the top of main.js. Would you be okay with that, or would you rather your name be left out?

Feel free to make any changes you want! I haven't done any Javascript programming so I am unfamiliar with comment/whitespace conventions. I will absolutely defer to you on that!
I think "Allow edits from maintainers" should already be enabled. The box was checked when I opened the page:

Let me know if something weird is happening and you still can't edit...
If you want to add my name, that's fine by me!

Looks great, merging. Thanks again for this, it will be a great quality of life improvement for students! :heart:


Extra http requests from html interchange

wrote a blog post and was asked to log it via twitter here at github, so I guess its an issue, here it is, my appologies if that isn't what you wanted.  Guess it would be nice if data-interchange handled this on its own with (default-small) by not loading the URL on initial load and just using the default in the div and only using the ajax request if the size has changed from the default and back again.
BLOG POST:
If you are using Foundation with Interchange you have seen extra requests that the client has to make to download the content. This is fine for images since that is a separate request anyway, but for HTML content I didn't want that extra request for mobile devices.
My solution, so far, was to exclude my default template size, (small), from the data-interchange variable, and include that small template directly into the div as the default content. This works fine with loading on a small template since no other requests are done. But if the browser is resized to medium and back to small it would stay with the medium html loaded by interchange.
To get around this I setup a new data attribute, and a little javascript.
in the div where data-interchange exists, I added a data-interchangeonreplace attribute.
Here is my example Div

    This is the default content.
    ×

Here is the javascript:
$(document).on('replace', 'div', function (e, new_path, original_path) {
var divid = $('#' + e.currentTarget.id);
if (divid.attr('data-interchangeonreplace')) {
divid.attr('data-interchange',divid.attr('data-interchangeonreplace'));
divid.removeAttr('data-interchangeonreplace');
divid.foundation('interchange', 'reflow');
}
});
now when resizing past small it will add small.html back to the list so it if is then resized smaller it will display properly.
The same can be done in reverse, use whatever methods to determine your default template to display and only include it back in if the size changes, eliminating an extra client HTTP request for each block of code you load dynamically on your page

Bill, thanks for the report - We're working on the next version now so it helps to know how we can improve the functionality. The next step is to see if this will be rolled into the current version or if the update requires more re-writing of the JS, it will be in the next.

We'll be optimizing Interchange to handle these situations with Foundation 6. Because this particular use case seems fixed with this workaround, please continue to use @BillBarron's fix as a reference until the next version is released.


Hello-wrold container failed

When pressed create in  Kitematic tool it tries to connect, and then throws this
Error:
ETIMEDOUT
ETIMEDOUT
connect
<IP_ADDRESS>
2376

After first installation it worked ok

It's possible that VirtualBox's network has failed - A simple restart of Kitematic and the VM should do it:
docker-machine restart default


encoding/decoding hotkey "z" not actually work

Steps to reproduce the problem:
1.go to flow view
2.tap z to choose encode type or remove
3.content-encoding header changed but the response body not
Any other comments? What have you tried so far?
System information
Mitmproxy version: 2.0.2 (release version)
Python version: 3.6.4
Platform: Darwin-17.4.0-x86_64-i386-64bit
SSL version: OpenSSL 1.0.2n  7 Dec 2017
Mac version: 10.13.3 ('', '', '') x86_64

Hi,
Thanks for the report. z works fine for me on 3.0rc2, please reopen if that's not the case.

img1
img2
We could see the header and the body size changed but the response in view not.
Platform:
Mitmproxy: 3.0.0.dev1136 (commit 15f525e) binary
Python:    3.5.3
OpenSSL:   OpenSSL 1.1.0g  2 Nov 2017
Platform:  Darwin-17.4.0-x86_64-i386-64bit

Ah, now I get it - thanks! So we do update the body, but we automatically deflate it for display in the UI only:

If you do this during interception or for server replay, the client will get a compressed response. Does that make sense?

Maybe I need to write an add-on that modify the view?
I mean the compress toggle is confusing when the flow is not intercepted.

I am monitoring net traffic of an app, whose response lost the deflate flag.
That makes all the debug tools  not decode the body.

I see - in this case you want to write your own addon that either adds a custom contentview or modifies the response content.

Yes, I found https://github.com/mitmproxy/mitmproxy/blob/master/examples/simple/custom_contentview.py
may help, but don't know how to load it.
mitmproxy -s custom_contentview.py seems not work.

Make sure you use the correct version of the script, e.g. if you are using mitmproxy 2.0, you want the version from the 2.0 branch; if you are using 3.0, master is your choice. You should then be able to press m to select your custom view.

Thanks! That woks.
BTW, after script loaded, we got [script:1] in the bottom bar, s in different color, but s isn't a hotkey?
In the script, prompt = ("swap case text", "Z") seems defined hotkey Z, but this one also not work.

BTW, after script loaded, we got [script:1] in the bottom bar, s in different color, but s isn't a hotkey?

Thanks for spotting that! It used to be. Would you mind fixing this here and sending a PR? 😃

In the script, prompt = ("swap case text", "Z") seems defined hotkey Z, but this one also not work.

Great catch as well, thanks. You get partially blind for these things when seeing it every day, please continue to report stuff like this 😛. We used to use that as the hotkey when you press m, but we have @kajojify's fantastic 1-9a-z hotkeys there now. I guess this also just needs to be removed, I'll open an issue and link here.

What's the heading_key s designed for?
the hotkey is broken or just should be removed.

The hotkey just needs to be removed. :)


Comma for primitive values has incorrect style.

Hey, found an issue:
Comma for primitive values implements label style instead of punctuation

Hi,
Just fixed that in the version 0.9.6.
Thank you!


Font hinting problems

Description
There is a problem with font hinting for small thin text on Windows 10 (2560x1440) which makes text hard to read.
From reasonml.org [Chrome 83]:

Using official Inter font (for Web) [Chrome 83]:

Other examples of issue
From reasonml.org:

Solution
I've read that you used https://transfonter.org/ for subsettings the font. I've tried to upload the official font there and noticed that if hinting is set to Keep existing then it will generate a font with bad hinting but if to set to any other hinting then the generated font will be fine. I don't know why Keep existing is generating a font with bad hinting.
I think we need to either change parameters on https://transfonter.org/ or use other tools for subsetting. I can make PR but I need to know which glyphs are in the subset. Is it only Latin?

i think inter should be available via google fonts by now? maybe we should source the fontsets from there?
We are mostly using latin afaik to keep the size small

@ryyppy Yes, it's availabe on Google Fonts https://fonts.google.com/specimen/Inter . Also here is a good article about increasing performance for google fonts https://csswizardry.com/2020/05/the-fastest-google-fonts/


Various Comments fixes

To answer your comment on slack. The auth call is made even if the room is not connected, so we will already have access to the userId using the token


How to call addFileFromUuid with predefined cdnUrlModifiers?

Is your feature request related to a problem? Please describe.
When a user uploads a file, I receive a URL from the uploader resembling the following:
https://ucarecdn.com/d795a59e-e6eb-49a4-9309-08ec16b7b4cb/-/saturation/-10/-/crop/2203x3298/421,708/-/preview/

I store this URL in my database. However, when a user returns to edit the file, I need to restore the uploader state, including any applied effects.
There's no problem for feeding UUID back to the uploader, but I can't figure out how to pass the applied effects along it. I've tried this:
const outputFileEntry = uploaderCtx.addFileFromUuid("d795a59e-e6eb-49a4-9309-08ec16b7b4cb");
outputFileEntry.cdnUrlModifiers = "saturation/-10/-/crop/2203x3298/421,708/-/preview/";

But it obviously doesn't work.
And
uploaderCtx.addFileFromUrl("https://ucarecdn.com/d795a59e-e6eb-49a4-9309-08ec16b7b4cb/-/saturation/-10/-/crop/2203x3298/421,708/-/preview/");

reuploads the entire file every time (which is also expected but not something I want).
Is there any way to achieve this?
Describe the solution you'd like
I have a few ideas, either:

Add additional parameter to addFileFromUuid: ctx.addFileFromUuid("<uuid>", {cdnUrlModifiers: "<effects>"})
Add a helper method (something like addFileFromCdnUrl) that would parse CDN URL to UUID and modifiers and then internally call addFileFromUuid and whatever.
Make addFileFromUuid to accept both UUIDs and CDN URLs.

Can confirm it is working.


LeaderMode is not working properly.

The Leader mode is not working properly. It works only once after I execute the writeToProfile and after that everything breaks. Am I missing anything? Below is my hyperLayer config.
hyperLayer("spacebar", "hyper-o: open app")
    .leaderMode()
    .notification()
    .manipulators({
      // m: toApp("Mail"),
      c: toApp("Calendar"),
      r: toApp("Reminders"),
      o: toApp("Microsoft Outlook"),
      f: toApp("Finder"),
      a: toApp("Arc"),
      s: toApp("Safari"),
      v: toApp("Visual Studio Code"),
      i: toApp("iTerm"),
      t: toApp("Microsoft Teams"),
      n: toApp("Notes"),
      p: toApp("Passwords"),
    })
    .manipulators([
      mapDoubleTap("m").toApp("Microsoft Outlook").singleTap(toApp("Mail")),
    ])

Karabiner-Elements v15.3.0
karabiner.ts v1.30.1

Hi @mkjawadi, does it work without
    .manipulators([
      mapDoubleTap("m").toApp("Microsoft Outlook").singleTap(toApp("Mail")),
    ])

I guess it might be mapDoubleTap() not working with leaderMode().

Thanks @evan-liu for getting back to me. No, it doesn’t. I’ve tried without that part as well but didn’t work.

I've tried adding the below to my config, and it worked as expected (I tested with c and s). There might be conflicts with another part of your config. Can you test with only this layer without any other part of your config?
hyperLayer("spacebar", "hyper-o: open app")
    .leaderMode()
    .notification()
    .manipulators({
      // m: toApp("Mail"),
      c: toApp("Calendar"),
      r: toApp("Reminders"),
      o: toApp("Microsoft Outlook"),
      f: toApp("Finder"),
      a: toApp("Arc"),
      s: toApp("Safari"),
      v: toApp("Visual Studio Code"),
      i: toApp("iTerm"),
      t: toApp("Microsoft Teams"),
      n: toApp("Notes"),
      p: toApp("Passwords"),
    }),

I tried again with just this layer, but the problem persists. As I mentioned before, it works only once launching the first application, and then everything breaks. The 'Hyper + Spacebar' doesn't activate the layer anymore. 🙁

Hi @mkjawadi, sorry I misunderstood what you mean by "everything breaks". If you only mean "The 'Hyper + Spacebar' doesn't activate the layer anymore" after one action triggered on the layer, that is actually by design. To keep the layer active, you need the sticky option:
  hyperLayer("spacebar", "hyper-spacebar: Launch app")
    .leaderMode({ sticky: true })

If you mean the layer cannot be activated again, can you open the Karabiner-EventViewer app, check the events and variables, and see what happens after the first action?

Sorry, I was testing with an older version. I can reproduce it now after upgrading. Will fix it soon. Sorry about that.

@mkjawadi Could you please try 1.30.2.

Thanks @evan-liu  for the 1.30.2 release. It resolved the initial problem, but now double tap mappings are not working. I don't know if it's by design? If yes, is there any workaround, as the double tap option is really handy and convenient? This is my config (inspired by your own great karabiner-config 🙏).
hyperLayer("spacebar", "hyper:spacebar Launch App");
    .leaderMode()
    .notification(hint)
    .manipulators({
     // rest of my config
    })
    .manipulators([
      mapDoubleTap("m").toApp("Microsoft Outlook")
     .singleTap(toApp("Mail")),
      mapDoubleTap("t").toApp("iTerm").singleTap(toApp("Microsoft Teams")),
      mapDoubleTap("v")
        .to(raycastExt("thomas/visual-studio-code/index")) // Raycast: Search recent VS Code Projects
        .singleTap(toApp("Visual Studio Code")),
    ]);

Is double tap not working at all, or only not working on layer leader mode? Can you please open a new issue if it is only not working on layer leader mode?
I guess the leader mode set the layer var to off on the first tap, so the second tap no longer has the layer condition. If that's the case I will need some time to find a solution.

It does work without the .leaderMode(). I believe your guess is correct. As requested, I opened a new issue #155.


Deprecate warning box in docs

Summary
Following https://github.com/Qiskit/qiskit/pull/1592/, this PR extend deprecate_arguments and deprecate_function so they add a deprecation box note in the docstring.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.007%

Covered Lines:
56277

Relevant Lines:
66958

💛  - Coveralls

Can you post a screenshot of how this will show up in the docs?

From @kdk:

Can you post a screenshot of how this will show up in the docs?

Because of https://github.com/Qiskit/qiskit_sphinx_theme/issues/71, the current look is not the best.

On hold, since qiskit_sphinx_theme needs to be released with https://github.com/Qiskit/qiskit_sphinx_theme/issues/71 in order to support this.

qiskit_sphinx_theme 1.9 released. removing on hold.

Can you post a screenshot of how this will show up in the docs?

When I implemented it broadly, I realize of an unintended benefit. It is very easy now to see deprecation that need removing:
$ grep -orh "docstring_version=\".*\"" qiskit | sort | uniq -c
   3 docstring_version="0.15.0"
   5 docstring_version="0.15.1"
   6 docstring_version="0.16.0"
   2 docstring_version="0.17.0"
   1 docstring_version="0.18.0"
   2 docstring_version="0.19.0"
   1 docstring_version="0.20.0"
   6 docstring_version="0.21.0"
  14 docstring_version="0.22.0"

While we all agree with the final result. This implementation penalises import time and requiere a parser (either "in-house" or a dependency). So new plan is:

to use the decorator to extend __qiskit_deprecation__ metadata attribute in the function/method
write a sphinx extension in https://github.com/Qiskit/qiskit_sphinx_theme to take that metadata and extend the docstring.


Find a way to install local plugins automatically in Nginx based deployment.

          Since this plugin is a local plugin, so far I could not find a way to install it automatically, link here:

https://github.com/open-lms-open-source/moodle-local_redislock
Originally posted by @ernani in https://github.com/google/moodle-on-gcp/pull/12#discussion_r1283323493

will start working on this part soon.


HTTPS_OTA with WSS_SERVER (IDFGH-10428)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

General issue report
Hi,
Is it possible to integrate https_ota with the wss server ?
Is there any example in this regard ?
NOTES:
ESP32-S3 chip
esp-idf v5.0.2
@david-cermak
Thank's.

@baldhead69 OTA itself does not care what the underlying transmission is, so websocket can also be used for OTA. You can use websocket to tramsmit the firmware data, and use esp_ota_* API to write data to partition. There is no full example, but you can follow this example https://github.com/espressif/esp-idf/blob/master/examples/system/ota/native_ota_example/main/native_ota_example.c and use websocket to replace http.

Hi @ESP-YJM ,
There is no possibility to run websocket and http in parallel ?
For example: after upgrade protocol from  http to websocket, the esp is running "only" in websocket, then i establish a new connection with http protocol to do firmware download.
Thank's.

Do you mean websocket is not for firmware downlaod? It is possibility to run websocket and http in parallel. But for websocket connections, what does it do? For getting the firmware download url?

Do you mean websocket is not for firmware downlaod? It is possibility to run websocket and http in parallel. But for websocket connections, what does it do? For getting the firmware download url?

Sorry, i need to read more to understand the ota process.  Actually i need to open an http/s client connection to download the firmware from some server on the web or local server to test, from what i understand.
Can i run http/https client and ws/wss server at the same time on esp32-s3 ?

Yes, The http client and websocket client  can run at the same time.

Yes, The http client and websocket client  can run at the same time.

Not websocket client, websocket server.
I have a websocket secure ( wss ) running on esp32-s3.

Yes, also support run websocket server at the same time.


Misleading docstring and variable names in githubinfo.py

Description
on_message function:
https://github.com/python-discord/sir-lancebot/blob/9ecf423268bb3a89e881e4b28e5ee56fe9b33819/bot/exts/utilities/githubinfo.py#L175
https://github.com/python-discord/sir-lancebot/blob/9ecf423268bb3a89e881e4b28e5ee56fe9b33819/bot/exts/utilities/githubinfo.py#L183
Here the on_message function returns more than just issues, it also returns pull requests. So the docstring and the variable names should be changed accordingly.
Possible Solutions

For the docstring it could be changed to:

"Automatic issue and pull request linking."

For the variable name:

repo_sequential_numbers
issues_prs

Would you like to implement a fix?

[x] I'd like to implement the fix

From GitHub's API's perspective, pull requests are a type of issue https://docs.github.com/en/rest/issues/issues?apiVersion=2022-11-28#list-issues-assigned-to-the-authenticated-user

Note: GitHub's REST API considers every pull request an issue, but not every issue is a pull request. ...

For user facing (e.g. help command text) I think it's worth listing both, but because this is internal I'm not sure it's worth changing, although maybe it would be more clear, I don't mind.

For user facing (e.g. help command text) I think it's worth listing both, but because this is internal I'm not sure it's worth changing, although maybe it would be more clear, I don't mind.

@wookie184 When I was trying to find the source of this command I overlooked this file because the docstring mentioned 'issues' in the on_messagefunction, I found the source of this through Chris when he redirected me. So it kinda causes confusion.


JAWR Resource with parentheses in name won't load

I am using an item from WebJars in my jawr.properties file, and as odd as it may be, the file has () in the name, like so:
webjars:/datatables-plugins/1.10.9/api/sum().js

When I add this file in, it is stripping out the parentheses, and this appears in my console log:
Caused by: java.io.FileNotFoundException: META-INF/resources/webjars/datatables-plugins/1.10.9/api/sum.js could not be found.
    at net.jawr.web.resource.bundle.factory.util.ClassLoaderResourceUtils.getResourceAsStream(ClassLoaderResourceUtils.java:111)
    at net.jawr.web.resource.bundle.generator.classpath.ClassPathGeneratorHelper.createStreamResource(ClassPathGeneratorHelper.java:73)

I tried escaping the parentheses with backslashes (webjars:/datatables-plugins/1.10.9/api/sum\(\).js), and it still didn't work.  After digging through the source code, I found that if I entered the reference in jawr.properties like this:
webjars:/datatables-plugins/1.10.9/api/sum()().js

it worked just fine, due to the way it was searching for parentheses in the string.  I was happy to find a solution to this, but didn't feel it was documented, or maybe I missed the documentation on how parentheses are using in the jawr.properties.  Did I miss something here, should this case be added to the documentation, or should the code be updated to allow escaping of characters?

Hi
The parentheses have a particular meaning for resources associated with the generators. (it's used to give parameters to the generator for the resource creation)
I'll need to find a way to handle cleanly that case.
I'll open a issue in JIRA for that.
Thanks for reporting this case
Cheers,

Happy to.  Your project has been a big help to us, and I have really enjoyed using it.
I did notice that our project was using Jawr 3.7, so I bumped to 3.8, and the issue is still there, but the message is a little different, just wanted to post it here for your reference:
- 2016-01-22 08:38:37,659 [localhost-startStop-1] INFO  net.jawr.web.resource.handler.reader.ServletContextResourceReaderHandler - An exception occured while trying to read resource 'webjars:/datatables-plugins/1.10.9/api/sum().js'. Continuing with other readers. Error : null
- 2016-01-22 08:38:37,659 [localhost-startStop-1] WARN  net.jawr.web.resource.bundle.handler.ResourceBundlesHandler - A mapped resource was not found: [webjars:/datatables-plugins/1.10.9/api/sum().js]. Please check your configuration
- 2016-01-22 08:38:37,996 [localhost-startStop-1] INFO  net.jawr.web.resource.handler.reader.ServletContextResourceReaderHandler - An exception occured while trying to read resource 'webjars:/datatables-plugins/1.10.9/api/sum().js'. Continuing with other readers. Error : null
- 2016-01-22 08:38:37,996 [localhost-startStop-1] WARN  net.jawr.web.resource.bundle.handler.ResourceBundlesHandler - A mapped resource was not found: [webjars:/datatables-plugins/1.10.9/api/sum().js]. Please check your configuration

Hi,
Thanks for your kind words :-)
I'm glad that it helps you.
The ticket JAWR-376 has been created to follow this issue.
You can follow the resolution of this issue on JIRA.
Cheers,

This issue has been fixed in the master branch
Thanks for the pull request with the unit tests, which was really helpful to fix this issue.
Cheers


Better supporting draws that are arbitrary Julia types

This issue continues discussion starting at https://github.com/arviz-devs/InferenceObjects.jl/issues/8#issuecomment-1223007423.
Some Julia PPLs can return draws as arbitrary Julia types. Here's an example with Soss:

julia> using Soss

julia> struct Foo
           x
           y
           tag
       end

julia> mod1 = @model n begin
           x ~ Normal()
           y ~ Normal() |> iid(n)
           return Foo(x, y, :discrete)
       end;

julia> mod2 = @model n begin
           t ~ mod1(n)
           z ~ Normal(μ=t.x)
       end;

julia> rand(mod2(3))
(t = Foo(-1.8692299945695137, [-0.9020275201942468, -0.9380392196474631, -0.041490841817294566], :discrete), z = -3.0169797376605327)

Currently such types can be stored in InferenceData:

julia> using InferenceObjects

julia> data = (; a = [rand(mod2(3)) for _ in 1:4, _ in 1:100]);

julia> idata = InferenceData(posterior=namedtuple_to_dataset(data))
InferenceData with groups:
  > posterior

julia> idata.posterior
Dataset with dimensions:
  Dim{:chain} Sampled Base.OneTo(4) ForwardOrdered Regular Points,
  Dim{:draw} Sampled Base.OneTo(100) ForwardOrdered Regular Points
and 1 layer:
  :a NamedTuple{(:t, :z), Tuple{Foo, Float64}} dims: Dim{:chain}, Dim{:draw} (4×100)

with metadata OrderedCollections.OrderedDict{Symbol, Any} with 1 entry:
  :created_at => "2022-08-25T11:15:48.582"

julia> idata.posterior.a
4×100 DimArray{NamedTuple{(:t, :z), Tuple{Foo, Float64}},2} a with dimensions:
  Dim{:chain} Sampled Base.OneTo(4) ForwardOrdered Regular Points,
  Dim{:draw} Sampled Base.OneTo(100) ForwardOrdered Regular Points
    …  100
 1        (t = Foo(-0.332783, [-0.271914, -1.19732, 0.239832], :discrete), z = -0.473026)
 2        (t = Foo(-1.03842, [-0.148646, -0.102317, 0.242476], :discrete), z = -1.53602)
 3        (t = Foo(0.902033, [-0.798571, 0.173176, 0.533269], :discrete), z = 1.45302)
 4        (t = Foo(-0.98641, [1.89491, -0.674791, -0.203847], :discrete), z = -1.44689)

So InferenceData can be used for this storage, but it's not very useful, for several reasons:

All downstream diagnostics, statistics, plots, and serialization to NetCDF/Zarr will require access to marginals, so we need flat multidimensional arrays, often with numeric types.
The Tables interface is not useful for such types (see below), so users can't easily construct custom plots
We can't assign named dimensions to arrays in such nested objects, which are very useful for plotting.

Here's an example of what the Tables interface would produce:

julia> using DataFrames

julia> DataFrame(idata.posterior)
400×3 DataFrame
 Row │ chain  draw   a
     │ Int64  Int64  NamedTup…
─────┼─────────────────────────────────────────────────
   1 │     1      1  (t = Foo(0.235607, [1.08405, 0.9…
   2 │     2      1  (t = Foo(-1.24972, [-1.89301, 0.…
   3 │     3      1  (t = Foo(1.0526, [-0.179664, -0.…
   4 │     4      1  (t = Foo(0.793393, [0.558985, 0.…
  ⋮  │   ⋮      ⋮                    ⋮
 398 │     2    100  (t = Foo(-1.03842, [-0.148646, -…
 399 │     3    100  (t = Foo(0.902033, [-0.798571, 0…
 400 │     4    100  (t = Foo(-0.98641, [1.89491, -0.…
                                       393 rows omitted

So plotting packages that use the Tables interface, like AlgebraOfGraphics and StatsPlots, are not terribly useful here without lots of additional code.
There are several ways we might approach this:

Do nothing. Users are free to use arbitrary types with InferenceData, and they are expected to turn their types into whatever marginals they care about when they want to use the downstream functions we discussed above. This is the current state.
Require all converters flatten to the marginals. The converter might encode some of the structure into the Dataset. e.g. the above example might be converted to a Dataset with variable names a.t.x, a.t.y, a.t.tag, and a.z. If we go this route, InferenceData would be a secondary data type used only for some analyses but not a possible default for such PPLs, since it loses some of the structure in the initial draws.
Define an interface for computing a "marginal representation" of a variable, dataset, or whole InferenceData. This would be called by the user to convert a non-flattened InferenceData to a flattened one, allowing provision of named dimensions. e.g. such a function would map the above posterior to something like:

julia> using Compat

julia> a = idata.posterior.a;

julia> d = (;
           var"a.t.x"=map(x -> x.t.x, a),
           var"a.t.y"=permutedims(Compat.stack(map(x -> x.t.y, a)), (2, 3, 1)),
           var"a.t.tag"=map(x -> x.t.tag, a),
           var"a.z"=map(x -> x.z, a),
       );

julia> post_new = namedtuple_to_dataset(d)
Dataset with dimensions:
  Dim{:chain} Sampled Base.OneTo(4) ForwardOrdered Regular Points,
  Dim{:draw} Sampled Base.OneTo(100) ForwardOrdered Regular Points,
  Dim{:a.t.y_dim_1} Sampled Base.OneTo(3) ForwardOrdered Regular Points
and 4 layers:
  :a.t.x   Float64 dims: Dim{:chain}, Dim{:draw} (4×100)
  :a.t.y   Float64 dims: Dim{:chain}, Dim{:draw}, Dim{:a.t.y_dim_1} (4×100×3)
  :a.t.tag Symbol dims: Dim{:chain}, Dim{:draw} (4×100)
  :a.z     Float64 dims: Dim{:chain}, Dim{:draw} (4×100)

with metadata OrderedCollections.OrderedDict{Symbol, Any} with 1 entry:
  :created_at => "2022-08-25T12:08:52.898"

julia> DataFrame(post_new)
1200×7 DataFrame
  Row │ chain  draw   a.t.y_dim_1  a.t.x      a.t.y       a.t.tag   a.z
      │ Int64  Int64  Int64        Float64    Float64     Symbol    Float64
──────┼────────────────────────────────────────────────────────────────────────
    1 │     1      1            1   0.235607   1.08405    discrete   1.20053
    2 │     2      1            1  -1.24972   -1.89301    discrete   0.0482549
    3 │     3      1            1   1.0526    -0.179664   discrete   4.70509
    4 │     4      1            1   0.793393   0.558985   discrete   0.919428
    5 │     1      2            1  -1.53217    1.41717    discrete  -1.89603
  ⋮   │   ⋮      ⋮         ⋮           ⋮          ⋮          ⋮          ⋮
 1196 │     4     99            3  -1.65774    0.689958   discrete  -1.00366
 1197 │     1    100            3  -0.332783   0.239832   discrete  -0.473026
 1198 │     2    100            3  -1.03842    0.242476   discrete  -1.53602
 1199 │     3    100            3   0.902033   0.533269   discrete   1.45302
 1200 │     4    100            3  -0.98641   -0.203847   discrete  -1.44689
                                                              1190 rows omitted

The easiest way I can think of to provide such a default is to recur through all Julia types and allocate new arrays as done above, but there may be other options using custom Julia arrays. @oschulz, @cscherrer, would the types you have been suggesting allow for this?

Develop a completely new data structure that allows arbitrarily deep nesting of data types and assignment of dimensions at any level but also implements both a marginal no-copy view that flattens everything and a tabular no-copy view that further concatenates with useful column names. I don't see immediately how this could be done with existing dimensional data types, so it could be as complicated as developing yet another dimensional data package.

Off the top of my head, a few additional criteria for the solution:

The InferenceData type and its basic functionality must be kept in a lightweight package and as generic as possible. It's not even ideal that we depend on DimensionalData, but so we do. If we require a complicated solution with lots of dependencies, this should be its own package, which PPLs or packages with PPL-specific converters can then depend on.
We can allow type piracy for packages within this organization if necessary, but that's it.
The solution should ideally not require the average user or PPL developer to implement some API for their custom types, i.e. there should be sensible defaults.
While we're focusing on increasing usability within Julia, we cannot sacrifice serialization to data structures like NetCDF for archiving and interop with other languages.

Since the others tagged in this have thought a lot more about this than I have, I'd appreciate any input/suggestions. cc also @ParadaCarleton

@femtomc I wonder if you have input on this as well, since I think Gen traces also can be nested and contain arbitrary Julia types.

Something that may be helpful in this context: @cscherrer and me had discussed to built flatten/unflatten transformations on top of the now transport API in MeasureBase.jl. This would allow for automatically generating transforms to/from flat vectors as long as a prior measure is available (it would provide the required structural information).

Another thing that may be interesting in this contect: In BAT.jl we've recently added the ability to marginalize/flatten structures to "flat" NamedTuples using unicode. This is currently limited to non-nested input, but the result looks like this: A value (a = [1.2, 2.3], b = 4.2) can be turned into (a⌞1⌟ = 1.2, a⌞2⌟ = 2.3, b = 4.2). We use a few other unicode characters too so we can preserve range-selection during marginalization and have valid unicode field names like (d⌞1ː2⌟ = ...). We introduced it to support value selection for plotting, but we're planning to extend it and make it more directly accessible. Maybe such a "flatten-nested-names-and-ranges-to-unicode" scheme could be useful for arviz as well?

Some more transform discussion (hidden to avoid distracting)
I think it's also worth noting that transforms/transports can be data-dependent. I don't know how Turing does things, but TransformVariables wants the transform to be static. For Tilde, I think we can make things a lot more flexible. Instead of running the model once to determine the transport, the transform can be more dynamic and be itself in terms of a model run.
For inference, the simple approach would then run the model twice: once to get the transformed value, and again to get the log-density. But that's inefficient, so I think we'll compute the log-density along the way. If there's a Vector of samples available, we'll write into that as we go.

All downstream diagnostics, statistics, plots, and serialization to NetCDF/Zarr will require access to marginals, so we need flat multidimensional arrays, often with numeric types.

@sethaxen I think of TupleVectors as making it easy to get to marginals, so maybe I don't understand what you mean by "marginals". Can you give more detail on this?


feat: HL 1426 ahjo signer

Description :sparkles:
HL-1426
Add ahjo_signer to the AhjoSettings the same way as decision_maker, query from the backend, and show as a radio selectio on the handle's decision form.
Save the signer into the decision proposal draft and decision text.
Send the signer id and name in the decision proposal Ahjo request.
Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

HANDLER branch is deployed to platta: https://helsinkilisa-ui-handler-pr3540.dev.hel.ninja :rocket::rocket::rocket:

API branch is deployed to platta: https://helsinkilisa-pr3540.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

APPLICANT branch is deployed to platta: https://helsinkilisa-ui-pr3540.dev.hel.ninja :rocket::rocket::rocket:

TestCafe result is success for https://helsinkilisa-ui-pr3540.dev.hel.ninja :laughing::tada::tada::tada:

APPLICANT branch is deployed to platta: https://helsinkilisa-ui-pr3540.dev.hel.ninja :rocket::rocket::rocket:

HANDLER branch is deployed to platta: https://helsinkilisa-ui-handler-pr3540.dev.hel.ninja :rocket::rocket::rocket:

API branch is deployed to platta: https://helsinkilisa-pr3540.api.dev.hel.ninja/healthz :rocket::rocket::rocket:

TestCafe result is success for https://helsinkilisa-ui-pr3540.dev.hel.ninja :laughing::tada::tada::tada:


Unexpected feedback (score is correct) by 4-ball game

Installed version 1.1.5, good to see no more yellow-white swap.
Only, there is slight wrong result when ball hits together. Seems the opposite side might see wrong +1 effects.
Lucky scoreboard is correct counted.
I mean, there is no way +1 when it hit 1 time ball (Japanese mode) because it need hit 2 times. Seems it only affect non-owner side.
And sometimes there is no feedback, even i can see hit 2 times (valid +1). The code need some fine adjustment.

The +1 code is still handled in-Udon in  an opaque way. This isn't that major but I do want to fix it.


lune: init at version 0.7.4

added lune interpreter
https://github.com/filiptibell/lune is a standalone luau script runtime
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

I squashed everything in one commit now. Anything else necessary?

@AndersonTorres ping :)


[Suggestion] Rename "Naquadah Fuel Refine Factory" to "Naquadah Fuel Refinery"

Title.

changed, 5ae6979d18f6a729a5267563cc03c66e6f227286


Update some non-working Markdown to correctly link.

There's a mix of markdown and HTML here, and some of the markdown within the HTML is not being HTML-ified.  This fixes a few of those links.  I haven't comprehensively checked for others, either in this file or elsewhere in the docs.

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


Retry getting the main ZK lock

Add a loop around getting the ZK lock so that any intermittent failures while waiting won't cause the app to fail.

discarded


zei/Configurable status endpoint

Signed-off-by: Vinay Satish<EMAIL_ADDRESS>Description
Whether the status endpoint should include the chef server version or not can be configured from chef-server.rb. Setting the key include_version_in_status in chef-server.rb to true, will enable the server_version in the status endpoint response. By default this value is false.
Issues Resolved
Resolves isses #2214
Check List

[x] All buildkite tests pass
[ ] Full omnibus build and tests in buildkite pass
[x] All commits have been signed-off for the Developer Certificate of Origin.

Docs: https://github.com/chef/chef-server/pull/2246

Verify pipeline - https://buildkite.com/chef/chef-chef-server-master-verify/builds/3055
Adhoc pipeline - https://buildkite.com/chef/chef-chef-server-master-omnibus-adhoc/builds/2073
Umbrella pipeline - https://buildkite.com/chef/chef-umbrella-master-chef-server/builds/229


In 01-prerequisites.md, it is inferred you need to pay google money.

In this line:
You can sign up for $300 in free credits, which will be more than sufficient to complete all of the labs in this tutorial.

it is inferred you need funds for the Google Cloud Platform. While you can apply for the free credits, it does not guarantee that it'll be approved. I've tried myself, informing them I wish to learn more about the platform as a new coder and was denied.
I feel that what is needed, such as paid services, should be made a little more clear.

hi @Ryonez , did you apply for a free trial? the last time I checked (about 9 months ago), getting a free trial was easy and you only had to provide your credit card info, there certainly was no approval process

@Ryonez did you try to register a new account which gives $300 during the free trial?  This email kind of made me think you might've tried to apply for extra credit or something

At the time I was working on my Gitlab server and wanted to look into Kubernetes.
Get seamless integration with GKE and $500 credit for your project Every new Google Cloud Platform account receives $300 in credit upon signup. In partnership with Google, GitLab is able to offer an additional $200 for new GCP accounts to get started with GitLab’s GKE integration. Here's a link to apply for your $200 credit.
https://about.gitlab.com/2018/04/05/gke-gitlab-integration/
Same rules basically. And given I was denied for wanting to try out what it was for, I was kinda annoyed. I won't bother trying "free credit" now, as they seem to have some hidden additional requirements.

yeah, it looks like you applied for an extra credit, so it's a different thing. In the docs, I'm talking about the free trial and $300 you receive on signup and it doesn't seem like there is a problem getting that.

Every new Google Cloud Platform account receives $300 in credit upon signup
This is the same thing you are referring to. $300 dollars starter credit.
In partnership with Google, GitLab is able to offer an additional $200 for new GCP accounts to get started with GitLab’s GKE integration.
Given what I was trying to do at the time, I was eligible for extra on top of that. I was still denied.
To me it doesn't matter there is addition credit, as that was denied as well, despite the use case for trying exactly what the credit was meant for.
Now, the title subject is still what I'm pointing out here. "it is inferred you need to pay google money". This is still true, you are assuming everyone will get, have the right of access to the $300 dollar starter pack.
That's a bad thing to make a tutorial with. People might get denied, or have already used it.


Add issue templates

Docs: https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository

thx!

thx!

Welcome, you can make this issue templates a point to note in contributing guidelines. you can add the snippet:
## Using the Issue tracker
Reporting bugs and Requesting features should be done using the issue tracker.

Please use the [bug report](https://github.com/jslint-org/jslint/issues/new?template=bug_report.md) template for reporting bugs and [feature request](https://github.com/jslint-org/jslint/issues/new?template=feature_request.md) template for requesting new features or changes to existing features.

Preview:
Using the Issue tracker
Reporting bugs and Requesting features should be done using the issue tracker.
Please use the bug report template for reporting bugs and feature request template for requesting new features or changes to existing features.

Oh, I didn't notice that you don't yet have contributing guidelines!


neovide: Update to version 0.10.4 and fix autoupdate

Closes #XXXX

Relates to #XXXX

[X] I have read the Contributing Guide.

/verify


[BUG] no string displayed in the editor but printed in REPL

Details

Atom version: 1.38.2
Julia version: 1.1.1
OS: Windows 10
Package versions:

Atom.jl:
julia-client: 0.8.9
ink: 0.10.10

Steps to reproduce
In a self-defined function, I wanna the function to print out the strings, but when I run the function only a check mark appeared and no strings displayed in the editor but in the REPL
function printlyrics()
    println("I'm a lumberjack, and I'm okay.")
    println("I sleep all night and I work all day.")
end

printlyrics()

Ok it seems like it has something to do with how println behaves in the IDE, which does not display any strings at all. This might be undesirable when you need to print out some results.

This is just the difference between returning a string and printing it. The inline results only display returned values (and println returns nothing, which is represented by a checkmark in the editor), and everything you print goes to stdout.
There's a feature request  for adding a setting to change this behavious, so I'm closing this issue.


chore(release): v0.3.0

Prepares the v0.3.0 release.

i tested it and it was there when I clicked sweep

ain't this one missing? https://github.com/joinmarket-webui/jam/pull/807

Sry maybe I was not clear. I meant that it is missing in the changelog, while it is worth mentioning imo


Use plugin config file & add max-width and max-height

Added support for customizing the img rendering.
In particular you can use a setting "fixed_width" to customize the img width (instead of 200) or use two new settings ("max_width" and "max_height") to make the rendering dynamic.

(@simonw)