Implement frontend dApp based on Balsamiq wireframes

High-level outcome
To implement the Balsamiq wireframes and integrate Web3 to make mock calls to the Smart Contracts.
Deadline
19th June (Wednesday)
Wireframes and specs
The Balsamiq Interactive Wireframes hold the concept wireframes. It basically consists of 4 pages:
PDF version of clickable prototype
1. Main loan page
Balsamiq Wireframe of Main Loan Page

Page purpose:
This page is similar to Kiva's "loan" page. The purpose is to allow potential lenders to find out more about the loan details, and the borrower.
Notes:

[x] Lend button should be anchored to the bottom of the viewport, so that lenders can lend while viewing any part of the page
[x] If there are many contributing lenders, we should only show a truncated list of lenders
[x] If Borrower Profile is too long, should only show a shorter excerpt and allow user to click "more" to expand it

2. Loan Offer Step 1 (personal details page)
Balsamiq Wireframe of Loan Offer Step 1

Page purpose:
The "email / name" step is purposefully brought forward, because it captures intent to lend for a loan:

We can launch this first (i.e. "get notified when we launch!") while still working on the Web3 + contracts, to capture interested lenders pre-launch
This also helps capture the contact detail of a potential lender as soon as possible - this is helpful since many people might drop off during the Metamask step due to Metamask errors
Collecting video interview requests early on allows Ines to clear them slowly over the weeks prior to the crowdfunding campaign

[x] This page may be a modal instead of a full page
[ ] What are the KYC / AUML requirements?
[ ] Can we include a note / link to Protonmail, if the lender wants to be anonymous?
[ ] Where does this write to? (backend through a serverless function?)
[ ] Do we need a recaptcha to prevent spam?

3. Loan Offer Step 2 (amount page)
Balsamiq Wireframe of Loan Offer page

Page Purpose:

The lender will specify the amount they want to lend and trigger the Web3 action to transfer funds to the crowdfunding smart contract

Notes:
This page has received very little user testing vs. its importance to the process. We need to user test the wireframes!

[ ] This page may be a modal, not a full page (same as Step 1)
[ ] User test whether Loan Confirmation should be brought higher in the page (i.e. the "fund with metamask" button)
[ ] Should we move the simulated returns down?
[ ] Where should we put the disclaimer?

4. My Loan page
Balsamiq Wireframe of Loan Offer page

Page Purpose:

After making a successful loan, the lender should be redirected to a dashboard showing the total amount they have loaned, and the repayment schedule and status
Longer-term, the lender should be able to visit a "My Loan" to track the status of the loan, repayment status, and withdraw his or her balance to his Eth wallet

Todos

[ ] When the lender's loan is successful and he/she is redirected to the "My Loan" screen, there be a success notification on the "My Loan" page
[ ] User Testing of this page is very important!

Design Guidelines
Mobile-first, Desktop responsive
The wireframes have been optimized for mobile as we anticipate most first-time visitors will be hearing of this through Twitter or reddit. However, most Ethereum app interaction happens on desktop through Metamask, so the site should be desktop responsive.
A possible example that balances functionality with simplicity is Balance, an open finance wallet. I have attached 2 screenshots below of how it utilizes container width to be usable on both mobile and desktop.

Some Todos:

[ ] @onggunhao and @urmauur Go through React Typescript docs
[ ] Initial scaffold of Balsamiq wireframes in Typescript + React
[ ] Web3 integration (either through Drizzle or plain Web3), @onggunhao to evaluate Drizzle
[ ] Onboard @urmauur onto project

Story is broken down into
https://github.com/enabledao/enable-ui/issues/5
https://github.com/enabledao/enable-ui/issues/9
https://github.com/enabledao/enable-ui/issues/6
https://github.com/enabledao/enable-ui/issues/7
https://github.com/enabledao/enable-ui/issues/8


RT-7 : bgp_default_policies_test.go

Hi,
This is initial commit for RT-7.
Resolves : https://github.com/openconfig/featureprofiles/issues/2282
Thanks,
Prabha

Pull Request Functional Test Report for #2352 / b8123316941bcff08b9bc91f48c9abc8249f33c4
Virtual Devices

Device
Test
Test Documentation
Job
Raw Log

Arista cEOS

RT-7: BGP default policies

Cisco 8000E

RT-7: BGP default policies

Cisco XRd

RT-7: BGP default policies

Juniper cPTX

RT-7: BGP default policies

Juniper ncPTX

RT-7: BGP default policies

Nokia SR Linux

RT-7: BGP default policies

Openconfig Lemming

RT-7: BGP default policies

Hardware Devices

Device
Test
Test Documentation
Raw Log

Arista 7808

RT-7: BGP default policies

Cisco 8808

RT-7: BGP default policies

Juniper PTX10008

RT-7: BGP default policies

Nokia 7250 IXR-10e

RT-7: BGP default policies

Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.7%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1536

Relevant Lines:
3154

💛  - Coveralls

Please also resolve conflicts.


feat: decouple function name from function domain

Signed-off-by: Zbynek Roubalik<EMAIL_ADDRESS>Fixes: #123
faas create foo -l node

Creates a new directory foo and initialize/create the function inside.
A directory structure is created according to the specified name, eg. relative/path/to/foo, /absolute/path/to/foo, foo or .
The 'last' directory name is used as function name.
We should sync to codebase (and remove unused code) once #125 is merged

@boson-project/core PTAL


🐛 Bug Report: Upload Progress not being reported

👟 Reproduction steps
    try {
      const upload = await storage.createFile('uploads', ID.unique(), file, [Permission.read(Role.any())], (uploadProgress) => {
        console.log('Progress', uploadProgress)
      });

      console.log("Upload completed", upload);
    } catch (error) {
      console.error("Error while uploading file: ", error);
    }
  };

👍 Expected behavior
The console.log in the callback should be updated, so I can report the upload progress to the user.
👎 Actual Behavior
Sadly, the callback isn't emitting any events. The file gets uploaded correctly.
🎲 Appwrite version
Cloud Beta
💻 Operating system
MacOS
🧱 Your Environment
No response
👀 Have you spent some time to check if this issue has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

@mariusbolik thanks for creating this issue! 🙏 How big is the file you're uploading?

@mariusbolik would you please provide some more information. FYI, we'll need to close this due to inactivity soon.

The progress is only triggered if the file is over 5MB as the progress is updated per 5MB chunk.


Bare Metal installation, boots to blinking cursor.

Issue Report Template
Tectonic Version
1.9.6
Environment
OSX 18.2.0 Darwin Kernel Version 18.2.0: Fri Oct  5 19:41:49 PDT 2018; root:xnu-4903.221.2~2/RELEASE_X86_64 x86_64
What hardware/cloud provider/hypervisor is being used with Tectonic?
Supermicro Baremetal / Matchbox
Expected Behavior
OS should boot.
Actual Behavior
Boots to blinking cursor.
Reproduction Steps

Setup matchbox.
Follow setup steps in tectonic UI.
PXE boot hardware.
Boot after installer to blinking cursor.

Other Information
Feature Request
Environment
What hardware/cloud provider/hypervisor is being used with Tectonic?
Desired Feature
Other Information

It appears the os is not actually installing for some reason.

I see that ignition disks has failed.

The docs for matchbox specified an older version of coreos, I tried the latest stable version as well with the same result.
Affected versions:
1576.4.0
1911.4.0

This is related to a different issue that I opened in coreos/bugs. OS installs but certificates are jacked now.


Add Nord Style

Added Nord style.
The package is also available on npm to simplify the usage in Node based projects.

Could you kindly fix the merge conflict?

@marcoscaceres, he is not available anymore since June when he tweeted he is busy with his college.

Ok, no problem. Can fix these manually.

@gusbemacbe There have been more updates (e.g. https://twitter.com/arcticicestudio/status/1030741488458780672) about my current RL situation, but this is off-topic here.
@marcoscaceres I've resolved both conflicts. I've moved the latest entry in CHANGES.md from the top of the file under the ## Master heading because I think that's where it was supposed to be placed. If not please let me know so I can revert it and then squash these commits.

Thanks @arcticicestudio. Happy to read you are refreshed after what sounds like a well earned vacation.


Go to next/previous change (Alt-F5) should cycle between files

In #18059, @Tyriar requested that this work like "go to next problem" (F8), but the way it's been implemented there's a crucial difference - upon reaching the end of the file, it goes back to the top, rather than the next changed file! This means, for example, that when reviewing changes prior to staging, I end up running git diff in a terminal to avoid a lot of fiddly mouse clicking. Any other power user surely does the same. This is a shame, since VScode has replaced every other one of my everyday uses of git.
I see no reason anyone would be opposed to this change.

I think some one opened similar request before. But unfortunately got closed because not enough votes.
This is very useful!!!
Please don't close it this time!!!


[WebToolsE2E][Aspire] After installing Aspire.ProjectTemplates.9.0.net8 via dotnet new install, two copies of Aspire project templates show up when we run dotnet new list and in VS New Project dialog

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
SET UP THE REPRO

Clean machine: Win11 x64 23h2 ENU
Install SDK 8.0.402

from download page

Install Aspire 8.2.1 workload

dotnet workload update
dotnet workload install aspire

View the installed Aspire 8.x templates

dotnet new list
Works fine, Aspire templates show up

REPRO STEPS

Install Aspire.ProjectTemplates - latest version 9.0.0-preview.4.24504.11

Add dotnet8 feed
dotnet new install Aspire.ProjectTemplates.9.0.net8::9.0.0-preview.4.24504.11--force
Templates get installed fine

Run dotnet new list

ACTUAL

Two sets of Aspire project templates show up

On a machine with VS installed too, two sets of Aspire project templates show up in New Project dialog

EXPECTED
Two sets of Aspire templates showing up with the same names is confusing. The new set of templates should override the old ones.

Fixed on latest Aspire 9.0.0-rc.1.24511.1. @balachir Can you close this issue, please?

@v-sherryfan thanks for confirming. Closed now.


Replace vManage with Manager

Pull Request summary:
Replace vManage with Manager

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/451


GooCanvas is unusable (or: missing documentation)

I wanted to write a small program with a GooCanvas in it, but I couldn't find any way to create canvas items.
The closest I got is this:
local Goo = require('lgi').GooCanvas
local canv = Goo.Canvas()
local item = Goo.CanvasEllipse { parent = canv:get_root_item(); }

which gives me the following error message:
lua: /usr/share/lua/5.3/lgi/class.lua:157: GooCanvas.CanvasItemSimple: field `parent' is not writable
stack traceback:
	[C]: in field 'field'
	/usr/share/lua/5.3/lgi/class.lua:157: in function </usr/share/lua/5.3/lgi/class.lua:156>
	(...tail calls...)
	[C]: in metamethod '__newindex'
	/usr/share/lua/5.3/lgi/override/GObject-Object.lua:126: in function </usr/share/lua/5.3/lgi/override/GObject-Object.lua:52>
	(...)

According to GooCanvas documentation, this is false: GooCanvasEllipse implements the GooCanvasItem interface, in which specifies the parent property as read-write.

I don't really know if it helps you, but at least the following kind-of-works for me (kind-of: I have no clue what GooCanvas even is)
local Goo = require('lgi').GooCanvas
local canv = Goo.Canvas()
local item = Goo.CanvasEllipse()
item:set_parent(canv.root_item)

No idea why your code does not work (and no idea why calling Goo.CanvasEllipse.new does not work).

I took a look at /usr/share/gir-1.0/GooCanvas-2.0.gir and I think I know what is going on. GooCanvasEllipse implements GooCanvasItem which has
<property name="parent" writable="1" transfer-ownership="none">
   <type name="CanvasItem"/>
</property>

This is what you want to access. (Reference: https://developer.gnome.org/goocanvas/stable/GooCanvasItem.html#GooCanvasItem.properties)
However, GooCanvasEllipse also inherits from GooCanvasItemSimple which has
<field name="parent">
   <doc xml:space="preserve">the parent item.</doc>
   <type name="CanvasItem" c:type="GooCanvasItem*"/>
</field>

This field is not writable. (Reference: https://developer.gnome.org/goocanvas/stable/GooCanvasItemSimple.html#GooCanvasItemSimple-struct)
So in essence, we have a name clash here.
@pavouk Is there any way to get access to the property instead of the field? Could/should lgi preserve properties over fields in cases like this?

I translated the example from https://developer.gnome.org/goocanvas/stable/goocanvas-simple-canvas.html into Lua:
local Gtk = require('lgi').Gtk
local Goo = require('lgi').GooCanvas

local window = Gtk.Window()
window:set_default_size(640, 600)
window:show()
window.on_delete_event = function ()
	Gtk.main_quit()
end

local scrolled_win = Gtk.ScrolledWindow()
scrolled_win:set_shadow_type(Gtk.ShadowType.IN)
scrolled_win:show()
window:add(scrolled_win)

local canvas = Goo.Canvas()
canvas:set_size_request(600, 450)
canvas:set_bounds(0, 0, 1000, 1000)
canvas:show()
scrolled_win:add(canvas)

local root = canvas:get_root_item()

local rect_item = Goo.CanvasRect {
	-- parent = root;
	x = 100; y = 100;
	width = 400;
	height = 400;
	--
	line_width = 10;
	stroke_color = 'yellow';
	fill_color = 'red';
	radius_x = 20;
	radius_y = 10;
}
rect_item:set_parent(root)

local text_item = Goo.CanvasText {
	-- parent = root;
	x = 300; y = 300;
	text = "Hello World";
	width = -1;
	anchor = Goo.CanvasAnchorType.CENTER;
	--
	font = 'Sans 24';
}
text_item:set_parent(root)
text_item:rotate(45, 300, 300)

rect_item.on_button_press_event = function ()
	print("rect item received button press event")
end

Gtk.main()

:set_parent() doesn't generate an error, but the node doesn't show up in the widget either (lgi bug? GooCanvas bug? not sure). The hack in your second comment works.

Hm, :set_parent() is kind-of documented not to work here. Whoops.
https://developer.gnome.org/goocanvas/stable/GooCanvasItem.html#goo-canvas-item-set-parent

@pavouk Is there any way to get access to the property instead of the field? Could/should lgi prefer properties over fields in cases like this?

In general, property access already has higher priority than field access.  I think that the problem here is that while field 'parent' is defined directly in the referenced class, property 'parent' is defined only in inherited interface.  lgi performs lookup in all categories of the class first, and only if not found there it proceeds to parent class chain and after that into implemented interfaces.
The solution here would probably be to disable or rename 'parent' field, something like this (caveat, written into browser and completely untested):
GooCanvas.CanvasEllipse._field.field_parent = GooCanvas.CanvasEllipse._field.parent
GooCanvas.CanvasEllipse._field.parent = nil
-- Repeat for all canvas item classes...

If this will work, we should create new GooCanvas override which is doing this.  I'll do it after I fix DBus issues, unless anyone beats me to it :-)

Hopefully fixed in pavouk/issue-146 branch. Since travis liked the commit, I'm merging it.

I'm not terribly pleased with this fix (what if GooCanvas defines yet more shapes in a future version?) but I don't really have an idea how to do this better. For the time being, I'm fine with this.
(Also, it was me who ported the sample... not that I care so much, but still.)

I'm not pleased either. If you find better solution, I'll gladly merge it, and I promise that I will attribute your contribution properly (apologies for doing it wrong this time).


Update CONTRIBUTING.md

Added description of DSNP Improvement Proposal (DIP)
Purpose
Include definition of the DNSP Improvement Proposal (DIP)
Related GitHub Issues
https://github.com/LibertyDSNP/spec/issues/139
Solution
Included current simple description of DIP and plans for future evolution
@jvasile
Change summary

not applicable

Steps to Verify

not applicable

Additional details / screenshot

not applicable

@jvasile Just now realizing that perhaps it's better to mention this info about DIPs only as part of the contributing.md file in the Spec repo? (which currently just points back to this main file)... Or maybe note it there as well. Hmmm.

The DIP process only applies to the spec repo, so yes let's do that.


Small lua improvements

Adds removeVar
loadSong will mute opponent vocals
getRunningScripts will include HScripts
Fixes createCallback's 3rd argument only taking it as a valid instance if parentLua isn't null, which made this function practically useless on .hx files
Fixes getLuaTween returning a null error if options aren't present
getScreenPositionX and getScreenPositionY will actually use the camera argument
Fixes a typo on setPropertyFromClass and createInstance error messages

4 of the fixes here were implemented here
There's not much left anyways, so I will close this


eksctl: 0.5.1 -> 0.5.2

Motivation for this change
Update eksctl to the latest release.

https://github.com/weaveworks/eksctl/releases/tag/0.5.2

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @

@GrahamcOfBorg build eksctl


Test prohibit renounce ownership

What is this PR doing?
Fixes the skipped test by improving our error handling.
More details to come but I gotta run. This PR is otherwise ready if anyone wants to review+merge.
How can these changes be manually tested?
Does this PR resolve or contribute to any issues?
Checklist

[x] I have manually tested these changes
[ ] Post a link to the PR in the group chat

Guidelines

If your PR is not ready, mark it as a draft
The resolve conversation button is for reviewers, not authors

(But add a 'done' comment or similar)

I reviewed and added the last commit, all tests passing.
Thats an okay from me.


Configuration for major version zero bump

Is your feature request related to a problem? Please describe.
I see in the doc:

Major version zero (0.y.z) has the following rules:
A commit of type fix will increase the PATCH version.
A commit of type feat will increase the PATCH version.
A commit with a breaking change increases the MINOR version.

This is the first time i see this among all the tools that handle conventional commits.
I would like to use the normal bumping behavior, even for version zero.
Describe the solution you'd like
A configuration key to use the normal bumping behavior even for major version zero.
Describe alternatives you've considered
Using another tool, but this one looks simple and nice!

I see in the documentation that there is a preMajor configuration key, but it also says that it's set by convco automatically. I tried changing it in my .versionrc, but that doesn't change the behaviour.

preMajor is always calculated by the tool.
semver says:

Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

and in the faq:

How should I deal with revisions in the 0.y.z initial development phase?
The simplest thing to do is start your initial development release at 0.1.0 and then increment the minor version for each subsequent release.

Rusts cargo defines

This guide uses the terms "major" and "minor" assuming this relates to a "1.0.0" release or later. Initial development releases starting with "0.y.z" can treat changes in "y" as a major release, and "z" as a minor release. "0.0.z" releases are always major changes. This is because Cargo uses the convention that only changes in the left-most non-zero component are considered incompatible.

You say:

I would like to use the normal bumping behavior, even for version zero.

You can do  convco version --major when your code is ready to release v1.0.0.

How do I know when to release 1.0.0?
If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0.

Do you have examples of tools that always increase major for breaking changes in pre-major releases?

preMajor is always calculated by the tool.

i guess i was surprised to see an entry for it in the configuration help, while it cannot be configured.

I was actually not much bothered by the breaking change increasing minor, but more by features increasing patch. I use semantic-release now, which behaves in the same way for both major zero and other version, but after checking their website, they don't support major zero at all, which explains why the tool doesn't have a different behaviour.
After re-reading SemVer specs, i do agree with you, even though it was unintuitive at first for me.


[embedded] Add a test showcasing a small runtime handling refcounting and class allocations written in embedded Swift

@swift-ci please test

@swift-ci please test


Programmatically unmount previous components?

Is there any way to remove / unmount components from the navigation stack?
I'm using Redux in my app, and there are several instances where I modify or remove certain objects in my state after navigating to a new component. However, the app crashes because components that are no longer being displayed are still depending on the non-existent state objects.
I've tried having multiple calls of Actions.pop() (one for each view that I'm trying to remove), but it isn't working. Any insight?

Actually, Actions.pop() does do the intended job of unmounting a component, but it doesn't happen immediately. I was able to test this by adding a timeout.
/*** This works ***/
export function handleLeaveGroup(groupInfoJson) {
  return function(dispatch) {
    // Remove two group views from stack
    RouterActions.pop();
    RouterActions.pop();

    // // route to inbox scene
    RouterActions.inbox();

    // Dispatch action to reducer
    setTimeout(() => {
      dispatch(leaveGroup(groupInfoJson));
    }, 500)
  }
}

/*** This doesn't work ***/
export function handleLeaveGroup(groupInfoJson) {
  return function(dispatch) {
    // Remove two group views from stack
    RouterActions.pop();
    RouterActions.pop();

    // // route to inbox scene
    RouterActions.inbox();

    // Dispatch action to reducer
    dispatch(leaveGroup(groupInfoJson));
  }
}

The timeout isn't ideal, so is there anyway to force an immediate unmount?

v3 uses 'async' Navigator API, so it is not the problem, but the feature :)

Hi! Somebody knows how can I solve this problem? If I have a list and I go to any item, and I press back button and quickly I go to another item the item component is not unmounted thus the component preserves data from last item. This is because the component is not unmounted immediately.
Many thanks


The cage is empty, can't read it

[] > yy
  [nothing] > f
    [] > @
      cage > a
  f 0 > v
  seq > @
    v.a.write 1
    v.a.eq 1

@dours this test fails, that's why your code doesn't work either:
[] > returns-same-object
  [] > foo
    [] > @
      memory > x
  eq. > @
    foo.x.<
    foo.x.<

I'm trying to find out whether it's a bug or a feature...

@dours it was a bug. Fixed in ccf0e2a7

@rultor release, tag is 0.21.1

@rultor release, tag is 0.21.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.21.1

@yegor256 Done! FYI, the full log is here (took me 25min)

Job gh:cqfn/eo#491 is not assigned, can't get performer

@yegor256 Thank you. Could you also add the .eo files to the objectionary? The test now works ok in the master of EO, but plugin version 0.21.1 still downloads .eo files 0.21.0. They fail the test in a standalone maven run.

@dours done, here: https://github.com/yegor256/objectionary/commit/110574a3b38742e0c0e41dcd20c76cd478358467


Back/forward browser two-finger touchpad gestures are not working

Describe the bug
A clear and concise description of what the bug is.

Which site: phanpy.social

To Reproduce
Steps to reproduce the behavior:

Go to Phanpy
Try to go forward/backward with two-finger touchpad gestures

Desktop (please complete the following information):

OS: MacOS
Browser: Arc
Version 0.110.1 (39837)
Chromium Engine Version 114.0.5735.198

@Alex0007 may need to know more details on the steps here 🙏 e.g.

Go to Phanpy
Click on something? Go to a page? ←
Swipe back with two-finger

Hey @cheeaun.
Oh, i can see it's working in some conditions. So here is reproduction details

Go to profile page
Open post
Swipe back with two-finger from opened post body

Same is applicable to your own posts in feed view

Also applicable to boosted posts and posts that are part of thread

@Alex0007 need your help testing this. Try 2-finger swipe back when the cursor position is on the backdrop (darker left side of the post) vs when the cursor is on the post itself (right side, within the post) 🙇♂

@cheeaun
It works from backdrop (90% of the time) in Chrome. Not working from post itself.
Now it works in Arc Browser (both from backdrop and post)

I think it is fixed?


Truncated message with Raspberry Pi

I wrote a script that captures messages from MQTT, and forwards them via Bluetooth to an iPhone. While this worked well on the Mac, when I ran it on a Raspberry Pi, the resulting Buffer of around 240 bytes was truncated, resulting in an invalid JSON.
Since the code is the same, I doubt the bug is in bleno, but I'm wondering whether you know whether I can change something in the Bleno script to make this work.

@superlopuh please provide more details, including a simplified Node.js script to reproduce this issue. It's most likely MTU related ...


Fix authors, move examples and target netstandard2.0

Which problem is this PR solving?
Tidies up the repository to fix misspelled nuget package author names, move the sample app into an examples directory and update Honeycomb.AspNet build target to netstandard2.0 among other clean-up tasks.
Short description of the changes

Fix spelling of Honeycomb of authors in csproj's
Create examples directory and move Sample app into it
Update Honeycomb.AspNet's target framework to netstandard2.0 instead of netcoreapp2.1
Sign & generate symbols packages during CI packaging

oh it looks like codeowners isn't in here

It's in the repo:
https://github.com/honeycombio/libhoney-dotnet/blob/main/.github/CODEOWNERS


Add select dropdown style for navbar

Adding style for dropdown when placed into the navbar.
I just added the styles, if removing the example css would look like original.
Example:
http://codepen.io/anon/pen/vgLvdZ

@acburst @Dogfalo Please look into it and do the needful


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220912153837684 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20220912153837684 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.003%) to 42.043%

Totals

Change from base Build<PHONE_NUMBER>:
0.003%

Covered Lines:
28011

Relevant Lines:
62039

💛  - Coveralls


[Issue 145] refactor: validate addresses with xecaddrjs

Description:
Solves #145. Validation is now done by the xecaddrjs module. Now addresses without the chain prefix are accepted and their network is inferred, whenever possíble.
Remarks:
Since the functions in xecaddrjs do not differentiate the bchreg from the bchtest networks, an unprefixed test BCH address is interpreted as of the type bchtest.
Test Plan:
All must be covered by the tests.

Merge conflicts will need to be fixed before merging

Tests are failing.

Tests are failing.

Fixed.


iOS Keyboard blocks tap interactions on the first attempt

What happened?
When using the keyboard (on a text field for example), tapping on visible elements outside the keyboard only dismisses the keyboard (but not handled as regular taps, as it should).
That happens on Detox test but not on a manual test.
What was the expected behaviour?
The keyboard is being dismissed and the tap is handled regularly
Was it tested on latest Detox?

[X] I have tested this issue on the latest Detox release and it still reproduces.

@asafkorem is the todo column the right place for this? Could be backlog or bugathon it instead, as it is not urgent?

BTW: One work-around for this is to either apply the tap twice (conditionally, if iOS), or preempt the actual tap with some senseless tap on a dead-space area on the screen (e.g. tap() with specific coordinates), just for dismissing the keyboard.

@d4vidi agree, backlog or bugathon fits better here.

@asafkorem do you know how to get this fixed? Could we sum the stepts up for contributors?

According to internal issue

replaceText doesn't suffer from this problem


Fixes #2526 : Exclude api module from clustered-dist uberjar

I will merge (because the build failure is unrelated) but it seems to be based on a strange point in the past. Is it a daggy?

Yes. It was broken by one of the commits in the write behind work.
On Thu, Nov 15, 2018, 8:29 AM Henri Tremblay<EMAIL_ADDRESS>wrote:

I will merge (because the build failure is unrelated) but it seems to be
based on a strange point in the past. Is it a daggy?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ehcache/ehcache3/pull/2527#issuecomment-439040159,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6P28d-9iWMC9MXEVNUZx-5xwbWD6e-ks5uvWxGgaJpZM4YeqGl
.


dont panic when using varlink commit and uppercase image names

when using an upper case image name for container commit, we observed
panics due to a channel closing early.
Fixes: #3897
Signed-off-by: baude<EMAIL_ADDRESS>

LGTM

LGTM

/lgtm


Settings logger used after project was loaded

> publish
[info] Packaging /home/johnreed/sbtProjects/scala-trace-debug/target/scala-2.11/scala-trace-debug_2.11-0.1.3-sources.jar ...
[info] Done packaging.
[info] Packaging /home/johnreed/sbtProjects/scala-trace-debug/target/scala-2.11/scala-trace-debug_2.11-0.1.3-javadoc.jar ...
[info] Wrote /home/johnreed/sbtProjects/scala-trace-debug/target/scala-2.11/scala-trace-debug_2.11-0.1.3.pom
[info] :: delivering :: scala-trace-debug#scala-trace-debug_2.11;0.1.3 :: 0.1.3 :: release :: Mon Mar 28 21:18:38 EDT 2016
[info]  delivering ivy file to /home/johnreed/sbtProjects/scala-trace-debug/target/scala-2.11/ivy-0.1.3.xml
[info] Done packaging.
[info]  published scala-trace-debug_2.11 to https://api.bintray.com/maven/johnreed2/maven/maven/scala-trace-debug/scala-trace-debug_2.11/0.1.3/scala-trace-debug_2.11-0.1.3.pom
[info]  published scala-trace-debug_2.11 to https://api.bintray.com/maven/johnreed2/maven/maven/scala-trace-debug/scala-trace-debug_2.11/0.1.3/scala-trace-debug_2.11-0.1.3.jar
[info]  published scala-trace-debug_2.11 to https://api.bintray.com/maven/johnreed2/maven/maven/scala-trace-debug/scala-trace-debug_2.11/0.1.3/scala-trace-debug_2.11-0.1.3-sources.jar
[info]  published scala-trace-debug_2.11 to https://api.bintray.com/maven/johnreed2/maven/maven/scala-trace-debug/scala-trace-debug_2.11/0.1.3/scala-trace-debug_2.11-0.1.3-javadoc.jar
[trace] Stack trace suppressed: run last *:bintrayRelease for the full output.
[error] (*:bintrayRelease) Settings logger used after project was loaded.
[error] Total time: 24 s, completed Mar 28, 2016 9:19:02 PM
> last *:bintrayRelease
java.lang.RuntimeException: Settings logger used after project was loaded.
        at scala.sys.package$.error(package.scala:27)
        at sbt.LogManager$$anon$1$$anonfun$slog$1.apply(LogManager.scala:110)
        at sbt.LogManager$$anon$1$$anonfun$slog$1.apply(LogManager.scala:110)
        at scala.Option.getOrElse(Option.scala:120)
        at sbt.LogManager$$anon$1.slog(LogManager.scala:110)
        at sbt.LogManager$$anon$1.log(LogManager.scala:115)
        at sbt.Logger$class.info(Logger.scala:118)
        at sbt.LogManager$$anon$1.info(LogManager.scala:108)
        at bintray.BintrayRepo.release(BintrayRepo.scala:73)
        at bintray.BintrayPlugin$$anonfun$bintrayPublishSettings$16.apply(BintrayPlugin.scala:117)
        at bintray.BintrayPlugin$$anonfun$bintrayPublishSettings$16.apply(BintrayPlugin.scala:114)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
[error] (*:bintrayRelease) Settings logger used after project was loaded.
>

Still seeing this stacktrace, over a year since this issue was raised.  Which is a bit sad 😢
To add a little more detail, it only occurs when running sbt in interactive mode.  In batch mode you don't see it (in my case, because I have bintrayReleaseOnPublish set to false, I get a warning log saying

[warn] You must run bintrayRelease once all artifacts are staged.

It looks like the problem is that this code uses the settings logger.
The bug still exists in master here.

This should be just a case of switching to streams.value.log. Do you fancy contributing to sbt-bintray?

Sure.  Will have a look at that now.

Note that this also affects bintrayPackageVersions:
project-name(master)> bintrayPackageVersions
[trace] Stack trace suppressed: run last \*:bintrayPackageVersions for the full output.
[error] (*:bintrayPackageVersions) Settings logger used after project was loaded.
[error] Total time: 0 s, completed 15-Jun-2017 07:58:45

Also note that you may need to run clean in the interactive console first to reproduce the issue.

PR #111 now raised to address this.

This should now be fixed and I guess will be made available in the next release.  @JohnReedLOL, if you'd like to test the fix before then by compiling sbt-bintray locally, you can do so as follows:

pull the latest code in master
tweak line 4 of build.sbt to give your local copy a different build identifier
run sbt publishLocal and sbt publishM2
update your dependent project to use your custom build of sbt-bintray.

As Oliver says: this has been solved (though yet unreleased) with https://github.com/sbt/sbt-bintray/pull/111.


Calling gRPC Client VIs from TestStand hang at "Wait for Occurrence" while using LabVIEW RTE

I've found a condition where calling gRPC client VIs from TestStand, while using the LabVIEW Run Time Engine adapter, causes the "Client Unary Call" VI to hang at "Wait on Occurrence".  I can confirm that the gRPC request does get sent from the client prior to hanging and that the server does respond to the request.  This issue does not occur when running using the LabVIEW Development Environment adapter.
Steps that I've used to create a reproducible example are below.  I've also uploaded all of this code to https://github.com/kt-jplotzke/grpc-labview-teststand-hang.
I've created a small gRPC service with a single function, "Wait".  This function simply wraps the LabVIEW Wait (ms) function.  I then used grpc-labview <IP_ADDRESS> to generate the server and client code for this service.
service TestService {
	rpc WaitMs(WaitRequest) returns (WaitResponse);
}

message WaitRequest {
	uint64 msec_to_wait = 1;
}

message WaitResponse {
	uint64 timestamp = 1;
}

For the server, I simply wrapped the Wait (ms) function in the "Start Sync" function.  This is the only gRPC method.  I then built Run Service.vi  as an EXE to allow this to run in the background.

For the client, I simply wrapped my gRPC client function into a VI which calls Client Create, the gRPC client unary function, and then Client Destroy.  I build this function into a Packed Project Library.

I can confirm that both the native wrapper VI and the build PPL wrapper VI function as expected when executed from the LabVIEW Dev Environment.  Both send a request and receive a response from the built gRPC server.
Then, I created a TestStand sequence with a single step -- to call this gRPC client wrapper VI.

When this sequence is executed using the LabVIEW Development Environment as the LabVIEW adapter, the step executes successfully and returns the response.  However, when this sequence is executed using the LabVIEW Run Time Engine, the gRPC step hangs indefinitely.  Adding debug code into the Client Unary Call.vim VI, I have been able to prove that the hang is in the Wait On Occurence.vi.  When I implement the patch mentioned in #193 (to connect the "timeout (ms)" control to the "Wait on Occurence" VI), the call no longer hangs in TestStand, but an error (-1004) is always generated and no data is returned.
I have also proven that the gRPC request is sent out by the client and that a response is sent back from the server.  It appears that either the client is not appropriately triggering the occurrence or receiving the response successfully.  However, given that this call is 100% successful when running using the LabVIEW development environment adapter, I feel like it is more likely the former than the latter.
I also believe that this is not related to the specific issue described in #193 as that issue refers to a potential race condition when responses are received quickly.  In my case, I am passing in a 1000 msec delay into my gRPC function to purposely slow down the response.
This is currently a blocking issue for me.  Please let me know any other information you need to help reproduce / help diagnose.  Thank you!
AB#2598217

@kt-jplotzke  - You mentioned in the other thread that you were using local loopback.  Are you running local loopback in this case as well, or a device across the network?
If it's loopback, does the problem replicate when the client is run from a different device?

As another data point, I modified the Client Unary Call.vim VI to both wire the timeout to Wait on Occurrence.vi and to ignore the error out of Wait on Occurrence.vi:

When I build a new PPL with this modification, the call does succeed from TestStand using the LabVIEW RTE adapter -- and returns the correct data from the gRPC server.  However, the call takes the full timeout period.  The occurrence never fires, but instead times out with the given timeout.  But, the following CompleteClientUnaryCall2 DLL function call that's after Wait on Occurrence does return valid data.
This makes me think that this issue is specifically related to the DLL not firing the occurrence successfully.

Good work!
So as-is, is this library not thread-safe?  (Thinking out loud as I work through this...)  Well, sort of.
If I had two clients on different ports... as long as I had one instance of LabVIEW, it would be ok as they would reference the same DLL.
If I had two separate exes, each would have its own execution environment and each would reference the DLL, and it would be ok.  At least as long as they're pointed at the same version, that is.  I can't say beyond that.
Interesting that to me this seems to be mostly specific to running multiple runtime engines (that will open different copies of the DLL) in the same application.  Which we are unlikely to see outside of TestStand.  Or... would they collide if they were in separate applications?  I would need to do more homework to say for sure.

This would likely be resolved by setting the "Version Independence" flag in TestStand for the LabVIEW RTE Adapter. Then TestStand will only use one LabVIEW Version for RTE (the latest you have installed), instead of multiple.

@ShockHouse5 Potentially if only running from the TestStand development environment, but potentially not if running from a custom LabVIEW operator interface.
In my case, my custom OI is built with LabVIEW 2021, and thus uses that RTE.  When running from an OI, the LabVIEW RTEs that are called by TestStand run under the OI's process.  So, setting the "Version Independence" flag in my setup caused both the LV2021 RTE (for the OI) and the LV2023 RTE (for the version independent teststand calls) under a single OI process, which still caused the DLL callback issues.

Yeah correct. Unless your EXE is also built with "Allow future versions to run this". If that is checked in your exe, and "Version Independence" in TestStand, they will always match.

Loose relation to #193 and #324

Released as part of https://github.com/ni/grpc-labview/releases/tag/v<IP_ADDRESS>


feat: fetch stx market data

Try out this version of the Hiro Wallet - download extension builds.

Had a quick look how we can add fiat values to the wallet.
This PR pulls data from the APIs of:

CoinGecko
Coincap
Binance

and calculates the mean average of which ever are availables. (Not so much to aggregate the price client-side, than to facilitate redundancy of either of the resources).
cc/ @markmhx @andresgalante @eugeniadigon Please share thoughts on how/when/if we can incorporate this

We have UI for showing fiat USD values here in Figma:

Notice how we show them in the top level for the STX amount in USD as well as inline below under balances for all assets. I imagine we may want to start by showing them just below balances since that's easier than having to redesign the entire app navigation to accommodate (since if we stop showing the user's name and address in that area, we'll need to show them at the very top vs in the current design:)

Note that we already have a separate issue here for updating the app nav, which we could also tackle jointly if we prefer to show fiat values in both places as part of the same release: https://github.com/hirosystems/stacks-wallet-web/issues/1947
Also note that we currently show microblock vs. anchor block balances when relevant using this real estate under balances for each asset. Presumably we'd have to hide the fiat value whenever an asset is affected by microblocks, so we can use that space to show one of the two balances as currently integrated.

Look forward to adding this eventually, but isn't a focus now.


Command args for login command

We used spacectl in short-lived development containers. This is way we have to execute spacectl profile login very often.
It would be great if we could supply the URL and authentication kind via command args. Its quite tedious to use the interactive interface to always type the URL and select the authentication method manually.
I imagine something like this:
spacectl profile login --url https://myaccount.app.spacelift.io --method browser

I am excited to contribute to this project, are there any issue which are a little beginner-friendly or any new feature implementation?

I am excited to contribute to this project, are there any issue which are a little beginner-friendly or any new feature implementation?

Hi! Sorry for the late reply, sadly contributing without having a spacelift account is not that simple as most features require at least a free version of spacelift while some require a paid one. Issues also aren't sorted and tagged or lack proper description for easy first time contributing.


fix: Update node-util and is-generator-function dependencies to eliminate security violation

Fixes #3889
Description
Security violations from package is-generator-function are fixed in version @1.0.10:  https://github.com/inspect-js/is-generator-function/commit/bce7ca64ae45c8453e6406abf480e55a90100aa0
Specific Changes
This change updates the versions of is-generator-function and node-util to include security fixes. It does not change the version of browserify.
Dependency graph before changes

After Changes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage remained the same at 84.564%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19671

Relevant Lines:
22037

💛  - Coveralls


Make return arity 1 only if function return type is not void

Fixes #82
Determine the arity of the return opcode from the return type instead of the presence of an expression next to it.
Fix the faulty baseline for spec/functions.txt

No longer needed by https://github.com/WebAssembly/design/pull/741


Add NUCLEO_G0B1RE and NUCLEO_H723ZG

Description
Adding 2 ST NUCLEO boards;
https://www.st.com/en/evaluation-tools/nucleo-g0b1re.html
https://www.st.com/en/evaluation-tools/nucleo-h723zg.html
Thx
Pull request type

[ ] Fix
[ ] Refactor
[x] Target update
[ ] Functionality change
[ ] Docs update
[ ] Test update
[ ] Breaking change

Reviewers

@MarceloSalazar

@Patater can you please review and merge?


Client tls proxy

Description
Changes proposed in this pull request.
Test plan
Outline the test plan used to test this change before merging it.

Fixes #.

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "02e7dcb86543de2fcc77f581ebd82d18e61db6a6"
  },
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "61cf6753fa149fc43c54529083046731a4738ace"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "7a9fb2235d0fc8335dbbae78815abc84160d3020"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "02e7dcb86543de2fcc77f581ebd82d18e61db6a6"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "7a9fb2235d0fc8335dbbae78815abc84160d3020"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "02e7dcb86543de2fcc77f581ebd82d18e61db6a6"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "7a9fb2235d0fc8335dbbae78815abc84160d3020"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "b30028f46e7091af05d168345c4d83ab9f7c9a5c"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "ce252c11fa4d3cd07a4356c6e759c6c90886621c"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "b30028f46e7091af05d168345c4d83ab9f7c9a5c"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "47b2528c63ec3cb668b9f9ab8ce93fa163f938a9"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "b30028f46e7091af05d168345c4d83ab9f7c9a5c"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "3a01ad115473b093bb2f25a80a3de8cbb5a64406"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "b30028f46e7091af05d168345c4d83ab9f7c9a5c"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "b30028f46e7091af05d168345c4d83ab9f7c9a5c"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "9c8c8aeede8195bdba56b620870a99dd8784b0dc"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "f515685cb54cfc71c02756e18fa4e4f7948a5f55"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "71d869652e57fa89c24126aa32b822a0b77886d2"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "785ac8b1eeab7ddb0974e333a6d870b6141ac67a"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "73b25792c00750315d8a51f1d98c1d5f98130ca7"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "29add17bb18a50e7b5615d383fa3d14bf7750d83"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "c5954cb19d64c0849651577307f3b2cd9559f0ff"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "8687a6221a69324c7661f191446e5c45909bfbce"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "c5954cb19d64c0849651577307f3b2cd9559f0ff"
  }
]

/build - automatically fired by gogo with following PRs and commit SHAs v1.0.0
[
  {
    "project": "AppProxy-client-config",
    "component": "trireme-lib",
    "pr-id": "920",
    "commit-sha": "a218f5e0ef549f1c1bd2c197dc5dad609c6e9973"
  },
  {
    "project": "AppProxy-client-config",
    "component": "enforcerd",
    "pr-id": "1502",
    "commit-sha": "c5954cb19d64c0849651577307f3b2cd9559f0ff"
  }
]


How to migrate data from old version?

For example, in the old version, you stored user accounts in an XML file. But in the current version, you stored them in JSON files. How can I manage to migrate the data easily?

Sorry but there is currently no tool available to convert old xml account database to json in current version yet.
You might want to do it manually or if you have a large dataset, write a little script that convert the xml file to json.


Cannot change carousel control colors in v4: New Simple Solution

In this #21985 issue, it is asked to change the arrows' color of carousel-control-prev and carousel-control-next. When I reading the issue, the following answer is recommended:
.carousel-control-next-icon {
    background-image : url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23ff0000' viewBox='0 0 8 8'%3E%3Cpath d='M1.5 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E")
    color: black;
}

I found that we can change the arrows color to any color with doing following steps:

inside the code above, find fill='%23ff0000;

add any hex color instead of  ff0000; (for example: fill='%2332a852, fill='%23d9b00b, etc.)

color:black; => this is unnecessary.

Yes, this is a potential solution, but not something we're addressing in v4. We're aiming to redo the controls in v5 with SVGs in the HTML instead of the CSS.


Update circe-core, circe-generic, ... to 0.14.3

Updates

io.circe:circe-core
io.circe:circe-generic
io.circe:circe-parser

from 0.14.1 to 0.14.3.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.circe" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "io.circe" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Superseded by #86.


start work on next gen global envs

The ideas are as follows:

we create a new "manifest" file that contains all the state for all the global environments
we add some new commands like pixi global sync
users can add multiple packages to global environemnts (aka inject)
users can selectively expose binaries
we map all the binaries in the file (the manifest file should be edited mostly from CLI)

Current WIP manifest file (in YAML, because we didn't yet figure out how to make it look nice in TOML):
envs:
  python:
    dependencies:
      python:
        spec: "3.11.*"
        expose_binaries:
          python: python
          python3: python3
          python3.8: python3.8
      pip:

Would you need to expose binaries per dependency? Other wise I could imagine the following toml format:
[environments.ENVNAME]
dependencies = { python = "3.8.1", pip = "1.2.3" }
expose = { python = "python", python3 = python3, "python3.8" = "python3.8", pip = "pip", pip3 = "pip3"}

equal to:
[environments.ENVNAME.dependencies]
python = "3.8.1"
pip = "1.2.3"
[environments.ENVNAME.expose]
python = "python"
python3 = python3
"python3.8" = "python3.8"
pip = "pip"
pip3 = "pip3"

I would agree the yaml looks more natural but this mix of config files feel kinda strange to me.

Closing as this was a prototype for the coming implementation follow milestone: https://github.com/prefix-dev/pixi/milestone/9


[chore] move some core nodes to their own packages

Move some core nodes

[x] sentiment -> node-red-nodes/multilang-sentiment - adds multilang support

[x] push node-red-nodes/multilang-sentiment to git
[x] publish node-red-nodes/multilang-sentiment to npm
[x] add new module to package.json
[x] add entry to @node-red/registry/lib/deprecated.js

[x] tail -> node-red-nodes/tail - new version that works with windows (not yet in repo)

[x] push node-red-nodes/tail to git
[x] publish node-red-nodes/tail to npm
[x] add new module to package.json
[x] add entry to @node-red/registry/lib/deprecated.js

[x] email -> version 1.x (already in node-red-nodes, but 1.x is node8+ only)

[x] update to package.json to pull in 1.x

[x] pi gpio -> node-red-nodes  - drop from core package.json - not everyone is running on a Pi :-)

[ ] push node-red-nodes/pi-gpio to git
[ ] publish node-red-nodes/pi-gpio to npm
[ ] update Pi install script to include
[x] add entry to @node-red/registry/lib/deprecated.js

[x] feedparser ->  drop from core nodes package.json ? just leave in node-red-nodes ?

[ ] remove from package.json
[x] add entry to @node-red/registry/lib/deprecated.js

Consider dropping some extra nodes from core

[x] possibly remove email node
[x] possibly remove twitter node

Have updated the description with a more details task list to help track where we are at.

need to revisit this for 1.0.0

See PR #2165
(just need to publish gpio to node-red-nodes)

All done I think...


[BUG] Active Directory sync uses cn instead of sAMAccountName

Describe the bug
If a new Active Directory user is created with a Firstname and Surname they can not be added to RES
Steps to reproduce
Steps to reproduce the behavior:

Create a new Active Directory user with a First name and Last name, User logon name and email
Wait for the RES AD hourly sync to run
Check the cluster-manager logs, they contain
[ERROR] [ad-sync] Error while adding user Firstname Surname to RES. Error: [INVALID_PARAMS] Invalid params: user.username must match regex: ^(?=.{3,20}$)(?![_.])(?!.*[_.]{2})[a-z0-9._]+(?<![_.])$

Expected behavior
User should be added to RES with a username taken from User logon name
Actual behavior
User is not added to RES due to the above error
Screenshots/Video

Environment (please complete the following information):

RES Version: 2024.01.01
Software Stack AMI ID: N/A
Software Stack OS: N/A

Additional context
It looks like RES uses the cn attribute as the username:
https://github.com/aws/res/blob/2024.01.01/source/idea/idea-cluster-manager/src/ideaclustermanager/app/adsync/adsync_service.py#L214
but in Active Directory this is Firstname Surname (if those fields are set), which is an invalid RES username, and also isn't guaranteed to be unique. sAMAccountName should be more suitable:
https://serverfault.com/questions/567776/which-field-to-use-when-authenticating-against-active-directory

The fix for this issue (Active Directory sync using sAMAccountName instead of cn) is currently in progress.


Socket recording with multiple connections across several sendall() has issues if there is a common initialization

This is a tricky scenario that happened in a corner case:

Recording socket activity for replay
Recording multiple connections in the same Unit Test
Each connection has multiple sendall() operations
The first sendall() data is identical across all the connections

This doesn't apply with HTTP because connections are mostly stateless, but can happen with other protocols (i.e. HTTP proxy)
Each connection is as follows:
Step #0 sendall(authentication_string): i.e. "AUTHENTICATE user:password"
Step #1 read(authentication_confirmation): i.e. "AUTHENTICATION OK"
Step #2 sendall(some command): i.e. "EXECUTE COMMAND x"
Different connections execute different commands (i.e. connection#1 sends "EXECUTE COMMAND x", connection#2 sends "EXECUTE COMMAND y"), but they require authentication to be performed in order to accept commands.
Problematic scenario pseudocode. At the beginning no data is present in the JSON files.
Mocket.enable('some_log_file','.')

s1 = socket() -> we get a MocketSocket
s1.connect(destination_ip, destination_port)
s1.sendall('AUTHENTICATE user:password') -> this gets sent through a true_socket() as there is no cache for this message
s1.read() -> 'AUTHENTICATION OK' -> data stored in JSON file
s1.write('EXECUTE COMMAND x') -> this gets send through a true_socket() as there is no cache for this message
s1.read() -> 'RESULT OF COMMAND x' -> data stored in JSON file
s1.close()

s2 = socket() -> we get a MocketSocket
s2.connect(destination_ip, destination_port) -> connect to the same IP and port as before
s2.sendall('AUTHENTICATE user:password') -> This is never sent to a true_socket, as the request is identical to the one performed with s1, so the Entry is present in the JSON file and a mocked response is provided
s2.read() -> 'AUTHENTICATION OK' -> from the JSON file
s2.write('EXECUTE COMMAND y') -> this gets send through a true_socket() as there is no cache for this message
s2.read() -> 'ERROR: UNAUTHENTICATED' -> we get an error from the server because the authentication message for this connection has never been sent!
s2.close()

This is not really a bug: mocket is behaving as expected. However, how can you test this scenario?
In my case I worked around it adding some entropy in the authentication message to make it different every time, but it's not always possible or easy to achieve.
A possible solution could be provide an option to tell mocket that is working in "Record only" mode, so that cached data is ignored.
Thanks!

Why are you sharing the mocket session?

Why are you sharing the mocket session?

I guess you could do something like:
with Mocketizer(truesocket_recording_dir="socket1.json"):
    s1.whatever()
    ...

with Mocketizer(truesocket_recording_dir="socket2.json"):
    s2.whatever()
    ...

I guess you could do something like:
with Mocketizer(truesocket_recording_dir="socket1.json"):
    s1.whatever()
    ...

with Mocketizer(truesocket_recording_dir="socket2.json"):
    s2.whatever()
    ...

Because all the connections happen serially
i.e. my pseudocode is:
def scan():
  result1 = do_something(command_x)
  result2 = do_something(command_y)
  final_result = compute_final_result(result1, result2)
  return final_result

And in the UT I do:
Mocket.Enter('results','.')
result = scan()
assert result == expected_result

Because all the connections happen serially
i.e. my pseudocode is:
def scan():
  result1 = do_something(command_x)
  result2 = do_something(command_y)
  final_result = compute_final_result(result1, result2)
  return final_result

And in the UT I do:
Mocket.Enter('results','.')
result = scan()
assert result == expected_result

Yes, that could work. My scenario is more complicated so I solved it in a different way. As mentioned it is not a bug and with proper usage of the library it's possible to achieve the result.
The problem was mainly troubleshooting to understand the behavior, it's probably something to mention in the documentation or maybe (feature request) adding some additional logging capabilities for debugging purposes.
Thanks for the feedback!

Yes, that could work. My scenario is more complicated so I solved it in a different way. As mentioned it is not a bug and with proper usage of the library it's possible to achieve the result.
The problem was mainly troubleshooting to understand the behavior, it's probably something to mention in the documentation or maybe (feature request) adding some additional logging capabilities for debugging purposes.
Thanks for the feedback!

Regarding logs, I tried many times to approach the subject but still did not find a good way to do it. Feel free to propose a solution, if you have something in mind.

Regarding logs, I tried many times to approach the subject but still did not find a good way to do it. Feel free to propose a solution, if you have something in mind.


Where is the code of "TensorNetwork for Machine Learning" for MNIST/FASHION MNIST?

Hi,
I could not find the code of "TensorNetwork for Machine Learning" for MNIST/FASHION MNIST as example for Machine Learning. May I know where I can find the code in as the paper shows?
Thanks!

Thanks for asking! We have removed the code in release 0.1.1. If you download release 0.1.0 you can find it in experiments/MPS_classifier.

Thanks for asking! We have removed the code in release 0.1.1. If you download release 0.1.0 you can find it in experiments/MPS_classifier.

Thank you for your quick reply, Martin!
One more question, I could not find any performance results (throughput, e.g., images per second) of employing TensorNetwork (TN) on ML with MNIST in neither the paper or online resources. Did you compare the performance difference between TN on ML and mainstreaming ML framework (e.g., TensorFlow) for image classification with CNN on MNIST/FASHION MNIST? If so, what is the performance difference (e.g., 500 images/second on V100 NVIDIA GPU) of training/inference to achieve the top-1 accuracy (e.g., 99%)?
I would appreciate if you have any performance evaluation results of employ TN on ML with MNIST.
Thanks!

Unfortunately I don't know if there are such results. Maybe @stavros11  can help, he was the main contributor to this project.

Thank you for asking (and thanks to Martin for mentioning me).
As Martin said the code was removed from this repository in a previous release, however it is still available in a seperate repository. As noted in the README, there were breaking changes in TensorNetwork after we did this project and therefore the code will most likely not work with the latest version of TensorNetwork.
Regarding performance, all the results in the paper were about the Matrix Product State (MPS) classifier implemented in TensorNetwork and there was no comparison with other machine learning methods, such as CNNs. From my small experience, neural networks can obtain the same and better accuracies faster than this MPS method. This should be expected as NNs are the standard approach in machine learning. However exact performance also depends on the implementation. For example, the simplest way to train the MPS classifier is with "brute force" gradient descent using the automatic differentation provided out-of-the-box by all machine learning libraries. This was the method used in our paper. In the original work by Stoudenmire and Schwab they used a physics-inspired sweeping method which may be faster if implemented properly.
For the sake of giving some numbers, I wrote a quick Tensorflow/Keras implementation of the MPS classifier (in the same spirit used in our paper) and a CNN from a Keras tutorial. You can check the code in the Colab if you like. Without any parameter tuning, both models got to ~95% test accuracy on MNIST with the CNN training at 15ms / step, and the MPS at 45ms / step (1 step = batch of 128 images). I used Colab's free GPU as I do not have access to any other GPU service. Note that this is just a quick implementation and is not very well documented (sorry!).

Thanks Stavros! I'll leave this issue open since we've been asked about this before.

Hi Stavros,
Thank you so much for your detailed reply! It's very helpful!
And thanks to Martin to invite Stavros to answer this question.
Thanks!

Let's keep it open for others with the same question.

Great to see this issue, I was about to add a new one with the same question.
With that in mind, you mention that this hasn't been updated for the latest version of TensorNetwork.
Are you planning to update it? - If you want me to update it, can you give a checklist of what would be necessary?
Thanks

@Thenerdstation @stavros11 @mganahl @sleichen Hi and HNY 🥳 Thanks for working on this awesome library and keeping the basic classifier example in https://github.com/Thenerdstation/TensorNetsForML and in the Colab. Can you help find some ML examples in JAX with TN? I think @Thenerdstation mentioned at NeurIPS 2019 and the X/TN meetup (November 2019?) that you've used TF and JAX. I understand that you could write a custom TNLayer class with a backend=jax in JAX/Flax and replace one of the Dense layers with the most params, for example, but I wanted to see some examples. Thank you!

@Thenerdstation @stavros11 @mganahl @sleichen Hi and HNY 🥳 Thanks for working on this awesome library and keeping the basic classifier example in https://github.com/Thenerdstation/TensorNetsForML and in the Colab. Can you help find some ML examples in JAX with TN? I think @Thenerdstation mentioned at NeurIPS 2019 and the X/TN meetup (November 2019?) that you've used TF and JAX. I understand that you could write a custom TNLayer class with a backend=jax in JAX/Flax and replace one of the Dense layers with the most params, for example, but I wanted to see some examples. Thank you!

I also keep part of the codes here: https://github.com/cnmozzie/MPS_classifier (made some changes so that it can be compitable with tf2)


Different responseStrategy per regex

Is it possible to have different response strategies per regex?
Like i want my assets to be cache-first.
But for calls to the api needs to be up to date so for them i would like network-first.

No, not yet. You can implement API caching manually outside of the plugin and use cache-first in the plugin for assets.

@NekR how

No, not yet. You can implement API caching manually outside of the plugin and use cache-first in the plugin for assets.

@NekR how do you achieve this?


Http/Header/Cookie Uncaught exception

This issue has been moved from the zendframework repository as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html

Original Issue: https://api.github.com/repos/zendframework/zendframework/issues/7197
User: @Moring
Created On: 2015-02-09T22:51:11Z
Updated At: 2016-03-24T06:58:00Z
Body
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'urlencode() expects parameter 1 to be string, array given' in /home/www/vendor/zendframework/zendframework/library/Zend/Http/Header/Cookie.php:93
referer: http://search.daum.net/
Perhaps add check to $value or graceful catch?

Comment
User: @jaapio
Created On: 2015-02-10T19:15:15Z
Updated At: 2015-02-10T19:15:15Z
Body
I agree with you that this could be nicer, but I'm not sure if you should set any thing else then a scalar value in a Cookie Header. If I understand the rfc about cookies correctly you should use the set-cookie header for this purpose.

Comment
User: @Moring
Created On: 2015-02-10T20:18:59Z
Updated At: 2015-02-10T20:18:59Z
Body
The issue is that the query, when sent to a ZF2 application, triggers an unhandled fatal error.  To me, this can easily become (or is) a penetration test.  It should be handled more gracefully than a fatal error.

PHP Error: 1: urlencode() expects parameter 1 to be string, array given. File: ...../vendor/zendframework/zend-http/src/Header/Cookie.php, in 101 line.

open #92 to solve this problem

@GeeH I have solved this issue with PR #92 please review it. thx

@tflori I commented about #92, waiting your reply. Thanks!

Was this issue fixed by the PR?

@icanhazstring can you check if #92 solves this issue?

Have not seen this error in the last month of logs, we end to end latest ZF3, so for us, it is fixed.

thanks


Automatically mark path params as required.

Some users wanted path params to be required no matter whether manually specified as such or not.

Codecov Report

Merging #86 into master will increase coverage by 0.01%.
The diff coverage is 88.23%.

@@            Coverage Diff             @@
##           master      #86      +/-   ##
==========================================
+ Coverage   84.22%   84.24%   +0.01%
==========================================
  Files          40       40
  Lines        5618     5635      +17
==========================================
+ Hits         4732     4747      +15
- Misses        886      888       +2

Impacted Files
Coverage Δ

endpoints/openapi_generator.py
85.4% <100%> (+0.04%)
:arrow_up:

endpoints/test/openapi_generator_test.py
88.5% <87.5%> (-0.09%)
:arrow_down:

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 9f6221b...6242e16. Read the comment docs.


Add default values for GameInfo in python through the binding.

This enables defining a python non constant-sum-utility games without defining utility_sum.

I added a commit to only change utility_sum default value

I added a commit to only change utility_sum default value

Thanks. Importing this now.


how to block "q"

how to block the funcion of change color at press q and change the block of split and eject mass of myself at press 'q'

@RelTakeover see my last comment on #59

i want block the FUNCTION of ''q'" not only the change of the color

@RelTakeover Replace you PacketHandler.js with this one: http://pastebin.com/rRgL2wxv


FAQ collapse

HTML, CSS and JavaScript
Simple Faq collapse page that can be use in any website
Additional context (optional )
PR for HacktoberFest 2022

I have changed the project, can I pull this one?


how to fetch download url via proxy, then download files without proxy?

As the title says, I can't visit some video site directly, but if I visit it via proxy in firefox, then I can get the video file's url via Video DownloadHelper addon. Then the video file's url can be used by download application( for example, Internet Download Manager) without proxy
My proxy is not so fast and has bandwidth limitation, so my question is can we fetch download url via proxy, then download files without proxy?
thanks

By using --geo-verification-proxy. Of course particular extractor must support this.


Add namespace

Fixes #108
Please note that I forked in the past a fork. Therefore the change is a bit bigger. However I see no problem when those changes go online too.
For others who might want to test it:
dependencies:
  // other dependencies
  flutter_libserialport: #^0.5.0
    # remove this git part when 0.5.0 is published
    git:
      url: https://github.com/snabble/flutter_libserialport.git
      ref: 0.5.0

Why is this still not merged?

@jpnurmi can this be merged and a new version released? This blocks me from updating my app.

This is holding up the show, please merge.


Cursor timeout

I'm trying to change the timeout at the cursor returned in collection but without success.
$collection->find()->timeout(-1);

Thanks!

You can define client and server timeouts in mapping:
https://github.com/sokil/php-mongo#collection-definition-options

Also you can set timeouts directly to cursor:
https://github.com/sokil/php-mongo#query-timeouts


Bug in Json parser

Lean.Json.parse can't parse \u-escaped caharacters correctly. For example, \u79d1 is "科", but Lean.Json.parse "\"\\u79d1\"" is "礱", which is \u7931. The bug seems to be caused here:
https://github.com/leanprover/lean4/blob/a2f59591189824f30a7a512d6a72d24df3a7bfc7/src/Lean/Data/Json/Parser.lean#L14-L24
And this should fix it:
 @[inline]
 def hexChar : Parsec Nat := do
   let c ← anyChar
   if '0' ≤ c ∧ c ≤ '9' then
     pure $ c.val.toNat - '0'.val.toNat
   else if 'a' ≤ c ∧ c ≤ 'f' then
     pure $ c.val.toNat - 'a'.val.toNat + 10
   else if 'A' ≤ c ∧ c ≤ 'F' then
     pure $ c.val.toNat - 'A'.val.toNat + 10
   else
     fail "invalid hex character"

Fixed by d19033e44326ce9323f4c0e80f030f3051ba4c26


Add Sha2 functions

We take the fastest time measurement taken across multiple runs. Tested
across multiple compiler flags and the best chosen.
Cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Gcc: 7.2.1 20171224
Clang: 5.0.1
Zig: <IP_ADDRESS>4f6f1d

See https://www.nayuki.io/page/fast-sha2-hashes-in-x86-assembly.
Gcc -O2
    219 Mb/s
Clang -O2
    213 Mb/s
Zig --release-fast
    284 Mb/s
Zig --release-safe
    211 Mb/s
Zig
    6 Mb/s

Gcc -O2
    350 Mb/s
Clang -O2
    354 Mb/s
Zig --release-fast
    426 Mb/s
Zig --release-safe
    300 Mb/s
Zig
    11 Mb/s

release-safe is a bit slower here. Haven't delved into the assembly to see why yet.

@tiehuis
I'm trying to reproduce your findings here. I see that the nayuki page has a test harness for the C implementations. What did you do to come up with the zig numbers?

Ah, I found std/crypto/throughput_test.zig

I looked into this a little bit, and I noticed that the throughput test in zig was getting LTO while the C bench had to make function calls across .o files. So I copied the sha256.c function into the test .c file and made all the functions static. This actually did not change the timings. I found that your zig implementation of sha256 generates 14% faster machine code.

Your zig sha256 implementation is faster than the hand rolled assembly from the nayuki page.

nayuki hand rolled x86_64 assembly sha256: 192.6 MB/s
zig stdlib sha256 throughput test: 204 MB/s

The initial tests here I actually exported the zig functions with c bindings so the call overhead was the same.

I  think I know what's going on. If you look at https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/sha-256-implementations-paper.pdf there's a section called "Optimizations with rorx". I believe that LLVM is able to come up with these optimizations with the zig implementation, but it somehow does not discover them with the clang implementation.


Update SECURITY.md

Similar to #12316 we should update SECURITY.md by replacing David's email and pgp key.

Yes, I think it should be @lontivero and @turbolay.

duplicate https://github.com/WalletWasabi/WalletWasabi/issues/13182


k4a_image_t to cv::Mat transform

I'm a newbie for Kinect for Azure. I think Kinect for Azure is great product. I think the class of  k4a_image_t is similar to cv::Mat in opencv. For many application for computer vision is coded with cv::mat of opencv. Could you add a transform function of change k4a_image_t to cv::Mat of opencv? I think this will give helps to persons who are familiar with opencv. And Let us easily change many application which are coded with cv::Mat of opencv  with Kinect for Azure sensor.

First, get the image buffer from the capture. Then,
For depth, cv::Mat mat = cv::Mat(height, width, CV_16UC1, depth_buffer, AUTO_SETP).clone();
For color, cv::Mat mat = cv::Mat(height, width, CV_8UC4, color_buffer, AUTO_SETP).clone();
Remeber to use clone() or copyTo() to get the copy of the buffer data.

Thank you very much
在 2019-07-29 16:25:34，fanyx<EMAIL_ADDRESS>写道：
First, get the image buffer from the capture. Then,
For depth, cv::Mat mat = cv::Mat(height, width, CV_16UC1, depth_buffer, AUTO_SETP).clone();
For color, cv::Mat mat = cv::Mat(height, width, CV_8UC4, color_buffer, AUTO_SETP).clone();
Remeber to use clone() or copyTo() to get the copy of the buffer data.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@YuXinFan Thank you for the comment.
@nonlinear1 Thanks for the feedback, yes, I also uses opencv a lot and indeed such helper function can be really helpful. However, to keep the SDK interface clean and not introduce extra dependencies, we provide the raw buffer of the images. User has the freedom to convert the buffer to any format they like. Other than the helper that @YuXinFan kindly provided, you can also take a look this sample:
https://github.com/microsoft/Azure-Kinect-Samples/blob/master/opencv-kinfu-samples/main.cpp, and this helper also can make your ask work
'''
template Mat create_mat_from_buffer(T *data, int width, int height, int channels = 1)
{
Mat mat(height, width, CV_MAKETYPE(DataType::type, channels));
memcpy(mat.data, data, width * height * channels * sizeof(T));
return mat;
}
'''

@nonlinear1 Let us know if you have any more questions, or we can close this issue :)

Thank you very much. I think I totally understand this issue and you can close this issue


Frequent unit test failure on CI

--- FAIL: TestHTTPServer_GetContent (10.00s)
    http.go:346: Not expected request:
    http.go:348: 	Method: `GET`
    http.go:349: 	URL: `http://localhost:8082/content`
    http.go:350: 	Header: `{}`
    http.go:361: there were some unexpected requests
    timeout.go:39: test ran out of time
{"level":"error","error":"Get http://localhost:8082/content: dial tcp <IP_ADDRESS>:8082: connect: connection refused","time":"2020-10-07T06:35:54Z","message":"Error during retrieve of http://localhost:8082/content"}
{"level":"error","error":"Get http://localhost:8082/content: dial tcp <IP_ADDRESS>:8082: connect: connection refused","time":"2020-10-07T06:35:54Z","message":"Error retrieving static content"}
--- FAIL: TestHTTPServer_OverviewEndpoint (10.00s)
    http.go:346: Not expected request:
    http.go:348: 	Method: `GET`
    http.go:349: 	URL: `http://localhost:8082/content`
    http.go:350: 	Header: `{}`
    http.go:361: there were some unexpected requests
    timeout.go:39: test ran out of time

Does it happen time to time? The output looks like it should reproduce each time, strange..

Does it happen time to time? The output looks like it should reproduce each time, strange..

from time to time, but with high frequency (2/3 possibility to fail in my case)

Very quick and dirty "fix" https://github.com/RedHatInsights/insights-results-smart-proxy/pull/480


Aerogear 8146

Adding noSquash feature as per: https://issues.jboss.org/browse/AEROGEAR-8146
NOTE: The ticket specifies an isSquashable directive as opposed to noSquash which is what I have implemented. I feel this makes more sense as the majority of mutations will be squashable so it is opt out of squashing as opposed to opt in.
To try this out add @noSquash to your query and ensure directive @noSquash on FIELD is present in your typeDefs.
If you want, those changes are already on the branch here

@wtrocki @danielpassos any idea what is wrong with the build? Doesn't look like its related to my changes and I can build locally no problem.
It is complaining about:
The inferred type of \'conflictLink\' cannot be named without a reference to \'apollo-link-http-common/node_modules/apollo-link\'. This is likely not portable. A type annotation is necessary.

@StephenCoady We need to create issue for the server (no assigned to any epic) that this no squash Directive should be added.  We need to have that capacity.


Custom editor script for SingularityManager for info/warning labels and GUI images

I'm also having this issue, the error thrown is saying there's missing scripts for the BluetoothUI prefab. Also has anyone been able to get this working on a quest 3?


Fix ROEngines historical licenses

See KSP-RO/ROEngines#140, this mod always included ND content from @raidernick and should have had the CC-BY-NC-ND license all along.

The validation error was a rare download problem, everything actually looks fine.


Grid Search docs error

quotation/tick marks are needed around learning_rate (and I assume any other parameter to be tested). The example in the docs throws an error due to learning_rate not being enclosed by quotation marks.
gs = GridSearchCV(nn, param_grid={
    learning_rate: [0.05, 0.01, 0.005, 0.001],
    'hidden0__units': [4, 8, 12],
    'hidden0__type': ["Rectifier", "Sigmoid", "Tanh"]})
gs.fit(a_in, a_out)

pull req submitted - https://github.com/aigamedev/scikit-neuralnetwork/pull/76

Closed by #79.


Status_master expected to be numeric by Home Assistant

Not sure if this is correct repo for this issue, please let me know if not.
I have got my OTGW hooked up to Home Assistant via MQTT, everything seems to be working fine, except for the Home Assistant shows errors in the logs.
My take on this is that thius is because in thge mqtt payload the status_master has a
"unit_of_measurement": ""
and HA then requires it to be numeric, while the data is not
Error in HA log
2023-11-30 21:12:29.578 ERROR (MainThread) [homeassistant.components.mqtt.models] Exception raised when updating state of sensor.opentherm_gateway_otgw_otgw_status_master, topic: 'OTGW/value/otgw-C82B96202DA8/status_master' with payload: b'C----W--'
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 588, in state
    numerical_value = int(value)
                      ^^^^^^^^^^
ValueError: invalid literal for int() with base 10: **'C----W--'**

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 591, in state
    numerical_value = float(value)
                      ^^^^^^^^^^^^
ValueError: could not convert string to float: 'C----W--'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/mqtt/models.py", line 305, in process_write_state_requests
    entity.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 779, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 879, in _async_write_ha_state
    state, attr = self._async_generate_attributes()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 820, in _async_generate_attributes
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 785, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 595, in state
    raise ValueError(
ValueError: Sensor sensor.opentherm_gateway_otgw_otgw_status_master has device class 'None', state class 'None' unit '' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'C----W--' (<class 'str'>)

mqtt payload homeassistant/sensor/otgw-C82B96202DA8/status_master/config
{
  "avty_t": "OTGW/value/otgw-C82B96202DA8",
  "dev": {
    "identifiers": "otgw-C82B96202DA8",
    "manufacturer": "Schelte Bron",
    "model": "otgw-nodo",
    "name": "OpenTherm Gateway (OTGW)",
    "sw_version": "0.10.2+50c3ed2 (14-03-2023)"
  },
  "uniq_id": "otgw-C82B96202DA8-status_master",
  "name": "OTGW_Status_Master",
  "stat_t": "OTGW/value/otgw-C82B96202DA8/status_master",
  **"unit_of_measurement": "",**
  "value_template": "{{ value }}"
}

It seems like this is a duplictae of #217 which is fixed. Do I need to build the new binary miself or is it available for download aomewhere? (Nodo Shop seems to have an old version online for download)

Hi @FrankBakkerNl
Sorry for the delay, there is a beta/release candidate. I can share it with you to test.
The fix is also just uploading a single file mqttha.cfg
Btw it's a warning in HA log. It doesn't break the integration.
Let me know if you want to test the next binary release?
Robert
Ps. Sorry for the late response.

Yea sure I'll test the binary

@FrankBakkerNl sorry, I never pointed you to the binary, here you go: https://github.com/rvdbreemen/OTGW-firmware/actions/runs/8545594129/artifacts/1382759830

Tnx, I found the config file here and updated that manually, that also did the trick. Works great btw, tnx for the awesome work


EventHandlers on elements are owned by parent, causing long-running memory usage

Problem
In https://github.com/DioxusLabs/dioxus/discussions/2195 we received a report that global signals might be causing large memory usage. This shouldn't be the case but it's worth investigating and writing tests just in case.
Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

Small repro:
#![allow(non_snake_case)]
use dioxus::prelude::*;
use dioxus::prelude::dioxus_core::NoOpMutations;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    fn app() -> Element {
        let mut count = use_signal(|| 0);

        use_hook(|| spawn(async move {
            loop {
                tokio::time::sleep(std::time::Duration::from_millis(2)).await;
                let val = *count.peek_unchecked();
                if val == 50 {
                    count.set(0);
                } else {
                    count.set(val + 1);
                }
            }
        }));

        rsx! {
            div {
                color: "red",
                for el in 0..*count.read() {
                    rect {
                        key: "{el}",
                        onclick: move |_| { },
                        label {
                            "{el}"
                        }
                    }
                }
            }
        }
    }

    // create the vdom, the real_dom, and the binding layer between them
    let mut vdom = VirtualDom::new(app);

    vdom.rebuild(&mut NoOpMutations);

    // we need to run the vdom in a async runtime
    tokio::runtime::Builder::new_current_thread()
        .enable_all()
        .build()?
        .block_on(async {
            loop {
                // wait for the vdom to update
                vdom.wait_for_work().await;

                // get the mutations from the vdom
                 vdom.render_immediate(&mut NoOpMutations);
            }
        })
}

Although the leaking is now much smaller, it still seems to leak.
New repro:
#![allow(non_snake_case)]
use dioxus::prelude::*;
use dioxus::prelude::dioxus_core::NoOpMutations;

fn main() -> Result<(), Box<dyn std::error::Error>> {
    fn app() -> Element {
        let mut count = use_signal(|| 0);

        use_hook(|| spawn(async move {
            loop {
                tokio::time::sleep(std::time::Duration::from_micros(50)).await;
                let val = *count.peek_unchecked();
                if val == 500 {
                    count.set(0);
                } else {
                    count.set(val + 1);
                }
            }
        }));

        rsx! {
            div {
                color: "red",
                for el in 0..*count.read() {
                    rect {
                        key: "{el}",
                        onclick: move |_| { },
                        label {
                            "{el}"
                        }
                    }
                }
            }
        }
    }

    // create the vdom, the real_dom, and the binding layer between them
    let mut vdom = VirtualDom::new(app);

    vdom.rebuild(&mut NoOpMutations);

    // we need to run the vdom in a async runtime
    tokio::runtime::Builder::new_current_thread()
        .enable_all()
        .build()?
        .block_on(async {
            loop {
                // wait for the vdom to update
                vdom.wait_for_work().await;

                // get the mutations from the vdom
                 vdom.render_immediate(&mut NoOpMutations);
            }
        })
}


Disable the "Back to top" button in the documentation

Closes #12685

The docs build is failing. It would be good to see how the docs look like without that button though.

It would be good to see how the docs look like without that button though.

The rendered docs are still available:
https://output.circle-artifacts.com/output/job/6b6ff620-ee6c-4671-ab7b-0f559f6dfecc/artifacts/0/html/index.html
When the build finishes with a Sphinx error the docs are usually still produced. (If it errors out before Sphinx gets started on the other hand, like during a download step, there are no artifacts to expose.)

Thanks @hoechenberger!


Jackson serialization error on Localdate

Hello,
I am facing serialization while using LocalDate in my POJO.
I realized I need to configure custom mapper. The problem is that I don't user spring web and the Jackson2ObjectMapperBuilder class can be found there.
 com.fasterxml.jackson.databind.JsonMappingException: No suitable constructor found for type [simple type, class java.time.LocalDate]: can not instantiate from JSON object (missing default constructor or creator, or perhaps need to add/enable type information?)
 at [Source: N/A; line: -1, column: -1] (through reference chain: com.hakilikoura.neerem.rdv.RendezVous["dateCreation"])

the text obove is the issue I am facing.
Could I have some help to solve my problem?
Thanks

What you have to do is to configure JacksonMapper instance as follows:
JacksonMapper mapper = new JacksonMapper();
mapper.getObjectMapper().configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, false);

Nitrite db = Nitrite.builder()
                .filePath(filePath)
                .nitriteMapper(mapper)
                .openOrCreate();

NOTE: I have not tested the above code, so you might need to modify a bit depending on any issues, but this is the general idea.

Thanks for your help 👍
I got it work with the following configuration :
        public static final DateTimeFormatter FORMATTER = DateTimeFormatter.ofPattern("dd::MM::yyyy");

        @Bean
	public Nitrite getDatabase(){

	        JavaTimeModule javaTimeModule = new JavaTimeModule();
	        javaTimeModule.addSerializer(LocalDate.class, new LocalDateSerializer());
	        javaTimeModule.addDeserializer(LocalDate.class, new LocalDateDeserializer());
		JacksonMapper nitriteMapper = new JacksonMapper();
		nitriteMapper.getObjectMapper().registerModule(javaTimeModule);
		return Nitrite.builder()
		        .filePath(databasePath)
		        .nitriteMapper(nitriteMapper)
		        .openOrCreate();
	}

       public class LocalDateSerializer extends JsonSerializer<LocalDate> {
	    @Override
	    public void serialize(LocalDate value, JsonGenerator gen, SerializerProvider serializers) throws IOException {
	        gen.writeString(value.format(FORMATTER));
	    }
	}
	public class LocalDateDeserializer extends JsonDeserializer<LocalDate> {
	    @Override
	    public LocalDate deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
	        return LocalDate.parse(p.getValueAsString(), FORMATTER);
	    }
	}

                <dependency>
			<groupId>com.fasterxml.jackson.datatype</groupId>
			<artifactId>jackson-datatype-jsr310</artifactId>
		</dependency>


Add several options

Update extension categories.
Add option to show diff directly in output panel.
Add option to ignore leading and trailing spaces when compare results (#8).
Add option to continue testing after failed on a testcase.
Add option to show stderr when failed.

Great update, great options!
Thank you for your contributions!


Flexbox grid support

Currently Col component does not support flexbox as there is no way to define a  without it having the column number.
http://v4-alpha.getbootstrap.com/layout/flexbox-grid/
Unlike the default grid system where a grid column starts as full-width in the xs tier, flexbox requires a .col-{breakpoint} class for each tier.
Flexbox would require to have the possibility of defining <div class="col-xs"> but currently the  element will add col-xs-12 by default.

Thanks for filing the issue! I could imagine leveraging the size props, and adding a boolean option that would only output the col-${size} class. It would look like this:
<Row>
  <Col xs>col-xs</Col>
  <Col xs="6">col-xs-6</Col>
  <Col xs>col-xs</Col>
</Row>

Are the push/pull/offset classes supported in flexbox grid? If so, maybe flex is a prop or the size props accept flex or auto as a way to output the auto layout class.
<Row>
  <Col xs="flex">col-xs</Col>
  <Col xs="6">col-xs-6</Col>
  <Col xs={{offset: 1, size: 'flex'}}>col-xs</Col>
</Row>

<Row>
  <Col xs="auto">col-xs</Col>
  <Col xs="6">col-xs-6</Col>
  <Col xs={{offset: 1, size: 'auto'}}>col-xs</Col>
</Row>

[x] Add flexbox auto size ability to Col component (PR #175)
[ ] Add flexbox alignment support to Col & Row component
[ ] Use a Bootstrap release with flexbox enabled for Docs

Hey guys!
I'm almost done with the last task for full flexbox support: Support flex alignment classes of Bootstrap.
I'd like to ask you for feedback regarding naming and types for the necessary properties:
Context: http://v4-alpha.getbootstrap.com/layout/flexbox-grid/
My current implementation looks like:
<Col first="xs" first={['xs', 'sm']} first={{ xs: true, sm: true, /* ... */ }} first />
Where a boolean first could may resolve to ['xs', 'sm', 'md', 'lg', 'xl'] and/or accept "all"?
What do you think about it? And also, do you think the props should be prefixed, like order-first. Or is it better to just have one prop order which expects first, last and unordered as attributes?
<Col order={ first: ['xs'], last: ['xs', 'sm'], unordered: ['lg', 'xl'] } />
Or maybe both???
For <Row /> the same question arrises for horizontal & vertical alignment.
<Row top middle bottom left center right around between />
and/ or (?)
<Row alignVertical={{...}} alignHorizontal={{...}} />
or even (?)
<Row alignment={ vertical: { middle: ['xs', 'sm'] }, horizontal: ... } />
Looking forward to your feedback!

My personal preference right now would be single props accepting string or array of string, and bool / 'all' for all sizes.

@ronnyhaase first, thanks for all, i really appreciate it.
You finally decided how to do the vertical alignment?

@ronnyhaase thanks again for your patience and hard work on these components. Following up on our chat, here's the suggestion I mentioned for Col & Row.
<Col xs xsFirst xsLast xsUnordered></Col>

and
<Row xs xsLeft xsTop></Row>

It adds more props but I think it simplifies the usage.

bootstrap 4 has switched to flexbox. #267 updates Col component to support new classes. Also, as a result of the flexbox switch, there were new flexbox utility classes added to bootstrap. Instead of making these props available on the components that could potentially use it, I think the simple solution is to let users add those classes manually, ex: className="justify-content-between".
I'm going to close this out as I think the v4 alpha branch of reactstrap should satisfy the flexbox needs.