Why the WinUI 3.0 desktop default project giving this runtime error?

Using Windows UI Library 3 Preview 2 (July 2020) that was released just yesterday. On latest version of VS2019 - Preview, followed this official tutorial Get started with WinUI 3 for desktop apps to create a desktop project. Project successfully compiles but gives the following error when running in debug mode. I'm using Windows10 Pro ver. 1903:
System.MissingMethodException
  HResult=0x80131513
  Message=Method not found: 'Void System.Runtime.InteropServices.ComWrappers.RegisterForTrackerSupport(System.Runtime.InteropServices.ComWrappers)'.
  Source=WinRT.Runtime
  StackTrace:
   at WinRT.ComWrappersSupport.set_ComWrappers(ComWrappers value)
   at WinRT.ComWrappersSupport.InitializeComWrappers(ComWrappers wrappers)
   at WinUI_DesptopPreview2.Program.Main(String[] args) in C:\DotNET5VS2019\Desktop_WinUI\WinUI_DesptopPreview2\WinUI_DesptopPreview2\obj\x64\Debug\net5.0\win-x64\App.g.i.cs:line 25

Screenshot of the error:

This usually indicates something has gone wrong with the project setup.  @alwu-msft or @MikeHillberg might have more specific instuctions.

@saf-itpro have you installed both the x86 and the x64 versions of .net 5

@StephenLPeters  Yes. Per step 3 of Install WinUI 3 Preview 2, I did install  both the x86 and the x64 versions of .NET 5 Preview 5 SDK.

Hi,
FYI....
I also faced the same problem. ( Even after installation of x86 and x64 version of .Net5 Preview 5 ).
I think there is some problem with .Net Preview 5 SDKs.
I switched back to dotnet-sdk-5.0.100-preview.4.20268.1-win-x64 and dotnet-sdk-5.0.100-preview.4.20268.1-win-x86.exe and now i am not getting the above specified runtime error.
PS: Just a hint from my end.
Regards,
Vijayan R

The latest version of C#/WinRT calls RegisterForTrackerSupport, which requires  .NET 5 Preview 5.  This error indicates that an older .NET SDK is in use, even if Preview 5 is installed.  The global.json should be checked, and/or "dotnet --version" run to confirm.

Closing, as the newer .NET version should not have this error. Let me know if the problem comes up again and I can reopen the issue.


Add generators section in kubectl conventions

@janetkuo as proposed in https://github.com/kubernetes/kubernetes/pull/32671#issuecomment-249021014 I'm adding a generator section, ptal.
@devin-donnelly it would make a good candidate for 1.4 release, not sure how far you're with the release?

This change is

Is this supposed to fix https://github.com/kubernetes/kubernetes/issues/17833?

As part of https://github.com/kubernetes/kubernetes/issues/17833 I had envisioned that we would document all of the existing generators and explain a bit more what is a generator (we also have some doc about the subject in https://github.com/kubernetes/kubernetes/blob/master/docs/devel/kubectl-conventions.md#generators)

And call out the differences between different generators (we already have two different service generators, not sure if others exist).

This is part of https://github.com/kubernetes/kubernetes/pull/32671, which removes the lengthy description of kubectl run --generator and link to this doc. This PR isn't trying to include all generators

1.4 goes out on Monday; this can go in after 1.4 gets merged to Master (pending review changes).

@janetkuo I've updated the doc according to your comment, ptal

@janetkuo updated, ptal

LGTM. GitHub says you need a rebase

Rebased.

@devin-donnelly comments addressed, ptal


Update k8s.io/ja/docs/setup/cri/

This is a...

[x] Feature Request
[ ] Bug Report

Problem:
Outdated content content/ja/docs/setup/cri.md.
content/en/docs/setup/cri.md 65 insertion(+), 33 delettion(-)

Proposed Solution:
Update content content/ja/docs/setup/cri.md.
For details, please execute the following command.
git diff 551489f 7b07d19 -- content/en/docs/setup/cri.md

Page to Update:
https://kubernetes.io/ja/docs/setup/cri/

やります
/assign

/close


Olive snapshot

Not for merge, only to share the changes needed to build latest master and try it out.
Master has a number of interesting improvements, but also crashes sometimes ;).

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

lost interest


[SR-1613][SourceKit] Include libdispatch

What's in this pull request?

Several parts of SourceKit make use of libdispatch. Include its headers in order to allow those parts to build.
Of course, SourceKit isn't actually built on Linux yet. You may attempt to build it by applying this patch.
Resolved Related bug number: (SR-710)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

@gribozavr Thanks! I addressed your comment by only including libdispatch on Linux.
@swift-ci please test

@gribozavr @akyrtzi What do you think of this one? Like #2703, this fixes one of the initial compilation errors when building SourceKit on Linux. Any objections to me merging it?

Even with the headers resolved, aren't we going to fail to link because libdispatch won't have been built yet when SourceKit is being built? (At least in the bootstrapping case. Maybe it would be reasonable to skip SourceKit on the initial pass, and then circle back to build it once swift-corelibs-libdispatch has been built?)

Or, build libdispatch first, and then build Swift and SourceKit.
libdispatch doesn't depend on Swift, AFAIK.

Corelibs libdispatch does include a Swift overlay which is currently enabled in the build script.

@briancroom Sorry I deleted my comment before noticing your reply.

All good points! Yeah, this pull request won't get SourceKit building properly -- I just sent it out to resolve the headers.
Traditionally, I've noticed the core team is not thrilled with the idea of requiring multiple invocations of the build script... we should create separate task on JIRA to discuss potential approaches here.

I have opened #2862 which I believe supersedes this PR.

Sounds good, @briancroom!  What about https://github.com/apple/swift/pull/2769? Is that also taken care of in https://github.com/apple/swift/pull/2862?

No, the changes in #2769 are addressing a different set of linker failures.


Error: bootstrap_servers was not set

When trying to execute the example TF code from scratch, I'm getting:
Error: bootstrap_servers was not set

  on main.tf line 37, in provider "kafka":
  37: provider "kafka" {

This is because the Kafka provider needs bootstrap_servers to work, though these have not been created by the other resources.
Is there a way to "delay" the execution of the kafka provider?

Not really related to this provider, except for the readme, https://github.com/Mongey/terraform-provider-kafka/issues/95, is the issue for tracking this over in terraform-provider-kafka. Something related to this must have changed with 0.12. I'm pretty sure it worked before then.


Read an account from the service

Read should accept an account_id and use Account.find() to find the account.
It should return a HTTP_404_NOT_FOUND if the account cannot be found.
If the account is found, it should call the serialize() method on the account instance and return a Python dictionary with a return code of HTTP_200_OK.


feat/ls

https://github.com/diasdavid/registry-mirror/issues/8

thank you for CR @Dignifiedquire :D

@diasdavid always happy to tell you what you did wrong :stuck_out_tongue_closed_eyes:


mako: 1.4.1 -> 1.5

Motivation for this change
ChangeLog: https://github.com/emersion/mako/releases/tag/v1.5
Things done

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

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

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

Aargh sorry, missed #121609


GNOME segfaults on rapid screen lock/unlock with extension enabled

Describe the bug
GNOME segfaults on rapid screen lock/unlock with extension enabled
How To Reproduce

Enable clipboard history and add some entries (copy some texts)
Lock screen
Unlock screen
Immediately lock the screen again, before the unlock process is fully complete
Potentially add some other extensions to make the unlock slower to make it easier to reproduce

Versions

GNOME Shell 46.3.1
GCH   Version: 42
org.gnome.shell.extensions.clipboard-history cache-only-favorites false
org.gnome.shell.extensions.clipboard-history cache-size 1024
org.gnome.shell.extensions.clipboard-history clear-history @as []
org.gnome.shell.extensions.clipboard-history confirm-clear true
org.gnome.shell.extensions.clipboard-history disable-down-arrow true
org.gnome.shell.extensions.clipboard-history display-mode 1
org.gnome.shell.extensions.clipboard-history enable-keybindings true
org.gnome.shell.extensions.clipboard-history history-size 10000
org.gnome.shell.extensions.clipboard-history move-item-first true
org.gnome.shell.extensions.clipboard-history next-entry @as []
org.gnome.shell.extensions.clipboard-history notify-on-copy false
org.gnome.shell.extensions.clipboard-history paste-on-selection false
org.gnome.shell.extensions.clipboard-history prev-entry @as []
org.gnome.shell.extensions.clipboard-history private-mode false
org.gnome.shell.extensions.clipboard-history process-primary-selection false
org.gnome.shell.extensions.clipboard-history strip-text false
org.gnome.shell.extensions.clipboard-history toggle-menu ['<Super><Shift>V']
org.gnome.shell.extensions.clipboard-history toggle-private-mode ['<Super><Shift>P']
org.gnome.shell.extensions.clipboard-history topbar-preview-size 50
org.gnome.shell.extensions.clipboard-history window-width-percentage 35

Additional context (if a crash, provide stack trace)
Right before the crash occurs, this shows up in the logs:
Object St.BoxLayout (0x5defdd8bfde0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destr>
                                        == Stack trace for context 0x5defdca87460 ==
                                        #0   7fffd8834d40 b   resource:///org/gnome/shell/ui/popupMenu.js:768 (17e3085f56a0 @ 70)
                                        #1   7fffd8834e40 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:447 (9a2aeb5dab0 @ 990)
                                        #2   7fffd8834f60 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:690 (21928914a240 @ 149)
                                        #3   5defdcb52658 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:278 (9a2aeb5d880 @ 139)
                                        #4   5defdcb52590 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:100 (21928914b420 @ 36)
                                        #5   5defdcb52508 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:105 (21928914b4c0 @ 43)
                                        #6   5defdcb52478 i   resource:///org/gnome/shell/ui/init.js:21 (17e308570bf0 @ 48)
Object St.BoxLayout (0x5defdd8bfde0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destr>
                                        == Stack trace for context 0x5defdca87460 ==
                                        #0   7fffd8834d40 b   resource:///org/gnome/shell/ui/popupMenu.js:768 (17e3085f56a0 @ 70)
                                        #1   7fffd8834e40 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:447 (9a2aeb5dab0 @ 990)
                                        #2   7fffd8834f60 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:690 (21928914a240 @ 149)
                                        #3   5defdcb52658 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:278 (9a2aeb5d880 @ 139)
                                        #4   5defdcb52590 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:100 (21928914b420 @ 36)
                                        #5   5defdcb52508 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:105 (21928914b4c0 @ 43)
                                        #6   5defdcb52478 i   resource:///org/gnome/shell/ui/init.js:21 (17e308570bf0 @ 48)
Object St.BoxLayout (0x5defdd8bfde0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destr>
                                        == Stack trace for context 0x5defdca87460 ==
                                        #0   7fffd8834d40 b   resource:///org/gnome/shell/ui/popupMenu.js:768 (17e3085f56a0 @ 70)
                                        #1   7fffd8834e40 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:447 (9a2aeb5dab0 @ 990)
                                        #2   7fffd8834f60 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:690 (21928914a240 @ 149)
                                        #3   5defdcb52658 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:278 (9a2aeb5d880 @ 139)
                                        #4   5defdcb52590 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:100 (21928914b420 @ 36)
                                        #5   5defdcb52508 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:105 (21928914b4c0 @ 43)
                                        #6   5defdcb52478 i   resource:///org/gnome/shell/ui/init.js:21 (17e308570bf0 @ 48)
Object St.BoxLayout (0x5defdd8bfde0), has been already disposed — impossible to access it. This might be caused by the object having been destroyed from C code using something such as destr>
                                        == Stack trace for context 0x5defdca87460 ==
                                        #0   7fffd8834d40 b   resource:///org/gnome/shell/ui/popupMenu.js:768 (17e3085f56a0 @ 70)
                                        #1   7fffd8834e40 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:447 (9a2aeb5dab0 @ 990)
                                        #2   7fffd8834f60 b   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:690 (21928914a240 @ 149)
                                        #3   5defdcb52658 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/extension.js:278 (9a2aeb5d880 @ 139)
                                        #4   5defdcb52590 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:100 (21928914b420 @ 36)
                                        #5   5defdcb52508 i   file:///home/user/.local/share/gnome-shell/extensions/clipboard-history@alexsaveau.dev/store.js:105 (21928914b4c0 @ 43)
                                        #6   5defdcb52478 i   resource:///org/gnome/shell/ui/init.js:21 (17e308570bf0 @ 48)

Please report this to Gnome, nothing an extension does should be able to segfault Gnome.


Add automated test for running quick start steps against last released version of ratify

What would you like to be added?
We currently have tests that builds from the local branch , we should also have a test to downloads the latest released version and run through the quick start step.
Anything else you would like to add?
No response
Are you willing to submit PRs to contribute to this feature?

[ ] Yes, I am willing to implement it.

I think we can have the test leverage the new helmfile command to make sure that new changes to that will not break existing quick start

tracking PR at https://github.com/deislabs/ratify/pull/1042


No module named builtins

Running the ./manage.py qcluster command with python 2.7 gives you an error:
from builtins import range
ImportError: No module named builtins

Looks like the package 'future' is not installed when using pip to install django_q. This issue can be fixed with:
pip install future

Adding 'future' to the install_requires in setup.py should hopefully fix this little issue.
I have created a pull request at https://github.com/Koed00/django-q/pull/5 to fix this.

'future' handles the backward compatibility from python 3 to 2. Apparently it is not standard on all environments. Thanks.


Increase computation speed

Increase speed by only calculating specified metrics also applying for the global metrics.
Also, evaluate_all() can be run in parallel.
When incorporating #101 and #90 , these can also be run in parallel.

Could not achieve faster results when trying to paralleize compute_all() or speeding up the for-loop in #90


SSR Components render unstyled at first when used with SSR

I am finding when I include Hedron in a SSR app the initial display of the component from the markup is missing the styling. After loading React rerenders with the correct styles.
This is likely related to styled-components, but I don't know what I need to add to make this work. I am already doing a bunch of work on my server bundle and client bundle for css-modules. Does this library require me to do anything specific for the SSR to work?
Thanks

I tried the babel plugin for styled components, did not work for me.
babel-plugin-styled-components

@gregorskii what i did to fix this some time ago on my site was to replace the hedron style components (Row, Page, Column) in my styled-components file, something like this:
import { Page as HedronPage } from 'hedron';

export const Page = styled(HedronPage)`
  ${props =>
    props.fluid
    ? 'width: 100%;'
    : `
      margin: 0 auto;
      max-width: 100%;
      ${props.width
        ? `width: ${props.width};`
        : 'width: 960px;'
      }
    `
  }
`;

With that, the SSR will work on your app, since you're already server-side rendering your styled-components I guess, the thing is, Hedron doesn't add support for SSR as far as I know.
Check my full commit on the fix here https://github.com/bntzio/site/commit/b5e805f79f4ed2f2b9c36e1a23c81b328fd4ff99 and here https://github.com/bntzio/site/commit/d88e2faff13b84a8135e85fe9d38929d095e67fd
Cheers!

Thanks, seems like a workaround. Any plans to make Herron support SSR? I think it would need a webpack plugin to auto compile the styled-components.

I'll have to do some research into how to make hedron compatible with SSR. If anyone has any ideas I'd love to hear them, since I myself don't really use SSR :+1:

I think it has to do with compiling styled-components code with babel internally before realizing the dist version of this code. Or if one wants to use the raw components uncompiled having a webpack loader that compiles styled-components. The issue now is one would have to add webpack config to handle styled components in the server script builder.
I am not an expert on SSR, working through it right now as well.
It is interesting to me that it works on the client, maybe It is because I am using postCSS on my client build, I was trying to avoid using a complex webpack config to handle styles on the server, but due to other findings I have had to add it. My thinking is if it works on the client it would have to work on the server now with my updated config,
I have since moved the project I am working on to reactstrap per the developers requesting bootstrap 4. So I do not have a config that includes Hedron. I could add it back to test if it compiles now. But my inclination is that it should.

I was able to get SSR to work very nicely with styled-components, but I am afraid I may have changed too much of the build process of hedron along the way. If you want to test it out, install @dfrankland/hedron and give it a spin.
Here's my branch where I've gotten everything working: https://github.com/dfrankland/hedron/tree/fix-ssr
@garetmckinley, I don't mind opening a PR, but what do you think of these changes:
https://github.com/JSBros/hedron/compare/1.0.0...dfrankland:fix-ssr

I've simplified my changes and opened 2 pull requests for the v1.0.0 and master branches: #75, #76.
As I mentioned before I have tested using<EMAIL_ADDRESS>+<EMAIL_ADDRESS>+ next.js

Thanks for your work ! :tada: I'll try to review the changes either tonight or tomorrow.

@dfrankland so I merged both your PRs, and it looks like at least the 1.0.0 branch is still having issues with SSR 😕
Here's a website deployed with next.js using<EMAIL_ADDRESS>and hedron@next.

Hmmm, that's not right. Let me see if I can make a nice quick demo too. I've got hedron@next working just fine with<EMAIL_ADDRESS>and next.js.

@garetmckinley, looking at the source page for the website you deployed: https://zeit.co/UOLFz5gDdpr7Itczn7codrDh/hedron-site/pbphbvgjll/source
I don't see your .babelrc with a config including babel-plugin-styled-components. SSR won't work without it.

🤦♂

@dfrankland so it's still not working for me :slightly_frowning_face:
https://hedron-site-hevnmaqkau.now.sh/
my .babelrc looks like
{
  "presets": [
    "next/babel"
  ],
  "plugins": [
    [
      "styled-components",
      {
        "ssr": true,
        "preprocess": true,
        "minify": true
      }
    ]
  ]
}

I'm not very experienced using next.js, so I'm sure it's probably my mistake

@garetmckinley, no worries 👌 .
Here's an example with it working: https://hedron-nextjs-ssr-example-vgnzwutwxi.now.sh/
If you'd like to see the source checkout this repo: https://github.com/dfrankland/hedron-nextjs-ssr-example
That example is based on this one: https://github.com/zeit/next.js/tree/master/examples/with-styled-components

Do you think it could be the absence of the _document.js file in my project? That's the only visible difference I can see. I was unsure what the actual point of the document was when I was looking over the official docs. I figured next.js shipped with some sort of sensible defaults for rendering the document. But again, I don't know a ton about next. I'll give it a try and see if it fixes my issues.
Thanks again for getting SSR to work properly with hedron :trophy: it was something a lot of people asked me about, and I was unsure how to get it working myself.

Ah, that did the trick! I'm curious why it wouldn't work without that.

Not a problem, glad that I could help out! 👍
_document.js is used to collect the styles from the rendered page, then insert them as a string into the <html>...</html> response. The built-in _document.js isn't aware of collecting styles in a way that styled-components would need, therefore a custom _document.js is needed.

Makes sense, thanks for the explanation! I suppose I can close out this issue now :smile:


Update stable version in repo from 3.1.13 to 3.1.15

Think about update stable version to 3.1.15
Version: stable=3.1.13 (152 days old) => latest=3.1.15 (15 days old)
Installs: stable=8586 (60.76%), latest=894 (6.33%), total=14130
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 3.1.15 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

done


Expose "open_latest_workfile" method for public use.

Goal
To enable developers to open the latest workfile on launch of application.
Motivation
Instead of hacking a solution together using the methods inside of the workfiles app, thought it better to expose a dedicated method that might benefit others.

Honestly, I'm not a fan... it's a bit too high-level without lower level being publicly available to. In my repo I have a setup where the work files api is exposed per host and I'd recommend first going that way, where it does:
#psuedocode
import avalon.api

host = api.registered_host ()
# understand where the work files are, dependent on software plus pipeline?
path = avalon.api.get_workfiles()[-1]

host.open (path)

Or something along those lines? From a dev perapective it just makes more sense to expose the files from the workfiles easily and how to open those in the host aside of only exposing to open the latest work file?

Or something along those lines?

Sure yeah, that sounds great. Just been catering for my own needs atm, which it to open the latest workfile on application launch, so any improvements to that is good.
More specifically I get why the host should live in the Avalon API, but should the get_workfiles not live in the workfiles module?

More specifically I get why the host should live in the Avalon API, but should the get_workfiles not live in the workfiles module?

Ah, didn't spot you were exposing it via workfiles. I think we should keep any external access to Avalon accessible via api rather than via the package __init__. Anything in api is expected to be well maintained and last forever (so take care!), and anything not in api can't be relied upon for external use.
What Avalon does internally however is nobodies business, but it seems like you expect external users and developers building tools on-top of Avalon to use this, in which case api is the place to be.

Anything in api is expected to be well maintained and last forever (so take care!), and anything not in api can't be relied upon for external use.

Good point. Will update this PR with the changes.

Actually on that point, should the tools be exposed in the API as well?

@BigRoy I agree with this method, but it seems like we should get https://github.com/getavalon/core/issues/365 sorted first then?

Once #387 is merged likely it's best to close off this PR. However, @tokejepsen please still have a critical eye at whether the availability of "getting the last workfile" is simple enough or we still need to explicitly expose something to the core api.

With #387 merged, did we still think this should not get merged?
I agree with Roy that it's a little too high-level, even magical. Maybe this is better suited as a sorting function to the workfiles model/view itself? Such that you can click "Open Latest", as in, whichever is last in the list. Then sorting is both visible to the user and customisable, either by custom function implemented in a config, or by the user clicking on a relevant section of the view, like ascending modified date.

As stated the goal was for developers to launch the latest workfile for users instead of presenting the workfiles app on launch. One button click less and no waiting for the workfiles app.
The workfiles app already preselects the last modified file in the list.
I think all the talk about API exposure needs to be settled before this one can continue.

One button click less and no waiting for the workfiles app.

Can you provide a usecase and/or example of how you envision the function to be used? I thought it was meant for either this GUI, or someone elses GUI, but I'm not seeing how that would reduce the number of clicks.

Can you provide a usecase and/or example of how you envision the function to be used? I thought it was meant for either this GUI, or someone elses GUI, but I'm not seeing how that would reduce the number of clicks.

The idea was to open the latest workfile on launch on the application, rather than launching the application then open the latest workfile.
Launching either using Avalon Launcher or Ftrack.

The idea was to open the latest workfile on launch on the application, rather than launching the application then open the latest workfile.

Ahaaa. But isn't that a little invasive? What if you wanted to open Maya without automatically loading the latest file? What if the file is huge and takes several minutes?
The idea is sound, how about we combine this with #412 and have the Context Manager show up on Maya launch instead?

Ahaaa. But isn't that a little invasive? What if you wanted to open Maya without automatically loading the latest file? What if the file is huge and takes several minutes?

This is subjective, so would be implemented per config, and hopefully the config will also make it project based.

Ok, I see what you mean. You want this method exposed for external configurations to Avalon. I can see how that makes sense, and how other common convenience functions have a place in Avalon too.
Because there's no limit to how much convenience we can bake into Avalon, I'd like to make a strict separation between what is convenience and what is core functionality. Convenience being built on-top of core. David's suggestion to add a avalon.util seems a good place for this, something we can add to freely and something that can grow, and worst case require a manual implementation using core features if convenience breaks. Something not bound by the "everlasting support" of the public API.

https://github.com/getavalon/core/issues/425

Let's move this PR into a new util.py module, would you like to take the lead on that @tokejepsen?

Let's move this PR into a new util.py module, would you like to take the lead on that @tokejepsen?

My time schedule means I wont be able to look at this for weeks, but yeah.


TabView: Fix newly-added items not respecting TabWidthMode [compact] when using an ItemsSource collection

Description
This PR fixes the following issues when the TabView is populated via its ItemsSource API and with its TabWidthMode set to [Compact] initially:

A TabWidthMode of [Compact] is ignored on tab creation and for newly-added items (issue #3114)
When clearing the ItemsSource collection via the IList.Clear() method, the app crashes (issue #3104)

Notes
The work done in PR https://github.com/microsoft/microsoft-ui-xaml/pull/2752/ fixed related issues when populating the TabView directly with items of type TabViewItem when in [Compact] TabWidthMode:
https://github.com/microsoft/microsoft-ui-xaml/blob/4468528f4e2089defa921df2cf140ab6c44cbbab/dev/TabView/TabView.cpp#L638
In the code above, we are updating the TabWidthMode of the added item as soon as it was added to the TabView item collection using the ItemsControl.OnItemsChanged() overridable method. The condition for success here is that

the newly added item is either already a TabViewItem or
that a TabViewItem already exists as a container for the added item

Unfortunately, when items of a type other than TabViewItem are added to the TabView (for example via the TabView.ItemsSource API) no TabViewItem container has yet been prepared for the newly added item at the time this code is run. That TabViewItem container is only created after TabView.OnItemsChanged ran so the container will miss out on the TabWidthMode update done there.
The solution chosen in this PR is to move the relevant code shown above out of the TabView.OnItemsChanged method and into the TabView's internal list's PrepareContainerForItemOverride() method. And as PrepareContainerForItemOverride is called for every item added to the TabView, no matter what type it is, we are now updating the TabWidthMode of a TabViewItem no matter if it acts as a container or has been directly added to the TabView.
Note: Adding this code to the existing ContainerContentChanging() implementation in the TabViewListView class is not an option as the OnContainerContentChanging event is not raised when a TabViewItem is added directly to the TabView (whereas PrepareContainerForItemOverride is).
With this approach we can now remove the TabViewItem TabWidthMode update logic in TabView.OnItemsChanged. This fixes issue #3104 which was a regression introduced in PR https://github.com/microsoft/microsoft-ui-xaml/pull/2752/. The bug here is an app crash caused by the added logic in TabView.OnItemsChanged. Here is the added code again:
https://github.com/microsoft/microsoft-ui-xaml/blob/4468528f4e2089defa921df2cf140ab6c44cbbab/dev/TabView/TabView.cpp#L638
The line
if (const auto newItem = TabItems().GetAt(args.Index()).try_as<TabViewItem>())

contains the reason for the crash when it tries to get an item from the item collection with
TabItems().GetAt(args.Index())

Clearing the item collection of a TabView via the IList.Clear() method sends a CollectionChange.Reset notification to grab inside the TabView.OnItemsChanged method. Unfortunately, the code highlighted above wil be run when a Reset notification is sent, so we end up with the following call:
TabItems().GetAt(0)

However, the collection returned by TabItems() already no longer contains any elements as we just cleared it via TabView.TabItems.Clear(), so we end up accessing an item here which no longer exists - the app crashes.
Motivation and Context
Fixes #3104 and fixes #3114.
How Has This Been Tested?
Tested visually and added API tests.
Gif:
The following GIF shows a TabView populated via its ItemsSource API and with its TabWidthMode set to [Compact] in XAML markup:

/azp run

@Felix-Dev can you merge master to pick up the CI build fix that just went in?

Merged with master.

/azp run

Looks like a down level only test failure, I can take a look in a little while

@Felix-Dev GitHub doesn't support saying "Fixes x and y", it will think it should only close x. Please update your PR to include "Fixes #3104 and fixes #3114" even though it doesn't sound as good.

@chingucoding Done. Thanks for the info.

@Felix-Dev The pipeline fix just went in, could you please merge master into this PR?

@StephenLPeters Merged with master.

/azp run

@StephenLPeters The test failure seems to be a downlevel issue - I see it failing on RS2 - RS4. I'm not sure exactly why (I am only setting and clearing the TabView ItemsSource). There is issue https://github.com/microsoft/microsoft-ui-xaml/issues/2427 which occurs when using the TabView ItemsSource API to populate the TabView and fails on RS4 and below (works on RS5 apparently). Might there be an underlying relation here? Other than this, perhaps rather desperate guess, I haven't found any additional info for now which could explain the down level failure.

Gentle prod on this. @StephenLPeters how can we determine the nature of the downlevel failure?

The team is very busy with winui 3 work but this is on my radar, I hope to get to it soon.

/azp run

I found that in the recently released preview version, if you only create TabView without adding any tabs to TabItems, it will cause a crash
#3351

@zhuxb711 This PR should fix your reported issue.

Added a new API test to cover the crash scenario reported in issue #3351.

/azp run

Why did this PR take so much time but still not approved?

/azp run

        UpdateSelectedIndex();

If there are no items to start with, then this call will try to set ListView's selected index to TabView.Selection index which is 0 (but there are no items).

Refers to: dev/TabView/TabView.cpp:427 in 3a061f6. [](commit_id = 3a061f6af00efcbcedc6e79ee2f54d2d0e98f467, deletion_comment = False)

Also, I see a crash with rounded corners in older versions (one one I saw was for the add button), perhaps that needs a contract check in the markup. I'm not sure why that is not being hit in other tests.

Also, I see a crash with CornerRadius in older versions (one one I saw was for the add button), perhaps that needs a contract check in the markup. I'm not sure why that is not being hit in other tests.

@Felix-Dev Can you add the contract check for CornerRadius ? Once you make that I can run the pipeline again. Thanks!

@ranjeshj Added the two specific commits in your PR https://github.com/microsoft/microsoft-ui-xaml/pull/3604 here. (Didn't cherry-pick them yet because I didn't want to experiment with VS's git experience regarding cherry-picking this late today and felt copying over your changes was faster for me today.)

/azp run

Looks like we only have one failure left - on RS3. I might be able to install a VM running RS3 on the weekend (with VS,...) and see if I can get some more info (if the team is unable to take a look at this failure).

Looks like we only have one failure left - on RS3. I might be able to install a VM running RS3 on the weekend (with VS,...) and see if I can get some more info (if the team is unable to take a look at this failure).

I think we are still setting an incorrect index on the listview.selected index. I've made a minor change - lets see if that resolves the issue.

/azp run

@ranjeshj It appears building a sample project for #3597 on WinUI v2.5 is blocked until a preview is released to fix #3351 . I'll upload the working one for WinUI v2.4 which demonstrates the issue.


RadzenDropDown expand arrow does not open/close the dropdown when wrapped in a label element

Describe the bug
When the RadzenDropDown control is wrapped within a <label> element, clicking on the expand arrow does not do anything. If the dropdown is not expanded, clicking it will expand the dropdown for a few milliseconds before it closes again. If the dropdown is already expanded, clicking the expand arrow will not close the dropdown.
To Reproduce
Steps to reproduce the behavior:

Create a <RadzenDropDown /> control.
Wrap it in a <label> ... </label> element.
When running the application, click on the little expand arrow on the drop down; it will not work as expected.

Expected behavior
Interacting with the dropdown should work the same as when it is not wrapped in a <label> element; The expand arrow should expand the dropdown as usual.
Video showing reproduction
https://user-images.githubusercontent.com/1187140/188762024-9fc65594-4ec5-43db-b39c-5c7c8b546a2e.mp4
Sample Code
You can use this sample code in a vanilla Blazor Server application to easily reproduce this issue:
<label>
	Values:
	<RadzenDropDown TValue="string" Data="@values" />
</label>

@code {
	public IEnumerable<string> values = new List<string>()
	{
		"These", "are", "some", "values"
	};
}

Desktop:

OS: Windows 10
Browser: Firefox v104.0.1 and Chrome v105.0.5195.102
Radzen.Blazer NuGet package version: 3.20.10
.NET 6

Additional context
Add any other context about the problem here.

Awesome, thanks for the super quick turnaround on this 👏 😊


Design Panel

Feature description
This ticket was taken from a row in this spreadsheet. This ticket can be used to track research and work related to porting this existing feature from the "old" editor to the "new" editor.
Settings Sidebar:

Handles the sidebar on the right including Document and Block settings

UX Required: Yes

This should include a new Checklist section which is closely tied to HELPER mode

Do not alter or remove anything below. The following sections will be managed by moderators only.
Acceptance criteria

Create our custom sidebar since we need a different layout / order and more control on the sidebar.
The Settings Sidebar is integrated into the new design
Include a new Checklist section which is closely tied to HELPER mode

Implementation brief

QA testing instructions

Demo

Changelog entry

Closing this as we have new tickets breaking down the functionality


Idea about LCTRL 6

Correct me if I'm wrong, but LCTRL 6 never appears in the AMX unless #emit is used?
If that's the case, the JIT compiler could be clever and replace that with PUSH.pri followed by the address (and remove the next push), thus making many broken libs work again.

Can you please remind me what was the problem with lctrl 6? I looked at the code for lctrl 6 but it looked like it should be working as is, maybe I'm missing something.

I realize now that something else must have been the culprit for crash issues I had, perhaps the issue I created in amx_assembly.
I'll close this for now.


[ktx] Update and fixes

Updates the port.
Updates declared platform support.
Fixes #30787 (WSL bash).
Fixes #28958 (WSL bash, unix2dos).

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks!


@Alig1493 Changes looks good. Can you please add some test for this? Here you can add test

@humitos Can you please take a look and have a review?

@humitos What should we do at this moment? Do you have any idea in your mind?


Http redirects testing

Adds ability to test whether HTTP get receives redirects, and if said redirects are correct.

Codecov Report

Merging #5 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master     #5   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           6      6
  Lines         395    436   +41
=====================================
+ Hits          395    436   +41

Impacted Files
Coverage Δ

spec/types/http_get_spec.rb
100% <100%> (ø)
:arrow_up:

lib/serverspec_extended_types/http_get.rb
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Very nice, thank you so much! I'll be releasing this as 0.2.0 shortly.

@ojizero 0.1.1 has been released and is live on rubygems.org. Thank you so much for the contribution, and thank you even more for doing everything, including the version bump, so that I could just merge, build and release!


haskellPackages.mkDerivation: use patch(1) --binary against hackage r…

…evisions huauheghufaefugihaeßuifgahefquifgahe
Description of changes

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg eval

This idea doesn't work and is based on some misinformation (?) you find on stackoverflow.
The problem with the revised cabal files is that only some lines use CRLF line endings which is very bad practice and should probably be fixed upstream. If the file was converted to CRLF line endings in its entirety, patch should have now trouble applying diffs since it converts DOS text files to Unix line endings automatically (this feature can be disabled with --binary). Presumably because the first few lines in cabal files usually have Unix line endings, this behavior doesn't kick in.

Hm, the files are actually consistently using DOS line endings, why is patch not behaving as advertised?


Taytay fanbase information

If your PR is related to a contribution to the taxonomy, please, fill
out the following questionnaire. If not, replace this whole text and the
following questionnaire with whatever information is applicable to your PR.
Describe the contribution to the taxonomy

Defines the term "Swifties"
Talks about the cultural and social dynamics of Taylor Swift's fanbase
Has details about Taylor Swift and her role in pop culture

Input given at the prompt
[ did not test with trained model ]
Response from the original model
[ did not test with original model ]

[ did not test ]
Response from the fine-tuned model
[ did not test ]

I did test this but do not have set available.
Contribution checklist

[x] The contribution was tested with ilab generate
[x] No errors or warnings were produced by ilab generate
[x] All commits are signed off (DCO)
[x] The qna.yaml file contains at least 5 seed_examples
[x] The qna.yaml file was linted and prettified (yaml-validator can do both)
[x] An attribution.txt file in the same folder as the qna.yaml file
[x] Content does not include PII or otherwise sensitive or confidential information
[x] Content does not include anything documented in the project's Avoid these Topics guidelines

@instructlab-bot precheck

Just a note for people trying to use ilab, version 0.17.1 (supports version 2 schema only):
to use qna.yaml it is version 3, run
pip install -U instructlab-schema

Hi Máirín thanks for providing this.

Per the new taxonomy (#1215 ), I recommend that this knowledge go here:
knowledge/arts/music/fandom/swifties

I have relocated the files give the new taxonomy organization.

 Best final checkpoint: samples_28613 with score: 6.745161290322581

╭───────────────────────────────────────────────────────────────────────────────────────────────────── system ──────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Welcome to InstructLab Chat w/ SAMPLES_28613 (type /h for help)                                                                                │
╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
>>> Is Swiftie a real word?                                                                                [S][default]
╭────────────────────────────────────────────────────────────────────────────────────────────────── samples_28613 ──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Swifties is indeed a real word, and it has been officially recognized as such by the Oxford Dictionary of English. It is defined as an enthusiastic fan of the singer Taylor Swift. The word has gained           │
│ widespread usage in popular culture and has been used by Swift herself to refer to her fanbase.                                                                                │
│                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.497 seconds ─╯
>>> How did Swifties come about?                                                                                [S][default]
╭────────────────────────────────────────────────────────────────────────────────────────────────── samples_28613 ──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Swifties are the fandom of the singer Taylor Swift. The term gained popularity in the late 2000s and early 2010s as Swift's fanbase grew. Swifties are known for their high levels of participation, creativity,  │
│ and community, and have been credited with popularizing Swift's music and driving her success in the music industry. Swift herself has often acknowledged and celebrated her Swifties, inviting them to call      │
│ themselves the "Taylor Swift Eras" and incorporating songs and themes that resonate with them in her music and promotional efforts.                                                                               │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.912 seconds ─╯
>>> How does someone become a Swiftie?                                                                                [S][default]
╭────────────────────────────────────────────────────────────────────────────────────────────────── samples_28613 ──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Becoming a Swiftie involves listening to and appreciating Taylor Swift's music, and connecting with other fans online or in person. Swifties are known for their high levels of participation, creativity, and    │
│ community, and they often bond over shared interests or experiences related to Swift. Joining fan clubs, attending concerts, and engaging with Swift's music on social media can help new fans become part of the │
│ Swiftie community.                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.657 seconds ─╯
>>> What do Chinese Swifties call Taylor Swift?                                                                                [S][default]
╭────────────────────────────────────────────────────────────────────────────────────────────────── samples_28613 ──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ In Chinese, Taylor Swift is referred to as "Swift Folder" (斯蒿先蓉) - a term that combines Swift's name and the Chinese character "蓉" (rón) which means "full" or "blossoming," reflecting the Chinese fans'    │
│ admiration for her and their belief that her work never stops growing.                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.539 seconds ─╯
>>> Why is Taylor Swift sometimes called "T-Swizzle"?                                                                                [S][default]
╭────────────────────────────────────────────────────────────────────────────────────────────────── samples_28613 ──────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Taylor Swift is also known by the nickname "T-Swizzle". This nickname was popularized by her fans and has been in use for quite some time. It's a playful and affectionate way to refer to her, much like how     │
│ some people call her "T-Swizzle" or "T-Swizzle" after the DVD title of one of her concert tours, "The Eras Tour".                                                                                │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── elapsed 0.620 seconds ─╯

Success! This is good to merge.


[bug] fullscreen true in tauri.conf.json does not work on Ubuntu

Describe the bug
I created a new app with npx create-tauri-app and only changed fullscreen to true in tauri.conf.json. The app opens in fullscreen on Windows and macOS, but it does not open in fullscreen on Ubuntu.
Reproduction

npx create-tauri-app
change fullscreen to true in tauri.conf.json
npm run tauri dev
app opens in normal window

Expected behavior
App should open in fullscreen window.
Platform and versions
Operating System - Ubuntu, version 20.04 X64

Node.js environment
  Node.js - 16.14.2
  @tauri-apps/cli - 1.0.0-rc.6 (outdated, latest: 1.0.0-rc.7)
  @tauri-apps/api - 1.0.0-rc.2

Global packages
  npm - 8.5.0
  pnpm - Not installed
  yarn - Not installed

Rust environment
  rustup - 1.24.3
  rustc - 1.59.0
  cargo - 1.59.0
  toolchain - stable-x86_64-unknown-linux-gnu

App directory structure
/src-tauri
/public
/node_modules
/.vscode
/dist
/.git
/src

App
  tauri - 1.0.0-rc.4
  tauri-build - 1.0.0-rc.4
  tao - 0.6.4
  wry - 0.13.3
  build-type - bundle
  CSP - unset
  distDir - ../dist
  devPath - http://localhost:3000/
  framework - Svelte

Stack trace
No response
Additional context
$ echo $XDG_SESSION_TYPE
x11

Edit:

I also tested with wayland and it's the same, the app does not open in fullscreen.
Using setFullscreen(true) of the tauri JS window API works as expected.

I'm getting this, on Fedora 35

This is a tao issue, the patch is here: https://github.com/tauri-apps/tao/pull/348
It will be part of the next release. Thanks for the report!

Hi, @pwespi
I'm facing the same issue on Lubuntu 22.04.2
I've tried the workaround with appWindow you mention, but it doesn't help.
Could you please suggest?


Add more description to Command and Parser classes

I have added more information inside the code about these new classes so its easier also following the guidelines so for example VS Code will show a tooltip with the information when hovering a method. #42
I have also splitted the commands in its own file so they are better located.
As further new PRs, I would add a tutorial on how to add types and new commands in the readme.

Looking good, I wish i knew more about how the commends in JS work for this kinda stuff, but i mainly am a go person

Happy to merge this but there are a few conflicts now with another pull request, do you mind taking a look?

All the conflicts resolved :)


The performance difference between system write API and liburing API when writing small data.

Hi, I wrote one sample to test the performance of writing small data with liburing and the system write API, found that the system write API is much more faster than the API in liburing. I don't know the reason. The testing demo is in https://github.com/acl-dev/demo/blob/master/c/file/main.c. And some writing codes are show below:
static int __open_flags = O_WRONLY | O_APPEND | O_CREAT;

void uring_write(const char *path, size_t count)
{
        int    fd = open(path, __open_flags, 0600), ret;
        size_t i;
        char   buf[1] = { '0' };
        assert(fd >= 0);

        struct io_uring_params params;
        struct io_uring uring;

        memset(&params, 0, sizeof(params));
        ret = io_uring_queue_init_params(100, &uring, &params);
        assert(ret >= 0);

        struct io_uring_sqe *sqe;
        struct io_uring_cqe *cqe;

        for (i = 0; i < count; i++) {
                sqe = io_uring_get_sqe(&uring);
                io_uring_prep_write(sqe, fd, buf, 1, i);
                io_uring_submit(&uring);
                ret = io_uring_wait_cqes(&uring, &cqe, 1, NULL, NULL);
                if (ret < 0) {
                        printf("io_uring_wait_cqe error=%s\r\n", strerror(-ret));
                        exit(1);
                }
                io_uring_cqe_seen(&uring, cqe);
        }
       ...
}

static void sys_write(const char *path, size_t count)
{
        int    fd = open(path, __open_flags, 0600), ret;
        char   buf[1] = { '0' };
        size_t i;
        assert(fd >= 0);

        for (i = 0; i < count; i++) {
                if (write(fd, buf, 1) <= 0) {
                        printf("write to %s error %s\r\n", path, strerror(errno));
                        exit(1);
                }
        }
        ...
}

At last, I got the below performance result:
uring write, total write=1000000, cost=107121.84 ms, speed=9335.16
sys write, total write=1000000, cost=1595.58 ms, speed=626731.35

That's to say the performance of writing small data with system API is 67x faster than that in  liburing.  To find the reason, I used  perf tool to check the write process of liburing, and got the below:
Samples: 8K of event 'cpu-clock:pppH', 4000 Hz, Event count (approx.): 593388678 lost: 0/0 drop: 0/0
Overhead  Shared Object        Symbol
  47.07%  [kernel]             [k] finish_task_switch.isra.0
  34.24%  [kernel]             [k] __lock_text_start
   1.70%  [kernel]             [k] __softirqentry_text_start
   1.45%  liburing-ffi.so.2.4  [.] io_uring_submit
   1.39%  liburing-ffi.so.2.4  [.] _io_uring_get_cqe
   1.17%  [kernel]             [k] vbg_req_perform
   0.91%  [kernel]             [k] syscall_enter_from_user_mode
   0.82%  [kernel]             [k] __do_sys_io_uring_enter
   0.74%  [kernel]             [k] __fget_files
   0.71%  file                 [.] main
   0.59%  [kernel]             [k] io_cqring_wait
   0.50%  [kernel]             [k] __io_file_supports_nowait
   0.38%  [kernel]             [k] io_submit_sqes
   0.37%  [kernel]             [k] do_syscall_64
   0.37%  [kernel]             [k] __get_user_8
   0.36%  liburing-ffi.so.2.4  [.] __io_uring_get_cqe
   0.36%  [kernel]             [k] fput_many
   0.35%  [kernel]             [k] io_wqe_enqueue
   0.34%  [kernel]             [k] exit_to_user_mode_loop
   0.33%  [kernel]             [k] io_prep_rw
   0.30%  [kernel]             [k] io_queue_async_work
   0.28%  [kernel]             [k] io_wq_enqueue
   0.28%  [kernel]             [k] __io_queue_sqe
   0.26%  [kernel]             [k] __fget_light
   0.21%  [kernel]             [k] io_prep_async_work
   0.21%  [kernel]             [k] io_init_req
   0.18%  [kernel]             [k] __raw_callee_save___pv_queued_spin_unlock
   0.17%  [kernel]             [k] __schedule
   0.17%  [kernel]             [k] io_wqe_activate_free_worker
   0.16%  [kernel]             [k] fput
   0.15%  [kernel]             [k] io_req_prep
   0.15%  [kernel]             [k] io_run_task_work_sig
   0.14%  [kernel]             [k] hrtimer_start_range_ns
   0.14%  [kernel]             [k] syscall_exit_to_user_mode
   0.14%  [kernel]             [k] try_to_wake_up
   0.13%  [kernel]             [k] schedule
   0.13%  [kernel]             [k] io_arm_poll_handler
   0.13%  [kernel]             [k] mem_cgroup_handle_over_high
   0.12%  liburing-ffi.so.2.4  [.] io_uring_wait_cqes

Why is it so high CPU when calling finish_task_switch.isra.0 and __lock_text_start?
Is there anybody can tell me how to improve the performance of writing small data?
Thanks.
---zsx

What kernel version is that? Until recent io_uring was offloading buffered writes to a worker thread, which is very slow, that's where io_wq_enqueue comes from in the profile. There is a fast path for that nowadays, so my first suggestion is try out a newer kernel.

Another aspect here might be the repeated waiting for single operations with io_uring. Does this pattern persist if you batch multiple requests per submission?

What kernel version is that? Until recent io_uring was offloading buffered writes to a worker thread, which is very slow, that's where io_wq_enqueue comes from in the profile. There is a fast path for that nowadays, so my first suggestion is try out a newer kernel.

I used the kernel of 6.0.9-060009-generic and 5.15.0-53-generic, and got the same result. I'll try the new kernal to test again.
Thanks.

Another aspect here might be the repeated waiting for single operations with io_uring. Does this pattern persist if you batch multiple requests per submission?

I can't write multiple requests in batch mode, because I want to use io_uring API to hook the system API which to be used to hijack the IO process of some DB engine such as wiredtiger which is used by mongodb. The writedtiger engine has a lot of small data read/write operations and got more slower performance in that way, so I wrote one simple demo to test and got that result.

What kernel version is that? Until recent io_uring was offloading buffered writes to a worker thread, which is very slow, that's where io_wq_enqueue comes from in the profile. There is a fast path for that nowadays, so my first suggestion is try out a newer kernel.

I am facing a similar performance difference between the normal write system calls and the ones executed through io_uring. Seeing this answer, I updated my system to run the latest kernel 6.4.11 on Ubuntu 23.04, but the write operation is still handled in a worker thread since ftrace hits the io_uring_queue_async_work trace point.
Does the mentioned fast path require any options such as O_DIRECT or  IORING_SETUP_IOPOLL?

First of all, batching requests is good for performance, but it's not about 10x difference as in the original question, but rather 10s%.

I am facing a similar performance difference between the normal write system calls and the ones executed through io_uring. Seeing this answer, I updated my system to run the latest kernel 6.4.11 on Ubuntu 23.04, but the write operation is still handled in a worker thread since ftrace hits the io_uring_queue_async_work trace point.

Let's start with basic questions:

Did you run the same reproducer as above? If not, do you have a repro?
What filesystems you use?
What is the write pattern? What is the write size? Is it random or sequential?

Does the mentioned fast path require any options such as O_DIRECT or IORING_SETUP_IOPOLL?

In short, no, optimisations I mentioned are for buffered (non O_DIRECT) writes. O_DIRECT is using a different path, which is already swift enough.

Did you run the same reproducer as above? If not, do you have a repro?

Yes, I did run the same experiment as the one mentioned above.

My current file system is ext4. I have not tried performing file writes using io_uring on top of other file systems.

What is the write pattern? What is the write size? Is it random or sequential?

The writes are performed sequentially and write 1 byte each.
I'd be happy to provide additional information should there still be unclarities. Thank you.

I've been talking to Stefan, in short, apparently that optimisation doesn't support ext4.
TL;DR; it will depend on ext4 being converted to iomap, which is apparently in plan / in progress, but I don't have any prediction for that.

I think it's very important for iouring to read/write small data very quickly same as the system IO API, especially for DB engine such as  Berkeley DB,  wiredtiger, etc. With the high performance and async-IO of iouring, I can hook the IO API of read/write for DB engine, and use coroutine way to support high concurrency service with high performance.

Thank you for the info. Do you happen to know which file systems currently support the write fast path? I would be very curious as to whether io_uring can outperform the normal write systemcall if the writes are not handled using worker threads.

@hema2601 , AFAIK iomap originated from XFS,  so if io_uring fastpath depends on iomap, then XFS should give you better results.

Do you happen to know which file systems currently support the write fast path?

xfs and btrfs

I would be very curious as to whether io_uring can outperform the normal write systemcall if the writes are not handled using worker threads.

Speaking about buffered writes, the only upper hand io_uring has is syscall batching and maybe registered files, and unless batching is good enough it won't outperform. The task/process/thread will be doing the same amount of work, e.g. memcpy from page cache, and without io-wq there is no asynchronicity for it yet.

I can confirm that I have similar issues. The reason I stopped the work I did up until https://github.com/axboe/liburing/issues/862 was that send syscall outperforms io_uring send for smaller/medium writes esp. if CPU cache is smaller.
My problem is that io_uring performs really good for the receiving part but sending smaller messages is heavier since with send syscall you do in fast path:

Generate some response in a CPU-cached vector ("block of memory")
Call send syscall -> if ok then never mind, it succeeded (fast path almost always taken for shorter messages)
In worse case, move the response to some less speedy block of memory, most likely not in cache

With io_uring you have to call prep_send and io_uring_submit for the above fast path, and that for me is slower than send syscall.
Optimizing small sends with io_uring so that the above CPU-cache-optimal way of sending performs better than send syscall should be possible, esp. since I am using all of the modern features like direct descriptors and everything is cache aware and on huge pages, etc.

Oh yeah, I read my whole thread and remember: The main issue for smaller sends can be summed up like so:

Send syscall that can take direct descriptors would be killer, I think

That, or somehow optimize prep_send + io_uring_submit to outperform send syscall (it doesn't for small)

I'm surprised you see a difference with send(2) vs IORING_OP_SEND for that case, have you done any profiling that could shed some light on this? Assuming your application is threaded, are you using registered rings to avoid the fget/fput on the ring fd itself?

How is the progress on this issue? I really hope to see som significant progress about it.
Thanks
--zsx

Apparently, Jens was cleaning up gh tasks and might have overdid it a bit. Is it still ext4 in your case?

Apparently, Jens was cleaning up gh tasks and might have overdid it a bit. Is it still ext4 in your case?

Yes, the case is in ext4 on Ubuntu with kernel6.8. And I've added read comparing for sys read and liburing read, found that they have the similarly performance. The newly added read codes in https://github.com/acl-dev/demo/blob/master/c/file/main.c . Below is the performance results of read and write for sys and liburing.
./file -n 100000
uring_write: open file.txt ok, fd=3
uring_write: write char=0
uring_write: write char=1
uring_write: write char=2
uring_write: write char=3
uring_write: write char=4
uring_write: write char=5
uring_write: write char=6
uring_write: write char=7
uring_write: write char=8
uring_write: write char=9
close file.txt ok, fd=3
uring write, total write=100000, cost=1541.28 ms, speed=64881.18
-------------------------------------------------------
sys_write: open file.txt ok, fd=3
sys_write: write char=0
sys_write: write char=1
sys_write: write char=2
sys_write: write char=3
sys_write: write char=4
sys_write: write char=5
sys_write: write char=6
sys_write: write char=7
sys_write: write char=8
sys_write: write char=9
close file.txt ok, fd=3
sys write, total write=100000, cost=80.58 ms, speed=1240925.73
========================================================
uring_read: read open file.txt ok, fd=3
uring_read: char[0]=0
uring_read: char[1]=1
uring_read: char[2]=2
uring_read: char[3]=3
uring_read: char[4]=4
uring_read: char[5]=5
uring_read: char[6]=6
uring_read: char[7]=7
uring_read: char[8]=8
uring_read: char[9]=9
close fd=3
uring read, total read=100000, cost=84.52 ms, speed=1183179.91
-------------------------------------------------------
sys_read: open file.txt ok, fd=3
sys_read: char[0]=0
sys_read: char[1]=1
sys_read: char[2]=2
sys_read: char[3]=3
sys_read: char[4]=4
sys_read: char[5]=5
sys_read: char[6]=6
sys_read: char[7]=7
sys_read: char[8]=8
sys_read: char[9]=9
sys read, total read=100000, cost=67.22 ms, speed=1487586.09

@zhengshuxin you can re-open this issue if still broken ?

I have no permission to re-open the issue.


Issues when changing connections

Issue Type: Bug
When changing server connections sometimes the connection just spins and either never connects or it connects and you can not change to another database.  When this happens if you try running a script ADS will lock up and you have to quit and re-open the application.
Azure Data Studio version: azuredatastudio 1.29.0 (0f5cfdc2c8c2433028842e16dc5ac1a65da24292, 2021-05-15T01:12:11.112Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-10610U CPU @ 1.80GHz (8 x 2304)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.61GB (6.98GB free)

Process Argv

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

sqldm-performance-insights
IDE
0.4.0

admin-pack
Mic
0.0.2

admin-tool-ext-win
Mic
0.0.2

agent
Mic
0.48.0

cms
Mic
0.8.0

dacpac
Mic
1.8.0

datavirtualization
Mic
1.12.0

import
Mic
1.3.0

powershell
ms-
2020.4.0

profiler
Mic
0.11.0

query-history
Mic
0.1.0

sql-prompt
Red
0.2.7

sql-search
Red
0.4.0

@kdrtoona Thanks for opening the issue. Could you give more details on what type of connection it is? Do you see any errors in the UI when the connection fails?

@abist  Certainly.  The connections are SQL Server connections.  Very often I need to move from one environment to another to test my SQL, when doing so I click on Change Connection which brings up the Connection frame.  I have several saved connections to various SQL servers.  I click on the connection I want and it usually appears to connect. However, on occasion, after changing the connection, I will go to the Database Selection drop down and if it lists the databases on the server, I'm probably good to go; if it lists only one database (the default) and I run a script, the script will just appear to run and run and run and I eventually have to quit ADS and re-open.  I rarely if ever get an error message, and if I do it says Unable to Change Database or something like that but on those occasions, I'm usually able to run my script and it will work without issue.
My current workaround for this is to just keep changing connections back and forth until it brings up the full database list in the drop down in the environment I need to use.

@kdrtoona Added some instructions to retrieve logs for us to investigate further

@abist  Here you go.  I was able to get it to generate an error message this time.
20210602T170031.zip
console.log

@kdrtoona Thanks, this was helpful!


Connected model to endpoint. Updated test and readme.

@irhox @Gnagniko did you run the tests or use /text endpoint after making changes? it's taking too much time to load, Please do either refactoring or putting in cron/backend job run model thingi.

@sajjadmurtaza it talks some time to load the first time because it is downloading the model. After that it is still slow but not that bad. The model just needs its time to process the text. Did you try it out a couple of times?

@irhox best way to handle this kind of stuff by using cron jobs. for now might be ok
https://www.loom.com/share/944b48b6495241aaac47c2fd1810c2cf
https://www.youtube.com/watch?v=m5H54NcvBRU&ab_channel=KavyanshPandey


Implicitly wrap blocks in seq

Removes the somewhat silly requirement that all "blocks" (bodies of while and if) be wrapped in a seq or par. If there is no seq or par, the block gets wrapped into a seq.
Essentially:
while lt.out { A; B; C }

Is now allowed and equivalent to:
while lt.out { seq { A; B; C } }

Looks handy!


Caching redis itself ?

You can then cache redis itself and so take the load of redis ?
Seems like this is why this was made ?

Kache was developed to be as an alternative for redis. It supports redis features(such as protocol) and in the future, I think we need to move to a different paradigm keeping the same support.
Also yes, we can cache redis too.


Use condas dask-core in ci instead of dask to speedup ci and reduce dependencies

[ ] Closes #xxxx
[ ] Tests added
[ ] Passes pre-commit run --all-files
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

Tried to reduce dependencies from installing dask via conda which installs like pip install dask[complete]. dask-core is like pip install dask. https://github.com/xgcm/xhistogram/pull/71#discussion_r752738286
Why? dask[complete] includes bokeh etc which are not needed here and likely speed up CI setup/install times
but now dask and dask-core are conda installed :( seems like iris installs dask https://github.com/conda-forge/iris-feedstock/blob/master/recipe/meta.yaml, so this would require an iris-feedstock PR first
linking https://github.com/SciTools/iris/pull/4434 and https://github.com/conda-forge/iris-feedstock/pull/77

bokeh etc not installed anymore when temporarily not installing iris from conda https://github.com/pydata/xarray/runs/4298565586?check_suite_focus=true


Uncaught NetworkError: Failed to execute 'send' on 'RTCDataChannel': Could not send data

[Enter steps to reproduce:]

...
...

Atom: 1.25.0 x64
Electron: 1.7.11
OS: Mac OS X 10.13.3
Thrown From: teletype package 0.10.0
Stack Trace
Uncaught NetworkError: Failed to execute 'send' on 'RTCDataChannel': Could not send data
At /Users/PJBenard/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/peer-connection.js:238

Error: Failed to execute 'send' on 'RTCDataChannel': Could not send data
    at PeerConnection.send (/packages/teletype/node_modules/@atom/teletype-client/lib/peer-connection.js:235:24)
    at PeerPool.send (/packages/teletype/node_modules/@atom/teletype-client/lib/peer-pool.js:121:22)
    at StarOverlayNetwork.send (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:310:21)
    at spokes.forEach (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:303:14)
    at Set.forEach (native)
    at StarOverlayNetwork.forwardBroadcast (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:301:17)
    at StarOverlayNetwork.broadcast (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:126:12)
    at Router.notify (/packages/teletype/node_modules/@atom/teletype-client/lib/router.js:34:20)
    at BufferProxy.broadcastUpdate (/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:184:17)
    at BufferProxy.revertToCheckpoint (/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:144:12)
    at BufferBinding.revertToCheckpoint (/packages/teletype/lib/buffer-binding.js:128:37)
    at TextBuffer.module.exports.TextBuffer.revertToCheckpoint (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:997:50)
    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:955:20)
    at TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1839:30)
    at TextEditor.moveCursors (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2708:23)
    at TextEditor.setCursorScreenPosition (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2519:23)
    at TextEditorComponent.didMouseDownOnContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1801:25)

Commands
  3x -7:12.4.0 core:save (input.hidden-input)
     -4:51.9.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
     -3:23.9.0 line-ending-selector:show (atom-text-editor.editor.is-focused)
  7x -3:20.8.0 core:save (input.hidden-input)
     -3:10.2.0 window:save-all (input.hidden-input)
     -1:24.2.0 core:select-all (input.hidden-input)
     -1:22 core:copy (input.hidden-input)
     -0:52.7.0 core:select-all (input.hidden-input)
     -0:51.7.0 core:copy (input.hidden-input)
     -0:30.9.0 core:select-all (input.hidden-input)
     -0:29.8.0 core:copy (input.hidden-input)
  4x -0:18.1.0 core:select-all (input.hidden-input)

Non-Core Packages
teletype 0.10.0

Thanks for the report! Do you have steps to reproduce, or do you remember what you were doing when you saw the error?

@CaptainJohnyAppleSeed: I tried to reproduce this issue with Teletype 0.12.0 using the steps in https://github.com/atom/teletype/issues/354#issuecomment-378379581, but I was unable to reproduce it. Are you still able to reproduce this issue?

@jasonrudolph We've been able to replicate this issue again. After fooling around a bit, I realized that its not that bad if its just 1 guest that disconnects, since after a few minutes, the guest will correctly disconnect and the errors will stop.
We are both running on Teletype v0.12 with atom 1.25.1 on Mac OS v10.12.6.
When I get the chance, I'll see if I can replicate this on Linux and with multiple guests.

We've been doing some more work on this, and we've figured out that the issue occurs specifically when a Guest's computer or laptop goes to sleep. Its not an issue if the computer looses internet connection. The latest test was on 2 Mac desktops (Sierra OSx10.12.6) that had never had Atom installed on them.

I just had this error in Windows 10. My colleague also is using Windows 10.
Atom: 1.30.0
Teletype: 0.13.3
It occured in similar situation as described here: https://github.com/atom/teletype/issues/354#issuecomment-378379581 but my colleague didn't close laptop. He just closed editor with shared file (we wasn't been able to generate this error again)...

I can see the same error on Ubuntu 18.04, Atom 1.35.1 and teletype: 0.13.3. There is no other packages other than teletype.
My friend left his pc for sleep, and I switch to atom tab and I saw the bug (which is same with https://github.com/atom/teletype/issues/354#issuecomment-378379581)

Stack Trace
Error: Failed to execute 'send' on 'RTCDataChannel': Could not send data
  at PeerConnection.send (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/peer-connection.js:236:24)
  at PeerPool.send (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/peer-pool.js:121:22)
  at StarOverlayNetwork.send (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:332:21)
  at spokes.forEach (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:325:14)
  at Set.forEach (<anonymous>)
  at StarOverlayNetwork.forwardBroadcast (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:323:17)
  at StarOverlayNetwork.broadcast (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:126:12)
  at Router.notify (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/router.js:34:20)
  at BufferProxy.broadcastUpdate (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:230:17)
  at BufferProxy.broadcastOperations (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:208:10)
  at BufferProxy.revertToCheckpoint (/home/berkhan/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:150:12)
  at BufferBinding.revertToCheckpoint (/home/berkhan/.atom/packages/teletype/lib/buffer-binding.js:138:37)
  at TextBuffer.revertToCheckpoint (/usr/share/atom/resources/app/static/<embedded>:11:492740)
  at TextBuffer.transact (/usr/share/atom/resources/app/static/<embedded>:11:491944)
  at TextEditor.transact (/usr/share/atom/resources/app/static/<embedded>:11:24215)
  at TextEditor.moveCursors (/usr/share/atom/resources/app/static/<embedded>:11:33112)
  at TextEditor.setCursorScreenPosition (/usr/share/atom/resources/app/static/<embedded>:11:30265)
  at TextEditorComponent.didMouseDownOnContent (/usr/share/atom/resources/app/static/<embedded>:11:95794)

[Enter steps to reproduce:]

...

...

Atom: 1.25.0 x64
Electron: 1.7.11
OS: Mac OS X 10.13.3
Thrown From: teletype package 0.10.0
Stack Trace
Uncaught NetworkError: Failed to execute 'send' on 'RTCDataChannel': Could not send data

At /Users/PJBenard/.atom/packages/teletype/node_modules/@atom/teletype-client/lib/peer-connection.js:238

Error: Failed to execute 'send' on 'RTCDataChannel': Could not send data

    at PeerConnection.send (/packages/teletype/node_modules/@atom/teletype-client/lib/peer-connection.js:235:24)

    at PeerPool.send (/packages/teletype/node_modules/@atom/teletype-client/lib/peer-pool.js:121:22)

    at StarOverlayNetwork.send (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:310:21)

    at spokes.forEach (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:303:14)

    at Set.forEach (native)

    at StarOverlayNetwork.forwardBroadcast (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:301:17)

    at StarOverlayNetwork.broadcast (/packages/teletype/node_modules/@atom/teletype-client/lib/star-overlay-network.js:126:12)

    at Router.notify (/packages/teletype/node_modules/@atom/teletype-client/lib/router.js:34:20)

    at BufferProxy.broadcastUpdate (/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:184:17)

    at BufferProxy.revertToCheckpoint (/packages/teletype/node_modules/@atom/teletype-client/lib/buffer-proxy.js:144:12)

    at BufferBinding.revertToCheckpoint (/packages/teletype/lib/buffer-binding.js:128:37)

    at TextBuffer.module.exports.TextBuffer.revertToCheckpoint (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:997:50)

    at TextBuffer.module.exports.TextBuffer.transact (/Applications/Atom.app/Contents/Resources/app/node_modules/text-buffer/lib/text-buffer.js:955:20)

    at TextEditor.transact (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:1839:30)

    at TextEditor.moveCursors (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2708:23)

    at TextEditor.setCursorScreenPosition (/Applications/Atom.app/Contents/Resources/app/src/text-editor.js:2519:23)

    at TextEditorComponent.didMouseDownOnContent (/Applications/Atom.app/Contents/Resources/app/src/text-editor-component.js:1801:25)

Commands

  3x -7:12.4.0 core:save (input.hidden-input)

     -4:51.9.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)

     -3:23.9.0 line-ending-selector:show (atom-text-editor.editor.is-focused)

  7x -3:20.8.0 core:save (input.hidden-input)

     -3:10.2.0 window:save-all (input.hidden-input)

     -1:24.2.0 core:select-all (input.hidden-input)

     -1:22 core:copy (input.hidden-input)

     -0:52.7.0 core:select-all (input.hidden-input)

     -0:51.7.0 core:copy (input.hidden-input)

     -0:30.9.0 core:select-all (input.hidden-input)

     -0:29.8.0 core:copy (input.hidden-input)

  4x -0:18.1.0 core:select-all (input.hidden-input)

Non-Core Packages

teletype 0.10.0


Tailwind genesis copy theme does not round borders

Reproduction
Can't reproduce :(
Describe the bug
I followed this documentation page and copy pasted the genesis theme to have a Tailwind version to work with.
It seems to work as expected, except that I have this weird rounding issue on all fields:

I can't reproduce the issue in the playground, which makes me wonder what could cause this in my project. I removed any plugins that could interfere (daisyUI, @tailwindcss/forms, etc.), I removed all custom CSS in tailwind CSS file.
What's funny is that if I add a rounded attribute to global->input section in the theme, it seems to solve the issue:

Any idea on what could happen here? Thanks.
Environment

Operating System: Linux
Node Version:     v18.14.0
Nuxt Version:     3.2.0
Nitro Version:    2.2.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      runtimeConfig, routeRules, typescript, modules
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

Tailwindcss 3.2.4

@ddahan Not sure why you're seeing those styles if they're not reproducible in the playground — But the crux of the issue is that your input has a background color assigned but does not have rounded borders. This is why adding rounded in your Tailwind theme fixes the issue.
FormKit actually uses the inner styles to style the input borders and background so that visually the prefix, prefix-icon, suffix, and suffix-icon appear to be inside the input fields. So if you have a rounded inner but your contained input does not and also has a solid background color you'll get the behavior you're seeing in your screenshot.

I'm going to close this, let me know if you need anything else regarding this issue. Thanks!


ReadLineWithDefault action

propose to extend the interface with ReadLineWithDefault action

What is the default for? Is it the value to be returned when readline returns empty?

This pre-fills the input with the default value
c.Print("Enter your name: ")
name := c.ReadLineWithDefault("guest")
...
// --- "guest" is appears immediately with "Enter your name"
// --- you can just press Enter or replace by another name
// Enter yout name: guest

Thanks for this proposal. However, this does not offer much benefits compared to how it is currently being done with 2 lines of code. You can easily add an helper function in your app.

@abiosoft This behavior can't be achieved with a helper. In @nmix example "guest" is a part of input, so user can edit it.

Oh, interesting.
Thanks for point that out @chessman.

I was specifically looking for this feature for a configuration editor in a situation where you might be editing a very long description string for minor errors.


Jongiddy/d2 iq 72846 calico upgrade same

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)

D2IQ-ID JIRA title / short description.

Related tickets (optional)

D2IQ-ID JIRA title / short description.

@mesosphere-mergebot test all

@mesosphere-mergebot request-review @jkoelker

@mesosphere-mergebot changelog-not-required cert changes noted in Enterprise

@mesosphere-mergebot changelog-not-required noted in EE, open just plumbing for the EE change


Add Alfie Chen week 1 assignment

Finally added my week 1 reflection as outside collaborator. Since I still feel the need to separate my work from enrolled students' as a way to respect y'all and the repo maintainer, I added a line Submissions by outside collaborators:. However, this should be open for discussion on how it's done would be most appropriate.

I made a slight change to use an <h3> for @alfieyfc's post. I am going to go ahead and merge, anyone should feel free to open an issue to discuss!


[FEAT] HTTP output plugin

Is your feature request related to a problem?
Many mpegts streams are transmitted over http, it will be useful for tsduck to have a the ability to serve output mpegts over http
Proposed solution:
Add HTTP output plugin
I can look into it if no objections to the feature

Hi @Marware

serve output mpegts over http

So, you mean that the output plugin would behave as an HTTP server, right ?
The problem that I see here is what kind of HTTP server should we embed? Writing an HTTP server is incredibly complicated, not just responding to a GET line on a TCP socket. There are zillions of options and corner cases. You need to support SSL/TLS with lots of cryptographic suites. And this must remain portable on Linux, macOS, Windows, BSD, just like the rest of TSDuck. And this must be easily integrated to be compiled in scripts in the CI/CD pipeline, on all mentioned operating systems.
For HTTP clients (input plugins http, hls and a few others), there are native libraries on all operating systems, namely WinInet on Windows and libcurl elsewhere. These libraries are already available on all OS and easy to integrate. That is how TSDuck and many other applications can be generic HTTP clients, facing all situations and protocols.
How would you do it for an HTTP server?
Note that this is why the hls output plugin does not serve the HTTP protocol. It generates and renews the playlists and segments files but let an independent application serve them (typically an Apache server).

I can imagine the challenges of adding an HTTP server since I use HTTP servers all the time and created a minimal one. However, there are some good projects building lightweight and embeddable HTTP server that cover all your mentioned concerns, also they can be stripped down to the use case of video only and embed it to tsduck library like SRT as a listener

OK, so here are the requirement for a library to be embedded:

Reputed library (stable, reliable, secure). This kind of server library, if not designed with security in mind, may contain vulnerabilities.
Available on Linux, macOS, Windows (optionally on BSD systems)
Binary packaging available through installers (apt install, dnf install, brew install, etc) and a clear URL or Web page where the development binaries for Windows are available.

In the case of Windows, the binary libraries must be compiled with the native compiler MSC, not some weird mingw installation. If a binary installer for the libraries is not available on Windows, I can make one (I did it for SRT and RIST) but the compilation of the library must be automatable using a script (typically, it must be build using a provided MSBuild/VC solution file, or cmake or meson).
If you have a candidate library with all these characteristics, I will have a look.

Thanks for the specs, on it!

And I forgot to mention the licensing requirements. It must be a permissive license, compatible with TSDuck BSD license;

No GPL, restrictive license, rarely used in libraries but some of them use it (readline for instance)
LGPL possible if binary libraries using shared objects / DLL's are available everywhere, with separate installation.
Preferably BSD, MIT, Apache and the like.


powered:false

Hi all,
I can sometimes scan and join networks on a RPI 2 model B, but most of the time it doesn't work.
Scan throws a [Error: net.connman.Error.NoCarrier]
Coincidentally, every time it doesn't work, the powered status is false (below).
 { name: 'WiFi',
  type: 'wifi',
  powered: false,
  connected: false,
  tethering: false }

In addition, when it fails and I run wpa_cli status it says: wpa_state=DISCONNECTED
On the other hand, every time it worked, wpa_cli status said: wpa_state=INNACTIVE
Any clues on what I could do to make sure connman-simplified always power the wifi dongle, before it starts?
Furthermore, restarting wlan sudo ifconfig wlan0 down|up doesn't help.
Also, sudo iwlist wlan0 scan always work, which indicates the hardware is operational.
Thanks,
Franklin

It looks like there is some code to power / enable the hardware:
https://github.com/Doodle3D/connman-simplified/blob/master/lib/WiFi.js#L62:L68
When are you checking these properties? I would recommend only scanning after the init callback of the WiFi part.
There are a few moments where the hardware restarts, possibly when you switch from accesspoint mode to client mode, this might be something to look into.
I would recommend checking / comparing things with the connmanctl, because this also works through connman and is more comparable with what this utility talks to.


[1.12] Config GUI Broken

Hi @McJty,
I believe I have found an issue with The One Probe in Minecraft 1.12, here's the details:
Issue Information

Minecraft 1.12
Minecraft Forge <IP_ADDRESS>7
The One Probe 1.4.11

Issue Description
The In-Game config GUI added by Forge no longer is accessible via the game.
Issue Media

I wonder if that's my bug or a bug in forge as I didn't actually touch that

Hmm. It's possible that the way to register it or the deprecated methods in GUIFactory were finally removed. Not quite sure really. 😕

I've read some PSA from Mezz about changed methods regarding background drawing.

Fixed next release


Removing unused field of the Transformer class.

Dropout2d is only used in ClfHead as mentioned by @teucer in #19.

Yes !


xaxis labeling issue

I notice that some of the water quality parameters, like Chl or salinity, the xaxis didn’t show up correctly when plotted as time series. The unit for the x axis seems to be ‘us’ or ‘ms’.

Looks like when dataset is empty that is the axis you get for an empty graph. Closing for now.

@ZhenlinZhang See closing comment above. If that is not the case, feel free to provide station where there is data and the graph axis is incorrect.