Advanced Option not applied as expected

Expected behavior
running container advanced options should be applied automatically
Actual behavior
after running docker, ie...
docker run --rm -t -i --name kb -v $(pwd)/kb:/kb -p 8080:8080 sgentile/kb:latest /bin/bash
When I refresh Kitematic it shows my docker container running, when I goto 'advanced' it show 'Allocate a TTY for this container' and 'Keep STDIN open even if not attached' as checked, but I have to press 'Save' in order for it to apply
Information about the Issue
Steps to reproduce the behavior

...
...

You are passing them in the command line:  -t -i no need to click 'save' again. If the option is checked, it means it's enable for the container.

If I don't click 'save' it doesn't work - that is the issue I'm having.
That even though it's checked, it doesn't get until I hit save.
On Tue, Sep 13, 2016 at 4:22 PM, French Ben<EMAIL_ADDRESS>wrote:

You are passing them in the command line: -t -i no need to click 'save'
again. If the option is checked, it means it's enable for the container.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/kitematic/issues/1987#issuecomment-246811145,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIFNJT7iVhd8Gvlux2gLgPb1DVr4Dyoks5qpwXugaJpZM4J78nk
.

I'm not sure I understand - You're passing the -it flags to the container creation directly. How can it not work? What do you observe doesn't work when you don't click save?

It shows green like it's running but the console area and mapped drives
don't show up.  If I hit the url it exposes it doesn't work.  Once I hit
save it looks like it actually starts running - I can send screenshots if
that helps
On Tuesday, September 13, 2016, French Ben<EMAIL_ADDRESS>wrote:

I'm not sure I understand - You're passing the -it flags to the container
creation directly. How can it not work? What do you observe doesn't work
when you don't click save?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/kitematic/issues/1987#issuecomment-246832717,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIFNDB9szXJ6bZJ4N8KKOyM4ew-akCmks5qpxc_gaJpZM4J78nk
.

please do - unfortunately the image you're using is private, which makes it difficult to replicate.
Can you show the same with something like alpine:latest ?

Screenshots show that although it says it's running, it doesn't actually
run until I click 'save' on options.
On Tue, Sep 13, 2016 at 6:24 PM, French Ben<EMAIL_ADDRESS>wrote:

please do - unfortunately the image you're using is private, which makes
it difficult to replicate.
Can you show the same with something like alpine:latest ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/docker/kitematic/issues/1987#issuecomment-246845023,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIFNFOXKEH1QYsogAsXhYBXUI4b8_jEks5qpyKBgaJpZM4J78nk
.

Can you share the screenshots?

my apologies, I uploaded and share them here:
https://drive.google.com/drive/folders/0BxsqBrmXThvaWEREenJsb3NieW8?usp=sharing

What you're seeing is actually a different bug.
When you hit 'save' we actually re-create your container with all of the new settings. In this case we didn't copy the existing run CMD that you provided /bin/bash and instead run the default CMD which seems to be tomcat for your image.
The container is running, but the only thing that it's running is a bash shell. If you type stuff in after your docker run ... command, you'll see that show up in the log window of Kitematic.

ok, I took that off and it worked as expected - thanks for following up and working with me on this


chore: release main

:robot: I have created a release beep boop
dev-dependencies-client: 4.1.16
4.1.16 (2024-03-16)
Bug Fixes

client: bump dependencies to latest (94c521e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/aversini/dev-dependencies/releases/tag/dev-dependencies-client-v4.1.16 :sunflower:


3D simulation not working: Warp CUDA error 209: no kernel image is available for execution on the device

i tried running Garment code in my local and its working. But the issue is 3D draping is not working. I tried with the default settings. Yet same issue shown in the above image. I tried i your hosted version too. There also i get the same error.
Here is the log i get :
"D:\garment_code\NvidiaWarp-GarmentCode\warp\context.py:1897: UserWarning: Support for stream ordered memory allocators was not detected on device 0. This can prevent the use of graphs and/or result in poor performance. Is the UVM driver enabled?
warp.utils.warn(
Warp 1.0.0-beta.6 initialized:
CUDA Toolkit: 12.5, Driver: 12.5
Devices:
"cpu"    | Intel64 Family 6 Model 142 Stepping 12, GenuineIntel
"cuda:0" | NVIDIA GeForce MX130 (sm_50)
Kernel cache: C:\Users\AppData\Local\NVIDIA Corporation\warp\Cache\1.0.0-beta.6
NiceGUI ready to go on http://localhost:8080, http://<IP_ADDRESS>:8080, http://<IP_ADDRESS>:8080, http://<IP_ADDRESS>:8080, and http://<IP_ADDRESS>:8080
INFO::Updating pattern...
INFO::Updating pattern...
INFO::Updating 3D...
Success! Configured_design saved to D:\garment_code\GarmentCode\tmp_gui\downloads\8QJ8DLXRRFWPA9RWQKYY\Configured_design
D:\garment_code\GarmentCode\pygarment\meshgen\render\texture_utils.py:161: UserWarning: Starting a Matplotlib GUI outside of the main thread will likely fail.
fig, ax = plt.subplots()
Module warp.sim.inertia load on device 'cuda:0' took 66.31 ms
Warp CUDA error 209: no kernel image is available for execution on the device (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\sort.cu:45)
Warp CUDA error 209: no kernel image is available for execution on the device (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\sort.cu:82)
Module warp.collision.panel_assignment load on device 'cuda:0' took 31.07 ms
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:273)
right_btorso:body
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:217)
Traceback (most recent call last):
File "D:\garment_code\GarmentCode\gui\callbacks.py", line 681, in update_3d_scene
await self.loop.run_in_executor(self._async_executor, self._sync_update_3d)
File "C:\Users\miniconda3\envs\garment\Lib\concurrent\futures\thread.py", line 59, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\garment_code\GarmentCode\gui\callbacks.py", line 712, in _sync_update_3d
path, filename = self.pattern_state.drape_3d()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\garment_code\GarmentCode\gui\gui_pattern.py", line 234, in drape_3d
run_sim(
File "D:\garment_code\GarmentCode\pygarment\meshgen\simulation.py", line 178, in run_sim
garment = Cloth(cloth_name, config, paths, caching=store_usd)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\garment_code\GarmentCode\pygarment\meshgen\garment.py", line 47, in init
self.build_stage(config)
File "D:\garment_code\GarmentCode\pygarment\meshgen\garment.py", line 185, in build_stage
cloth_reference_labels, body_parts = assign.panel_assignment(
^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\garment_code\NvidiaWarp-GarmentCode\warp\collision\panel_assignment.py", line 183, in panel_assignment
p_verts = wp.array(panel_verts[p_vert_index], dtype=wp.vec3, device=device)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\garment_code\NvidiaWarp-GarmentCode\warp\types.py", line 1356, in init
self._init_from_data(data, dtype, shape, device, copy, pinned)
File "D:\garment_code\NvidiaWarp-GarmentCode\warp\types.py", line 1494, in _init_from_data
self._init_new(dtype, shape, None, device, pinned)
File "D:\garment_code\NvidiaWarp-GarmentCode\warp\types.py", line 1563, in _init_new
raise RuntimeError(f"Array allocation failed on device: {device} for {capacity} bytes")
RuntimeError: Array allocation failed on device: cuda:0 for 11292 bytes
Array allocation failed on device: cuda:0 for 11292 bytes
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
Warp CUDA error 700: an illegal memory access was encountered (D:\garment_code\NvidiaWarp-GarmentCode\warp\native\warp.cu:245)
"

3D drape on the public online version occasionally fails due to a different (known) issue on the server side. It is usually fixed with the server restart, which I do when the issue reappears. However, it's not your case.
CUDA error 209: no kernel image is available for execution on the device points to the CUDA driver compatibility issues on your device
A quick Google search points to these posts:
https://stackoverflow.com/questions/67825986/nvidia-cuda-error-no-kernel-image-is-available-for-execution-on-the-device
https://forums.developer.nvidia.com/t/runtimeerror-cuda-error-no-kernel-image-is-available-for-execution-on-the-device/167708/7
I hope one of them will help resolve your problem locally


Resolve failing tests

There are currently 7 (out of ~250) test fixtures which are failing.

After adding additional tests from Taffy (~450) for a total of ~700 tests, currently ~45 tests are failing.

The number of failing tests has been reduced to 14 (out of 688) in #53.
The cause of several of the remaining failing tests appear to be the implementation of measure_standard_text in test_fixtures.py.

The remaining failing test fixtures have been resolved, except for one max_height_overrides_height_on_root, which is failing related to node visibility. This seems more like a Chrome inconsistency since no logical explanation can be found for why is_displayed() for this specific test fixture is not consistent with other similar fixtures.


losslesscut: Update to version 3.44.0

Losslesscut releases have slightly different names than the last release so github actions auto-update didn't pick it up.
This PR addresses the filename change.

[x] I have read the Contributing Guide.

/verify


OpenSSL 1.1.1e release dates

Hi Team,
Can you please let us know when is the confirmed released date for OpenSSL version 1.1.1e?
We need the 1.1.1e version as it contains a security fix for issue CVE-2019-1551.
Reference: https://www.openssl.org/news/cl111.txt
Thanks,
-Rohit

Any news in that front? I've been asked to update several servers to 1.1.1e due to  CVE-2019-1551, but I would feel much better doing it if it was an stable release already.

Well, I also want to know when will you release the 1.1.1e version?
Thank you!

No news yet.

Any chance this is available by end of the month? Thanks.

17-Mar-2020 it was released - i.e. yesterday.


Search: unsupported feature

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

install scorecard a standalone
run scorecard with --local parameter

Expected behavior
A clear and concise description of what you expected to happen.
get score of all checks
however got '?' of dependency-update-tool and vulnerabilities.
it prompts Error: check runtime error: internal error: search: unsupported feature,
anyone can give suggestion?
thank you in advance
Additional context
Add any other context about the problem here.

Is there a update on this one?
I too am facing the same issue

Is there a update on this one? I too am facing the same issue

Is this specifically for the Dependency-Update-Tool? This is partially expected, but could be improved.
I believe Vulnerabilities check should be working now locally.

This could be "fixed" by improving the error message to clarify that Dependency-Update-Tool doesn't work with --local (and why).

This could be "fixed" by improving the error message to clarify that Dependency-Update-Tool doesn't work with --local (and why).

In this particular case, I think the answer is "don't worry about searching for commits" if the repo client doesn't have them.


Create task - Share Somewhere - Unable to select a user that doesn't have a existing conversation

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

Issue found while executing the retest of https://github.com/Expensify/App/pull/19515
Action Performed:

Tap on FAB
Select Create Task
Select yourself as the assignee
On Share somewhere, select a user that doesn't have a existing conversation

Expected Result:
User is able to select a user that doesn't have a existing conversation with
Actual Result:
User is not able to select a user that doesn't have a existing conversation in the shared conversation
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

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

Version Number: 1.3.24-5
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/44479856/5b6172c0-481f-4c6a-a555-13764818e024
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal team
Slack conversation:
View all open jobs on GitHub

Yup, I am able to reproduce!

@sophiepintoraetz i think this is dupe

Ah, you're right, thanks @gadhiyamanan!


Code too clean?

As far as I understand, systems code is meant to be obtuse, difficult to parse, full of magic numbers, undocumented behaviour and gotchas, and in general should not be maintainable.
I'm finding this all incredibly easy to read and understand. Possible bug?

Indeed, the current version of fudge is only a prototype and does not reflect the usual qualities of system code. Once all the planned features are implemented, fudge will be entirely rewritten in an esoteric language using "write once, read never" guidelines.
Thank you for bringing this to my attention!

Thanks for your response! A possible interim solution would be to use a minifier such as pyminifier to bring the codebase up to scratch. Alternatively, you could commit the .pyc/.pyoobject code, which has all the above desirable properties. You could even go one step further and then commit changes only to the object code while leaving the out-of-date.py` source next to it.
At any rate, I'm satisfied that this problem will be fixed in due course, so I'll close the issue. Thanks for your attention!


Deleting a cell before it executes gives an error in the Interactive Window

My guess is that it errors when trying to update the goto cell code lense since it still runs the expected cell correctly if it's edited before then. Should be a pretty easy fix if so - just harden that update logic.


Disallow implicit conversions in constructor and assignment

Fixes #100.
This should be considered a breaking change, to be released as 2.0. I can hit some of the other 2.0 changes like removing deprecated parts and tagged issues.
cc @artemp @springmeyer @joto

If I recall correctly, this is the way variant was implemented originally (@artemp preferred requiring explicit types). Implicit conversions I think were added at the request of OSRM devs at the time to enable variant being a drop-in replacement for boost::variant (which allows implicit conversions) (which is a design goal https://github.com/mapbox/variant#goals).
So the options I see are:

ban implicit conversions, bump to 2.0, come to consensus that the design goals must shift
allow implicit conversions, warn against using them in the readme
add a MACRO to enable or disable them (support both modes)

boost::variant protects against unexpected ambiguous conversions where mapbox::util::variant does not:
This compiles and prints 0 (1 was likely expected):
    mapbox::util::variant<bool, uint64_t> mbv(1234);
    std::cout << mbv.which();

This does not compile:
    boost::variant<bool, uint64_t> bv(1234);
    std::cout << bv.which();

/Users/john/Development/variant/mason_packages/headers/boost/1.60.0/include/boost/variant/variant.hpp:1558:28: error: call to member function 'initialize' is ambiguous
              initializer::initialize(
              ~~~~~~~~~~~~~^~~~~~~~~~
/Users/john/Development/variant/mason_packages/headers/boost/1.60.0/include/boost/variant/variant.hpp:1735:9: note: in instantiation of function template specialization
      'boost::variant<bool, unsigned long long>::convert_construct<int>' requested here
        convert_construct( detail::variant::move(operand), 1L);
        ^
test/bench_variant.cpp:186:36: note: in instantiation of function template specialization 'boost::variant<bool, unsigned long long>::variant<int>' requested here
    boost::variant<bool, uint64_t> bv(1234);
                                   ^

Continuing discussion on https://github.com/mapbox/variant/issues/100.


Sync Todoist tasks into calendar view

It would be great if tasks from reminder apps like Todoist can be synced into Full Calendar. Ideally, two-way sync would be great, just like the feature request for two-way sync between Google Calendar and Obsidian.
If two-way sync is not possible, then the option to create a note for the synced Todoist task would also be very useful, just like the following request: https://github.com/davish/obsidian-full-calendar/issues/40

The plugin supports .ics files, so I believe this should work:
https://todoist.com/help/articles/use-todoist-with-your-calendar

Thanks for the hint! This does sync Todoist tasks into Full Calendar as calendar events.
It would be even better if Todoist tasks can be synced into Full Calendar with the following features:

There would be a checkbox preceding the task text.
One can click the checkbox to complete tasks, and then they would then disappear from Full Calendar and Todoist.
The synced Todoist tasks would be automatically moved to Today view when they are due, while their original due date does not change.

This is how the Fantastical app handle Todoist tasks that are due.

Thanks for submitting this feature request! Unfortunately, a full, two-way integration with todoist will likely be out-of-scope for this plugin for the forseeable future. Two-way sync with Todoist is definitely behind in priority to two-way sync with Google Calendar (#25), and would probably be a similar amount of effort.
Hopefully by combining the existing Todoist sync plugins, Full Calendar will be able to work better with Todoist tasks once it's possible to add tasks to events (#45) and checkboxes can be rendered in the calendar.


fixing "wrong number of pp_fles found" error

Trying to fix "wrong number of pp_fles found" error in pilot point set up.
Seems to relate to when id numbers go above 9. Previously files were being selected based on a startswith(x) call but this causes issues as, for example hk10 starts with hk1. Now searches for "{x}pp". This assumes "pp" will always folow the par id... is this ok @jtwhite79 ?
Also found possibly bug with var_file being incorrectly defined in the
krigging process.

Coverage decreased (-0.02%) to 78.507% when pulling 0a752712285784c57031cc7bcbff446a86f83492 on briochh:hotfix_pp_layers into 97f343c3ad7af2f7a0adee0e26650152ba2001f8 on jtwhite79:develop.


Add Seoul National University of Science and Technology

Hello, I would like you to add my university domain. It looks like it was merged in #23494 Pull Request, but for some reason it seems to be blocked again. I tried to use Github studentpack with my student ID or enrollment certificate, but it doesn't seem to be solved.
I look forward to your kind cooperation!
Seoul National University of Science and Technology
https://www.seoultech.ac.kr/index.jsp
https://en.seoultech.ac.kr/

@sanghui93 I am sorry, the domain seoultech.ac.kr is removed from our trusted domains list because it was abused in the past. If you are the student of this school, please enroll to GitHub Student Developer Program. Then apply for JetBrains educational subscription with your GitHub account (GitHub tab at https://www.jetbrains.com/shop/eform/students).


add glove option to the Oculus Retargeting Module

With this PR, we add the option in the oculus module to have sense Glove.
In the config files, at the moment, this is only done for Teleoperation scenario with Xsens. We can also add the option for oculus teleoperation setup later, if it works.

Thanks for the review. Merging.


Added docker start if container already exists but is stopped.

Added docker start command when a docker container is allready on the system but is stopped.

Please review this pull request


在2.3.1在UICollectionview中RefuseVIew桥接崩溃

UICollectionview的RefuseView中的子View用了桥接，结果崩溃在equeueReusableSupplementaryView这个方法，后来在copy约束这里加了子线程就好了，应该是约束在遍历和添加新约束时再加上collectionview刷新造成一些线程问题，本人是菜鸟，还请大神有时间看一下
if (placeholderView.constraints.count > 0) {
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

        // We only need to copy "self" constraints (like width/height constraints)
        // from placeholder to real view
        for (NSLayoutConstraint *constraint in placeholderView.constraints) {

            NSLayoutConstraint* newConstraint;

            // "Height" or "Width" constraint
            // "self" as its first item, no second item
            if (!constraint.secondItem) {
                newConstraint =
                [NSLayoutConstraint constraintWithItem:realView
                                             attribute:constraint.firstAttribute
                                             relatedBy:constraint.relation
                                                toItem:nil
                                             attribute:constraint.secondAttribute
                                            multiplier:constraint.multiplier
                                              constant:constraint.constant];
            }
            // "Aspect ratio" constraint
            // "self" as its first AND second item
            else if ([constraint.firstItem isEqual:constraint.secondItem]) {
                newConstraint =
                [NSLayoutConstraint constraintWithItem:realView
                                             attribute:constraint.firstAttribute
                                             relatedBy:constraint.relation
                                                toItem:realView
                                             attribute:constraint.secondAttribute
                                            multiplier:constraint.multiplier
                                              constant:constraint.constant];
            }

            // Copy properties to new constraint
            if (newConstraint) {
                newConstraint.shouldBeArchived = constraint.shouldBeArchived;
                newConstraint.priority = constraint.priority;
                if ([UIDevice currentDevice].systemVersion.floatValue >= 7.0f) {
                    newConstraint.identifier = constraint.identifier;
                }
                [realView addConstraint:newConstraint];
            }
        }
        });
    }

Interesting approach.
I've spent some time investigating the crash you're fixing. The reason for it is that iOS keeps a reference to some of the old constraints on the placeholder in a Trait Collection (Implementation of storyboard sizeclasses). It still tries to evaluate these constraints at a point in time where the view does not exist anymore and has been deallocated.
I suspect, that the reason why your change helps is, that it retains placeholderView for an additional runloop cycle.
Without having tested it, it might be enough to add
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    (void)placeholderView;
}

and keep the creation of new constraints synchronous.

Btw: Don't modify UI on a background thread. The global queue DISPATCH_QUEUE_PRIORITY_DEFAULT is executed on a background thread.
Temporarily retaining the placeholderView through an async call should also be done on the main queue:

When a secondary thread retains the target object, you have to ensure that the thread releases that reference before the main thread releases its last reference to the object. If you don't do this, the last reference to the object is released by the secondary thread, which means that the object's -dealloc method runs on that secondary thread. This is problematic if the object's -dealloc method does things that are not safe to do on a secondary thread, something that's common for UIKit objects like a view controller.

https://developer.apple.com/library/content/technotes/tn2109/_index.html

Opened PR #30 based on this.


2004 Windows cluster | windows node agent and fleet agent do not get upgraded to 2.6.3-rc4

Rancher Server Setup

Rancher version: 2.5.11 (upgraded to 2.6.3-rc4 later)
Installation option (Docker install/Helm Chart): Helm Chart (3 nodes HA cluster)

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): RKE1

Proxy/Cert Details: self-signed

Information about the Cluster

Kubernetes version: v1.20.12
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

2004 Windows cluster (3 linux etcd, 2 linux cp, 1 linux worker, 3 windows workers)
2004 Windows cluster (3 all roles linux and 3 windows worker)

Describe the bug

Windows node agent "cattle-node-agent-windows" gets stuck in "In Progress" status (both windows clusters i have)
Fleet agent gets stuck in "In Progress" status (one of the windows clusters)
To Reproduce

Have a 2.5.11 Rancher HA set up (3 nodes)
As a standard user add a custom windows cluster (3 windows worker nodes)
Upgrade Rancher to 2.6.3-rc4
Navigate to your windows cluster
Go to Workloads -> Daemon Set
In the filter dropdown select "All Namespaces"

Result
"cattle-node-agent-windows" is in the "In progress" status
Node agent pods have the following error
Error: failed to start container "agent": Error response from daemon: hcsshim::CreateComputeSystem agent: The container operating system does not match the host operating system.
on one of the windows cluster fleet agent is in the "In progress" status too with the pod logging an event
Error: failed to start container "fleet-agent": Error response from daemon: hcsshim::CreateComputeSystem fleet-agent: The container operating system does not match the host operating system.
Expected Result

After upgrade all resources should become Active
Screenshots

daemonset

pods

resources

resource events

pod events

fleet issue

Closing this issue since Windows 2004 is not going to be supported in 2.6.3


Add some debug logs for now-dev

Added some debug logs 8bbf291
Fixed some eslint warnings 94af5a0

Codecov Report

Merging #2181 into canary will increase coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           canary   #2181      +/-   ##
=========================================
+ Coverage    4.35%   4.35%   +<.01%
=========================================
  Files         245     245
  Lines        8823    8813      -10
  Branches      931     928       -3
=========================================
  Hits          384     384
+ Misses       8422    8412      -10
  Partials       17      17

Impacted Files
Coverage Δ

src/commands/dev/lib/dev-builder.ts
0% <0%> (ø)
:arrow_up:

src/commands/dev/lib/dev-server.ts
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Regex based sanitizer implementation for logging client and service

The changes in this PR are for ticket.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@snaiper80 I think you requested this feature some time ago, right? (My memory might be incorrect, but just in case :sweat_smile:)

@trustin maybe not. haha. anyway, this pr looks interesting to me. it might be helpful to make a gateway server.

Ah, it was @junyoung-ju. :sweat_smile:

@trustin Made suggested changes. Ready for review.

I will make the suggested changes tonight. Thanks for the review guys.

@trustin @ikhoon @minwoox Thank you for the review. I am ready to pick up another issue. Does this PR gets merged when you cut the release?


onnx export error

Hello,
I am facing the following error when deploying a VGG16 model with onnx format.
SWATError: Expecting value: line 1 column 1 (char 0) in the attached file.
The code and the error starts at line 318
onnx error.txt

Thanks for the info, I am looking into this error.

@turanbul I am trying to reproduce the error - could you list your dlpy, onnx, and swat versions?

print(onnx.version, swat.version, dlpy.version)
1.5.0 1.5.0 1.0.1

Hi @turanbul, I ran a workflow similar to your code with the versions above, and unfortunately I was not able to reproduce the error.  I saw the JSONDecodeError in the traceback and noticed you are using the REST connection to CAS; just curious have you tried the binary connection and still get this error?  Lastly, could you try loading the weights from file, and see if the same issue persists?  This would help us narrow it down.
You will need to save the weights after training:  model_vgg16.save_weights_csv(path='/disk/linux/dlpy')
And then specify the weights file when calling deploy:  model_vgg16.deploy(path='/disk/linux/dlpy', output_format='onnx', model_weights='/disk/linux/dlpy/Simple_CNN1_weights.csv')

@yg2288 and @turanbul have you guys agreed on a solution?

I am closing this issue. Please do re-open if needed. Thanks


Not working on Raspberry Pi 3 Model B

Hi,
I tried using this on a RPi3 Model B. Changing the kernel command line is slightly different when running the aarch64 image, but that was not a big deal. Sadly, it does not work. I get stuck at boot. Here is the boot log:
[    0.000000] Linux version 5.4.6-1-ARCH (builduser@leming) (gcc version 8.3.0 (GCC)) #1 SMP Mon Dec 23 09:59:08 MST 2019
[    0.000000] Machine model: Raspberry Pi 3 Model B
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 64 MiB at 0x0000000037400000
[    0.000000] percpu: Embedded 30 pages/cpu s85656 r8192 d29032 u122880
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 843419
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 238896
[    0.000000] Kernel command line: console=ttyS1,115200 console=tty0 root=PARTUUID=d63af3d9-02 rw rootwait smsc95xx.macaddr=b8:27:eb:4e:d5:59 overlayroot
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 849920K/970752K available (14972K kernel code, 2738K rwdata, 7048K rodata, 1984K init, 826K bss, 55296K reserved, 65536K cma-reserved)
[    0.000000] random: get_random_u64 called from cache_random_seq_create+0x88/0x158 with crng_init=0
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 51517 entries in 202 pages
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] 	Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] arch_timer: cp15 timer(s) running at 19.20MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x46d987e47, max_idle_ns:<PHONE_NUMBER>67 ns
[    0.000007] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every<PHONE_NUMBER>078ns
[    0.000274] Console: colour dummy device 80x25
[    0.000652] printk: console [tty0] enabled
[    0.000711] Calibrating delay loop (skipped), value calculated using timer frequency.. 38.40 BogoMIPS (lpj=192000)
[    0.000745] pid_max: default: 32768 minimum: 301
[    0.001001] LSM: Security Framework initializing
[    0.001035] Yama: becoming mindful.
[    0.001155] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001199] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.001300] *** VALIDATE tmpfs ***
[    0.002044] *** VALIDATE proc ***
[    0.002397] *** VALIDATE cgroup1 ***
[    0.002419] *** VALIDATE cgroup2 ***
[    0.003545] ASID allocator initialised with 32768 entries
[    0.003689] rcu: Hierarchical SRCU implementation.
[    0.007359] EFI services will not be available.
[    0.007960] smp: Bringing up secondary CPUs ...
[    0.008623] Detected VIPT I-cache on CPU1
[    0.008694] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.009526] Detected VIPT I-cache on CPU2
[    0.009571] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.010396] Detected VIPT I-cache on CPU3
[    0.010439] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.010579] smp: Brought up 1 node, 4 CPUs
[    0.010674] SMP: Total of 4 processors activated.
[    0.010693] CPU features: detected: 32-bit EL0 Support
[    0.010712] CPU features: detected: CRC32 instructions
[    0.011295] CPU: All CPU(s) started at EL2
[    0.011334] alternatives: patching kernel code
[    0.013563] devtmpfs: initialized
[    0.021535] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:<PHONE_NUMBER>2750000 ns
[    0.021591] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.025100] pinctrl core: initialized pinctrl subsystem
[    0.026421] DMI not present or invalid.
[    0.027014] NET: Registered protocol family 16
[    0.031651] DMA: preallocated 256 KiB pool for atomic allocations
[    0.031739] audit: initializing netlink subsys (disabled)
[    0.031972] audit: type=2000 audit(0.030:1): state=initialized audit_enabled=0 res=1
[    0.033302] cpuidle: using governor ladder
[    0.033344] cpuidle: using governor menu
[    0.033871] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.034965] Serial: AMBA PL011 UART driver
[    0.060153] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.060192] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.060214] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.060235] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    2.237027] cryptd: max_cpu_qlen set to 1000
[    2.277252] ACPI: Interpreter disabled.
[    2.278270] iommu: Default domain type: Translated
[    2.278695] vgaarb: loaded
[    2.279775] SCSI subsystem initialized
[    2.280413] usbcore: registered new interface driver usbfs
[    2.280487] usbcore: registered new interface driver hub
[    2.280601] usbcore: registered new device driver usb
[    2.281039] usb_phy_generic phy: phy supply vcc not found, using dummy regulator
[    2.281795] pps_core: LinuxPPS API ver. 1 registered
[    2.281815] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti<EMAIL_ADDRESS>[    2.281857] PTP clock support registered
[    2.282163] EDAC MC: Ver: 3.0.0
[    2.283272] Advanced Linux Sound Architecture Driver Initialized.
[    2.283978] NetLabel: Initializing
[    2.283996] NetLabel:  domain hash size = 128
[    2.284010] NetLabel:  protocols = UNLABELED CIPSOv4 CALIPSO
[    2.284107] NetLabel:  unlabeled traffic allowed by default
[    2.284679] clocksource: Switched to clocksource arch_sys_counter
[    3.640804] *** VALIDATE bpf ***
[    3.641162] VFS: Disk quotas dquot_6.6.0
[    3.641256] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    3.641389] *** VALIDATE ramfs ***
[    3.641426] *** VALIDATE hugetlbfs ***
[    3.641853] simple-framebuffer 3eaf0000.framebuffer: framebuffer at 0x3eaf0000, 0x10a800 bytes, mapped to 0x(____ptrval____)
[    3.641890] simple-framebuffer 3eaf0000.framebuffer: format=a8r8g8b8, mode=656x416x32, linelength=2624
[    3.648925] Console: switching to colour frame buffer device 82x26
[    3.655131] simple-framebuffer 3eaf0000.framebuffer: fb0: simplefb registered!
[    3.658977] pnp: PnP ACPI: disabled
[    3.671140] thermal_sys: Registered thermal governor 'fair_share'
[    3.671145] thermal_sys: Registered thermal governor 'bang_bang'
[    3.674892] thermal_sys: Registered thermal governor 'step_wise'
[    3.678426] thermal_sys: Registered thermal governor 'user_space'
[    3.681829] thermal_sys: Registered thermal governor 'power_allocator'
[    3.685856] NET: Registered protocol family 2
[    3.693203] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    3.700035] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    3.707208] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    3.711162] TCP: Hash tables configured (established 8192 bind 8192)
[    3.715149] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    3.719087] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    3.723236] NET: Registered protocol family 1
[    3.727784] RPC: Registered named UNIX socket transport module.
[    3.731510] RPC: Registered udp transport module.
[    3.735106] RPC: Registered tcp transport module.
[    3.738493] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    3.741856] PCI: CLS 0 bytes, default 64
[    3.745373] Trying to unpack rootfs image as initramfs...
[    4.308797] Freeing initrd memory: 7228K
[    4.313493] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available
[    4.320875] kvm [1]: IPA Size Limit: 40bits
[    4.326271] kvm [1]: Hyp mode initialized successfully
[    4.707727] Initialise system trusted keyrings
[    4.711656] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    4.723737] zbud: loaded
[    4.730501] NFS: Registering the id_resolver key type
[    4.734017] Key type id_resolver registered
[    4.737404] Key type id_legacy registered
[    4.740630] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    4.744184] SGI XFS with ACLs, security attributes, no debug enabled
[    4.783594] NET: Registered protocol family 38
[    4.786900] Key type asymmetric registered
[    4.790090] Asymmetric key parser 'x509' registered
[    4.793386] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 242)
[    4.800458] io scheduler mq-deadline registered
[    4.803902] io scheduler kyber registered
[    4.807537] io scheduler bfq registered
[    4.820391] IPMI message handler: version 39.2
[    4.837062] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    4.842694] printk: console [ttyS1] disabled
[    4.845996] 3f215040.serial: ttyS1 at MMIO 0x0 (irq = 61, base_baud = 31250000) is a 16550
[    6.244858] printk: console [ttyS1] enabled
[    6.253869] msm_serial: driver initialized
[    6.262984] bcm2835-rng 3f104000.rng: hwrng registered
[    6.272668] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    6.283271] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    6.298651] libphy: Fixed MDIO Bus: probed
[    6.308709] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    6.318861] ehci-pci: EHCI PCI platform driver
[    6.326826] ehci-platform: EHCI generic platform driver
[    6.335723] ehci-orion: EHCI orion driver
[    6.343275] tegra-ehci: Tegra EHCI driver
[    6.350734] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    6.360303] ohci-pci: OHCI PCI platform driver
[    6.368162] ohci-platform: OHCI generic platform driver
[    6.376919] uhci_hcd: USB Universal Host Controller Interface driver
[    6.387576] usbcore: registered new interface driver uas
[    6.396536] usbcore: registered new interface driver usb-storage
[    6.406068] usbcore: registered new interface driver ums-alauda
[    6.415384] usbcore: registered new interface driver ums-cypress
[    6.424623] usbcore: registered new interface driver ums-datafab
[    6.433691] usbcore: registered new interface driver ums_eneub6250
[    6.442858] usbcore: registered new interface driver ums-freecom
[    6.451788] usbcore: registered new interface driver ums-isd200
[    6.460520] usbcore: registered new interface driver ums-jumpshot
[    6.469309] usbcore: registered new interface driver ums-karma
[    6.477655] usbcore: registered new interface driver ums-onetouch
[    6.486132] usbcore: registered new interface driver ums-realtek
[    6.494341] usbcore: registered new interface driver ums-sddr09
[    6.502355] usbcore: registered new interface driver ums-sddr55
[    6.510265] usbcore: registered new interface driver ums-usbat
[    6.518077] usbcore: registered new interface driver usbserial_generic
[    6.526521] usbserial: USB Serial support registered for generic
[    6.536161] mousedev: PS/2 mouse device common for all mice
[    6.547738] device-mapper: uevent: version 1.0.3
[    6.554617] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised<EMAIL_ADDRESS>[    6.568243] sdhci: Secure Digital Host Controller Interface driver
[    6.576570] sdhci: Copyright(c) Pierre Ossman
[    6.583857] Synopsys Designware Multimedia Card Interface Driver
[    6.690173] sdhost-bcm2835 3f202000.mmc: loaded - DMA enabled (>1)
[    6.698973] sdhci-pltfm: SDHCI platform and OF driver helper
[    6.709412] ledtrig-cpu: registered to indicate activity on CPUs
[    6.719017] hidraw: raw HID events driver (C) Jiri Kosina
[    6.727420] usbcore: registered new interface driver usbhid
[    6.735905] usbhid: USB HID core driver
[    6.743885] bcm2835-mbox 3f00b880.mailbox: mailbox enabled
[    6.757047] drop_monitor: Initializing network drop monitor service
[    6.767321] Initializing XFRM netlink socket
[    6.776452] NET: Registered protocol family 10
[    6.834381] Segment Routing with IPv6
[    6.841711] mip6: Mobile IPv6
[    6.843688] mmc0: host does not support reading read-only switch, assuming write-enable
[    6.848153] NET: Registered protocol family 17
[    6.848463] Key type dns_resolver registered
[    6.866629] mmc0: new high speed SDHC card at address e624
[    6.872145] registered taskstats version 1
[    6.880329] mmcblk0: mmc0:e624 SU16G 14.8 GiB
[    6.888275] Loading compiled-in X.509 certificates
[    6.888485] zswap: loaded using pool lzo/zbud
[    6.900725]  mmcblk0: p1 p2
[    6.903964] Key type ._fscrypt registered
[    6.932587] Key type .fscrypt registered
[    6.967872] Key type big_key registered
[    6.998438] Key type encrypted registered
[    7.011890] 3f201000.serial: ttyAMA0 at MMIO 0x3f201000 (irq = 66, base_baud = 0) is a PL011 rev2
[    7.027118] serial serial0: tty port ttyAMA0 registered
[    7.043413] raspberrypi-firmware soc:firmware: Attached to firmware from 2019-12-11 15:14
[    7.059119] raspberrypi-clk raspberrypi-clk: CPU frequency range: min 600000000, max<PHONE_NUMBER>
[    7.080422] vchiq: vchiq_init_state: slot_zero = (____ptrval____)
[    7.092899] dwc2 3f980000.usb: 3f980000.usb supply vusb_d not found, using dummy regulator
[    7.104918] dwc2 3f980000.usb: 3f980000.usb supply vusb_a not found, using dummy regulator
[    7.167506] dwc2 3f980000.usb: DWC OTG Controller
[    7.174312] dwc2 3f980000.usb: new USB bus registered, assigned bus number 1
[    7.183411] dwc2 3f980000.usb: irq 41, io mem 0x3f980000
[    7.190835] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    7.203132] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    7.212582] usb usb1: Product: DWC OTG Controller
[    7.219482] usb usb1: Manufacturer: Linux 5.4.6-1-ARCH dwc2_hsotg
[    7.227844] usb usb1: SerialNumber: 3f980000.usb
[    7.234982] hub 1-0:1.0: USB hub found
[    7.240846] hub 1-0:1.0: 1 port detected
[    7.249817] sdhci-iproc 3f300000.sdhci: allocated mmc-pwrseq
[    7.289410] mmc1: SDHCI controller on 3f300000.sdhci [3f300000.sdhci] using PIO
[    7.302019] hctosys: unable to open rtc device (rtc0)
[    7.309389] ALSA device list:
[    7.314289]   No soundcards found.
[    7.315296] mmc1: queuing unknown CIS tuple 0x80 (2 bytes)
[    7.328604] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    7.333329] Freeing unused kernel memory: 1984K
[    7.337563] mmc1: queuing unknown CIS tuple 0x80 (3 bytes)
[    7.342237] Run /init as init process
[    7.352334] mmc1: queuing unknown CIS tuple 0x80 (7 bytes)
[    7.416714] random: fast init done
[    7.461677] mmc1: new high speed SDIO card at address 0001
[    7.694759] usb 1-1: new high-speed USB device number 2 using dwc2
[    7.945035] usb 1-1: New USB device found, idVendor=0424, idProduct=9514, bcdDevice= 2.00
[    7.959444] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    7.970754] hub 1-1:1.0: USB hub found
[    7.977806] hub 1-1:1.0: 5 ports detected
[    8.314737] usb 1-1.1: new high-speed USB device number 3 using dwc2
[    8.381918] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    8.465308] usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00, bcdDevice= 2.00
[    8.481117] usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    8.794713] usb 1-1.5: new full-speed USB device number 4 using dwc2
[    8.938332] usb 1-1.5: config 1 interface 1 altsetting 0 endpoint 0x3 has wMaxPacketSize 0, skipping
[    8.955277] usb 1-1.5: config 1 interface 1 altsetting 0 endpoint 0x83 has wMaxPacketSize 0, skipping
[    8.975088] usb 1-1.5: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
[    8.991964] usb 1-1.5: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    9.003744] usb 1-1.5: Product: CSR8510 A10
[    9.716144] random: crng init done

Normally, systemd would start now like so:
[    8.976814] usb 1-1.5: Product: CSR8510 A10
[    9.092550] systemd[1]: System time before build time, advancing clock.
[    9.143467] systemd[1]: systemd 244.1-1-arch running in system mode. (+PAM +AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=hybrid)
[    9.184163] systemd[1]: Detected architecture arm64.

But nothing happens.

That log seems to not contain anything useful to debug this. Please post all additional error messages you are seeing.

Sadly there are no additional debug messages. Have you tested this on RPi 3 before?

Yes I have.

Did you use the Aarch64 Version of Arch Linux ARM?


Fetch assets from client gateway

What is this feature about? (1 sentence)
This fetches assets (ETH, ERC20, collectibles) from the client gateway rather than the tx service.
Why is it needed? What is the value? For whom do we build it?

The client gateway was introduced to optimze data format and load times for the clients.
The mobile clients use the client gateway already. Hence there can be small differences in the data which shouldn't happen.

High-level overview of the feature
v1:

Fetch ETH/ERC20 from client gateway.
Fetch collectibles from client gateway.
Remove "custom token"

not in this version:
v2

Use fiat conversion from client gateway (also which currencies are supported)

v3

Remove pagination of assets and instead switch to an infinite scroll here as well.

Misc

https://github.com/gnosis/safe-client-gateway/blob/main/src/routes/balances.rs
https://github.com/gnosis/safe-client-gateway/blob/main/src/routes/collectibles.rs
https://github.com/gnosis/safe-client-gateway/wiki

@tschubotz split v2 and v3 in separate issues.

Would it make sense to already in v1 increase the page size to 100 or more (for the react table elements)? The backend returns all data at once anyways.

Would it make sense to already in v1 increase the page size to 100 or more (for the react table elements)? The backend returns all data at once anyways.

From the current 10 you mean?
I think this would be nice, if it doesn't add much technical challenges. @Agupane

So far seems not a problem to expand it to 100 :) in case I find something more complicated I'll let you know @tschubotz


Add prometheus.relabel external cache proposal

PR Description
This PR add a proposal to introduce the support for an external cache for prometheus.relabel component.
Which issue(s) this PR fixes
N/A
Notes to the Reviewers

I agree for the more standard interface you proposed, I started a poc only with relabel and that's why I ended with this relabel specific interface.
Concerning the cache as component, what do you advise ?
I looked into https://github.com/grafana/alloy/blob/main/docs/developer/writing-component-documentation.md and more closely at
capsule(T): An internal encapsulated value.
For what I gather that's the correct way to implement such a cache component. Am I correct about this ?

This is not inactive as we are iterating on an implementation in a distinct PR


New version: evilmartians.lefthook version 1.4.7

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/113042&drop=dogfoodAlpha

@microsoft-github-policy-service agree company="Evil Martians"


implicit cast operators for HttpContextBase, HttpRequestBase, HttpResponseBase

For HttpContext, HttpRequest and HttpResponse there are implicit cast operators from and to the equivalent ASP.NET Core types.
However these are mostly missing in the *Base variants. Currently there is only an implicit cast to HttpContextBase.

Question; should the conversions be implicit both ways?
Microsoft's guidelines state that

If a custom conversion can throw an exception or lose information, define it as an explicit conversion.

If you want to discourage people from sticking with the old APIs, I suggest making the ASP.NET Core -> System.Web conversion explicit. Since there's a lot of System.Web APIs that are unsupported running on top of ASP.NET Core, makes the old abstraction much weaker.

If a custom conversion can throw an exception or lose information, define it as an explicit conversion.

This is why I had removed initial versions that would implement this. Can you share the scenarios you would make use of these conversions?

If you want to discourage people from sticking with the old APIs, I suggest making the ASP.NET Core -> System.Web conversion explicit.

Interesting thought. Part of the goal here is to aid with making the conversion from System.Web -> ASP.NET Core simpler. One of our principals here is minimal code changes to get running on core. It seems that if we made the conversions explicit, it would end up adding those explicit calls everywhere.
The next step in a migration after adding the adapters is "how do you get off of them". This is something we haven't focused as much on yet, but is top of mind. We'll probably start with some analyzers that will flag things like implicit conversion and provide some helpers to convert things to more ASP.NET Core specific patterns.

This is why I had removed initial versions that would implement this. Can you share the scenarios you would make use of these conversions?

In my current project I only need the conversions from the ASP.NET Core context classes to the System.Web *Base classes. As we are passing them from MVC controllers to other parts of our application (business layer / utilty functions / ...).
These other parts currently expect the *Base classes as we don't use HttpContext.Current but the HttpContext property of the Controller, which is of type HttpContextBase. Similar situation for HttpRequestBase and HttpResponseBase.
The conversion in reverse (System.Web to ASP.NET core variants) is not strictly necessary in my situation.
Having to add explicit conversions would feasable but a lot more upfront work. We are currently multi targeting  .NET fw 4.8 and 6 (with separate .csproj files and lots of #ifdefs). I guess we could call the conversion method too on .NET fx and just make it return the original instance.
We plan to just remove the dependency on the adapter package when our app is running stable on only .NET 6.

What about just the implicit operators of the ASP.NET Core->System.Web types? The other direction is not as straightforward. Using the *Wrapper implementations for the implicit *Base would probably make sense.

What about just the implicit operators of the ASP.NET Core->System.Web types? The other direction is not as straightforward. Using the *Wrapper implementations for the implicit *Base would probably make sense.

Would be fine in my specific case.
I was just aiming for parity with the regular HttpContext/HttpRequest/HttpResponse types, for those you already have a cast in from the legacy to the new types.
And if you see in my PR it's not too difficult to implement, you just need a virtual Unwrap method.

I also get why you would choose for explicit conversions. I believe the concerns @khellang already stated are definitely valid.
But I believe the conversions for the regular HttpContext types should then be explicit as well.
However I see this entire package as something you only should use when migrating. Most of it implies you pay for a performance hit anyway. The end goal should be to remove the dependency entirely and not stick with the old APIs ...
Having to add the explicit conversions everywhere, and then removing then afterwards might be a lot of wasted effort.

Merged in


implement correct handling for URLs without given locale

There was a small bug, so that URLs like "http://xyz.com/about" were not correctly redirected, but raised an error. That is fixed now.

Coverage remained the same at 100.0% when pulling fa110c8bd6196a6be980e1e173e64f8840dfabf0 on dirkholzapfel:master into a3ac9b49ad0361799ad2866f4727f79228ec1b86 on smeevil:master.

Merged and updated, thank you so much for your time, quite appreciated :D


WIP: Kernel 418 support

Relax the minimum supported version and tweak a few tests to allow Beyla to run on RHEL 4.8 kernel series.
From the package description:

"This is the package which provides the Linux kernel for Red Hat Enterprise
Linux. It is based on upstream Linux at version 4.18.0 and maintains kABI
compatibility of a set of approved symbols, however it is heavily modified with
backports and fixes pulled from newer upstream Linux kernel releases. This means
this is not a 4.18.0 kernel anymore: it includes several components which come
from newer upstream linux versions, while maintaining a well tested and stable
core. Some of the components/backports that may be pulled in are: changes like
updates to the core kernel (eg.: scheduler, cgroups, memory management, security
fixes and features), updates to block layer, supported filesystems, major driver
updates for supported hardware in Red Hat Enterprise Linux, enhancements for
enterprise customers, etc."

(source)
These are the kernels whose version is analogous  to 4.18.0-xxx.el8 and they feature the functionality required by Beyla, included but not limited to:

BTF support
BPF ring buffers

Early RHEL 4.18 kernels (such as 4.18.0-240.el8) do not yet feature BPF ring buffers and are not supported.
These kernels do not support BEYLA_BPF_TRACK_REQUEST_HEADERS=1.
Tested on:

CentOS 8 (4.18.0-348.7.1.el8_5.x86_64)
AlmaLinux 8 (4.18.0-553.16.1.el8_10.x86_64)

Resolves #1146

Codecov Report
Attention: Patch coverage is 16.66667% with 5 lines in your changes missing coverage. Please review.

Project coverage is 35.79%. Comparing base (3fc48aa) to head (9feffcc).

Files with missing lines
Patch %
Lines

pkg/internal/ebpf/instrumenter.go
0.00%
3 Missing :warning:

pkg/beyla/os.go
0.00%
2 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (3fc48aa) and HEAD (9feffcc). Click for more details.
HEAD has 3 uploads less than BASE

Flag
BASE (3fc48aa)
HEAD (9feffcc)

unittests
1
0

k8s-integration-test
1
0

integration-test
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1175       +/-   ##
===========================================
- Coverage   81.16%   35.79%   -45.37%
===========================================
  Files         136      135        -1
  Lines       11447    11442        -5
===========================================
- Hits         9291     4096     -5195
- Misses       1631     6916     +5285
+ Partials      525      430       -95

Flag
Coverage Δ

integration-test
?

k8s-integration-test
?

oats-test
35.79% <16.66%> (-0.02%)
:arrow_down:

unittests
?

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

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

Hey @adelbot ! This PR introducing support for select 4.8 kernels hasn't yet been released. In order to test it, you will need to build Beyla's main branch from scratch, or wait for when Beyla 1.9 is released (not before Obscon).


Updated README.md to reflect nvim path differences

I've used vundle for years, and love it, thanks to everyone involved.
Just setting up a new dev environment and figured I may as well capture the neovim path differences here.
I don't know much about the vim/neovim/plugin community, so hopefully this is a reasonable change/ isn't a faux pas of some kind.

Is this super silly or something :)?
There is this project: https://github.com/Shougo/neobundle.vim
But it doesn't seem to be actively developed.
Vundle works fine with nvim.

@mikeyjk I probably made a poor attempt to mark this PR to look at later. Obviously it wasn't very effective on my part
Overall the change looks good, I think some minor formatting could be changed but that's all

Yeah awesome, if it's quicker to give me a rough idea of what to change the formatting to, please let me know. Otherwise I'll leave it - thanks!

👀


Add DataFrame.explain.

Codecov Report

Merging #1042 into master will decrease coverage by 2.7%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1042      +/-   ##
==========================================
- Coverage   95.12%   92.42%   -2.71%
==========================================
  Files          34       34
  Lines        6768     6770       +2
==========================================
- Hits         6438     6257     -181
- Misses        330      513     +183

Impacted Files
Coverage Δ

databricks/koalas/frame.py
93.18% <100%> (-3.38%)
:arrow_down:

databricks/koalas/usage_logging/__init__.py
24.54% <0%> (-72.73%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
50% <0%> (-50%)
:arrow_down:

databricks/koalas/__init__.py
78.72% <0%> (-8.52%)
:arrow_down:

databricks/conftest.py
92% <0%> (-6%)
:arrow_down:

databricks/koalas/utils.py
95.12% <0%> (-3.05%)
:arrow_down:

databricks/koalas/groupby.py
89.34% <0%> (-2.05%)
:arrow_down:

databricks/koalas/namespace.py
85.8% <0%> (-1.55%)
:arrow_down:

databricks/koalas/plot.py
93.33% <0%> (-0.96%)
:arrow_down:

... and 2 more

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 6ece69d...d5c3ade. Read the comment docs.


Add support for java record serialization

With this change, java records will be serialized using their automatic constructors and accessors. Since records are not supported in JDK8, reflection is used for inspecting record metadata.
I created a new google-cloud-firestore-jdk17 module, for two purposes:

Test classes for records, which require jdk17
DocumentId, PropertyName, and ServerTimestamp annotations with @Target(ElementType.RECORD_COMPONENT), which also require jdk17

Fixes #1152 ☕
Some comments and questions:

Since only automatic constructors are supported, exclusion of fields is not supported
Custom getters are not supported
The existing ThrowOnExtraProperties & IgnoreExtraProperties annotations are supported
I put the new logic outside of CustomClassMapper for readability, and extracted some of the existing logic out of it, for reuse. Everything is package-private. It can all be easily moved (back) into CustomClassMapper.
I based the tests on existing tests for POJOs, and adapted them to records
Two of the test classes use the com.google.cloud.firestore java package, in order to have access to FirestoreImpl, which is needed for mocking
Should the new google-cloud-firestore-jdk17 module be moved to a separate project?
The code currently accepts any annotations with the simple names DocumentId, PropertyName, and ServerTimestamp, for flexibility. That can be changed to require the FQNs.

CI failures seem to all be in the new JDK17 module I added, which adds weight to my question # 7 above

Hi @tom-andersen, any update on this PR?


Black Screen

Hey,
when i use this module I always get a black screen when i start the mirror.
I already tried it with a fresh install of magic mirror only with default modules (and alexa)
but its not working.
Please help me

did you use npm install under the module? the module needs few another packages installed.
By the way you can run npm start dev while you're running the mirror, and with that you can see the errors occurred.

Ok thanks for reply.
Now the mirror starts but alexa is not doing anything.
But another voice control modul i tested works.
Any idea whats the problem?

There should be status indicator at the mirror with different colors like:
Red, Yellow, Green, or Magenta.
Red shows -> Token set, alexa is ready to listen
Green -> Listening
Magenta -> Token was wrong/alexa is broken
Yellow -> Preparing
Which color do you see at there? If it's red, then it means the connection is good any you only need to invoke the module to start listening by pressing a button on GPIO 18 pin

The Status indicator is red.
I do not have any button with GPIO 18 pin.
Is it possible to use Alexa without a button?

@RavixModz it is possible, but unfortunately the repo does not have Magic Word support yet(Alexa..) (https://github.com/sakirtemel/MMM-alexa#development). I suggest you to connect a button for now.
You can create another module which emits an event to start this module recording. (https://github.com/sakirtemel/MMM-alexa#events)
Or for debugging purposes you can configure debug variable as true and run the mirror with npm start dev and then on console you can type alexaStart() .

Thank you.
Now I use a voice control module to start Alexa recording with the Keyword "Alexa".
When I say it, the status indicator turns intro green. After a few seconds it turn red again and nothing happens.
Error message of the terminal:
initializing nodemailer
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.front.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM front
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround21
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround40.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround40
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround41
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround50
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround51.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround51
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.surround71.0:CARD=0'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM surround71
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM iec958
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib confmisc.c:1286:(snd_func_refer) Unable to find definition 'cards.bcm2835.pcm.iec958.0:CARD=0,AES0=4,AES1=130,AES2=0,AES3=2'
ALSA lib conf.c:4259:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:4738:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM spdif
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2239:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pcm_dmix.c:1022:(snd_pcm_dmix_open) unable to open slave

@RavixModz that's awesome that you've managed it with Voice module! I would appreciate if you could create a PR for explaining how to do this in README, or maybe a wiki page, I think that would be useful for other people.
For the error that I'm seeing is probably about the speakers. You may have problems with your playback device. It's most probably because of some configuration. Did you run this command on terminal, which switches audio output from hdmi to RPi?
amixer cset numid=3 1
If nothing works, please try to play an audio with any module, or even at terminal first.
By the way, once I've had similar issue and it was advised to remove pulseaudio, if nothing works please try this:
sudo apt-get --purge remove pulseaudio
I hope one of these will fix your problem, please let me know with the result

I tried both but the problem is still the same.
I just tested this Demo of Alexa and this works fine.
Here is the log of the debug console, maybe this can help to find the problem.
localhost-1479994502736.txt
I dont know how to create a PR but i can explain it here and you can add it if you want:
I installed this voice control module and created a hotword ( 'Alexa' for example) on https://snowboy.kitt.ai/ that starts alexa.
Config of the voice control module:
{
module: 'voicecontrol',
position: 'bottom_left',
config: {
models: [
{
keyword: "Alexa",
description: "Say 'Alexa' to start Alexa",
file: "Alexa.pmdl",
message: "ALEXA_START_RECORDING"
},
    ]
}

},

@RavixModz thanks for the code! I'll add a wiki for that soon.
as far as I can see from the log, the voice activity detection stops before it's started. I added a timeout that's why it's happening like that. When the record starts it waits for 3 seconds, if there's no word then it stops automatically.
So after saying Alexa, and after seeing the the status indicator turns to green, you should see VAD_VOICE_DETECTION_START when you talk. Then it will wait until you finish your sentence.
It's very strange because at the mirror app, you have voice module, and it works fine, so that shows the microphone worked fine. And I assume you have tested that demo at mirror, so the playback device should work fine as well.
What I can suggest to debug this module is enabling debug mode and disabling voice activity detection (https://github.com/sakirtemel/MMM-alexa#configuration-options), also temporarily disable voice module.
And after that please just go to the console, and type alexaStart(), the indicator should turn into green, and after you finish your sentence type alexaStop(), the indicator should turn into red and after few seconds you should hear the response from Alexa side. If the demo works this should also work, because I'm using the same library from that demo.
Make sure that the demo and the mirror are running at the same environments and same browsers

Thanks for the quick reply.
I did it, but when i type  alexaStart() , I always get this error:
VM143:1 Uncaught ReferenceError: alexaStart is not defined(…)(anonymous function) @ VM143:1
motion.js:80 compare result=7,3;28,45

@RavixModz alexaStart() function exist only when you set the debug true in your config, please make sure that the variable is set
https://github.com/sakirtemel/MMM-alexa#configuration-options

I forgot to enable it.
Now it says:
alexaStart()
logger.js:20 clock received a module notification: ALEXA_RECORD_START from sender: MMM-alexa
logger.js:20 clock received a module notification: ALEXA_START_RECORDING from sender: MMM-alexa
undefined
alexaStop()
logger.js:20 clock received a module notification: ALEXA_RECORD_STOP from sender: MMM-alexa
logger.js:20 clock received a module notification: ALEXA_STOP_RECORDING from sender: MMM-alexa
undefined
alexaRunner.babel.js:4468 Error: Empty response.(…)alexaRunner.avs.sendAudio.then.catch.error @ alexaRunner.babel.js:4468
btw. is it possible to use "Ok Google" with the magic mirror?

@RavixModz that's strange, and it also gives error in terminal? It looks like your voice is not sent to Alexa. But on the other hand you've told that both the demo and voice control module works at the Mirror. Controlling the microphone is done by the library that is the same as demo has.
With this module you can only connect to Alexa, ok google is another integration and maybe someone has done it already, I don't know that.

Mmmh.
I just registered a new "product" with Alexa Voice Service on the Amazon Developer website to try it with it.
Does I have to add any IP to "Allowed Origins" or "Allowed Return URLs" in the Security Profile settings?

Yes, but you had a product before, right? Because I'm seeing that the token was set successfully before, from your logs
https://sakirtemel.github.io/MMM-alexa/

@RavixModz I had the same issue today with Raspberry Pi 3, the problem is pulseaudio.
When you remove it sudo apt-get --purge remove pulseaudio and configure the things again as described in README, the module works. But this time voicecontrol module does not work.
I think pulseaudio module is not well configured in clean install and it's the one which is making problems. So we need to find a way to enable both modules at the same time because voicecontrol module works only when the pulseaudio is installed.

was there ever a fix for the black screen. i removed pulse audio but still have a black screen and cannot use voice or button. everything else has worked fine until the black screen


Added count (and percent) columns to dt from plotting functions.

Hi Fabio,
For downstream analysis, I needed read counts, not percentages, that are used for plotting in rlength_distr() and region_psite(). For this purpose I modified these functions to include both count and percentage in dt objects.
This is a subtle modification but might be helpful to someone who needs count values. I would appreciate it if you could consider merging this.
Thanks,
Sotta

Hi Sotta,
thank you for thinking about these changes and for implementing them. No doubt they might be useful.
Merged.
Best,
Fabio


User with admin role ability to access all user folders

Is it possible to grant permission to a specific user (or user with a specific role) to see all folders created when "allow_multi_user" is set to true?

No easy solution for now. You might have to create a custom middleware, copy codes from src/middlewares/MultiUser.php, and modify yours to fit your requirement. At last you need to copy all codes from src/routes.php , paste them to your route file, and change the middlewares in the route group.

I think I found an easy solution here
https://stackoverflow.com/questions/48317269/laravel-file-manager-dynamic-base-directory/49323192#49323192

@roniecurto Did it work?

Hey @adriangordon1231,
Yes, it worked for me.

@roniecurto, I tried as you found. However, when I set to  return '/'; it bugged. Any help?

 This would help us have a better understanding of your problem. If you simply returning '/' shouldn't represent an issue at all.

@roniecurto, as you request, I have added the handler and config.lfm.php below.
The problem is when I change it to return '/', the navigation is not working properly!
ConfigHandler
<?php

namespace UniSharp\LaravelFilemanager\Handlers;

class ConfigHandler
{
    public function userField()
    {
        if (auth()->user()->hasRole('Admin')) {
            return '/';
        } else {
            return auth()->user()->id;
        }
    }
}

lfm.php
<?php

return [
    /*
    |--------------------------------------------------------------------------
    | Routing
    |--------------------------------------------------------------------------
    */

    // Include to pre-defined routes from package or not. Middlewares
    'use_package_routes' => true,

    // Middlewares which should be applied to all package routes.
    // For laravel 5.1 and before, remove 'web' from the array.
    'middlewares' => ['web', 'auth'],

    // The url to this package. Change it if necessary.
    'url_prefix' => 'laravel-filemanager',

    /*
    |--------------------------------------------------------------------------
    | Multi-User Mode
    |--------------------------------------------------------------------------
    */

    // If true, private folders will be created for each signed-in user.
    'allow_multi_user' => true,
    // If true, share folder will be created when allow_multi_user is true.
    'allow_share_folder' => false,

    // Flexible way to customize client folders accessibility
    // If you want to customize client folders, publish tag="lfm_handler"
    // Then you can rewrite userField function in App\Handler\ConfigHander class
    // And set 'user_field' to App\Handler\ConfigHander::class
    // Ex: The private folder of user will be named as the user id.
    'user_field' => UniSharp\LaravelFilemanager\Handlers\ConfigHandler::class,

    /*
    |--------------------------------------------------------------------------
    | Working Directory
    |--------------------------------------------------------------------------
    */

    // Which folder to store files in project, fill in 'public', 'resources', 'storage' and so on.
    // You should create routes to serve images if it is not set to public.
    'base_directory' => 'public',

    'images_folder_name' => 'photos',
    'files_folder_name'  => 'files',

    'shared_folder_name' => 'shares',
    'thumb_folder_name'  => 'thumbs',

    /*
    |--------------------------------------------------------------------------
    | Startup Views
    |--------------------------------------------------------------------------
    */

    // The default display type for items.
    // Supported: "grid", "list"
    'images_startup_view' => 'grid',
    'files_startup_view' => 'list',

    /*
    |--------------------------------------------------------------------------
    | Upload / Validation
    |--------------------------------------------------------------------------
    */

    // If true, the uploaded file will be renamed to uniqid() + file extension.
    'rename_file' => false,

    // If rename_file set to false and this set to true, then non-alphanumeric characters in filename will be replaced.
    'alphanumeric_filename' => false,

    // If true, non-alphanumeric folder name will be rejected.
    'alphanumeric_directory' => false,

    // If true, the uploading file's size will be verified for over than max_image_size/max_file_size.
    'should_validate_size' => false,

    'max_image_size' => 50000,
    'max_file_size' => 50000,

    // If true, the uploading file's mime type will be valid in valid_image_mimetypes/valid_file_mimetypes.
    'should_validate_mime' => false,

    // available since v1.3.0
    'valid_image_mimetypes' => [
        'image/jpeg',
        'image/pjpeg',
        'image/png',
        'image/gif',
        'image/svg+xml',
    ],

    // If true, image thumbnails would be created during upload
    'should_create_thumbnails' => true,

    // Create thumbnails automatically only for listed types.
    'raster_mimetypes' => [
        'image/jpeg',
        'image/pjpeg',
        'image/png',
    ],

    // permissions to be set when create a new folder or when it creates automatically with thumbnails
    'create_folder_mode' => 0755,

    // permissions to be set on file upload.
    'create_file_mode' => 0644,

    // If true, it will attempt to chmod the file after upload
    'should_change_file_mode' => true,

    // available since v1.3.0
    // only when '/laravel-filemanager?type=Files'
    'valid_file_mimetypes' => [
        'image/jpeg',
        'image/pjpeg',
        'image/png',
        'image/gif',
        'image/svg+xml',
        'application/pdf',
        'text/plain',
    ],

    /*
    |--------------------------------------------------------------------------
    | Image / Folder Setting
    |--------------------------------------------------------------------------
    */

    'thumb_img_width' => 200,
    'thumb_img_height' => 200,

    /*
    |--------------------------------------------------------------------------
    | File Extension Information
    |--------------------------------------------------------------------------
    */

    'file_type_array' => [
        'pdf'  => 'Adobe Acrobat',
        'doc'  => 'Microsoft Word',
        'docx' => 'Microsoft Word',
        'xls'  => 'Microsoft Excel',
        'xlsx' => 'Microsoft Excel',
        'zip'  => 'Archive',
        'gif'  => 'GIF Image',
        'jpg'  => 'JPEG Image',
        'jpeg' => 'JPEG Image',
        'png'  => 'PNG Image',
        'ppt'  => 'Microsoft PowerPoint',
        'pptx' => 'Microsoft PowerPoint',
    ],

    'file_icon_array' => [
        'pdf'  => 'fa-file-pdf-o',
        'doc'  => 'fa-file-word-o',
        'docx' => 'fa-file-word-o',
        'xls'  => 'fa-file-excel-o',
        'xlsx' => 'fa-file-excel-o',
        'zip'  => 'fa-file-archive-o',
        'gif'  => 'fa-file-image-o',
        'jpg'  => 'fa-file-image-o',
        'jpeg' => 'fa-file-image-o',
        'png'  => 'fa-file-image-o',
        'ppt'  => 'fa-file-powerpoint-o',
        'pptx' => 'fa-file-powerpoint-o',
    ],

    /*
    |--------------------------------------------------------------------------
    | php.ini override
    |--------------------------------------------------------------------------
    |
    | These values override your php.ini settings before uploading files
    | Set these to false to ingnore and apply your php.ini settings
    |
    | Please note that the 'upload_max_filesize' & 'post_max_size'
    | directives are not supported.
    */
    'php_ini_overrides' => [
        'memory_limit'        => '256M',
    ],

];

@Tarcisiofl
Your code looks good. I tested in my app return '/' and it works. It seems that your problem lays elsewhere. You should check your log to see if there's something else.
For example, does these folders (config.lfm.php) exists and are readable and writeable?
    'base_directory' => 'public',
    'images_folder_name' => 'photos',
    'files_folder_name'  => 'files',

Another thing to check, is this method working hasRole('Admin')? Is it placed in your User model?
I recommend changing user_field in config.lfm.php to something like this:
'user_field' => App\Handlers\LfmConfigHandler::class,
Because if you update the package, you won't lose the changes you've done in userField method.
It will look like this:
namespace App\Handlers;
class LfmConfigHandler extends \Unisharp\Laravelfilemanager\Handlers\ConfigHandler
{
    public function userField()
    {
        if(auth()->user()->hasRole('Admin')){
        	return '/';
        }else{
        	return '/' . auth()->id();
        }
    }
}

@roniecurto, I tried as you found. However, when I set to  return '/'; it bugged. Any help?
change to :
    return '' ;

@fahram,
Did you get an error too?

Duplicate of #322 .

Hello there, I'm still having some trouble regarding giving permission to a user with an Admin role to access all of the private folders. I think I did everything that you guys have written above, but basically nothing really happens. Could I ask for some help here please?


Statistics tab not focused after SQL Update

System information:

Operating system (distribution) and version: MacOS 12.3.1
DBeaver version: 22.0.5
Additional extensions: none

Connection specification:

Database name and version: AS/400 and MariaDB
Driver name: DB2 iSeries/AS 400   and MariaDB
Do you use tunnels or proxies (SSH, SOCKS, etc)? Issue happens without using tunnel or proxy

Describe the problem you're observing:
In the last few months, I've noticed that after performing an SQL update, the Statistics tab that appears at the bottom of the SQL editor indicating how many rows were affected  is not being focused and instead I see one of the previous results tabs (e.g. the results of a previous select query).  The Statistics tab is being created and I can switch to it but this used to happen automatically and still should IMHO.
FYI, I have DBeaver set to create a new result tab every time (not sure where this setting is but I remember setting it).
Steps to reproduce, if exist:

Open an SQL editor and connect to DB.
Execute a select statement several times until there are more result tabs at the bottom that can be displayed and the ">>" icon appears for the overflow
Select one of the first result tabs
Execute an UPDATE statement

Expected behavior:  a Statistics tab should appear saying how many rows were affected.  This tab should be visible without having to manually switch to it
Actual behavior: a previous Results tab is displayed showing rows from one of the SELECTS.  The Statistics tab is created but not selected/focused.
Include any warning/errors/backtraces from the logs

Hello @kcbaltz,
Thanks for the bug report.


[Question] Product roadmap and 1.0 release estimation?

I'm looking for an open-source HCI solution, and I found Harvester on Google. I've been watching Rancher (the tool) for a while, and pretty surprised to find this project.
Is there any kind of roadmap for Harvester, or an estimated release date for 1.0?

The roadmap is available at here and the next release would be v0.2.0.
Additionally, we have not scheduled an exact time of the GA release, it is not only about the product but we would like to gain more user cases and time-proven user cases before launching a good GA product, thanks for bearing with us.

The roadmap is available at here and the next release would be v0.2.0.
Additionally, we have not scheduled an exact time of the GA release, it is not only about the product but we would like to gain more user cases and time-proven user cases before launching a good GA product, thanks for bearing with us.

The roadmap is available in https://github.com/harvester/harvester/wiki/Roadmap


Clarify that KEY_BACK is unrelated to the Back button on Android

This closes #19325.

Thanks!

Cherry-picked for 3.2.3.


ENH: Add support for PROJ_DATA environment variable

Closes #1127

@snowman2 I wonder how long we'll be supporting PROJ_LIB? A year or more? I think this will definitely hold for that long. Thank you!

I wonder how long we'll be supporting PROJ_LIB? A year or more?

It will be dropped in PROJ 10 https://github.com/OSGeo/PROJ/issues/3255, though I am not sure on the planned release date.

I wonder how long we'll be supporting PROJ_LIB?

You should probably keep it as long as you support PROJ versions that use that env variable? (which I suppose will be longer than a year)

We have a numpy and GDAL version policy based on https://numpy.org/neps/nep-0029-deprecation_policy.html. We'll add PROJ. Even though fiona doesn't use the PROJ API (only via GDAL), there's no way around PROJ_LIB/PROJ_DATA.

Thanks @sgillies :+1:


Update drive-auth.js

Added request_type: code to authurl

What difference does this change make?


Broken URL for Dundee City Council

Broken URL: #https://data.dundeecity.gov.uk/

Fixed now. Portal was temporarily broken during migration from CKAN to ArcGIS. Now using DCAT feed scraper as of 64a82b9ec9e0b5dcc6b6e06d66065337ec90c18a


Refactor test suite to be more readable?

While working on #174, I also worked on the test suite. In there we have the ginormous tests that are hard to parse, because they do so many things at the same time:
https://github.com/pytorch/data/blob/c06066ae360fc6054fb826ae041b1cb0c09b2f3b/test/test_datapipe.py#L382-L426
I was wondering if there is a reason for that. Can't we split this into multiple smaller ones? Utilizing pytest, placing the following class in the test module is equivalent to the test above:
class TestLineReader:
    @pytest.fixture
    def text1(self):
        return "Line1\nLine2"

    @pytest.fixture
    def text2(self):
        return "Line2,1\nLine2,2\nLine2,3"

    def test_functional_read_lines_correctly(self, text1, text2):
        source_dp = IterableWrapper([("file1", io.StringIO(text1)), ("file2", io.StringIO(text2))])
        line_reader_dp = source_dp.readlines()
        expected_result = [("file1", line) for line in text1.split("\n")] + [
            ("file2", line) for line in text2.split("\n")
        ]
        assert expected_result == list(line_reader_dp)

    def test_functional_strip_new_lines_for_bytes(self, text1, text2):
        source_dp = IterableWrapper(
            [("file1", io.BytesIO(text1.encode("utf-8"))), ("file2", io.BytesIO(text2.encode("utf-8")))]
        )
        line_reader_dp = source_dp.readlines()
        expected_result_bytes = [("file1", line.encode("utf-8")) for line in text1.split("\n")] + [
            ("file2", line.encode("utf-8")) for line in text2.split("\n")
        ]
        assert expected_result_bytes == list(line_reader_dp)

    def test_functional_do_not_strip_newlines(self, text1, text2):
        source_dp = IterableWrapper([("file1", io.StringIO(text1)), ("file2", io.StringIO(text2))])
        line_reader_dp = source_dp.readlines(strip_newline=False)
        expected_result = [
            ("file1", "Line1\n"),
            ("file1", "Line2"),
            ("file2", "Line2,1\n"),
            ("file2", "Line2,2\n"),
            ("file2", "Line2,3"),
        ]
        assert expected_result == list(line_reader_dp)

    def test_reset(self, text1, text2):
        source_dp = IterableWrapper([("file1", io.StringIO(text1)), ("file2", io.StringIO(text2))])
        line_reader_dp = LineReader(source_dp, strip_newline=False)
        expected_result = [
            ("file1", "Line1\n"),
            ("file1", "Line2"),
            ("file2", "Line2,1\n"),
            ("file2", "Line2,2\n"),
            ("file2", "Line2,3"),
        ]

        n_elements_before_reset = 2
        res_before_reset, res_after_reset = reset_after_n_next_calls(line_reader_dp, n_elements_before_reset)
        assert expected_result[:n_elements_before_reset] == res_before_reset
        assert expected_result == res_after_reset

    def test_len(self, text1, text2):
        source_dp = IterableWrapper([("file1", io.StringIO(text1)), ("file2", io.StringIO(text2))])
        line_reader_dp = LineReader(source_dp, strip_newline=False)

        with pytest.raises(TypeError, match="has no len"):
            len(line_reader_dp)

This is a lot more readable, since we now actually have 5 separate test cases that can individually fail. Plus, while writing this I also found that test_reset and test_len were somewhat dependent on test_functional_do_not_strip_newlines since they don't neither define line_reader_dp nor expected_result themselves.

Or even more readable:
class TestLineReader:
    @pytest.fixture
    def files_with_text(self):
        return [
            ("file1", "Line1\nLine2"),
            ("file2", "Line2,1\nLine2,2\nLine2,3"),
        ]

    def make_str_dp(self, files_with_text):
        return IterableWrapper([(file, io.StringIO(text)) for file, text in files_with_text])

    def make_bytes_dp(self, files_with_text):
        return IterableWrapper([(file, io.BytesIO(text.encode("utf-8"))) for file, text in files_with_text])

    def test_functional_read_lines_correctly(self, files_with_text):
        line_reader_dp = self.make_str_dp(files_with_text).readlines()

        expected = []
        for file, text in files_with_text:
            expected.extend((file, line) for line in text.splitlines())

        assert expected == list(line_reader_dp)

    def test_functional_strip_new_lines_for_bytes(self, files_with_text):
        line_reader_dp = self.make_bytes_dp(files_with_text).readlines()

        expected = []
        for file, text in files_with_text:
            expected.extend((file, line.encode("utf-8")) for line in text.splitlines())

        assert expected == list(line_reader_dp)

    def test_functional_do_not_strip_newlines(self, files_with_text):
        line_reader_dp = self.make_str_dp(files_with_text).readlines(strip_newline=False)

        expected = []
        for file, text in files_with_text:
            expected.extend((file, line) for line in text.splitlines(keepends=True))

        assert expected == list(line_reader_dp)

    def test_reset(self, files_with_text):
        line_reader_dp = LineReader(self.make_str_dp(files_with_text))

        expected = []
        for file, text in files_with_text:
            expected.extend((file, line) for line in text.splitlines())

        n_elements_before_reset = 2
        res_before_reset, res_after_reset = reset_after_n_next_calls(line_reader_dp, n_elements_before_reset)

        assert expected[:n_elements_before_reset] == res_before_reset
        assert expected == res_after_reset

    def test_len(self, files_with_text):
        line_reader_dp = LineReader(self.make_str_dp(files_with_text))

        with pytest.raises(TypeError, match="has no len"):
            len(line_reader_dp)

I like this idea!
cc: @NivekT Do you want to incorporate this into your PR https://github.com/pytorch/pytorch/pull/70215

Ah, that might be an issue. In PyTorch core you cannot rely on pytest so if you want to have this there, you need to adapt what I proposed a little:

For unittest each test case needs to inherit from unittest.TestCase or any other derivative.
@pytest.fixture's are not available. A workaround might be to store the files_with_text in a class constant and access it from there.

@pytest.fixture's are not available. A workaround might be to store the files_with_text in a class constant and access it from there.

I believe we can do setupClass for this case.

Thanks for the suggestion! I think this is cleaner than what we have. It will take quite a bit of manual refactoring of each DataPipe to get there.
I am wondering if we can do something even better - a standard template to test out DataPipe with less manual code writing (maybe just specifying the inputs), similar to what OpsInfo does in PyTorch Core.

FWIW, we've started something similar in torchtext. See here if you're interested.


Error repeatedly logs

Hi,
A friend and I have tried to set up a matterlink and bridge but we've currently run into this issue whenever we type something in minecraft:
[21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.transmitMessage(MessageHandler.java:166)
[21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.transmit(MessageHandler.java:119)
[21:09:59] [Server thread/INFO] [STDERR]: [matterlink.api.MessageHandler:transmitMessage:161]:  at matterlink.api.MessageHandler.stop(MessageHandler.java:61)

these three lines keep repeating themselves and time everyone out from the server. What other info do you need from me to help resolve this?
NikkyAI/MatterLinkAPI#1

i think i found the issue and what caused it.. a recursion hapopened where it could not send messages so the message about the error triggered the next error...
is fixed in 68144ae51232e25104ea4703aefb8f2ad3401dda

Cool


VSCodeCheckbox onChange handler called on first render

Describe the bug
VSCodeCheckbox React components that have a checked value which references a React state variable initialised to true will call their onChange prop on first render. Since the onChange prop is usually toggling that same state variable, the component enters into an infinite recursive loop.
This actually seems to happen when useState is initialised with anything other than false.  It doesn't occur when the checked prop has a literal value of true.
To reproduce
The problem can be reproduced with the following code:
import React, { FunctionComponent, useState } from "react";
import { VSCodeCheckbox } from "@vscode/webview-ui-toolkit/react";

const MyPage: FunctionComponent = () => {
  const [isChecked, setIsChecked] = useState(true);

  function toggleChecked() {
    console.log("I'll be called on first render");
    setIsChecked(checked => !checked)
  }

  return (
    <VSCodeCheckbox onChange={toggleChecked} checked={isChecked}>
      Toggle checked
    </VSCodeCheckbox>
  );
};

Expected behavior
The onChange handler should only be called when the checkbox is first clicked, like normal <input type="checkbox" /> elements.
Current behavior
The onChange handler is called immediately on first render, which results in an infinite loop if it toggles the value read by checked.
Desktop (please complete the following information):

OS Version: macOS 12.6
Toolkit Version: v1.1.0

I've also encountered such an issue, the component keeps re-rendering util its max-depth when triggered onChanged event.

Thanks again for the bug report @deerob4!
Like I said in your other issue, I've been a bit busy with other work but will also put this on the top of my todo list once I have some free cycles 😊


Fix Netsparker Form Based Auth

Fixing issue by setting ExcludeAuthenticationPages to true.

Review has been done, PR will be merged

Albert Tregnaghi<EMAIL_ADDRESS>Daimler TSS GmbH, imprint


Implement NSDictionary.description

What would be the expected behavior if a negative indent level is passed?

id say that would definitely be in the territory of programmer error or undefined behavior for the darwin version. So perhaps precondition if you think it warrants it; the objc version's interface is an NSUInteger for the level which gets translated to Int in swift unfortunately.

It that okay to change the indent level type to UInt?

UInt would diverge from the API that is currently exposed in swift on Darwin platforms. Even though it would be more type safe it would diverge usage patterns. So lets keep it as Int

I updated it as requested. Since most classes' descriptionWithLocale and descriptionWithLocale:indent are unimplemented, I just added some basic tests.

looks like a pretty decent start to me, will merge once I can verify tests on linux