[MdSidenav] - Sidenav Resizing Regression

Bug, feature request, or proposal:
Bug/Regression from 2.0.0-beta.8.
Also a feature request for an API to allow triggering recalculations for the MdSidenavContainer/MdDrawerContainer, or being able to update _styles manually and having the view update..
What is the expected behavior?
In the previous release 2.0.0-beta.8 the sidenav resized when the window was resized.
I have a responsive sidenav that uses Angular flex-layout for showing/hiding responsive content in the sidenav when the view changes from md to lg and vice-versa.
What is the current behavior?
In 2.0.0-beta.10 this is no longer the case. The changes made in #6189 made the sidenav update only when the sidenav is opening/closing.
Since flex-layout's changes occur without having to call open() or close() on the sidenav, the width recalculation doesn't occur.

What are the steps to reproduce?
Put dynamic/responsive content within a sidenav that is configured with "side".
What is the use-case or motivation for changing an existing behavior?
Being able to dynamically call a refresh of the MdSidenav/MdDrawer or MdSidenavContainer/MdDrawerContainer.
Even better would be an accessor to allow manually setting the margin of the sidenav to allow for pre-computing the _style variable and updating it when needed.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular 4.3.5
Angular Material 2.0.0-beta.10
Is there anything else we should know?
This is similar to #6583.
For right now I am using the following hack in my navigation directive to workaround whenever the ObservableMedia from angular flex-layout changes:
// Timeout required for flex-layout directives to update the child views/the width.
setTimeout(() => {
            (this._container as any)._updateStyles();
            (this._container as any)._changeDetectorRef.markForCheck();
}, 0);

+1. Same issue I have after upgrading to 2.0.0-beta.10

My workarround :
app.component.html
<md-sidenav class="main-sidenav" #sidenav mode="side" opened="false">
app.component.ts
export class AppComponent implements  AfterViewInit {

  @ViewChild('sidenav')
  private sidenav: MdSidenav;

  ngAfterViewInit(): void {
    setTimeout(() => {
      this.sidenav.open();
    }, 250);
  }
}

that is exactly what i did @sbeaufort. It creates a small animation at the first page load but its ok

I have the exact same issue.

Here is my solution:
HTML
`<md-sidenav-container #container>

`

Here is my solution:
HTML
<md-sidenav-container #container>
    <md-sidenav  mode="side" opened="{{showMenu}}" class="shadow"></md-sidenav>

</md-sidenav-container>

TS
export class MyComponent implements OnInit, AfterViewInit {
    @ViewChild('container') private _container;
    ...
    ngAfterViewInit() {
      setTimeout(()=>{
        this.showMenu = true;
      },0);
      this._container._ngZone.onMicrotaskEmpty.subscribe(() => {
        this._container._updateStyles();
        this._container._changeDetectorRef.markForCheck();
      })
    };
    ...
}

@ghwyf Thank you very much! This workaround also worked for me.

Same issue for me upgrading to 2.0.0-beta.10.
I used @ghwyf fix which works perfectly, thank you.

Closing as duplicate of #1130

Join the responses of @angularexample in #1130 and @ghwyf here, works perfect for me.
ngAfterViewInit seems too heavy for my application so I replace it with a specific call only when Subscription happens

@josephperrott I think the issues are about different things. The one you referenced is about opening and closing the sidenav automatically when viewport width changes. This one is about being able to resize the sidenav width while keeping it open.
Before the last update this worked with no problem. Right now, the main content is not being resized when the sidebar width is resized. Some people have shared workarounds for this, but I think it would be nice if Angular Material would support this use case which is quite popular in places like firebase.

Opened
Closed

Reopening, sorry I misunderstood a bit there.

It would be really helpful to give a guide on this. Are we going to do this with animations? Will there be a function on the sidenav (like sidenav.resize(width))?
I am on the material2-builds and use the new fixedInViewport, which is great. But when I animate the sidenav from 220px to 75px the main content section does not adjust (as it used to before).
Any comments as to what we will expect here?

Same issue here.

After a while, I was forced to come back to 2.0.0-beta.8 when sidenav works perfect.

I would like to know if material team thinks this has to be fixed. If not, I will apply a workaround and stop waiting for a fix.
Thanks a lot!

Same problem here after upgrading to 2.0.0-beta.10 . The fix from @ghwyf doesn't work for me with angular 4.4.4

Here's my temporary workaround to fix it:
<md-sidenav-container #sideNavContainer>
  <md-sidenav #sideNav align="start" mode="{{navMode}}" opened="true"
    [@sideNavAnim] (@sideNavAnim.done)="onSideNavAnimDone($event)">

  </md-sidenav>

  <router-outlet *ngIf="sideNavAnimFinished"></router-outlet>
</md-sidenav-container>

export class MyComponent {
  navMode = 'side';
  sideNavAnimFinished = false;
  ...
  onSideNavAnimDone(event) {
    this.sideNavAnimFinished = true;
  }
}

the example mentioned by @sbeaufort does not work well when the component has changeDetection: ChangeDetectionStrategy.OnPush. In order to make it work you need to manually detect changes to the UI, example:
ngAfterViewInit(): void {
        const size = this.drawerState === 'open' ? 220 : 75;
        setTimeout(() => {
            this.sidenav.open();
            this.cd.detectChanges();
        }, size);
    }

@crisbeto is the resize function on a roadmap for sidenav?

I was using @ghwyf workaround until beta.11 as well. What worked for me in beta.12 is the following:
export class MyComponent implements OnInit, AfterViewInit {
    @ViewChild('container') private _container;
    public showMenu: boolean = false;
    ...
    ngAfterViewInit() {
      setTimeout(()=>{
        this.showMenu = true;
      },0);
      this._container._ngZone.onMicrotaskEmpty.subscribe(() => {
        this._container._updateContentMargins();
        this._container._changeDetectorRef.markForCheck();
      })
    };
    ...
}

@mpschaeuble this does not seem to work anymore:
Property '_ngZone' is private and only accessible within class 'MatDrawerContainer'.
@mmalerba is there anything you guys can give us here?

I definitely think we need to do something about this, even if its just making some of these methods public so people can trigger update manually. Raising the priority.

any fix for this???

wow. it's like every month something new breaks. im stuck inbetween versions now, have to let the sidenav go broken. please fix this soon.

Problem still present in 5.0.0-rc0

@mmalerba
I think exposing a method to reflow the sizenav is reasonable, most component with on push should be able to reflow based on a users request.
That said, it's not developer friendly and verbose... nothing serious since a drawer is not used frequently in an app but still requires work.
From what I see, in most of the use cases the developer will set the width value of a sidenav which is easy since it's a user defined dom element...
If we create an @Input for the width on sidenav we can automatically trigger the changes on the content element which is hidden from the developer.
This is automatic and does not require work from the dev.
The solution should be a public method + width input just in case

Working on a workaround I am getting more convinced that the MatDrawerContainer needs to be notified by MatDrawer when the MatDrawer width property is changed.
Just exposing _updateContentMargins() will not do.
Right now, calling _updateContentMargins() on MatDrawerContainer  will query the width from the MatDrawer (left or right). The width is taken from the DOM element directly by querying the native DOM element offsetWidth property.
Simple animation transition in MatDrawer will make the whole thing fail.
For example, we have MatDrawer at 240px with 300ms transition and we change it to 60px and manually invoke _updateContentMargins().
When we call _updateContentMargins() the width is probably 240px or something a bit smaller.

Or a redux scenario where the width of MatDrawer is bound to an observable on the template, when do we call _updateContentMargins()?

Of course we can wait for animation to end but that is laggy, they should animate at the same time

Same issue here with @angular/material": "5.0.0-rc0" with following settings
sidenavOpen: true,
sidenavMode: 'side',
sidenavCollapse: false,

@crisbeto thanks! Wonderful.
How does one achieve the minification of the sidenav now? Animations? Is there an example? Can I toggle to a certain width?
Thanks

@axtho what these changes do is allow you to opt in to having the drawer container resize once per change detection cycle, rather than on open/close.

@crisbeto so it is correct to assume that I would need to trigger change detection after running an animation when the component is on OnPush?

You might not have to since the sidenav will check inside ngDoCheck which keeps firing not matter the change detection strategy.

Same. This is still an issue in 6.4.7

This solution is still a bit of a hack, but it's less of a hack than setTimeout...
`
@ViewChild('sidenavContainer') private sidenavContainer: MatSidenavContainer;
this.sidenavContainer._contentMarginChanges
.pipe(
debounceTime(250),
tap(() => this.sidenavContainer._contentMargins.left = this.sidenav._width),
)
.subscribe();
`

this.sidenavContainer.autosize = true;
worked for me... after mucking with it for an hour. :(

I observed the same issue in 6.4.7, but only in certain cases:

when running the app in dev mode, there were no issues
when running the app in prod mode, the mat-sidenav-content was overlapped by the mat-sidenav
when disabling the buildOptimizer the issues disappeared
When debugging the sourcecode of MatSidenavContainer, I recognized the code being executed to look like the source code of the 5.2.x branch
(line 713): this._ngZone.run(() => this._contentMargins.next({left, right}));
instead of
(line 717): this._ngZone.run(() => this._contentMarginChanges.next(this._contentMargins));

Finally I identified the buildOptimizer cache as the culprit. After deleting<EMAIL_ADDRESS>everything worked like a charm.

@dereekb this issue should not be closed.
Still exists in the year 2019.
@bobbydowling solution is the only thing worked for me.  And I mucked with it for like 3 hours.

this.sidenavContainer.autosize = true;
worked for me... after mucking with it for an hour. :(

Where did you put autoSize = true ?

@MeghnathDas here is documentation of autosize flag.  It is option of mat-drawer-container
https://material.angular.io/components/sidenav/api#MatDrawerContainer
HTH


correctly update ContentLength for uncompressed response body

fix the bug that is found when reproducing in issue #491 .
When Content-Encoding is gzip, the uncompressed response body length is different from the compressed one. So the Content-Length need to be updated to stay consistent with the uncompressed body length.
More detail in https://github.com/gojue/ecapture/issues/491#issuecomment-1972430408

first I add three *.bin files. In particular,<PHONE_NUMBER>02000.bin file is response body which is compress with gzip to detect the bug we fix in this PR.
To see its content, run the following content

cat<PHONE_NUMBER>02000.bin | gunzip

Also error detection is added in TestEventProcessor_Serve() function to explicitly detect error through log message.

With all steps above, it can detect all related bugs on version that is only added unit test related code with the bug not fixed.
=== RUN   TestEventProcessor_Serve
    processor_test.go:81: 2024/03/01 20:00:21 [http response] DumpResponse error: unexpected EOF
    processor_test.go:81: 2024/03/01 20:00:21 [http response] DumpResponse error: http: ContentLength=1145 with Body length 2443
    processor_test.go:89: some errors occurred
--- FAIL: TestEventProcessor_Serve (3.00s)

It can be verified through my demo branch https://github.com/ruitianzhong/ecapture/tree/demo

Furthermore, with the added unit test, one more error is found during testing (i.e., DumpResponse error: unexpected EOF). This is because of the wrong value for Content-Length (74332, actually too large) in<PHONE_NUMBER>04824.bin.

Finally, with all the bug fixes applied, all the unit tests are passed.

Further Explanation
On previous commit(before this PR):
When running:
wget -d --header 'Accept-Encoding: gzip' https://<IP_ADDRESS>

It works well and no DumpError occurred.
However, when running:
wget -d --header 'Accept-Encoding: gzip' https://www.baidu.com

DumpError occurred(mentioned in #491).
After further investigation, I found that it's because of the response structure.
for baidu, its response header is like
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 1145
Server: bfe
Date: Fri, 01 Mar 2024 08:24:27 GMT
Content-Type: text/html;charset=UTF-8

for <IP_ADDRESS>, its response header is like:
`HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked``
Obviously, Content-Length is different. According to the [HTTP/1.1 standard](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding), with `Transfer-Encoding` set, Content-Length is not set and in go it is zero, according to comment in http package comment:

```go
// ContentLength records the length of the associated content. The
	// value -1 indicates that the length is unknown. Unless Request.Method
	// is "HEAD", values >= 0 indicate that the given number of bytes may
	// be read from Body.
	ContentLength [int64](https://pkg.go.dev/builtin#int64)

So DumpResponse() work well under this condition after response body is uncompressed.
However, when the Content-Length is set like first example, if we just uncompressed the response body without adjusting the Content-Length, error would be returned from DumpResponse.
Just to give  more context info here.
Thanks!

LGTM, thanks.
In fact, when a larger string is called with SSL_Write, it will be split into multiple fragments and SSL_Write will be called multiple times. Moreover, there are concurrent scenarios in the upper-level business logic.
Therefore, there is an issue of disorder in the order of HOOK results for SSL_Write. The current solution cannot guarantee a perfect resolution.
Therefore, a better solution is to use the -m pcap mode.

I agree with you. There exists a semantic gap between eCapture and the application which means that eCapture might not fully understand the application-specific behavior (like parsing different interleaving protocol). When that really happen, some errors occur which is expected though


Pass a function (or function pointer)

Is it possible to pass a function or a function pointer? I couldn't seem to find anything to suggest you can. There's a lot of APIs however that require this.

 Thanks for all your work on this project.


Handling of indentation for modules with a with

Resolves #248
[ ] Based on #279 (merge first to avoid conflicts)

This is a work in progress.
I have added the input softline between the = and a structure, in a module definition. However, somewhere between f97a163...f7d1004, a rule was introduced that breaks the indentation. (Amongst some more subtle differences.).
Expected:
module MFloat : SERIALISABLE
  with type t = float =
struct
  type t = float [@@deriving yojson]
  let _key = "float"
end

Actual (as of ad0b2b6):
module MFloat: SERIALISABLE with
    type t = float =
struct
  type t = float [@@deriving yojson]
  let _key = "float"
end

An extra pair of eyes would be appreciated on this one :eyes:

The indentation bug was introduced in 12bf707e78e4, with this rule:
https://github.com/tweag/topiary/blob/12bf707e78e47497f1269d4d96a77477df2315fe/languages/ocaml.scm#L1290-L1303

@nbacquey I can fix the indentation if I add a @do_nothing rule against any with anonymous node that appears:
(module_binding
  (#scope_id! "module_binding_before_equal")
  (module_name) @append_indent_start @begin_scope
  "="? @do_nothing
  [
    (signature)? @do_nothing
    [
      (functor_type)
      (module_type_constraint
        "with"? @do_nothing
      )
    ] @append_indent_end @end_scope
  ]
  .
)

However, that then breaks the indentation on other examples with a with:
 module MUnit: SERIALISABLE with
-  type t = unit
+type t = unit

     (* ...snip... *)
     module Protocol_implementation:
-      PVM.S with
-      type context = Context.t
-      and type state = Context.tree
-      and type proof = Context.Proof.tree Context.Proof.t
+    PVM.S with
+    type context = Context.t
+    and type state = Context.tree
+    and type proof = Context.Proof.tree Context.Proof.t

I think, therefore, that there was nothing wrong with this rule, as such, but the double indentation is getting applied elsewhere. However, the tree for the type t = float is:

(constrain_type)

Anonymous type
(type_constructor_path)

(type_constructor)

Anonymous =
(type_constructor_path)

(type_constructor)

I don't see any rule that would match any part of this subtree... Ideas?

The problem is indeed that the rule you identified applies, where it should not (it's designed to apply only for module bindings without an = sign, but it obviously fails at that. I'm thinking about a way to fix it.
On another note, it allowed me to identify yet another problem with tree-sitter query grammar, which I'll be documenting

This new version of the rule fixes the problem:
(module_binding
  (#scope_id! "module_binding_before_equal")
  (module_name) @append_indent_start @begin_scope
  [
    (functor_type)
    (module_type_constraint)
  ] @append_indent_end @end_scope
  "="? @do_nothing
)

I removed the (signature) part, because it did nothing to the tests. The real modification comes from pushing the = at the end.
Also, instead of adding a new unopinionated rule to keep input line breaks, I would prefer to be opinionated and add a scoped line break using the query just above the one I modified. Do you want to handle it @Xophmeister ? Otherwise I can draft something.

Thanks, @nbacquey. That updated query certainly worked :+1: and I put in the scoped softline in 37c5b47; thus un-drafting this PR. Note that I could only prepend the scoped softline (appending didn't do anything), so the final output looks like this:
module MFloat: SERIALISABLE with
  type t = float
= struct
  type t = float [@@deriving yojson]
  let _key = "float"
end

Prepending is fine with me. Appending doesn't work because the custom scope ends just after the =, so the scoped softline would be out of scope (which should trigger a warning message).


Simplify gitignore for mu-plugins

In my experience, I haven't had a situation where I had a mu-plugin in the root of the mu-plugins directory that I would want to ignore as these are almost always self-created.  Sub directories, however, are usually ok to ignore as a rule, as those can be packages, which should be ignored.  Since packages can't be installed into the root, without some kind of custom installer, it makes more sense I think to have it like this.  Of course there could be sub-directories there that you may not want to ignore, and then in those situations, it makes perfect sense to add an exception in the ignore.
From a workflow perspective, it seems unintuitive to me that if I want to add an mu-plugin of my own in the root, that I should then need to add it to the gitignore whitelist.
TL;DR
This changes the .gitignore for the mu-plugins directory from ignoring everything below /* and then explicitly un-ignoring ! specific mu-plugin files, to just ignoring sub-directories instead /*/.

I think this does make more sense. The entire point of these git ignore rules is to ignore directories that are managed by package managers (Composer). And you're right that the root of mu-plugins/ doesn't fit that criteria.

it's wrong to assume that everything in a subfolder in the mu-plugins folder would be there from a package manager.
why not just remove the mu-plugins directory gitignore rules altogether?

I'm not implying that any sub-directory there would be from a package manager, but in this case, wordpress-muplugin is a package type, with web/app/mu-plugins/{$name}/ as the installer path.
It doesn't make sense that all other package installer paths be ignored while this one is not.

we don't have a gitignore for themes. we should just remove the gitignore for mu-plugins.

ignore me :tired_face:

thanks!

Couldn't this same reasoning be used to change the gitignore rule for the plugins directory as well?


AttributeError: 'PluginConfig' object has no attribute '_remove_input_padding'. Did you mean: '_remove_input_padding'?

System Info
A10
tensorrt-cu12-10.2.0.post1
tensorrt-cu12-bindings-10.2.0.post1
tensorrt-cu12-libs-10.2.0.post1
tensorrt_llm-0.12.0.dev2024072300
python==3.10
Who can help?
@Tracin
Information

[X] The official example scripts
[ ] My own modified scripts

Tasks

[X] An officially supported task in the examples folder (such as GLUE/SQuAD, ...)
[ ] My own task or dataset (give details below)

Reproduction
(distil-asr) root@ip-172-31-17-245:~/TensorRT-LLM/examples/whisper# trtllm-build  --checkpoint_dir distil_whisper_large_v3_weights_int8/encoder               --output_dir distil_whisper_large_v3_int8/encoder               --paged_kv_cache disable               --moe_plugin disable               --enable_xqa disable               --max_batch_size 8               --gemm_plugin disable               --bert_attention_plugin float16               --remove_input_padding disable               --max_input_len 1500
Expected behavior
I'm using distill-large-v3 and I get an error with trtllm-build
actual behavior
[TensorRT-LLM] TensorRT-LLM version: 0.12.0.dev2024072300
[07/29/2024-15:10:41] [TRT-LLM] [W] Implicitly setting PretrainedConfig.n_mels = 128
[07/29/2024-15:10:41] [TRT-LLM] [W] Implicitly setting PretrainedConfig.n_audio_ctx = 1500
[07/29/2024-15:10:41] [TRT-LLM] [W] Implicitly setting PretrainedConfig.num_languages = 100
[07/29/2024-15:10:41] [TRT-LLM] [I] max_seq_len is not specified, using value 2048
Traceback (most recent call last):
File "/opt/conda/envs/distil-asr/bin/trtllm-build", line 8, in
sys.exit(main())
File "/opt/conda/envs/distil-asr/lib/python3.10/site-packages/tensorrt_llm/commands/build.py", line 488, in main
build_config = BuildConfig.from_dict(
File "/opt/conda/envs/distil-asr/lib/python3.10/site-packages/tensorrt_llm/builder.py", line 562, in from_dict
return cls(
File "", line 33, in init
File "/opt/conda/envs/distil-asr/lib/python3.10/site-packages/tensorrt_llm/builder.py", line 503, in post_init
remove_input_padding=self.plugin_config.remove_input_padding,
File "/opt/conda/envs/distil-asr/lib/python3.10/site-packages/tensorrt_llm/plugin/plugin.py", line 79, in prop
field_value = getattr(self, storage_name)
AttributeError: 'PluginConfig' object has no attribute '_remove_input_padding'. Did you mean: '_remove_input_padding'?
additional notes
Suspect a problem with the version

I've got exactly the same problem after running the whisper example using large v3, windows 10, tensorrt-llm 11.0 on a fresh virtualenv.

why do we need to set 'remove_input_padding disable' ?

why do we need to set 'remove_input_padding disable' ?
I'm guessing we don't, I'm just following the example. But I've tried for example just manually setting input_padding and removing it from the PluginConfig, but then you get errors for every other parameter that is in PluginConfig. It's like a game of whack-a-mole where every time you fix one you get the next. Haven't figured out an overall fix, but I suspect that even if I do there'll be something else that breaks because it does seem like a versioning issue.

@xinliu9451  @tjongsma  @Kefeng-Duan, for distill-whisper, would you mind adding model=model.half() here https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/whisper/distil_whisper/convert_from_distil_whisper.py#L60 for now?
The code fix will be synced to github later.

why do we need to set 'remove_input_padding disable' ?

Sorry, remove_input_padding option for distill-whisper would be support in the future.

See https://github.com/NVIDIA/TensorRT-LLM/issues/2118#issuecomment-2292413603 also.


D'nt playing all video. Message Error and recommended VLC

What version of WebTorrent Desktop? (See the 'About WebTorrent' menu)
0.17.2
What operating system and version?
ROSA Linux Fresh x86_64
What did you do?
start playing all defalt videos and view console
[65:1210/234756:ERROR:sctpdataengine.cc(1050)] SctpDataMediaChannelFailed to send a stream reset for 1 streams: [0x00000009] Неправильный дескриптор файла
What did you expect to happen?
What actually happened?

Duplicate of https://github.com/feross/webtorrent-desktop/issues/350


[TwigComponents] Isolate child block in seperate component

Hey, just a quick question, because i didn't find any issues about it:
I want to build an alert component with AlertTitle, AlertDescription and AlertIcon as seperate components that should be used as child components of the root Alert component.
The root component looks kind of like this:
// alert/root.html.twig

    {% block icon %}{% endblock %}

        {% block title %}{% endblock %}
        {% block content %}{% endblock %}

I thought i could just outsource the <twig:block name='icon'/> tag into the seperate component:
// alert/icon.html.twig
<twig:block name='icon'>

...

</twig>

so that the icon is automatically rendered inside of the root component where its supposed to be rendered and i could just use the component like
<twig:alert:root>
    <twig:alert:icon />
</twig:alert:root>

instead of
<twig:alert:root>
    <twig:block name='icon'><twig:alert:icon /></twig:block/>
</twig:alert:root>

because i don't really like the visual bloat of the second variant. But as i found out it doesn't work that way, and the alert:icon component is rendered inside the content block of the alert:root component instead of the icon block.
So the question is: is there a away to outsource the twig blocks definition into the seperate components to avoid having to explicitly set the blocks everytime?
Thanks in advance and if anything is unclear, let me know.

<twig:alert:root>
    <twig:block name='icon'><twig:alert:icon /></twig:block/>
</twig:alert:root>

This is the right choice here. But you also can use, once per component, the "magical" content block. If you pass content inside a component, it will be assigned to the content block (if you declare it)
For the others you have to name them.
So this works:
<twig:alert:root>
    <twig:alert:icon />
</twig:alert:root>

... but it's equivalent to
<twig:alert:root>
   <twig:block name="content">
        <twig:alert:icon />
    </twig:block>
</twig:alert:root>


jump to different page sometimes feel stuck or very slow

so router url jumping feel slow, might be related to the current page like home page consume too much memory and CPU

related

https://github.com/digi-monkey/flycat-web/issues/238


on('transaction') vs on('update')

Is there a reason why the editor directive uses on('transaction') and not on('update')?
The problem with the transaction event is, that setContent always triggers it with docChanged = true.
With the update event it gets only triggered when something inside the editor changes.
The consequence it that patchValue on a pristine form marks the form as dirty, because the editor emits a value.
In my test the update event worked perfectly fine.

To be frank, I don't remember why I made the change. Also, I don't remember seeing an update event. At that time most of their docs were in progress. Or I could not have noticed/missed.
I am open to making this change. But, unless we properly evaluate the difference between the two events. I think it is worth considering it as a breaking change. Thoughts?

Yeah we could consider it a breaking change.
According to the tiptap docs update is the proper event here.
I tested it and I could not see any difference. On transaction just emits way more often but when it comes to the content change there was no difference.
I think we could go with a minor version and mention the change in the behavior.
Should I create a PR?

Should I create a PR?

Sure.

And I think I remember the reason for using the transaction event. There are certain commands where update events are not triggered. But I think there is a workaround, all commands of this category we need to add an extra boolean parameter to manually update them.
Example:
Before
editor.commands.setContent(‘Hello World!')

After
editor.commands.setContent(‘Hello World!’, true)

Ref: https://tiptap.dev/api/commands/set-content

And need to verify the OnPush changedetection strategy as well.

Note: Moving from transaction to update event might fix #24

Yes the emitUpdate option is actually important, because #24 arises from onTransaction not respecting the emitUpdate
this.editor.chain().setContent(value, false).run();

We already have emitUpdate = false in writeValue, so it shouldn't trigger an update, but only on('update') respects that option.
OnPush is no problem here, because handleChange isn't changing. The only difference the on('update') should do, is not emit a value in the writeValue function.

Fixed in v7.0.0


feat: add differential drilldowns to simulation results page

Description

Resolves #(issue)
Type of change

[ ] 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

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide reproduction instructions and list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] 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

Please clean up your PR description, even by deleting the content you do not use.
Please assign someone to your PR. @echl would be a good candidate for example.


Downloading list of likes stops at 170 tracks

when I run:
$ soundscrape sharmanhall -l
stops at 170 songs. last track it downloaded:
Downloading: SAFIA - You Are The One
[################################] 3534/3534 - 00:00:04

Looks like this fixes it:
https://github.com/Miserlou/SoundScrape/pull/54/commits/4883af2c164f30bbdb27bf000979f356e979a6cb

Has 4883af2 been merged into the master?

Seems like this is resolved.


Make de-serialization of API response opt-in

Summary
The library  de-serializes the API response by default. There may be cases where de-serialization is not required by the user, or custom de-serialization is desired. This PR makes de-serialization of the API response optional, giving the user more control.
Changes

De-serialization logic has been decoupled from the Client::send function
Each get or post method on types present in the client module now has a get_raw and post_raw variant which returns Result<reqwest::Response, Error>

Note: The existing public API remains unchanged

Thank you for the PR! I can definitely see use cases where one would like to discard irrelevant parts of the response body and only retain the necessary parts for performance or other reasons.
Merged!

@puetzp Thank you for merging it. Any idea when a new tag will be added or when a new release will be published to crates.io?

Done!


Remove unused libraries

Added cryptography and pcrypt but didnt use them
Need to pip uninstall --target=... cryptography pcrypt

resolved with v1.1.0


Error: Unable to find environment variable: UPSTASH_REDIS_REST_URL | Nextjs 13

Greetings,
I'm on Next.js 13 created using npx create-next-app
Packages
    "@upstash/redis": "^1.18.1",
    "axios": "^1.2.1",
    "eslint": "8.29.0",
    "eslint-config-next": "13.0.6",
    "i18next": "^22.1.4",
    "mongodb": "^4.12.1",
    "next": "13.0.6",
    "next-i18next": "^13.0.0",
    "nextjs-progressbar": "^0.0.16",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-i18next": "^12.1.1",
    "react-toastify": "^9.1.1"

index.jsx
import { Fragment, useCallback, useEffect, useState } from 'react';
import { Redis } from '@upstash/redis';
import { useTranslation } from 'next-i18next';
import { serverSideTranslations } from 'next-i18next/serverSideTranslations';

console.log(process.env.UPSTASH_REDIS_REST_URL); // Works!!!
const redis = Redis.fromEnv(); // Error!!!

export default function Home(props) {
  const { t } = useTranslation('pages');

  const [cache, setCache] = useState('');

  useEffect(() => {
    if (process.env.NODE_ENV === 'development') {
      console.log('Upstash Cache!', JSON.stringify(cache));
    }
    if (cache === null || cache === '') {
      getCache();
    }

    return () => {
      if (process.env.NODE_ENV === 'development') {
        console.log('Upstash Cache effect!');
      }
    }
  }, [cache])

  async function getCache() {
    const member = await redis.srandmember("person");
    setCache(member);
  }

  return (
    <Fragment>

Hello!

    </Fragment>
  );
}

export async function getStaticProps({ locale }) {
  if (process.env.NODE_ENV === 'development') {
    console.log('Home page static props');
  }
  return {
    props: {
      ...(await serverSideTranslations(locale, ['global', 'pages'])),
    },
  };
}

.env.development
UPSTASH_REDIS_REST_URL="https://global-awesome-pikachu-12345.upstash.io"
UPSTASH_REDIS_REST_TOKEN="SuperAwesomeToken"

The Error

Even though I have UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN in my .env.development file.
I also tried to rename the file to .env and I still get the same error.
If I use the code console.log(process.env.UPSTASH_REDIS_REST_URL), it does fetch the value and shows them in the console.
Can you suggest what could be wrong?
Thanks!

Hmm not sure what's happening here.
Does it work deployed to vercel or wherever you deploy to?
We have an example Herr which worked fine: https://docs.upstash.com/redis/quickstarts/nextjs13
I'd suggest you provide the secrets manually for now to unblock you and I'll try to dig a little in the coming week.

Even though I have UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN in my .env.development file.
I also tried to rename the file to .env and I still get the same error.
If I use the code console.log(process.env.UPSTASH_REDIS_REST_URL), it does fetch the value and shows them in the console.

Yes as I mentioned above, please use either getServersideProps, getStaticPropsorgetInitialProps` to load the data.
you can not use the Redis client in the frontend without exposing the token


readme: Update README.rst to align with 1.1.0 release

Signed-off-by: Malcolm Prinn<EMAIL_ADDRESS>Signed-off-by: Jesus Sanchez-Palencia<EMAIL_ADDRESS>

LGTM

Looks fine for me...


chore: add note about validateUser function

Nice one.
I would also list this as a breaking change in the release notes.

Thanks @n1ru4l !
@santino I updated the release notes, thanks!


Add FenwickTree for Java

For short term contributors: we understand that getting your commits well
defined like we require is a hard task and takes some learning. If you
look to help without wanting to contribute long term there's no need
for you to learn this. Just drop us a message and we'll take care of brushing
up your stuff for merge!
Closes #218
By submitting this pull request I confirm I've read and complied with the
below declarations.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the commit guidelines for this project.
[x] My code follows the standard code structure.
[x] This pull request has a descriptive title. For example, {Tag}: Add {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[x] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.
[x] This pull request shall only be reviewed and merged once all the checks passes. No maintainer or supporter shall be obliged to review it before this condition is met.
[x] I have mentioned the issue number correctly (with hyperlink) in this pull request description.

After you submit your pull request, DO NOT click the 'Update Branch' button.

The   code is a workaround for this issue

Hello, are there any updates on this issue? I think I followed all of the guidelines

Ok I misread the last request and I thought that I needed to merge the two PRs.
I'll fix once I get home

Ok I misread the last request and I thought that I needed to merge the two PRs.
I'll fix once I get home


fix: team alerts, prom monitors for core apps

This also includes an upgrade to cert-manager chart as that includes the servicemonitor fix...deploying on a fresh cluster to check


aioredis pipeline implementation problem

Hi
i was taking a  look at the way that the pipeline has implemented in aioredis, and it seems that the way it is implemented it's not actually a redis pipeline, and it just queues commands in a list in code and at the execution time, it executes each one of commands separately on a single connection to redis.
This funcition is my problem.
    def _send_pipeline(self, conn):
        with conn._buffered():
            for fut, cmd, args, kw in self._pipeline:
                try:
                    result_fut = conn.execute(cmd, *args, **kw)  # --- execute each command separately
                    result_fut.add_done_callback(
                        functools.partial(self._check_result, waiter=fut))
                except Exception as exc:
                    fut.set_exception(exc)
                else:
                    yield result_fut

please correct me if i'me wrong.
thanks

Hi,
You missed with conn._buffered() line.
In earlier version of aioredis _send_pipeline indeed was sending commands one by one.

@popravich I'm also seeing this performance benchmark, where aioredis is 75% slower than redis.  Been using aioredis for the last six months but reconsidering now since this is such a performance hit.  We need to add hset | expire in transactions in the order of thousands per second.  Also we need to use the hget_all with pipeline(False) which doesn't even seem to be an option.

@nrccua-timr Do you mind taking a look at #891 I'm busy with school, but I've been meaning to get a performance benchmark. If you don't mind trying out the above code and benchmark again but using that PR for aioredis. Thanks!

@nrccua-timr Do you mind taking a look at #891 I'm busy with school, but I've been meaning to get a performance benchmark. If you don't mind trying out the above code and benchmark again but using that PR for aioredis. Thanks!

I'm guessing it will be about the same, given the impl in #891 is nearly identical to redis-py's and actually reduces network bandwidth quite a bit. In the current impl we just spawn a bunch of individual tasks, it's essentially a fancy asyncio.gather. But that will cause a lot of latency if we 1) overload the server with requests or 2) schedule more tasks than available connections in the pool or 3) a mix of both (1) & (2).

@seandstewart Perhaps. Really the only benchmark that I think a lot of people are looking at when choosing a redis client is the one created by this repository's author: https://github.com/popravich/python-redis-benchmark
Besides the blatant bias, I'd like to see if this new implementation's benchmark live up to its name. People expect the latency between cache and server and server processing to be as minimal as possible, so having results in my opinion would be helpful.

But that will cause a lot of latency if we 1) overload the server with requests or 2) schedule more tasks than available connections in the pool or 3) a mix of both (1) & (2).

As in the requests to the Redis server or like a web server? If it's the latter, then I can't imagine overloading the server being too big of an issue since production environments are on workers spawning independent threads. Same with point 2.

@seandstewart Perhaps. Really the only benchmark that I think a lot of people are looking at when choosing a redis client is the one created by this repository's author: https://github.com/popravich/python-redis-benchmark
Besides the blatant bias, I'd like to see if this new implementation's benchmark live up to its name. People expect the latency between cache and server and server processing to be as minimal as possible, so having results in my opinion would be helpful.

But that will cause a lot of latency if we 1) overload the server with requests or 2) schedule more tasks than available connections in the pool or 3) a mix of both (1) & (2).

As in the requests to the Redis server or like a web server? If it's the latter, then I can't imagine overloading the server being too big of an issue since production environments are on workers spawning independent threads. Same with point 2.

I should clarify (1). By overloading I simply mean that Redis processes all incoming queries sequentially (barring a small number of very explicit exceptions). If you send in 5000 queries at once, Redis will respond to each query in-turn. Using a pipeline allows Redis to respond in bulk, using the multi-bulk response protocol, which is more efficient in terms of CPU and IO, since Redis can optimize and pack the result into a single response.

@Andrew-Chen-Wang so I tested the PR branch sean/aioredis-redis-py-compliance and the time was approx the same as using redis-py, so much better than aioredis version 1.3.1.
sync time = 0.14842700958251953
async time = 0.14449310302734375
-3.9339065551757812
However, it seems like the aioredis commands no longer need the await clause?

@seandstewart Ah yes then that makes sense. Thanks for clarifying!
@nrccua-timr Not... sure? I thought they still do since you need to await for any kind of latency bit... Unless we missed some function during the port from redis-py to aioredis. Ik the docs haven't exactly been merged yet, but take a look here: https://github.com/aio-libs/aioredis/pull/891/files#diff-9369a12eda54eb33dac17bd4686d9a0ece704711b82671e0e77a9230d02db3d3R8-R10
I'm not exactly an expert on this PR since I've never found the time to properly take a gander, but hopefully that's how it works?

The pipelined commands no longer return tasks, instead they return the pipeline instance, just like in redis-py. The final execute requires an await however, since it's IO.

@Andrew-Chen-Wang I tested pipeline.execute() and redis_instance.set('python', 'go') and both no longer want the await. Maybe I'm doing something wrong when installing:
pip install git+https://github.com/aio-libs/aioredis.git@sean/aioredis-redis-py-compliance
By the way, this PR https://github.com/aio-libs/aioredis/pull/891 looks awesome and will be great for the longevity of the project and staying up to date.  I've created this project that leverages aioredis among other things:  https://pypi.org/project/aioradio/

@seandstewart so the following code is the benchmark I had to use (using fakeredis) with the PR:
`import asyncio
import time
from fakeredis import FakeStrictRedis
NUM_OF_REDIS_COMMANDS = 5000
async def async_pipeline_redis(redis_instance):
pipeline = redis_instance.pipeline()
for i in range(NUM_OF_REDIS_COMMANDS):
    pipeline.get('test')

return pipeline.execute()

def sync_pipeline_redis(redis_instance):
sync_pipeline = redis_instance.pipeline()
for i in range(NUM_OF_REDIS_COMMANDS):
    sync_pipeline.get('test')
return sync_pipeline.execute()

async def benchmark_pipeline():
sync_redis = FakeStrictRedis()
async_redis = FakeStrictRedis()

s = time.time()
sync_pipeline_redis(sync_redis)
sync_pipe_time = time.time() - s
print(f'sync time = {sync_pipe_time}')

s = time.time()
await async_pipeline_redis(async_redis)
async_pipe_time = time.time() - s
print(f'async time = {async_pipe_time}')

print((async_pipe_time - sync_pipe_time) * 1000)

asyncio.run(benchmark_pipeline())`

oh wait, I think I see my blunder

Yeah I had an obvious bug with using same redis not aioredis connection.  When I switched to a real redis resource with the appropriate sync vs async logic I now see the same benchmark results roughly, which is great.  I'll keep using aioredis and hopefully aioredis has a release this quarter with these improvements.

@seandstewart  @Andrew-Chen-Wang  @popravich hi y'all.  Wanted to give you my perspective on the direction of this project.  After reading through #891 I'm pretty disheartened that such an amazing project would go somewhat unmaintained for a year when it has so much potential.  The speed of pipeline is terrible in comparison to the sync version, which is unacceptable for a project being used by so many people and has over 1k stars.  I'm not saying this primarily to complain as I want this project to succeed.  If Sean's PR was migrated to another fresh async redis project I would migrate all my aioredis integration to it tomorrow because the need for optimal performance is that important... it is one of the reasons for async in the first place, to optimize IO bound processing.

Pipeline performance is known problem and it will be fixed.
I just dont understand why you all want aio-redis-py so much but instead of adding async support to redis-py (where that PR belongs to) everyone just want to use it under this name.

When will the transaction performance issue be fixed?  A few days, months, in a year?
Get Outlook for Androidhttps://aka.ms/ghei36

From: Alexey Popravka<EMAIL_ADDRESS>Sent: Tuesday, February 23, 2021 2:46:20 AM
To: aio-libs/aioredis<EMAIL_ADDRESS>Cc: Tim Reichard<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [aio-libs/aioredis] aioredis pipeline implementation problem (#650)
Pipeline performance is known problem and it will be fixed.
I just dont understand why you all want aio-redis-py so much but instead of adding async support to redis-py (where that PR belongs to) everyone just want to use it under this name.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/aio-libs/aioredis/issues/650#issuecomment-784010351, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALCYCBRIMLIUVOBGRULPHJDTANTNZANCNFSM4JBEF6PA.


Create Sphinx documentation page

[x] setup
[x] make GH action
[x] setup page
[ ] change styling to telekom style
[ ] switch to MD
[ ] add more content
[ ] link from README to page

Step 1 in PR #48

deploy here https://github.com/telekom/HPOflow/commit/bf3b4951edbf3a6be904522a6a6c9a03f3bfdda7

see https://telekom.github.io/HPOflow/

done


Base64 encode the scope value

bkt permits setting a cache scope (provided via the BKT_SCOPE
environment variable or the --scope command line option) to prevent
collisions between unrelated command invocations. Previously, the scope
value was used verbatim in a directory path, causing errors if the scope
contained path-sensitive characters such as /.
This commit modifies bkt to base64 encode the scope value. Given a scope
value like https://example.com/, that means we now end up with a path
like:
/tmp/bkt-0.7-cache/keys/aHR0cHM6Ly9leGFtcGxlLmNvbS8.C3823B193F1E0C78

Instead of the invalid:
/tmp/bkt-0.7-cache/keys/https://www.example.com/.C3823B193F1E0C78

Fixes #50

Thanks for the feedback. I'll try to take care of these sometime this week.

@dimo414 just following up to see if this needs any more work. Thanks!

Sorry I had missed that you'd updated the PR (you can click the "re-request review" button to notify the reviewer - GitHub's review flow is pretty confusing :confused:). Will take a look as soon as I can.

Thanks again! Will plan to cut a new release with this soon.


To configure Ollama to run multiple models simultaneously

if the design of Ollama can support calling multiple models simultaneously. For example, can it be used in evaluation scenarios? Thanks for your support.

https://github.com/ollama/ollama/blob/main/docs/faq.md#how-does-ollama-handle-concurrent-requests

@DavidAlpha007 if the docs above don't clear it up, please clarify your question on what you're trying to accomplish.


Enable cert downloading in administrative configuration for integration

Enable cert downloading in administrative configuration for integration

Code merged into master. Close


Create Airlinese.yml

source: https://github.com/errata-ai/proselint/blob/master/proselint/Airlinese.yml

Linting with vale failure on empty input is a know bug: see https://github.com/errata-ai/vale-action/issues/39.


[question] Release new package?

How can we better our software?
I had the question if the newly added bug fixes etc. could be released to github (/ pypi.org) as version 2.2.0 since there were some major enhancements / bugs that are fixed now

Sure, I did some testing this evening to maybe fix some bugs and then release. Which I've now completed

Thank you


Zoom in/out does not work

Node.js 12.8.1, Chromium 78.0.3904.130, and Electron 7.1.12.
Just run the example, click menu items "Zoom In/Out", "Actual Size", no response.
However, hot keys work. (Full screen menu works)

Enable both system default menu bar & this custom title bar in my app.  Zoom in... in system menu works, while custom bar not.

None of the edit functions work for me, as well.


Issue #90: Add ability to specify checksum flag in static compress methods

@luben this patch adds the ability to specify a checksum on Zstd::compress and other static compress methods without the use of streams so they're GC friendly.

Codecov Report

Merging #91 into master will increase coverage by 0.11%.
The diff coverage is 80%.

@@             Coverage Diff              @@
##             master      #91      +/-   ##
============================================
+ Coverage     62.94%   63.06%   +0.11%
- Complexity      133      137       +4
============================================
  Files            10       10
  Lines           726      731       +5
  Branches        118      118
============================================
+ Hits            457      461       +4
- Misses          155      156       +1
  Partials        114      114

LGTM, plese remove the 2 lines that change upstream sources - I don't think we need them

Thanks! Great contibution. I will release it soon on Maven

Oops looks like you merged before I squashed.

@luben how long before the jar is available on maven central?

I just pushed it but ti may take a few hours before showing.

https://repo1.maven.org/maven2/com/github/luben/zstd-jni/1.3.8-5/


SPT v3.2 Refactor

Made a bunch of changes to have the mod compile, start without errors, and execute a method on client start.
Changes include:

Added a great number of project files that will aid you in development once you start using Visual Studio Code. For real, get it!
Added a build script to generate a zip file that can be uploaded to the hub. This can be run with npm run build while in the Kiki-HealthMultiplier folder. Requires you npm i first.
Moved a number of global variables to private class variables.
Moved the chunk of code that dealt with bots (and doesn't need the sessionId) to a setBots method that runs after the database is loaded.
Added configuration blocks for Knight, BigPipe, and BirdEye. Default health still needs to be validated. These were needed to start the server.
Changed all console.log calls to instead use this.logger.debug.
Switched from using the ProfileController to using the ProfileHelper. It seams the methods you were trying to access no longer exist within the ProfileController. They must have been moved in a previous update. This was the source of your pain.

I hope this helps you out! However... I haven't tested this at all. You will still need to check to see that the mod is accomplishing what you want it to.
🍻

Really appreciate the help.  Most of the extra's are not going to be of use to me until I get a proper dev environment set up.  My system wont run the required node version at present, hence the lack of a couple of things.
I am going to close this pull, but I have taken from it what I needed, thanks again <3.


Issue with k8s.io/docs/reference/kubernetes-api/common-definitions/patch/

What is the structure of the body without patch written in the document

/remove-lifecycle stale

/remove-lifecycle rotten


fix: support replace deployment and cos assets

:tada: This PR is included in version 0.1.8 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add additional schedule view - Calendar

Let users view their course in a schedule, such that times are listed in half hour increments down the left side, days of the week are along the top, and the lectures are blocks.
Blocks would have the course code (always), lecture type (always), start + end time (if room)
Users could save image of calendar, or share with others.

Not an issue, but a feature. Closing and moving to feature tracker.


Issue executing process short_variants:get_ab_tables:shapeit,  ERROR: No variants to be phased in files

Hello,
I ran into the following error attempting to run PTATO  ERROR: No variants to be phased in files while running shapeit 4, more detailed logs are attached. I was wondering if it had anything to do with this issue: odelaneau/shapeit4#33
If it is caused by the --region argument in shapeit4, is there a convenient way to either run with --region chr# or change the vcf file to use different chr region numebrs? Do I need to reformat my vcf file in some way?
More detailed logs:
slurm-14735430.out.txt
command.run.txt
Head of vcf file I used:
head_vcf.txt

Hi
The problem look like it is the chromosome prefix. I assume that the chromosomes in your data have the "chr" prefix. By default the shapeit files has also the "chr" prefix. In our data we deleted the "chr" prefix and did this also in the downloaded shapeit files.
What you also can try for now, is change this line (line 21) in the following file:
https://github.com/ToolsVanBox/PTATO/blob/main/NextflowModules/shapeit/4.2.2/shapeit.nf
    --region ${chrom} \

to
    --region chr${chrom} \

In the next release we try to make it more flexible.

This worked to generate ab tables!


Add ability to add feeds to index

New "/add" page

Use hCaptcha
Use separate API Key/Secret for adding
If existing, show podcast info (like in results page)

If no results and query is URL, show link to Add page

@daveajones we will need to update the HCaptcha sitekey in /ui/src/pages/AddFeed/index.tsx. You mentioned you already have an account that could be used.

Steven, that was so fast!  Thank you!  Will test today.


feat(api) add plugin priority to metadata

besides exposing the version, the priority of a plugin is also a property that quite often is unclear to users, so dynamically getting it from the system will help answering those questions.
I didn't include it in the original PR (#8810 ), because of the upcoming dynamic priorities. But after a chat with @jschmid1 it turns out that the hard-coded priorities will remain the default, so still makes sense to expose those as well.
Also; removed the true placeholder, which doesn't make sense anymore now that the metadata is an object

CI failures seem unrelated???

I got tests failed earlier today and tried to revert this commit, and it works. This PR seems to be the reason for CI failures.

I tried to dump the metadata and find this:
2022/05/20 17:22:10 [error] 14757#0: *5 [lua] kong.lua:96: fn(): {
  ["priority"] = -inf
}, client: <IP_ADDRESS>, server: kong_admin, request: "GET / HTTP/1.1", host: "<IP_ADDRESS>:9001"

...

2022/05/20 17:22:09 [error] 14757#0: *4 [lua] api_helpers.lua:511: handle_error(): ...al/kong-dep/luarocks/share/lua/5.1/lapis/application.lua:424: ...kong-dep/luarocks/share/lua/5.1/kong/api/api_helpers.lua:285: body encoding failed while flushing response: Cannot serialise number: must not be NaN or Infinity

It seems that lapis does not support -inf and inf in the meta data.

@Suika-Kong my bad. Failures seemed non-related, but unfortunately were. Fix is here: https://github.com/Kong/kong/pull/8833


Certain Errors - Matrix is not Orthognal

Hi, thank you for providing the nice implementation of your approach.
I ran the test_agent.py for testing the Q agent with ACNet semantic segmentation. There are however certain issues which I am facing:

test_agent.py throws error in line 242 when drawing circle because agent.action is a tuple of Tensor. I believe this is related to the action_picker function in SCNav_agent where greedy action gives a tuple of Tensor but the random action returns a tuple of int.
I temporarily circumvent the above error by converting to int before passing to draw the circle. Though for the val.json - I get an error Math::Quaternion::fromMatrix(): the matrix is not orthogonal:  after the 13/500 step in the first episode(zsNo4HB9uLZ). Do you have any leads for what might be wrong?

Thank you for your help.

Hi,
Thank you for your interest in SSCNav!
For 1, I think your solution is fine.
For 2, I believe this is an internal problem introduced by Habitat-Lab. I ran my code on an old version of habitat and I believe the version mismatch is causing problems. Not sure whether we can solve this here but at least give it a try:

May I know how did you install the habitat and which mp3d scene files/dataset files did you load?
Could you run the Habitat demo smoothly?
Could you show exactly which line of the code yielded this error?

Thanks!

Hi, I have encountered both of these problems. The solution for the first one by @yash-goel worked for me. Have made any progress with issue number two?
Lukas


MockBukkit#unmock() do not completely shutdown the test server

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest version of MockBukkit?

[X] I am using the latest version of MockBukkit.

Minecraft Version
1.18
Describe the bug
I had some child threads in my plugin, and one of them is singleton:

this thread is starting in onEnable()
I had two tests running in one scope:

As you see, one test is successfull and one is with error. But the error hints that plugin is not completely shutdown:

I added some logs to see the state of the singleton thread before calling #start() and i saw that in the second test it was already WAITING, but it is terminal state that appeared after interrupting. Also one test class uses @AfterAll and the other - @AfterEach. During invesigation i came to conclusion that it does not affect on resulsts of tests, it affects only what test will fail with such error. My singleton config storages also had problems because of that, in onDisable() method i do not do clearing configs, and after calling second test with booting server and plugin, i had duplicated configs in storages. I think there is a problem with shutdown incmoplition of server/plugin when unmock() is called.
Reproducible Test

in empty plugin make singleton thread extended from Thread or Runnable
call start of child thread in onEnable()
call interrupt of child thread in onDisable()
wright 2 test classes so that they have one test each and use @BeforeAll and @AfterAll in both OR wright 2 tests in one class and use @BeforeEach and @AfterEach
in @Before call startup of test server and plugin
in @After call .unmock()
Run both tests in one scope
Second runned test will fail with illegal state of thread

Anything else?
No response

As WA i removed singleton pattern from the thread and do cleaning up configs in onDisable()

Closing so it can be tracked in #642


Add code coverage hook for https://codecov.io/

To be added before alpha release

See #14 for codecov integration.


Update sql-data-warehouse-get-started-analyze-with-azure-machine-lear…

…ning.md
metadata change

@JennieHubbard,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Ugh! Sorry! Thought I was in the private repo.


Added danish translations

Added danish translations :)

@eaxexe can please resolve the conflict

@eaxexe can please resolve the conflict

Should be resolved :smile:

Maybe you can also pull the latest develop version, where the tests not failing

Maybe you can also pull the latest develop version, where the tests not failing

This means I have to create a new pull request, right? I can't find a way of updating this one.

when you have the git terminal, you can call git pull https://github.com/geoman-io/leaflet-geoman.git develop

Replaced with #670


docker: fix testnet image

When deduping the dockerfiles I apparently messed up and forgot about the api port, which is 9880 instead of 9980 when building it for the testnet. This PR corrects that mistake.

moving it back to DRAFT for a bit longer, we can probably do it better simply by setting the env variable


Eliminate JavaScript and CSS codes that block the display of content above the waterline

Optimize the display of CSS styles for the following URLs:
https://pwgdemo.kuther.net/_data/combined/192krwq.css
https://pwgdemo.kuther.net/…ap_darkroom/components/pTSans/pTSans.css
Test with Google page speed : https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fpwgdemo.kuther.net%2F&tab=desktop

The theme is tuned for pagespeed with best effort, but only to the point where things stop making sense.


Support for IQ Pro?

Wondering if anyone has tried this implementation with the newer IQ Pro? Not seeing any mention in docs, issues, PRs, etc.

I was about to post the same question! I currently have a DSC Neo, which is unable to communicate with Home Assistant, but the IQ Pro can be used as a drop in replacement for it without needing new keypads or wireless sensors.

There's a note on a discussion about the Hubitat Qolsys driver that the Pro should be supported. I think that they use the same mechanism as the Home Assistant driver, which is promising.

Pretty sure I'm the first to attempt using this with an IQ Pro, and I can report some limited success.

I was able to enable Control4 integration on the latest firmware (4.2.3n as of writing)

Needed to use the Dealer code, not the installer code. If you try to use the installer code, when you get to the "3RD Party" screen in the Wi-Fi menu in Devices, it will just give you the cryptic message "There are no available options for this panel". Using the dealer code makes the Control4 option show up.
Also needed to have 6 digit codes enabled.

I was able to install qolsysgw according to the instructions, and configure it as instructed. Default control 4 port (12345) was fine, etc.
After installing and configuring, I was able to get almost (see below) all of my sensors showing up in HA. The sensors react to state changes as expected (doors report open and closed correctly, motion sensors work, etc).

I will note that I only have wired sensors currently on HSM2108 modules, no PowerG sensors yet

Only sensor that didn't show up correctly was the Tamper sensor on the IQ Pro box itself, and a warning came up in the AppDaemon log about it:

2024-02-28 18:43:05.004632 WARNING qolsys_panel: sensor of unknown type: {'id': '651008CB', 'type': 'Tamper Sensor', 'name': 'Main Cabinet', 'group': 'tamperzone', 'status': 'Open', 'state': '0', 'zone_id': 9, 'zone_physical_type': 1, 'zone_alarm_type': 3, 'zone_type': 123, 'partition_id': 0}

Currently I am not able to arm or disarm the system. When I click the button in HA to "Arm Home" or "Arm Away", nothing happens. I'm not immediately able to see anything referencing this in the logs I see, but I'm pretty new to HA so I might not be looking in the right places. @XaF I can try to get you whatever info you need for this.

Overall, super excited about this. My main intended use case for qolsysgw is triggering automation actions based on sensor states, so as it is this seems to be working fine enough for that use case. I'm sure other users would like the arm/disarm capabilities though. Thank you @XaF so much for this awesome integration.


Suggestions from the /r/python thread

I cleaned up the last of the suggested PEP 8 changes and repaired some mangling at the cost of some lines exceeding 80 characters.
The class attributes of NeuralNetwork should have been instance attributes. I've moved them in accordingly.
Most of the comments should probably be touched up and put into docstrings, but I'm not sure I should be the one to do that. More examples and tests should be the next order of business.

This is awesome work here.
Apart from the PEP8 changes, you also removed some testing code I totally forgot about.
All in all, thank you a lot :)
Also, you are right, docstrings should be (re)done.
That is the first thing Ill get done.

This is awesome work here.
Apart from the PEP8 changes, you also removed some testing code I totally forgot about.
All in all, thank you a lot :)
Also, you are right, docstrings should be (re)done.
That is the first thing Ill get done.


build: use posix shell

seems clean of bash stuff:
$ checkbashisms -nfpx etcd-2.0.11/build
$

Could you help to review this one? /cc @philips @barakmich @jonboulle

seems fine.

@glensc Could you add some commit body to explain why you want to get rid of bash? Should we do it for test and cover scripts?
@jonboulle Any suggestion on this PR? I check that you are the person to initialize this build.

@yichengq bash is optional in my distribution, so don't want extra unnecessary deps

@glensc I check the bashnism of other scripts in the repo, and find out that they have possible bashism. I prefer to stay in bash world at least until all scripts can be run in /bin/sh.
And I don't see that big benefits to get rid of bash.

@yichengq For the freebsd port they need to have a bash free build system I believe. Right @ bartekrutkowski?

@philips Technically this is not a requirement, because etcd is a userland tool built from FreeBSD's Ports Tree and those can have multiple big/strange dependencies (think Firefox for example). However, leaving the FreeBSD land and moving into Good Engineering Practices land, using Bash in your scripts where it is absolutely not needed (someone is using Bash here just because he's accustomed with) is a bad thing, because it makes porting the software to other platforms harder (Linux is not the only Open Source system out there and they still may want to use etcd). I can certainly deal with Bash dependency, but on a platform/distribution that doesnt provide it by default (in FreeBSD its tcsh, and most people have their own favourite shell, like Zsh) it would mean installing Bash just for the etcd port to build - given the fact some users might be on embedded systems (limited disk space and so on) and other might not like Bash security track record (recent Shellshock) it would be ideal to avoid Linux-isms (and any other platform-isms for that matter) whenever possible.
I hope that explains everything :)

@bartekrutkowski The explanation is quite detailed. :+1:
@philips Another concern from @jonboulle is that current build/test script is used in company wide mostly(https://github.com/coreos-inc/eng/issues/6), and we may need to change the template to use sh then.

@bartekrutkowski good rant, i'll archive it to answer similar questions in the future!

I am fine with this but @bartekrutkowski  and @glensc you are on the hook for ensuring we don't break it. :)


Images not displaying after being approved

Uploaded a few images and had matt approve them however they never showed up on the life site.

@sirtastic : please provide record ids.

@entrity https://tipsyology.com/recipe/2817-desert-breeze

@sirtastic : Worked for me; dunno what Matt tried. Here's what I did:

Went to https://tipsyology.com/recipe/2817-desert-breeze and verified that no photos appeared
Went to https://tipsyology.com/admin/photos
Clicked the 'publish' button on the row for Photo number 4.

The row changed from grey to yellow

Then I went to https://tipsyology.com/recipe/2817-desert-breeze again, and the photo was displayed.

@sirtastic : Did you make sure to give Matt super powers? (See #97)

@entrity Matt does not have super powers.
When I visit https://tipsyology.com/admin/photos logged in I get redirected back to homepage. I'm assuming I missing super powers.

@entrity On the quest to give myself super powers-- can you text or email me the root password, I don't want to reset it if I don't need to and can't find it anywhere.

@sirtastic : I don't have root pw, but I think ssh as root is disabled anyway (same as at new servers for pinney). But you can ssh in as user apache (which is what I do). The following 2 ssh keys of yours are in the apache authorized keys file:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCn0jtgIipkqNwocIfsToOcFp+yuusCcZTnCgYcX+OTKoGe5yaXXeL8QDoq66XESmylwPw+JU+1KkDNCYc7UGSlzboi/ST3VPu0vZboiQ61QmsXHQ8ngn7mdlAfCp3OE3RaCp6dlUe1jnk2646hdBin6SZRCWOUbtEWWV77bn/u9ksUlnTdJSCIeYp88GJlEdnP/38yFs9KPhaYYbiYSvdrGiF83/zFc4z9DK1ovdIe3avVAv79RdWbFZg8fqlCZF7VhqQai6MfzCrQ0oYLqAMCodvGftvtKv2sJ6qAjc3Wu028618IZtOVCNfHW6If6iscARxEygahBWZk80ERwLSMGtIOPCwqUIqxnQGrr1FUgi3GzqYFsKjkAMT5DScpBakeCnih4nI2xiqKsnEq2DDUxFmZDR6a17cwNGe9ekcwaoaLTubeKJtqfkZsIUFA+70CAA7beA+lq0YbiN1PruzYB0cku08Bpi2oLeR119QxdM5cKvlYr6wKbpYvxCg5TLv6lRAZfh7bHMRfQpdpo0mjLqFY6Dvb9m1z4Zdn970LpTU7jIqG60DnFABQUBFwTdchvfCvZR73LGvO3u/5rcgEHGKO6Wi9U2d2A1BFCe2tBc/q1a25eUKLTbnsiXCyLjDECsAyAxPuWoIQQDgIKQbo7y//RvdqMbbU3lZQDrZ5Gw==<EMAIL_ADDRESS>ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOSZDYuSkI5KiewK+EZ0cuAZwBj+qBlOj7cxP11yj8Khm+GOdF+J6IMH433yIUlTcYp5+OzMVNSZKYGLQhrytHQ+iXh1SLqbINm7IAVviTu5qlRRBeItp7pejAw8di3awmUn+H1RG8mZ4U+luuwiKYfKY6icigFAVbCMbVjEy9rdJUvzPtc/Otft/2VCE6WTwRi02c+4Kr6IyaXgaswNpkSVcaHINJWqnShDZwLTmWyEkxrG7xt+v7U2GIty5B5d1Y5DrRtazY0G1/7S79CqniTC/QqhkdKC9wQK+sr28P2G7bCF4iS3hkBkZ3N85VNmGCWv6sPPUAvMKbj5f0W1Bj sirtastic@ubuntu

@entrity This is not a secure page-- It's not a good idea to post SSH key in here, right?

@entrity From two different connections I tried to SSH into our linode only to have the connection time out. Even pinging the server times out... I'm using the SSH IP under the linode Dashboard > Remote Access replacing the root@ with<EMAIL_ADDRESS>

@entrity I broke something.  I reboot the server thinking it would be harmless. On the plus side I'm getting a response instead of just timing out when I try to SSH Connection refused

@sirtastic :
Don't worry about security; I only posted your public key, not private.
As for connection timeout, did you remember to connect to port 4000 (instead of 22)?
As for a failure after reboot, i'm surprised. Everything that we need should have initialize during start up. But I'll see if I can get into the machine and find the trouble today.

@entrity Was the port #-- success, just need site back up so I can play with commands.

@sirtastic : Roger that. Up and running again.

@entrity Hopefully final inquiry regarding this-- how do I identify a users ID number?
I inspected my user profile image and I'm thinking it might be the /003/ ? (eg id #3)
system/users/photos/000/000/003/thumb/40a614ff3a5b4e3ba836e3381519d917.jpg?1441827540

@sirtastic : If I understand your question correctly, I think you can find your User id by visiting your profile page. In the following snapshot, I can see that my Id is 2.

@entrity What I see is a bit different as I've given myself a username.

My ID was in fact 3 but I'm not sure if that is coincidence or not.

@sirtastic : sorry for the slow reply. Looks like you are indeed user 3.
Just made a fix for the failure of your URL path to show up there where mine did:
commit 07ca6690e4899b3532a829f7a0fe6bf8137c6630
Merge: 7a87ccd c9fb693
Date:   Wed Dec 16 10:34:48 2015 -0800

    Merge branch 'fix/user-link'

:eyes: I also just deployed the fix to prod. It looks like that deploy included some old changes from both of us too. So be on the lookout for anything that went wrong.


use Place API instead of Allocation API

@bors r+

:pushpin: Commit ddb1fc9205586ccd4f71bb7de583769f9fd3fa77 has been approved by RalfJung

:hourglass: Testing commit ddb1fc9205586ccd4f71bb7de583769f9fd3fa77 with merge 22d0546aed2f0c8545f939fe756ababae7a5020b...

:sunny: Test successful - checks-travis, status-appveyor
Approved by: RalfJung
Pushing 22d0546aed2f0c8545f939fe756ababae7a5020b to master...


engine: inject deployID on k8s deploy, use that to find pods [ch1544]

This lets us simplify the logic to match pods to image, and will let us more easily match pods that were deployed by tilt but don't have tilt-built images.

ugh okay 😪 re-review pls?

Bump!


gtest_main not linked correctly without srcs

with exact same content, one in cu file, one in cpp file
//a.cpp
#include <gtest/gtest.h>
#include <iostream>

TEST(Dummy, CPP) {
  std::cout << "this is in cpp file" << std::endl;
}

// a.cu
#include <gtest/gtest.h>
#include <iostream>

TEST(Dummy, CU) {
  std::cout << "this is in cu file" << std::endl;
}

BUILD file
load("@rules_cuda//cuda:defs.bzl", "cuda_library")

package(default_visibility = ["//visibility:public"])

cuda_library(
    name = "a_cu",
    srcs = ["a.cu"]
)

cc_test(
    name = "dummy_test_cu",
    deps = [
        ":a_cu",
        "@com_google_googletest//:gtest_main",
    ]
 )
cc_test(
    name = "dummy_test",
    srcs = ["a.cpp"],
    deps = [
        "@com_google_googletest//:gtest_main",
    ],
)

If I run
bazel test  --test_output=all //:dummy_test
1 test will run.
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Dummy
[ RUN      ] Dummy.CPP
this is in cpp file
[       OK ] Dummy.CPP (0 ms)
[----------] 1 test from Dummy (0 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (0 ms total)
[  PASSED  ] 1 test.

But if I run
bazel test --config=cuda --test_output=all //:dummy_test_cu
Everything will build and run "successfully". except no test is actually run
[==========] Running 0 tests from 0 test suites.
[==========] 0 tests from 0 test suites ran. (0 ms total)
[  PASSED  ] 0 tests.

I do need to define test as cu file because there will be CUDA code in it. Technically they can be wrapped in another lib and test file only contains pure c++ code, but that's extra work. Besides, a silent success without tests being actually run is dangerous. It can be easily missed in a bigger project.
Maybe explicitly support cuda_test and cuda_binary?

This should be fixable by adding alwayslink=True to your cuda_library which has test impl must present in final binary.
cuda_test and cuda_binary will largely share the same logic with cc rules, it is not worth the effort. At the moment, it can be implemented as macro.

alwayslink=True

Adding alwayslink=True does the trick. Any low effort option to make it fail instead of running 0 tests?

This boils down to you own customization problem.  I think you can rollout your own version of test main and it should be quiet simple:
int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  EXPECT_GT(::testing::UnitTest::GetInstance()->total_test_suite_count(), 0);
  return RUN_ALL_TESTS();
}

ref

This boils down to you own customization problem. I think you can rollout your own version of test main and it should be quiet simple:
int main(int argc, char **argv) {
  ::testing::InitGoogleTest(&argc, argv);
  EXPECT_GT(::testing::UnitTest::GetInstance()->total_test_suite_count(), 0);
  return RUN_ALL_TESTS();
}

ref

It can work. But I think the point gtest_main target exists is not to have the same main function in every test file. And cmake links gtest_main fine with .cu file in one of my project that I maintain both bazel and cmake build.

I mean, there is nothing prevent you from add a cc_library named as your_main and link it together with your cuda_librarys, since you want it signal you when no test is found. CMake can also suffer from this problem if you
add_library(a_cu_lib STATIC CU_FILES)
add_executable(dummy_test_cu a_cu_lib gtest_main)

The problems here is the a_cu_lib library is static and there is no symbol is referenced in the main function. Then you will need whole archive linking. And this is what alwayslink=True is doing. It is not a trick or walkaround in any form, it is how it should be. If the problem still present, then it is a bug in these rules.
I'd prefer the following macro, and you should not present a your_main
def cuda_test(name, srcs, deps, *args, *kwargs):
    cuda_library(name = name + "_cu", srcs = srcs, alwayslink=True)
    cc_test(name = name, deps = [name + "_cu"] + deps)


Credentials working with bash script but failing for powershell script

I tried passing the falconclient id and falcon secret and the falcon cid to the bash script and it was able to install the latest falcon sensor, it was able to create the required bearer token and working perfectly but when I try passing the same client id and secret and the membercid (cid) to the powershell script as parameters it's throwing the error
E58BFA2-C8"
Invoke-WebRequest : {
 "meta": {
  "query_time": 0.004716112,
  "powered_by": "csam",
  "trace_id": "xxxxxxxxxxxxxxxxxxxxxx5e6"
 },
 "errors": [
  {
   "code": 403,
   "message": "Failed to generate access token for customer ID=xxxxxxxxxxxxxxxxxxxxxxxxxxxx8."
  }
 ]
}
At C:\Users\Administrator\Desktop\test.ps1:150 char:21
+ ... $Response = Invoke-WebRequest -Uri "$FalconCloud/oauth2/token" -UseBa ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
Failed to retrieve authorization token
At C:\Users\Administrator\Desktop\test.ps1:310 char:9
+         throw $Message
+         ~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (Failed to retrieve authorization token:String) [], RuntimeException
    + FullyQualifiedErrorId : Failed to retrieve authorization token

Have anyone faced this issue before or am I missing something?

I have created a bugfix for the memberCID issue. As a reminder if you are using MemberCID as your own CID that doesn't have a parent management CID attached, using a regular non-managed CID won't work.


Support show bytes sent/received on the connection

Due to some billing requirements, I want to know how many bytes this client sent/received with TiKV. Currrently I want to wrap a net.Conn with customized Read Write method to add the IO byte number to an atomic variable, like
https://github.com/pingcap/tiflow/blob/7f27730235f94859692b9da561f50c491e483427/dm/syncer/dbconn/utils.go#L102-L127
Is this OK? can you give some advice

@Defined2014 @xiongjiwei ptal

Is this added to every TCP connection? Will it be too heavy to add atomic variables here which have a big impact on performance?

Is this added to every TCP connection? Will it be too heavy to add atomic variables here which have a big impact on performance?

It should be an option like WithDialer or something, but when it enables, all connections to the endpoint should use the atomic counter.
And I think the performance is not a big problem, because IO duration is much higher than atomic operations

It sounds okay but I'm not sure whether it is a better idea to count at upper layers for more flexibility. If one client could support multiple tenants, counting bytes by connection may be not enough.

It sounds okay but I'm not sure whether it is a better idea to count at upper layers for more flexibility. If one client could support multiple tenants, counting bytes by connection may be not enough.

Agree. Do you have a spec about this requirement? I am not fully understand about this feature.
According to my understanding, a TiDB-Server may only have one tenant, do we need to count traffic by TCP connection, maybe by instance is enough (not sure)?.

As my plan, it's used by lightning to import data to tikv.

Is precision so important that we must wrap the connection? The protobuf bytes or the bytes you just want to import don't seem to differ a lot from the real IO bytes 🤔

Is precision so important that we must wrap the connection? The protobuf bytes ~or the bytes you just want to import~ (oh it will) don't seem to differ a lot from the real IO bytes 🤔

good point. I'm thinking of another example: if there are problems with environment and lead to network reconnection or data retransmission, we should not charge users for it.


In a workspace, Cargo should respect per-crate .cargo/configs

Problem

Thanks for creating cargo, it's such a useful build tool.
Unfortunately, I've run into an issue with Cargo workspaces and .cargo/config.toml files.
In a workspace, Cargo does not respect any per-crate .cargo/config.tomls

Steps

Given a workspace like this, with two default crates generated by cargo:
ian@iankhome:~/cargo-bug$ tree -a
.
├── Cargo.lock
├── Cargo.toml
├── testbin
│   ├── .cargo
│   │   └── config.toml
│   ├── .gitignore
│   ├── Cargo.toml
│   └── src
│       └── main.rs
└── testlib
    ├── .cargo
    │   └── config.toml
    ├── .gitignore
    ├── Cargo.toml
    └── src
        └── lib.rs
ian@iankhome:~/cargo-bug$ cat Cargo.toml
[workspace]

members = [
    "testlib",
    "testbin",
]

I created a per-crate .cargo/config.toml like so:
ian@iankhome:~/cargo-bug$ cat testbin/.cargo/config.toml
[build]
rustflags = ["-C", "link-args=-fsome-artisanal-option"]
ian@iankhome:~/cargo-bug$ cat testlib/.cargo/config.toml
[build]
rustflags = ["-C", "link-args=-fsome-artisanal-option"]

When I build the project I do not see the link argument -fsome-artisanal-option passed to the linker. I have confirmed using strace that cargo never opens those config files.
If I run cargo build within one of the crates in the workspace, cargo does parse the .cargo/config.toml. e.g.:
~/cargo-bug$ cd testbin/
~/cargo-bug/testbin$ cargo build
   Compiling testbin v0.1.0 (/home/ian/cargo-bug/testbin)
error: linking with `cc` failed: exit status: 1
....
  = note: cc: error: unrecognized command line option '-fsome-artisanal-option'

In this example the link error is expected because the -fsome-artisanal-option is not a real linker flag but an example pulled from some rust documentation. The point is that we can see that it is being passed to the linker when we run cargo build from within testbin.
Possible Solution(s)

When building each sub-crate in a workspace, Cargo should check for a .cargo/config.toml within the crate root, and parse and load it when building that specific crate. Options within one sub-crate's .cargo/config.toml should not be passed to another sub-crate.

Notes
Output of cargo version:

$ cargo --version
cargo 1.54.0-nightly (0cecbd673 2021-06-01)

$ rustup --version
rustup 1.24.2 (755e2b07e 2021-05-12)
info: This is the version for the rustup toolchain manager, not the rustc compiler.
info: The currently active `rustc` version is `rustc 1.54.0-nightly (cc77ba46f 2021-06-03)`
$ rustc --version
rustc 1.54.0-nightly (cc77ba46f 2021-06-03)
$ cat /etc/issue
Ubuntu 20.04.2 LTS \n \l

Thanks for the report!  Yea, this can be confusing, since cargo always uses the current working directory to find configuration files.  This is mostly the same as issue #2930, so I'm going to close in favor of that.  Unfortunately it is not so simple to change the behavior since it could break existing workflows, so the path forward is not exactly clear.

Sorry for the duplicate issue. Is this behavior explicitly documented? If not, I think it should be documented as part of the cargo reference: https://doc.rust-lang.org/cargo/reference/config.html

I believe it is documented at the top of the page:

It looks for configuration files in the current directory and all parent directories.

Perhaps it could be worded a little more clearly?  I'm not sure how, though. ("current working directory"?)


[Suggestion] Add Future MC (and other future porting mods) materials

No clue if this mod is even still being maintained after all of the drama that happened, but if it still is Netherite and Bamboo could be used as new tool parts.

Mod in maintenance only mode, good idea but I have to close since I know it won't be done


lost session

hello dear,
everthing works.
but when i resetart the server it lose the session.
i check the /app/tokens and its empty.
how can i keep the session ?

+1 experienced the same issue. The session was lost after application restart

Hi! When I tested it there was a bug in venom (underlying library), but may be it's gone and we should just update venom version.
If one find the solution - feel free to create a pull request!

Saving sessions is available in WAHA Plus version https://waha.devlike.pro/docs/how-to/sessions/
I'm not sure why, but sometimes Venom engine don't want to find previous session and we have to purge .sessions directory each time. If it repeats for you - please use default webjs engine instead https://waha.devlike.pro/docs/how-to/engines/


[PE-704]: Add get_secrets method

In order to be able to query multiple secrets within a single request into Thycotic we need to extend current action

Can you update your commit message with the ticket number :) Sorry for the nitpick.

Our versioning should also follow semver


FTI-3275 partially revert d66b848a b50c155b

We revert the kong:kong to kong:root change  at https://github.com/Kong/kong-build-tools/pull/457 and https://github.com/Kong/kong-build-tools/pull/463 to keep consistent with https://github.com/Kong/kong-distributions/pull/783.
The suggested files permission should be left alone as root:root. We should do in separate PRs to do this.

duplicate.


Visual corruption on the Dreamcast

Hello, after switching to unpacked MPQs I noticed that it produces this distortion:

Version 1.5.1 works as expected, but the commit where devilutionx-graphics-tools is bumped is what introduces the issue. Specifically, commit 5f260010b0af26e9c453931f42edcb02ce894a16 segfaults with diabdat.mpq, and commit https://github.com/diasurgical/devilutionx-graphics-tools/commit/ae39773dc2932b82328507bb51f79fa13b561ec0 unpacks it but causes the bug above. More details here: https://github.com/azihassan/devilutionX/issues/15#issuecomment-2433980397
Does this happen on the other platforms?

Tried this on Windows x64.
Using commit d354283 to unpack
Which uses https://github.com/diasurgical/devilutionx-graphics-tools/commit/ae39773dc2932b82328507bb51f79fa13b561ec0
And loaded into https://github.com/diasurgical/devilutionX/commit/bd1881957b544d3e40c958a8d389120c19d1a1ba
Everything looks okay to me.

Any chance you can try loading the CLX file into https://github.com/diasurgical/d1-graphics-tool/commit/6c57fd8094ea9c109c791e57407633b5fe18f193 to see if it has similar problems?

Have you rebased the Dreamcast branch recently? Support for smaller-header CLX files was only added to DevilutionX recently.

Thanks guys, I'll try these suggestions.

Have you rebased the Dreamcast branch recently?

Actually no, the last update was three weeks ago. I'm just now realizing that it's 24 commits behind


adding docker-compose environment files for local development

@krook added files needed for docker-compose. Please review.


Can't Connect

For no known reason, all my thermostats lost connection to HA. I can still control the thermostats with the iComfort app that uses the cloud connection.
This is in the log:
2023-05-10 21:15:26.343 WARNING (MainThread) [custom_components.lennoxs30] async_setup: host [None] Code [15] Reference [1] [Timeout waiting for configuration data from Lennox - this sometimes happens, the connection will be automatically retried.  Consult the readme for more details]
2023-05-10 21:15:26.348 INFO (MainThread) [custom_components.lennoxs30] connection host [None] will be retried in 1 minute
2023-05-10 21:16:28.304 DEBUG (MainThread) [custom_components.lennoxs30] configuration_initialization waiting for zone config to arrive host [None]  numSystems [2] systemsWithZones [0]
2023-05-10 21:16:28.304 DEBUG (MainThread) [custom_components.lennoxs30] messagePump host [None] running
2023-05-10 21:16:28.540 ERROR (MainThread) [custom_components.lennoxs30] The Lennox System with id [95504b31-e548-4fc1-b212-8342b30b55dc] is not connected to the Lennox Cloud.  Cloud Status [offline].  Please check your thermostats internet connection and retry.
2023-05-10 21:16:28.545 ERROR (MainThread) [custom_components.lennoxs30] The Lennox System with id [e3d0b90a-f066-48e9-920b-d54e3b800480] is not connected to the Lennox Cloud.  Cloud Status [offline].  Please check your thermostats internet connection and retry.

Those last two messages indicate that the thermostat is not connected to the Lennox cloud.  Once of the first things the integration does is get a "registry" of the device.  It looks like you have two systems with valid GUIDs that are offline.   The Lennox app can use a local connection on your WIFI. That may be why it works.  Turning WIFI off may give a different result
I'd check the thermostat panel make sure they are reporting connected to the cloud.  There should be a screen that show this.  Then try restarting the thermostats.
What model thermostats? What version of the integration?  What version of the App?  IOS or Android?

If none of that solve it, then capture a message log as described here:
https://github.com/PeteRager/lennoxs30#reporting-bugs

I ended up having to return my router to default and re-configure it. Thanks so much for your help. This is a great integration.

Glad it is resolved.


Task never finish if exception raise in another task

To reproduce:
# coding: utf-8
import aionursery
import asyncio

async def foo(i):
    if i == 2:
        1/0
    if i == 1:
        print("1 sleeping ...")
        await asyncio.sleep(0.1)
        print("1 OK")
    print(i)

async def main():
    try:
        async with aionursery.Nursery() as start_nursery:
            for i in range(10):
                start_nursery.start_soon(foo(i))
    except aionursery.MultiError as exc:
        print(f"MultiError: {exc}")

asyncio.run(main())

Output:
0
1 sleeping ...
3
4
5
6
7
8
9
MultiError: [ZeroDivisionError('division by zero')]
Details of embedded exception 0:
  Traceback (most recent call last):
    File "<input>", line 8, in foo
  ZeroDivisionError: division by zero

print("1 OK") is never reach.

Note: this is an asyncio.gather behavior ...

As we said to me: this is a aionursery functionality. So i close :)


[UI] 网址为https://<IP_ADDRESS>的网页可能暂时无法连接，或者它永久性的移动到了新网址(ERR_INVALID_RESPONSE)

What kind of request is this (question/bug/enhancement/feature request):
question
Steps to reproduce (least amount of steps as possible):
网址为https://<IP_ADDRESS>的网页可能暂时无法连接，或者它永久性的移动到了新网址(ERR_INVALID_RESPONSE)
Result:
DEBUG信息
2020/07/27 13:46:15 [ERROR] failed to serve UI: Get local: unsupported protocol scheme ""
2020/07/27 13:46:15 [DEBUG] 2020/07/27 13:46:15 http: TLS handshake error from <IP_ADDRESS>:64883: remote error: tls: unknown certificate
Other details that may be helpful:
Environment information

Rancher version (rancher/rancher/rancher/server image tag or shown bottom left in the UI): rancher/rancher:2.2.7
Installation option (single install/HA): single

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported):
Machine type (cloud/VM/metal) and specifications (CPU/memory):
Kubernetes version (use kubectl version):

Custom
cloud
v1.13.9

Docker version (use docker version):

18.09.8

could any one translate the title of this issue in English, please


Cannot use turn or dialog in validation rules.

Describe the bug
Using a Text Prompt with a simpe LUIS recognizer that has 4 intents (Confirm/Deny/Uncertain/None), I'm trying to validate that either a Confirm, Deny or Uncertain intent was detected (i.e. not None) and if not ask the use to try again (via the invalid prompt). However, both dialog.lastIntent and turn.recognized.intent don't seem to be usable in a validation rule - no matter what i set in the rule if it involves one of those two properties it always evaluates to false and shows the invalid prompt.
As an added "bonus", i can use these properties in the invalid prompt message and they evaluate as expected. So really can't see why i can't access them in the validation rule.
Version

OS

[ ] macOS
[x ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to a Text Prompt that uses LUIS with multiple intents
Click on Other
Scroll down to Validation Rules
Add a validation rule that uses dialog.lastIntent or turn.recognized.intent
Add an Invalid prompt
Start Bot
Use emulator and get to that part of conversation and observe that the invalid prompt is always displayed.

Expected behavior
Only when LUIS returns the None intent does it show the invalid prompt.
Screenshots

Additional context
Note that using another dialog.property that you've set manually beforehand does correctly evaluate.

@vishwacsena is recognition not run here? would enabling interruptions fix this?

@Reeso1983 see here for a working sample using turn.recognized.intent in validations. Do you have additional properties configured on the text input?
@cwhitten if a recognizer is configured on the active dialog, it is run even if AllowInterruptions is not set.
intentInValidation.zip

@cwhitten Oddly, if i turn interruptions on. The invalid message generates "Invalid None Confirm".
@vishwacsena I have tried your sample and it does seem to work. The differences between mine and yours are:

i'm not using an intent trigger to start the dialog initially, but a begin dialog event
i'm not using suggested actions

@Reeso1983 with adaptive dialogs, you need to have a recognizer configured on the dialog that holds the input that is able to classify user input to an appropriate intent.
Here is an updated sample.
In this case, I added a new child dialog and added example utterances to None intent via the User Input view.
If you wish to have the parent dialog's OnIntent triggers to be evaluated while the user is being prompted for information, then you can set AllowInterruption to boolean true or provide an expression to decide when to allow interruption.
intentInValidation.zip

@vishwacsena I think i have found the difference based on your comments. I was sandpitting with the echo bot and the initial parent dialog has no intent triggers. Just the unknown intent:

Another difference was that your examples create two LUIS Apps. Mine doesn't create one at all for the parent dialog (because the echo bot has no intents) and neither does it for the child one. However, i think this was because i'm referencing an existing LUIS App by including LUIS application information. e.g.
> LUIS application information
> !# @app.name = <some-exisiting app name>
> !# @app.versionId = 13.9
> !# @app.culture = en-us
> !# @app.luis_schema_version = 7.0.0
> !# @app.tokenizerVersion = 1.0.0

I did this without realising because i'm trying to mimic something in composer that we have already done in code and have a LUIS app for.
Applying my child dialog changes to your sample and replacing your intents with mine, the validation is now working perfectly.
However, is still think there is a bug or two here, as i shouldn't have to add parent dialog intents just to get the child dialog intents usable in validation and the behaviour when i turn on interruptions.

Here is a sample that starts with echo bot and shows validation working. There are no known gaps here. You do not have to add intents in the parent dialog in order for this to work. Also you do not need to set anything with allow interruptions. Those are only required if

you have multiple user intents that your parent dialog can fulfill
you would like for specific points in the conversation be interruptable by the user (they can express desire to do something else than answer the current question from the bot).

EchoBot-0.zip

I've taken your example and it works, until I set Allow Interruptions to true. Even if I then add a main dialog intent trigger of help, interruptions still don't work. Is it incorrect of me to expect this to work?

See attached sample for allow interruption. Without seeing your actual bot its hard to tell why it is not working but hopefully you can deduce based on this sample.
EchoBot-0.zip

@vishwacsena I've used your latest attached, you have made the exact change i did to your previous example and it unfortunately doesn't work. Behaves exactly as mine does. When you turn allow interuptions to true the latest luis result is unfortunately the interruption check. See below, there are 3 luis traces. The first two are identical (first image) (And i'm not sure why there are two either) and the 3rd is the luis result for the 'yes' text on the parent dialog (second image).

This is just your example running, i have not changed it.

@vishwacsena @cwhitten Can we please re-open this as it has not been resolved? I have updated the title slightly now that we better understand the issue.


Multi-Data Support? Huh?

Can someone explain this?
How do I get "multiple types of data in one call to mintapi"?

It means you can pass multiple arguments for the data you want, instead of just one, and it can write out multiple files. Perhaps we need an example call there :)

Yes an example would be super
Thanks!

@dzg let me know if #471 seems sufficient!


Add SSH fingerprinting updates

The previous description isn't accurate and when one invokes ssh to an untrusted server it will fingerprint public keys eventually.

Why is IdentitiesOnly not enough for effect?

Sorry, I should have attached a demo of why I introduced changes to it. See:

See

So this configuration actually emits a public key, not all but, anyway, does it.

Closing this, let's discuss if you think this needs another look.