ENV: pass formula to setup_build_environment

Second attempt to fix the perl postinstall step.
The perl formula will need to be modified and will need to pass self to with_build_environment.

Codecov Report

Merging #785 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #785   +/-   ##
=======================================
  Coverage   70.48%   70.48%
=======================================
  Files         384      384
  Lines       20527    20527
=======================================
  Hits        14469    14469
  Misses       6058     6058

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 6bfd468...59d1d92. Read the comment docs.

I guess I'm a bit lost, there only seems to be one other caller for this function and no callers other than perl.rb in linuxbrew. I guess it's fine but I'm not sure if upstream would be interested in this patch since the perl postinstall step seems like almost a hack.

This is the point. I guess that the we do not want to have superenv enabled during postinstall by default. So you need a way to manually set the env. For Perl we need to compile these modules in the postinstall step (not sure why exactly).
Soni think this here will fix our current problem. If it is what we want in the long run as a solution is a different topic.

We recently enabled ENV.refurbish_args by default.
brew postinstall does not call ENV.setup_build_environment
perl calls ENV.with_build_environment in postinstall
ENV.with_build_environment calls ENV.setup_build_environment(formula = nil)
HOMEBREW_FORMULA_PREFIX is set to nil
shims/super/cc does not know which formula is being built.
These two lines of code do not work:
https://github.com/Linuxbrew/brew/blob/199540b52f6e33184a061eda8473042a98e0ad03/Library/Homebrew/shims/super/cc#L231-L232

Closing without merging. See above comment.

Superseded by PR https://github.com/Linuxbrew/homebrew-core/pull/8842


Stress Test

Hi,
I actually got big performance drops when using the swiper with 14 plus slides.
I am not sure if it is my setup or if the swiper has a slides number after which it becomes laggy.
Is there something like a official stress test with 100 slides or so?

Hi, is there any solution for this? i have problems with 5 sliders with 13 products each in Magento 2, while on desktop works great with 1 or 2, with 5 gets bit laggy but on android is impossible to handle


what is the meaning of the audio source id?

Not sure what part of the source code or App UI you are referring to.
In general, the meaning of audio source id can be found in Android developer reference MediaRecorder.AudioSource.

If your question got answered, shall we close this issue?

yes, thanks a lot


How to fetch older tweets.

I have been trying to fetch older tweets. Some 3 months older, but i am unable to get them. Can you tell how to get them?

If you're meaning as results from a search, you can't go back that far. I think the limit is 7 days.
If you need older results than that then there are companies with paid for APIs that will be able to return older results (e.g. GNIP).
Other endpoints aren't limited to the past 7 days, let me know if this is what you need help with but I expect it's the search limtation you're running in to.

@JoshKeegan Sir, i am searching tweets on basis of specific hashtags. The code works fine if i search till 29th of last month. but when i go beyond that date. It shows nothing.

Interesting to hear that you're managing to get results from that long ago. I checked in the Twitter API docs & the limit is definitely defined as 7 days (https://dev.twitter.com/rest/public/search). Although I know their implementation of this isn't exact as in the forums they always say "approximately 7 days" or similar, so they're probably removing old data in chunks.
I'd be careful relying on getting results from more than 7 days ago as even it's working now, there's no guarantee it will in a few days/weeks/months.

Agree with @JoshKeegan here. I am not sure what your requirements are but if you really need to access data, either you can use GNIP (paid endpoint) or storing the historical data is also an option. Fetch fresh tweets, store them in database or whatsoever, then you can use that historical data as per your needs. Beware of the fact that this will represent the fraction of the actual data.

Just an additional comment regarding my personal experience with search.
Twitter officially support access to the 7 days history. But in reality this often varies between 7 and 14 days.
I have not been able to get back to 30 days for quite a while but I know this has been possible in the past.
As suggested by @JoshKeegan you will have to use GNIP to access old tweets, or as suggested by @haseeb1431 start fresh and use the SampleStream or FilteredStream to store the tweets in your own database. Then you will be able to query it. Be careful of the database scaling as 1% of total tweets represents 5 millions tweets per day.


tls配置

Issue Type
Feature Request
Source
binary
Secretflow Version
0.8.0.b1
OS Platform and Distribution
Linux Centos7
Python version
3.8.13
Bazel version
No response
GCC/Compiler version
No response
What happend and What you expected to happen.
想请教一下，根据issue#408(https://github.com/secretflow/secretflow/issues/408)的方式配置证书，运行的时候一直报错：
(RecverProxyActor pid=61204) E0404 08:59:26.910483733   61301 ssl_transport_security.cc:1934] No match found for server name: <IP_ADDRESS>.
(RecverProxyActor pid=61204) E0404 08:59:28.488771453   61301 ssl_transport_security.cc:1934] No match found for server name: <IP_ADDRESS>.
(SendProxyActor pid=61302) 2023-04-04 08:59:36 ERROR barriers.py:240 [alice] --  Failed to send data to seq_id 14 of bob from {upstream_seq_id}, error: <AioRpcError of RPC that terminated with:
(SendProxyActor pid=61302)      status = StatusCode.UNAVAILABLE
(SendProxyActor pid=61302)      details = "failed to connect to all addresses; last error: UNKNOWN: Peer name <IP_ADDRESS> is not in peer certificate"
(SendProxyActor pid=61302)      debug_error_string = "UNKNOWN:Failed to pick subchannel {created_time:"2023-04-04T08:59:36.138487352+00:00", children:[UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: Peer name <IP_ADDRESS> is not in peer certificate {grpc_status:14, created_time:"2023-04-04T08:59:36.138472272+00:00"}]}"
(SendProxyActor pid=61302) >
(SendProxyActor pid=61302) 2023-04-04 08:59:37 ERROR barriers.py:240 [alice] --  Failed to send data to seq_id 17 of bob from {upstream_seq_id}, error: <AioRpcError of RPC that terminated with:
(SendProxyActor pid=61302)      status = StatusCode.UNAVAILABLE
(SendProxyActor pid=61302)      details = "failed to connect to all addresses; last error: UNKNOWN: Peer name <IP_ADDRESS> is not in peer certificate"
(SendProxyActor pid=61302)      debug_error_string = "UNKNOWN:Failed to pick subchannel {created_time:"2023-04-04T08:59:37.784503412+00:00", children:[UNKNOWN:failed to connect to all addresses; last error: UNKNOWN: Peer name <IP_ADDRESS> is not in peer certificate {created_time:"2023-04-04T08:59:37.784487023+00:00", grpc_status:14}]}"
(SendProxyActor pid=61302) >
2023-04-04 08:59:38 WARNING cleanup.py:62 [alice] --  Signal self to exit.
*** SIGTERM received at time=1680598778 on cpu 35 ***
2023-04-04 08:59:38 INFO cleanup.py:66 [alice] --  Check sending thread was exited.
PC: @     0x7f8e9120e79a  (unknown)  pthread_cond_timedwait@@GLIBC_2.3.2
    @     0x7f8e91212ce0  (unknown)  (unknown)
[2023-04-04 08:59:38,379 E 61041 61041] logging.cc:361: *** SIGTERM received at time=1680598778 on cpu 35 ***
[2023-04-04 08:59:38,379 E 61041 61041] logging.cc:361: PC: @     0x7f8e9120e79a  (unknown)  pthread_cond_timedwait@@GLIBC_2.3.2
[2023-04-04 08:59:38,379 E 61041 61041] logging.cc:361:     @     0x7f8e91212ce0  (unknown)  (unknown)
(SendProxyActor pid=61302) 2023-04-04 08:59:38 ERROR barriers.py:240 [alice] --  Failed to send data to seq_id 10 of bob from {upstream_seq_id}, error: <AioRpcError of RPC that terminated with:
(SendProxyActor pid=61302)      status = StatusCode.DEADLINE_EXCEEDED
(SendProxyActor pid=61302)      details = "Deadline Exceeded"
(SendProxyActor pid=61302)      debug_error_string = "UNKNOWN:Deadline Exceeded {created_time:"2023-04-04T08:59:38.372438565+00:00", grpc_status:4}"
(SendProxyActor pid=61302) >
2023-04-04 08:59:39 INFO cleanup.py:103 [alice] --  Notify check sending thread to exit.
网络查到的资料(https://blog.csdn.net/u011627161/article/details/87936361)是说gRPC不支持IP作为主机地址的原因，不太确定是不是这个原因，如果是的话在secretflow应该怎么去配置呢？

Reproduction code to reproduce the issue.
.

请问你也是给 SPU 配置 tls 吗？
https://github.com/secretflow/secretflow/issues/408 提到

由于文档同步错误，当前版本secretflow的并未开放SPU的TLS配置项。
secretflow计划会在下周有新的版本发布会包含这部份内容，烦请届时重试相关case

请问你也是给 SPU 配置 tls 吗？
#408 提到

由于文档同步错误，当前版本secretflow的并未开放SPU的TLS配置项。
secretflow计划会在下周有新的版本发布会包含这部份内容，烦请届时重试相关case

不是，是给ray集群配置tls
cluster_config ={
'parties': {
'alice': {
# replace with alice's real address.
'address': '<IP_ADDRESS>:9002',
'listen_addr': '<IP_ADDRESS>:9002'
},
'bob': {
# replace with bob's real address.
'address': '<IP_ADDRESS>:9002',
'listen_addr': '<IP_ADDRESS>:9002'
},
},
'self_party': 'alice'
}
tls_config = {
"ca_cert": "tmp/ca.crt",
"cert": "tmp/server.crt",
"key": "tmp/server.key",
}
sf.init(address='<IP_ADDRESS>:9001', cluster_config=cluster_config, tls_config=tls_config)

Hi, @humeng1832596901
Peer name <IP_ADDRESS> is not in peer certificate

This is because the common name (CN) on your certificate is not signed for "<IP_ADDRESS>". To use your self-signed certificate, you can edit the /etc/hosts file to set the domain that is signed in the certificate to "<IP_ADDRESS>".

Hi, @humeng1832596901
Peer name <IP_ADDRESS> is not in peer certificate

This error message is appearing because the common name (CN) on your certificate isn't signed for this IP (<IP_ADDRESS>). To use your self-signed certificate, you can edit the /etc/hosts file to set the domain that is signed in the certificate to <IP_ADDRESS>.

谢谢，我试一下


Fix usage with Protobuf static libraries on Unix

Hi,
to be able to build an application using Protobuf as static library under Linux, I needed to fix the FindProtobuf.cmake.
I was inpired by FindBoost.cmake to find correctly the static libs. I also add the Protobuf_USE_STATIC_LIBS input variable, that must be set to ON to search for static libs.
I hope these changes will be usefull for other CMake users.
Regards,
S. Gallou

Thanks.  Please see CONTRIBUTING.rst for the preferred contribution path and submit a merge request to our GitLab instance.  You can still authenticate with GitHub if preferred.
Also, please add a Help/release/dev/FindProtobuf-static-libs.rst file with a release note for this feature.  See other notes in that directory for examples.


nixos/cloudflared: init

Motivation for this change
https://blog.cloudflare.com/tunnel-for-everyone/
Can be used like this:
{
  services.cloudflared = {
    enable = true;
    tunnels = {
      "00000000-0000-0000-0000-000000000000" = {
        credentialsFile = "${config.sops.secrets.cloudflared-creds.path}";
        ingress = {
          "*.domain1.com" = "http://localhost:80";
          "*.domain2.com" = "http://localhost:80";
        };
        default = "http_status:404";
      };
    };
  };
}

Things done

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

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

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

cc @thoughtpolice @enorris maybe

/marvin opt-in
/status needs_reviewer

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/530

Unfortunately I'm not sure I have the ability to test this, but the code seems fine to me

/marvin needs_reviewer

Thanks. I'm using it successfully since for 3 tunnels (only 1 host per tunnel).

/marvin needs_reviewer

/status needs_reviewer

The current state supports a majority of use cases, but cloudflared supports many options. Option can also be root or origin level.

I closed the PR as a mistake after a bad push. I'll check with the other PR.

@bbigras Do you still have this module somewhere?  I would like to use it but it seems to be gone unfortunately.

I'll check. By the way, I heard that CloudFlare now has a ui to configure tunnels so maybe the module is not needed anymore. I haven't tried it yet.

@bbigras Do you still have this module somewhere? I would like to use it but it seems to be gone unfortunately.

@GoogleBot42 If you are still interested, I just made a new draft PR https://github.com/NixOS/nixpkgs/pull/171875

sweet thanks


Copy collections, two factor auth & improved user flow

Hi,
Thanks for the script, I did some quick adjustments if you are interested:

Added two factor auth support
hide password on entry
only list plex servers not players
hide smart playlists
improved user interaction / readability
added 2nd script to copy collections

Tnx for your improvements.
It really needed ‘Added two factor auth support’!

@paviro Works like a charm, some thoughts to improve:

Add a question 'do you want to copy another playlist'
Explain in the Readme.md how to start the scrip python3 copyplaylist.py
Explain that to copy non Admin users, one has to log on as those users.

Overall pretty happy with the script @jim-olsen and you 'hacked' together. I'm migrating Plex Servers and GF has many playlist, this keeps her happy!

@paviro Works like a charm, some thoughts to improve:

Add a question 'do you want to copy another playlist'
Explain in the Readme.md how to start the scrip python3 copyplaylist.py
Explain that to copy non Admin users, one has to log on as those users.
Create a log file (on disk) with the success and/or failed items.

Overall pretty happy with the script @jim-olsen and you 'hacked' together. I'm migrating Plex Servers and GF has many playlist, this keeps her happy!
PS: Smart Playlist are not seen!


Improving erasure

Working with erased types in F* can be quite cumbersome. Can we identify some of the pain points and find ways to improve it?
Here's a start:
Inference of implicit arguments that have ghost effect does not work, even when the resulting type is non-informative.
//We have a simple indexed type
type t (n:nat) = m:nat{m == n}

//And a function that takes the index as an implicit argument
//returning a non-informative type, e.g., unit, Type, G.erased ...
let f (#x:nat) (y:t x) : unit = ()

//Now, if you call f with an explicit argument, it's fine
let test (x:G.erased nat) (y:t (G.reveal x)) : unit = f #(Ghost.reveal x) y

//But, leave it implicit and although F* infers the same elaboration
//as the term above it rejects it
[@expect_failure]
let test2 (x:G.erased nat) (y:t (G.reveal x)) : unit = f y

This is now fixed in master, see examples/micro-benchmarks/GhostImplicits.fst. The idea is that in phase1, we allow implicit arguments to be resolved to ghost computations, since in phase2 the elaborated term will be checked again for effect correctness.
That said, in computationally relevant contexts, code like test2 is still rejected.
//But, if you have a function that is not computationally irrelevant,
//then instantiating its implicits to ghost terms should fail
let g (#x:nat) (y:t x) : nat = y

//But, leave it implicit and although F* infers the same elaboration
//as the term above it rejects it
[@(expect_failure [34])]
let test3 (x:G.erased nat) (y:t (G.reveal x)) : nat = g y

The set of erased types is fixed
Currently, this is the class of types that F* will erase:
   must_erase ::= unit
               | Type
               | FStar.Ghost.erased t
               | x:must_erase{t'}            //any refinement of a must_erase type
               | t1..tn -> PURE must_erase _ //any pure function returning a must_erase type
               | t1..tn -> GHOST t' _        //any ghost function

If you have some other type that you would like to erase, aside from wrapping that type in Ghost.erased, you're out of luck.
The module FStar.Ghost and its main type erased have special status in the compiler. Instead, let's make the notion of must_erase types extemsible using an attribute.
Specifically, let's add an attribute FStar.Pervasives.must_erase which can be used to decorate an inductive type definition.
E.g., one could write
[@must_erase]
type t = {
   a:nat;
   b:bool
}

A must_erase type comes with the following elimination restriction:

Any pattern matching on a value of a must-erase type has Ghost effect. E.g, you can only define projectors for the fields of t above in the Ghost effect, not in Pure. This is analogous to a restriction on eliminating Prop to Type in Coq.

In return, F* will treat t as non-informative in computationally relevant contexts and erase it during extraction.
The benefit is that in computationally irrelevant contexts, constructing and destructing t's is easy: there's no need to go via the indirection of a Ghost.reveal and Ghost.hide.
By giving special treatment to the must_erase attribute, we no longer need to give special status to FStar.Ghost.erased. It can simply be defined as:
[@must_erase]
type erased a = { v : a }

Ghost.reveal and hide need to be written explicitly
With the use of must_erase attribute, perhaps our reliance on Ghost.erased and its corresponding reveal/hide will be reduced. However, I expect we will continue to use Ghost.erased, e.g., to easily define must_erase variants of existing types. E.g., erased nats, or erased lists etc.
How about extending our existing (though limited) support for the b2t coercion to allow implicitly coercing between a and erased a (via hide) and back via reveal?
This may make erasure more palatable ... but perhaps also harder to predict.
Erasure is type directed rather than semantic
Going back to this example:
//But, if you have a function that is not computationally irrelevant,
//then instantiating its implicits to ghost terms should fail
let g (#x:nat) (y:t x) : nat = y

//But, leave it implicit and although F* infers the same elaboration
//as the term above it rejects it
[@(expect_failure [34])]
let test3 (x:G.erased nat) (y:t (G.reveal x)) : nat = g y

One could argue that test3 (or its elaboration g #(Ghost.reveal x) y) should succeed, since g really does not depend on the value of x at all.
This one is harder to solve. Should the programmer have instead explicitly requested erasure by writing
let h (#x:erased nat) (y:t (G.reveal x)) : nat = y

? But that's much more cumbersome to write. Perhaps with coercion insertion for reveal/hide it might not be so bad
let h (#x:erased nat) (y:t x) : nat = y

Other problems with erasure?

This looks great @mtzguido ... thanks! Do you want to create a pull request towards merging this to master?

Yes! Doing so now.

#1851


Support pagination of App Runner ListServices

For aws/aws-cli#8124

Hi @dgholz,
Thank you for the contribution.  These model files are controlled by upstream services, and if we were to alter them could be overwritten and broken with any given release.  Ideally the app runner service team can make this feature upstream and will vend it to be used by all of our SDKs rather than only boto3 and the CLI. I have opened a feature request in the repo where we place issues that impact all SDKs and have made an internal ticket to the team as well.


Rotated display records incorrect orientation and misinterprets the geometry passed to it

I have a rotated display
output DP-1 resolution 1920x1080 position 0,0
output DP-1 transform 270

but the recording is in the wrong orientation. It looks like the recording ignores the transform 270.
This problem is also shown when trying to use wf-recorder -g "$(slurp)" it records a different spot on the screen

Duplicate of #3


Fix an issue that causes gestures not reaching the emptyDataSetView on iOS 7

This commit introduces a indexForEmptyDataSetView method to encapsulate the logic that figures out where to insert the DZNEmptyDataSetView in the UIScrollView subviews hierarchy.
Figuring out the proper index is moderately complex because it needs some decision making based on the UIScrollViews actual class and the current iOS version.
This is a fix for #47

Tried to update one of my apps to the latest version of DZNEmptyDataSet today, and still ran into this issue with the latest :head pod.
I dug in a bit more, and came up with a simpler fix.
Basically, the problem is that UITableViewWrapperView doesn't allow touches to pass through on iOS 7, but that's something we can change when adding the emptyDataSetView to the hierarchy.
In dzn_reloadEmptyDataSet do the following:
// snip
DZNEmptyDataSetView *view = self.emptyDataSetView;

        if (!view.superview) {
            // Send the view all the way to the back, in case a header and/or footer is present, as well as for sectionHeaders or any other content
            if (([self isKindOfClass:[UITableView class]] || [self isKindOfClass:[UICollectionView class]]) && self.subviews.count > 1) {
                [self disableUserInteractionOfUITableWrapperViewIfNecessary];
                [self insertSubview:view atIndex:0];
            }
            else {
                [self addSubview:view];
            }
        }
// snip

And then implement disableUserInteractionOfUITableWrapperViewIfNecessary as follows:
- (void)disableUserInteractionOfUITableWrapperViewIfNecessary
{
    if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1 &&
        floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_7_1 &&
        [self isKindOfClass:[UITableView class]]) {
        for (UIView *subview in [self subviews]) {
            if ([subview isKindOfClass:NSClassFromString(@"UITableViewWrapperView")]) {
                subview.userInteractionEnabled = NO;
            }
        }
    }
}

New fix suggested in #126


Swift 3 compatibility

Hey, I'd love to see this lib available in Swift 3 so I can implement it in my project.
Thanks 😄

Lucas,
It will be soon. I have to take care of other projects now,
thanks,
Janusz
On Wed, Sep 21, 2016 at 4:00 AM, Lucas Farah<EMAIL_ADDRESS>wrote:

Hey, I'd love to see this lib available in Swift 3 so I can implement it
in my project.
Thanks 😄
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/izotx/JMCBeaconManager/issues/9, or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-qDsJ_-YF9I_uh1vflQQKPSeJ3PzzUks5qsPImgaJpZM4KCjwO
.


walk around nim 0.11.3 compiler bug

Fixes #6

This change caused the tests to hang indefinitely.
intLimit is for some reason always 0.


[Backup] az backup restore restore-disks Update Cross Zonal Restore behaviour for ZRS vaults and secondary region CRR scenarios.

Adds use_secondary_region to czr validation call
Allows CZR for all scenarios in ZRS.
Disallows CZR for zone-pinned primary region CRR restore.

Related command

az backup restore restore-disks
Description

Cross Zonal Restore is now allowed on all ZRS vaults regardless of zone-pinning, and is disallowed for all primary region CRR restores (regardless of zone pinning). Update on CLI end to reflect the same.
Testing Guide

History Notes

az backup restore restore-disks: The --target-zone argument can now be used with non zone pinned ZRS vaults, and is not allowed for CRR vaults in primary region restore scenario with zone pinned vaults either.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

Backup

/azp run

/azp run


Open Source Test Framework - Community Controller qualification tests

hey @eric978 , can you provide more description on this issue?


Refactor features.

Move neuritefunc functions that expect neurons to neuronfunc. The functions are:
max_radial_distances, number_of_sections, number_of_neurites, number_of_bifurcations, number_of_forking_points, number_of_terminations, number_of_segments
Make neuronfunc to work with list of neurons besides a neuron and a neuron population.
Name consistency among private variables.

Codecov Report

:exclamation: No coverage uploaded for pull request base (2.4.0@b6bca5d). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             2.4.0      #939   +/-   ##
=========================================
  Coverage         ?   100.00%
=========================================
  Files            ?        37
  Lines            ?      2126
  Branches         ?         0
=========================================
  Hits             ?      2126
  Misses           ?         0
  Partials         ?         0

moving of features from neurite to neuron would make a difference in the feature extraction part, as it classifies them according to neurite_types or neuron irrc

Those feature functions expect neurons as input, so it is misleading to keep them in neuritefunc.

yes, I agree with your change, I was just thinking of possible things that could break because of that, but it should be minor indeed, will you merge that in 2.4.0 branch as well?

will you merge that in 2.4.0 branch as well?

yes, you can see the merging branch at the top, right below the PR's title.

2.4.0 will be released in a couple of weeks from now, no worries.


TreeView and TreeItem components

Category
[x] Enhancement
[ ] Bug
[ ] Question
New component(s)
TreeView and TreeItem, should be used as follows:
<TreeView>
  <TreeItem key="1" label="Group header">
    <TreeItem key="2" label="Item 1" />
    <TreeItem key="3" label="Item 2" />
  </TreeItem>
</TreeView>

Hi @estruyf ,
Me and @siddharth-vaghasia will be happy to take this.

Hi @estruyf
Can you please help to define the end user usage for this control?
We propose to have usage something like below:

where, treeitems will be an array of JSON with hierarchical structure of TreeItems

Hi @nanddeepn!
I think hierarchical JSON is ok.
But I would also think more broadly as this kind of control must be pretty flexible.
If you even look at TaxonomyPicker where we have tree inside, you'll see we need:

IconProps for items. And different items can have different icons
SelectionMode : none, single, multi (similar to DetailsList)
Some API to provide additional items to the component. Like, vertical three dots with contextual menu
We definitely need onSelect, onExpand
It would be also great to have ability to provide custom rendering, something like onRenderNode(node: ITreeItem)
I would include data property to the TreeItem props and ITreeItem interface to contain any data related to the node
Maybe consider having parent reference in ITreeItem - it may be helpful in many scenarios

@estruyf  - any additions?

Hi @AJIXuMuK
Thanks for your detailed response.
Unfortunately, my previous comment discarded html format of proposed usage. Just adding it here again for your review.
<TreeView items={treeitems}> </TreeView>
Please share your view.

Hey @nanddeepn,
I would expect something like
<TreeView
  items={treeItems}
  onSelect={(treeItem: ITreeItem, ...) => {...}}
  onExpand={(treeItem: ITreeItem, ...) => {...}}
  onRenderItem={(treeItem: ITreeItem, ...) => {...}}
  selectionMode={SelectionMode.None/Single/Multi} />

And each treeItem is of ITreeItem type:
interface ITreeItem {
iconProps?: IIconProps;
disabled?: boolean;
data?: any;
key: string;
label: string;
subLabel?: string; //maybe
actions?:  Probably something that can be achieve with onExpand

@AJIXuMuK ...thanks for your valuable suggestion...we have started working on this and will share updates soon... meanwhile, can you help with below confirmation.
what will be the schema of 'treeItems' array which will be passed by the end developer while using this control?
As of now, we have written logic to convert flat structure to hierarchy structure
Like user has to pass below object (flat hierarchy)

This will be converted to below object

and then we are processing this object to create an actual tree view.
So do we need to force the user to pass flat structure and we do the processing to create a hierarchy OR We need to ask user to provide a hierarchy?
Please advise. hope this question is making sense :P

Hi @siddharth-vaghasia,
I would expect a hierarchy... Similarly to Context Menu in Office UI Fabric
[{
  "key": "key",
  "text": "text",
  ...
  "children": [...]
}[

yes, we also thought so..... thanks...

Hi @AJIXuMuK ,
One question, should TreeView support multiple root nodes?

Hi @nanddeepn,
I think yes. It’s a natural scenario for folders, navigation

Hi @AJIXuMuK
We are thinking of implementing indeterminate state for the parent checkbox (as in image here)

Indeterminate state property is supported in Office UI Fabric V7.105.3 (latest version)
Reference: https://docs.microsoft.com/en-us/javascript/api/examples/checkbox?view=office-ui-fabric-react-latest
However Office UI Fabric version supported by SPFx v1.10.0 is 6.189.2, which does not support Indeterminate state property.
Questions:

Is it advisable to upgrade to Office UI Fabric V7.105.3? But, this might not work fluently unless individual upgrades the Office UI Fabric to V7.105.3 in their SPFx solutions.
Or should we target this (indeterminate state) functionality for checkbox in the future release?

Please advise.

Thanks @AJIXuMuK
Please have a quick review the implementation of control
https://github.com/nanddeepn/code-samples/tree/master/SPFx/TreeView
If you are fine with the implementation, we will raise PR.
Thank you.

@AJIXuMuK Sending link again as it is broken in above message
https://github.com/nanddeepn/code-samples/tree/master/SPFx/TreeView

Hi @siddharth-vaghasia, @nanddeepn!
Great job guys! It will be really great addition to the library!
I have few comments though.

I like the idea of having treeItemActions in the TreeView. But it looks like in that case you can't have different actions for different tree items. They will be the same for all items. I think actions property in ITreeItem is enough. And we can use the same function to define the same set of actions to each item if needed.
treeItemActionsDisplayStyle: TreeItemActionsDisplayStyle.textAndIcon - I think we can just check if we have iconProps and text for the action. For example, one item can have both, another - text only. See ContextualMenu.
Please, use Capitalized values in enums. Buttons instead of buttons.
TreeItemActionsDisplayMode.dropdown - I would name it TreeItemActionsDisplayMode.ContextualMenu.
Could you please use MoreVertical instead of ChevronDown for the actions?
After 5 is done we can use Chevron instead of custom icons for expand/collapse state of the tree items. Similarly how it's done in Nav component of Office UI Fabric.
I personally don't like that createChildNodes is passed as props to the TreeItem. I think TreeItem should be more "encapsulated" and this function should be implemented inside TreeItem itself.
I would reduce spacing between label and sub-label.
I would also think of making checkbox visibility optional. I see that it is hidden when the selection is set to None. But even when we have selection set to Single or Multiple it might be helpful to use just styling instead of rendering a checkbox.
And it would be also great to specify if item can't be selected. Example : PropertyFieldTermPicker. Term Sets can't be selected
 iconProps?: IIconProps; - These properties should not be used as a checkmark of a checkbox. They should be used to render custom icon in the tree item. Again, example - PropertyFieldTermPicker.

@AJIXuMuK ...thanks for the review and your valuable comments... we will go through in detail and get back to you if any queries..

@AJIXuMuK ...we have started working on these comments and have some queries/thoughts. Can you please check below and provide your comments.

I would also think of making checkbox visibility optional. I see that it is hidden when the selection is set to None. But even when we have selection set to Single or Multiple it might be helpful to use just styling instead of rendering a checkbox.

When user chooses to keep visibility to false, dp we allow them to select tree items? if we allow selecting tree node, we might have to change the background of a label to feel that item is selected. ?

And it would be also great to specify if item can't be selected. Example : PropertyFieldTermPicker. Term Sets can't be selected

Do you mean if term item is disabled, display tool tip or something on hover that item can't be selected?

I personally don't like that createChildNodes is passed as props to the TreeItem. I think TreeItem should be more "encapsulated" and this function should be implemented inside TreeItem itself.

We tried this without passing parameter, bu when we want to show/hide all child controls on click of parent one....state object of all child components has to be changed which can only be changed from treeview component. We would need a separate component that should handle rendering of child component(tree item). This might not be possible from tree item.  But still if you can look at code and help us understand what approach might work, that would be helpful.

Hi @siddharth-vaghasia,

When user chooses to keep visibility to false, dp we allow them to select tree items? if we allow selecting tree node, we might have to change the background of a label to feel that item is selected. ?

Yes. I would expect it to look similar to Nav component in Office UI Fabric.

Do you mean if term item is disabled, display tool tip or something on hover that item can't be selected?

No. I mean that there are Term Sets and Terms. Term Sets cannot be selected. Terms can be selected. It means that we need an option to specify if this specific Tree Item is selectable. Disabled in a separate setting :)

We tried this without passing parameter, bu when we want to show/hide all child controls on click of parent one....state object of all child components has to be changed which can only be changed from treeview component. We would need a separate component that should handle rendering of child component(tree item). This might not be possible from tree item. But still if you can look at code and help us understand what approach might work, that would be helpful.

I don't quite get why this method can't be move to the TreeItem.tsx itself... It is called inside TreeItem only.
Could you please explain what state can't be changed?

@AJIXuMuK ....thanks...we have incorporated all the changes as request in the comment here

I don't quite get why this method can't be move to the TreeItem.tsx itself... It is called inside TreeItem only.
Could you please explain what state can't be changed?

Also on the above - True what you said, it is possible....I was stuck in one place, and being lazy came to an early conclusion that it might not be possible due to the nature of loop we need... but my dear @nanddeepn came to rescue....we worked it out together :)
Can you please check again and let us know if anything.

Hi @AJIXuMuK ,
We have also prepared documentation here
Please have your review for code and documentation.
Let us know, if we are good to raise the PR.

Hi @siddharth-vaghasia, @nanddeepn!
I'm working on it :) Don't have too much time these days.
Sorry for the delay.

Hey @siddharth-vaghasia, @nanddeepn!
I've submitted a small PR with some updates to the component PR-14.
Please, align the documentation with the changes and I think we'll be good to go!
Thank you again for the great contribution and effort and time you put into it!

@AJIXuMuK ...thanks for the changes....totally make sense and we have merged it to master branch...
I found one issue where " selectionMode: SelectionMode.None," and showcheckbox is false.... it was still allowing the user to select items....  this is fixed now...
You can review changes here

Hi @nanddeepn, @siddharth-vaghasia!
There is one small comment to remove debugger. And feel free to create a PR! Great job!
For the documentation - please, move all interfaces in Implementation section. Now you describe all additional interfaces in How to use, and the main props in Implementation.
Looking forward to seeing the PR! :)

Hi @AJIXuMuK
We have implemented your review comments and have raised a PR https://github.com/SharePoint/sp-dev-fx-controls-react/pull/536
Please help to get it merged.
Thank you again for your review comments and support to get this done!  Hope to see this control useful for the community.

The PR has been merged to dev branch.

Hi everyone,
I'm trying to implement the TreeView control, but I find that when the TreeView is renders, the property "defaultExpanded" of the tree item is hardcoded to "true". I'd like to be able to control the expanded property through the ITreeItem props. There is this property in the state of the TreeItem (ITreeItemState)
  items.map((treeNodeItem, index) => (
            <TreeItem
              treeItem={treeNodeItem}
              leftOffset={20}
              isFirstRender={true}
        defaultExpanded={true}
              selectionMode={selectionMode}
              activeItems={this.state.activeItems}
              parentCallbackExpandCollapse={this.handleTreeExpandCollapse}
              parentCallbackOnSelect={this.handleOnSelect}
              onRenderItem={onRenderItem}
              showCheckboxes={showCheckboxes}
              treeItemActionsDisplayMode={treeItemActionsDisplayMode}
            />
          ))

How can I control the expanded property programatically?
Thanks

Hi @djmrky
By default all first level nodes of tree are expanded (default behavior of tree).
Use the property onExpandCollapse to observe the expanded/collapsed tree items.

Hi, yes, I was able to solve the issue of first level nodes (I just added a "dummy" top/root element) and I'm using the defaultSelectedKeys to preselect some node.
But what I would like to do is when I set the defaultSelectedKeys (let's say I have single key and the node is on the 4th level) and the tree is rendered, I'd like this node to show as expanded, so it's immediately visible what node is selected.
Is this supported right now?

Hi @djmrky,
Expanding a specific path to tree Item is not supported. However set the TreeView property defaultExpanded to  true in order to expand all nodes.

Great discussion @djmrky and @nanddeepn.
I think we definitely need to support "expand to selected" as well as collapsing the first level of the tree by default (enterprise scenarios might need that).
So, I've added two enhancements and one issue related to that discussion: #559 #560 #561

@AJIXuMuK  That would be a great enhancement ... I was actually able to change some parts of the code to make this work somewhat, just as a proof of concept. I just added a boolean prop in ITreeItem that says if this item is rendered as expanded or collapsed, and then pass that to the defaultExpanded prop of the TreeItem component. I just supply this data in the model.
It would be much better to get this functionality in the package :-)

Hi @djmrky , Thanks for reporting.
Me and @siddharth-vaghasia will take care of the reported issues and enhancements.


Added bucket sort

Have you read the Contributing Guidelines on Pull Requests?
yes
(Write your answer here.)
Description
Added bucket sort
(Write your answer here.)
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
Fixed #375
(Write your answer here.)

Updates?


Random udp read timeout errors , Freebsd unbound server

Hello I need to resolve around 50k domain names repeatedly , No Cache & almost all queries are send to upstream , cuz i want latest record data, I have setup an unbound server for that , But I am getting Random udp Timeout errors with zdns or custom dns clients. but when check again resolve individually/randomly with dig or zdns/any client  it works fine .
Even when testing with 5k queries
root@saq34:~# time cat 50k_subs.txt | head -n 5000 | zdns A --name-servers <Resolver_IP> -retries 1 -timeout 20 -threads 1000 | jq -r '[.name ,.status ] | @tsv' | grep "TIMEOUT"
admin1868.cloud.com     TIMEOUT
bundesdruckerei.cloud.com       TIMEOUT
admin3378.cloud.com     TIMEOUT
admin2429.cloud.com     TIMEOUT

real    0m20.618s
user    0m1.681s
sys     0m0.576s

OR
root@saq34:~# time cat 50k_subs.txt | head -n 5000 | zdns A --name-servers <Resolver_IP> -retries 1 -nx -timeout 20 -threads 1000 | jq -r '[.name ,.status ] | @tsv' | grep "TIMEOUT"
ashteadtechn.cloud.com  TIMEOUT
bizworx.cloud.com       TIMEOUT
autodis.cloud.com       TIMEOUT
demoabinbev.cloud.com   TIMEOUT
admin2752.cloud.com     TIMEOUT
admin7318.cloud.com     TIMEOUT

real    0m20.682s
user    0m1.513s
sys     0m0.574s

everytime
or by a custom go dns client I get timeout errors like
read udp <CLIENT_IP>:53794-><Resolver_IP>:53: i/o timeout
but Individially they all resolve fine .
So, I am on the conclusion that it's the problem isn't with client or domain names  but with how i setup/configured unbound , cuz memory is enough to handle that much i think ,
8gb ram - 4 CPUs vps , & It's
FreeBSD 12.2-RELEASE amd64
Unbound Version 1.15.0 with libevent enabled , ig (i did pkg install unbound & updated buffers)
Linked libs: libevent 2.1.12-stable (it uses kqueue), OpenSSL 1.1.1h-freebsd  22 Sep 2020
Linked modules: dns64 respip validator iterator
Config file :
server:
    port: 53
    verbosity: 0
    num-threads: 4
    #extended-statistics: yes
    qname-minimisation: yes
    auto-trust-anchor-file: "/usr/local/etc/unbound/root.key"
    infra-cache-min-rtt: 500
    so-reuseport: yes
    #msg-cache-slabs: 8
    #rrset-cache-slabs: 8
    #infra-cache-slabs: 8
    #key-cache-slabs: 8
    #rrset-cache-size: 256m
    #msg-cache-size: 256m
    #prefetch: yes
    minimal-responses: yes
    outgoing-range: 22768
    num-queries-per-thread: 8192
    interface: <IP_ADDRESS>
    cache-max-ttl: 1
    #cache-min-ttl: 3
    #infra-host-ttl: 30
    #infra-lame-ttl: 120
    access-control: <IP_ADDRESS> allow
    access-control: <IP_ADDRESS>/0 deny
    access-control: <CLIENT_IP> allow
    #infra-cache-numhosts: 30000
    username: unbound
    #jostle-timeout: 300
    rrset-roundrobin: yes
    directory: "/usr/local/etc/unbound"
    use-syslog: no
    hide-version: yes
    hide-identity: yes
    so-rcvbuf: 56m
    so-sndbuf: 56m
    do-ip4: yes
    do-ip6: no
    do-udp: yes
    do-tcp: yes

remote-control:
    control-enable: yes
    control-port: 953
    control-interface: <IP_ADDRESS>

I don't want cached data so i set cache-max-ttl to 1 sec , idk if that's the way , So where am i going wrong here exactly ?
Please do help :))) thx

Hi,
Setting cache-max-ttl: 1 is a little bit overly aggressive :).
That means that Unbound will have to resolve (and validate) everything (all the way from the root) constantly.
Unbound would then either take more time to resolve the query, which by that time the client may have given up; or Unbound will be overloaded with queries (your queries and all the related generated queries e.g., looking up delegations and gathering DNSSEC information) in which case it drops slow queries (all of your queries because of 1 TTL) so that they are replaced with new incoming queries.
I would suggest to test with normal cache settings to see how much time Unbound needs for you script to run and configure that value-ish as max. It would make sense to me to use the same cache for one measurement. If that makes sense then just reloading unbound with unbound-control reload before a measurement would be even easier.
You could also bump the num-queries-per-thread: option. Half of that number of queries are eligible for being dropped by Unbound if they are slow to resolve (as mentioned above).

Hi , I got timeout error kind of solved , idk what did that but this configuration did .
server:
port: 53
verbosity: 0
num-threads: 4
outgoing-range: 55048
minimal-responses: yes
so-reuseport: yes
jostle-timeout: 50
num-queries-per-thread: 8192
interface: <IP_ADDRESS>
cache-max-ttl: 1
access-control: <IP_ADDRESS>/8 allow
access-control: <ip> allow
access-control: <ip> allow
username: unbound
directory: "/usr/local/etc/unbound"
use-syslog: no
access-control: <IP_ADDRESS>/0 deny
hide-version: yes
hide-identity: yes
infra-cache-numhosts: 10000
infra-host-ttl: 180
infra-cache-min-rtt: 50
infra-cache-slabs: 4
so-rcvbuf: 56m
so-sndbuf: 56m
do-ip4: yes
do-ip6: no
do-udp: yes
do-tcp: no
remote-control:
control-enable: yes
control-port: 953
control-interface: <IP_ADDRESS>

But now i have another problem , that I am getting stale dns records .
I tested it few times with ,

Add new CNAME record to a subdomain ---> got correct dns records as soon as i entered it .
Remove the dns record --- > still shows the old CNAME .
Update it with New CNAME ---> still shows old CNAME .

This happens randomly , one time correct  , query again then I get old records , sometimes NO cname record .
Are these still in some cache , somewhere ??
tried with <IP_ADDRESS> , there I understand due to load balancing & caching , I could also see ttl decreasing with dig & sometimes it will show correct dns record , if it hits a server that didn't cached .
But I have only 1 vps server with cache ttl : 1 , then how's it happening ?? Or if they are cached with root servers ?? or this infra-cache/host is the culprit ??? maybe i should try log & check  or time the ttl duration ?? idk

Were you able to figure out this issue?
You could try and query the authoritative directly and see if the new record is already published there.
If yes you can see which servers Unbound uses for those zones with unbound-control lookup <domain_name>.
unbound-control dump_cache will dump whatever Unbound has in its cache.

Closing this as inactive non-issue.


0.3.1 wheel upload "svgutils-0.3.1-py3-none-any.whl" of 2010-01-04 is not 0.3.1 and breaks existing software

Hi!
I'm a happy user of  svgutils with my CLI tool xiangqi-setup; thank you for developing and sharing it as Open Source (or Software Libre) :pray:
I have an explicit svgutils==0.3.1 in my setup.py file (due to API incompatible changes on Git master after 0.3.1, which I accept and which are not my concern here). Today I noticed that CI started failing with 0.3.1 and it turns out that a new wheel svgutils-0.3.1-py3-none-any.whl was upload for 0.3.1 that contains post-0.3.1 code, see https://pypi.org/project/svgutils/0.3.1/#files. I'll be working on migrating my code to 0.3.2 shortly but I can only fix it for future releases. Could you delete that wheel file please to unbreak past and current releases of existing software depending on  svgutils==0.3.1? Thanks in advance! :pray:
Best, Sebastian

@btel hi Bartosz, @hartwork brought be me here, just wanted to say: "Hi! long time no see! Hope you are well and safe! " Feel free to delete this comment to retain signal-to-noise ratio on this issue. 😘

@btel hi Bartosz, @hartwork brought be me here, just wanted to say: "Hi! long time no see! Hope you are well and safe! " Feel free to delete this comment to retain signal-to-noise ratio on this issue. 😘

Hi @hartwork, thanks for reporting. This must have happened during releasing 0.3.2. I will fix it tonight.

Hi @hartwork, thanks for reporting. This must have happened during releasing 0.3.2. I will fix it tonight.

Thank you!

Thank you!

I just deleted the wheel, which was uploaded by mistake. Could you check whether it fixes the problem on your side?

I just deleted the wheel, which was uploaded by mistake. Could you check whether it fixes the problem on your side?

Seems so, yes, re-running the same CI job that failed previously yields success now. Thank you!

Seems so, yes, re-running the same CI job that failed previously yields success now. Thank you!


Whatsapp share is showing error- Failed to share

I am facing many issues with AMPforWP plugin.

The Meta title for the homepage is the title of the recent post.
Whatsapp share is showing error- Failed to share
The content/text with any other colour also showing the black/grey.

blogs are
https://educationbhaskar.com
https://brutallyhonest.in

@iamrahulsethi Thanx for Pointing it out Rahul

I have solved here https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/commit/6cf52d072890d8e3c3d140038ae70fc5af97cc0f

I need to check and will fix it if this is an Issue 👍

I need to check and will fix it if this is an Issue 👍

fixed here : https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/commit/bbbe1392ff19d609e3c5ef63a3a9d0bf51cfe239


Change build profile in release script for binary package

What is this PR for?
Change embedded Spark dependency in binary package for the release from 1.5 to 1.6.
What type of PR is it?
Improvement
Todos
Is there a relevant Jira issue?
How should this be tested?
build package using dev/create_release.sh and run created package with default configuration. And see output of 'sc.version' if it is based on spark 1.6
Screenshots (if appropriate)
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

looks good. thanks, I guess I missed it

Thank you, great catch! Will merge asap if there is no other discussion


Page.goto: Timeout 60000ms exceeded.

could you please add the possibility to change the timeout, in some places and containers could take more than 60 seconds
crawl4ai/crawl4ai/async_crawler_strategy.py
line 251
response = await page.goto(url, wait_until="domcontentloaded", timeout=60000)

Hi @jmontoyavallejo  We've already added this feature, thank you for the suggestion. It's a really good idea. Although we haven't released the new version yet, you can currently pull from this "0.3.6" branch, but by Monday or Tuesday, we will also update the library in Pypi.

Hi @jmontoyavallejo We've already added this feature, thank you for the suggestion. It's a really good idea. Although we haven't released the new version yet, you can currently pull from this "0.3.6" branch, but by Monday or Tuesday, we will also update the library in Pypi.

how to do it after updating the version?

In the invocation of the function like crawler.arun(...,page_timeout=120000) it worked for me


Physics event to know "steady state"

Hello:
I wish to know if there are events related to the Physics API?
The game that I am creating is: permitting the user to move a ball (using Leva controls) to some position and then releasing it. During movement of the ball, physics is paused and once placed the user releases the ball (causing the physics to unpause). I need to know when all the rigid bodies in the scene have completed their "movements" so that the user can once again move the ball to another position.
For the same I was hoping to have an event that perhaps can "call" that all objects are stationary. Using useframe hampers smoothness.
Thanks.

Internally @react-three/rapier uses world.forEachActiveRigidBody to invalidate frames when there are active / non-sleeping bodies.


URL Encode Title and Page URL in Social Share Links

The links to the various social networks include data from the post
(title and url) which can contain URL special characters.  Pass each of
the generated URLs through Liquid's url_encode filter to build HTML
complaint URLs.

Thanks @rjkaes


Block edge 4.6.2

4.6.2 needs to be disabled:
2 clusters currently failing (11%),  4 gone (22%),and 12 successful (67%), out of 18 who attempted the update over 7d
Currently failing classification:
* Down nodes: 1
* Node pressure: 1
* SDN issue: 2

4.6.2 can be enabled again:
1 clusters currently failing ( 6%),  4 gone (22%),and 13 successful (72%), out of 18 who attempted the update over 7d
Currently failing classification:
* Down nodes: 1
* Node pressure: 1
* SDN issue: 1


Tracelogging

I think this is pretty solid now.  The only thing I haven't done is set up tests.  The only way I can see to test it would be to write a consumer of trace log messages, start the consumer prior running the test and use the consumer to pass data back to the test.  It seems like more work than its worth.  I'm looking forward to seeing what you think.

I've looked through some of the Appveyor docs and some examples, including the g3log example.  I think I understand how to get the build working through Appveyor.  I also think I understand how to run the example.  Unfortunately, since I don't have a test, all we could do is verify that everything builds and runs, not that it actually works.  I'm not sure how you feel about that.
Should we finish this PR out and then I open a new one with this completed PR as the baseline?

By the way, thanks for the kind words.  I'm very excited that you liked what I did.  This is my first PR ever and I'll be very proud if it is accepted.  It feels like I'm finally joining the open source community and I could never have done it without your guidance.

Ill re-review the PR tomorrow.
Yes. Let’s keep this PR focused and get another one up for the CI later.

hi @jjhegedus
What's a good email to reach you at?  I've some questions about the tracelogging sink.


Make non-test modules not extend TestModule.Utest

Fixes https://github.com/com-lihaoyi/Ammonite/issues/1386

Superseded by #1389

@lolgab I totally missed, that you already opened this PR with my proposed changes. (One of the downsides, when using the great gh pr create tooling.) Sorry for that.

No worries at all :)


Support bootc

This PR adds a number of changes to roles in order to facilitate the use of image mode RHEL.

I created a new bootc branch for edpm-ansible: https://github.com/openstack-k8s-operators/edpm-ansible/tree/bootc
Can you propose this PR to the bootc branch instead?
I reverted https://github.com/openstack-k8s-operators/edpm-ansible/pull/813 from main in https://github.com/openstack-k8s-operators/edpm-ansible/pull/844

The entire handling of kernel args needs to be reconsidered for bootc: https://containers.github.io/bootc/building/kernel-arguments.html

that kargs.d mechanism looks interesting. I reckon if we're doing anything for the demo, ansible should write to a /usr/lib/bootc/kargs.d/00-edpm.toml and reboot. Also we need to ensure the generated qcow2 has console= arguments removed


added /me or /em implementation to /chat

This would need a little more work to come up with a more generic '/command' style interface, potentially splitting the message with spaces, which I may work on if we need more commands in chat, fixes #26

I'm not sure why it still says it has merge conflicts, in the "files changed" section, you can see there are none. It may just not have been updated for me.

it looks to me like there have been other changes within chat.js causing a conflict... specifically the bit to make sure the window doesn't scroll to the bottom on updates.
I managed to get a rebase done, although if you don't have experience with git rebase you might want to just copy paste the changes into a new branch and make a fresh PR.
If you are going to rebase I would really suggest squashing your three commits into one prior to doing it.  Not only is this a general best practice (submitting one commit per change, it will make it simpler to rebase as you will only have to deal with the conflicts once.


Neuron Device Plugin Addon - Continuation

Issue #, if available:
Description of changes: This PR adds Neuron Device Plugin to be able to leverage Inferentia and Trainium nodes on EKS Blueprints. This includes:
Addon
Example showing how to deploy it with an Inferentia Nodegroup (inf1 & inf2)
Documentations
It takes the previous work done in this PR: https://github.com/aws-quickstart/cdk-eks-blueprints/pull/777
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@ariveroi thank you for your contribution.
Since we have already reviewed #777 do you mind changing the destination branch from main to feature/neuron-addon? We will then be able to see what changed.
@youngjeong46 FYI

Pull request to neuron addon brack done: https://github.com/aws-quickstart/cdk-eks-blueprints/pull/918


Call sound and video not working

Call sound and video not working
Any help?

same here

same with me. anyone can help?


edited the content

Readability must be good to make it easier for the user.Would u like me adding on this to help you people doing the SEO for the project so more people will know its importance?

@ozdemirburak We’ve had this user make a similar PR on homebrew-cask. Look at the profile. Seems like an account just trying to get a few PRs in for Hacktoberfest.

@Vasu-Gupta1 No buddy, thanks.

@vitorgalvao yeah, seems like you are right, thank you for notifying.


tcmu-runner: init at 1.5.5-unstable-2022

Description of changes

LIO is the SCSI target in the Linux kernel. It is entirely kernel code, and allows exported SCSI logical units (LUNs) to be backed by regular files or block devices. But, if we want to get fancier with the capabilities of the device we're emulating, the kernel is not necessarily the right place. While there are userspace libraries for compression, encryption, and clustered storage solutions like Ceph or Gluster, these are not accessible from the kernel.

The TCMU userspace-passthrough backstore allows a userspace process to handle requests to a LUN. But since the kernel-user interface that TCMU provides must be fast and flexible, it is complex enough that we'd like to avoid each userspace handler having to write boilerplate code.

tcmu-runner handles the messy details of the TCMU interface -- UIO, netlink, pthreads, and DBus -- and exports a more friendly C plugin module API. Modules using this API are called "TCMU handlers". Handler authors can write code just to handle the SCSI commands as desired, and can also link with whatever userspace libraries they like.

Things done
This just adds the package. A NixOS module should be added later to integrate this package into DBUS and systemd. (it already provides a DBUS service file, and a systemd service file (although nixos prefers to setup the systemd service file themselves))

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[X] Fits CONTRIBUTING.md.

Created upstream PR https://github.com/open-iscsi/tcmu-runner/pull/684


Why rangy always create new inline elements when the selection traverse multi inline elements

For example:

This is a italic word

After I make a selection and use Rangy to handle it and it will be transformed like this:

    This is a
    italic
    word

But how can I config Rangy to transform the original HTML like this?

This is a italic word

And sometimes it expected to be a much more complicated result when I select incomplete words for example "This is a ita":

    This is a italic word

Did I miss some parameters to make Rangy preform like above? Actually, that's how Medium highlighter performs and I am making the same function now.

I have already given up using Rangy to implement that function and was successful to realize it with native Range API


Fix Travis Mac OS build

What does this implement/fix? Explain your changes.
Fixes failing Travis build for Mac OS
Does this close any currently open issues?
Any other comments?
Checklist
Check all those that are applicable and complete.

[X] Merged with latest master branch
[X] Regenerate documentation with npm run docs
[ ] Add change details to CHANGELOG.md under "Next" section
[ ] Added examples for testing to examples/ directory
[X] Travis CI passes (Mac support)
[X] AppVeyor passes (Windows support)

Going to combine this with the Linux fix PR.


Build process video

The build process video demonstrates that you mastered the build process.
Typically, the video will show your terminal window.
Please narrate over the video to explain what you are doing
You can stop the process while explaining and continue thereafter.
The build process consists of four main and one optional step:
Clone (the repository to start with a clean slate)
Build (the product from the clean repo)
Test (the product using automated test suites)
Optional: Deploy (to production environment)
Run (the product to show it starts up)
The most common scenario is to git clone and then build, test, deploy, and run using your build tool. If you have a fully automated CI process using GitHub, please trigger and show that.
If some steps cannot be automated, please carry them out by hand; you may want to copy over the commands from a separate text file to make things run smoothly.

I can make a video of it.
I will be just going through the docker compose code and how to execute step by step using our README.md


Dist css with sourceMappingURL

I have a problem with the minified.css file found in /dist/css/angular-bootstrap-calendar.min.css
This file has the line /*# sourceMappingURL=angular-bootstrap-calendar.min.css.map */
I want to use this file in my production environment, without need to edit it, but if I do it I get a 404 error, because in my server I dont want to provide the .map file.
I dont really understand why is the file angular-bootstrap-calendar.min.css.map needed. Maybe do you added it to Gulp on porpous or is it a default configuration (I'm not really familiar with Gulp)?
Maybe the css task could be just like this:
gulp.task('css', function() {

  return gulp.src('src/**/*.css')
    .pipe(gp.sourcemaps.init())
    .pipe(gp.concat('angular-bootstrap-calendar.css'))
    .pipe(gulp.dest('dist/css'))
    .pipe(gp.minifyCss())
    .pipe(gp.rename('angular-bootstrap-calendar.min.css'))
    .pipe(gulp.dest('dist/css'));

});

You're right, I copied that gulpfile from another project which used less, the sourcemaps aren't needed. FYI though the sourcemaps will only load and 404 when you open the console, so it doesn't really cause any problems other than the error in the console.

Yes, it is just an error in the console, but is also one more request and I like to see a clean console. Would be nice if you can fix it and make a new release

I'll fix it next time I have an evening free as there's a few other issues to work through as well.

Fixed in 0.8.0


 It makes it so easy to build my projects. Thanks so much. I do have a question though. Is there a way to change the background? We are working on a print book, but don't want the Wizards background.
Additional Details
Share Link :
or
Brew code to reproduce : Click to expand
PASTE BREW CODE HERE

Add this to the head of your document:
<style>
    .phb {
        background: #FFF; <!-- makes the background white -->
    }
</style>

or
<style>
    .phb {
        background: url(http://some.thi.ng/bg.png); <!-- adds an image as the background -->
    }
</style>

To learn more about the background property, check this site: https://developer.mozilla.org/en-US/docs/Web/CSS/background

Sweet. I'm assuming there is no way to alter the fonts though. Your stop is
so much easier to run than Publisher, but for a print book to sell, I can't
look exactly like WotC. That's great for DMGuild, but not hard print.
On Thu, Mar 15, 2018, 8:08 AM HeruAsatru<EMAIL_ADDRESS>wrote:

Add this to the head of your document:

or

To learn more about the background property, check this site:
https://developer.mozilla.org/en-US/docs/Web/CSS/background
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/635#issuecomment-373354614,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjpwJB4s7jQ0uYXixCjlCttqUTFr9Nc4ks5telm-gaJpZM4SrIwc
.

You can of course change the fonts, but that would require more work on your part.

You can of course change the fonts, but that would require more work on your part.
First, you would need to define the new fonts, for example:
<style>
@font-face {
	font-family: Barazhad;
	src: url("http://som.ewhe.re/Barazhad.otf") format("opentype");

	font-family: Davek;
	src: url("http://som.ewhe.re/Davek.otf") format("opentype");
}
</style>

To learn more about font-face and its properties, check this site: https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face
Then you need to put these fonts in:
<style>
.phb {
	font-family: Barazhad;
}

.blockquote {
	font-family: Davek;
}
</style>

Of course, these are only a few of the places that would have to change. I don't know all of them by heart, but you can inspect the site and check the Styles tab in the Developer Tools to find more places where the font-family property is used.
To learn more about the font-family property, check this site: https://developer.mozilla.org/en-US/docs/Web/CSS/font-family

Thanks. Still learning CSS (yeah, late to the party). This will get me
running. If how quickly I learned HTML is anything to go by, this will only
take me a few hours to get the typeset I'm looking for.
On Thu, Mar 15, 2018, 9:08 AM HeruAsatru<EMAIL_ADDRESS>wrote:

You can of course change the fonts, but that would require more work on
your part.
First, you would need to define the new fonts, for example:

To learn more about font-face and its properties, check this site:
https://developer.mozilla.org/en-US/docs/Web/CSS/%40font-face
Then you need to put these fonts in:

Of course, these are only a few of the places that would have to change. I
don't know all of them by heart, but you can inspect the site and check the
Styles tab in the Developer Tools to find more places where the
font-family property is used.
To learn more about the font-family property, check this site:
https://developer.mozilla.org/en-US/docs/Web/CSS/font-family
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/635#issuecomment-373369674,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjpwJCwe1lvHkbJ1hJ7vl2sq01A1ZA43ks5temfNgaJpZM4SrIwc
.


[WIP] Wizard v2 repositories

This PR adds Repository step to the V2Wizard. Files were migrated to TypeScript, new directory was created for utilities that are used across more steps and .content test suite was added and updates so only relevant tests are enabled.

I've tried to clean up the logic in Repositories.tsx a bit. There are a few things I'm not super happy with - those being not null assertions. I did my best to eliminate most of them alas some remained. If you have any suggestions on how to deal with them, please send them my way.


AttributeError: module lazy_ has no attribute omni

Thank you for your wonderful work!
I am encountering an AttributeError when attempting to launch the OmniGibson simulator in my project. Below is the relevant traceback of the error:
Traceback (most recent call last):   File "/home/admin01/acdc/digital-cousins/digital_cousins/pipeline/acdc.py", line 202, in <module>     main(args)   File "/home/admin01/acdc/digital-cousins/digital_cousins/pipeline/acdc.py", line 170, in main     pipeline.run(   File "/home/admin01/acdc/digital-cousins/digital_cousins/pipeline/acdc.py", line 158, in run     success, step_3_output_path = step_3(   File "/home/admin01/acdc/digital-cousins/digital_cousins/pipeline/generation.py", line 188, in __call__     og.launch()   File "/home/admin01/acdc/digital-cousins/deps/OmniGibson/omnigibson/simulator.py", line 246, in _launch_simulator     og.app = _launch_app()   File "/home/admin01/acdc/digital-cousins/deps/OmniGibson/omnigibson/simulator.py", line 148, in _launch_app     with launch_context(None):   File "/home/admin01/anaconda3/envs/acdc/lib/python3.10/contextlib.py", line 135, in __enter__     return next(self.gen)   File "/home/admin01/acdc/digital-cousins/deps/OmniGibson/omnigibson/utils/ui_utils.py", line 171, in suppress_omni_log     log = lazy.omni.log.get_log()   File "/home/admin01/acdc/digital-cousins/deps/OmniGibson/omnigibson/utils/lazy_import_utils.py", line 29, in __getattr__     raise AttributeError(f"module {self.__name__} has no attribute {name}") from None AttributeError: module lazy_ has no attribute omni
Current Directory Structure:
Here is the directory structure of my project for your reference (Partially):

/home/admin01/acdc/digital-cousins/
├── deps/
│   └── OmniGibson/
│       └── [OmniGibson files]
└── digital_cousins/
└── pipeline/
├── acdc.py

Additional Information:
I have verified that the Isaac Sim path is set up correctly, and I can connect to Isaac Sim successfully from another Conda environment.
echo $ISAAC_PATH /home/admin01/.local/share/ov/pkg/isaac-sim-4.1.0
I would appreciate any guidance on resolving this issue. Thank you!

Hi @zhucoffee ,
Thanks for raising this issue! Can  you verify that OmniGibson can be imported directly? eg:
import omnigibson as og
og.launch()
og.shutdown()

Thanks for the additional details.  Hmmmm this is a bit surprising. We haven't actually tested the Launcher install, so perhaps that might be the issue?
Can you try installing OmniGibson without the --launcher-install flag and see if that works? You may need to create a new conda env.

I will close this issue for now. Feel free to reopen if any issues persist!


Restoring the App Theme

Description
After Upgrading the mobile application to version 3.0, there were some theme changes we noticed, this PR is to Restore those changes.
##Video Recording(after upgrading to v3.0)
https://user-images.githubusercontent.com/56160262/176645771-286b6535-b4ec-433d-a8bd-13eac86f5622.mp4
##Video Recording(after making changes in v3.0)
https://user-images.githubusercontent.com/56160262/176745250-894b11c0-354f-4946-a4a9-a6706c2e967f.mp4
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

Test Configuration:

Firmware version: Windows
Hardware: SM M426B
SDK: Flutter SDK (v 3.0.2)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@M-A-D-A-R-A Please add screenshots of all the affected screens

@M-A-D-A-R-A Please add screenshots of all the affected screens

Added the ScreenRecoding before and after.

@M-A-D-A-R-A Few changes that are still required -

Profile Screen had a white-colored navbar.
Team Details Screen also had a white-colored navbar.
The back arrow is not visible in any of the white navbars as they're still white-colored. Changed them to a darker gray/black variant as it was before.
Add recording for ALL screens. Check the mobile screenshots section in Wiki for reference.

@M-A-D-A-R-A Few changes that are still required -

Profile Screen had a white-colored navbar.
Team Details Screen also had a white-colored navbar.
The back arrow is not visible in any of the white navbars as they're still white-colored. Change them to a darker gray/black variant as it was before.
Add recording for ALL screens. Check the mobile screenshots section in Wiki for reference.

@amlannandy made changes please review.


hurl: 1.3.0 -> 1.3.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/Orange-OpenSource/hurl/releases.
meta.description for hurl is: "Command line tool that performs HTTP requests defined in a simple plain text format."
meta.homepage for hurl is: "https://hurl.dev/"
meta.changelog for hurl is: ""
Updates performed

Rust version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1/bin/hurl passed the binary check.

/nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1/bin/hurlfmt passed the binary check.

2 of 2 passed binary check by having a zero exit code.

2 of 2 passed binary check by having the new version present in output.

found 1.3.1 with grep in /nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1

found 1.3.1 in filename of file in /nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1

directory tree listing: https://gist.github.com/71eae70e4e25867ba784c0455994b664

du listing: https://gist.github.com/3db7c36ac73d85f41dfbd244ff0a14c3

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
hurl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A hurl https://github.com/r-ryantm/nixpkgs/archive/0c8e2ce81be5da344171024aad0b6e877663a8fd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1
ls -la /nix/store/fan54j397rwg39bjkdc6k4v1gbk71433-hurl-1.3.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

hurl

Maintainer pings
cc @eonpatapon for testing.

Result of nixpkgs-review pr 137800 at 0c8e2ce8 run on aarch64-linux 1

1 package failed to build:

hurl

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.


Discuss and create API design

Once you have finalized the DB schema (#17) we need to decide what API endpoints are we going to implement to provide access to those resources from our DB
Create a design for all API endpoints to be used. Make sure to utilize REST design standards.
For each endpoint, we need

Route URL (eg. /users/)
Request Type (GET / POST etc.) -- eg. (GET  /users/, POST  /users)
Who will interact - (mentor, mentee, or both)
What kind of authentication do we need here?
What arguments / parameters should the request have
What is the response

Resources

Learn more about REST - https://www.freecodecamp.org/news/rest-api-tutorial-rest-client-rest-service-and-api-calls-explained-with-code-examples/
Example from LAKTAA - https://docs.google.com/spreadsheets/d/1h2y0m6q81K6nrAfRYWMsMq0XUOJNiPEx2Sr4_kw0uUY/edit#gid=0

Depends on #17

https://docs.google.com/document/d/1uCOYlB3uSvdKDtnC6pY5ZT-slMoL7v38LdkFP0F6l2w/edit

API design can be found here -
https://docs.google.com/spreadsheets/d/1h1LmmF9NtEkucmPMpy8WkK-ubjwUXb_qWc0b0USPN04/edit?usp=sharing

Closing because there were no comments on the sheet


in Npp 8.6.1, Ctrl+V doesn't work to paste text into text fields

But you can still right-click and select Paste from the dropdown menu to paste text.
Tested on Notepad++ 8.6.1 32bit and 64bit.
As I noted in this community forum post, this issue seems to affect all text fields in all Windows Forms using the C# plugin template, but not forms in C++ plugins.
Debug info:
Notepad++ v8.6.1   (64-bit)
Build time : Jan  4 2024 - 05:01:52
Path : C:\Program Files\Notepad++ 8p6p1\notepad++.exe
Command Line :
Admin mode : OFF
Local Conf mode : OFF
Cloud Config : OFF
OS Name : Windows 10 Home (64-bit)
OS Version : 22H2
OS Build : 19045.3803
Current ANSI codepage : 1252
Plugins :
    ComparePlus (1.1)
    JsonTools (6.1.1)
    mimeTools (3)
    NavigateTo (2.7)
    NppConverter (4.5)
    NppExport (0.4)

This is partially fixed by the most recent commit, although currently Ctrl+V pastes text on keyup, rather than keydown as is normal.
Leaving this issue open because (a) it is not fully resolved to my satisfaction, and (b) it is an issue with the last version that went to the plugin list.

Note that this issue will be fixed in Notepad++ 8.6.2, so you should install 8.6.2 or higher to avoid this issue.

Fixed by v7


fix: Don't create PSP if k8s >= 1.25

@bpetit This is a fix for https://github.com/hubblo-org/scaphandre/issues/246
I opened it against main but LMK if I should be targeting dev 🙏

Hello,
I believe a similar solution should be applied to the templates/rbac.yaml file for the following part:
- apiGroups:
  - extensions
  resources:
  - podsecuritypolicies
  resourceNames:
  - {{ .Chart.Name }}
  verbs:
  - "use"

In my understanding, if PSPs are not generated then this is not needed.

Hey!
Thank you @Bengrunt you're right the rbac template should be updated too
@bpetit PR is updated and now targets dev


Please check CHEBI:177874

Hi Adnan,
could you maybe also check CHEBI:177874?
Thanks a lot for your work!

Now checked. Thanks


mdash handled incorrectly by -o parameter in config file

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2<IP_ADDRESS>. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
I created a config file on Windows 10 that specifies -o with a mdash, '—', in the filename template.  However, instead of the mdash, I see a random string: "â€”".  For this test, the entire contents of the config file were as shown below:
-o 't—%(title)s.%(ext)s'

I ran the program in the latest PowerShell release if that matters.
Verbose log
PS E:\> & 'C:\Program Files\yt-dlp\yt-dlp.exe' https://www.youtube.com/watch?v=RycTCjVuw04 -s -vU
[debug] Command-line config: ['https://www.youtube.com/watch?v=RycTCjVuw04', '-s', '-vU']
[debug] User config "C:\Users\Will Pittenger\AppData\Roaming\yt-dlp\config.txt": ['-o', 'tâ€”%(title)s.%(ext)s']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] exe versions: ffmpeg N-50911-g9efcfbe (needs_adtstoasc), ffprobe n4.4-5-ge3fb0f0c88
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=RycTCjVuw04
[youtube] RycTCjVuw04: Downloading webpage
[youtube] RycTCjVuw04: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] RycTCjVuw04: Downloading 1 format(s): 313+251

I then ran the following with an empty config file.  It's clear the problem is loading the file in the first place.
PS E:\> & 'C:\Program Files\yt-dlp\yt-dlp.exe' https://www.youtube.com/watch?v=RycTCjVuw04 -s -vU -o 't—%(title)s.%(ext)s' --get-filename
[debug] Command-line config: ['https://www.youtube.com/watch?v=RycTCjVuw04', '-s', '-vU', '-o', 't—%(title)s.%(ext)s', '--get-filename']
[debug] User config "C:\Users\Will Pittenger\AppData\Roaming\yt-dlp\config.txt": []
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, err utf-8, pref cp1252
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] exe versions: ffmpeg N-50911-g9efcfbe (needs_adtstoasc), ffprobe n4.4-5-ge3fb0f0c88
[debug] Optional libraries: brotli, Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=RycTCjVuw04
[youtube] RycTCjVuw04: Downloading webpage
[youtube] RycTCjVuw04: Downloading android player API JSON
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] RycTCjVuw04: Downloading 1 format(s): 313+251
t—Green iPhone 13 and 13 Pro - Unboxing and First Impressions.webm

The issue is that the config file is expected to encoded be in system locale. See https://github.com/yt-dlp/yt-dlp/issues/840#issuecomment-909340518


Windows installation doc

I have updated the installation docs for PLplot on Windows. Unfortunately, it is quite a hack, as cross-compiling PLplot seems not to work for the Cygwin/Mingw combination.
Anyway, if I remember correctly, last time there was a suggestions to merge these instructions into the main README.
Personally, I would prefer to keep it separate, but of course, that's up to the maintainers. Alternatively, these instructions might also be included in the Owl book.
Please feel free to give feedback, if something is unclear.

In the meantime I got some valuable input from the PLplot developers, on how to fix the build issues. Please find the updated instructions now.

In the meantime, the issue with pkg-confighas been fixed (https://github.com/fdopen/opam-repository-mingw/issues/96), but I will leave the workaround in, as not everybody might update their OCaml/Windows toolchain so regularly.

What is preventing this PR to be merged? @jzstark @ryanrhymes

So sorry for the late reply! Me and Liang have been really busy with other projects recently. This PR looks great and I'll soon merge it.


Multiple log rotations detected in logs for only 1 log rotation

Check CONTRIBUTING guideline first and here is the list to help us investigate the problem.
Describe the bug

We are trying to investigate why we are missing logs, While at it, we noticed that for each actual log rotation that happens, fluentd is logging multiple "detected log rotation lines".
This following three lines were printed when one log rotation happened on this container.
2021-06-19 15:51:47 +0000 [info]: #0 detected rotation of /var/log/containers/data-plane--dataplane-service-798ff9cdff-gtqzh_default_main-bcc4aa2379c08a281bc008248b839d4c845fe95d2f1a55dd4fb676b2d8c5df20.log; waiting 5 seconds
2021-06-19 15:51:47 +0000 [info]: #0 detected rotation of /var/log/containers/data-plane--dataplane-service-798ff9cdff-gtqzh_default_main-bcc4aa2379c08a281bc008248b839d4c845fe95d2f1a55dd4fb676b2d8c5df20.log; waiting 5 seconds
2021-06-19 15:51:47 +0000 [info]: #0 following tail of /var/log/containers/data-plane--dataplane-service-798ff9cdff-gtqzh_default_main-bcc4aa2379c08a281bc008248b839d4c845fe95d2f1a55dd4fb676b2d8c5df20.log

To Reproduce

Expected behavior

Only one log line for  [info]: #0 detected rotation is printed.
Your Environment
We are using fluentd on AKS v1.19

Fluentd or td-agent version: fluentd --version or td-agent --version
fluentd 1.12.3
Operating system: cat /etc/os-releaseNAME="Ubuntu"
VERSION="18.04.5 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.5 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Kernel version: uname -r
5.4.0-1047-azure

If you hit the problem with older fluentd version, try latest version first.
Your Configuration
Only pasting the kubernetes.conf file here
<label @FLUENT_LOG>
  <match fluent.**>
    @type null
  </match>
</label>

<source>
  @type tail
  path /var/log/containers/*.log
  pos_file /var/log/fluentd-containers.log.pos
  tag kubernetes.*
  read_from_head true
  <parse>
    @type multi_format
    # Read logs in JSON format for Kubernetes v1.18-
    <pattern>
      format json
      time_format "%Y-%m-%dT%H:%M:%S.%NZ"
      keep_time_key true
    </pattern>
    # Reads logs in CRI format for Kubernetes v1.19+
    # The CRI format is documented here: https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/kubelet-cri-logging.md
    <pattern>
      format regexp
      expression /^(?<time>.+) (?<stream>stdout|stderr)( (?<logtag>.))? (?<log>.*)$/
      time_format '%Y-%m-%dT%H:%M:%S.%N%:z'
      keep_time_key true
    </pattern>
  </parse>
</source>

# Used for collecting fluentd metrics
<source>
  @type prometheus
  bind <IP_ADDRESS>
  port 24231
  metrics_path /metrics
</source>

<source>
  @type prometheus_output_monitor
  interval 10
  <labels>
    hostname ${hostname}
  </labels>
</source>

<filter kubernetes.var.log.containers.**.log>
  @type kubernetes_metadata
</filter>

# Exclude events from Geneva containers since they just seem to echo events from other containers
<filter kubernetes.var.log.containers.geneva**.log>
  @type grep
  <exclude>
    key log
    pattern .*
  </exclude>
</filter>

<filter kubernetes.var.log.containers.**.log>
  @type prometheus
  <metric>
    name fluentd_input_status_num_records_total
    type counter
    desc The total number of incoming records
    <labels>
      tag ${tag}
      hostname ${hostname}
    </labels>
  </metric>
</filter>

# Make the IfxAuditLogs JSON parsable
<filter kubernetes.var.log.containers.**.log>
  @type record_modifier
  <record>
    _temp_ ${ if record.has_key?("log"); record["log"] = record["log"].to_s.gsub(/ifxaudit(appl|mgmt|fail):*/,''); end; nil }
  </record>
  remove_keys _temp_
</filter>

# Flatten fields nested within the 'log' field if it is JSON
<filter kubernetes.var.log.containers.**.log>
  @type parser
  key_name log
  <parse>
    @type json
    json_parser json
  </parse>
  reserve_data true # this preserves fields from the original record
  remove_key_name_field true # this removes the log field if successfully parsed as JSON
  reserve_time # the time was already parsed in the source, we don't want to overwrite it with current time.
  emit_invalid_record_to_error false # In case of unparsable log lines or CRI logs. Keep fluentd's error log clean
</filter>

# Flatten fields nested within the 'kubernetes' field and remove unnecessary fields
<filter kubernetes.var.log.containers.**.log>
  @type record_transformer
  enable_ruby
  <record>
    ContainerName ${record["kubernetes"]["container_name"]}
    NamespaceName ${record["kubernetes"]["namespace_name"]}
    PodName ${record["kubernetes"]["pod_name"]}
    Node ${record["kubernetes"]["host"]}
  </record>
  # https://github.com/kubernetes/community/blob/master/contributors/design-proposals/node/kubelet-cri-logging.md
  remove_keys docker,kubernetes,stream,logtag
</filter>

Your Error Log
See descirption
<!-- Write your **ALL** error log here -->

Additional context

Could you try v1.12.4 or later?
We fixed tail watcher leaks at: #3365 #3391

@ashie Looks like the latest td-agent 4.1.1 is still referring the fluentd v.1.12.3. Any idea when td-agent can have a new release for v.1.12.4 or v.1.13.0?

We'll prepare td-agent 4.2.0 which will bundle fluentd v1.13.x.
Until releasing it, please use td-agent-gem to update it.
$ sudo td-agent-gem install fluentd --version=x.y.z

@ashie I am experiencing this on 1.13.1. I think there may still be watcher leaks.
2021-06-28 19:20:48 +0000 [info]: #0 [containers.log] detected rotation of /var/log/containers/core-mpe-web-deployment-576fb65b75-m8pkh_core_core-mpe-web-8b7d873d3ef935863469847e07b2957acab0d65f1704a76c50ff830b9342d570.log; waiting 5 seconds
2021-06-28 19:20:48 +0000 [info]: #0 [containers.log] detected rotation of /var/log/containers/core-mpe-web-deployment-576fb65b75-m8pkh_core_core-mpe-web-8b7d873d3ef935863469847e07b2957acab0d65f1704a76c50ff830b9342d570.log; waiting 5 seconds

Hmm..., the following line
https://github.com/fluent/fluentd/blob/a136dcb5e333e21352e7f5d63804d4ddb52d1fd7/lib/fluent/plugin/in_tail.rb#L487
should use Hash#delete like this?
rotated_tw = @tails.delete(rotated_target_info)

Hash#delete will remove correspond element by key immediately.
Current implementation depends on implicit GC mechanism.

@cosmo0920 will that fix just remove the duplicate log line or will it potentially fix my log loss?

I think I might do. This issue might be caused by non-GCed elements on @tails.

should use Hash#delete like this?
rotated_tw = @tails.delete(rotated_target_info)

I'm not sure but it doesn't seem the cause of this issue, I think it's not needed.

rotated_tw will be unwatched by detach_watcher_after_rotate_wait
Since rotated_target_info and new_target_info will provide same hash key by #3365, the value will be replaced by trailing @tails[new_target_info] = .

Hmm.., this issue should be occurred in the different place where we already know.

should use Hash#delete like this?
rotated_tw = @tails.delete(rotated_target_info)

I'm not sure but it doesn't seem the cause of this issue, I think it's not needed.
* `rotated_tw` will be unwatched by `detach_watcher_after_rotate_wait`

* Since `rotated_target_info` and `new_target_info` will provide same hash key by [in_tail: Fluentd v1.12.3 fails to handle file rotations on Windows #3365](https://github.com/fluent/fluentd/issues/3365), the value will be replaced by trailing `@tails[new_target_info] = `.

While I was investigating #3464, I confirmed that @tails.delete(rotated_target_info) is needed (although it's not cause of this issue #3425).
Otherwise keys in @tails won't be updated even if they have different inodes for same paths.
When follow_inode is true, it will cause detecting multiple rotation (#3464).
On the other hand, when follow_inode is false, multiple rotation won't be occurred because it detected by path and inode won't be used.
So I think it's not cause of this issue #3425.

As in #3464, it wasreproducible when follow_inode true (already addressed).
But I can't yet reproduce it on follow_inode false case even when I change various conditions...

@agniveshadhikari It might be already fixed in the latest version (1.13.3 or 1.14.0).
Please let me know if your issue still reproduced on the latest versions.


New ajax form for creating new exam template

still working on it- will finish if after Steve's meeting! : )

I almost forgot to move code in ExamTemplatesController#create into a method in the ExamTemplate model class. Oops sorry about that. I will make a change soon-

Note: would be good to switch over to using responders now.


"for x in arr" breaks auto-vectorization, unlike semantically-equivalent indexing

Numba is 0.58. llvmlite is 0.41.0. Ubuntu 22.04 on i7-12700K.
Consider the following script:
from timeit import timeit
from numba import njit
import numpy as np

ARR = np.ones((1_00, 1_00), dtype=np.uint64)

@njit
def variant1(arr):
    total = 0
    for value in arr.flatten():
        total += value
    return total

@njit
def variant2(arr):
    total = 0
    arr = arr.flatten()
    for i in range(len(arr)):
        total += arr[i]
    return total

assert variant1(ARR) == variant2(ARR)

print("variant1", timeit(lambda: variant1(ARR)))
print("variant2", timeit(lambda: variant2(ARR)))

If I run this with auto-vectorization disabled, they take the same amount of time:
$ NUMBA_LOOP_VECTORIZE=0 python benchmark2.py
variant1 4.528854038973805
variant2 4.5288080560276285

With auto-vectorization enabled, however, the second version is much faster:
$ python benchmark2.py
variant1 5.6276919129886664
variant2 2.4880486209876835

Discussion
It's possible this isn't fixable. But if Numba knows the array is 1-dimensional, it could generate LLVM IR for variant1 equivalent to variant2 (instead of whatever it's generating now), to help LLVM optimize it? They do seem semantically identical to me so long as the indexing variable is anonymous, though I might be missing something.

Right, the two variants are semantically identical. It is possible to implement such rewrite in Numba, however, the current Numba infrastructure is not designed to be friendly for such transformations.  The Numba devs are working on new intermediate representation  (https://github.com/numba/numba-rvsdg) so that high-level rewrites are easier to implement.
Another problem for doing rewrites is the combinatorial problem. Rewrites rules can conflict with each other or require a specific ordering to work. This leads to the team investigating in Equality-Saturation and Equivalent Graphs (https://egraphs-good.github.io/)

From triage meeting:
The two variants used to have similar performance until a patch for iterating over ND-array was merged.
@stuartarchibald may remember the PR number.

I did some further experiments, where I tried to find idioms that would help the compiler optimize away bounds checking. Based on these experiments, I think the preferred idiom is actually:
i = 0
while i < len(arr):
    total += arr[i]

Or, and this is silly looking but it really does both optimize away bounds checking and enable auto-vectorization:
for i, _ in enumerate(arr):
    total += arr[i]


Unable to force API host

Due to the way swagger-play is coded, (it appears as though) you are unable to force a host in the configuration. The host is always pulled from the request which makes life difficult for people who have CDNs in front of their swagger.json. As a result of how the host is set, origin information is leaked which would defeat one of the purposes of using a CDN (DDoS) protection.
I would love some sort of configuration value that forced a host and ignored the host in a request.

I've created a workaround that uses a filter to force a host on every request. You'll simply need to provide a value for "swagger.api.host" in your application config for this to work.
https://gist.github.com/sirsavary/a8b90b1577ebdb8971f5

Any news about this issue?

This is fixed for play 2.6 in merge #144. It is also related to issue #44.