Save files under temporary name in local backend

What does this PR change? What problem does it solve?
Files in local backends are written to a temporary file first, then sync'd, then renamed. In case of a crash or network disconnect, broken pack files will end up with names of the form *-tmp-* and will not be picked up by other restic commands.
Was the change discussed in an issue or in the forum before?
Fixes #3435.
This patch includes #3420 to avoid merge conflicts.
The code is similar to #2838, but does not take into account writing to a single repo from multiple sources (the repo is assumed to be locked).
Checklist

[x] I have read the Contribution Guidelines
[x] I have enabled maintainer edits for this PR
[x] I have added tests for all changes in this PR
[ ] I have added documentation for the changes (in the manual)
[ ] There's a new file in changelog/unreleased/ that describes the changes for our users (template here)
[x] I have run gofmt on the code in all commits
[x] All commit messages are formatted in the same style as the other commits in the repo
[x] I'm done, this Pull Request is ready for review

Thanks for this! I really like that this preserves the invariant sha256sum(file) == filename for more than referenced pack files. It's not a requirement but it gives me a warm fuzzy feeling.
With regard to the temporary naming, rsync chose to do .<FILE_NAME>.<RANDOM_STRING>. Your PR doesn't include random characters, and I think that's a simple solution to the concern about multiple writers. Thoughts?
Could you rebase since #3420 was merged?

ioutil.TempFile adds the random string. A rebase shouldn't be necessary since this PR is e5f0f67ba08770c1138619891cd37a1ce87c34b1 from #3420 + one commit on top of it.

I'm wondering whether restic should sync the directory after renaming the temporary file (which was also sort of missing before)? Otherwise a crash of the host running restic could miss some file rename operations in the end. If we don't want a strict guarantee that pack files are created atomically, we could probably rename the file first and then sync both the file and its parent directory.

If we don't want a strict guarantee that pack files are created atomically, we could probably rename the file first and then sync both the file and its parent directory.

In ACID terms, the new code is atomic on Unix, it's just not durable (borrowing an argument from the renameio docs). Atomicity is enough to fix #3435.
I'm not sure what you mean by "then sync both the file and its parent directory". For an atomic write, you need to sync the file before the rename. Sync'ing it (again?) afterwards doesn't do anything, since the filename is exclusively a part of the directory on Unix and Windows.

By the way, from reading the issue tracker for renameio (https://github.com/google/renameio/issues/1) and Go issues linked there (https://github.com/golang/go/issues/32188#issuecomment-497870124), I'm getting less convinced of the reliability of this solution on Windows. I can't precisely figure out what the issues discussed there are, though, and whether they affect restic...

I'm not sure what you mean by "then sync both the file and its parent directory". For an atomic write, you need to sync the file before the rename. Sync'ing it (again?) afterwards doesn't do anything, since the filename is exclusively a part of the directory on Unix and Windows.

I had durable but not atomic writes in mind, which should be the more important property for restic. For that it would be just important to sync the file and directory content to disk. Depending on how finegranular fsync is implemented by the filesystem, syncing the file content after the rename could avoid writing the directory twice (assuming the fsync of the file before the rename causes the directory to be written as well).

I see what you mean now. However, I don't have the resources to properly assess that optimization, and I can imagine one situation where it might be detrimental to performance, which is when a remote filesystem (NFS?) implements fsync by unconditionally sending a message to the server.
In any case, I've added a Sync on the directory in a new commit.

I put the dir sync in local_{unix,windows}.go. From a web search, I get the idea that this is really not possible (maybe not needed?) on Windows.

I've added a short changelog entry. Although, I'm not sure whether it sounds too dramatic or too technical.

I've rebased the PR to the current master branch.


[Desktop] Layout snapping for crisp fractional scaling

Use case
Unlike mobile where high density is ubiquitous, only a portion of devices on desktop can afford to have 2x or more device pixel ratio. Meanwhile, the density baseline is slowly going up so many users end up with a fractional scaling factor like 1.25x.
Fractional scaling creates rounding problems: UIs designed for a integer pixel grid now no longer snaps to it. Flutter chooses the approach to happily draw at fractional coordinates, which allows the layout to be more scale independent. However, this comes with blurring/antialiasing artifacts, and this can be especially noticeable to some people at lower DPI.
A screenshot of Chicago's gallery below (at 125% scale) demonstrates the blurred borders.

You can compare this with the UI at 100% scale, where the borders snap to the pixel grid. The borders are much more crisp this way.

Pro tip: view at 100% scale: that is, if your system scale is 125%, then you need to set the browser zoom to 80%.
Proposal
The web platform already have a sensible answer to this question. I use Firefox as my daily driver, and its behavior is described as below:

We’re trying to meet a bunch of constraints that can’t all be satisfied at the same time (the proof is left as an exercise to the reader, though I may have actually written it out once in a Bugzilla comment):

4 adjacent objects of width/height 25% (for example) starting at one edge of a container should end exactly at the other edge; there should never be an extra pixel in the container and they should never be wrapped due to being a pixel to wide
objects that are logically adjacent should always touch visually; there should never be a pixel gap or a pixel of overlap due to rounding error
objects given the same width should occupy the same number of pixels
object boundaries should always (visually) be aliased to a specific pixel boundary in the display (they should never be blurred)

The one [Mozilla] sacrifices is typically (3), except for borders where we sacrifice (1) by rounding the widths to pixel boundaries much earlier.
Source

So boxes are snapped to the grid after layout, as the <0.5px distortion would likely be unnoticeable. Borders on the other hand needs to have their width rounded before layout, that is, a 1dp border at 125% scale becomes 0.8dp, in addition to being snapped to the grid after layout.
As a final note, this behavior probably should be opt-in, just like how people have been fighting for hinted fonts vs unhinted fonts for ages.
A related issue is #31707, but it proposes to not support the feature described in this issue. The floating point hack, also mentioned #31707, happens in logical pixels, and therefore it does not contributes to crispness in any way.

Related: https://github.com/flutter/flutter/issues/59798

I really need this. It may sound like a minor issue, but this really hurts my eyes and prevents me from using flutter on the desktop platform.

Related: https://github.com/flutter/flutter/issues/116278 - issue from 2022 where I tried to make an argument for framework being aware of physical pixels.
Ideal solution would be for layout to be done in physical pixel space, similar what compose is doing. But this also affects things like decorations that would need to snap to physical pixels.
@ishitatsuyuki, I have a pixel_snap package that can be used to build sharp looking application on any pixel density. It works, but it's solving a problem that shouldn't be existing in the first place.

Related issue that would be fixed if layout was calculated with physical pixels: https://github.com/flutter/flutter/issues/14288

Closing in favor of https://github.com/flutter/flutter/issues/151065


Update titles and labels

Preview is available here:http://developers-pr108.previews.kube001.services.stellar-ops.com


Key combinations involving the Cmd(⌘) key inserts unexpected text.

Steps to reproduce

Open the MacVim.app and enter INSERT mode
Type some Cmd key combinations that don't map to anything: Cmd+K, Cmd+F8, Cmd+Shift+F8, ...
Each key combination inserts the textual representation of itself:

<D-k>
<D-[>
<D-F8>
<S-D-F7>
<C-S-D-F8>
<M-C-S-D-F8>

I have reproduced the above with following conditions:

Turning off keymap softwares like Karabiner.
mvim --clean

Expected behaviour
Except for some predefined keymaps (Copy, Paste, ...), nothing happens.
Version of Vim and architecture
9.0.65 (173), GUI, arm64
Environment
Operating System: Monterey, arm64
How MacVim was installed
GitHub
Logs and stack traces
Nothing is logged

Vim configuration where issue is reproducable
No response
Issue has been tested with given configuration

[X] by running MacVim.app from GUI macOS interface
[X] by running vim/gvim/etc installed by MacVim
[ ] by running other versions of vim (e.g. /usr/bin/vim)

Issue has been tested with no configuration

[X] by running mvim --clean (or gvim, supplied by MacVim distribution)
[ ] by running vim --clean (in terminal, supplied by MacVim distribution)
[ ] by running vim --clean (in terminal, other suppliers, e.g. /usr/bin/vim)

Other conditions

[ ] The both Homebrew packages "vim" and "macvim" are installed

This isn't a new issue.  I can replicate the behavior pre 173.
OS: 11.6.8, intel Macbook pro 2019.

That's just how Vim works in general. You also get the same thing with Ctrl modifiers for example. What MacVim does is to make a new modifier <D- to allow mapping of Cmd keys but the core Vim logic is the same.

Actually let met think about this a little more.

I agree with @ychin. Vim core for each mode has its own mapping table. For keys not listed in the table it print out keys in insert mode.

@eirnym @ychin
I'm having trouble finding how to disable this behavior. Would you mind if you let me know? Thank you.

I remember this behavior in vim since forever (not only since I'm using MacVim). I'd suggest to ask in https://github.com/vim/vim or in stack overflow community.

@eirnym MacVim.app and vim --clean from Terminal.app shows different result:

MacVim.app
vim --clean (Terminal.app)
vim --clean (Terminal.app, delete F8-related keymaps)

⌘K
Inserts <D-k>
Terminal.app clears the screen
(same as the left)

⌘Y
Inserts <D-y>
Nothing happens (bell)
(same)

⌘[
Inserts <D-[>
Nothing happens (bell)
(same)

⌘ F8
Inserts <D-F8>
Inserts <F8>
Nothing happens (bell)

⇧⌘ F8
Inserts <S-D-F8>
Nothing happens (bell)
(same as the left)

⌃⇧⌘ F8
Inserts <C-S-D-F8>
Nothing happens (bell)
(same)

⌥⌃⇧⌘ F8
Inserts <M-C-S-D-F8>
Nothing happens (bell)
(same)

To me, it is more of MacVim's issue.

I meant that Vim inserts unmapped sequence to the input directly.
Also Vim interprets keys differently when they come via terminal and GUI. This is common for all GUIs
What exactly is mapped or not it's a different question and I understand that your issue is not about this topic.

https://github.com/vim/vim/issues/3036
It implies that there is no way to disable the behavior in question, except that I have to manually map every key combination, which happens to annoy me, to <NOP>.

Additionally, it's well known that Terminal.app consumes all key combinations with Cmd in it. Thus if you want to use these combinations in terminal, I suggest use alternative terminal like Kitty or iTerm. As far as I know they send combinations with cmd to an app

@eirnym Thank you! I have confirmed that iTerm.app allows mapping Cmd key combinations while Terminal.app does not; also has very limited options for key combinations (e.g. you can't use alphabet characters).
Back to the main topic, it seems reasonable that this issue be closed 😢.

You're welcome

So, terminals in general don't know anything about Cmd keys. There aren't standardized ways to send command key combos to Vim or other terminal programs, and Vim itself also doesn't know much about cmd keys. From digging around, Vim's support of the command key (MOD_MASK_CMD) is more than a decade old and seems to be implemented for the old, now defunct, Carbon-based gVim on the Mac, and has special cases sprinkled all over. Since that UI is no longer used, only MacVim uses it.
There is some special code in edit.c's insert_special() function that forcefully prints out sequences like <D-j> when you press Cmd-j. It's also really old code. We could potentially remove it so it doesn't do that, but I also kind of don't feel like doing it, and it's also better done upstream at Vim.
Is there a reason why this bothers you anyway @zzJinux ? Are you making a mistaken Cmd key press and seeing this all the time?

@ychin yes, iTerm supports passing through keys with Cmd key if they not already bonded with iTerm itself

Closing this issue. This feature has been like this for a while. It's not worth changing it now.

@ychin
This turned up to me when, while using Macvim (GUI), one app triggered a werid key combination. <M-C-S-D-F19>  is inserted everytime I hit CapsLock key. I have already sent an email to the developer of that app, not receiving any response yet. Subsequently I realized that some other key combinations showed the same behavior.
While using the terminal vim, almost all mistakten key combinations are effectively ignored due to the terminal application's default setting (I use Terminal.app personally). It seems to be gvimrc's responsibility to ignore those while using GUI MacVim.
MacVim may introduce another method in the future. For now, I will go with gvimrc.

Hmm but I mean Terminal would not block it if you hit say <F-10> and it will definitely print that. I’m not sure why it’s blocking the weird combo above but  seems like the general issue here is that your tool is generating these key presses.
I kind of prefer not adding MacVim specific changes here and I don’t think think it’s MacVim’s job to block random Function keys just because some tool generates it. I can somewhat see doing something about the <D- Cmd key stuff but seems like that’s not your issue anyway.
Maybe Vim can add an option to not print Function keys (or other unmapped special keys like cmd keys) if they are not mapped (unless in i_Ctrl-V)? I think that’s the best solution I can think of. Feel free to file an issue there.


Merge Application Gateway Deployment to Main Networking Deployment

Merge Application Gateway Deployment to Main Networking Deployment

Added to branch #189 . Closed.


How safe is this package for storing ethereum private keys in the device?

Question above

Depends on what you think is safe. It is secure at device basis, but you still need some sort of authorization implemented in your app in order to prevent anyone from opening it.


Override packaging check for deploy-war

Currently, the heroku:deploy-war goal fails if the pom.xml is not configured with war packaging. We should add a flag to the plugin config that disables this.

Please add this modification.  It will allow developers to deploy otherwise-built war files (e.g. grails, ant, etc) in configurations that could include additional artifacts (e.g. New Relic jar, choice of runner, custom Proc file, etc).  Command-line war deployment with the toolbelt doesn't currently allow for anything but a simple war deploy.


Expose Blob

It would be useful to access the Blob polyfill you use.
This would allow us to manually create Blobs to pass to fetch.

our Blob implementation is now published as a separate package, we will integration it to node-fetch in future release.
https://github.com/bitinn/fetch-blob

What when through your mind when you decided to call it fetch-blob and not something like node-blob? 😂
Anyway, how would you get a blob then?
fetch.blob = require(blob)

// or
var impl = require(blob)
var res = await fetch(url)
await res.blob(impl)

or dose node-fetch rely on fetch-blob?

node-blob already exists, don’t want to use named scope.
Probably want to go with a plug-in / mixin route, as it is a part of Timothy’s old goal. I haven’t decided yet.
(From my phone)

On May 16, 2019, at 19:23, Jimmy Wärting<EMAIL_ADDRESS>wrote:
What when through your mind when you decided to call it fetch-blob and not something like node-blob? 😂
Anyway, how would you get a blob then?
fetch.blob = require(blob)
// or
var impl = require(blob)
var res = await fetch(url)
await res.blob(impl)
or dose node-fetch rely on fetch-blob?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.

ok, only the feature will tell


Privacy concern: user data is being sneakily collected

GPT Engineer collects user data, namely user prompts among other metadata. This fact is not mentioned in the README, nor is it mentioned that you can opt out by setting the COLLECT_LEARNINGS_OPT_OUT environment variable. The ToS link in the README is broken. Therefore, the only way for users to be aware of their data being sneakily collected is to read the code.
I consider this to be a violation of users' privacy, and propose one of the following to be implemented as soon as possible:

Make opting out the default choice, and provide a facility for opting in (via command line options or env. variable)
Update the README to explicitly state that you are collecting user data, and provide clear instructions for opting out

https://github.com/AntonOsika/gpt-engineer/blob/0596b07a39c2c99c46509c17660f5c8aef4b2114/gpt_engineer/collect.py#L25

@barshag

you can opt out by setting the COLLECT_LEARNINGS_OPT_OUT environment variable

Created a pull request: https://github.com/AntonOsika/gpt-engineer/pull/423

Thanks for raising concern!
Especially the broken link to terms of use. Fixing asap.
The terms are very short so should be easy to read.
As for prompts being recorded: This was discussed publicly in discord #general during the weekend. Since openai is doing this already we did not see an issue.
Could anyone steelman the argument here for why a 20 page openai ToS stating that data is collected is fine but the terms of use here are not explicit enough?

 That services collect data is somewhat expected, people know that their data will end up collected by using the service, even without reading the ToS. The same does not apply to software. People assume that software (especially open source software) does not collect data if not immediately necessary for the functionality of the software.
Some people will not use OpenAI with this repo, but connect it to offline models run in, for example, the oobabooga webui using their OpenedAI API endpoint. If you set up the project like this, the reasonable expectation would be to have a privacy-first offline instance of this project. Having this setup then secretly communicate prompts to some feedback collector would be unexpected behaviour.
"[...] why a 20 page openai ToS stating that data is collected is fine but the terms of use here are not explicit enough?" -> there are no ToS for this repo, or they aren't linked in the readme.
GDPR compliance: not a lawyer, but for EU users you have to keep in mind the legally binding principle of data avoidance. If the data isn't necessary to run the service, you're not allowed to collect it without getting people to agree to it. Opt-out isn't enough, it must be explicitely opt-in for website-cookies for example. OpenAI can argue that their data collection is necessary for their service and also explicitely receive permission people setting up accounts on their site. The same does not apply to this repo.

Stealth addition of MITM spyware would constitute an issue under the code of conduct or in any professional setting when dealing with likely commercial in confidence; trade secrets, IP, internal processes, etc.
https://github.com/AntonOsika/gpt-engineer/blob/main/.github/CODE_OF_CONDUCT.md
Examples of unacceptable behavior include:
...
Other conduct which could reasonably be considered inappropriate in a professional setting

I appreciate the open discussion about this.
For the bulk of the issue I'm definitely to blame here:
We wrote a terms of use, explaining the data collection, and linked to it from the README when performing the telemetry update.
I rushed getting this out, and did not add the terms of use to version control.
We d not have any "automatic tests" for broken links, as we have for code, and it was merged before I caught it.
Many parts of the negative reaction, apart for my huge blunder with the broken link (reaction on this is warranted) stand out to me as overly polarised against what is pretty standard product analytics. Two main reasons:

A core part of the application is that the user is explicitly prompted to share if the code worked or not for "learning" purposes. Based on that this is the user flow, it should be expected that it is stored.

A lot of care is put into not sending or storing any private date (IP, use agent, similar). Very happy to have this fact audited.

I am committed to doing what is best for the community here. This means striking the right balance of not invading privacy and building a useful tool. Without getting feedback, per default, on how well this tool works for users it is very difficult to do a good job on improving it.
My experience before this issue was created was that: very few people are protective of sharing their prompts with external services (consider all the GPT chrome extension etc out there, where I'm many also share IP, fingerprint, etc).
Conclusions
Appreciate your contribution @Gamekiller48 and everyone. I know everyone here wants what is best for the users.
I will merge your PR @Gamekiller48 (opt out -> opt in PR).
If someone, in addition, could make a PR to make the "CLI review flow" ask "is OK to send data", that would be great.
(I'm super busy at the moment and not able to write code, would look into it myself otherwise)
Furthermore, as a follow-up here, I will ensure there is further review on what is the right policy for an application like this, and that there is an informed decision with input from experts and those with opinions from different sides.
I will post in this issue again with the final conclusions, including if we decide to change the stance on data collection. In this way everyone subscribed to this issue will become notified.
Final word:
Some examples of comments, such as "stealth addition" (the data collection updates were announced) and "MITM spyware" weigh on me and take much of the joy out of trying to measure the capability and continuously improve the project. I ask from the community to get support in building something useful and open source, and get constructive contributions. Such as PRs to address concerns and improve the tool for everyone (thanks @Gamekiller48 🙏 )

When using the ChatGPT through the API (as this project does), OpenAI explicitly does not collect user data to further train their models:
https://openai.com/policies/api-data-usage-policies

OpenAI will not use data submitted by customers via our API to train or improve our models, unless you explicitly decide to share your data with us for this purpose.

Though they do retain data for 30 days in case of abuse and misuse, which is completely different from retaining data to improve the service:

Any data sent through the API will be retained for abuse and misuse monitoring purposes for a maximum of 30 days, after which it will be deleted (unless otherwise required by law).

@cmsimike There is no API for ChatGPT. You're using the GPT-4 API or the GPT-3.5 API depending on how your gpt-engineer is configured. Folks, ChatGPT != GPT-4. :)

I don't know if I would call it sneaky. I mean this repo has had so many things changed in the past 30 days, it is easy for a broken link to get overlooked.

Didn't get any PRs but #471 is merged to clarify this further

#471 is merged to explicitly ask for consent


Ability to replace/disable JacksonMessageBodyProvider

Hello,
currently JacksonMessageBodyProvider is registered via AbstractServerFactory#createAppServlet() like this:
jersey.register(new JacksonFeature(objectMapper));
I want to register my own custom JacksonProvider and I'm doing it like this: environment.jersey().register(MyCustomJacksonProvider());
The problem is that with this implementation Jersey has two custom providers (one created by Dropwizard and another created by me) and it is resolved randomly by org.glassfish.jersey.message.internal.MessageBodyFactory.
My question - is there a possibility to disable Dropwizard registered JacksonMessageBodyProvider or replace it in order to have only one custom provider?

Once a feature is registered, it may not be overridden or unregistered. So if you want to have a custom JacksonFeature, you have to prevent Dropwizard from registering the default one.
The only option I currently see for this is to provide a custom ServerFactory. Since createAppServlet is protected, you could extend DefaultServerFactory and override the method with your custom behaviour.

Does adding a non-default/higher priority on the custom provider take precedence over the dropwizard registered instance?
https://jakarta.ee/specifications/platform/8/apidocs/javax/annotation/priority

In the Jersey docs the selection algorithm doesn't specify it would handle @Priority annotations.
But you could try explicitly setting json as media type, since the default Jackson provider uses MediaType.WILDCARD.

@Samiruaks any luck with providing a custom provider with a more specific media type?

In the Jersey docs the selection algorithm doesn't specify it would handle @Priority annotations.

I suggested it based on this comment > https://github.com/eclipse-ee4j/jersey/issues/3473#issuecomment-460624390

I suggested it based on this comment > https://github.com/eclipse-ee4j/jersey/issues/3473#issuecomment-460624390

Then it should be explicitly stated in the selection algorithm IMO. If it works anyway, then we should report this to the Jersey team to update their docs.


Stop actor lattice control command needs an actor count

Need to be able to specify how many actors of a given public key are to be terminated by the target host.

This should depend on #125


Adding swagger yaml file : v1 of  SODA Infrastructure Management APIS.

What this PR does / why we need it:
First version (v1) of SODA Infrastructure Management APIS.
this is the swaager yaml format.
Which issue this PR fixes
#78
Special notes for your reviewer:
Some APIS (storages/<storage_id>/storage-pools , storages/<storage_id>/volumes,are not implemented and thse will be implemented based onreview in community.
Release note:

SODA Infrastructure Manager API secification swagger file v1

Codecov Report

Merging #156 into master will decrease coverage by 0.59%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #156      +/-   ##
==========================================
- Coverage   29.19%   28.59%   -0.60%
==========================================
  Files          61       61
  Lines        3919     3868      -51
  Branches      441      441
==========================================
- Hits         1144     1106      -38
+ Misses       2758     2745      -13
  Partials       17       17

Impacted Files
Coverage Δ

dolphin/drivers/driver.py
56.52% <0.00%> (-11.23%)
:arrow_down:

dolphin/wsgi/common.py
53.57% <0.00%> (-4.50%)
:arrow_down:

dolphin/api/validation/validators.py
21.60% <0.00%> (-2.44%)
:arrow_down:

dolphin/api/validation/__init__.py
72.72% <0.00%> (-2.28%)
:arrow_down:

dolphin/api/v1/storages.py
38.65% <0.00%> (-2.00%)
:arrow_down:

dolphin/api/common/wsgi.py
22.60% <0.00%> (-1.09%)
:arrow_down:

dolphin/api/common/__init__.py
28.35% <0.00%> (-1.06%)
:arrow_down:

dolphin/db/sqlalchemy/api.py
22.22% <0.00%> (-0.95%)
:arrow_down:

dolphin/context.py
57.14% <0.00%> (-0.86%)
:arrow_down:

dolphin/coordination.py
49.25% <0.00%> (-0.75%)
:arrow_down:

... and 8 more

@wisererik @sfzeng @kumarashit please check ..

@skdwriting please check


versioning dependency issue in global namespace causes unhelpful diagnostic message

Diagnostic is:  @typespec/versioning/using-versioned-library: Namespace '' is referencing types from versioned namespace 'Azure.Core' but didn't specify which versions with @useDependency
referencing the global namespace as Namespace '' is less than helpful.
Also, the issue in this case is that you probably don't want types in the global namespace at all, with the mitigation being moving them inside a named namespace and adding the @useDependency decorator.
We should update the message in the case of the global namespace to refer to the namespace as the global namespace, and change the action the user should take as moving these types into a named namespace

Dup of https://github.com/microsoft/typespec/issues/1953?

Closing as duplicate of https://github.com/microsoft/typespec/issues/1953


Unit testing

Unit test is needed.

Google test looks good on a first glance.

Turns out that cmocka is a better fit.


fix: --properties-required-by-default flag

Changes
Fix --properties-required-by-default flag not working. #1651
How to Review
It was just simple typo.
Checklist

[x] Unit tests updated
[x] docs/ updated (if necessary)
[x] pnpm run update:examples run (only applicable for openapi-typescript)

@drwpow any chances of fast approve and release?

Thanks for the fix; this looks good to me! I’d love to add a test for this so this doesn’t regress in the future. And also please add a patch changeset (see comment) so the version can be bumped and released. But otherwise, this looks good and would be happy to merge when both of those items are in.

@drwpow Changeset done. It will be hard to test that part. The problem comes from cli.js not being part of the build process and static analysis not being done on that file. I will take some time over the weekend and make it work if you wish. But for now is it possible to merge that change? It will be helpful for me at work.

So there are CLI tests for flags already. A lot of them had been moved into the Node API tests, but for this change, we could just do a simple expect(…).toMatchFileSnapshot() test to make sure it’s working as-expected. It would also just help prevent these regressions in the future!

@drwpow Should be done! You can run diff ./examples/github-api.ts ./examples/github-api-required.ts to check if flag works as you expect.

And I'm testing against ./example/github-api-required.ts

Awesome, thank you so much! That works—just something that verifies a) this is the correct fix, and b) we’ll see a test failure if this regresses. That saves a ton of work in the long term; appreciate it!

Great, thanks!


Configurable workspace path

I jump between java projects quite frequently, which means that each of them need a separate workspace directory. Otherwise, there is a need to clear the workspace dir before every launch, which is sub-optimal.
I got around this issue by applying a patch the the jdtls-launcher.sh, that allow the script to accept an optional workspace directory. So the way it works now is:

Workspace root is unique per project, which is resolved dynamically every time jdtls is to be launched.
this line takes whatever args were passed from cmd and forwards them to run e.g. `run "$@"
Instead of using a hard-coded workspace path here we instead take the arguments passed to the function e.g. --data "$@"

I realize this is a very naive solution, but it works for most of the use cases. I certainly haven't had problems with it so far.
Ideally, there should be an option like --workspaceDir or something that would default if not provided. WDYT?

I don't quite understand the problem here, there shouldn't be any conflicts by default since the workspace is a root and each project gets its own subdirectory.
For example, this is my Workspace structure:
❯ tree -L 1
.
├── eruizc-dev_a8d6905d
├── jdt.ls-java-project
├── nvim-efm-setup_2e6741e6
├── TCP_conversor_aa60fe8c
├── test_1356b31d
├── test_4c6067d
└── test_de585d96

A hash is also included to prevent conflicts from projects with the same name
I like the solution you provided for changing workspace (assuming we keep backwards compatibility and there's a default value), but are we sure that's the root of your problem?

Since the per-project workspace isn't much of an issue and the default location ~/.cache/jdtls-workspace is now configurable, I'll close this
Thanks for the issue and PR #20


Increase the batch size of admin URL data migration.

Increasing from 50 to 1000 increases the transient
memory usage from 350MB to 550MB but decreases the
time per 1000 editions from 50s to 30s.

Sounds reasonable to me :+1:


Larger cropping res?

I used your dataset manager to help make an SD1.5 lora. It was easy enough, but I have one request:
Is there any way to increase the cropping/upscaling resolution to 1024x1024?
I want to try training an SDXL lora, but I believe my dataset would have to be 1024x1024.

You can select 1024x1024 on the "Output" tab under resolution, or do you mean something else?

I see it now, thanks. I thought the resolution was locked to 512, disregard.


TVOS text doesn't scrolls down in a ScrollView

Hii, I've been trying to make a scrollable text component for tvos like the one we see in terms and conditions box in a lot of applications. The code works fine for android tv but the text doesn't scroll down in tvos.
REACT NATIVE VERSION: 0.61.2
STEPS TO REPRODUCE
The code snippet is as follows:
<ScrollView style={
{
flex: 1,
paddingTop: getScaledValue(50)
}}
contentContainerStyle={{
alignItems: 'center',
justifyContent: 'center'
}}
removeClippedSubviews={false}
isTVScrollable={true}
< Text style={styles.textH2} >
This is the text portion that needs to be scrolled .............
< /Text >
< /ScrollView >
Any help will be appreciated!

I'll take this up and see if I can get it to work.  This seems to be a general issue with tvOS, not just a React Native issue.  Some suggested fixes are in https://developer.apple.com/forums/thread/19309 , I'll play around with it and see what works.

@jasmeet447 here's something that will hopefully get you unblocked, and at least make the scrolling work.  I think it definitely needs some more tweaks, but it is a step in the right direction.

Make the following patch in the native iOS/tvOS React Native source code:

--- node_modules/react-native/React/Views/ScrollView/RCTScrollView.h	2020-08-18 15:08:21.000000000 -0700
+++ node_modules/react-native/React/Views/ScrollView/RCTScrollView.h	2020-08-18 15:08:21.000000000 -0700
@@ -10,11 +10,11 @@
 #import <React/RCTAutoInsetsProtocol.h>
 #import <React/RCTEventDispatcher.h>
 #import <React/RCTScrollableProtocol.h>
-#import <React/RCTView.h>
+#import <React/RCTTVView.h>

 @protocol UIScrollViewDelegate;

-@interface RCTScrollView : RCTView <UIScrollViewDelegate, RCTScrollableProtocol, RCTAutoInsetsProtocol>
+@interface RCTScrollView : RCTTVView <UIScrollViewDelegate, RCTScrollableProtocol, RCTAutoInsetsProtocol>

 - (instancetype)initWithEventDispatcher:(RCTEventDispatcher *)eventDispatcher NS_DESIGNATED_INITIALIZER;

For the ScrollView that wraps the text block, add the property isTVSelectable={true}.

@dlowder-salesforce I tried the steps that you've mentioned above, I get an error "Exception thrown while executing UI block".

I think it doesn't recognize the RCTTVView class. Can you tell me a possible explanation for the issue?
Here is a reference that might help you get it:

The error screen you showed is what happens if you don’t recompile the app before running it.

Thanks @jasmeet447 -- I'm going to keep working on a fully native solution for this so that fewer events have to cross the bridge.  This project aims to provide full keyboard support for iOS apps -- I'm looking at what was done for the scroll view to see if it can be applied here.

Fixed in 0.63.1-1


Fix stale promise job store cache (resolves #817)

Resolves #817

Build failed for unrelated reasons, e.g. me switching instance types. Build should still fail to prove the bug but it has to fail in the test that @jpfeil added.
Jenkins, test this please.

Build failed again, for unrelated reasons but the test @jpfeil added also failed as expected:
http://jenkins.cgcloud.info/job/toil-pull-requests/1151/testReport/junit/src.toil.test.src.promisesTest/CachedUnpicklingJobStoreTest/test/

Continued in #823.


ArrayIndexOutOfBoundsException

Hello!
I try to send 15Mb buffer from server to client and get some internal error in client side during receiving.
Is it bug or I do something wrong?
Test case is the following:

Server waits for connection.
Client opens connection and waits for data.
Server sends some data.

public class Main
{
    public static void main(String[] args)
    {
        try
        {
            //stub data to send
            final byte[] bulk = new byte[15 * 1024 * 1024];
            Arrays.fill(bulk, (byte) 0xAF);

            final InetSocketAddress local = new InetSocketAddress(InetAddress.getLocalHost(), 12345);

            //The Server.
            Thread server = new Thread()
            {
                @Override
                public void run()
                {
                    try
                    {
                        UtpServerSocketChannel server = UtpServerSocketChannel.open();
                        server.bind(local);
                        UtpAcceptFuture acceptFuture = server.accept();
                        acceptFuture.block();
                        UtpSocketChannel channel = acceptFuture.getChannel();
                        ByteBuffer out = ByteBuffer.allocate(bulk.length);
                        out.put(bulk);
                        //Send data
                        UtpWriteFuture fut = channel.write(out);
                        fut.block();
                        channel.close();
                    }
                    catch (Exception e)
                    {
                        e.printStackTrace(System.err);
                    }
                }
            };
            server.start();

            //The Client.
            UtpSocketChannel channel = UtpSocketChannel.open();
            UtpConnectFuture cFut = channel.connect(local);
            cFut.block();
            ByteBuffer buffer = ByteBuffer.allocate(bulk.length);
            //Receive data. --EVERYTHING BREAKS UP HERE--
            UtpReadFuture readFuture = channel.read(buffer);
            readFuture.block();
            channel.close();
        }
        catch (Exception e)
        {
            e.printStackTrace(System.err);
        }
    }
}

And I get the following out:
DEBUG [18:14:25] UtpSocketChannel - [Syn send] [ConnID Sending: 720] [ConnID Recv: 719] [SeqNr. 1] [AckNr: 0]
DEBUG [18:14:25] UtpSocketChannel - [Syn recieved] [ConnID Sending: 719] [ConnID Recv: 720] [SeqNr. 25329] [AckNr: 1]
DEBUG [18:14:25] UtpSocketChannelImpl - sending syn ack
DEBUG [18:14:25] UtpAlgorithm - MINIMUM_TIMEOUT_MILLIS: 500 PACKET_SIZE_MODE: CONSTANT_1472 MAX_PACKET_SIZE: 1472 MIN_PACKET_SIZE: 150 MINIMUM_MTU: 576 MAX_CWND_INCREASE_PACKETS_PER_RTT: 3000 C_CONTROL_TARGET_MICROS: 100000 SEND_IN_BURST: true MAX_BURST_SEND: 5 MIN_SKIP_PACKET_BEFORE_RESEND: 3 MICROSECOND_WAIT_BETWEEN_BURSTS: 28000 TIME_WAIT_AFTER_FIN_MICROS: 3000000 ONLY_POSITIVE_GAIN: false DEBUG: false
DEBUG [18:14:25] UtpSocketChannelImpl - starting scheduler
DEBUG [18:14:25] UtpSocketChannel - [SynAck recieved] [ConnID Sending: 720] [ConnID Recv: 719] [SeqNr. 2] [AckNr: 0]
ERROR [18:14:25] SkippedPacketBuffer - seq, exp: 25329 1
java.lang.ArrayIndexOutOfBoundsException: 25328
        at net.utp4j.channels.impl.read.SkippedPacketBuffer.bufferPacket(SkippedPacketBuffer.java:66)
        at net.utp4j.channels.impl.read.UtpReadingRunnable.handleUnexpectedPacket(UtpReadingRunnable.java:250)
        at net.utp4j.channels.impl.read.UtpReadingRunnable.run(UtpReadingRunnable.java:107)
java.io.IOException
        at net.utp4j.channels.impl.read.SkippedPacketBuffer.bufferPacket(SkippedPacketBuffer.java:72)
        at net.utp4j.channels.impl.read.UtpReadingRunnable.handleUnexpectedPacket(UtpReadingRunnable.java:250)
        at net.utp4j.channels.impl.read.UtpReadingRunnable.run(UtpReadingRunnable.java:107)
DEBUG [18:14:25] UtpReadingRunnable - Buffer position: 0 buffer limit: 15728640
DEBUG [18:14:25] UtpReadingRunnable - PAYLOAD LENGHT 0
DEBUG [18:14:25] UtpReadingRunnable - READER OUT
DEBUG [18:15:07] UtpWritingRunnable - buffer position: 4356 buffer limit: 15728640

I also stumbled on this problem, and it is impossible not catch it.
The net.utp4j.channels.impl.UtpSocketChannelImpl class has a problem on the line 226.
The sequence number is initialized with a random number when it should be initialized with 1.
setupRandomSeqNumber(); should be replaced with setSequenceNumber(DEF_SEQ_START);.
I don't understand the purpose of setupRandomSeqNumber function because the sequence number should never be random!!


Line-height issue in older Outlooks

This simple example is giving troubles:
<mjml>
  <mj-body>
    <mj-container background-color="#c0c9cf" containerWidth="600">
      <mj-section padding="0px" layout="normal" background-color="#ffffff" containerWidth="600">
        <mj-column width="100%" containerWidth="600">
          <mj-text padding="10px 20px 10px 20px" color="#2b729e" font-family="Ubuntu, Helvetica, Arial, sans-serif" align="justify" containerWidth="600">

DETSKE IHRISKÁ, WORKOUT IHRISKÁ A

OUTDOOR FITNESS PRE OBCE A MESTÁ
 </mj-text>
        </mj-column>
      </mj-section>
    </mj-container>
  </mj-body>
</mjml>

Please see the test here: https://www.emailonacid.com/app/acidtest/display/summary/jmJiAdXSTHsrCxLIbsFx0YQTgGDKtJdya9XmR23RHsaBX/shared
Why is there default line-height: 22px on mj-text? If I remove it it works more or less ok.

The same without default line-height:22px
https://www.emailonacid.com/app/acidtest/display/summary/Ec4QOvEqQ81vBNkVsNsPkMtVDmbrEFzgYeLmNebzMnwES/shared

Well it's a good practice to define a line-height inside mj-text because some mail client has some crazy default line height ( ex outlook.com has default 130% ). In your example Outlook 2003 looks totally unreadable

Well, that i have already fixed with conditional CSS


Add Gradle spotless plugin

This PR adds the Spotless plugin to the Gradle build.  Spotless will help to keep the source formatting to a set standard and is pretty common across many projects.  I opted for the Google style as it seems pretty standard.
Also added a copy/amended version of the CONTRIBUTING.md.
This PR does not include any of the resulting source code changes from running gradle spotlessJavaApply.  N.B. the plugin is called as part of gradle check and will block the build if the source deviates from the standard.
Any way see what you think.

Hey @eharrow, we have checkstyle to verify format. We don't need spotless even though it is a convenience. It seems like additional maintenance for something that IDEs already do.

Understood re check style but I cannot find a way to have it apply the formatting and instead have to rely on an IDE.

I changed the checkstyle to google. Let's rock n roll.


Failure to run Custom Transforms when default Transform is not defined

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/559
Originally created by @iroussos on 2019-04-05 14:55:04

What is the current bug behavior?
We can not run meltano elt ... transform run if a default transform for a tap is not defined.
This problem has not been encountered until now as all taps that extract data from APIs can be bundled with default transforms.
But when using a tap with no static schema / predefined entities, we can not have default transforms.
That happens when trying to load data from a CSV file (tap-csv) or extract data from a Postgres Database (tap-postgres) or any other data source that we'll support in the future.
For those cases, we can not have default transforms, so there can not be a default dbt-tap-csv project prepackaged with Meltano.
As an example of the bug encountered, if a user runs:
$ meltano elt tap-csv target-postgres --transform run

... ... ...
Extract & load complete!
Transform 'tap-csv' is missing, trying to install it...
Error: transform 'tap-csv' is not supported
Aborted!

What is the expected correct behavior?
We want to be able to support taps that extract from data sources or load CSV and other types of data files.
For those cases, we should be able to run the transform part of the ELT pipeline even if there is no default transform.
If there are custom transforms in the project's transform/models/my_meltano_project/ folder, those transforms should run successfully.
Steps to reproduce
$ meltano elt tap-csv target-postgres --transform run

... ... ...
Extract & load complete!
Transform 'tap-csv' is missing, trying to install it...
Error: transform 'tap-csv' is not supported
Aborted!

Possible fixes
We could add a dbt-tap-XXX project with no transforms for each of those taps, but this seems more like a bandage than a proper fix.
We should update the way we execute transforms in order to support the case where no default transforms are available.
Further regression test

Add a test for running meltano elt ... --transform run for a tap with no default transforms defined. tap-csv should be a proper use case.

View 3 previous comments from the original issue on GitLab


⚠ Bofrost.de has degraded performance

In 0b7189a, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 2534 ms

Resolved: Bofrost.de performance has improved in a87b161 after 6 minutes.


Make kiosk entry work as expected in Firefox

During the first session of the All Volunteer training held by CELTS they used Firefox to run the kiosk. We were told that it stopped working after ~10 students. They switched to Chrome during the second session and there were no issues. Investigate what happened in Firefox and fix.

 Make kiosk entry work as expected in Firefox #753


Cannot use monaco editor on safari since 2.0.0

VSCode Version:
OS Version:

Steps to Reproduce:

Open vscode-web in safari https://vscode-web-test-playground.azurewebsites.net/?enter=true
Page will not load

Does this issue occur when all extensions are disabled?: Yes/No
N/A only affects web

Works fine for me.

Which safari version is this? Do you have any content blockers installed?

https://whatismybrowser.com/w/MTYD9P5
We are using monaco-editor on our site and we get this error:

Seems to be caused by a lookbehind in the regex. Reverting to 1.9.1 fixed this for us


Fossil Excavator

What is it?:
The Fossil Excavator is a machine block that takes in encased fossil blocks and outputs either rock or bone fossils according to the encased fossil's type (either a rock or bone fossil) and the loot table for that block.
Implemented In:
N/A
Progress:
In progress

Currently the Fossil Excavator crashes when being right clicked. It should bring up a GUI instead. Functionality not implemented yet.

Fossil excavator fully implemented apart from hopper support. See #11 for the issue


repo upload -n does not sync

after the upload the repositories are out of sync and repo sync has to be executed manually

new command repo push on branch stable, is be synced after push


ovc.disk support for new disk performance tuning parameters

For Digital Energy (Russia) following was agreed:
In version 3.0 of G8 there will be support for the disk performance tuning parameters that were recently added to KVM. These parameters should be kept and managed at G8 OS level, e.g. so that migrating disk resources between the compute nodes preserves initially specified performance features. The full list of relevant parameters, that will be maintained at the end user Portal (but not visible / changeable by the User) and understood by the blueprint are:
a.       bps_max (throttling.bps-total-max): Total maximum (in bytes).
b.       bps_rd_max (throttling.bps-read-max): Read maximum.
c.       bps_wr_max (throttling.bps-write-max): Write maximum.
d.       iops_max (throttling.iops-total-max): Total maximum of I/O operations.
e.       iops_rd_max (throttling.iops-read-max): Read I/O operations.
f.        iops_wr_max (throttling.iops-write-max): Write I/O operations
g.       iops_total_max : bursts control
h.       iops_total_max_length : bursts control
This requires a OVC and/or Orchestrator API, but also an updated version of the ovc.disk template

Duplicate of #187


Allow urlencoded '+' characters in _scheduler/jobs/<job_id> field

Since replication IDs could have + characters in them (they might look like 2abc+create_target+continuous for example), the ID has to be URL encoded when specified as part of a URI. Otherwise '+' signs will be decoded into spaces and on the server side it will look like 2abc create_target continuous.
As a convenience it is possible to unambiguously accept both versions, and thus make URL encoding on the client optional. In other words, client could specify 2abc%2Bcreate_target%2Bcontinuous or or 2abc+create_target+continuous. On the server the former will be decoded as 2abc+create_target+continuous and the latter - 2abc create_target continuous. Then spaces can be turned into +-s since a replication ID generated by server will never have space characters in it.

I'm against of breaking with URI RFC for convenience and in my experience encoding ambiguity in general leads to nothing but mess and confusion. If replication ID scheme is hard to work with we probably should just change that scheme.

@eiri how does this break the URI RFC?

Plus is sub-delim reserved character. RFC's stating:

If data for a URI component would conflict with a reserved character's purpose as a delimiter, then the conflicting data must be percent-encoded before the URI is formed.

It seems to me that "unambiguously accept both versions, and thus make URL encoding on the client optional" is a suggestion to do exact opposite of that, or do you mean something different here?

can be considered sub-delim because it separates the base replication ID from the extensions. For example replication checkpoints use only the base part but not the extension. So parsing out bits of the ID is practical and probably already used by user code out there.

In other words replication ID is really a compound ID and we just accept both the + delimited version or the space delimited ones.

You really got me confused here with what exactly you are proposing. At first I've read this as a suggestion to take + in URL as a literal + symbol, hence my comment on breaking RFC. Now, after rereading, I see that you are suggesting to make replicator's URI into not unique resource allocator, i.e. make "2abc%2Bcreate_target%2Bcontinuous", "2abc+create_target+continuous" (and also "2abc%20create_target%20continuous" by accident, right?) to point to the same document.
This still feels wrong, to be honest. Interchangeable delimiters in resource identification already sounds as unnecessary complication and confusion with encoding\representation of such things (imagine whole number of possible mixes: ""2abc+create%20target%2Bcontinuous"`) seems problematic. Again, if it is only about convenience then let's change that plus to something not requiring encoding.
Also, anecdotical, reading around gave me a notion that in web's URL + requires encoding only in query, not in path, but I can't find RFC to back this up.

""2abc+create%20target%2Bcontinuous"`

Replication ID format is not arbitrary though.  This is possible exactly because 2abc+create%20target%2Bcontinuous is not valid replication ID.
Changing the plus sign might work, however since the ID is compound (made of parts) there are probably user written scripts would split the ID. For example if they inspect the checkpoints documents where only the base part is used.

2bc+create%20target%2Bcontinuous is not valid replication ID, but valid representation of replication ID if we'd go with your suggestion of treating both + and spaces as a valid delimiter.

Yap it would be a different representation of the same replication.

Also, anecdotical, reading around gave me a notion that in web's URL + requires encoding only in query, not in path, but I can't find RFC to back this up.

Yap, but mochiweb  decodes + in path as a space, probably because it reuses the code used for application/x-www-form-urlencoded. So if we switched to a different server the code the converting + to space would never be called.
In other words, this is mostly about bypassing a mochiweb peculiarity. Note in https://tools.ietf.org/html/rfc3986#section-3.3 that the path can contain sub-delims (which include +).
segment-nz-nc = 1*( unreserved / pct-encoded / sub-delims / "@" )
                    ; non-zero-length segment without any colon ":"

But mochiweb doesn't pass + to the application correctly there and decodes it to a space.

Right. And you are suggesting to fix this by, depending on perspective, using non-standard encoder which treats +, %2B and %20 all as the same "plusOrSpace" symbol, or, from an other angle, by making replication ID into non-unique identificator from http clients point of view.
Well, if you see all the consequences and still think this is a good idea I don't know if I can convince you otherwise, but read this saga as an illustration how messy and confusing hacking URL encoding could get.


”Siliștea”, ”Sofronești”, ”Valea Popii”, ”Viișoara” are listed in the drop-down menu

Description:
When user writes ”Siliștea”, ”Sofronești”, ”Valea Popii”, ”Viișoara” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Siliștea"

Expected results
The location appears in the drop-down menu as "Sat Siliștea, VASLUI (Todirești)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Sofronești"

Expected results
The location appears in the drop-down menu as "Sat Sofronești, VASLUI (Todirești)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Valea Popii"

Expected results
The location appears in the drop-down menu as "Sat Valea Popii, VASLUI (Todirești)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Write in the search bar "Viișoara"

Expected results
The location appears in the drop-down menu as "Sat Viișoara, VASLUI (Todirești)".


Set language to English

In data, use en

Listed in #24, but not actually done yet. Closing here.


dry-run or latest only option

When creating new releases in GitHub ( and probably other tools ) you can add release notes directly to the release. This is probably identical or very similar to the generated output of changie. It would be very convenient if there was some connection between a GitHub release and a changie output. Maybe a GitHub action?

Can just read the latest output since each release will have a separate file in changes/


suggestion: add xml document for the library

the project setting,build-->output-->xml document file

The whole code base is poorly documented, so the generated XML doc is almost useless. So I don't think it is an urgent task/change we should make. But you can always do so on your fork. Thanks.

Just notice it is duplicate to #62. Close now.


Added cursor "hand" state on hover over an inbox item

Changes the cursor hover state on desktop to indicate that inbox list items are clickable.
Before:

After:

//cc @randyaskin for review.

Thanks for the suggestion, I'll incorporate it since I'm making some other changes per feedback from Runn and Cronin. I'm also not sure it's wise to bump versions in a PR - we normally merge the PR and then bump in master, since PRs could be merged at various points in time and versions could have changed by then.


Lag and unresponsive in high population

Hi Dan , love your work and thanks for sharing your kwnoldge .
I notice that theres a lag when i reach some high population like 100+ . i like to contribute some optimization but im still learning three js
again thanks Dan.

Thanks for the heads up. I haven't focused on optimization at all, so that is not surprising to me.

Hi, Dan, thank you for your excellent coding.
But the power plant sign is displayed by default in most cases.
How do I fix it?
thanks Dan.


Fix aggegrate_func typo

Also in https://github.com/cubed-dev/cubed-xarray, so will need to coordinate a release

Closing now that cubed 0.14.2 and cubed-xarray 0.0.6 have been released.


Eagersdf

Coverage decreased (-0.4%) to 70.247% when pulling fd7770e17531b9b188c1630a3be2dedc990d63a5 on eagersdf into d39378a9f319cffc1e30eeef34c6b48891f59757 on master.


Fix chmod leading zero

Fixed leading zero in os.chmod arguments thats fails on Python 3. I tested the code without leading zero and it works correctly on Python 2 and 3.

@atnartur Thanks again for the contributions. As I mentioned in your other PR, please send in the signed Contributor Agreement which will allow us to review and merge your code changes. Thanks!

@atnartur Is this is something you are working on still? If so, please send us a signed contributor agreement at your earliest convenience, and we wills start reviewing your PRs. Otherwise, this PR will be closed next week.

@atnartur  I am closing this PR, but you are welcome to re-open it later.

@atnartur Even though your pull request wasn’t merged, please take a moment to answer a two question survey so we can improve your experience in the future.


Add MIN_DATA_SIZE to docker-storage-setup template

Add a storage template configuration option MIN_DATA_SIZE to allows users to specify minimum size of data pool volumes. This is needed to prevent small pools from hanging on the first image pull.

Thanks @jfarrell. Appreciated.


The evaluation method of FedAVG

In Fedavg paper, Fedavg should evaluate the global model. In your code, Why FedAVG evaluate client models.

Because the global model has been sent to all clients.

Hi FibonacciZ, did you test FedAvg and FedBABU with the non_iid dataset? I met some problems with the test acc.  The test acc in my experiment first rises and then falls. Is it overfitting? Besides the test acc drops sharply and randomly. Is the learning_rate set too big?

The hyperparameters I used is resnet18  cifar10  100clients 0.1join_train_rate 100batchsize 0.1lr 0.998lr_decay 0.9momenton 5e-4weght_decay~
Looking forward to your reply!

Thanks for your answer. In my opinion,  the large fluctuations in 0~400 rounds were caused by large learning_rate. My learning_rate is 0.005, never found the results like yours.

@countingeyes . Thanks for your answer. In my opinion, the large fluctuations in 0~400 rounds were caused by large learning_rate. My learning_rate is 0.005, never found the results like yours.

Thanks for your advice! I tried the smaller learning_rate like 0.005, 0.01, and 0.05 but found that the acc curve was smoother but lower. The best acc are {0.45, 0.75, 0.82} with the learning rate {0.005, 0.05, 0.1}.  It seems that the too small learning rate will fail to converge to the optimal solution. Will your experiments be like this？ Or if you need better results, maybe you could try a bigger lr~

#58

@countingeyes May I ask how your Leraning_rate and lr_decay are ultimately set


person.middleName

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (b27cc2a) to head (4a43505).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #22   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           11        11
  Lines           95        97    +2
  Branches        14        14
=========================================
+ Hits            95        97    +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Open Repository Quick Pick should show current Github user's repos at the top of the list on first launch

Currently, on adding a remote github repo for the first time, the list includes repositories who's ordering appears random

Subsequent remote repository additions appear to show a filtered list:

Duplicate of https://github.com/microsoft/vscode/issues/163603


Display guard information in settings

What is this feature about? (1 sentence)
This will display the address of a transaction guard in case it was set.
Why is it needed? What is the value? For whom do we build it?

Starting with 1.3.0 , the Safe contracts allow to set a transaction guard.

https://github.com/gnosis/safe-contracts/blob/main/contracts/base/GuardManager.sol
https://github.com/gnosis/safe-contracts/blob/186a21a74b327f17fc41217a927dea7064f74604/CHANGELOG.md#add-transaction-guard

This information whether a guard was set or not is security-critical, same like enabled modules.

High-level overview of the feature

In the settings, there is a new section below Safe modules called Transaction guard

Subtitle: Transaction guards impose additional constraints that are checked prior to executing a Safe transaction. Transaction guards are potentially risky, so make sure to only use modules from trusted sources.
This section is only visible for Safes with version 1.3.0 or higher.

Only 1 guard can be set at a time. (different compared to modules)
The address of the set guard should be displayed with identicon, copy button and block explorer link. (same like for modules)
No need for the feature to add a guard (similar like for modules)
It should be possible to remove a guard (similar like for modules)
If not guard is set, it should say No transaction guard set (similar like for modules)
There should be link to a help center article (similar like for modules): https://help.gnosis-safe.io/en/articles/5324092-what-is-a-transaction-guard

Screens
These are screens for modules just for reference:

Other things

The tx service returns this information with https://github.com/gnosis/safe-transaction-service/issues/268
The client gateway has yet to return this information afaik.

the Guard address for testing 0x4f8a82d73729A33E0165aDeF3450A7F85f007528


STORM-1700 Introduce 'whitelist' / 'blacklist' option to MetricsConsumer (1.x)

NOTE: This is based on STORM-1698, PR #1323

Users can set whitelist or blacklist to filter out metrics by name

if none of them specified (by default), no metrics are filtered out

how to match: substring match with regular expression

use both ^ and $ when you want to match strictly (full string match)

added unit test

I'll rebase before merging.

+1

+1

Github fails to track this branch is merged into master. Already merged. Closing.


docs: add Yeecord to showcase

Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation

Test Plan

Test links

Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs

No

hmm I just signed the CLA, should I wait for the bot to mark it as passed?

Yes, you may need to wait for up to a few hours. Not a huge problem.

ok I'll wait thanks for help reviewing this PR! tysm


pybabel missing from requirements files?

I created a fresh virtualenv, ran make build and was told that ".state/docker-build is up to date.", then tried to run make build-mos (following up #6535) and got this error:
$ make build-mos
[redacted path]/.state/env/bin/pybabel extract \
	-F babel.cfg \
	--copyright-holder="PyPA" \
	--msgid-bugs-address="https://github.com/pypa/warehouse/issues/new" \
	--project="Warehouse" \
	--output="warehouse/locale/messages.pot" \
	warehouse
/bin/sh: 1: [redacted path]/.state/env/bin/pybabel: not found
make: *** [Makefile:178: compile-pot] Error 127

I see pybabel isn't in any of our requirements files -- am I missing something? @woodruffw did you add the dependency per https://warehouse.readthedocs.io/development/patterns/#adding-new-dependencies ?

I see pybabel isn't in any of our requirements files -- am I missing something?

pybabel is part of Babel, which gets brought in here: https://github.com/pypa/warehouse/blob/master/requirements/main.in#L4

Hmm, so it should be in your venv. Mine shows:
$ which pybabel
[redacted]/warehouse/.state/env/bin/pybabel

What does your shell environment look like? Are you running make from a shell that has the venv loaded? That shouldn't matter, but I'm wondering if there's some potential conflict or assumptions that I've made there.

Looks like these targets were assuming some other action had been taken. I've added building the virtualenv to their requirements in #6781

@woodruffw Yes, I am running make from a shell that has the venv loaded. The command history:
 git branch  # yup, master
 workon Mon-Oct-7-2019-PyPI-Test
 pip freeze # neither babel nor pybabel shows up
 make build # says it's up to date
 make build-mos # gives error
 which babel # no output
 which pybabel # no output

I may be missing a step -- for instance, I haven't run make serve recently -- in which case I would welcome additions to #6749!

The error is still happening, sorry to say.

$ make build-mos
# Create our Python 3.7 virtual environment
rm -rf .state/env
python3.7 -m venv .state/env
# install/upgrade general requirements
.state/env/bin/python -m pip install --upgrade pip setuptools wheel
Requirement already up-to-date: pip in /home/sumanah/.virtualenvs/Mon-Oct-7-2019-PyPI-Test/lib/python3.7/site-packages (19.2.3)
Requirement already up-to-date: setuptools in /home/sumanah/.virtualenvs/Mon-Oct-7-2019-PyPI-Test/lib/python3.7/site-packages (41.4.0)
Requirement already up-to-date: wheel in /home/sumanah/.virtualenvs/Mon-Oct-7-2019-PyPI-Test/lib/python3.7/site-packages (0.33.6)
# install various types of requirements
.state/env/bin/python -m pip install -r requirements/dev.txt
Collecting hupper==1.7 (from -r requirements/dev.txt (line 1))

......

Collecting babel==2.7.0 (from -r requirements/docs.txt (line 7))
  Using cached https://files.pythonhosted.org/packages/2c/60/f2af68eb046c5de5b1fe6dd4743bf42c074f7141fe7b2737d3061533b093/Babel-2.7.0-py2.py3-none-any.whl

.........

ERROR: docker-compose 1.24.1 has requirement requests!=2.11.0,!=2.12.2,!=2.18.0,<2.21,>=2.6.1, but you'll have requests 2.22.0 which is incompatible.
Installing collected packages: alabaster, attrs, pytz, babel, docutils, idna, imagesize, jinja2, pyparsing, packaging, urllib3, requests, snowballstemmer, sphinxcontrib-websupport, sphinx, sphinx-rtd-theme, sphinxcontrib-httpdomain
  Found existing installation: idna 2.7
    Uninstalling idna-2.7:
      Successfully uninstalled idna-2.7
  Found existing installation: urllib3 1.24.3
    Uninstalling urllib3-1.24.3:
      Successfully uninstalled urllib3-1.24.3
  Found existing installation: requests 2.20.1
    Uninstalling requests-2.20.1:
      Successfully uninstalled requests-2.20.1
Successfully installed alabaster-0.7.12 attrs-19.1.0 babel-2.7.0 docutils-0.15.2 idna-2.8 imagesize-1.1.0 jinja2-2.10.1 packaging-19.1 pyparsing-2.4.2 pytz-2019.2 requests-2.22.0 snowballstemmer-1.9.0 sphinx-1.8.2 sphinx-rtd-theme-0.4.3 sphinxcontrib-httpdomain-1.7.0 sphinxcontrib-websupport-1.1.2 urllib3-1.25.3
.state/env/bin/python -m pip install -r requirements/lint.txt

...

# install ipython if enabled
/home/sumanah/test/psf/warehouse/.state/env/bin/pybabel extract \
	-F babel.cfg \
	--copyright-holder="PyPA" \
	--msgid-bugs-address="https://github.com/pypa/warehouse/issues/new" \
	--project="Warehouse" \
	--output="warehouse/locale/messages.pot" \
	warehouse
/bin/sh: 1: /home/sumanah/test/psf/warehouse/.state/env/bin/pybabel: not found
make: *** [Makefile:178: compile-pot] Error 127

@ewdurbin noticed that /home/sumanah/.virtualenvs/Mon-Oct-7-2019-PyPI-Test/bin/pybabel was coming into play and told me that I oughtn't be using a venv, and noticed that the Makefile might be behaving oddly here:
"though i'm really not sure why our make tasks are installing stuff into that venv versus .state.env
errr .state/env
all the make tasks that currently run locally rather than in docker should be doing that themselves.
lint/reformat/etc"
I stopped using a venv, and verified that now everything works fine. Created #6783 to help future contributors avoid my fate!


[Feature Request] Template for private env that uses envpool as a dependency

Motivation
It is desirable that one can develop their own env without having to work under envpool's code base. While still have the access to register the env with envpool and use the make function to create it. It seems already possible with our current code base, we just need a template repo.
Solution
import envpool
import my_private_env
my_env = envpool.make("MyPrivateEnv")

Where my_private_env is developed as another package.
Checklist

[x] I have checked that there is no similar issue in the repo (required)

cc @zhongwen

Can we create another repo for this template? What do you think the name of this repo?

private pool


Add that in guards ports can be literals to docs

Based on a question I had yesterday. This was the first place I looked for info so thought I would add it

LGTM!


can we use this for facebook videos?

I am using XCDYouTubeKit in my app . can we use the facebook video url to download and play by using this kit. Is there any other SDK to download and play the facebook videos using URl
please give suggestions.
Thank you

No you cannot. I am currently working on a library to do this though.


Fixed #1

Coverage remained the same at 100.0% when pulling 848a362cc7daadcc37a7e6eb080489df2c9d5472 on fix/issues/1 into 24ff9a625695d6b8738f1d77b092ddd4ab060850 on master.


Re-enable Transak

Description
Re-enable Transak.
Other changes
N/A
Tested
Yes
Related issues
N/A
Backwards compatibility
Yes

@etuleu @tarikbellamine  Verified task using Android internal build V1.13.0(1004294348 | Test Flight build V1.13.0(55) and found that we are blocked to verify task due to issue https://github.com/celo-org/wallet/issues/262.

Thanks @Lss-Ankit issue #262 should be closed now.

Hey @tarikbellamine yes now Transak screen get loaded completely.
Here are my observations:

[X] User redirect to "global.transak.com" page after tapping on Transak from Add Funds screen.

[ ] BTC, XRP, BNB disaled untill 23rd April blue banner is displaying

[ ] Also it is observed that "Card payment option is not available in your country. Please go back and select different payment method" error message displayed after confirming order using US phone number. Attachment

[ ] Also it is observed that nothing happens when user try to change country as well as Network. Attachment

Let me know needful for above observations. Also let me know if anything need to test here.
Thanks..!!


Issue with renaming class property

Hello
Not sure if this has already been reported, but it could be a bug.
After renaming a class property ie. from 'type' to 'relationType' it is not possible to create an index on 'relationType' unless the DB is rebooted, the error thrown is:
Index with name : 'Partnership.relationType' cannot be created on class : 'Partnership' because field: 'relationType' is absent in class definition.

trying to drop it:
 com.orientechnologies.orient.core.exception.OSchemaException: Property 'relationType' not found in class Partnership

After restarting the DB everything works fine, ie. it is possible to index 'relationType' etc ...
:)

this is a doplicate of https://github.com/orientechnologies/orientdb/issues/3498, now is fixed.


categorical slot with less values than available

hi,
let's say you have an entity problem with 5 problems. But you just want to consider 3 of them for your stories. So you create in the domain file:
  problem:
    type: categorical
    values:  p1,p2,p3

Than I thought that only those 3 values would be recognized as slots? But I find that if a message conains an entity with problem p4 than this will be also a catgeorical slot of value p4?
But I want to ignore the rest of values other than defined in the slot above.

In featurization it does get ignored! As specified in the warning here:
https://github.com/RasaHQ/rasa_core/blob/master/rasa_core/slots.py#L194
So in terms of stories it's like the slot is still empty.

ok, because i printed tracker.slots and it was filled with a value not listed in the slot statement..

yes, but if you look at the featurization (which you can see by enabling debug mode with --debug in rasa_core.run) you can see that the feature of that slot is 0.

I am confused with custom slots. The entity come from the NLU. This is also the slot. Do I have to write in the stories inside the intent brackets the NLU entity or the custom mapped slot? And after the intent I write the custom slot?
* inteenr{"problem": "p5"}
  - slot{"problem": "other"}

Maybe I reformulate my issue.
You have entity problem (p1...p5):
 slots:
    problem:
    type: categorical
    values:  p1,p2,p3

Now NLU detects entity value p4. Now also the slot gets filled with p4 right? It just doesn't influence the story, right? So I still have the slot vlaue as:
'problem': <CategoricalSlot(problem: p4)>,

but it will not influence the next action. But then how do I have to write the story for this?
As the value p4 is treated as the the slot is not filled, though it is filled with its value (?!). I would write:
* cost{"problem": null}
  - slot{"problem": null}
  - utter_soemthing

To handle situations with all other problem values?

Yes either doing it with null or you can also use your p4 as an example directly.

So I think the correct form for that would be:
* cost{"problem":"p4"} #this "p4" value here really doesn't matter at all, it can be anything
  - slot{"problem": null}
  - utter_something

Does this fix your problem? If not, can you share your stories and domain file so I can try to reproduce.

But why do I need to train with p4 if it does not influence prediction? I found that p4 indeed influences my nex action?! I think you can test it with any simple story. Just use categerical values. Furthermore, how can I I find out how strong all slots give weights to prediction?

You're not training with the specific value p4, in the stories you're writing this line *cost{"problem":"p4"} just indicates an entity is present - so the value here could be literally anything, e.g. *cost{"problem":"blabla"}. The important part is the slot{"problem": null} here. And sure I can, but it'd be a lot quicker if I just had the relevant parts of your domain/stories file.
So are you still having an inaccurate prediction problem even when that story is in the training data?

But problem is a categrocial slot. I thought for the entity in the intent *cost{"problem":"p4"} the slot is set automaticaly, though I put the slot afterwards of course to make sure. And of course I would train that in this way. But my problem is mybe a little different (?): I have two entities. If I train stories for the one entity and NLU detects this entity right, but also it detects the entity problem with value p4 too, it influences the next action.
So I should write: *cost{"right_entity": "value", "problem":"p4"} and slot{"right_entity": "value", "problem":"p4"} ?
But as you saidin another issue the categorcial slot value not listed in the doamin behaves like null? But why I should write this then at all in the stories?


[Feature] Provide a method to set the maximum size for a Column.

Currently, you can only set the minimum width of a Column, which is not that useful when restricting the amount of space a column should take.
Since the Column will be as big as the biggest entry having one larger entry creates a unpleasant user experience where the Table needs be scrolled to see all columns.
As far as im aware there is also currently no workaround for this.

@hyyan is this doable before 25?

@StephanWald  Everyone is requesting this feature. I tested it, but it is not easily achievable at the moment. It might not be possible before 25, especially given the tight timeline for 24.21. I can prioritize this on my to-do list and implement it if it's urgently needed.


Proposal: color change for scrollbar slider and git ignored resources

Color Change Proposal
Description
This PR is a proposal to change the color for git ignored resources and the scrollbar. I've followed the palette here, selecting #7081d0.
Currently I can barely see the scrollbar or hidden files 😅
Before
Scrollbar Screenshot

Hidden Files Screenshot

After
Scrollbar Screenshot

Hidden Files Screenshot

Hey sounds good, currently on vacation, if I get around to a computer with
my yubikey I'll push it through
On Wed, May 29, 2024, 17:15 Colton Hurst @.***> wrote:

Color Change Proposal Description
This PR is a proposal to change the color for git ignored resources and
the scrollbar. I've followed the palette here
https://github.com/eldritch-theme/eldritch, selecting #7081d0.
Currently I can barely see the scrollbar or hidden files 😅
Before
Scrollbar Screenshot
Screenshot.2024-05-29.at.17.09.52.png (view on web)
https://github.com/eldritch-theme/vscode/assets/5691612/30fb9e82-3b97-4a0e-9045-551a9a47f7fc
Hidden Files Screenshot
Screenshot.2024-05-29.at.17.10.55.png (view on web)
https://github.com/eldritch-theme/vscode/assets/5691612/69e42a1d-04e8-4ce4-997c-6ae6d1bf475d
After
Scrollbar Screenshot
Screenshot.2024-05-29.at.17.14.28.png (view on web)
https://github.com/eldritch-theme/vscode/assets/5691612/da1fd3da-7fda-4ae7-b6c6-19f560d91470
Hidden Files Screenshot
Screenshot.2024-05-29.at.17.14.41.png (view on web)
https://github.com/eldritch-theme/vscode/assets/5691612/a9457b49-8b33-40c6-af3c-c7e93f3f3f82
You can view, comment on, or merge this pull request online at:
https://github.com/eldritch-theme/vscode/pull/3
Commit Summary

ad55188
https://github.com/eldritch-theme/vscode/pull/3/commits/ad55188109114b54733b117bd515917b70a634ca
Change color for scrollbar slider and git ignored resources.

File Changes
(1 file https://github.com/eldritch-theme/vscode/pull/3/files)

M themes/eldritch.json
https://github.com/eldritch-theme/vscode/pull/3/files#diff-4af1f74634105745de586c6f76df0e4fe9af2e3a3959a4537b685164b403d5ba
(8)

Patch Links:

https://github.com/eldritch-theme/vscode/pull/3.patch
https://github.com/eldritch-theme/vscode/pull/3.diff

—
Reply to this email directly, view it on GitHub
https://github.com/eldritch-theme/vscode/pull/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGDFEE7747NVHAD6GBX6AELZEZAPNAVCNFSM6AAAAABIPWUIGGVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMZDIMRWGAZTCMY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Color Change Proposal
Description
This PR is a proposal to change the color for git ignored resources and the scrollbar. I've followed the palette here, selecting #7081d0.
Currently I can barely see the scrollbar or hidden files 😅
Before
Scrollbar Screenshot

**Hidden Files Screenshot**

## After
**Scrollbar Screenshot**

**Hidden Files Screenshot**

Looks good. Feel free to open any other PRs for vscode, I don't use it so my implementation was quick and dirty

I'll create a publisher action or publish this later tonight


Board IDs: update few stm32 name

Hi @flit
I propose few changes for some stm32 boards
Thx

Hi @jeromecoutant, Thanks for the PR!
A few of the changed boards had the target type set to a built-in STM32 target:

stm32f412xg
stm32l475xg
stm32f429xi
stm32f439xi

STM32 support from built-in targets is currently a little better than from the CMSIS-Packs. Mostly because the DBGMCU registers are configured automatically. (Once debug sequences are implemented in pyocd, this will change.)

OK, so impact of this PR is now quite minor :-)

Still useful! 😄


Chooese another

Clear and concise description of the problem
Currently, the layout grows horizontally over several levels. This can become very confusing on smaller screens or browser windows (see screenshot).

Suggested solution
You could solve it like StorybookJS and include the 2nd column as expandable sub-items of the respective menu item (see screenshot).
Variants don't need so much vertical space as to justify the current implementation.
bad

better

Alternative
Create a keyboard shortcut to toggle the sections and an accessible overview of all shortctus.
Another solution could be to position the controls and source section underneath each other (s. Screenshot). Although it would then look more like StorybookJS, the space is then better used.

Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that requests the same feature to avoid creating a duplicate.

Hey! Thank you for posting this issue, but we already have one!
Duplicate of #106

You're very welcome. Maybe you can keep my suggested solutions in mind, when you're searching for one. 😊


pfe-sass | Not showing up on the examples listing page

Description of the issue
This page - https://patternflyelements.com/elements/pfe-sass/demo/ - should be listed on this page https://patternflyelements.com/examples.

This has been resolved: https://patternflyelements.com/elements/pfe-sass/demo/


Fix small issues on agent shutdown and deploy cancellation (#4932)

Pull request opened by the merge tool on behalf of #4932

Merged into branches iso5 in ea90f4e0ae60a9b8be4f3c8c2af9ec258382e19b


Remove console.warn statement(s)

This line should be removed. It pops up on the display in development and it already can be handled by the onError and onLoadEnd props.
https://github.com/react-native-community/react-native-webview/blob/ee3a7c4d3430009c5c10db5cec1d09f683361b91/src/WebView.android.tsx#L165

Any update on this? This is causing some noise when logging is enabled. If anything, make it just a debug log.

I believe this is still a problem.


enemy esp distance same as chams option

i want esp show up when chams show option

If you want to make the esp enable when chams are enabled
, then make on esp.CPP if (!chams.enabled) return;
that's an example. Don't copy it


Add support for embedded schemas

It is not currently possible to embed/nest schema definitions.
This is implemented in the Python library (see Embedded Models).
Reference: schema-definitions.ts#L59
Thank you.

Waiting for this feature to come. Really need this feature badly. I don't want to switch to using plain redis client in my next.js project.

Same here - desperately waiting for that features, since it is already available in the python library.

@guyroyse what priority does this have on the roadmap? I can possibly contribute this in April.

Right after sorting.

This was fixed with the release of Redis OM 0.4.0 Beta. Install it with npm install redis-om@beta.


Bump Gradle version to 4.9

As part of getting the CLI in Homebrew https://github.com/Homebrew/homebrew-core/pull/31231 I kept getting the following error:
Unzipping /Users/brew/Library/Caches/Homebrew/java_cache/.gradle/wrapper/dists/gradle-4.1-bin/c3kp51zwwt108wc78u68yt7vs/gradle-4.1-bin.zip to /Users/brew/Library/Caches/Homebrew/java_cache/.gradle/wrapper/dists/gradle-4.1-bin/c3kp51zwwt108wc78u68yt7vs
Set executable permissions for: /Users/brew/Library/Caches/Homebrew/java_cache/.gradle/wrapper/dists/gradle-4.1-bin/c3kp51zwwt108wc78u68yt7vs/gradle-4.1/bin/gradle

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine java version from '10.0.1'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

See full log here: https://jenkins.brew.sh/job/Homebrew Core Pull Requests/29084/version=el_capitan/testReport/junit/brew-test-bot/el_capitan/install_wsk/
After some DuckDuckGo'ing it seems that this is a problem with Gradle versions around the 4.1 mark and upgrading seemed to be the solution.
I added a hack for the Homebrew formula to get it using a later version of Gradle and that seemed to work fine.
I'd like to bump up the version here so I can remove the hack and so people don't experience this issue when compiling the CLI.

@Juice10 what does gradle do in the brew recipe? Can it be eschewed entirely?

@rabbah it's used for vendoring. When replacing ./gradlew goVendor with go get, the brew audit tool spits out the following error:
$ brew audit wsk --online --new-formula
wsk:
  * C: 16: col 7: Do not use `go get`. Please ask upstream to implement Go vendoring
Error: 1 problem in 1 formula

@rabbah I created this pull request to eschew gradle entirely: https://github.com/apache/incubator-openwhisk-cli/pull/362/


As a dev, I'd like a ViewComponent for common elements shared between Public- and UserTimeline, to increase codebase maintainability.

Dependent upon #229 being pushed to avoid merge issues and double work.
Acceptance criterias
Code within .cshtml.cs

[x] Create a ViewComponent-file, i.e. TimelineViewComponent.cs
[x] Identify common code shared between Public.cshtml.cs and UserTimeline.cshtml.cs
[x] Extract said commonality and merge them together into TimelineViewComponent
[x] Ensure said merge checks  whether the user is within public timeline or my timeline, ensuring correct display of element

Code within .cshtml

[x] Within Pages/Components, create a folder, i.e. Timeline
[x] Within said folder, create a file titled default.cshtml
[x] In Public.cshtml and UserTimeline.cshtml, find their commonalities
[x] Extract said commonality and merge them together into Timeline/default.cshtml
[x] Ensure said merge checks and therefor correctly displays elements depending on whether the user is within public timeline or my timeline

Actively being coded on the branch ReduceHTMLRedundancy.
Currently both public and timeline has a common component, both cs and html files. The Hashtag pages shares a bit of commonality with former pages as well, I'll integrate it later this weekend.


Can't read Pydantic Settings from stdin

Requirement
I need to read Settings from stdin. This is not our primary scenario but something we need for tooling, for security reasons (secrets we don't want on disk). Our tooling reads settings to process them, and ideally they should be piped to our app to leave no traces behind, even temporarily.
What we tried
Settings pass filenames only into the public API. And using the stdin filename '/dev/stdin' doesn't work (on Mac) as the reads don't block until data is available (it simply returns an empty file).
Because we couldn't find a clean way to do this, I think it is an issue that should be addressed. Perhaps there is a different way to do it that we missed, please let me know.
Possible Fixes
The best fix would be to simply support streams everywhere in the API, instead of just filenames.
It would also be fine to support special filenames '-' or '/dev/stdin' as special cases that are internally replaced by stream=sys.stdin. Or to allow a SettingsSource to provide a stream instead of file names.
In our case we hacked a third solution deriving a class from DotEnvSettingsSource because we need most of that functionality (just need to replace the source in some cases).  But because read_env_file is a global function instead of a method, we cannot simply override that and had to copy a few other methods from the implementation. Moving that into the DotEnvSettingsSource class would allow a clean override of just read_env_file that could handle stdin reading. This is probably the minimal solution that cleanly resolves this requirement, without changing anything for the mainstream usage of Pydantic settings.

Thanks @WarpedPixel for reporting this.
RIght now, pydanantic-settings doesn't have a settings source that can read values from a stream.

In our case we hacked a third solution deriving a class from DotEnvSettingsSource because we need most of that functionality (just need to replace the source in some cases). But because read_env_file is a global function instead of a method, we cannot simply override that and had to copy a few other methods from the implementation. Moving that into the DotEnvSettingsSource class would allow a clean override of just read_env_file that could handle stdin reading. This is probably the minimal solution that cleanly resolves this requirement, without changing anything for the mainstream usage of Pydantic settings.

Yeah, it is a function and we can't move it to DotEnvSettingsSource because it will introduce a breaking change and we don't want to break people's code. You can override DotEnvSettingsSource._read_env_files, this method uses read_env_file to load the file and updates dotenv_vars dict.

Perhaps there is a better way to do this, but it turned into 75 lines of mostly duplicated code that will certainly be fragile and difficult to maintain. The below is hacky because a class could be written to handle both filenames and streams (or named streams at least) without changing the signatures of anything, but it passes my tests.
Code to override read_env_file

# this runs against the current version of pydantic_settings

import os
import sys
from pathlib import Path
from typing import Mapping

from dotenv import dotenv_values
from pydantic_settings import BaseSettings, DotEnvSettingsSource
from pydantic_settings.sources import ENV_FILE_SENTINEL, DotenvType, parse_env_vars
from pydantic_settings.sources import read_env_file as original_read_env_file

class StdinSettingsSource(DotEnvSettingsSource):
    def __init__(
        self,
        settings_cls: type[BaseSettings],
        env_file: DotenvType | None = ENV_FILE_SENTINEL,
        env_file_encoding: str | None = None,
        case_sensitive: bool | None = None,
        env_prefix: str | None = None,
        env_nested_delimiter: str | None = None,
        env_ignore_empty: bool | None = None,
        env_parse_none_str: str | None = None,
    ) -> None:
        super().__init__(
            settings_cls, env_file, env_file_encoding, case_sensitive, env_prefix, env_nested_delimiter, env_ignore_empty, env_parse_none_str
        )

    @staticmethod
    def read_env_file(
        file_path: Path,
        *,
        encoding: str | None = None,
        case_sensitive: bool = False,
        ignore_empty: bool = False,
        parse_none_str: str | None = None,
    ) -> Mapping[str, str | None]:
        file_vars: dict[str, str | None] = dotenv_values(stream=sys.stdin, encoding=encoding or 'utf8')
        return parse_env_vars(file_vars, case_sensitive, ignore_empty, parse_none_str)

    # copy from pydantic_settings.sources.DotEnvSettingsSource. NEEDED because we can't override read_env_file
    def _read_env_files(self) -> Mapping[str, str | None]:
        env_files = ['/dev/stdin']
        # env_files = self.env_file
        # if env_files is None:
        #     return {}

        if isinstance(env_files, (str, os.PathLike)):
            env_files = [env_files]

        dotenv_vars: dict[str, str | None] = {}
        for env_file in env_files:
            env_path = Path(env_file).expanduser()
            if env_path.is_file():
                dotenv_vars.update(
                    original_read_env_file(
                        env_path,
                        encoding=self.env_file_encoding,
                        case_sensitive=self.case_sensitive,
                        ignore_empty=self.env_ignore_empty,
                        parse_none_str=self.env_parse_none_str,
                    )
                )
            elif env_path == Path('/dev/stdin'):
                dotenv_vars.update(
                    self.read_env_file(
                        env_path,
                        encoding=self.env_file_encoding,
                        case_sensitive=self.case_sensitive,
                        ignore_empty=self.env_ignore_empty,
                        parse_none_str=self.env_parse_none_str,
                    )
                )

        return dotenv_vars

It seems like moving read_env_file to a method shouldn't break anything. It is not referenced anywhere else in pydantic_settings. And if we really want to handle the case where people import that function you could continue to expose it with a deprecation warning. Something like
import warnings

def read_env_file(
    file_path: Path,
    *,
    encoding: str | None = None,
    case_sensitive: bool = False,
    ignore_empty: bool = False,
    parse_none_str: str | None = None,
) -> Mapping[str, str | None]:
    warnings.warn("read_env_file is deprecated and will be removed in the next version, use DotEnvSettingsSource.read_env_file instead", DeprecationWarning)
    file_vars: dict[str, str | None] = dotenv_values(file_path, encoding=encoding or 'utf8')
    return parse_env_vars(file_vars, case_sensitive, ignore_empty, parse_none_str)

This would allow the subclassing of DotEnvSettingsSource to become something much simpler:
# this version would work if we made the change to bring read_env_file as a method of DotEnvSettingsSource
class SimpleStdinSettingsSource(DotEnvSettingsSource):
    # override read_env_file to also read from stdin
    def read_env_file(
        self,
        file_path: Path,
    ) -> Mapping[str, str | None]:
        if file_path == Path('/dev/stdin'):
            file_vars: dict[str, str | None] = dotenv_values(stream=sys.stdin, encoding=self.env_file_encoding or 'utf8')
        else:
            file_vars: dict[str, str | None] = dotenv_values(file_path, encoding=self.env_file_encoding or 'utf8')
        return parse_env_vars(file_vars, self.case_sensitive, self.env_ignore_empty, self.env_parse_none_str)

If I can be of help I would work on a clean PR for this.

@WarpedPixel let's move it into the DotEnvSettingsSource and add a deprecation warning


need the Collapsible component

i want to use this component in angular project.

We actually have that, the github.io page just didn't reflect it. (Guessing you looked there).
So i synchronized the master branch with the github.io page, and now the documentation for the collapsible directive is visible on github.io
http://krescruz.github.io/angular-materialize/#collapsible
If the link doesn't take you to documentation about collapsible, try to clear the browser cache.


Video4Linux backend patching

Required Info

Camera Model
R200 and SR300

Firmware Version
K501ux.209

Operating System & Version
Ubuntu 16.04.1 LTS

Kernel Version (Linux Only)
4.2.0-3-upboard

Build System
Makefile

Hi,
I have problems with detection of the built-in webcam, the real-sense and other cameras after running $ ./scripts/patch-uvcvideo-16.04.simple.sh. I got into many questions for "restart config.." while running the patching. I ignored by just entering all settings with nothing. Eventually I got
"Unloading existing uvcvideo driver...
Script has completed. Please consult the installation guide for further instruction."
and done "sudo modprobe uvcvideo". Then, I got errors:
$ sudo dmesg | tail -n 50
[ 6055.565439]  [] ? put_prev_entity+0x31/0x4b0
[ 6055.565454]  [] ? sched_clock+0x9/0x10
[ 6055.565471]  [] process_one_work+0x153/0x400
[ 6055.565485]  [] worker_thread+0x11e/0x480
[ 6055.565503]  [] ? rescuer_thread+0x310/0x310
[ 6055.565516]  [] kthread+0xcb/0xf0
[ 6055.565529]  [] ? kthread_create_on_node+0x1c0/0x1c0
[ 6055.565544]  [] ret_from_fork+0x3f/0x70
[ 6055.565557]  [] ? kthread_create_on_node+0x1c0/0x1c0
[ 6055.565569] ---[ end trace 8dceb5d805a8f1a9 ]---
After that, I can not run cheese to open my webcam and "cannot access '/dev/video*': No such file or directory".

I followed the installation guide, it worked well, I turned off the PC (linux running) and the next day... I got this error:
RealSense error calling rs_create_context(api_version:4):
Cannot access /sys/class/video4linux
Now... should I install everything again?
Thanks!

I reinstalled Linux, now it works. I'm able to run some given examples. But, only the color camera is working (attached is the result when I run cpp_alignimages). I also could not open the IR camera using cheese. l3s777, did you have the same result when you run cpp_alignimages? Were you able to see the IR video?
Any help would be appreciated!

I reinstalled Linux, now it works. I'm able to run some given examples. But, only the color camera is working (attached is the result when I run cpp_alignimages). I also could not open the IR camera using cheese. l3s777, did you have the same result when you run cpp_alignimages? Were you able to see the IR video?
Any help would be appreciated!

hi ! when trying "cpp_alignimages" it works fine! the problem I have is when I turned off the computer and later turn on and it seems that librealsense is not installed :/

The cameras are working now after I followed the instructions in https://github.com/IntelRealSense/librealsense/issues/70 for Video4Linux backend patching.


Update "Active" proposal label style

The "Active" label should use the main orange/yellow color that is used throughout the app.
Currently "Active" is gray which makes it looks like the proposal is inactive.

@dannydecent thoughts?

I agree with both of you. @sethhrbek comment here and a previous convo with @Da-Colon
the active tag here needs restyling because it looks too much like a button with any current design pattern/treatment.
quick fix option (without mocks) make it an oval, not rounded corners and make it yellow.

First off:

There is some code that allows the status stamp icon thing to be yellow, but it's never being matched...
Because it's looking for a status string of "Open"...
But the status string is never "Open"
Probably mean to be matching for "Active"

I took a shot at making the pills looks more like pills, and making sure that Active proposals actually got a non-disabled looking pill

@dannydecent what do u think?

Another issue here is that we're doing this freeform string matching, which OBVIOUSLY is hacky and doesn't work well, because we ran into this very situation.
The proposal data's status property should be either an explicitly defined list of strings (not a freeform string), or a Typescript enum.

Played around in figma. was thinking we could use more of this real estate. I definitely like the more oval 'pill'. any thoughts on any of these changes ?


Passing hyperparameters to models

🚀 Feature
The underlying models in TextClassifier class have several hyperparams which the user should be able to tune.
Pass a dictionary called hparams to the TextClassifier class. This dictionary contains hparams that the user provides. In the model class, the default hparams should be overridden by these user passed hparams
To get information about each model and its architecture and hyperparameters, users can refer to the documentation for the models

The default hyper-parameters can be stored in YAML files and can be loaded from there

The new PR solves this issue, there are utility functions to read the configuration file
And CNN2d model now loads hparams from config file