Make alkiln action work on pull requests

Pull requests' .ref property is something like refs/pull/50/merge. What we need is the branch that made the pull request. Not just that, when the PR is made from a fork we need the originating branch somehow.
That latter point might make it necessary to change da core so it can pull in PRs, I'm not sure. That would be something like git fetch origin pull/50/head:a_branch_name. https://stackoverflow.com/a/30584951/14144258.
Similar to https://github.com/SuffolkLITLab/ALKiln/issues/757.

From a conversation with @BryceStevenWilley

The definitive option is to use dainstall on the copy of the repo we get from the checkout action. Or I guess we could see what checkout does for forks and do the same in our action.
This looks like what we might need: https://github.com/actions/checkout/blob/61b9e3751b92087fd0b06925ba6dd6314e06f089/src/ref-helper.ts#L13
[For dainstall] You can dainstall to a playground package
dainstall --playground --project "myprojectname"
It's a much harder coupling between Kiln and dainstall
We'd need to nail down the arg passing to run-alkiln though, since we wouldn't be writing the runtime_config.json anymore
[Otherwise], how would the script know the project name that dainstall pushed to? [Maybe it could] just be a wrapper around it... [We'd] need to have our setup.js directly call dainstall
And we should figure out how we want to fix this (we don't have to implement the fix, but we should be certain it'll work), before the other PRs [we're working on right now. https://github.com/SuffolkLITLab/ALKiln/pull/755, https://github.com/SuffolkLITLab/ALKiln/pull/753, and https://github.com/SuffolkLITLab/ALKiln/pull/740]. How we do this will affect installing on the server, and depending on how we do it, might affect what command line args we want to pass around and how.

This is a blocker because we need to decide whether we're using dainstall. If so, it could be easy to implement this. If not, we'd have to figure out how to get the correct branch of the correct repo or how to get da to pull from a PR.

Quick thoughts on takedown:
docassemblecli / dainstall doesn't have any equivalent for takedown, so we can't use that.

if running in the GitHub Action (i.e. we explicitly ran dainstall ...), we can run takedown as normal; it'll only delete the project we created.
In my experience running things locally, I just don't run takedown. So I think that just works?
Similarly, we don't need to takedown in ALKilnInThePlayground

TL;DL: we just leave takedown as is, should be fine

Seems we may not be able to just use dainstall to install Playground Projects. Someone tried to do so, but it only worked on pre-existing Projects. We'd have to at least use the API to create the project.
Still, we'd be able to output the name of the Project from alkiln-setup and use dainstall to avoid one of the main pain points here - finding the repo/branch of the PR (which still wouldn't let us test the PR, just that branch).

@plocket That's not the case. I did a PR for dainstall so it will automatically create the Playground Projects if they don't already exist. That was https://github.com/jhpyle/docassemblecli/pull/5. I thought I had issues with it recently, but when I tested yesterday it was working fine.

Someone tried to do so, but it only worked on pre-existing Projects. We'd have to at least use the API to create the project.

I haven't been able to test since I saw that mentioned, but I routinely use dainstal to create new projects in the playground, and haven't run into any issues. I can test further, but it is a feature that should work, and I personally can put effort into ensuring it works upstream.

It sounds like we've landed on using dainstall. If so, I'm going to finish up the current dangling PRs with this issue in mind and then start work on this one. I may implement this while working on those as the wires seem pretty tangled.

This isn't a blocker, but https://github.com/jhpyle/docassemblecli/pull/10 will help with local development when using the new script - dainstall needs to be able to ignore more of our files so that the codebase won't be too big to install on the playground. It does this by using the .gitignore to ignore more files. This isn't a problem with our GitHub tests because the repo already ignores those files.

For Future People: If we want to get rid of dainstall and still run tests on the right repo of a PR, we can probably get the PR repo name and then use checkout to go to that repo: https://github.com/orgs/community/discussions/26903.
- uses: actions/checkout@v2
  with:
    path: 'ActualRepoName'

This might still not be sufficient. We think PRs give a merged version of the PR branch (when there are no conflicts) and this method wouldn't test that. I personally haven't researched whether that's true.


The Fremennik Trials bug

"talk to Swensen the navigator in his hut south west of the longhall"
i have done his part and gotten his support via doing his maze but the quest helper is still stuck on saying the above. im having to keep a mental check list of the ones im doing after his and the flashing and point towards him is a big distraction after the fact of me completing his part. Hope this helps you debug it for others in the future.

This should hopefully be resolved with https://github.com/Zoinkwiz/quest-helper/commit/1da9d6d8d6e57c294d6b200c78f133575618f662


Switch disabling returns old state

version: 1.9.2
Codesandbox
just try it

Will be released with 1.9.3 patch

thx


double is missing.

There is not 'double' in the list. It is necessary to explain why.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 86308a57-1418-cf16-94f7-d840d56f6dda
Version Independent ID: cdb096f4-7498-2db7-ad2d-cd7c794b0bee
Content: Implicit numeric conversions table - C# Reference
Content Source: docs/csharp/language-reference/keywords/implicit-numeric-conversions-table.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

double can not implicit convert to other types.

Personally I would -1 because explicit conversion is just below this one.

#9793


[Config] Don't check PATH_CACHE for memcached

Motivation
Be able to run RSS-Bridge from a read-only directory with memcached cache.
Changes
Move the check for PATH_CACHE from Configuration to the respective cache implementations.
Also gitignore .phpunit.result.cache which is created when running phpunit as described in the Coding style policy.
Testing

Check that file cache fails when PATH_CACHE is not writable:
$ chmod -w cache
$ echo "[cache]
type=\"file\"" > config.ini.php
$ php index.php action=display bridge=Twitter context=By+username u=jack norep=on format=Atom
Exception: RSS-Bridge does not have write permissions for /home/jakub/devel/rss-bridge/lib/../cache/! in /home/jakub/devel/rss-bridge/lib/error.php:24
#0 /home/jakub/devel/rss-bridge/lib/error.php(42): returnError()
#1 /home/jakub/devel/rss-bridge/caches/FileCache.php(13): returnServerError()

Check that sqlite cache fails when PATH_CACHE is not writable:
$ chmod -w cache
$ echo "[cache]
type=\"sqlite\"" > config.ini.php
$ php index.php action=display bridge=Twitter context=By+username u=jack norep=on format=Atom
Exception: RSS-Bridge does not have write permissions for /home/jakub/devel/rss-bridge/lib/../cache/! in /home/jakub/devel/rss-bridge/lib/error.php:24
Stack trace:
#0 /home/jakub/devel/rss-bridge/lib/error.php(42): returnError()
#1 /home/jakub/devel/rss-bridge/caches/SQLiteCache.php(19): returnServerError()
...

Check that memcached doesn't fail when PATH_CACHE is not writable:
$ chmod -w cache
$ echo "[cache]
type=\"memcached\"" > config.ini.php
$ php index.php action=display bridge=Twitter context=By+username u=jack norep=on format=Atom
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
...

LGTM, thanks for the very detailed merge request (with examples!).

Looks good.


dev-improveFileUpload: used FileEntity instead of StringEntity in pos…

@dln22 I'm improving the uploadRDFFile method in the RemoteStoreClient, previously the method will fail for large files. I've renamed it to uploadFileToBlazegraph, let me know if it's an issue.

I'm not saying this needs to be addressed right now, but it is highly problematic that the RemoteStoreClient, which is meant to be triple-store-agnostic, contains any functionality that is specific to one particular technology (blazegraph). That defeats the whole point of the RemoteStoreClient...

I'm not saying this needs to be addressed right now, but it is highly problematic that the RemoteStoreClient, which is meant to be triple-store-agnostic, contains any functionality that is specific to one particular technology (blazegraph). That defeats the whole point of the RemoteStoreClient...

It’s done through the REST API, so it might not be Blazegraph specific, it might work with other triple-stores if they accept the same content types, just that I’ve only tested it with Blazegraph so far

I'm not saying this needs to be addressed right now, but it is highly problematic that the RemoteStoreClient, which is meant to be triple-store-agnostic, contains any functionality that is specific to one particular technology (blazegraph). That defeats the whole point of the RemoteStoreClient...

It seems that it is a requirement for SPARQL endpoints to support REST API, but it's not very clear with the file formats that it needs to support. I've tested this with RDF4J and it works fine.


Collaboration Service: Users are not valid

Currently it is always set to ["user1"]. We must set it to the correct list of users.
Also, this causes the video calling service with twilio to be using the wrong user name.

fixed


fix: error running very_good test --coverage

Description
I've fresh very good cli installation then there shows an error. If I pass --no-optimization args it's work. I'm attaching a file for more details.
Steps To Reproduce

dart pub global activate very_good_cli 0.7.2
very_good test --coverage

Expected Behavior
Expect the test is running.
Screenshots

Additional Context
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.8.1, on macOS 11.6 20G165 darwin-arm, locale en-ID)
[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2020.3)
[✓] VS Code (version 1.67.1)
[✓] Connected device (2 available)
• No issues found!

Hi @jscarl 👋
Thanks for opening an issue!
Are you able to provide a link to a minimal reproduction sample? Thanks!

Not sure if this helps, but check this comment I added on the other issue: https://github.com/VeryGoodOpenSource/very_good_cli/issues/401#issuecomment-1152523192

Closing for now since there aren't any actionable steps we can take. Feel free to provide additional context and I'm happy to revisit this 👍


Support high degree of parallelism/concurrency in Store operations

<some rough draft, plans on increasing parallelism>
Scenario: multiple client apps simultaneously submitting a CRUD operation request to same SOP Store.
Each client connection/session is allocated its own Store "wrapper" instance so each can do work in parallel with the other client's Store.
Following enhancements need to be supported:
"Single Writer, Multiple Reader pattern"

Lock on Reads
Lock on Writes
Multiple Readers will be given a Reader Store which is a "wrapper" that will allow parallelism in disk I/O (no locking used), 'will share the same MRU cache with other same Store Readers. Each operation in MRU will require locking. Since MRU is a fast, in-memory data structure, locking latency is very small/negligible.
Writer Store "update" operation will use a single, exclusive lock as only one update operation will be allowed for the same Store, globally. Allowing multiple concurrent "read" operations is being considered for add'l boost.
Writer Store is a thinner wrapper than the Reader's bcoz they have different "locking" story..

This feature is now supported, all code & automated tests/simulations were checked in. Documentation and "publicity" to follow. :)


[FEATURE] When can Langchain4j support vearch？

When can Langchain4j support vearch？What are the plans, or what other ways can I use vearch

1

1

Hi @imoxu , I'm tring my best to contribute, maybe in 1-2 weeks I will PR for it.

Hi @imoxu , I'm tring my best to contribute, maybe in 1-2 weeks I will PR for it.

Was added in 0.27.0


Added a Why WDL section

Purpose/implementation Section
Add a section to the introduction motivating students to study WDL
What changes are being implemented in this Pull Request?
What was your approach?
What GitHub issue does your pull request address?
Tell potential reviewers what kind of feedback you are soliciting.
New Content Checklist

[x ] New content/chapter is in an Rmd file with this kind of format and headers.

[ ] New content/chapter contains learning objectives.

[ ] Bookdown successfully re-renders and any new content files have been added to the _bookdown.yml.

[ ] Spell check runs successfully).

[ ] Any newly necessary packages that are needed have been added to the Dockerfile and image.

[ ] Images are in the correct format for rendering.

[ ] Every new image has alt text and is in a Google Slide.

[ ] Each slide is described in the notes of the slide so learners relying on a screen reader can access the content. See https://lastcallmedia.com/blog/accessible-comics for more guidance on this.

[ ] The color palette choices of the slide are contrasted in a way that is friendly to those with color vision deficiencies.
You can check this using Color Oracle.

Thanks @laderast! This looks great to me. There's some weird auth things going on coming from your forked repo branch - for the sake of time of getting this out, I'm going to just take your changes into a different branch on this repo.


Initial version of camel-everit-json-schema component

Initial pull request for a JSON Schema validator component based on the Everit JSON Schema library. If this is of interest I have backport for 2.19 and 2.18 branches.
It also lacks the karaf feature for this component that is work in progress. The Everit JSON Schema is already packaged as a bundle.

Hello!
I'm the maintainer of everit-org/json-schema. Thank you for your efforts on this, I have been following the updates on CAMEL-9799 for a long time. A few comments at the first glance:

JsonSchemaValidatorEndpoint loads the JSON Schema with the default schema loader config (I mean the SchemaLoader.load(rawSchema) call in line 80). It would be better to let the schema loading be customizable by the camel users. I'm not sure how does it fit into the concept of a camel endpoint though. At the first glance I suggest

creating a JsonSchemaLoaderBuilderFactory interface (maybe with a simpler name..) with a SchemaLoaderBuilder createSchemaLoader() method
the JsonSchemaValidatorEndpoint would have a schemaLoaderBuilderFactory member, with a default implementation, but it should be injectable by users (this is the point where I'm not sure how dependency injection works for these endpoints).

Its advantage would be letting users configure their schema loader, eg. adding custom format validators, etc.
I think the default implementation of JsonSchemaLoaderBuilderFactory should create the loader builder with return SchemaLoader.builder().draftV6Support(); so users can take the advantage of the latest draft without any additional configuration.
FYI, everit-org/json-schema considers draft v4 by default, which is currently deprecated, and is not compatible with draft v6 (which is currently published on json-schema.org as "the" specification). This is implemented this way for compatibility reasons for developers willing to upgrade from prior versions - see more here.
Also, around JsonSchemaValidatorEndpoint line 80 it would be probably better to catch SchemaException and handle malformed schemas.

Thanks for you suggestions sounds very sound and I will implement them as suggested.

Great work. btw a new component only goes into the master branch.

Is there more work to be done on this PR ?

Can you try to see if you can make this component extend ResourceEndpoint which is an endpoint that is specialized for template resources, see for example camel-velocity for an example. Then its more consistent with the others, and allow to load the resources via different ways.

OK will change to use ResourceEndpoint.
Also the new component is not added into platforms/karaf/features/src/main/resources/features.xml yet. I'm not that experienced with Karaf but can make a stab on trying to get that working.

About karaf that is okay, we can do that later

Just a heads up that we cut the new Camel release in the weekend

Updated to use ResourceEndpoint and cleaned up the code.

@ullgren i think rebase is needed..

Did a rebase yesterday and according to github there are no conflicts with the base branch (apache/camel master). But I will do a new rebase later today.

Thanks for the PR it has been merged. Do you mind closing this?


Cli(ticdc): Add safepoint command support

Is your feature request related to a problem?
At a certain moment, the GC safe point is at 10, and a changefeed has synced to 20. At this point, the changefeed fails, interrupting the changefeed and leaving a service safe point with a value of 20 and a TTL of 24 hours. After a short while,
the service safe point of the GC worker is advancing normally and the GC safe point is at 30. The changefeed service safe point blocks GC, which has expired beyond the 24-hour TTL. The GC lifetime is manually extended in an attempt to recover the changefeed, but it is determined that blocking GC has failed, making it unsafe to start the changefeed after 24-hour TTL.
We can't stop GC when updating tidb_gc_life_time in some cases, it is related to gc-ttl.
So we have to create a new command to prolong changefeed's TTL to avoid data loss.
Describe the feature you'd like
We can add a servicesafepoint with changefeed's safepoint. This new servicesafepoint will prolong TTL to prevent GC. We also can delete this servicesafepoint as soon as possible when it is not necessary.  And it's great that we can query all servicesafepoints.
We create a new cli command cdc cli safepoint to fix.

cdc cli safepoint set: create a user defined service safe point to block GC.
cdc cli safepoint delete: delete a user defined service safe point.
cdc cli safepoint query: query all service safe points.

When a changefeed fails, users can use cdc cli safepoint set command to create a new service safe point with a long TTL to block GC. They can use cdc cli safepoint delete command to delete the service safe point when the bug is fixed, and use cdc cli safepoint query command to check whether the related operations have been correctly implemented.

Notice: Users can only create and delete their definition of safepoint

Set

cdc cli safepoint set service-id-suffix=xxx start-ts=xxx ttl=xxx
# {
#   "service_gc_safe_points": [
#     {
#       "service_id": "gc_worker",
#       "expired_at":<PHONE_NUMBER>854775807,
#       "safe_point":<PHONE_NUMBER>57850880
#     },
#     {
#       "service_id": "ticdc-default-15674009460217235928",
#       "expired_at":<PHONE_NUMBER>,
#       "safe_point":<PHONE_NUMBER>74938623
#     }
#   ],
#   "min_service_gc_safe_point":<PHONE_NUMBER>57850880,
#   "gc_safe_point":<PHONE_NUMBER>57850880
# }

service-id-suffix: This is used to specify the service ID for the user-generated service safe point. TiCDC will generate a service ID in the format of ticdc-clusterID-etcdClusterID. We will append the suffix to this service ID to create a new service ID ticdc-clusterID-etcdClusterID-service-id-suffix, with a default value of "user-defined."
start-ts: This serves as the timestamp for the safe point that needs to be held. This value must be greater than or equal to minServiceSafePoint; otherwise, an error will be reported.
ttl: This updates the protection period and cannot be less than or equal to 0. The default value is 86400 seconds (24 hours).

Delete

cdc cli safepoint delete serviceIDsuffix start-ts=xxx
# equal `cdc cli safepoint set serviceID start-ts=xxx ttl=0`
# {
#   "service_gc_safe_points": [
#     {
#       "service_id": "gc_worker",
#       "expired_at":<PHONE_NUMBER>854775807,
#       "safe_point":<PHONE_NUMBER>57850880
#     },
#     {
#       "service_id": "ticdc-default-15674009460217235928",
#       "expired_at":<PHONE_NUMBER>,
#       "safe_point":<PHONE_NUMBER>74938623
#     }
#   ],
#   "min_service_gc_safe_point":<PHONE_NUMBER>57850880,
#   "gc_safe_point":<PHONE_NUMBER>57850880
# }

Query

cdc cli safepoint query --pd http://localhost:2379 [--cdc]
# {
#   "service_gc_safe_points": [
#     {
#       "service_id": "gc_worker",
#       "expired_at":<PHONE_NUMBER>854775807,
#       "safe_point":<PHONE_NUMBER>57850880
#     },
#     {
#       "service_id": "ticdc-default-15674009460217235928",
#       "expired_at":<PHONE_NUMBER>,
#       "safe_point":<PHONE_NUMBER>74938623
#     }
#   ],
#   "min_service_gc_safe_point":<PHONE_NUMBER>57850880,
#   "gc_safe_point":<PHONE_NUMBER>57850880
# }

API

GET /api/v2/safepoint: This is equivalent to the query operation, retrieving the safe point.
POST /api/v2/safepoint: This is equivalent to the set operation, setting the safe point and TTL for the given service ID.
DELETE /api/v2/safepoint: This is equivalent to the delete operation, removing the safe point for the specified service ID.

Describe alternatives you've considered
The changefeed needs to retain data beyond 20, but the 24-hour protection period has already expired. The GC worker only needs to retain data beyond 30, so it sets its own service safe point to 30. This means that the data between 20 and 30 has been nominally abandoned by the GC worker, although the actual deletion operation has not been executed.
Teachability, Documentation, Adoption, Migration Strategy
A document about safepoint will add after this feature.

@BenMeadowcroft PTAL


Fix theme types not coming through

[Slack thread]
By working with the new palette we found that the theme functions weren't typed properly (all being any instead), so we'd like to change that. It was always the case, but we'd like to add this as part of our refactor work.
We found a way to do it that seems to work nicely, but have a few problems to work around:

How to make it work at a higher level instead of having to replicate the config in all subfolders
The media function, when type is enforced, is quite unhappy and we can't figure out why. We're looking to maybe change the way we do it anyway as it's not aligned across the website (see convo here)

@davidpmccormick fyi i found a form of it that works here https://github.com/styled-components/styled-components/issues/2303. I was still testing it because I liked the way it was written (theme.media.medium vs theme.media("medium") but actually it makes it more prone to typos without typecheck and I'm still not a fan of the readability, especially if I add a min-width/max-width check... But wanted to document it in case others liked it better.


Improve CI workflows

Follow-up to #46. Connected to #44. This patch modifies CI workflows so as to ensure up-to-date containers are used.

There we go! Going in.


Double quote not showing properly

In the "Why are we asking" pop up of the approver, double quotes are showing up as \u201c

Still an issue as of 0.3.0

Done


Fixes for listContent and create dir (RDBMS)

This PR fixes 3 issues in the RDBMS connector:

There is no more DefaultSchema/CustomSchema differentiation. This was based on an erroneous assumption that DefaultSchema maps to the root directory. After we resign from this assumption, we don't need a special case for DefaultSchema,
QueryFile.listContent now returns child dirs and files correctly, without listing recursive subdirs,
Creating a DB schema in Postgres now creates all intermediary schemas if schema represents a nested directory.

@rabbitonweb These are important fixes, we need them for the other branches. Hoping for a quick review and merge :)


Remove unnecessary compile goal

Compile is only necessary for GWT applications not libraries.

gwtbootstrap3 » gwtbootstrap3 #416 SUCCESS
This pull request looks good
(what's this?)

However I wonder if certain errors might only be detected through the compile phase?

The only errors that would be caught are if you are missing module inherits in a module that has an EntryPoint. And then only the EntryPoint is checked too.

This should be reverted now.


style question about non-ascii variables/examples

Recently there have been a few new examples added which use non-ASCII variable names or text.
I'm of two minds; It's nice to showcase that Perl 6 is able to use these, but it also conflicts with showing focused examples about a particular feature.
Additionally, it is also easy to trip up the US/UK spelling checks we have in place; so any new code examples that contain non english words have to be tracked to insure we're not accidentally spelling anything wrong. (This is how this came to my attention; xt/aspell.t is failing on the current commit)
We should discuss the desired approach here and document it in the style guide. If the result is to not use this style of varnames, we should also cleanup the sample code where it's currently being used (used not as a critical part of what's being demonstrated)

For reference, the current failures:
& ßub 10 9: bub, cub, dub, hub, nub, oub, pub, rub, sub, tub
# & ßub 10 10: bub, cub, dub, hub, nub, oub, pub, rub, sub, tub
# Failed test 'doc/Type/Signature.pod6 has 2 spelling errors'
& þor 7 43: OR, or, cor, for, nor, tor, xor
# Failed test 'doc/Language/objects.pod6 has 1 spelling errors'

Guilty as charged, so I could as well defend my approach.

I use this style because we can. Like in novels, the point is to show, don't tell. Show that we can use this style of variables. Why won't you call a sub ßub (same pronunciation, slightly more sibilant)? Or call an array my @массив = ^5?
The spell checker is extensible. You might want to call a variable foo_zuux or zzanguong. So it's not really about using non-ASCII variables, it's about naming conventions in example code. And if it comes to that, I don't think anyone should use $c or @a as a variable name.
Plus I don't really think code should be spell checked. In my Test::Text spelling module, I eliminate code before checking.
Focused is not about "Hey, look at this particular thing we're showcasing in this example while we use C or traditional style for the rest of the code". While I agree we should try and avoid other nifty features of Perl6 in examples (for instance, not put concurrent code when you're talking about, let's say, Grammars), the intent of this is mainly to reduce cognitive load, so that people don't have to look up stuff. Naming a variable this or that will not make people go like, "Whaaaat?", but rather, "hey, that's nifty" and continue. You can't help but showcase the whole language when you're doing an example.

I'm happy to discuss this, of course, but as thing stands and since you are of two minds and I'm of a single one, it's 1.5 for, 0.5 against :-)

I'm +1 for subtle non-ascii things, as long as it does not harm readability, but I don't like $ßub because that might give a false impression that ß is a twigil or something.

Do you mean not use them right after the $? Like, use $suß instead?
I don't think it harms readability; same as I don't really think identifiers should be created to read out loud. But that would be a good compromise.

My vote is to restrict the fancy stuff to just the page that specifically talks about, while in the rest of the docs, to restrict the Unicode bits used to just the stuff that has ASCII-altenatives in the language and so would have a higher chance of the user being familiar with the symbols and already knowing how to type them. For example, I have those already bound to special keys, but I've no idea how to type þ without looking up it's code.
my \area = π × r²  # yay
my \λ    = π × 𝒓²  # nay

I don't think it harms readability

Maybe not, but it is a distraction; made while the reader is trying to understand material that's complex enough as it is. Also, think of it from the perspective of a person who never programmed before or is coming from a sigil-less language. To them $ß might look like part of the sigil. These are English-language docs and majority of English-speaking programmers would not commonly use $ßub as a variable name. So the reader is distracted from the subject matter with the question: "what's the meaning of the ß symbol? Is it there just because or does it do something special?"

Also, there's a high chance the reader may wish to copy-paste the code and play with it. When R#1581 was filed today, I had to re-write 𝒑 and 𝒒 to regular variables when I was playing with the Issue because I didn't know how to type those specific symbols and copy-pasting them was annoying. If I had to do the same thing when learning the language while barely knowing it, I'd be annoyed with the language.

I fully agree with what @zoffixznet just said. This issue simply needs doing now (just replace weird symbols with some more traditional alternative).

2018-03-02 20:07 GMT+01:00 Zoffix Znet<EMAIL_ADDRESS>
My vote is to restrict the fancy stuff to just the page that specifically
talks about, while in the rest of the docs, to restrict the Unicode bits
used to just the stuff that has ASCII-altenatives in the language
https://docs.perl6.org/language/unicode_ascii and so would have a
higher chance of the user being familiar with the symbols and already
knowing how to type them. For example, I have those already bound to
special keys, but I've no idea how to type þ without looking up it's code.
my \area = π × r²  # yaymy \λ    = π × 𝒓²  # nay

It's AltGr-P Once you learn, you can't forget it. I use only variables
that are easily accessible. ß is Altgr-S

I don't think it harms readability
Maybe not, but it is a distraction; made while the reader is trying to
understand material that's complex enough as it is. Also, think of it from
the perspective of a person who never programmed before or is coming from a
sigil-less language. To them $ß might look like part of the sigil. These
are English-language docs and majority of English-speaking programmers
would not commonly use $ßub as a variable name. So the reader is
distracted from the subject matter with the question: "what's the
meaning of the ß symbol? Is it there just because or does it do something
special?"

And she answers it herself. "No, it's just a cool new feature of Perl6!"
You say it "might" look like part of the sigil. Why? Does it look like that
to you? I can't make any truthful statement about what programmers might or
might not use as a name. Is $f something they would use? Is it $foo? Is it
"$don't-use-this"? The whole point of naming variables is showing how
variables can be named. Barring any ÞEP (þerl enhancement proposal) that
issues a best practice on how variables should be named within and without
the documentation, $this_name is as good as $that-name and as good as
$þ'at'ot'er'name. Besides, this last one shows the kind of names that can
be used in Perl6 and in no other place.

Also, there's a high chance the reader may wish to copy-paste the code and
play with it. When R#1581 https://github.com/rakudo/rakudo/issues/1581
was filed today, I had to re-write 𝒑 and 𝒒 to regular variables when I
was playing with the Issue because I didn't know how to type those specific
symbols and copy-pasting them was annoying. If I had to do the same thing
when learning the language while barely knowing it, I'd be annoyed with the
language.

I don't get this. If you copy-pasted it, it's right there. You can copy
those variable names and paste them to Texas and back. What's the big deal?

that are easily accessible. ß is Altgr-S

On your layout. For most people it's not going to work like this.

The whole point of naming variables is showing how variables can be named

IMO we should show how variables can be named in a special section about variables. Unrelated examples should be constructed in a way that prioritizes clarity.

It's AltGr-P Once you learn

But I came to this page to learn how to reverse a string in Perl 6, not type characters I'll never use. And where's the "once you learn" bit coming from? Who's providing the lesson? Why is this lesson being given to me when I'm right in the middle of trying to learn how to reverse a string in Perl 6?

And she answers it herself.

How can they answer anything if they don't know the language? $¢ can also be a "cool feature of the language", but if you don't know the language, you don't know that it's also a special match variable.

You say it "might" look like part of the sigil. Why? Does it look like that to you?

I see symbols and English letters. Earlier page I read said the symbol before the letters is called a "sigil" and sometimes there are two symbols and those are called "twigils". I now see two symbols $ß, I know it's called a "twigil", but what does this twigil do? Do I have to use this twigil when I'm trying to reverse a string in Perl 6? Someone told me Perl 6 has cool features but they're not here right now to show them to me and I don't know what the $ß twigil does. HELP!

I don't get this. If you copy-pasted it, it's right there.

Right, and then I need to also modify the code to the final state I want it to be in, and since I don't know how to type them, I have to copy-paste those variables individually when using them in my modifications or rename all of their current instances. Why am I being forced to do that while learning how to reverse a string in Perl 6… I don't know.

P.S.: I've just tried and neither AltGr+P nor AltGr+S nor Compose+P nor Compose+S type any characters on my computer.

Are you implying that using Unicode in variable names just the way Perl6 intends is obscure?
I get you guys don't like it. That's fine. I'll refrain from doing that kind of thing in the future. But this is a moving target. This all started by saying that there are variables that don't pass spell check. If variables are going to be spell-checked, that's a completely different issue. Then there was a problem with putting them by the sigil. When they are moved away from the sigil, then there's an issue with typing those variables, when, since they are in the documentation, you don't have to type them, just copy-paste them. Eventually the issue is "Just name variables the way they are named in C because doing otherwise is obscure or somesuch".
Besides, all this is moot. You, as Joe U. Ser, can name your variables any way you want. Just delete the weirdo and do your stuff. I just thought it was cool to name Perl6 variables the way Perl6 variables can be actually named.  No problem. But also open another issue and get whatever rules we're using for naming variables to a document where everyone can be aware of them.

I ♥ unicode, just not for naming variables in the docs. And yes, this aspect can be mentioned in https://github.com/perl6/doc/blob/master/STYLEGUIDE.md

Are you implying that using Unicode in variable names just the way Perl6 intends is obscure?

I'm saying it's distracting and can lead to confusion. Neither of which I find desirable and lack of both I find preferable to someone thinking that using Greek letters in variable names is "cool". (it's not really, considering it's a feature supported by at least 66 other languages)

This all started by saying that there are variables that don't pass spell check

FWIW, for me it started with seeing þ in the docs and thinking it was a rendering issue with the website's stylesheets.

Eventually the issue is "Just name variables the way they are named in C because doing otherwise is obscure or somesuch".

That's a slippery-slope argument and not what's proposed. I proposed restricting to well-known characters from our Unicode set.


Microsoft Intune & Intune Company Portal

Apple App Store | Intune Company Portal

Were you able to add these?

nope


Changes for coverage

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.522%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
222

Relevant Lines:
230

💛  - Coveralls


Connecting with GitHub Actions and Buildtools

I think it would be nice to have a section explaining what is the right way to:

Describe buildtool for making toolboxes for releases
use GitHub Action Build so that the release process is automated
enhance example of how to do a matrix release with setup action so that when people choose in the toolbox packaging project that information gets reflected in the setup action:
also maybe share a few words on simple github workflows (maybe an image for indvidual user and what it looks like with multiple maintainers)
would be nice to share a few words on how get help e.g. CONTRIBUTORS.md or something

Similar to my comment on #20 , I think I'll do that in a separate repository and just refer to it here.


Add a property hint to StyleBoxFlat shadow_size for editor usability

This adds a visible range to the slider so it can be dragged more easily.
This closes #42309.

Thanks!

Cherry-picked for 3.2.4.


Get file name of the choosen Image

How to get the name of the image we have selected using the picker? @malsapp

You can use onResponse to get the name of the file along with other image properties.
<PhotoUpload
      onResponse={image =>{
      if(image){
        console.log("All image data",image. fileName);
      }
    }
}>
  </PhotoUpload>


Factory Muffin converts false values to empty strings

This results in database errors when strict mode is enabled (for example, '' is an invalid value for a boolean field).
This happens when getGenerator in Base.php is working with a $kind of false. It explodes on |, resulting in an empty string, converting a false value. This does not happen with true boolean values.
My solution, if you're happy to have this resolved (we can't actually use strict mode in our integrated tests without it, as it fails each time), is to have getGenerator return $this->kind if $this->kind === false.

Sounds good. 👍


Can I exec command in Terminal object?

Can I exec unix command in Terminal object like this:
terminal.write("ls -l");

or someway else?
I need to run command by dart code here. :)

I got how to deal with this issue, do not use write method, use textInput instead:
terminal.textInput("ls -l\n"); // with new line at the end.

The terminal object will write your text to console and run it! 💯


Language Picker: Write out language & show percentage

In weblate, you can see the current translation percentages: https://hosted.weblate.org/projects/raspiblitz-web/translations/
Write out the languages in the language picker ( en -> English ) and show the percentages (manually should be ok for now)

fixed with #435
No percentage but should be fine for most languages.


Closes: #1

Updated validations.py python script.
Fixed the behaviour of validate_user function in validations.py
Fixes #1

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

@googlebot I signed it!


Update Version 2.5.3 to 2.6.0 error -> LookupError: Could not find a ref for #/components/schemas/xpto . Maybe you tried to call resolve_ref_schema from within a recursive model?

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
After updating from pydantic 2.5.3 > 2.6.0, updating in my project, it broke all tests, with the problem of LookupError: Could not find a ref for #/components/schemas/xpto . Maybe you tried to call resolve_ref_schema from within a recursive model?
Example Code
import typing
from enum import Enum

from fastapi import FastAPI
from fastapi.openapi.utils import get_openapi
from pydantic import BaseModel, Field

class AllowedValues(str, Enum):
    VAL1 = 'Val1'
    VAL2 = 'Val2'

class ModelA(BaseModel):
    # Removing the max_length from the Field definition will make the code work
    modelA_1: AllowedValues = Field(..., max_length=60)

class ModelB(ModelA):
    modelB_1: typing.List[ModelA]

class ModelC(BaseModel):
    # Removing modelC_1 or modelC_2 and keeping only one of them will make the code work
    modelC_1: ModelB
    modelC_2: ModelB

class ModelD(BaseModel):
    modelD_1: typing.List[ModelC]

app = FastAPI(version='1.0.0')

@app.post('/route1', response_model=ModelD)
async def route1():
    raise NotImplementedError

schema = get_openapi(
    title='test',
    servers=[{"url": "https://test.com", "description": "desc"}],
    description='description',
    version='1.0.0',
    routes=app.routes)
print(schema)

No response
Python, Pydantic & OS Version
pydantic version: 2.6.0
        pydantic-core version: 2.16.1
          pydantic-core build: profile=release pgo=true
                 install path: /home/myuser/.pyenv/versions/3.9.14/envs/project/lib/python3.9/site-packages/pydantic
               python version: 3.9.14 (main, Dec  9 2022, 17:08:14)  [GCC 9.4.0]
                     platform: Linux-5.15.0-92-generic-x86_64-with-glibc2.31
             related packages: typing_extensions-4.9.0 fastapi-0.109.0
                       commit: unknown

@MatheusVp2,
Could you please provide a code snippet from which we can reproduce this error? Thanks!

I managed to debug the application here and found that when I call the function, get_openapi from from fastapi.openapi.utils import get_openapi, it breaks and throws the error

We need a minimal reproducible example that we can run. Would you mind providing that? 🙏

Diving deeper into debugging, I found that there's an error occurring in the models that are enums. When looking at the example of an enum in the documentation and running it, there's an issue there as well, although it's not the same error. However, there might be a connection, I believe.
I still haven't been able to simulate an example for the error.

@Kludex  @sydney-runkle
Added the minimum code example there to simulate the error. Emphasizing that it works in version 2.5.3.

I can reproduce the issue on 2.6.

Somewhat simplified pure-pydantic reproduction of the issue:
import typing
from enum import Enum

from pydantic import BaseModel, Field

class AllowedValues(str, Enum):
    VAL1 = 'Val1'
    VAL2 = 'Val2'

class ModelA(BaseModel):
    # Removing the max_length from the Field definition will make the code work
    modelA_1: AllowedValues = Field(..., max_length=60)

class ModelB(ModelA):
    modelB_1: typing.List[ModelA]

class ModelC(BaseModel):
    modelC_1: ModelB

class Model(BaseModel):
    b: ModelB
    c: ModelC

Model.model_json_schema()

I had feared this was also introduced by #8526 but that doesn't seem to be the case.

I've traced the source of this issue to here: https://github.com/pydantic/pydantic/commit/b2aa36a80904773d7db2e4c007fc00a5a4d7653b


Sidebar cant be closed in mobile view.

Describe the bug
After creating a project with npm create @sveltepress, the sidebar is open at all times and cant be closed in mobile view.
Same on firefox and chrome.
Reproduction
After creating a project with npm create @sveltepress, the sidebar is open at all times and cant be closed in mobile view.
Same on firefox and chrome.
Logs
No response
Screenshots
https://gyazo.com/25d672fe9aa6d9d769025e9b416b301d

Severity
blocking all usage of sveltepress

It sais in the console that .setCapture() is deprecated and .setPointerCapture() should be used instead.

Thanks for your feedback, I'll check this ASAP

Fixed in 3de34c5

Thank you!


Conditional hide task count

⚠ Please check that this feature request hasn't been suggested before.

[X] I searched previous Ideas in Discussions didn't find any similar feature requests.
[X] I searched previous Issues didn't find any similar feature requests.
[X] I am only requesting a single feature. Multiple changes should be split into individual requests, with links between them.
[X] I believe my requested feature will be generally applicable to other users, not just me: it is not uniquely tied to my personal workflow.

🔖 Feature description
I often use the hide task count instruction to remove the useless information and shorten the Tasks output.
However if no tasks are found with the request the 0 tasks output is quite helpful instead of just -nothing-.
✔ Solution
I would like to have an option to hide the tasks count only if tasks were found, for example:

hide non-zero task count - hide if task count > 0

simple
not universal, works for only my use-case

hide task count >0 - implement a mechanism similar to filter by function where the >0 is interpreted as taskCount >0

harder to implement
more flexible

Please note these are vague examples, I'm open to any suggestions on how to word this instruction.
❓ Alternatives
No response
📝 Additional Context
No response

Hi @ilandikov, thanks for the suggestion.
I think this would be useful. There have been various other suggestions to improve the limiting option, like indicating if the limit was exceeded at the bottom of the search.
On the implementation, the existing limit code has already been getting more complex, and there is probably somewhat duplicated logic in the parsing, limiting and explain code between limit 5 and limit groups 5.
Basically, both the limit facilities may be considered small examples of 'primitive obsession' - storing numbers instead of behaviour.
I have some ideas about how to improve this, and had thought I might refactor it after the limit groups feature was merged, but there has been too much other stuff going on, Tasks-wise.
I'd be happy to use one of our pairing sessions to start exploring this refactoring and where it might go...

I honestly don’t see the relationship with the limiting but yeah let’s explore that together =)

I honestly don’t see the relationship with the limiting but yeah let’s explore that together =)

Fair. Yeah, there's too much in my head to put everything down here...

I honestly don’t see the relationship with the limiting but yeah let’s explore that together =)

So, another comment that may be more obviously related:
There also needs to be an abstraction for the show/hide commands, both to reduce the amount of edits needed when adding new ones, and to enable them to be mentioned in explain output.
Am also happy to pair on this!

There also needs to be an abstraction for the show/hide commands, both to reduce the amount of edits needed when adding new ones, and to enable them to be mentioned in explain output.

oh yes! I had the same thought and ttried to refactor it by myself but didn't get anywhere

See also #2380.


Any publication of this?

I want to cite this result, but I cannot find any paper about this.
Thanks.

Same here.


[joint_trajectory_controller] Implement [vel, acc, effort] controller variants

Tl;dr:  Port Joint Trajectory Controller variants from the ROS1: joint_trajectory_controller.cpp

Hey,
So I have been testing this controller with my robot. When I set time_from_start: { sec: 5, nanosec: 0 } }, traversing the trajectory should take 5 seconds, which is true, but the velocity is incorrect. The controller correctly set's the positions, but because the controller does not write new velocity values to the  command interface, the traversed trajectory is unsmooth; the joint moves too fast, so the joint movement stops before the new intermediate position is written.
Shouldn't the velocity be set using the command interface or did I misunderstood something?
I believe, that the velocity value should be set around here

Hi @Jarijaas,
this depends on the used hardware (robot). probably your robot is trying to drive maximal velocity (shortest time) between two positions. The current implementation of joint_trajectory_controller enables only position interface toward hardware (see line#83). I believe this is the same functionality as in ROS1.
How do you expect that the controller behaves:

set position and velocity for hardware, or,
set only velocity in the hardware.

Also, which hardware, i.e. interface implementation are you using?

Hi @Jarijaas,
this depends on the used hardware (robot). probably your robot is trying to drive maximal velocity (shortest time) between two positions. The current implementation of joint_trajectory_controller enables only position interface toward hardware (see line#83). I believe this is the same functionality as in ROS1.
How do you expect that the controller behaves:

set position and velocity for hardware, or,
set only velocity in the hardware.

Also, which hardware, i.e. interface implementation are you using?

Hey @destogl,
My hardware interface is based on the demo, I added velocity interface to it, and I use it to control dynamixel servos.
I would expect that the joint_trajectory_controller should support setting the desired velocity value for the joints using the hardware interface.  I'm probably going to fork this controller and add velocity hardware command interface support to it, as this would suit my needs.

Hey @destogl,
My hardware interface is based on the demo, I added velocity interface to it, and I use it to control dynamixel servos.
I would expect that the joint_trajectory_controller should support setting the desired velocity value for the joints using the hardware interface.  I'm probably going to fork this controller and add velocity hardware command interface support to it, as this would suit my needs.

@destogl wrote:

The current implementation of joint_trajectory_controller enables only position interface toward hardware (see line#83). I believe this is the same functionality as in ROS1.

actually, there are 5 variants of the JTC, supporting position, velocity, effort, position & velocity and position, velocity & acceleration interfaces. See joint_trajectory_controller.cpp.
I believe @Jarijaas' question is justified: it seems the current implementation in ros2_control is incomplete, at least when compared to the ROS 1 version.

@destogl wrote:

The current implementation of joint_trajectory_controller enables only position interface toward hardware (see line#83). I believe this is the same functionality as in ROS1.

actually, there are 5 variants of the JTC, supporting position, velocity, effort, position & velocity and position, velocity & acceleration interfaces. See joint_trajectory_controller.cpp.
I believe @Jarijaas' question is justified: it seems the current implementation in ros2_control is incomplete, at least when compared to the ROS 1 version.

@gavanderhoorn thanks for pointing this. We should than extend this.
@Jarijaas would you try to port this from ROS1?
We can look at this, but it will take some time to get to it...

@gavanderhoorn thanks for pointing this. We should than extend this.
@Jarijaas would you try to port this from ROS1?
We can look at this, but it will take some time to get to it...

@destogl I don't have time to do it in the near future either.

@destogl I don't have time to do it in the near future either.

@destogl Is there something missing with the current state of JTC or can we close this in favor of #171?

Definitely covering this already


Video crashes on start

Crashes with error message:
Movie file finishing error: Optional(Error Domain=AVFoundationErrorDomain Code=-11859 "Movie recording cannot be started" UserInfo={NSUnderlyingError=0x281c02df0 {Error Domain=NSOSStatusErrorDomain Code=-16419 "(null)"}, NSLocalizedFailureReason=A movie recording is already in progress., NSLocalizedRecoverySuggestion=Stop the movie recording in progress and try again., AVErrorRecordingFailureDomainKey=1, NSLocalizedDescription=Movie recording cannot be started})
Crashes in this part of CameraViewController:
        if error != nil {             print("Movie file finishing error: \(String(describing: error))")             success = (((error! as NSError).userInfo[AVErrorRecordingSuccessfullyFinishedKey] as AnyObject).boolValue)!         }
Any idea as to why this is happening?

Same issue


more convenient debugging and role isolation

这个 PR 实现什么功能/修复什么问题:

feat: add keep_tmpdir options

feat: download the role to tmpdir not system role dir

[x] 功能、bugfix描述

[x] 冒烟测试

是否需要 backport 到之前的 release 分支:

release/3.6
release/3.5

/area ansibleserver
/cc @yousong @zexi

/area ansible

Codecov Report

Merging #9584 (6d77645) into master (31a0fb7) will increase coverage by 10.58%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##           master    #9584       +/-   ##
===========================================
+ Coverage    5.90%   16.49%   +10.58%
===========================================
  Files         843       87      -756
  Lines      130900     9122   -121778
===========================================
- Hits         7736     1505     -6231
+ Misses     122463     7485   -114978
+ Partials      701      132      -569

Flag
Coverage Δ

aFlag
16.49% <0.00%> (+10.58%)
:arrow_up:

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

Impacted Files
Coverage Δ

pkg/util/ansiblev2/session.go
0.00% <0.00%> (ø)

pkg/compute/models/billingresource.go

pkg/util/nopanic/nopanic.go

pkg/util/seclib2/certfile.go

pkg/monitor/tsdb/driver/influxdb/influxdb.go

pkg/hostman/guestfs/fsdriver/nicteaming.go

pkg/util/nodeid/nodeid.go

pkg/baremetal/tasks/base.go

pkg/compute/models/skus.go

pkg/cloudcommon/db/project_resources.go

... and 747 more

Continue to review full report at Codecov.

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


Sharp not releasing memory after use.

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
System:
OS: Linux 5.10 Debian GNU/Linux 12 (bookworm) 12 (bookworm)
CPU: (12) x64 12th Gen Intel(R) Core(TM) i7-1255U
Memory: 6.01 GB / 7.61 GB
Container: Yes
Shell: 5.2.15 - /bin/bash
Binaries:
Node: 18.20.4 - /usr/local/bin/node
Yarn: 1.22.19 - /usr/local/bin/yarn
npm: 10.7.0 - /usr/local/bin/npm
npmPackages:
sharp: ^0.33.4 => 0.33.4
Does this problem relate to file caching?
The default behaviour of libvips is to cache input files, which can lead to EBUSY or EPERM errors on Windows.

[x] Adding sharp.cache(false) does not fix this problem.

Does this problem relate to images appearing to have been rotated by 90 degrees?
Images that contain EXIF Orientation metadata are not auto-oriented. By default, EXIF metadata is removed.

To auto-orient pixel values use the parameter-less rotate() operation.

To retain EXIF Orientation use keepExif().

[x] Using rotate() or keepExif() does not fix this problem.

What are the steps to reproduce?
const sharp = require("sharp");

//sharp configs
sharp.cache(false);
sharp.concurrency(2);

async function processImage(imagePath, doc, isLarge) {
  let newPath = null;
  let sharpInstance = null;

  try {
    sharpInstance = sharp(imagePath);
    const { width, height, format } = await sharpInstance.metadata();

    doc.addPage({ size: [width, height] });

    if (isLarge || format === 'unknown') {
      newPath = imagePath + ".jpeg";
      await sharpInstance
        .toFormat("jpeg", { quality: 80, mozjpeg: true })
        .toFile(newPath);
      doc.image(newPath, 0, 0);
    } else {
      doc.image(imagePath, 0, 0);
    }
    return
  } catch (error) {
    if(error.message.match("Unknown image format")){
      console.log("Error: Unknown image format");
      newPath = imagePath + ".jpeg";
      await sharpInstance
        .toFormat("jpeg", { quality: 80, mozjpeg: true })
        .toFile(newPath);
      doc.image(newPath, 0, 0);
      return
    }
    throw error;
  } finally {
    if (sharpInstance) {
      await sharpInstance.destroy();
    }
    sharpInstance = null;
    newPath = null;
  }
}

What is the expected behaviour?
The function process the images and releases the memory
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
provided above
Please provide sample image(s) that help explain this problem
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/1-1718051747-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/2-1718051748-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/3-1718051749-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/4-1718051750-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/5-1718051751-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/6-1718051752-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/7-1718051754-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/8-1718051755-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/9-1718051757-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/10-1718051758-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/11-1718051758-n.webp',
'https://v7.mkklcdnv6tempv3.com/img/tab_27/04/64/46/uu997803/chapter_49/12-1718051759-n.webp'

Please ensure you've fully read and understood everything discussed in https://github.com/lovell/sharp/issues/955

Alpine version of node solved it.


git ignore pycache

putting it here so not to forget

hm, maybe it stays from my previous commands, but I keep on having this folders after updating.


Error in twitter-list-lists.py

Hello,
I am running python 2.7 and 3.5. I also have Anaconda3 installed. In any version I am getting this error:
/media/sf_Temp/python-twitter-examples$ python /media/sf_Temp/python-twitter-examples/twitter-list-lists.py
Traceback (most recent call last):
File "/media/sf_Temp/python-twitter-examples/twitter-list-lists.py", line 23, in
twitter = Twitter(auth=OAuth(config["access_key"], config["access_secret"], config["consumer_key"], config["consumer_secret"]))
NameError: name 'Twitter' is not defined
I cloned your examples to try and learn more about the Twitter api. So I want to run the scripts as is, before hacking around on them.
Any thoughts as to why this is throwing this error?
Thanks

Do you have a Twitter API installed? Which?

Yes I did a pip install twitter-python.

Try this  https://github.com/geduldig/TwitterAPI

same problem with "NameError: name 'Twitter' is not defined", have same specs

This error occurs when python interpreter do not recognize the importated library

Ok so as I have installed the api using the pip command, what else could it be? I cloned this repo. Tried to run python setup.py and get this error:
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied
This assumes if the pip install is not working, then this should do the install via setup.py?

Worked,i uninstalled, and then: 'pip install twitter', and all worked good

Thanks for your comments - glad the problem was resolved. Closing this ticket.


ADDomainController: RODC requires site name

Details of the scenario you tried and the problem that is occurring
When you create configuration for read only DC it requires SiteName. Error message:
This does not make any sense. If you are using DSC, chances are you are doing so because you have hundreds of DCs to manage. Hard-coding site name into MOF file is not feasible as each DC will have different site name. To mitigate this I could create new MOF file for each new DC but that is also quite bad because that would result in having hundreds of MOF files and every time you have some change of code you would have to update hundreds of MOF files. As a side note if you build read write DC it does not require SiteName and PowerShell will figure out proper SiteName automatically during config push.
Verbose logs showing the problem
PowerShell DSC resource MSFT_ADDomainController  failed to execute Test-TargetResource functionality with error message: System.InvalidOperationException: You have specified 'ReadOnlyReplica', but did not provide a
site name. (ADDC0022)
Suggested solution to the issue
ADDomainController resource should use the same logic for site selection for both RODC and RWDC. Meaning it should automatically pick AD site based on DC IP of no site name is specified.
The DSC configuration that is used to reproduce the issue (as detailed as possible)
ADDomainController DCpromotion {
            DomainName = $domain
            Credential = $DaCreds
            SafemodeAdministratorPassword = $DsrmCreds
            DatabasePath = $ADDBpath
            SysvolPath = $SYSVOLpath
            LogPath = $ADLOGpath
            IsGlobalCatalog = $true
            ReadOnlyReplica = $true
            AllowPasswordReplicationAccountName = @('AllowGroups')
            DenyPasswordReplicationAccountName = @('DenyGroups')
            InstallDns = $true
            DependsOn = @("[WindowsFeature]AD-Domain-Services","[WindowsFeature]DNS")

        }

The operating system the target node is running
OsName               : Microsoft Windows Server 2012 R2 Standard
OsOperatingSystemSKU : StandardServerEdition
OsArchitecture       : 64-bit
WindowsBuildLabEx    : 9600.19846.amd64fre.winblue_ltsb_escrow.200923-1735
OsLanguage           : en-US
OsMuiLanguages       : {en-US}
Version and build of PowerShell the target node is running
PSVersion                      5.1.14409.1018
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.14409.1018
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
Version of the DSC module that was used
ActiveDirectoryDsc_6.0.1

Then this logic that throws on missing site should be removed:
https://github.com/dsccommunity/ActiveDirectoryDsc/blob/87b1308891fb28d092aa12eb886661cd15d5d018/source/DSCResources/MSFT_ADDomainController/MSFT_ADDomainController.psm1#L296-L304
and
https://github.com/dsccommunity/ActiveDirectoryDsc/blob/87b1308891fb28d092aa12eb886661cd15d5d018/source/DSCResources/MSFT_ADDomainController/MSFT_ADDomainController.psm1#L683-L689

Looking here it looks like SiteName is required for the cmdlet Install-AddsDomainController when not using staging on 2012 R2. Is that the reason it is required?
https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/deploy/rodc/install-a-windows-server-2012-active-directory-read-only-domain-controller--rodc---level-200-#rodc-without-staging-windows-powershell

Good find @johlju
In my case I am doing the RODC deployment without staging. So according to the article you provided this should apply:
"The Domain Controller Options page also enables you to choose the appropriate Active Directory logical site name from the forest configuration. By default, it selects the site with the most correct subnet. If there is only one site, it selects that site automatically."
So in other words if no site was specified it should be able to auto select based on subnet.

Agree. Also looking at the PR https://github.com/dsccommunity/ActiveDirectoryDsc/pull/406 (and referenced issues and PR) where RODC was introduced (and the evaluation of site name) there is no mention of the site name need to be required.
Conclusion is that the evaluation in the two places mentioned in a previous comment could be safely removed (and related unit tests).
Happy to review a PR for this.

Guys, SiteName is a required parameter for Install-ADDSDomainController when ReadOnlyReplica is specified. You can see it in the cmdlet syntax:
SYNTAX
    Install-ADDSDomainController -DomainName <string> [-SkipPreChecks] [-SafeModeAdministratorPassword <securestring>]
    [-SiteName <string>] [-ADPrepCredential <pscredential>] [-AllowDomainControllerReinstall]
    [-ApplicationPartitionsToReplicate <string[]>] [-CreateDnsDelegation] [-Credential <pscredential>]
    [-CriticalReplicationOnly] [-DatabasePath <string>] [-DnsDelegationCredential <pscredential>] [-NoDnsOnNetwork]
    [-NoGlobalCatalog] [-InstallationMediaPath <string>] [-InstallDns] [-LogPath <string>]
    [-MoveInfrastructureOperationMasterRoleIfNecessary] [-NoRebootOnCompletion] [-ReplicationSourceDC <string>]
    [-SkipAutoConfigureDns] [-SystemKey <securestring>] [-SysvolPath <string>] [-Force] [-WhatIf] [-Confirm]
    [<CommonParameters>]

    Install-ADDSDomainController -DomainName <string> -SiteName <string> [-SkipPreChecks]
    [-SafeModeAdministratorPassword <securestring>] [-ADPrepCredential <pscredential>]
    [-AllowDomainControllerReinstall] [-AllowPasswordReplicationAccountName <string[]>]
    [-ApplicationPartitionsToReplicate <string[]>] [-Credential <pscredential>] [-CriticalReplicationOnly]
    [-DatabasePath <string>] [-DelegatedAdministratorAccountName <string>] [-DenyPasswordReplicationAccountName
    <string[]>] [-NoDnsOnNetwork] [-NoGlobalCatalog] [-InstallationMediaPath <string>] [-InstallDns] [-LogPath
    <string>] [-MoveInfrastructureOperationMasterRoleIfNecessary] [-ReadOnlyReplica] [-NoRebootOnCompletion]
    [-ReplicationSourceDC <string>] [-SkipAutoConfigureDns] [-SystemKey <securestring>] [-SysvolPath <string>]
    [-Force] [-WhatIf] [-Confirm]  [<CommonParameters>]

    Install-ADDSDomainController -DomainName <string> [-SkipPreChecks] [-SafeModeAdministratorPassword <securestring>]
    [-ADPrepCredential <pscredential>] [-ApplicationPartitionsToReplicate <string[]>] [-Credential <pscredential>]
    [-CriticalReplicationOnly] [-DatabasePath <string>] [-NoDnsOnNetwork] [-InstallationMediaPath <string>] [-LogPath
    <string>] [-NoRebootOnCompletion] [-ReplicationSourceDC <string>] [-SkipAutoConfigureDns] [-SystemKey
    <securestring>] [-SysvolPath <string>] [-UseExistingAccount] [-Force] [-WhatIf] [-Confirm]  [<CommonParameters>]

And if you try running the cmdlet without SiteName, you are prompted for it:
PS C:\Users\Administrator> Install-ADDSDomainController -DomainName contoso.com -Credential $cred -ReadOnlyReplica

cmdlet Install-ADDSDomainController at command pipeline position 1
Supply values for the following parameters:
SiteName:

That is why it is a required for the ADDomainController resource when ReadOnlyReplica is specified, and needs to remain so.

Thank you @X-Guardian! I saw that in the documentation but then @jojiklmts findings in the documentation contradicted it so I thought there was a bug with the documentation.
Thanks for clearing this up.
If cmdlet is changed in the future then what @jojiklmts suggest might work, but until then I think we can close this issue.
@jojiklmts feel free to reopen the issue if you want to discuss it more.

So this means if you have hundreds of DCs to manage you are going to need hundreds of MOF files. And will have to update all of those MOF files every time there is a change. That is unfortunate.


Failed to extract bootstrap

Tried everything that some guys said but it still doesnt work iphone 5s ios 12.0

Enable airplane mode

@Azrty i had it on everytime i tried to jb

Disable it ?

Jailbreaking work for me: ios 12.0 iPad Air A7 Unc0ver 3.0.0 beta 43

Oh I know:
Disable « enable tweaks » option
Enable airplane mode
It should work

(It worked for me)

@Azrty I'm getting the same error as OP.    Log looks like it's erroring out when trying to install openssl:
libssl1.0 conflicts with openssl (<< 1.0.2q)
openssl (version 1.0.2n) is present and installed
dpkg: error processing archive ...
conflicting packages - not installing libssl1.0
After reboot I tried running with reinstall openssh option on (tweaks off) but ended up with the same error.  I've tried a bunch of different configurations of options but it seems to always throw that error...
Any suggestions from anyone?
I'm wondering if it could be that I previously jailbroke using cydia impactor and eletra.

Going to need more information since there are multiple variations of this error. Take a look at other duplicate issues already opened.
#694
#699

@JmTexas19 I tried what you suggested in #694 still getting the error.
Info:
Iphone 7 plus ios 11.3
Uncover Version 3.0.0~b46
Here's what happened when following the steps you suggested

When jailbreaking with RootFS on it reboots at step 20/37
Jailbreaking again reboots at step 16/37 with a successful snapshot message
Jailbreaking again if fails on step 26/37 with the same error but different error message

I've tried that process a bunch of times now and each time it comes to the same point and fails, doesn't really matter what options I have (de)selected, tried with the various combinations of reinstall openssh, reinstall cydia and reload system daemons (de)selected.
I can provide the full log file if you think it's needed.

I recommend you go ahead and post the full diagnostic file and hope someone more knowledgeable comes along and helps you. I don't know much about the inner workings of Undecimus but here are some things I would try.
If you have a faulty volume button, take a look at #699.
Might be worth taking a look at older issues such as #290 or try using an older version of uncover since you are on 11.3 as most of the recent updates are focused on IOS12.

@MichaelHelmers following @JmTexas19 hint with faulty volume button: i had my iPad in a not perfectly fitting cover -> volume button seemed to be pressed. jailbroke fine without cover :-)
Márton

@MichaelHelmers following @JmTexas19 hint with faulty volume button: i had my iPad in a not perfectly fitting cover -> volume button seemed to be pressed. jailbroke fine without cover :-)
Márton

holy heck, this actually fixed it for me. im not gonna question it.


Vue application

Purpose
Describe the problem or feature in addition to a link to the issues.
Vue application which works in the browser and call external API
Proposed Change
Add new vue application
How does this change address the problem?
Builds new vue application which calls external API and opens in the browser.
Checklist
Additional
What else is note worthy?
You need to have  a rapid API account and add in your API key
Learning
Vue works well, we can add in more features as we go. But now these feature additions need to work in the context of the CI/CD pipeline
Describe the research stage
Links to blog posts, patterns, libraries or addons used to solve this problem
https://vuejs.org/
https://vuetifyjs.com/en/
https://router.vuejs.org/
https://www.npmjs.com/package/vue-axios
https://rapidapi.com/marketplace

Closes #36


Consider moving generic type parameter naming guidelines to general C# coding conventions

Currently, naming conventions for generic type parameters are described here https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/generics/generic-type-parameters#type-parameter-naming-guidelines. It would be better if those were placed together with other general C# coding conventions

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 40f42506-f4a5-859a-0266-ded002056d83
Version Independent ID: f940f2ad-e13d-4d37-6439-f8afcbc4e4c7
Content: C# Coding Conventions
Content Source: docs/csharp/fundamentals/coding-style/coding-conventions.md
Product: dotnet-csharp
Technology: csharp-fundamentals
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

That's a great suggestion @KeterSCP
I've added it to our backlog.


KAFKA-7192: Cherry-pick 5430 to 1.1

The first PR of KAFKA-7192 is cherry-picked to 1.1 but the follow-up (https://github.com/apache/kafka/pull/5430) is not. This is causing flaky EOS system test failures.
Some test results:
In 2.0 branch, running 25 times (the streams_eos_test has 4 tests, so = 100 tests), no failures:
http://confluent-kafka-2-0-system-test-results.s3-us-west-2.amazonaws.com/2019-04-05--001.1554466177--apache--2.0--db22e3d/report.html
In 1.1 branch before this PR, running 5 times, failed 10 tests:
http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2019-04-02--001.1554239700--guozhangwang--KMinor-1.1-eos-test--8395fce/report.html
In this branch (after this PR), running 25 times, no failures:
http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2019-04-05--001.1554465488--guozhangwang--KMinor-1.1-eos-test--897aa03/report.html
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@bbejeck @mjsax @vvcephei @ableegoldman for reviews.

retest this please

retest this please

retest this please

@bbejeck updated per comment.

retest this please

Java 8 and Java 10 passed Java 7 failure unrelated kafka.server.LogDirFailureTest.testIOExceptionDuringLogRoll
retest this please


in dledger mode,rewrite different StorePathCommitLog path

Make sure set the target branch to develop
What is the purpose of the change
org.apache.rocketmq.store.config.MessageStoreConfig#getStorePathCommitLog() another used int  org.apache.rocketmq.broker.processor.SendMessageProcessor#diskUtil()
Brief changelog
When initialized, overwrite MessageStoreConfig#storePathCommitLog property
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage increased (+0.06%) to 54.128% when pulling bbfc94836be2397a4dc92fd0301bd7f67ce1bfa6 on LvChenhui:develop into 9a5ec9082f6611629fc6c7459e32ac606a893c4d on apache:develop.

Coverage increased (+0.06%) to 54.128% when pulling bbfc94836be2397a4dc92fd0301bd7f67ce1bfa6 on LvChenhui:develop into 9a5ec9082f6611629fc6c7459e32ac606a893c4d on apache:develop.

Codecov Report

Merging #3121 (bbfc948) into develop (9a5ec90) will increase coverage by 0.01%.
The diff coverage is 57.14%.

@@              Coverage Diff              @@
##             develop    #3121      +/-   ##
=============================================
+ Coverage      47.89%   47.91%   +0.01%
+ Complexity      4558     4555       -3
=============================================
  Files            552      552
  Lines          36637    36636       -1
  Branches        4845     4844       -1
=============================================
+ Hits           17548    17553       +5
+ Misses         16859    16853       -6
  Partials        2230     2230

Impacted Files
Coverage Δ

...a/org/apache/rocketmq/broker/BrokerController.java
44.82% <0.00%> (-0.09%)
:arrow_down:

...org/apache/rocketmq/store/DefaultMessageStore.java
55.52% <66.66%> (+0.10%)
:arrow_up:

...rg/apache/rocketmq/common/stats/StatsSnapshot.java
84.61% <0.00%> (-15.39%)
:arrow_down:

...va/org/apache/rocketmq/common/stats/StatsItem.java
50.00% <0.00%> (-5.00%)
:arrow_down:

...org/apache/rocketmq/common/stats/StatsItemSet.java
43.28% <0.00%> (-2.99%)
:arrow_down:

...etmq/client/latency/LatencyFaultToleranceImpl.java
50.00% <0.00%> (-1.29%)
:arrow_down:

...ain/java/org/apache/rocketmq/store/MappedFile.java
50.18% <0.00%> (-0.37%)
:arrow_down:

...mq/client/impl/producer/DefaultMQProducerImpl.java
45.01% <0.00%> (+0.24%)
:arrow_up:

...a/org/apache/rocketmq/store/StoreStatsService.java
29.50% <0.00%> (+0.65%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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

@LvChenhui  pls create a related issue, I will help review.
you can refer to this article https://mp.weixin.qq.com/s/LKM4IXAY-7dKhTzGu5-oug


GUACAMOLE-966: Bump client version numbers to 1.2.0

Pull Request to bump versions within the client up to 1.2.0.  I did NOT bump the API version (guacamole-common-js/src/main/webapp/modules/Version.js) as I do not think the API has changed??  Let me know if that one should still be added, though.

I think the guacamole-common-js API has actually changed for this release. It's not changed in an incompatible way, but I can find at least the drawStream() of Guacamole.Display as a new addition (added via commit 4e130d2afd as part of GUACAMOLE-884).

Okay - addressed the issues:

Bumped the JS API version up to 1.2.0.
Reverted the common version to 1.1.0
Removed the explicit dependency on guacamole-common from pom.xml files where guacamole-ext is already being pulled in.


Custom filetype for the output window/buffer

First of all, this plugin is great! It does not try to make nvim into VS Code and just runs my tests.
I would like to make gf jump back to the previous buffer and open the location there as most of the time i am running a single file / test. In order to script this, it would be great to give the output window its own filetype so I can write an autocommand for that.

@flunderpero thanks for the issue! should work now for you 🙂

@flunderpero actually at latest commit I removed name for buffers. You can now match only by filetype


h5netcdf fails to decode attribute coordinates.

What happened:
The engine h5netcdf fail to decode attribute coordinates.
What you expected to happen:
It should work.
Minimal Complete Verifiable Example:
# Put your MCVE code here
import xarray as xr
ds = xr.open_dataset('/tmp/x.nc', engine='h5netcdf')

========H5 coordinates ['x y']

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-3-481117dce7ff> in <module>
      1 import xarray as xr
      2
----> 3 ds = xr.open_dataset('/tmp/x.nc', engine='h5netcdf')

~/miniconda3/envs/aws/lib/python3.7/site-packages/xarray/backends/api.py in open_dataset(filename_or_obj, group, decode_cf, mask_and_scale, decode_times, autoclose, concat_characters, decode_coords, engine, chunks, lock, cache, drop_variables, backend_kwargs, use_cftime, decode_timedelta)
    572
    573     with close_on_error(store):
--> 574         ds = maybe_decode_store(store, chunks)
    575
    576     # Ensure source filename always stored in dataset object (GH issue #2550)

~/miniconda3/envs/aws/lib/python3.7/site-packages/xarray/backends/api.py in maybe_decode_store(store, chunks)
    476             drop_variables=drop_variables,
    477             use_cftime=use_cftime,
--> 478             decode_timedelta=decode_timedelta,
    479         )
    480

~/miniconda3/envs/aws/lib/python3.7/site-packages/xarray/conventions.py in decode_cf(obj, concat_characters, mask_and_scale, decode_times, decode_coords, drop_variables, use_cftime, decode_timedelta)
    596         drop_variables=drop_variables,
    597         use_cftime=use_cftime,
--> 598         decode_timedelta=decode_timedelta,
    599     )
    600     ds = Dataset(vars, attrs=attrs)

~/miniconda3/envs/aws/lib/python3.7/site-packages/xarray/conventions.py in decode_cf_variables(variables, attributes, concat_characters, mask_and_scale, decode_times, decode_coords, drop_variables, use_cftime, decode_timedelta)
    504             if "coordinates" in var_attrs:
    505                 coord_str = var_attrs["coordinates"]
--> 506                 var_coord_names = coord_str.split()
    507                 if all(k in variables for k in var_coord_names):
    508                     new_vars[k].encoding["coordinates"] = coord_str

AttributeError: 'numpy.ndarray' object has no attribute 'split'

Anything else we need to know?:
The test file was created from CDL:
netcdf x {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		string foo:coordinates = "x y" ;
data:

 foo =
  0 ;
}

The line ========H5 coordinates ['x y'] comes from me adding print statement on line 56 in function _read_attributes, file api/h5netcdf.py. Obviously the problem is caused by the attribute being a list instead of a string, as it is when netcdf4 is used.
 This should work:
netcdf x {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "x y" ;
data:

 foo =
  0 ;
}

@yt87 AFAIK the CDL doesn't declare attribute types specifically. This should work:
netcdf x {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "x y" ;
data:

 foo =
  0 ;
}

Same error. This issue popped up while reading data from https://registry.opendata.aws/wrf-se-alaska-snap/

Same error. This issue popped up while reading data from https://registry.opendata.aws/wrf-se-alaska-snap/

Hmm, this worked in my case. How exactly did you create the netcdf file?

Hmm, this worked in my case. How exactly did you create the netcdf file?

If you want a quick fix to read the file, add kwarg decode_cf=False in open_dataset. Then fix the coordinate attribute and call xr.decode_cf(ds).

If you want a quick fix to read the file, add kwarg decode_cf=False in open_dataset. Then fix the coordinate attribute and call xr.decode_cf(ds).

This is how I did it:
$ ncdump /tmp/x.nc
netcdf x {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "x y" ;
data:

 foo =
  0 ;
}
$ rm x.nc
$ ncgen -o x.nc < x.cdl
$ python -c "import xarray as xr; ds = xr.open_dataset('/tmp/x.nc', engine='h5netcdf'); print(ds)"

Engine netcdf4 works fine, with string or without.
My original code retrieving data from AWS:
import s3fs
import xarray as xr

s3 = s3fs.S3FileSystem(anon=True)
s3path = 's3://wrf-se-ak-ar5/gfdl/hist/daily/1988/WRFDS_1988-04-23.nc'

ds = xr.open_dataset(s3.open(s3path))
print(ds)

Adding decode_cf=False  is a workaround. All attributes are arrays:
Attributes:
    contact<EMAIL_ADDRESS>    info:     ['Alaska CASC']
    data:     ['Downscaled GFDL-CM3']
    format:   ['version 2']
    date:     ['Mon Jul  1 15:17:16 AKDT 2019']

This is how I did it:
$ ncdump /tmp/x.nc
netcdf x {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "x y" ;
data:

 foo =
  0 ;
}
$ rm x.nc
$ ncgen -o x.nc < x.cdl
$ python -c "import xarray as xr; ds = xr.open_dataset('/tmp/x.nc', engine='h5netcdf'); print(ds)"

Engine netcdf4 works fine, with string or without.
My original code retrieving data from AWS:
import s3fs
import xarray as xr

s3 = s3fs.S3FileSystem(anon=True)
s3path = 's3://wrf-se-ak-ar5/gfdl/hist/daily/1988/WRFDS_1988-04-23.nc'

ds = xr.open_dataset(s3.open(s3path))
print(ds)

Adding decode_cf=False  is a workaround. All attributes are arrays:
Attributes:
    contact<EMAIL_ADDRESS>    info:     ['Alaska CASC']
    data:     ['Downscaled GFDL-CM3']
    format:   ['version 2']
    date:     ['Mon Jul  1 15:17:16 AKDT 2019']

@yt87 Thanks for providing all this.
Could you please give -k 'nc4' as option to the call to ncgen and report back? I think this is a problem with data model.

@yt87 Thanks for providing all this.
Could you please give -k 'nc4' as option to the call to ncgen and report back? I think this is a problem with data model.

You might be right. Adding -k nc4 works when string is removed from attribute specification. If it is present, the error is as before: AttributeError: 'numpy.ndarray' object has no attribute 'split'.
However, after changing my AWS script to
import s3fs
import xarray as xr

s3 = s3fs.S3FileSystem(anon=True)
s3path = 's3://wrf-se-ak-ar5/gfdl/hist/daily/1988/WRFDS_1988-04-23.nc'

ds = xr.open_dataset(s3.open(s3path), engine='scipy')
print(ds)

the error is TypeError: Error: None is not a valid NetCDF 3 file.

You might be right. Adding -k nc4 works when string is removed from attribute specification. If it is present, the error is as before: AttributeError: 'numpy.ndarray' object has no attribute 'split'.
However, after changing my AWS script to
import s3fs
import xarray as xr

s3 = s3fs.S3FileSystem(anon=True)
s3path = 's3://wrf-se-ak-ar5/gfdl/hist/daily/1988/WRFDS_1988-04-23.nc'

ds = xr.open_dataset(s3.open(s3path), engine='scipy')
print(ds)

the error is TypeError: Error: None is not a valid NetCDF 3 file.

Possibly related issue: https://github.com/h5netcdf/h5netcdf/issues/27
Anyway, I think I've found the root-cause of the issue. So with netcdf4-python it is possible to specify writing of attributes as NC_STRING string attributes.
The following will create a netcdf file which is readable with current xarray and h5netcdf backend.
import netCDF4 as nc
import xarray as xr
rootgrp = nc.Dataset("test_nc4_attrs.nc", mode="w", format="NETCDF4")
# rootgrp.set_ncstring_attrs(True)
x = rootgrp.createDimension("x", 1)
y = rootgrp.createDimension("y", 1)
foo = rootgrp.createVariable("foo", "i4", ("y", "x"))
foo.coordinates = "y x"
foo[0, 0] = 0
rootgrp.close()
ds = xr.open_dataset("test_nc4_attrs.nc", engine="h5netcdf")
print(ds)
print(ds.foo)
ds.close()

If you uncomment the one line, this creates netcdf file which breaks with the error @yt87 showed above. If you try to open the file with decode_cf=False and write it back using to_netcdf the same error occurs.
h5dump before uncomment
 ATTRIBUTE "coordinates" {
         DATATYPE  H5T_STRING {
            STRSIZE 3;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_ASCII;
            CTYPE H5T_C_S1;
         }
         DATASPACE  SCALAR
         DATA {
         (0): "y x"
         }
      }

h5dump after uncomment
ATTRIBUTE "coordinates" {
         DATATYPE  H5T_STRING {
            STRSIZE H5T_VARIABLE;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_UTF8;
            CTYPE H5T_C_S1;
         }
         DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
         DATA {
         (0): "y x"
         }
      }

Another thing I found, that this only accounts for coordinate attributes. All other attributes are read correctly AFAIKT. So with this in mind I would consider that a bug. The assumption that attributes are always scalar doesn't hold true.
And one more thing, also roundtripping in netcdf4 does not keep the NC_STRING type:
import netCDF4 as nc
import xarray as xr
rootgrp = nc.Dataset("test_nc4_attrs.nc", mode="w", format="NETCDF4")
rootgrp.set_ncstring_attrs(True)
x = rootgrp.createDimension("x", 1)
y = rootgrp.createDimension("y", 1)
foo = rootgrp.createVariable("foo", "i4", ("y", "x"))
rootgrp.coordinates = "z y x"
foo.coordinates = "y x"
foo[0, 0] = 0
rootgrp.close()

ds = xr.open_dataset("test_nc4_attrs.nc", engine="netcdf4")
ds.to_netcdf("test_nc4_attrs_out.nc")
ds.close()

ncdump test_nc4_attrs.nc

netcdf test_nc4_attrs {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		string foo:coordinates = "y x" ;

// global attributes:
		string :coordinates = "z y x" ;
data:

 foo =
  0 ;
}

ncdump test_nc4_attrs_out.nc

netcdf test_nc4_attrs_out {
dimensions:
	y = 1 ;
	x = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "y x" ;
data:

 foo =
  0 ;
}

So changes are needed in several places to check if the attribute is scalar or array, not only for coordinates attributes. Thoughts?

Possibly related issue: https://github.com/h5netcdf/h5netcdf/issues/27
Anyway, I think I've found the root-cause of the issue. So with netcdf4-python it is possible to specify writing of attributes as NC_STRING string attributes.
The following will create a netcdf file which is readable with current xarray and h5netcdf backend.
import netCDF4 as nc
import xarray as xr
rootgrp = nc.Dataset("test_nc4_attrs.nc", mode="w", format="NETCDF4")
# rootgrp.set_ncstring_attrs(True)
x = rootgrp.createDimension("x", 1)
y = rootgrp.createDimension("y", 1)
foo = rootgrp.createVariable("foo", "i4", ("y", "x"))
foo.coordinates = "y x"
foo[0, 0] = 0
rootgrp.close()
ds = xr.open_dataset("test_nc4_attrs.nc", engine="h5netcdf")
print(ds)
print(ds.foo)
ds.close()

If you uncomment the one line, this creates netcdf file which breaks with the error @yt87 showed above. If you try to open the file with decode_cf=False and write it back using to_netcdf the same error occurs.
h5dump before uncomment
 ATTRIBUTE "coordinates" {
         DATATYPE  H5T_STRING {
            STRSIZE 3;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_ASCII;
            CTYPE H5T_C_S1;
         }
         DATASPACE  SCALAR
         DATA {
         (0): "y x"
         }
      }

h5dump after uncomment
ATTRIBUTE "coordinates" {
         DATATYPE  H5T_STRING {
            STRSIZE H5T_VARIABLE;
            STRPAD H5T_STR_NULLTERM;
            CSET H5T_CSET_UTF8;
            CTYPE H5T_C_S1;
         }
         DATASPACE  SIMPLE { ( 1 ) / ( 1 ) }
         DATA {
         (0): "y x"
         }
      }

Another thing I found, that this only accounts for coordinate attributes. All other attributes are read correctly AFAIKT. So with this in mind I would consider that a bug. The assumption that attributes are always scalar doesn't hold true.
And one more thing, also roundtripping in netcdf4 does not keep the NC_STRING type:
import netCDF4 as nc
import xarray as xr
rootgrp = nc.Dataset("test_nc4_attrs.nc", mode="w", format="NETCDF4")
rootgrp.set_ncstring_attrs(True)
x = rootgrp.createDimension("x", 1)
y = rootgrp.createDimension("y", 1)
foo = rootgrp.createVariable("foo", "i4", ("y", "x"))
rootgrp.coordinates = "z y x"
foo.coordinates = "y x"
foo[0, 0] = 0
rootgrp.close()

ds = xr.open_dataset("test_nc4_attrs.nc", engine="netcdf4")
ds.to_netcdf("test_nc4_attrs_out.nc")
ds.close()

ncdump test_nc4_attrs.nc

netcdf test_nc4_attrs {
dimensions:
	x = 1 ;
	y = 1 ;
variables:
	int foo(y, x) ;
		string foo:coordinates = "y x" ;

// global attributes:
		string :coordinates = "z y x" ;
data:

 foo =
  0 ;
}

ncdump test_nc4_attrs_out.nc

netcdf test_nc4_attrs_out {
dimensions:
	y = 1 ;
	x = 1 ;
variables:
	int foo(y, x) ;
		foo:coordinates = "y x" ;
data:

 foo =
  0 ;
}

So changes are needed in several places to check if the attribute is scalar or array, not only for coordinates attributes. Thoughts?

@yt87 This works for me with latest h5netcdf version. There have been several fixes regarding attribute reading. The issue might be closed after confirming.

Thanks @kmuehlbauer .
@yt87 please reopen if you still have trouble after upgrading h5netcdf


Use custom domain instead of herokuapp.com

close https://github.com/fuji-nakahara/genron-sf-fun/issues/763

cf. https://reinteractive.com/posts/504-how-to-redirect-a-rails-application-to-a-new-domain-name

https://zenn.dev/fuji_nakahara/articles/23257b0f4b0b8e


Updated hyper and futures-preview, pinned hyper-tls rev

The current master didn't build. I've bumped the versions of the hyper and futures-preview crates and pinned the hyper-tls crate to the current git commit (They updated their hyper version which caused the current master to stop building).
All tests ran successfully.

Maybe the Readme should also be updated. At the moment the example shown is using async/await which is not available in the 0.6 version specified under usage.

@robinhundt Thanks for the contribution! I agree the README should be updated to at least mention the current instability with the master branch, and that the examples are for the yet-to-be-released version of the crate.


document label_join

This resolves #800 by documenting label_join function , that was implented here : prometheus/prometheus#2806

Thanks!


support loading files from uri

Implement support for loading definition files from URI.
Should be supported for both root/entry-point file, and also for referencing external schemas, eg:
$ref: 'https://example.com/openapi.yaml#/components/responses/ClientError'

Care needs to be taken as to relative path handling. Eg: if you reference a external file using a URL, and it references a file relatively then this should be resolved relative to the URL.
See https://datatracker.ietf.org/doc/html/draft-pbryan-zyp-json-ref-03 for exact specifications.
https://github.com/mnahkies/openapi-code-generator/blob/ffc8f20487c11f339d08c2493ba68b23fea041f9/packages/openapi-code-generator/src/core/file-loader.ts#L46

Initial support released in 0.9.0
It probably doesn't follow links to other schemas properly yet, but for standalone schemas will work fine.

Additionally added support for authenticated remote URI's in #230


Inspired by MacPaw/OpenAI?

Hey, @sergey-zhuravel, @kirillmukha.
I came across this repository and see that it's literally copied (inspired?) by https://github.com/MacPaw/OpenAI
Would you mind changing the design, or leaving a note where it got inspiration from? What do you think?

Btw, I see pretty much inspiration on Futurra Github home page along with MacPaw one as well.

hi, our design team really made a picture in the same style as on your page. I will ask them to make changes and in the near future we will replace the picture.
Thanks for the feedback!


Code fails to launch (non-elevated) if there is already an existing (elevated) process

There's a similar case #3180 that was closed as a dupe of #929, however I can reproduce this much worse than #929.

VSCode Version: 1.3.1
OS Version: Windows 10

Steps to Reproduce:

Run VS Code as Admin
Try to launch code as non-Admin (from taskbar, shell, explorer context menu)

Nothing happens. No new Code window, and nothing opens in the Admin instance either.

#1614

@joaomoreno that case defined very different behaviour - where new code windows open but are not elevated. The bug here is that clicking Code does absolutely nothing. No Code window, no reused existing instance, no error message, nothing.
While the two may be related, surely it should not be considered a new feature for clicking the icon on the taskbar to actually do anything at all? :/
Even a nasty pop-up saying "There is another instance of coding running" would be better than the (really confusing) behaviour of silently doing nothing.

The issue relates to supporting all use cases of running as Administrator, and this is one of them.
I totally agree with you on the current behaviour though.
Since we're trying to decide whether we should allow people to open as Administrator at all, let me ask you: why do you need to open it as an Administrator? Just to save write-protected files?

I actually don't, it was just a side-effect of launching it from an elevated PoSh shell. If it had launched a non-elevated Code that would probably suit me fine :)

Thanks!


Update Composer dependencies (2023-08-23-00-13)

Visual regression test passed!
View the visual regression test report