feat: http2 watch

Description
Code for v4.0.0-rc-http2-watch. Adds an http2Watch and makes updates for configuration through the WatchConfig
Related Issue
Fixes #

Relates to #
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Other (security config, docs update, etc)

Checklist before merging

[ ] Test, docs, adr added or updated as needed
[ ] Contributor Guide Steps followed

this has been merged. This was a reference PR for the release candidate


Add "extended" Async method name refactoring

https://twitter.com/rducom/status/663656924844580864

#11 should be done first.


2.x update

Current coverage is 100% (diff: 100%)

Merging #214 into v2 will not change coverage

@@            v2   #214   diff @@
=================================
  Files        6      6
  Lines      397    397
  Methods     53     53
  Messages     0      0
  Branches   115    115
=================================
  Hits       397    397
  Misses       0      0
  Partials     0      0

Powered by Codecov. Last update 0f7e6c1...fbc6e6d


How to do order by RANDOM?

How to do order by RANDOM?

Something like
Query().select(a).from_(table).orderby("random()")

Should do the trick


In Markdown, underlined text becomes HTML-tagged, instead of wrapped in emphasis characters

I suggest/request that when converting to Markdown, underlined text should be wrapped in *single asterisks*.
I want to suggest single underscores, because they visually resemble underlining so strongly, but I'm instead suggesting single asterisks, because:

It (unscientifically, admittedly) appears so very common to me that underscores are used to indicate italics--including right here in GitHub posts.

Making it single asterisks instead of single underscores provides a distinct mapping that, though it will likely be rendered the same as if it were underscores, can survive a round-trip conversion.

For those who aren't familiar, the Markdown syntax document simply asserts that wrapping in a single emphasis character (whether *asterisks* or _underscores_) should result in  tags when generating HTML, while wrapping in doubled-up emphasis characters (again, **double-asterisks** or __double-underscores__) should result in  HTML tags.

That being said, after writing the above, I then promptly used two Markdown editors which both render:

**This as bold**
*This as italic*
_This as underlined_

So, now, I would argue for that, though I recognize plenty would likely argue otherwise 😅

What Markdown editors are you using that render _underlined_ as underlined text? It seems like both GitHub and Commonmark (https://commonmark.org/help/) render _italic_ as italic text.
In a Google Doc, there is italic text, bold text, and underlined text. Since Markdown already provides for ways to markup italic and bold, GD2md-html uses _italic_ and **bold**.
I'm assuming that if someone chooses to underline something in a Google Doc, they really want underlined text, so I'm using some inline CSS to give them that. (I'm not sure how useful it really is in practice, but I don't want to assume that changing underlined text to italic text is the right thing to do.

Sorry for the mistake, but I was only half right: I thought Ulysses was doing that, but since I'm just starting to use it, I was fooled when a global change of mode in that software switched from rendering _underscore-wrapped_ text as italic to rendering it as underlined.
Highland 2, however--an editor I use frequently--does support **bold**, *italic* and _underlined_ text.
That all being said, and after more consideration, I return to my original instinct: I vote that it'd be handy if underlined text ended up wrapped in *single asterisks*.
Such a change doesn't alter the Markdown you already generate, provides a Markdown-compliant result that "works right out of the box," and yet it is also distinct, in case someone wants to search-and-replace it for a particular purpose.
Thanks for your consideration, and for developing such a great tool!

I'm glad you like this tool!
You're right -- since we're converting italic text to _italic text_ and not using single * for markup now, we could use *underlined text* for text that is actually underlined in the Google Doc.
But then text that is actually underlined in the Doc would show up as underlined text in the rendered Markdown. I feel like that's a non-obvious side-effect, and perhaps not what the writer intends/wants. I'm trying to keep the conversion pretty literal.

I think we're both trying to "keep the conversion pretty literal" from slightly different perspectives.
But, that's kind of a tall order with typography-to-Markdown conversions, since Markdown doesn't support bold, italic, underlined, or any other type styling--it just supports the concept that some text needs to be phasized, and sometimes ly.
So, though this conversion is more art (and convention) than science, I'd argue that when converting to Markdown, it is best to get Markdown, and not s.
So, I'd say that underlined text could arguably be converted to **this**, *this*, __this__ or _this_. And that you might as well map it to something you aren't already using.
But I could be wrong--it's happened before 😉

Yeah, the  for style is kind of ugly, but certainly permissible in Markdown. We also use some HTML for some mixed code/font areas, and for tables. (Though I'll investigate Markdown for simple tables at some point.)

Understood, and thanks for considering and taking the time to discuss! I can, of course, search and replace the s to get my desired result.
And, again--thanks for creating this tool.

Thanks for the discussion. To avoid non-obvious side effects, I'm going to leave the current conversion as-is: that is, underlined text in a Google Doc will show up as underlined in the Markdown/HTML conversion. Feel free to reopen if necessary.


Problem with prediction

Hi!
I have the problem with prediction. What am I doing wrong?

Can you please update to the latest EvalML to see if it resolves your issue. We removed the concept of data columns.


Display valid arguments on invalid argument?

I am trying to set up a command that only takes specific values for its arguments, and I have a validate method set up and output the valid values to the details, but I would also like them to display in the "You provided an invalid . Please try again" message, so the user does not need to cancel and run the help and rerun the command to see the valid arguments.
I suggest that there should be a way to insert something into this template through the argument info.

I added error. https://discord.js.org/#/docs/commando/master/typedef/ArgumentInfo
Does this accomplish what you want?

Yes, according to the documentation, this is exactly what I am looking for. However, upon updating Commando to that commit and adding the error property to the argument, the validator function's output seems to be ignored, so no error is ever produced and the command executes as if the input was valid (even if it was invalid). The validator is still ran (tested using console.log). Upon removing error from the argument, the validator and stock error message worked just as expected.

I cannot reproduce what you're describing.

Should be fixed in 9aa8d48da7843b353f9406dae965405ce5be92a6.


Add audit log for sql statement.

1. Describe the feature
Add a additional log file to audit sql statement.
2. Motivation
Audit sql statement.
3. Describe the solution
4. Additional context

Looks like a good feature to have


Can't support RAML v1.0 ?

$ raml2md Shop.raml
Error parsing: version validation
Unsupported RAML version: '#%RAML 1.0'
  in "Shop.raml", line 1, column 1:
    #%RAML 1.0
              ^

I'm sorry for that. Please read https://github.com/kevinrenskers/raml2html/issues/153 because raml2md has the same ownership / maintenance problem as raml2html.

Thanks for your reply ; )

+1

+1

No need to +1, there is a beta with RAML 1 support available.
npm install<EMAIL_ADDRESS>

4.0.0 is released (no longer in beta)


PDF not rendered correcly and how to export book to navigate-able HTML

This is my master.adoc file contents
= Buku Saku Android
:author: Bagus Aji Santoso
:email<EMAIL_ADDRESS>:revnumber: 0.0.1
:revdate:   18 Desember 2018
:doctype: book
:toc:
:icons: font
:data-uri:
:lang: id
:language: javadocript

[preface]
include::chapters/about.adoc[]

== Pendahuluan

include::chapters/introduction.adoc[]

== RecyclerView

include::chapters/recyclerview.adoc[]

ifdef::backend-docbook[]
[index]
Index
-----
endif::backend-docbook[]

The HTML version is rendered correctly with the note section is similar to the preview.

However the PDF version is rendered incorrectly, how to fix this issue?

I also want to export the HTML version into navigate-able files with sidebar navigation. It would be inconvenient if all the content of the book packed into one single HTML file.
Thank you in advance for any help.

I need all documents to check the issue.
"I also want to export the HTML version into navigate-able files with sidebar navigation. It would be inconvenient if all the content of the book packed into one single HTML file"
AsciidocFX already supports it, just save your html to a folder.

The document located here: https://github.com/lobothijau/bukusakuandroid
Could you please elaborate more on the steps to get it? I already exported the documents to HTML files but I only get one single HTML. I couldn't find any button to export to HTML other than that one.

You can only get one single navigatebla html

Do you know any plugin or workaround the get it?


Process completed Python installs and uninstalls as a stream

Summary
This ensures that we process Python installs and uninstalls as soon as they complete, rather than waiting for them all to complete, then processing them sequentially. In practice, it shouldn't be much of a difference (since the processing is code is fairly light), but it strikes me as more correct.

Unsure on whether I want to merge this.


fix(livekit): correctly calculate screenshare res

run a check before setting the new preset, not after.
also adds 720p30 to the list of available presets.

resolution is computed separately; this just calculates the bitrate/framerate

JS is doing the same: https://github.com/livekit/client-sdk-js/blob/0fe824b438cae99aa01a745c7165777a2ab4c2bb/src/room/participant/publishUtils.ts#L279


fix(templates): replaced _id with id in client and postgres template

Fixes #2249
Types of changes
What types of changes does your code introduce to Graphback?

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)
[ ] Other (please specify)

Checklist

[x] I have read the CONTRIBUTING document.
[ ] Lint and unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Verification

I tried running the CLI locally after the change and it was working. To test that the client and Postgres templates are working as well I copied them from the project directory and ran them individually and they are working as shown in the video.
https://user-images.githubusercontent.com/56963264/107873710-5866f380-6eda-11eb-9365-5255a9636469.mp4
Further comments

After discussion, it was decided to have the client app working with Postgres only and not mongo since client side queries are still there for testing if needed. To make the client template work with Postgres I made the following two changes:

Replaced _id with id in postgres template's datamodel.graphql file. Ran yarn generate to update the required files.
Replaced all instances of _id with id in the client template.

Please let me know in case something needs to be changed. Thanks!

This looks good. Will merge once we remove template


Update README.md

added changes for functioning validation endpoints for local development. that are to be done in env.local or env.docker

Description

Pre-review checks
Please ensure to do as many of the following checks as possible, before asking for committer review:

[x] DEPENDENCIES are up-to-date. Dash license tool. Committers can open IP issues for restricted libs.
[x] Copyright and license header are present on all affected files

@muneebFcofinity please use more descriptive commit messages for your future contributions :)


Added collection of awesome open-source apps made with Phoenix Framework

[Insert URL to the list here]
[Explain what this list is about and why it should be included here]
By submitting this pull request I confirm I've read and complied with the below requirements 🖖
Please read it multiple times. I spent a lot of time on these guidelines and most people miss a lot.
Requirements for your pull request

I have read and understood the contribution guidelines and the instructions for creating a list.
This pull request has a descriptive title.For example, Add Name of List, not Update readme.md or Add awesome list.
The entry in the Awesome list should:

Include a short description about the project/theme of the list. It should not describe the list itself.Example: - [Fish](…) - User-friendly shell., not - [Fish](…) - Resources for Fish..
Be added at the bottom of the appropriate category.

The list I'm submitting complies with these requirements:

Requirements for your Awesome list

Has been around for at least 30 days.That means 30 days from either the first real commit or when it was open-sourced. Whatever is most recent.
It's the result of hard work and the best I could possibly produce.
Non-generated Markdown file in a GitHub repo.
Includes a succinct description of the project/theme at the top of the readme. (Example)
The repo should have awesome-list & awesome as GitHub topics. I encourage you to add more relevant topics.
Not a duplicate.
Only has awesome items. Awesome lists are curations of the best, not everything.
Includes a project logo/illustration whenever possible.

Either fullwidth or placed at the top-right of the readme. (Example)
The image should link to the project website or any relevant website.
The image should be high-DPI. Set it to maximum half the width of the original image.

Entries have a description, unless the title is descriptive enough by itself. It rarely is though.
Includes the Awesome badge.

Should be placed on the right side of the readme heading.
Should link back to this list.

Has a Table of Contents section.

Should be named Contents, not Table of Contents.
Should be the first section in the list.
Should only have one level of sub-lists, preferably none.

Has an appropriate license.

That means something like CC0, not a code licence like MIT, BSD, Apache, etc.
WTFPL and Unlicense are not acceptable licenses.
If you use a license badge, it should be SVG, not PNG.

Has contribution guidelines.

The file should be named contributing.md. Casing is up to you.

Has consistent formatting and proper spelling/grammar.

The link and description are separated by a dash. Example: - [AVA](…) - JavaScript test runner.
The description starts with an uppercase character and ends with a period.
Consistent and correct naming. For example, Node.js, not NodeJS or node.js.

Doesn't include a Travis badge.You can still use Travis for list linting, but the badge has no value in the readme.

Go to the top and read it again.

Hey, sorry for the lack of response, please see #1363.

In the manifesto (https://github.com/sindresorhus/awesome/blob/master/awesome.md#the-awesome-manifesto) there is a sentence:

If you want your list to be included on awesome, try to only include actual awesome stuff in your list. After all, it's a curation, not a collection.

But in your case, it's just a collection of applications built with the framework. I think your list should be greatly extended with the best articles, talks, tools from Phoenix ecosystem etc. before inclusion in this repo. But this is only my opinion anyway.

Closing for lack of response.


Rebuild Discovery.ClientCore, Add NoOp and Config-based Options

With these changes:

ClientCore no longer requires a package/project reference to every client
A NoOp client is available if none is provided (assumes DNS or other platform-based fallback is in place)
Adds a helper to check if the app is containerized (based on a setting from MSFT-provided images so not 100% reliable)
Removes some setup extensions that were never even updated to support Consul

For review... does the NoOp client make sense when we have the config-based provider? There would be a similar pass-through effect, but with the benefit of being able to plug something in via config


Explore committing to main credentials error

Purpose/implementation Section
What changes are being implemented in this Pull Request?
This PR is trying to address #97
Part of the problem was that secrets have to be passed explicitly: https://github.community/t/reusable-workflows-secrets-and-environments/203695/17
That is fixed now, but it's not clear that it is not working necessarily:
The latest workflow still says:
remote: error: GH006: Protected branch update failed for refs/heads/main.
remote: error: At least 1 approving review is required by reviewers with write access.

This is still perplexing to me because the credentials passed in are from the organization secrets and are from the jhudsl-robot which has admin privileges to this repository.

Yay, the credentials just needed to be passed to checkout step so the remotes were set up with admin privileges. https://github.com/jhudsl/AnVIL_Template/runs/5722101620?check_suite_focus=true
Now just need to look into that url-check fail.

The URL problem is something that should be fixed in an upcoming OTTR update. So this can be merged as far as I am concerned.

Actually, Looks like the render-all workflow is failing on render-bookdown.
https://github.com/jhudsl/AnVIL_Template/runs/5738839840?check_suite_focus=true
See #100


Hard-coded "more than 80 000 packages"

The message at the header saying search.nixos.org enables searching of "more than 80 000 packages" is hard-coded. Should be way higher by now, as repology also states.

Here is a small script that retrieve the number of packages from the latest nixpkgs release
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq brotli yq

while [ "$latest" != "null" ]; do
  prev="${latest}"
  latest=$(curl "https://nix-releases.s3.amazonaws.com/?delimiter=/&prefix=nixpkgs/&marker=${latest}" \
    | xq -rMc ".ListBucketResult.CommonPrefixes[-1].Prefix")
  echo "-> $latest"
done

target="${prev%/}"
echo "Selecting latest: $target"
count=$(curl https://releases.nixos.org/${target}/packages.json.br \
  | brotli -d --stdout | jq ".packages | length")

echo "=> $count"

Hej @Sigmanificient, nice work! Danke!
You may want to contact the Documentation Team, in case you want to contribute to the code base of search.nixos.org. I'll highlight @fricklerhandwerk and @infinisil of the Docu Team, in case they missed this issue for now.

Hej @Sigmanificient, nice work! Danke!
You may want to contact the Documentation Team, in case you want to contribute to the code base of search.nixos.org. I'll highlight @fricklerhandwerk and @infinisil of the Docu Team, in case they missed this issue for now.

I would love to contribute to the website, but unfortunately I don't know anything about elm, and I am unsure on what to exactly do.
I shared the script in case they could help open the discussion, and I would be more than happy if they turned out useful

Nah the docs team doesn't have write access to search.nixos.org, that's for the marketing team :)

Ah, the infamous NixOS labyrinth, thanks for the insight @infinisil :)

Small update: I found that there is an URL https://channels.nixos.org/ that already redirects to the latest nixpkgs version.
I used this to make the script shorter, and output in a better format in the meantime:
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl jq brotli

function retrieve_brotli_json_info() {
    echo $(curl -L "https://channels.nixos.org/nixos-unstable/$1.json.br" \
  | brotli -d --stdout | jq "$2")
}

pkg_count=$(retrieve_brotli_json_info "packages" ".packages | length")
opt_count=$(retrieve_brotli_json_info "options" "length")
echo "{ 'packages': $pkg_count, 'options': $opt_count }" | tr "'" '"'

{ "packages": 111413, "options": 18524 }

This issue should be renamed Hard-coded package and option count on search.nixos.org

For your information, @tomberek bumped the number last month.

For your information, @tomberek bumped the number last month.

I know, but the issue is about this number being hard coded in the first place, requiring manual editing

I know, but the issue is about this number being hard coded in the first place, requiring manual editing

I know, I opened the issue…

I didn't saw it :sweat_smile:


Removing REAP-inserted comments?

Hi Casey,
Congrats on this cool project! I hope it takes off.
A few questions, which I'm stuffing inside one "issue" because maybe they belong in the README.

In your demo video, you mention REAP knows to replace its own comments on the next run. This sounds like it should be able to remove all of them then?

Do you see REAP being more of a REPL replacement, or is there a use case of it being used on a source code file?

What's with the "Magnasanti" stuff?

Hi Bit,
Thank you!

Do you ask because you'd like functionality to remove reap comments once you're done with them? I think that's reasonable. Reap comments contain a # followed by a non-breaking space U+00A0, which is how it's able to recognize them and replace them. So it would be pretty easy to write a command that stripped them from the current file.

I think it's more of a REPL replacement, mostly because it only evaluates snippets with no regard for context, which means getting it to work on real source code which probably has dependencies will be very hard. I'd certainly be open to it, but since every python project has its own structure

I'm a huge fan and just kind of wanted to meme it out there.

https://www.youtube.com/watch?v=NTJQTc-TqpU
https://www.vice.com/en_us/article/4w4kg3/the-totalitarian-buddhist-who-beat-sim-city
https://youtu.be/ZjlegEk2IoQ

Do you ask because you'd like functionality to remove reap comments once you're done with them?

Yes. And the U+00A0 marker makes it pretty easy to do with a decent editor... cool!

getting it to work on real source code which probably has dependencies will be very hard

Ah, so it's not running all the code and breakpointing or something...
Off to watch "Magnasanti" videos!


[Bug]: playlist not supporting Colon in library names

Version Number
1.17.0
What branch are you on?
master
Describe the Bug
here is one of the playlists in my playlist.yml file:
playlists:
Arrowverse (Timeline Order):
template:
- name: playlist
- libaries: 'Movies: (US)', 'Television: (US)'
trakt_list: https://trakt.tv/users/donxy/lists/arrowverse
summary: The Arrowverse
the issue seems to be with the quotation marks, and the colon.
if i remove the colon and the quotation marks it can't find the library.
if i remove just the first quotation mark it validates as valid YAML. but it still errors out.
i have removed the quotation marks, and even tried double quotation marks. " ". but it still creates the following error:
| Reading in Playlist Files                                                                                |
|                                                                                |
| Loading Playlist File: config/settings/playlists/playlists.yml                                                                                |
| YAML Error: while parsing a block mapping                                                                                |
|         in "/config/settings/playlists/playlists.yml", line 27, column 9                                                                                |
|       expected , but found ','                                                                                |
|         in "/config/settings/playlists/playlists.yml", line 27, column 33
i'm not sure what else to try. - in my main config file, using 'Movies: (US)' works just fine. however the long does say:
| Log Folder Name: Movies: US is invalid using Movies US
| Movies: US Library Connection Successful
so it fixes it so it can access it. but doesn't appear to do that with the playlists? or maybe its a YAML format issue?
i'm not sure. but i've been struggling with it all morning. haha.
Relevant Collection/Overlay/Playlist Definition
No response
Logs
https://gist.github.com/DevXen/cf227db61e58734692953671f7844719

have you tried
playlists:
  Arrowverse (Timeline Order):
    template:
      - name: playlist
      - libaries: 'Movies: (US), Television: (US)'
    trakt_list: https://trakt.tv/users/donxy/lists/arrowverse
    summary: The Arrowverse

I did try that after i saw your reply, it takes the script like 3 hours to run. it loaded the playlists.yml this time.
but it still had an error when it was time to run..
Arrowverse (Timeline Order)                        |     0 |     0 |     0 |  0:00:00 | PMM Failure                                                                                |
| Playlist Error: template sub-attribute name is required
i'm not sure what the sub-attribute is. in the playlists.yml example it doesn't say anything about the sub-attribute. would it just be:

sub-attribute: arrowverse
?

so i didnt catch this part before but the above is actually trying to call two templates one called playlist with no template variables and then another with no name and the libraries variable
playlists:
  Arrowverse (Timeline Order):
    template:
      - name: playlist
        libaries: 'Movies: (US), Television: (US)'  # REMOVE THE `-` preceding this line
    trakt_list: https://trakt.tv/users/donxy/lists/arrowverse
    summary: The Arrowverse

so i've been messing with it for yesterday and today and thisis the farthest i've gotten but it says:
| Validating Method: template                                                                                | | Value: [ordereddict([('name', 'playlist'), ('libaries', 'Movies: US, Television: US')])]                                                                                | |                                                                                | | Validating Method: libraries                                                                                | | Value: Movies, TV Shows                                                                                | | Traceback (most recent call last):                                                                                | |   File "//plex_meta_manager.py", line 711, in run_playlists                                                                                | |     builder = CollectionBuilder(config, playlist_file, mapping_name, playlist_attrs, extra=output_str)                                                                                | |   File "/modules/builder.py", line 266, in __init__                                                                                | |     raise Failed(f"Playlist Error: Library: {pl_library} not defined")                                                                                | | modules.util.Failed: Playlist Error: Library: Movies not defined                                                                                | |                                                                                | | Playlist Error: Library: Movies not defined
then at the end it says:
|============================================|=======|=======|=======|==========|========================================================================================================================| | Arrowverse (Timeline Order)                |     0 |     0 |     0 |  0:00:00 | PMM Failure                                                                                | | Playlist Error: Library: Movies not defined

aha. libraries was spelled wrong. its all fixed now. thank you so much for your help. do you have a place i can go donate to show my appreciation or something? like that buy me a coffee site or something? you can just PM me if you have anything like that. so i can close this issue. thank you again.


Begin 19w34a mappings

I will continue to add onto this

I'll keep mapping tomorrow, it's almost 3:30AM


[DCA] GC compares metrics, add unit tests

What does this PR do?
There is an edge case where the Cluster agent might not properly delete entries from the global store.
If it has processed an HPA and stored the metrics in the global store, then becomes unresponsive to the informer's events (because it is down) it will miss any update event. So if the user were to update the metric name or the labels in the HPA, as the cluster agent comes back to life it will pick up this change as an Add event (not update). So the global store will keep one stale entry.
This makes sure that the cluster agent does a proper GC of the global store.
Motivation
More robust support of the External Metrics provider process.

Approved by @hkaj - Merging.


Disable linter if no eslint configuration is found

It looks like this would require a change to eslint itself.  But I'm curious if you would support a linter setting that disabled the linter when no configuration was found.
I'm looking for a way to smartly disable the linter when I work with code that doesn't conform to the default eslint rules.  I'd like to rely on per-project .eslintrc files, and have the linter not run when I open a file for which the configuration cannot be found.

I suppose it should not be concern for this plugin. You should use .sublimelinterrc settings to disable specific linters in your project folder http://www.sublimelinter.com/en/latest/settings.html#sublimelinterrc-settings

Right.  I was hoping there could be support for a setting that made linting "opt-in" instead of "opt-out."  Rather than having to go around adding .sublimelinterrc files on every directory that doesn't conform to the default eslint rules, I'd prefer a plugin setting that only enabled it when a linter configuration was found.

Why this issue was closed? This makes plugin useless because it requires us to put .sublimelinterrc to every project that uses jshint. In other words to majority of all projects.

@sapegin I suppose the majority of users install plugin to use it and disable it for special cases. I am not sure, but does SublimeLinter allow to disable linter in main config, but enable it project-specific? Also, there is --reset option for ESLint to turn off any rules except .eslintrc Configuration, I guess it also can be set in main config of SublimeLinter. As I heard, this option will be turned on by default in ESLint 1.0, I guess it can solve your problem.

I'm looking for a way to smartly disable the linter when I work with code that doesn't conform to the default eslint rules

Yes, this. Not all projects need eslint, and those that do almost invariably happen to have a .eslintrc file. The plugin should by default only kick in if that file is found, otherwise it's extremely annoying.

@arturadib I suggest to use args: ["--reset"] in global SublimeLinter config. It makes ESLint apply rules only from project's .eslintrc, not any default rules, and if you don't have .eslintrc, there will be no any warnings at all. You can set args: ["--no-reset"]in project .sublimelinterrc if you still need default rules in project. I guess it is a universal solution for your problem.

@roadhump that seems to have done the trick, thank you!

actually that doesn't seem to work on a project that did have an .eslintrc – it doesn't apply the rules found in that file

@arturadib Seems working for me. Try to execute in command line in your project eslint --reset, it should be equal to what plugin does and it should apply only rules from .eslintrc.

--reset is not a valid option in eslint 3. The bug is still present. The linter should disable itself if no .eslintrc file is found.

what is the solution for VS code to disable linting for the non-configured project it's really annoying


select in(...)

What protections does this offer for SELECT blah FROM blah  WHERE blah IN($injected)
type queries

None. You need an ORM, etc. for something like that.

Can I PR one? I think I can come up with a pretty good, secure solution

Of course, feel free.

Quick question
would you prefer I converted  IN(?) with an array as param into  IN(?,?,?)... or simply replaced  IN(?) with  IN(x,y,z)?
I'm thinking the later, using a utility function like the following
    public function build_in(array $values, $type=\PDO::PARAM_STR, $filter=null)
    {
        $vals = [];
        $vals = (array)$values;

        // allow user-customisable filter for values
        if (is_callable($filter)) {
            $vals = array_filter($values, $filter);
        }

        $quote = function($val) use($type) { return $this->quote($val, $type); };
        $vals = array_map($quote->bindTo($this), $vals);
        $valstr = implode(',', $vals);
        return "IN({$valstr})";
    }

but I am unsure how robust PDO quote method is. I think whatever is chosen the ability to supply a filter or filters would help application developer(s) to ensure that their data is correctly filtered for the IN clause.
Thoughts on this approach?

Thank you @PeeHaa :+1:  this was a thought of mine also, I'll get to work in the new week :wink:

I think you should drop the filter parameter. If something needs a filter it's a separate responsibility.

right I have a function I made on a break from work today. It does the job and has passed the limited tests I have put it through, but it highlights to me, that possibly it should not be part of the library, and that we should instead use filters on the query, and values before binding and sending to the database.
function transform_in(array $values, $sqlString) {
    if( stripos($sqlString,' IN(') !== FALSE ) {
        $sqlStrings = \explode("?", $sqlString);

        $mapPlaceholders = function($i, $sStr) use ($values) {
            $val = '';
            if($i < \count($values)-1) {
                $val = $values[$i];
            }
            if(\stripos($sStr,' IN(') === \strlen($sStr)-4) {
                $vals = (array)$values[$i];
                // build placeholders
                $out = \implode(
                   ', ',
                    \array_fill(0, \count($vals), '?')
                );
                // return modified entries containing the IN clause for their position at their position (should always be $i+1)
                return "{$sStr}{$out}";
            }
            return (\strlen($sStr) > 2) ? "{$sStr}?" : $sStr;
        };
        // use array map to add in placeholders ("?")
        $sqlStrings = \array_map(
            $mapPlaceholders,
            \array_keys($sqlStrings),
            $sqlStrings
        );
        //var_dump($sqlStrings);
        $sqlString = \implode("", $sqlStrings);
        // time to flatten values by one level only
        $out = [];
        $evilMap = function($v) use (&$out) {
            if(!\is_array($v)) {
                $out[] = $v;
            } else {
                foreach($v as $vi) {
                    $out[] = $vi;
                }
            }
            return $v;
        };
        \array_map( $evilMap, $values);
        $values = $out;
    }
    return [$values,$sqlString];
}

Basically it looks like it would benefit from being a class of it's own

https://github.com/paragonie/easydb/blob/d9bd0b6a70e7d76a026542ac3a34743d32770ec1/src/EasyDB.php#L164-L221
Be very careful with using this.


Update matrix.go

Ah damn. As I said, I made that in the GitHub Editor and didn't run go tools on my change yet. Will do that next week and get the test to pass.

Well, that took some tries, but know it's ready 👍 I will do a test next week to see if it is working. We could also write a test for this.


QUESTION: how can i update just a single section data.

hi, thanks your lib looks nice, but i looking for a example for how i can update just the data for a single section , for example i have 3 sections and 2 of them are loaded from database but one is loaded from internet , so i need to know how update the last one section when i get the data form internet without reload the others 2 sections.
is this posible ?

sorry for reply so late，，
you mean you want the “add” data feature？ maybe you could extract the current data from the adapter and merge it with the internal data, then update the adapter again?
here is the api
    public List getData();


Fixing defaults

Now the q2 and standalone versions are both 10 for min_feature_count

@fedarko , defaults are fixed.  Thanks!


installing from github does not work

Page URL: https://flutter.dev/docs/get-started/install/macos.html
Page source: https://github.com/flutter/website/tree/master/src/docs/get-started/install/macos.md
Found a typo? You can fix it yourself by going to the page source and clicking the pencil icon. Or finish creating this issue.
Description of issue:
when using this code: git clone https://github.com/flutter/flutter.git -b stable
I get this error: fatal: unable to access 'https://github.com/flutter/flutter.git/': LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54

Hi @tenebreux
Can you please try git clone -b stable https://github.com/flutter/flutter.git (not git clone https://github.com/flutter/flutter.git -b stable)

Hi @tenebreux
Can you please try git clone -b stable https://github.com/flutter/flutter.git (not git clone https://github.com/flutter/flutter.git -b stable)

AWESOME!!!! It works bro!
Thanks a lot for the help

AWESOME !!!!
It works bro.
So the issue is with trying to pull the stable branch?

Hi @tenebreux
Can you please try git clone -b stable https://github.com/flutter/flutter.git (not git clone https://github.com/flutter/flutter.git -b stable)


Medplum apps: URLs for reindexResourceType and rebuildCompartments are wrong

On the Medplum, when visiting /admin/super.
When using the following features:

Reindex Resources
Rebuild Compartments

The app actually calls the admin/super/valuesets endpoint for all 3 instead of the proper endpoints:

/admin/super/reindex
/admin/super/compartments

Bug is visible on the code here:
https://github.com/medplum/medplum/blob/28c55783f32dffa58c351908f8dde5d44d518b6a/packages/app/src/admin/SuperAdminPage.tsx#L36
https://github.com/medplum/medplum/blob/28c55783f32dffa58c351908f8dde5d44d518b6a/packages/app/src/admin/SuperAdminPage.tsx#L40
[Still exists on v2.0.29]

If you don't mind, I will submit a PR for the fix soon.

Thank you @julienblin !!


How do I ensure if a client is disconnected?

I'm facing random disconnection issue, despite using Heartbeat (all of a sudden no message is being consumed, in ActiveMQ dashboard, there is no consumer attached to the queue). Heartbeat is set to 10000,10000 in my application. I tried connecting from my local system to ActiveMQ broker on a serve. I disconnected my internet, and Disconnect event was triggered as expected. I'm using Client, and after that I've handled the reconnect mechanism in my application itself.
let clientEvents = {
    CONNECT: "connect",
    DISCONNECT: "end",
    DISCONNECTING: "finish",
    ERROR: "error",
    CLOSE: "close"
};

let actions = {
    connect: () => {
        logger.debug("[AMQ-H] Event - Client Connected");
        isConnected = true;
    },
    disconnect: () => {
        logger.error("[AMQ-H] Event - Client Disconnected");
        isConnected = false;
    },
    error: (error) => {
        logger.warn("[AMQ-H] Event - Client Error Occurred - message - ", error.message);
        logger.info("[AMQ-H] Event Is Transport Error", error.isTransportError());
    }
};
    stompClient = stompit.connect({
        host: config.server.host,
        port: config.server.port,
        connectHeaders: {
            'heart-beat': "10000,10000"
        }
    }, (error, stompClient) => {
        if (error) {
            logger.debug("[AMQ-H] Error Occurred while Connecting", error);
            return;
        }
        client = stompClient;
    });
    stompClient.on(clientEvents.CONNECT, actions.connect);
    stompClient.on(clientEvents.DISCONNECT, actions.disconnect);
    stompClient.on(clientEvents.DISCONNECTING, actions.disconnect);
    stompClient.on(clientEvents.CLOSE, actions.disconnect);
    stompClient.on(clientEvents.ERROR, actions.error);

After a little debugging, I was able to replicate one of the disconnection scenario If I'm explicitly killing the broker on remote (pkill -p {broker pId}), error event is emitted, with message "connection timed out", but no disconnect event. How can I ensure that client-server connection is always alive?

You might be mishandling client events. The client should be treated as disconnected after an error event.
The end event is emitted from the client after the connection closes and a disconnect receipt was received. This event is caused by a successful disconnect request. No reconnect is needed here.
The finish event is emitted from the client after initiating the disconnect request. The connection is still fully open at this point.
The error event is emitted from the client when the connection closes unexpectedly, i.e. the connection closes before receiving a disconnect receipt. This event is caused by one of many things and can originate from any side of the connection. This is when to consider a reconnect.

The client should be treated as disconnected after an error event.

By this you mean, error event in callback of stompit.connect method or something else.
This leads to another question, is there any difference between callback of client and stompClient, disconnect event can be listened on both. Is there any difference between error events of any of that?
stompClient = stompit.connect({
        host: config.server.host,
        port: config.server.port,
        connectHeaders: {
            'heart-beat': "10000,10000"
        }
    }, (error, client) => {
        if (error) {
            logger.debug("[AMQ-H] Error Occurred while Connecting", error);
            return;
        }
//        client.doSomething
    });

The error event is emitted from the client when the connection closes unexpectedly

Will this also trigger disconnect event?
What will happen if it misses a heartbeat (either from Server to client or vice-versa)?

By this you mean, error event in callback of stompit.connect method or something else.

I noticed that your error event handler is missing a isConnected = false; statement. On error event the client is disconnected.
An error event emitted from the client would be sent to all listeners. That includes external listeners added to the client using the EventEmitter interface (on method or addListener method) and temporary internal listeners that forward errors to callbacks.

This leads to another question, is there any difference between callback of client and stompClient, disconnect event can be listened on both. Is there any difference between error events of any of that?

No difference. stompClient and client point to the same object instance.
The connect callback is called on error event and receives an Error object. The same Error object is also passed to all the error event listeners on the client.

The error event is emitted from the client when the connection closes unexpectedly
Will this also trigger disconnect event?

No. The end event represents a successful disconnect from the server. To reach this state, the client sends a disconnect request, the server accepts delivery of any previously sent messages, the server sends a disconnect receipt, and then the connection closes.

What will happen if it misses a heartbeat (either from Server to client or vice-versa)?

A missed heartbeat from either side will cause an error event to be emitted from the client.

On error event the client is disconnected.

Is this true for all the error events? (I tried few basic cases, like sending invalid command (e.g client.sendFrame("TEST", {destination: "/bla/fsafsd"}).end(), which returned error unknown STOMP action: TEST, and client got disconnected; killing internet)
Just wanted to be sure.
Probably last question - Should I handle close end? As far as I was able to check, this is only triggered when socket is closed. Is it implicitely triggering end and finish event?
I've modified my application to trigger reconnect mechanism only on end event (or error, but not finish) event. Please suggest if you've any input on this.

On error event the client is disconnected.
Is this true for all the error events? (I tried few basic cases, like sending invalid command (e.g client.sendFrame("TEST", {destination: "/bla/fsafsd"}).end(), which returned error unknown STOMP action: TEST, and client got disconnected; killing internet)
Just wanted to be sure.

Yes it's true for all error events. The client ensures it's disconnected before emitting an error event. After an error event the client is dead and shouldn't emit events anymore.

Probably last question - Should I handle close end? As far as I was able to check, this is only triggered when socket is closed. Is it implicitely triggering end and finish event?

The client doesn't ever emit a close event.
The socket emits close event when the connection is closed in both directions. You may want to listen to this event to detect connection close in all cases, for instance when socket.destroy() is called. Calling the destroy method (with no arguments) doesn't cause an end event.

I've modified my application to trigger reconnect mechanism only on end event (or error, but not finish) event. Please suggest if you've any input on this.

The error event is the only event that should trigger a reconnect.

Thanks, @gdaws, this clears all the doubt about error events and when to kick reconnect. But still I can't get my head around random disconnection issue, I've set heartbeat at 10000,0, and my client is continuously dropping after 40-60 seconds (all the time, for last 24 hours) (getting connection ended without disconnect receipt).
This is what I was able to figure out -

lib/Socket.js #194

Socket.prototype._runHeartbeat = function(output, input) {
  output = output === 0 || this._heartbeat[0] === 0 ?
    0 : Math.max(output, this._heartbeat[0]) - this._heartbeatOutputMargin;

  input = input === 0 || this._heartbeat[1] === 0 ?
    0 : Math.max(input, this._heartbeat[1]) + this._heartbeatDelayMargin;

this._heartbeat will be [10000, 0] in my case, on which server will respond with CONNECTED frame's header 0,10000. So output will be 0, and input will be 10000.
Frame should be like this (Verified, I used Wireshark to filter frames)
CONNECT
heart-beat:10000,0

CONNECTED:
heart-beat:0,10000

As per _runHeartBeat function's logic, both output === 0 || this._heartbeat[0] === 0 and input === 0 || this._heartbeat[1] === 0 will evaluate to true, and input and output will be 0.
What I'm able to deduct from here is, since there is no frame being sent by client in this case, after some time (in my case 40-60 seconds), ActiveMQ is explicitly killing my connection, thus I'm always getting connection ended without disconnect receipt.
Next thing I did was to modify this function as -
Socket.prototype._runHeartbeat = function(output, input) {
output = 10000; input = 0;  // Hardcoded just to test
  output = output === 0 || this._heartbeat[0] === 0 ?
    0 : Math.max(output, this._heartbeat[0]) - this._heartbeatOutputMargin;

  input = input === 0 || this._heartbeat[1] === 0 ?
    0 : Math.max(input, this._heartbeat[1]) + this._heartbeatDelayMargin;

And after that, it is working fine (at least on my local), and from Wireshark, it is sending frames in a timely manner (almost 10 seconds).
Please correct me if I'm wrong somewhere, but if I'm correct this heartbeat piece is broken.

I believe you're correct about something being wrong with the _runHeartbeat function. Does swapping the order of the function parameters fix the issue?

That should work, from Stomp 1.1 Specs -
(cx, cy) = (10000, 0);
(sx, sy) = (0, 10000);
sx is output, and sy in input
For Client to Server
If either cx (_heartbeat[0]) or sy (input) is 0, then there will be no client to server heartbeat. (output's final value should be 0, to not heart client to server heartbeat), else Max (cx/_heartbeat[0], sy(input))
For Server to Client
If either sx (output) or cy (_heartbeat[1]) is 0, then there will be no server to client heartbeat. (input's final value should be 0, to not heart server to client heartbeat), else Max (sx/output, cy(_heartbeat[1]))
Value of output, should be calculated with _heartbeat[0] and input
Value of input, should be calculated with _heartbeat[1] and output
So yeah, switching them should work.
Raised a pull request, test cases are also working fine.

Even I am getting this issue that connection is ending without disconnect... Is any one got this fix?


Update OCE-Build pipeline

Update to use the new OCE-Build project format. This adds much more observability and extensibility for builds, as well as removing dependence on WSL2 for building. As a result, builds should be significantly faster and easier to maintain.

CI needs to be fixed for generating release artifacts, as it seems that the previous method of switching between DEBUG/RELEASE does not update the build. This means that all generated builds from CI use DEBUG artifacts.


[BUG] A pop-up could appear everywhere on the VLAN edit page

Describe the bug
A pop-up could appear everywhere on the VLAN edit page
To Reproduce
Steps to reproduce the behavior:

Go to the settings page
Edit VLAN
Hover over the page

Result
A pop-up could appear everywhere on the VLAN edit page

Environment:

Harvester ISO version: master-head
Installation Mode: ISO

Validated on master-head


Improve the top section of the README

README is very developer-oriented, which is ok but the top part of the README should be well-presented.

Add a nice cover image
User friendly description of what the hub is about, how to use it or download it, links to getalby.com,  nwc.dev etc.
etc.

@MoritzKa @stackingsaunter do you guys have any thoughts? I can propose something in a PR for review. I guess the cover image will need to wait until we have a proper design of Alby Hub

Go ahead, Roland. You know what developers want to read and how to awake their interest.


Why is babel/polyfill required?

I've forgotten why.

Hm... I added these lines in the README but can't remember either...

Removed the line.


Source Skeletal Mesh is Greyed out in Duplicate and Retarget Animation Assets window.

Hello. So I just installed this plugin for the first time and...I've got no idea what the issue is or could be.
I'm new to Unreal, I'm a novice in Daz. I don't even know if the issue is with the plugin itself or something else.
I did follow the steps written carefully however, followed a video tutorial too, step for step and the plugin worked for the guy.
Maybe it's the Unreal version? I'm using 5.2, the latest one.

The latest update has the issue resolved.
Thank you.


Updates to KMeans Speed and Serving layers, work in progress

To make this a bit more confusing, I think I made a bit of an error in the code I committed. It assumes the updates are (cluster-id, new-data-point-features) and that one occurs for every new input. But that's silly in that it's taking on the role of the speed layer.
Really, the speed layer should make these updates and output (cluster-id, current-center) for every changed cluster. Then the serving layer has a simple job, to overwrite the current cluster centroid every time it sees an update.
The point here is that the speed layer could aggregate thousands of updates to one cluster of course.
Anyway, this is directionally right, then. I will try to fix up what I committed accordingly.

That's what I was thinking too that the Speed layer would update the
(clusterID, center). Guess the Speed layer as it is now is good to go.
On Sat, Jan 31, 2015 at 2:38 PM, Sean Owen<EMAIL_ADDRESS>wrote:

To make this a bit more confusing, I think I made a bit of an error in the
code I committed. It assumes the updates are (cluster-id,
new-data-point-features) and that one occurs for every new input. But
that's silly in that it's taking on the role of the speed layer.
Really, the speed layer should make these updates and output (cluster-id,
current-center) for every changed cluster. Then the serving layer has a
simple job, to overwrite the current cluster centroid every time it sees an
update.
The point here is that the speed layer could aggregate thousands of
updates to one cluster of course.
Anyway, this is directionally right, then. I will try to fix up what I
committed accordingly.
—
Reply to this email directly or view it on GitHub
https://github.com/OryxProject/oryx/pull/132#issuecomment-72332676.


[Enhancement] Forbid List partition syntax

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

List partition only implements syntax testing and cannot be used in practice. Once it is tried, it will cause errors in upgrading metadata. So block it first.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[x] 2.4
[x] 2.3
[ ] 2.2

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:heart_eyes: pass : 1 / 1 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/parser/AstBuilder.java
1
1
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

@Mergifyio backport branch-2.5

https://github.com/Mergifyio backport branch-2.4


Null result for getMapping()

VanRoy - Excellent work! I was excited to see someone had implemented a Http client that works with the managed ES on AWS.
I've included the initial release version (1,0.0) in my project, and found that the JestElasticsearchTemplate.getMapping() method actually has a TODO for converting to the result. I had implemented a similar client in the past, and this was the approach I had taken:
@Override
public Map getMapping(String indexName, String type) {
	Assert.notNull(indexName, "No index defined for getMapping()");
	Assert.notNull(type, "No type defined for getMapping()");

	Map mappings = null;
	try {
		GetMapping mappingRequest = new GetMapping.Builder()
				.addIndex(indexName)
				.addType(type)
				.build();

		JestResult response = client.execute(mappingRequest);
		if (!response.getJsonObject().has(indexName)) {
			logger.info("Index {} did not exist when retrieving mappings for type {}.", indexName, type);
		} else {
			JsonObject index = response.getJsonObject().get(indexName).getAsJsonObject();
			if (index != null) {
				JsonObject mappingElem = index.get("mappings").getAsJsonObject();
				if (!mappingElem.has(type)) {
					logger.info("Type {} did not exist in index {} when retrieving mappings.", type, indexName);
				} else {
					mappings = new GsonBuilder().create().fromJson(mappingElem.get(type), Map.class);
				}
			}
		}

	} catch (Exception e) {
		throw new ElasticsearchException("Error while getting mapping for indexName : " + indexName + " type : " + type + " " + e.getMessage());
	}
	return mappings;
}

@stevenhurth , Thanks for your feedback.
I have implement this function with you help, can you test the current snapshot to validate this fix ?

Works for me!


SSL Cert Invalid When Connecting To MCS (Managed Cassandra Service)

Hello,
I'm trying to connect to MCS (managed Cassandra service). The info out there is sparse but I believe I have cobbled together the proper code to do so with references from the aws python mcs and c# mongodb connection docs. That code can be found below.
            var pathToCAFile = $"{Directory.GetCurrentDirectory()}/AmazonRootCA1.pem";
            X509Certificate2[] certs = new X509Certificate2[] { new X509Certificate2(pathToCAFile, "amazon") };
            lambdaContext.Logger.LogLine($"CERT DATA: {certs[0]}");
            X509Certificate2Collection certificateCollection = new X509Certificate2Collection(certs);
            var options = new Cassandra.SSLOptions(SslProtocols.Tls11, true, ValidateServerCertificate);
            options.SetCertificateCollection(certificateCollection);
            Cluster cluster = Cluster
                                .Builder()
                                .WithCredentials("<username>", "<password>")
                                .WithPort(9142)
                                .AddContactPoint("cassandra.us-east-1.amazonaws.com")
                                .WithSSL(options)
                                .Build();
            try
            {
                var session = cluster.Connect("<TableName>");
                lambdaContext.Logger.LogLine("CONNECTED TO CASSANDRA!!!!");
            } catch(Exception e)
            {
                lambdaContext.Logger.LogLine(JsonConvert.SerializeObject(e));
            }

When this code is executed within aws lambda the following log entry is generated in CloudWatch.
{
    "ClassName": "Cassandra.NoHostAvailableException",
    "Message": "All hosts tried for query failed (tried <IP_ADDRESS>:9142: AuthenticationException 'The remote certificate is invalid according to the validation procedure.')",
    "Data": null,
    "InnerException": null,
    "HelpURL": null,
    "StackTraceString": "   at Cassandra.Connections.ControlConnection.Connect(Boolean isInitializing)\n   at Cassandra.Connections.ControlConnection.InitAsync()\n   at Cassandra.Tasks.TaskHelper.WaitToCompleteAsync(Task task, Int32 timeout)\n   at Cassandra.Cluster.Init()\n   at Cassandra.Cluster.ConnectAsync(String keyspace)\n   at Cassandra.Tasks.TaskHelper.WaitToComplete(Task task, Int32 timeout)\n   at Cassandra.Tasks.TaskHelper.WaitToComplete[T](Task`1 task, Int32 timeout)\n   at Cassandra.Cluster.Connect(String keyspace)\n   at Chat.Handler.FunctionHandlerAsync(APIGatewayProxyRequest apiGatewayRequest, ILambdaContext lambdaContext) in /Users/***/Handler.cs:line 60",
    "RemoteStackTraceString": null,
    "RemoteStackIndex": 0,
    "ExceptionMethod": null,
    "HResult": -2146233088,
    "Source": "Cassandra",
    "WatsonBuckets": null
}

After going down a rabbit I eventually came to a post here regarding connecting Cassandra using c# on google groups.
https://groups.google.com/a/lists.datastax.com/forum/#!topic/csharp-driver-user/nID_q2Btxec
The response in that thread mentions using this method to validate / verify the cert.
https://docs.microsoft.com/en-us/dotnet/api/system.net.security.sslstream.authenticateasclient?redirectedfrom=MSDN&view=netframework-4.8#System_Net_Security_SslStream_AuthenticateAsClient_System_String_System_Security_Cryptography_X509Certificates_X509CertificateCollection_System_Security_Authentication_SslProtocols_System_Boolean_
Under the remarks section it is stated:
The value specified for targetHost must match the name on the server's certificate.
This is the cert data after it is loaded into c# environment and dumped as a string.
CERT DATA: [Subject]
  CN=Amazon Root CA 1, O=Amazon, C=US

[Issuer]
  CN=Amazon Root CA 1, O=Amazon, C=US

[Serial Number]
  XXXXXXXXXXXXXXXX

[Not Before]
  5/26/2015 12:00:00 AM

[Not After]
  1/17/2038 12:00:00 AM

[Thumbprint]
   XXXXXXXXXXXXXXXX

I believe that the cert validation is failing because that is not the case with the contact endpoint. I'm not familiar enough with this but should something in this cert reference amazonaws.com or something?
Has anyone been able to successfully connect to MCS using c# / dotnet or might this be a known problem?
A possible solution to all this might be to implement a Sig4v Auth Provider and Authorizer for c#. It seems that only a Java one exists at the moment. I was considering building one myself from the java code and converting it to c#. However, I also noticed that the java driver sets some jvm variables and didn't really know what the corresponding task would be to do so in c# / dotnet. So before I go down that rabbit whole I would like to see what others have to say about this.
I also know MCS is in beta. Considering the service in beta I suspect there are still issues that might relate to what I'm seeing here.
These are the docs for connecting to MCS using java and python.
https://docs.aws.amazon.com/mcs/latest/devguide/programmatic.drivers.html
Java requires that driver for Sig4v which is why I mentioned it earlier.

I have been able to successfully connect using sqlsh with the same pem file being used in the c# code.
username$ cqlsh cassandra.us-east-1.amazonaws.com 9142 -u "<username>" -p "<password>" --ssl
Connected to Amazon Managed Apache Cassandra Service at cassandra.us-east-1.amazonaws.com:9142.
[cqlsh 5.0.1 | Cassandra 3.11.2 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
username@cqlsh>

I think this might be related to the problem I'm having.
https://datastax-oss.atlassian.net/browse/CSHARP-881

I turned on tracking and the csharp driver emitted this error.
TcpSocket: 04/22/2020 23:48:16.817 +00:00 #ERROR: SSL connection: Can not resolve host name for address <IP_ADDRESS>. Using the IP address instead of the host name. This may cause RemoteCertificateNameMismatch error during Cassandra host authentication. Note that the Cassandra node SSL certificate's CN(Common Name) must match the Cassandra node hostname.

I've spent more time than I care to admit on this. I actually began building middle layer to act as private gateway using the Java micronaut framework when I stubbled upon the docs here.
https://micronaut-projects.github.io/micronaut-cassandra/snapshot/guide/
In that guide what stood out to me was the load balancing policy.
So I added that to the c# connect and success was had.
Final code
            var pathToCAFile = $"{Directory.GetCurrentDirectory()}/AmazonRootCA1.pem";
            X509Certificate2[] certs = new X509Certificate2[] { new X509Certificate2(pathToCAFile, "amazon") };
            lambdaContext.Logger.LogLine($"CERT DATA: {certs[0]}");
            X509Certificate2Collection certificateCollection = new X509Certificate2Collection(certs);
            var options = new Cassandra.SSLOptions(SslProtocols.Tls11, true, ValidateServerCertificate);
            options.SetCertificateCollection(certificateCollection);
            Cluster cluster = Cluster
                                .Builder()
                                .WithCredentials("<username>", "<password>")
                                .WithPort(9142)
                                .AddContactPoint("cassandra.us-east-1.amazonaws.com")
                                .WithSSL(options)
                                .WithLoadBalancingPolicy(new DefaultLoadBalancingPolicy("us-east-1"))
                                .Build();
            try
            {
                var session = cluster.Connect("<TableName>");
                lambdaContext.Logger.LogLine("CONNECTED TO CASSANDRA!!!!");
            } catch(Exception e)
            {
                lambdaContext.Logger.LogLine(JsonConvert.SerializeObject(e));
            }

Hi @classifieds-dev,
Good afternoon.
I was going through issue backlog and came across this one. Looks like you have already found a solution to the issue. Please confirm if the issue could be closed.
Thanks,
Ashish


Convert tutorial from HTML to Markdown

I have changed the tutorial from HTML files to Markdown. I cleaned it up a bit and highlighted the code blocks with Python syntax highlighting. Finally I adjusted the folder structure a little bit so that it looks tidier.

I'm closing this in benefit of #347 which contains your commit. Also tagging it with hacktoberfest-accepted in case you are looking to get recognition in #hacktoberfest :)


System restart during k2s install

During k2s install, when Windows features are enabled, we try to restart the machine which interrupts the installation procedure and there is no way to continue after restart step.

if ($restartRequired) {
Write-Log '!!! Restart is required. Reason: Changes in WindowsOptionalFeature !!!'
Restart-Computer -Confirm
Exit
}

Possible Solution:
Do not restart the machine, as the installation can proceed with cluster setup.

k2s install --skip-start

Post the installation, inform user the need for restart when these features are enabled. Upon restart of machine, user can proceed with start of the cluster.

[!NOTE]
Restart is mandatory to enable Windows Container features.

It seems that this restart feature is not working, needs to be considered when solving the issue:
I0124 10:11:19.031295    4216 main.go:298] â³ [10:11:19] !!! Restart is required. Reason: Changes in WindowsOptionalFeature !!!
I0124 10:11:19.200466    4216 main.go:298] â³ Write-Log : [10:11:19] Restart-Computer : Object reference not set to an instance of an object.  At
I0124 10:11:19.200894    4216 main.go:298] â³ C:\k2s\smallsetup\common\GlobalFunctions.ps1:1166 char:9  +         Restart-Computer -Confirm  +
I0124 10:11:19.200894    4216 main.go:298] â³ ~~~~~~~~~~~~~~~~~~~~~~~~~      + CategoryInfo          : NotSpecified: (:) [Restart-Computer], NullReferenceException
I0124 10:11:19.200894    4216 main.go:298] â³     + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.RestartComputerCommand
I0124 10:11:19.201122    4216 main.go:298] â³ At C:\k2s\lib\scripts\k2s\base\Invoke-ExecScript.ps1:44 char:9
I0124 10:11:19.201216    4216 main.go:298] â³ +         Write-Log $($_ | Out-String) -Error
I0124 10:11:19.201216    4216 main.go:298] â³ +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I0124 10:11:19.201216    4216 main.go:298] â³     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
I0124 10:11:19.201216    4216 main.go:298] â³     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-Log
I0124 10:11:19.201216    4216 main.go:298] â³
I0124 10:11:19.243795    4216 main.go:313] E0124 10:11:19.243135    2988 psexecutor.go:390] Write-Log : [10:11:19] Restart-Computer : Object reference not set to an instance of an object.  At
I0124 10:11:19.243864    4216 main.go:313] C:\k2s\smallsetup\common\GlobalFunctions.ps1:1166 char:9  +         Restart-Computer -Confirm  +
I0124 10:11:19.243864    4216 main.go:313] ~~~~~~~~~~~~~~~~~~~~~~~~~      + CategoryInfo          : NotSpecified: (:) [Restart-Computer], NullReferenceException
I0124 10:11:19.243864    4216 main.go:313]     + FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.RestartComputerCommand
I0124 10:11:19.243864    4216 main.go:313] At C:\k2s\lib\scripts\k2s\base\Invoke-ExecScript.ps1:44 char:9
I0124 10:11:19.243864    4216 main.go:313] +         Write-Log $($_ | Out-String) -Error
I0124 10:11:19.243864    4216 main.go:313] +         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I0124 10:11:19.243864    4216 main.go:313]     + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
I0124 10:11:19.243864    4216 main.go:313]     + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Write-Log

Another aspect is that If restart is required after enabling Windows features, then cluster should not be started during installation. End installation step with a message that cluster can be started only after restart of machine.


Justify text

Hi guys,
Is possible to justify text? I think that it's very useful for several games with Phaser :dancers:
Thanks in advance :)

No it's not possible I'm afraid. It's not even possible using native Canvas Text either! It's literally not in the canvas api. I can imagine it must be quite a challenge to code robustly.

I think I could give it a go :)

I recommend using plain HTML/CSS if you want to have extremely granular control over the appearance of text in your game.

Yes, you're right! :dancers:

I'm moving this to the Lazer wish-list for Bitmap Text objects (and for Text objects if someone fancies taking that huge challenge on!)

I add the same issue for a project I was working on. I had to wrote my own methods to justify the text.
Basically the algorithm takes advantage of the PIXI's TextMetrics to split the text in lines and measure every word.
Then in each of the lines it measures the total length of the non-white characters. When you substract it to the length of the line, you obtain the remaining white space.
Finally you must add : totalWhitespace / (wordCount - 1) between each words to get your text justified.
Here is the implementation I used, I don't guarantee that it will work in every case but it solved my problem :
`let _line = function(container,txt,x,y,width,height,font,fontSize,bold,justify,center) {
const style = new PIXI.TextStyle({
	fontFamily: font,
	fontSize: fontSize,
	fontWeight: bold ? 'bold' : 'normal',
	fill: '#ffffff'
});

const metrics = PIXI.TextMetrics.measureText(txt,style,false);

if(center && !justify) {
	x -= metrics.width / 2;
	y -= metrics.lineHeight / 2;
}

//Important : always round coordinate to avoid blurry text !
x = Math.round(x);
y = Math.round(y);

// Does all justify calculation if needed
if(justify || typeof(justify) === 'undefined') {

	// Break the line into words
	const words = txt.split(' ');

	const wordCount = words.length;

	// Measures the width of the words
	let totalWordsWidth = 0;
	let wordsWidth = [];	// Caching words width to avoid multiple calculation

	for (let i = 0; i < wordCount; i++) {
		const wordWidth = (PIXI.TextMetrics.measureText(words[i],style,false)).width;
		totalWordsWidth += wordWidth;
		wordsWidth.push(wordWidth);
	}

	// Don't justify if the words aren't wide enough
	const MIN_RATIO = 0.5;
	if(totalWordsWidth / width < MIN_RATIO)
		return _line(txt,x,y,width,height,font,fontSize,bold,false,center);

	const wordSpacing = (width - totalWordsWidth) / (words.length - 1);

	// Draw each word
	let _x = x;
	for (let i = 0; i < wordCount; i++) {
		const _txt = container.addChild(new PIXI.Text(words[i], style));
		_txt.x =  Math.round(_x);
		_txt.y = y;

		_x += wordsWidth[i] + wordSpacing;
	}
}
// Fallbacks on default PIXI's method otherwise
else {
	const text = container.addChild(new PIXI.Text(txt,style));
	text.x = x;
	text.y = y;
}

if(justify)
	metrics.width = width;
return metrics;

}
let _text = function(container,txt,x,y,width,height,font,fontSize,bold) {
let _y = y;

if(typeof bold === 'undefined') bold = false;

const style = new PIXI.TextStyle({
	fontFamily: font,
	fontSize: fontSize,
	fontWeight: bold ? 'bold' : 'normal',
	fill: '#ffffff',
	wordWrapWidth: width
});

// Gets all the lines of the text
const textMetrics = PIXI.TextMetrics.measureText(txt,style,true);
let lines = textMetrics.lines;

// The last line won't get justified unless we force it
const lastLine = lines.pop();

// For each line...
lines.forEach(function(line) {
	_line(container,line, x, Math.round(_y),width,height,font,fontSize,bold,true);
	_y += textMetrics.lineHeight;
});

// Draw the last line (unjustified)
_line(container,lastLine, x, Math.round(_y),width,height,font,fontSize,bold,false);

return textMetrics;

};`
Hope that it can help someone ;-)


Launch arguments for Linux and macOS

These commits enable the same os.args that works on Windows to work on *nix-based systems, too, without affecting the Windows builds at all.
The code that adds the implicit argc and argv to main() isn't pretty, but it was the most sensible way I could see implementing this without creating a wrapper around the Odin program's main procedure.

Might a cleaner solution be to read in /proc/{PID}/cmdline? Not sure if macOS exposes that, but on Linux its a \0 seperated array of the args

macOS has _NSGetArgc() and _NSGetArgv() (more info here) in case they do not have the /proc/{PID}/cmdline thing

I would prefer a function call solution if possible rather than "hacking" in the parameters and changing the procedure signature of main

I didn't know macOS has the _NSGetArgX() things, but IIRC the /proc/pid/cmdline is somewhat unreliable. I tried to implement that back when I was maintaining the Linux and macOS port of Odin, but I never had read permissions to it. While I could chalk that up to a configuration issue and say that it should work elsewhere, it would probably be best if it worked across the board, no matter whether or not the system is security-hardened.
I don't think it's necessarily that bad to change the signature of main, really. It literally has no effect on the user's program, so I don't see why you shouldn't do what works. That said, looking back at this PR, it would probably be better to insert the args at the IR level instead of generating AST nodes like I did.

Could ye try the latest commit to see if it does what you need. I have made the initial main be called in a custom entry point procedure that is C like (contains argc and argv).

Perfect! Glad to see this gap between Windows and *nix finally closed


Camera Fails to Start After Snoozing Update Notification

Describe the bug
Description:
Users are experiencing a lock-up where the camera fails to start after snoozing an update alert. This issue occurs under a specific set of circumstances where the device has not been connected to the internet for an extended period.
Steps to Reproduce:

Do not connect the Comma device to the internet for 2 weeks.
Start the car, triggering an update alert from the Comma device.
Click "Snooze" on the update alert.
Drive the car for some time and then stop.
Wait for 2 minutes and start the car again.
The update alert shows up again; click "Snooze".
The camera fails to start, and this issue persists even after rebooting from the menu.
Disconnecting and reconnecting the device after a few minutes temporarily resolves the issue.

Expected Behavior:
After snoozing the update alert, all functions, including the camera, should continue to work as normal until the user decides to perform the update.
Actual Behavior:
The camera fails to start after the user snoozes the update alert multiple times.
Suggested Fixes:

Bug Fix: Investigate the reason behind the camera lock-up post snooze action. It could be a software bug that fails to reinitialize the camera service after the update prompt is snoozed.

UX Improvement: Change the snooze functionality to update the "last checked time". This way, users won't be prompted for an update every time the car starts, but rather at the intended intervals (e.g., every other week).

Notification Improvement: Implement a notification system that reminds users to back up their recordings before connecting to the internet and performing an update. This ensures users are aware of the need to preserve their data. And make users have more incentive to upload their data.

Update Policy Review: Re-evaluate the update policy to make it less intrusive for users who may not have frequent internet access. This could involve allowing longer periods between mandatory updates.

Communication Transparency: Ensure that update prompts accurately reflect the availability of an update to avoid user confusion and mistrust.

Provide a route where the issue occurs
N/A
openpilot version
0.9.4
Additional info
No response

Do you have a route with this issue?

Hi! I don’t have a route ID since there isn’t a route.
After pressing the snooze, it stays on the dashboard UI without launching the camera.

What's your dongle ID? We'll at least need an approximate date/time this happened to look into it.

Got a dongle id for us @borgmon?

6786a6de3345d600. I have an update on how to reproduce the issue: If you put your car to "back" before the cam started, then you get to skip the first snooze, however it will still be broken next time start the car.

I haven't been able to reproduce this at all. The snooze button is working as intended.
Given that and the dongle ID you posted isn't real, I'm gonna close this. If you've got real logs of this or more complete repro steps, we can look into this again.


Documentation for help command

This PR:

Updates Rick's portion of AboutUs.
Updates UserGuide for help command.

Linked to #21 .

Guys, I've updated all required tasks for milestone 1.1 (AboutUs, UG, DG).
For the developer guide I've only added user story for help and I am not sure if that's enough.
Please lmk if it's 'LGTM'.
Cheers.


Crates disappearing after unloading more than one crate

Basic Information
Mission version: 0.961.
Map used: KP Liberation Takistan / KP Liberation Tanoa.
Mods used:
@Advanced Rappelling, @Advanced Towing, @Advanced Urban Rappelling, @Blastcore Edited (standalone version), @CBA_A3, @CUP Terrains - Core, @CUP Terrains - Maps, @Enhanced Movement, @Project OPFOR, @RHSAFRF, @RHSUSAF.
Dedicated or local game?
Hosted game (with a friend to help me test).
GitHub or Workshop mission file?
Steam Workshop.
Individual Things
Did you edit anything within the mission files?
No.
If yes, what did you edit exactly?
Short Issue Description
After trying to unload more then one crate from the transport helicopter, instead of being stacked side by side, they disappear. Checked around the location, inside the helo and found nothing.
Expected Behaviour
They should be either stacked side by side or near the helicopter.
Steps to Reproduce the Issue
After noticing the issue more than twice on Takistan, decided to test on Tanoa's KP Liberation.
1. Loaded one box inside;
2. Took off and landed the helicopter;
3. Checked if the crate was still inside;
4. Selected the UNLOAD CRATE option: Worked fine;
5. Did the same as steps 1-4 but with two boxes inside. All crates gone.
6. Repeated steps 1-4 with three crates. All crates gone.
PS.: I repeated those steps at least three times on Takistan and twice on Tanoa.
Managed to parachute some crates to keep the game going, but that wasn't possible on Tanoa. The transport helo doesn't have this option.
Screenshots, Serverlog or any other helpful Information
Screenshots: Perhaps I'll add a video later.
Serverlog: You'll have to walk me through this. Never did it.
Any other helpful Information: I can try it without mods if necessary.

I faced the same problem twice so far.
The crates do not disappear they glitch into the ground.
Take a look with Zeus you will see them "floating" under the ground.

Yeah, I thought about that but forgot to use Zeus. Can we "unglitch" it somehow?

Was able to reproduce this (which is indeed new since the last ArmA 3 Update).
I've tweaked the unload script. Replaced the deprecated and old bis_fnc_relPos with the new syntax from getPos. In my tests this more perfomant way of unloading fixed the "crates sink into ground" issue for me.

Thanks Wyqer!


delete team user endpoint

Closing this PR in favor of #197 as we are fixing the problem at the source (janice) instead of instructing ionic to handle it


Change spawned threads to contain name of symclient instance (email by default)

Next time please submit from develop branch.


Don't remove parens around function call declarations

Fixes https://github.com/mathiasbynens/luamin/issues/23

Could you add some tests?

Ok I added a test, can't think of anything else.

The other test case mentioned in #15 is print(({})[1]).

Ok well I only signed up to fix the lambda issue.

Right, sorry :)

Thanks!


Unable to specify config file

Unlike in the maven plugin where there is a <configFile>src/main/liberty/config/server.xml</configFile> element that you can add to the config to use when creating a server this isn't an option with the gradle plugin

The 2.0 version of the plugin supports all sorts of ways to copy configuration similar to the maven plugin. The new server properties are documented here: https://github.com/WASdev/ci.gradle/blob/master/docs/libertyExtensions.md#liberty-server-configuration
Also see examples in https://github.com/WASdev/ci.gradle/blob/master/docs/libertyCreate.md#libertycreate-task on how libertyCreate uses these properties.


Sample of clustering with smart cluster icon selection

Hi all,
I am opening issue here because I was not able to contact some of larger contributors to project.
When I explored possibilities of Leaflet.markercluster, I was not able to find some sample where cluster on map is presented with some of marker icons from cluster child markers.
Showing only number of icons in cluster is usual use case, but sometimes, some logic should be used to pull out some child marker icon.
With not lot of customizations, I was able to implement smart cluster visualization for Croatian weather map, pulling most present weather sign in group and to show temperature of place with such weather in group which is closest to average temperature in cluster group. Using this logic, user at any zoom level is able to have perception of weather in some area.
You can check that behavior at this link:
http://hrvrijeme.com/
and I am willing to help anyone who wants to implement similar functionality.
Talking about some framework support for this kind of behavior, it would be nice to have ability to just turn on option to show most frequent marker icon in cluster group as cluster icon, with small circle in corner showing number of markers in cluster.
Please be free to contact me at<EMAIL_ADDRESS>with any question.

Hi, great to hear that you find Leaflet useful!
However, this issue tracker is used for reporting bugs and discussing new features. For questions on using Leaflet, please use gis.stackexchange.com or stackoverflow.
If you are really sure that this is a bug in leaflet, or a feature request, please change the wording to make it look like a bug report.


usage of

I am a bit confused by args passed to resnet, https://github.com/phizaz/diffae/blob/master/model/blocks.py#L196-L211
    def _forward(
        self,
        x,
        emb=None,
        cond=None,
        lateral=None,
    ):

where emb is time embedding, cond is for semantic code, but what is usage of lateral?

Lateral is part of the legacy code and should not be used. Sorry for the confusion.

Thanks for your timely response


Tabular attribute table

Implements #125

A few caveats after checking both versions.

Added also the Name table that appears on the parent nodes when not all children nodes are mbeans
There is some slight differences right now where some nodes would have the Object Name view instead of the normal one but they seem to follow a set of defined columns set for each component. It seemed way out of scope and for now I settled for this version filtering by conditions.

On top of that each table is a different view
Attributes show a list of attribute-valur pair with the mbean node
attributes
AttributesTable show a list of the attributes for every mbean in a row that
are children of the node.
NodeName is used when not all nodes below are mbeans. Seeing as this
behaviour only appeared in parent nodes i went with that logic as any one
that was not a parent node usually had the JMXContentMBean default one
JMXContentMBean is the default view, which only shows the objectNames
El mar., 4 abr. 2023 14:41, Joshi Raez @.***>
escribió:

Each node had configured a view in a per node basis from what I gathered
(for example some folders like the topmost jmx one in the tree view had the
tabular, while the others had the node names or just the default with
objectName)
I tried to find a common logic that decided how each one was configured
(specially because we are missing some nodes like the ones in camel) and
from what I have been testing they match for almost all cases
El mar., 4 abr. 2023 13:17, Tadayoshi Sato @.***>
escribió:

@.**** commented on this pull request.
In packages/hawtio/src/plugins/jmx/JmxContent.tsx
https://github.com/hawtio/hawtio-next/pull/215#discussion_r1157097150:

@@ -84,7 +87,17 @@ export const JmxContent: React.FunctionComponent = () => {

</React.Fragment>
)}

   {navItems.length === 0 && !selectedNode.objectName && <JmxContentMBeans />}

   {navItems.length === 0 && !selectedNode.objectName && mBeanCollectionApplicable(selectedNode) && (

     <AttributeTable />

   )}

   {navItems.length === 0 &&

     !selectedNode.objectName &&

     !mBeanCollectionApplicable(selectedNode) &&

     !selectedNode.parent && <NodeNameTable />}

   {navItems.length === 0 &&

     !selectedNode.objectName &&

     !mBeanCollectionApplicable(selectedNode) &&

     selectedNode.parent && <JmxContentMBeans />}

I don't think you answered my question. I wasn't asking about how the
legacy hawtio is implemented, but asking about what it behaves in the same
cases. What does each of JmxContentMBeans, AttributeTable, and
NodeNameTable do? Why do we need JmxContentMBeans and AttributeTable at the
same time? What was the legacy Hawtio's behaviour when it had mbeans and
folders at the same time?
—
Reply to this email directly, view it on GitHub
https://github.com/hawtio/hawtio-next/pull/215#discussion_r1157097150,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEEIPLETG4QAFVLU7QP663DW7P7NPANCNFSM6AAAAAAWR5IZZI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Cargo doc error when using ResourceArc as parameter

I encountered an error similar to the following when trying to run cargo doc against a crate which uses ResourceArc as a parameter:
error[E0277]: the trait bound `FileResource: rustler::resource::ResourceTypeProvider` is not satisfied
   --> src/lib.rs:124:1
    |
124 | / pub fn debug_cargo_doc(resource: ResourceArc<FileResource>) {
125 | |     println!("this is just fine..");
126 | | }
    | |_^ the trait `rustler::resource::ResourceTypeProvider` is not implemented for `FileResource`
    |
    = note: required by `rustler::resource::ResourceArc`

I added an example within NifIo. I guess ResourceArc<T> should not/cannot be used as a parameter?

I can't seem to reproduce this locally, which rust version are you using when you are hitting the issue?

I haven't tried that in a while. I am not sure what Rust version I used back then, something between 1.27-1.30. I will try to reproduce it.

I was able to reproduce the above with rust 1.29.0:
$ rustup run 1.29.0 cargo doc
$ cd NifIo/native/io
$ # checkout my example
$ rustup run 1.29.0 cargo doc
[...]
error[E0277]: the trait bound `FileResource: rustler::resource::ResourceTypeProvider` is not satisfied
   --> src/lib.rs:124:1
    |
124 | / pub fn debug_cargo_doc(resource: ResourceArc<FileResource>) {
125 | |     println!("this is just fine..");
126 | | }
    | |_^ the trait `rustler::resource::ResourceTypeProvider` is not implemented for `FileResource`
    |
    = note: required by `rustler::resource::ResourceArc`

error: Compilation failed, aborting rustdoc

error: Could not document `io`.

I could not reproduce this with 1.30.0 and 1.32.0. Maybe this was a bug in cargo. Feel free to close!


Reading: Chapter outline navigation links

Show chapter title, all headers, table of contents, next and previous chapters. This could also be next and previous header links.

Added in 08e94f6.


PSSQLite 1.0.3 should be updated to 1.1.0

PSSQLite does have several issues which are solved in version 1.1.0 and should replace version 1.0.3 as plugin

This has already occurred in the version I have not checked in yet.

Please see Dev branch, which leverages an updated version of the PSSQLite module, so it uses whatever version of the SQLite DLLs that module uses.

Perfect


[core] Remove createSvgIcon duplication

A follow-up on #20268.

@dmtrKovalenko No matter the outcome of this pull request, we will need to remove the imports above 2 layers, e.g:
import createSvgIcon from '@material-ui/core/internal/svg-icons/createSvgIcon';

https://github.com/mui-org/material-ui-pickers/blob/next/lib/src/_shared/icons/ArrowDropDownIcon.tsx#L2
As far as I know, this means that developers could bundle the styles twice (1 ESM, 1 CJS), leading to bundle bloat and incorrect CSS injection order.

Still think that making this public is a bad idea. We're not creating a SVGIcon but a "Material-UI SVG icon". People will want us to support all sorts of different svg build scenarios.

Only the modules available at @material-ui/core are considered public, it's private, as all the utils modules.

This breaks @material-ui/pickers:
<EMAIL_ADDRESS>Cannot find module: '@material-ui/core/internal/svg-icons/createSvgIcon'.
Make sure this package is installed.

@koistya which version of pickers are you using?

https://github.com/mui-org/material-ui-pickers/issues/1619

does this impact @material-ui/lab?  I recently bumped dependencies,   "version": "4.0.0-alpha.48", and   "version": "4.9.8", and when I run jest tests I am getting
TypeError: (0 , _utils.createSvgIcon) is not a function
when I include ToggleButton
any ideas?

getting this when I try and run the app:
warning  in<EMAIL_ADDRESS>"export 'createSvgIcon' was not found in '@material-ui/core/utils'

@koistya, @kelly-tock are you able to confirm that you only have 1 copy of @material-ui/core in your node_modules and that it is 4.9.9?

@kelly-tock Upgrade your dependencies, you will be fine.

@oliviertassinari from what I can tell, @kelly-tock is already using the latest lab and core

ok, yarn messed with me. sorry about that. I removed node modules, cleared yarn cache. specifically did 4.9.9. and now its fine :)

out of curiosity, do you all prefer yarn or npm?

out of curiosity, do you all prefer yarn or npm?

I personally prefer Yarn and find yarn.lock a lot easier to read than package-lock.json.
I'm not sure if this is what you did, but I would recommend against blowing away your lockfile because that typically should be a last resort, especially if you have a large dependency tree - you could  introduce lots of subtle changes that cumulatively break your project and it would be hard to diagnose due to the size of the change.
Instead, per https://material-ui.com/getting-started/faq/#why-arent-my-components-rendering-correctly-in-production-builds

You accidentally bundle two versions of Material-UI. You might have a dependency not correctly setting Material-UI as a peer dependency.

you could either have another place in your project where you didn't update @material-ui/core's version, or you could have a dependency that's not specifying @material-ui/core as a peer dependency, leading to duplication. I would look into these things first because otherwise you might run into the same problem in the future. Using https://classic.yarnpkg.com/en/docs/selective-version-resolutions/ could help you with ensuring a single version of @material-ui/core.


Enable paste automatically by default in settings

I had assumed Paste automatically was on by default (and not configurable) I realised this was not the case when I stumbled upon https://github.com/p0deje/Maccy/issues/482#issuecomment-1296291391 (I mentioned my issue here https://github.com/p0deje/Maccy/issues/148#issuecomment-1366892043)
Wouldn't it make sense to enable this by default?
FWIW, if yes then ideally it should only update for new installations (not existing ones) to ensure existing users have the same functionality.
This is analogous to the behaviour provided by windows 10+

I personally use Maccy w/o paste enabled so the defaults reflect my preference. I am open to changing this, but it also means that users will have to always enable accessibility on the first Maccy usage. Right now there is no need to enable it.

You make an interesting point. Maybe then a prompt to inform them if they'd like to enable it would be best?

I would normally avoid extra prompts or other behavior, though it might be useful for certain users.

In my opinion, that's actually a bad design of Apple. Pasting automatically should be the default for a clipboard app.
That said, there is nothing to do if you don't want an extra prompt, which is very logical.

My vote is against pasting by default as I'm very cautious about giving the Accessibility permissions.

My vote is against pasting by default as I'm very cautious about giving the Accessibility permissions.

Valid points. I guess let's update the readme to clarify the behaviour and that it's configurable. Coming from Windows 10 I had assumed this was the default behaviour since it's built into the OS...


"perframe_ae" was not specified when calling with resolution 512 from gradio_app.py

Great work!
When I checked the code in run.sh and run_mp.sh, the "perframe_ae" option was specified when the resolution was other than 256, i.e. 512 and 1024. However, "perframe_ae" is not set at resolution 512 because only the values from the config file are applied when invoking from gradio_app.py.
I think adding "perframe_ae: True" to inference_512_v1.0.yaml is a good idea. What do you think?

yes. i was aware of this when releasing code. But actually perframe_ae=True won't bring any benefits in terms of saving GPU memory based on my own attempt. Sure you can add that in the config.

Thank you for you replying.
In my environment, RTX 4090 24GB, CPU offload occurred in DynamiCrafter512 model.
Immediately after starting gradio_app.py, 12.8GB of VRAM was used, and after that, memory was used up to 37.2GB (vram 23.6 + mem 13.6).
Setting perframe_ae=True did not use more than 12.8GB of VRAM. The time required to generate a video has also been reduced from 120.51 seconds to 53.26 seconds.

wow Thanks! I will add that into the config of 512 model.

FYI.
For, RTX 4090 Laptop GPU (16GB)

1024 model: CUDA OOM occurred
512 model: 12.6GB、102.69 sec  perframe_ae: True
256 model: 11.8GB、46.48 sec perframe_ae: True

Thanks for your contribution!🙏 @ngc-shj

where to add this ? perframe_ae=True


Work server gets jobs from rabbitmq

Updated work server to get jobs from Rabbitmq

If this is ready to be merged and working, please merge when you can!


[feature] Make all builders use .build-slsa extension

I kind of wonder if this is really the right approach. Not many file extensions refer to the intended use of the file as opposed to the format. e.g. .jpg or .png as opposed to .img.
So I think this will be fairly counter-intuitive for users.

For BYOB, which produces Sigstore bundles, I'm wondering if .sigstore.json wouldn't be the most descriptive. Sigstore bundles don't seem to have a specific file extension and they could technically come in multiple formats (.json, .binpb, or .txtpb) since it's defined in protobuf.

@ianlewis, did you have a code pointer to where bundles are generated in slsa-github-generator? I was just poking around this.
Other Sigstore clients are using .sigstore.json as the extension for a sigstore bundle which wraps provenance (or an artifact hash).

Just filed https://github.com/slsa-framework/slsa-github-generator/issues/3750 to track bundle output.

@ianlewis, did you have a code pointer to where bundles are generated in slsa-github-generator? I was just poking around this.
Other Sigstore clients are using .sigstore.json as the extension for a sigstore bundle which wraps provenance (or an artifact hash).

In BYOB builders, for better or worse, the generation of provenance is a multi-step process.

setup-generic generates a token in the context of the caller workflow to get info from the callers context. This is signed with sigstore so it can be verified later.
The token is verified by the BYOB workflow with verify-token and this generates a SLSA predicate.
generate-attestations generates an unsigned provenance for each requested set of artifacts.
sign-attestations takes the resulting provenance and signs it, creating the resulting sigstore bundles with the sigstore.js client.

For pre-BYOB builders we generate DSSE wrapped SLSA provenance as .intoto.jsonl files. These aren't sigstore bundles but are signed using sigstore with code in the signing package.

Thanks for the pointers!
I would suggest we pursue Sigstore bundles in https://github.com/slsa-framework/slsa-github-generator/issues/3750 as that gives us an easy way to bundle DSSEs with the necessary verification material for offline verification (cert and log proof).
If we do want DSSEs as the outer envelope, we had also explored adding custom extensions to DSSE (https://github.com/secure-systems-lab/dsse/pull/61) where you could specify an ecosystem-defined struct. This would be similar to the addition of the cert in the signature, except it could contain all of the rest of the Sigstore verification material. But there isn't much tooling support for this currently.

Sounds good to me. From a purity standpoint I wish we could not fully rely on a Sigstore format as we'd also like to support private PKI at some point (#34) but creating sigstore bundles by default seems best for offline verification purposes.
To be clear though, this issue is around the file extension rather than the format itself. @laurentsimon had argued to use the .build.slsa extension regardless of file format (sigstore bundle, dsse, whatever), and let verifiers sort it out so that there was a common file name to look for provenance and it puts less burden on the end user. I'm leaning more towards having the file extension just reflect the file format per my earlier comments.

I'll mention that the Sigstore bundle should work for private PKI as well. We've designed it to primarily support the spec-compliant path but it's decently flexible - timestamps aren't required, proofs aren't required, you can put certificates, cert chains, or public key identifiers.

I'll mention that the Sigstore bundle should work for private PKI as well. We've designed it to primarily support the spec-compliant path but it's decently flexible - timestamps aren't required, proofs aren't required, you can put certificates, cert chains, or public key identifiers.

Good to know.


vscode_sync

Visual Studio Code Version : [ VERSION_HERE ]
Code Sync Settings Version : [ VERSION_HERE ]
Operating System : [ VERSION_HERE ]
Please make sure to write the versions and console logged error picture or copied text.

?


Glossary View Formatter - To be used in connected list WebParts with dynamic filtering

Q
A

Bug fix?
no

New sample?
yes

Related issues?
none

What's in this Pull Request?
New view formatting sample:
Two JSON View formatters used to create a Glossary page by using list WebParts connected with dynamic filtering.

Unecessary commits