App data with n/n-1 splitting in test suite

Signed-off-by: Piotr Nowicki<EMAIL_ADDRESS>Description
This PR contains changes related with n/n-1 splitting of an app data in test suite. Test suites counts the sent fragments and in case of splitting their number is twice bigger. The fragments counting has been shifted from writing section in to reading. It was required because the splitting is realized during one call of the mbedtls_ssl_write function and the fragmentation could be omitted by test suites
Status
READY
Requires Backporting
NO

I'm not sure if that's the right approach, to be honest.
This approach will cause the data in .data files to be incorrect - we'll anticipate, for example, 1 fragment, but receiving two will satisfy us - and that's a hidden quirk that's not obvious.
I would rather suggest switching to one of two ways of counting the fragments, either:

Actually, I do not see any uncorrected data in .data file. If you set that you require N fragments you will have to get N fragments otherwise the test will fail. Do you mean this *= 2? It is only used in the test with the handshake when we do not set parameters related with app data and it have to be changed from the default value. If we would like to extend these tests by sending app data with fragmentation in different TLS version there are no restrictions to set a specific value of fragments manually and this value will not change to any other value automatically or without the knowledge of programmer

Counting them on one side only, as is done in ssl-opt.sh if I'm not mistaken;

Now they are counted only when receiving. The same as in ssl-opt.sh

Counting (and providing input data for counting) them on both sides, with separate sent_fragments and received_fragments.

That would be the most detailed, but I'm not sure if required. Otherwise, from my analysis of the code the reading works per one fragment and during one write the mbedtls could create two fragments, so counting fragments on writing is more complicated to implement

Apart from that - this PR lacks changes to both the .function and .data files of the ssl test suite, to remove the TODO's about fragment counting - please add these changes.

What TODOs do you mean? Would you like to have special tests for n / n-1 fragmentation in older TLS versions?

I could implement a special value for the expected_fragments of app data (like -1) to omit the checking of the number of fragments in tests with are not related with that like for example the handshake tests. Thant would more seance to me.

See here: https://github.com/ARMmbed/mbedtls/blob/c31f970a46a2fe41e02fb581ce542faed4a0b12a/tests/suites/test_suite_ssl.data#L202
here:
https://github.com/ARMmbed/mbedtls/blob/c31f970a46a2fe41e02fb581ce542faed4a0b12a/tests/suites/test_suite_ssl.data#L207
here:
https://github.com/ARMmbed/mbedtls/blob/c31f970a46a2fe41e02fb581ce542faed4a0b12a/tests/suites/test_suite_ssl.function#L1802
and here: https://github.com/ARMmbed/mbedtls/blob/c31f970a46a2fe41e02fb581ce542faed4a0b12a/tests/suites/test_suite_ssl.function#L3750
These four places have to be updated.
I went through the changes and you're right with one thing - there's no data in the .data files thanks to the code refactoring, so that's fine. I would suggest changing the expected amount of fragments to =2 instead of *=2, as this is more intuitive.

CI failure in merge job is windows job cleanup hiccup. Good to go.


Fix race condition where some token detections can get mistakenly added to the wrong account

Currently there exists an issue (exposed by this bug) where if a user changes accounts (account x to account y) or (changes from network a to network b) right as a detectTokens() call is occuring, the results of the getBalancesInSingleCall()  call (withindetectTokens()) made against address x or network acan get incorrectly misattributed to accountyornetwork b.  This can happen because currently detectTokens() simply calls this.addDetectedTokens() on the TokensController with the detected tokensToAdd assuming that when this call occurs in the TokensController the selectedAddress or chainId used to store these detected assets will be the same as the one used to detect them. With sufficiently unfortunate timing this expectation can be broken, and so this PR introduces a pattern (already used in the analogous flow between the NftDetectionController and the NftController, whereby the address and network data are passed along with the detectedToken data to ensure they are stored correctly.
Partially fixes: https://github.com/MetaMask/metamask-extension/issues/16349

FIXED:

Fixes a possible race condition whereby detected tokens can be incorrectly stored as detected on the wrong account/network.

Checklist

[x] Tests are included if applicable
[x] Any added code is fully documented

Added DO-NOT-MERGE lable until freeze on @metamask/controllers PRs is lifted

The code freeze is over, so the DO-NOT-MERGE label has been removed


Duplicate key USER_NOT_IN_EXPERIMENT

In node-sdk/lib/utils/enums/index.js the key USER_NOT_IN_EXPERIMENT is duplicated on lines 76 and 81.
https://github.com/optimizely/node-sdk/blob/8cb98614b209266cd013518b3710365db9fc6b01/lib/utils/enums/index.js#L76
https://github.com/optimizely/node-sdk/blob/8cb98614b209266cd013518b3710365db9fc6b01/lib/utils/enums/index.js#L81
This throws an error when running the minified build through closure compiler.

Thanks @Jud will look into this and fix.

@Jud the latest version, 1.3.3 has the fix for this issue. Please check it out!


[BUG] OAK-D Pro W right mono camera distorted after calibration

What:
It appears that the calibration tool messes up calibration on OAK-D Pro W devices. I reproduced this behavior on two devices with the same result.

The example images below show both left & right mono cameras pointing to the same grid.

How to reproduce:

Check the rectified right mono camera with factory calibration. Should be fine.
Run calibration tool: python3 calibrate.py -s 2.45 -brd BW1098OBC -db
After successful calibration check the cameras again. Rectified left should look fine. Rectified right has noticeable circular distortions around the edge of the frame.
I used the included demo application (depthai_demo.py) to verify this behavior.

My calibration board:

Charuco calibration image printed on an A4 paper and glued perfectly flat to a rigid surface.

Hi @ZumWoelkchen , I think this is due to current camera model that we are using, which causes such undistortion artifacts. cc @saching13 to confirm.

Yes. It is coming from RATIONLA POLYNOMIAL model. We will be changing it soon. Sorry for the issue.


Platform doesn't support GCC 11

When trying to build the platform from Ubuntu 22.04 LTS, the build fails. It's due to different versions of GCC. In Debian, we have access to GCC 10, but in Ubuntu, we have access to GCC 11.
Here is the stacktrace I get when I try to build the platform on ubuntu:
==> googlecompute.federated-compute-platform: ERROR: /home/packer/.cache/bazel/_bazel_packer/ca0f3d8f2b007992a7f5dcb18911d5f2/external/boringssl/BUILD:130:11: Compiling src/third_party/fiat/curve25519.c failed: (Exit 1): gcc failed: error executing command /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections ... (remaining 36 arguments skipped)
==> googlecompute.federated-compute-platform:
==> googlecompute.federated-compute-platform: Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
==> googlecompute.federated-compute-platform: external/boringssl/src/third_party/fiat/curve25519.c:511:57: error: argument 2 of type 'const uint8_t[32]' {aka 'const unsigned char[32]'} with mismatched bound [-Werror=array-parameter=]
==> googlecompute.federated-compute-platform:   511 | int x25519_ge_frombytes_vartime(ge_p3 *h, const uint8_t s[32]) {
==> googlecompute.federated-compute-platform:       |                                           ~~~~~~~~~~~~~~^~~~~
==> googlecompute.federated-compute-platform: In file included from external/boringssl/src/third_party/fiat/curve25519.c:41:
==> googlecompute.federated-compute-platform: external/boringssl/src/third_party/fiat/internal.h:117:58: note: previously declared as 'const uint8_t *' {aka 'const unsigned char *'}
==> googlecompute.federated-compute-platform:   117 | int x25519_ge_frombytes_vartime(ge_p3 *h, const uint8_t *s);
==> googlecompute.federated-compute-platform:       |                                           ~~~~~~~~~~~~~~~^
==> googlecompute.federated-compute-platform: external/boringssl/src/third_party/fiat/curve25519.c:831:57: error: argument 2 of type 'const uint8_t *' {aka 'const unsigned char *'} declared as a pointer [-Werror=array-parameter=]
==> googlecompute.federated-compute-platform:   831 | void x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t *a) {
==> googlecompute.federated-compute-platform:       |                                          ~~~~~~~~~~~~~~~^
==> googlecompute.federated-compute-platform: In file included from external/boringssl/src/third_party/fiat/curve25519.c:41:
==> googlecompute.federated-compute-platform: external/boringssl/src/third_party/fiat/internal.h:125:56: note: previously declared as an array 'const uint8_t[32]' {aka 'const unsigned char[32]'}
==> googlecompute.federated-compute-platform:   125 | void x25519_ge_scalarmult_base(ge_p3 *h, const uint8_t a[32]);
==> googlecompute.federated-compute-platform:       |                                          ~~~~~~~~~~~~~~^~~~~
==> googlecompute.federated-compute-platform: cc1: all warnings being treated as errors

Hi there, thanks for the report. Unfortunately, we're currently not able to test our build on a variety of platforms and with a variety of compiler versions, and issues that occur in upstream dependencies (boringssl here) are hard for us to manage/resolve to begin with. For the time being I recommend trying to use an older GCC version, or to try with Clang, or to see if there's compiler flags you could provide to make the compiler more lenient about these kinds of issues.


Word2vec basic show id and word together

When I first read the output, I spent a lot of time to understand these numbers to match them. Now, words along with the ids clearly show what's going on in the sample data and prediction pairs.
[New output]: clearly shows the word ids and corresponding words
Sample data [5239, 3084, 12, 6, 195, 2, 3137, 46, 59, 156] ['anarchism', 'originated', 'as', 'a', 'term', 'of', 'abuse', 'first', 'used', 'against']
3084 originated -> 12 as
3084 originated -> 5239 anarchism
12 as -> 6 a
12 as -> 3084 originated
6 a -> 12 as
6 a -> 195 term
195 term -> 6 a
195 term -> 2 of
[Old output]: No words for Sample data. Word ids and words are mixed, so it's very hard to read
Sample data [5239, 3084, 12, 6, 195, 2, 3137, 46, 59, 156] ['anarchism', 'originated', 'as', 'a', 'term', 'of', 'abuse', 'first', 'used', 'against']
3084 -> 5239
originated -> anarchism
3084 -> 12
originated -> as
12 -> 3084
as -> originated
12 -> 6
as -> a
6 -> 195
a -> term
6 -> 12
a -> as
195 -> 6
term -> a
195 -> 2
term -> of

Can one of the admins verify this patch?

@tensorflow-jenkins: test this please

Can one of the admins verify this patch?

@vrv Hmm. I am not sure where/how this BR brakes those tests. It was fine in my environment. I'll double check.

no, jenkins broke, we restarted it.  let me try again:  @tensorflow-jenkins test this please

Jenkins keeps breaking but python3/mac tests passed so this is syntactically fine.  Merging.


AuthMiddleware / Apply: simplify code

The apply method from the AuthMiddleware object bulds a service out of three elements: a function to get the auth info from a request, the authenticated service to run if it is authenticated, and the fallback service to run if authentication fails.
We simplify the code of this apply method by doing the following:

We avoid the methods local and mapF of Kleisli.
We avoid using the Choice instance for Kleisli[OptionT]. Instead we pattern-match right after the call to the authUser function.
We avoid calling the AuthedRequest.apply(Kleisli) method, a combinator. Instead, we build the AuthedRequest in each branch of the pattern-match.

What is left is the code of the function in a direct style.
This change is BINARY-INCOMPATIBLE, since it removes one parameter (the Choice).

Perhaps this change can be made binary compatible by doing val _ = C. The unnecessary parameter could later be removed.

@alexknvl Good idea. Done.

@rossabaker I have reverted to the original incompatible change, without Alex suggestion, that removes the Choice implicit.

@rossabaker I have reverted to the original incompatible change, without Alex suggestion, that removes the Choice implicit.


Add missing SIZE_MAX define for windows

This is to fix the following error for a WIN64A build using icc14
..\crypto\evp\exchange.c(363): error: identifier "SIZE_MAX" is undefined
ret = ctx->exchange->derive(ctx->exchprovctx, key, pkeylen, SIZE_MAX);

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

Thanks. Merged to master.


Incorrect "skip_ssl_validation" conversion in s3 plugin

Hi,
When I check the "Skip SSL Validation" checkbox in the "Edit storage System" screen, then the storage plugin is configured with a "skip_ssl_validation": "on" property.
When I use  buckler, I can get this property set to "skip_ssl_validation": "true".
But in both cases the storage plugin is not expecting a string but a boolean value.
Here are the error produced in shieldd.log:
✗ skip_ssl_validation  'skip_ssl_validation' key in endpoint json is not of type 'boolean'
s3: invalid configuration
EXITING 4
task failed!

Could you get it fixed?
Thanks!

Sure, I can get this fixed.


Not working in latest version of Xcode

I tried to make it work but the code produces many errors in the latest version of Xcode

Fixed! https://github.com/SuperChloe/SwiftReadability/pull/2


Vaadin-date-picker dynamically set a default date using Angular2

Hi
I'm trying to set a default date dynamically in vaadin-date-picker using Angular2. While implementing these task on my project it shows an exception.

Thank you.

Hi,
I think the problem here is that you are setting the value in an incorrect format, which causes it to be reverted to an empty string.
Please try something like the following. The example uses a ES6/TypeScript template literal, but as you can see the correct format is format is yyyy-mm-dd.
pad(i: number) {
  return i < 10 ? '0' + i : i;
}

ngOnInit() {
  const selectedDate = new Date();
  this.birthday = `${selectedDate.getFullYear()}-${this.pad(selectedDate.getMonth() + 1)}-${this.pad(selectedDate.getDate())}`;
}


chore: use ggshield 1.13.0

Codecov Report

Merging #34 (b8acb98) into master (80a29b1) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #34   +/-   ##
=======================================
  Coverage   99.34%   99.34%
=======================================
  Files           4        4
  Lines         306      306
=======================================
  Hits          304      304
  Misses          2        2

Flag
Coverage Δ

unittests
99.34% <ø> (ø)

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

Continue to review full report at Codecov.

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


Telegram Viber and Whatsap

Hello! Great library, thanks for it.
And is it possible to get information about the social networks of the contact? Telegram Viber and Whatsap, as an android phone book.
I managed to get in the accountType: org.telegram.messenger or com.google.
How to get the whole list?
Thanks in advance for your help

Hello!
I think you can filter them manually after you get the list.
Library has built-in filters, but they are implemented pretty bad.


Feature: file.remove and directory.remove

Description
Describe the idea / feature request in your own words.

removes file or directory
doesn't error if file/directory doesn't exist

action: file.remove
target: /some/absolute/path

action: file.remove
target: ~/some/path/in/home

action: file.remove
target: "{{use.home_dir}}/some/path/in/home"

action: directory.remove
target: /some/absolute/path

action: directory.remove
target: ~/some/path/in/home

action: directory.remove
target: "{{use.home_dir}}/some/path/in/home"

Additional information
Add more context which didn't fit in the fields above.
we should have separate actions for file.remove and directory.remove because :

good future maintenance: it means we don't create navel-gazing-drain-the-ocean-minutea-problems by trying to combine the two.
maintain the api predictability: because there is already distinct apis for file and directory

I would love to work on this. I have a few days off work, so ill try to hack it out.


Split passthrough args to specific pipelines

Which project is this feature idea for?
Turborepo
Describe the feature you'd like to request
Currently, the documentation shows that passthrough args are possible when calling many pipelines. However, this introduces a partitioning problem for the cache since all arguments are applied to all pipelines.
As an example, let's say I use turbo lint format where lint is an ESLint script and format is a Prettier script.
If I want to run a "clean up all my code" command, I would probably write turbo lint format -- --write --fix.

--fix is responsible for telling turbo lint (ESLint under the hood) to fix any issues that it can and write them to disk
--write is responsible for telling turbo format (Prettier under the hood) to write formatting fixes to disk

This works at first glance but has a hidden downside: The formatting command effectively becomes turbo format -- --write --fix, unnecessarily including the --fix argument. The same is true for turbo lint -- --write --fix (erroneous --write).
If I were to then run turbo lint -- --fix (the correct command), I will now have cache misses because the first command I called was partitioned using both arguments rather than the one I actually need.
This API interface blocks me from being able to do what I truly want: Run multiple pipelines with their own arguments in parallel with one turbo command.

Note that lint, format, ESLint, and Prettier are arbitrary. ESLint throws errors on unknown args so eslint . --fix --write would throw an error on the --write arg. I'm only trying to demonstrate the problem for the API surface.
Describe the solution you'd like
I admittedly haven't thought of a truly elegant solution for this yet. I'm mostly drawing up this issue as a conversation starter. Only thing coming to mind for me thinking about it for a few minutes is something like:
turbo [lint -- --fix] [format -- --write] -- --foo
With this syntax, we would get:

--fix and --foo as args for the lint pipeline
--write and --foo as args for the format pipeline

Describe alternatives you've considered
Currently, my workaround is to run the commands serially. turbo lint -- --fix && turbo format -- --write - which, of course, does not achieve the desired parallelism. But at least I can get everything done in one command!
I'll have a longer think about alternatives; I may be back! 😄

I never recommend using command line arguments like this and instead recommend configuring a separate task inside of turbo.json. As you noted there are many downsides to using passthrough flags beyond just "is not easily shareable between team members."
The graph can easily be hundreds of items and there really isn't a scalable pattern to pass CLI flags from the turbo invocation itself. I would generally be more-willing to remove the ability to pass arguments in like this at all than add the ability to address which task a particular flag should be passed to.
We have a way to control flags on a per-task basis already, and control how they execute inside the graph, via turbo.json:

Scales fairly well.
Shareable configuration.
No unnecessary cache partitioning.
Tiny bit more configuration for including the additional tasks in the graph. (once, not every single invocation)
No new CLI microsyntax.

For small projects the ease of -- --fix --write may be better than turbo run build eslint-fix prettier-write but precomposing the will give better and more-consistent results long term.

I had considered writing these args directly into the scripts but was looking for a way to deduplicate the configuration. With the approach you're describing, all of my package.json's will need to have:
{
  "scripts": {
    "format": "prettier . --check --cache --cache-location='node_modules/.cache/prettiercache'",
    "format:fix": "prettier . --write --cache --cache-location='node_modules/.cache/prettiercache'",
    "lint": "eslint . --cache --cache-location 'node_modules/.cache/.eslintcache'",
    "lint:fix": "eslint . --fix --cache --cache-location 'node_modules/.cache/.eslintcache'"
  }
}

I was hoping to be able to be able to write those once instead of into each workspaces' scripts. 🤔 I see the tradeoffs, though, so might be wishful thinking.

We have a way to control flags on a per-task basis already, and control how they execute inside the graph, via turbo.json

Here, are you describing something like:
{
  "$schema": "https://turbo.build/schema.json",
  "pipeline": {
    "format": {
      "dependsOn": ["^topo"],
      "outputs": ["node_modules/.cache/.prettiercache"]
      "args": "--cache --cache-location 'node_modules/.cache/.prettiercache'"
      },
    "format:fix": {
      "dependsOn": ["^topo"],
      "outputs": ["node_modules/.cache/.prettiercache"]
      "args": "--write --cache --cache-location 'node_modules/.cache/.prettiercache'"
      }
  }
}

That seems like it would be rather ergonomic at first glance to me. Wondering what I'm not considering?

After working with your strategy for awhile, it's clearly better. Thanks for the tip.
I still wonder about getting to place default args into turbo.json but I can see plenty of potential problems with that approach as well. Having the scripts be their own source of truth does seem to be the most straightforward and scalable approach.

@anthonyshew @nathanhammond - can you point me to the docs for this args param you're alluding to in your examples? I can't find it in https://turbo.build/schema.json or the docs.
This would help me greatly. I'm currently doing some sharding of vitest runners thru turbo, and getting cache misses on all upstream build steps is annoying.

The args I was proposing was only an idea and not a part of the API today.


refactor(apple): Use nonce+state when authenticating

This PR makes the Apple client use the scheme defined in #2823 so that the portal can use a consistent scheme for all clients.
It's a draft because it hasn't been integration-tested with the related portal changes.

Portal changes are almost ready to be merged, so going to merge this and build a new client once the portal changes are in


feat(notification): overrides some of the style to match new guidelines

Proposed Changes
https://coveord.atlassian.net/browse/UITOOL-1191
This Pr overrides some of the notification style from plasma that will ultimately be applied to the admin once I add the Notification system.
I gave background, image size and color and border with respect to gustavo's suggestions https://www.figma.com/file/9eXqWkzwcym7vJeod1fa3X/Plasma-Mantine-(WIP)?node-id=963%3A73730&t=W44SQ0iK7yzZch8H-0
I did it this way since it worked, but if you think there is anything better to get the icon to have the color as presented in the figma file with another cleaner method than this, PLEASE share it in this pr.
Potential Breaking Changes

Acceptance Criteria

[x] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

This PR should point to your v6 upgrade PR, otherwise the diff is hard to review 😬

showNotification should have some default values, because right now it explodes if you just specify a message.

Open demo link
Click on the button page
Click on the first button

The default toast doesn't respect any of the new Notification style designs


Travis builds broken due to upstream change in pyaaf2

We need to pin to a specific release of pyaaf2 instead of using the current master.

Looks like its because I rename interpolation -> interpolationdef. I added it back for compatibility.  Sorry about the breakage.

This is resolved now, thanks to #419


Running goneovim from shell scripts on MacOS

This is related to #43, but what I am reporting is not entirely the same as #43, which is a few years old.  My remarks below are long because I want to report the problem as precisely as I can, explain my workaround (which makes the problem unimportant), and explain what I understand about why the workaround works (which might be incorrect).
SUMMARY: There's a problem that causes goneovim to forget the working directory it starts from a shell script in the background, in MacOS.  I figured out a way to fix the problem.  So it's not a problem for me now, but maybe others will want to do the same thing.  Or maybe you will want to include a version of the solution in future a release.
1. The problem:
Currently, on MacOS (10.15.7, running "/Applications/goneovim.app/Contents/MacOS/goneovim" from the bash command line does inherit the current working directory from bash.  It also does this if I add "&" to run it in the background from the command line.
However, if I add "&" to the command line inside a shell script, goneovim sets the cwd to $HOME.  (This confused me at first because the filenames I passed on the command line created empty buffers.)
This seems very strange, but it's what happens:

If "/Applications/goneovim.app/Contents/MacOS/goneovim &" appears on the bash command line, or "my_goneovim_shell_script &" appears on the bash command line, goneovim inherits the correct cwd.
If "/Applications/goneovim.app/Contents/MacOS/goneovim &" appears in a shell script, goneovim forgets the cwd and uses $HOME.

I don't know whether the problem has to do with something about how goneovim starts up, or simply the fact that it's installed as a Mac application in /Applications, or bash, or something else.

2. A solution:
I discovered a workaround, which is to use two shell scripts:

In the first shell script, let's say "$HOME/bin/goneovim", use a line like:

$HOME/bin/goneovim_runner "$@" &

In the second shell script, "$HOME/bin/goneovim_runner", use the line

/Applications/goneovim.app/Contents/MacOS/goneovim "$@"

Then running the first shell script will start gonevim with the current working directory, instead of $HOME.
Important: The  second script can't use "exec" to run goneovim (as is done in the file /usr/local/bin/goneovim that is installed by "brew install --cask goneovim").  It's OK to use "exec" in the first shell script.
This doesn't fully make sense to me, but it seems to work.

3. Why this is happening (??)
Here is what I think is happening--but I may be confused.  There is pstree output below to illustrate what I mean.  I'm just guessing about some of this:
When goneovim is run in the background with "&" inside a shell script, it becomes detached from the shell process from which I ran the shell script.  I think that's why goneovim is not inheriting the working directory from bash.  When goneovim is run from two shell scripts as above, the ("first") shell script that runs goneovim has the ("second") shell script as its parent.  I think that goneovim then is able to inherit the working directory.
(I know basically what exec does, but I don't understand why "exec" can't be used in the second shell script.)
pstree output:
"user" below is what I substituted for my username.
Here is goneovim run with "&" typed on the command line.  goneovim inherits the cwd.  Notice that my bash shell (90462) is a parent of goneovim.
 \-+= 90455 user /Applications/iTerm.app/Contents/MacOS/iTerm2
   \-+- 90460 user /Users/user/Library/Application Support/iTerm2/iTermServer-3.4.15 /Users
     \-+= 90461 root login -fp user
       \-+= 90462 user -bash
         \-+= 91321 user /Applications/goneovim.app/Contents/MacOS/goneovim
           \--- 91328 user nvim -u NONE -n --embed --headless

Next, here is goneovim run from a single shell script with "&" in the shell script.  goneovim loses the cwd and uses $HOME.  Notice that my shell is not a parent.  (This is also what happens when I use two shell scripts but use "exec" in the second one.)
-+= 00001 root /sbin/launchd
 \-+- 91185 user /Applications/goneovim.app/Contents/MacOS/goneovim
   \--- 91297 user nvim -u NONE -n --embed --headless

Finally, here is goneovim run using two shell scripts.  goneovim inherits the working directory.  In this case, my shell is not a parent, but the first shell script (90871) is a parent.  (This is also what happens when I use two shell scripts and use "exec" in the first shell script.)
-+= 00001 root /sbin/launchd
 \-+- 90871 user /bin/sh /Users/user/bin/goneovim gone goneovim /usr/local/bin/goneovim
   \-+- 90874 user /Applications/goneovim.app/Contents/MacOS/goneovim gone goneovim /usr/local/
     \--- 90879 user nvim -u NONE -n --embed --headless

@mars0i
Hi :D
Thanks for this report.I read it with great interest.
I think this problem is essentially the same problem as #325 that has been reported recently.
The goneovim checks to see if it is itself a direct child of the init process (the PID1 process, laurnchd on MacOS, Systemd on Linux), and if it is a child, sets cwd to the home directory process.
https://github.com/akiyosi/goneovim/blob/36eb25a80cca1ac1cb25188c922b06d0dce4b2bf/editor/editor.go#L409-L437
However, internally, there is a small amount of time after the application is created before the ppid is obtained, and in some cases, when Goneovim is started via a shell script, the ppid is obtained after the parent shell script is terminated.
I am currently working on a way to fix this problem.
Translated with www.DeepL.com/Translator (free version)

Thanks @akiyosi. That's very interesting.  So if my computer was faster, my solution wouldn't work: using the extra shell script adds enough delay that goneovim sees the cwd.
@damanis mentioned neoray and nvim.  I wondered if the problem had to do with starting as a *.app file in /Applications.  That doesn't make sense given that @damanis experienced the problem on Linux, but just to see, I looked at VimR, another neovim GUI, which also runs from inside /Applications.  VimR runs its  executable from a Python script that explicitly passes the cwd to the executable (I think--I don't know Python well).
Then I wondered whether whether it would be possible to do the same thing with goneovim.  The idea would be to add a --cwd commandline option, and then run goneovim from a shell script that does something like this (for the MacOS version):
#!/bin/bash
/Applications/goneovim.app/Contents/MacOS/goneovim --cwd "$PWD"  "$@"  &

That's not as elegant as handling the issue inside the goneovim executable, but it might be easier to implement, and it also makes goneovim more flexible, since it would allow a user to pass a different cwd if they wanted to.

@mars0i
Thanks for your comments and fascinating suggestions.
I will consider the suggestions you have made.
By the way, I have fixed the process of getting the ppid to an earlier stage in the application startup process.
Would it be possible to confirm if the problem occurs with the following CI artifacts?
https://github.com/akiyosi/goneovim/actions/runs/2175890336

@akiyosi thanks very much!  Happy to check.
When I checked the new MacOS CI artifact, the behavior was exactly the same as before: When I run
/Applications/goneovim.app/Contents/MacOS/goneovim "$@" &

in a script, goneovim forgets the cwd and sets it to $HOME.  In all other cases (commandline with or without '&', or the double-script trick), goneovim remembers the cwd.  I believe the pstree output is the same as well.

Seems, the problem is same as in Linux: MacOS also POSIX system, so parent pid, ppid, set to 'init' process (pid 1) when bash script exits.

The new artifact with the earlier ppid collection uses a lot of CPU according to the MacOS Activity Monitor app.  It stays at about 100% of a core for a while (30 seconds? 60 seconds?), and then gradually goes down.  After maybe two minutes, it seemed to stabilize at  at 30% of a core, even though I wasn't doing anything in goneovim.  I use a Clojure IDE tool written in vimscript, vim-iced.  This seems to make the problem worse: with vim-iced, the CPU usage stays up at 100%.  It doesn't normally do that--it didn't do it with previous versions of goneovim.

@damanis @mars0i
This problem is difficult to be compatible with the handling of CWD by detecting the process ID of the parent.
I would consider changing the current specification to control CWD with the --cwd option.

@damanis @mars0i
Hmmm, or maybe it would be better if, in addition to the condition of ppid being 1 in the current spec, cwd is changed to the home directory if cwd is the root directory?

@akiyosi, here are some thoughts I had.
I'm not sure whether you meant that maybe the policy should be that goneovim should always change the cwd to the home directory whenever the cwd appears to be the root directory.  If so, that doesn't seem good to me.  Someone might want to use goneovim to edit files from the root directory when they are doing system administration tasks.
I think that when goneovim doesn't know what the correct cwd is (ppid is 1 and there is no other information), then it makes sense to change the cwd to the home directory.
(If you decide to add --cwd and create a shell script that is normally used to start goneovim, then maybe the only time that goneovim won't have information about the cwd will be when someone starts goneovim by double-clicking on an icon.  In that case, the user won't expect the cwd to be any particular directory.  The home directory will be a sensible default, though.  No one will find it surprising.)

@akiyosi
It is strange for me that you need to fix here something. Why current directory changed to '/' when ppid is 1?

@damanis, the way I understand it is that goneovim gets the cwd from its parent process, but process 1 always has cwd '/'.  (Is that the right way of thinking about it, @akiyosi?)  What is strange to me is that
I noticed that neoray is also written in Go, though it uses OpenGL rather than Qt.  For me, neoray is not as good as goneovim--neoray seems more like a beta release--but neoray doesn't lose the original working directory when I start it in the background in a shell script:
#!/bin/sh
/usr/local/bin/neoray.exe "$@" > /dev/null &

Here neoray.exe is a MacOS binary that becomes the child of process 1, just as with goneovim.
Maybe it would be worth looking at Neoray's source to see how it handles the working directory on startup.  However, it might just be that neoray takes longer than goneovim to start, and that's why it gets the correct cwd, like my double shell script way of starting goneovim?
Another idea would be to build into goneovim the option to fork itself and run in the background, rather than using "&" to run it in the background.  Then when goneovim starts, if the user specified a commandline option asking to run in the background, goneovim can record the cwd, which will be correct since at this point its parent is the user's shell process.  Then when goneovim forks and process 1 becomes the parent, it will have the cwd from before the fork, and can ignore the fact that its current parent, ppid=1, has '/' as its cwd.

@mars0i

neoray takes longer than goneovim to start
Rather the opposite, it takes cwd before parent changing.

Implement fork in goneovim itself (I prefer by default) is good idea, but there are still many option run it in background (e.g., kitty terminal can do).

fwiw, If one starts goneovim in a script in the background with "&", :echo $PWD reports the original cwd, even though :pwd reports the home directory.  (I thought I might be able to avoid the problem by putting cd $PWD in .config/nvim/initi.vim, but the file paths to be read into buffers are constructed before that step.)

@mars0i @damanis
The reason we are including the process of changing cwd to the home directory when the gooneovim is a direct sub-process of the init process is that without this process, when the .app is clicked and launched, CWD becomes the root. This is why 43 issues have been reported in the past. Also, MacVim, for example, when MacVIm.app is clicked and launched under MacOS (i.e., it is a direct child of launchd, the init process), its CWD is in the user's home directory.
It seems that there is a problem with the current goneovim cwd setup process, so I am going to remove this process once and for all. I believe there is probably a more correct way to do this.

That all seems reasonable to me, @akiyosi .  Thanks.

It seems like this is no longer a problem in MacOS.  From my point of view, this issue can be closed, but perhaps there is additional work related to #325 and #43.


WebApp - Extension - Improve lock UX

Describe the bug
Automatically lock the app every reload
To Reproduce
Steps to reproduce the behavior:

Go to the Web-app
Unlock app
Reload app
Observe the screen displayed

Actual: Automatically lock the app every reload

Expect: Do not require unlock wallet when reload page
Solution: Implement options on Security settings:

Option 1: Unlock on start
Option 2: Unlock when required (perform transaction, export account)

Lock button is lock both keyring and screen

No need to display the lock keyring status
When the user performs any action that requires the keyring, the enter password screen will be displayed to unlock the keyring

When unlock is unlock both keyring and screen

Can not perform as mentioned above.
Suggesstion solution:

Unlock with popup for some view that require unlock like create password, confirmation...

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1808-build-1.1.8-2023-08-16T11-16-35UTC.zip
Please check case "when required":

[ ] Do not show enter password popup in cases:

Derive account from account detail screen

Import account by JSON file

[ ] Do not show err message when entering the wrong password

[ ] Still showing the entered password in case of closing then reopening pop-up

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1808-build-1.1.8-2023-08-17T11-40-16UTC.zip
Please check more issues:

[ ] Do not show the select account screen to derive in case below
Steps:
1. Go to the Create a new account
2. Select derive from an existing account option
3. Select an account
4. Do not enter password, click on x button to close the enter password popup
5. Re-select the derive from an existing account option and observe the screen displaying
Actual: Do not show the Select account screen to derive

Expect: Show the Select account screen to derive account

[ ] Do not show enter password popup in case import account by QR code

[ ] Still show submitting when user closes the enter password popup

Expect: Enable button to click to re-open the enter password popup

@Sokol142196, I fixed these issues. Please check it one more time

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1808-build-1.1.8-2023-08-18T09-17-34UTC.zip
Authentication passed for the above issues
Notes: Re-test after implement issue #1763

@saltict please re-check case unlock to login in case wallet unlock type = "when need"

Actual: Still unlock wallet when user enter wrong password

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1808-build-1.1.8-2023-08-23T11-36-35UTC.zip
Validation passed
Waiting update icon and label option


replaced Github with GitHub

Description
Changes typo from 'Github' to 'GitHub' in user-facing code. Now, all of the search results that show 'Github' is either the icon class faGithub or variable and method names.
Review Instructions
Using the search everywhere function, verify that there are no other 'Github' typos for user-facing texts.
Issue
https://ucsc-cgl.atlassian.net/browse/DOCK-1318
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that your code compiles by running npm run build
[x] If this is the first time you're submitting a PR or even if you just need a refresher, consider reviewing our style guide
[x] Do not bypass Angular sanitization (bypassSecurityTrustHtml, etc.), or justify why you need to do so
[x] If displaying markdown, use the markdown-wrapper component, which does extra sanitization
[x] Do not use cookies, although this may change in the future
[x] Run npm audit and ensure you are not introducing new vulnerabilities
[x] Do due diligence on new 3rd party libraries, checking for CVEs
[x] Don't allow user-uploaded images to be served from the Dockstore domain
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

For the bonus, I couldn't find spellchecking tools we could add onto our build to prevent these errors in the future. So I added a new issue that we can come back to. https://github.com/dockstore/dockstore/issues/5234


Vote's signature is stored in binary

I found this potential bug on branch: https://github.com/bigchaindb/bigchaindb/tree/docs/601/design-http-api
I don't think it's been solved in master (didn't test though). If so, great.
To reproduce:

Run bigchaindb start
Post a transaction
Retrieve the votes table in the rethinkdb web interface:

{
    "id":  "b726da5d-0716-4f8e-a580-9e09763434c0" ,
    "node_pubkey":  "ErEeVZt8AfLbMJub25tjNxbpzzTNp3mGidL3GxGdd9bt" ,
    "signature": <binary, 88 bytes, "34 51 45 33 70 75..."> ,
    "vote": {
         "invalid_reason": null ,
        "is_block_valid": true ,
        "previous_block":  "6152fbc7e0f7686512ed6b92c01e8c73ea1e3f51a7b037ac5cc8c860215e7202" ,
        "timestamp":  "1480082692" ,
        "voting_for_block":  "e79204416a2e7490192bf50a827915ee4258680e09d61a19a25c25a44674a1b7"
    }
}

I'm not sure if it is supposed to be that signature is stored in binary. I guess not.

Resolved by #869


[CI] Try capping scikit-learn <= 1.5.2

Troubleshoot #11085

Working on some fixes https://github.com/dmlc/xgboost/pull/11086 Should be able to go through it tomorrow.


How should types be provided to stuff?

Describe the problem
I'm not sure how we are supposed to provide a type definition for the stuff argument of a page's load function.
I'm passing data into stuff within my __layout.svelte.
When using that stuff object within non-layout pages, Typescript thinks it should be an empty object.

Describe the proposed solution
I'm not sure if this is a bug, or needs to be documented somewhere.
Alternatives considered
No response
Importance
nice to have
Additional Information
No response

It's documented at https://kit.svelte.dev/docs/types#app

🤦♂ sorry! thanks


Allow provider to add some extra user info to user class

Some sites not only provides this user info to oauth client,but provider can't add extra info to user class

Please take a look at our contributing guidelines.
This pull request breaks the build. Additionally, please do not commit commented-out code to the repository.
If you could provide more information about the problem you are having, perhaps there is another work-around that does not involve removing this code. As it is right now, it looks like you're running into an issue with a provider that is trying to populate a property on the User that does not exist. Is this correct?

Yes,i want to Implement my own provider.But when i try to populate a property on the User that does not exist,i will catch a error.Can you tell me some ways to solve this problem?Thanks.

Can you provide examples of the properties you are attempting to set on the User. Also, what OAuth 2 server are you attempting to authenticate with that is passing these properties to you?

For example,baidu oauth2 server will provide marriage status,blood type,constellation,education,job info of user.And qq(Chinese largest company of social website and IM software)will provider user's level and fans number info.Also sina will provide friends Count,created time,favourites Count,followers Count info.So i think it's necessary to allow provider to populate a property on the User that does not exist.Any idea?

To be honest, I'm not even sure why this library provides a User object. The User is not part of the OAuth 2 specification.
@philsturgeon, @alexbilbie, can you provide some background on the need for the User class? I think we'll continue to run into these issues where each server has different User needs. Since User isn't a part of the OAuth 2.0 spec, my opinion is that it shouldn't be a part of this library. Thoughts?

The user is definitively outside of the oauth2 specification. This is one of the assumption being made waaay way back when it was just CI code, and all people wanted to do was make user logins to get their Facebook user details and make a profile.
The idea was to abstract as much of the provider stuff as possible in doing that, so you could write one chunk of code and have all of your oauth2 logins sorted out, and swap that for user data. Things like uid, username, etc was so different in so many systems that this had to be there, just to make lives easier for people during this process, as that was the whole goal of the app.
Since then it grew to support more grant types, and has obviously made some moves away from this use case and onwards to being a generic oauth2 client that just does what the spec does. It could be removed, but this package would drop a lot of its use if it did.
If it could be split somehow then that would be really handy, but the providers would not know how to provide this functionality and we'd be stuck in a really weird position.

I'm definitely in favour of keeping the User objects around. This app shouldn't provide API functionality, but if it's authenticating a user, I do not think it's unreasonable to have it inform who that user is, regardless of what is strictly in the spec.
I solved this problem in my Battle.net package by just adding a BattleNetUser class, and having the ->userDetails() function in my provider return that: https://github.com/tpavlek/oauth2-bnet/blob/master/src/Provider/BattleNetUser.php.
The provider has to know about what data it's going to be pulling anyway, so I don't see any issues with providers just doing something similar.

@tpavlek I like how you've solved this in your package. IMO, the User is really a provider-specific construct. I don't mind keeping the base class around as a generic User object, but I'd prefer not to make too many assumptions about it.
@binaryoung, does @tpavlek's solution help you? Is that something you can do in your providers, without making upstream changes?

Thanks guys,thanks for your great solutions.It really helped me ;)


Placed blocks do not retain their custom block name when destroyed

Describe
Title says it all. Right now it's not a huge issue in my world because I usually place the blocks then never move them.
It would be SUPER handy if blocks retained their names, especially so in complex system in order to identify them easily without a very involved custom configuration step.
Steps to reproduce

Rename a block from the mod in an anvil and place it down somewhere.
Hook up a wired modem and call getName() on the block. You'll see the new name.
If using Jade (block info mod), the block's new name is never shown, only its original name.
Breaking the block reverts it back to its original name.

Multiplayer?
No
Version
1.20.1-0.7.39r (Latest 1.20.1)
Minecraft, Forge and maybe other related mods versions
Minecraft 1.20.1
Screenshots or Videos
No response
Crashlog/log
No response

Funny, I never tested that or thought about that

To add to this: getName() returns a string that's wrapped with square brackets


Realm Sync on newly imported app

In the sandbox environment, sync is stopping with:
"maximum attempts reached processing event for trigger id=5f73.....4e759a: dropping collection "wildaid.MenuData" being synchronized with Realm is not supported"
This is making it so I can't login with a user on a mobile app, using the sandbox environment.

I've just re-enabled sync for wildaidsandbox-mxgfy
@Sheeri Looking at the error - dropping collection "wildaid.MenuData" being synchronized with Realm is not supported" it looks like someone dropped the MenuData collection. This is a destructive change (from a sync perspective); Terminating (not pausing) and then restarting sync is the fix

You also need to set the read and write sync permissions to this when reactivating:
{
  "%%user.custom_data.agency.name": "%%partition"
}

I also had to update the Custom User Data -> Cluster name (the sync source) at https://realm.mongodb.com/groups/5f733d3366d46e349c2c49de/apps/5f735f71a3478af2476f85cf/auth/customUserData
(I used mongodb-atlas).
Things work now! I can login as my sandbox user on the iOS app.


How does the increasing number of input channels help colorization?

I saw the code there and am wondering why 4 channels as input help to produce better results? Are there some references or support theory?

because paintschainer have 4 channels for input.
btw issues will be cleared before we promote our model. so all issue closed.

You can close it. But still why 4 channel is better than 3 as input? Remains a mystery


Remove RCTSparseArray

RCTSparseArray was replaced by NSDictionary but it does not seem to be needed here.

Thanks :+1:


Map {}, None or Any to Any instead of object

APIs with a response schema of {} were translated to returning object, which causes a validation fail.
Mapping to Any fixes this, I'm not sure this is the best solution.

Thanks for the contribution!
I think this is a fine fix for now. Once we merge the ability to specify a local input file, maybe we should rework the example generation to make use of a FastAPI app that covers all of these edge cases; that would probably make it easier to iterate on the generation.
Eventually, I think it would be nice to ditch openapi-generator in favor of a fully python/Jinja-based solution (it's too much work to do subtle tweaks to the generation process that aren't template-friendly), but given just how much work openapi-generator is currently saving, I think it's worth keeping for now.


Non-null service UUID constructor parameter removes all scan results for iOS

Describe the bug
Non-null service UUID constructor parameter removes all scan results for iOS, even those that match.
To Reproduce
Steps to reproduce the behavior:

Update the AppDelegate method in the iOS project to pass a service UUID string in the initialization of the BlueFalcon singleton.

Expected behavior
Only devices that match that service should be shown.
Desktop (please complete the following information):

OS: MacOS 11.4

Smartphone (please complete the following information):

Device: iPhone X
OS: iOS 14.4.2

Additional context
I recommend the following fix to iosMain/.../BlueFalcon.kt (I would create a branch and open a PR, but I don't have sufficient rights to do so):

"Use the forks" or something on those lines.
@jamesjmtaylor - this is exactly what forks were invented, fork this repository, create your changes and when you create a PR you can target the master to being reedyuk/blue-falcon/master.
Good luck!

@Reedyuk PR is up! https://github.com/Reedyuk/blue-falcon/pull/74


[PoC] Make Agents include their own names in the X-Thorn header

DISCLAIMER: Needs testing against a live instance

Coverage increased (+0.03%) to 94.253% when pulling 49bef115e165e6081b2fe5dd9a76cbc98094e35e on rhoggSugarcrm:agent-xthorn-name into 7902912a36fb6916bef8dad5b1e578e6e1ada881 on sugarcrm:master.

Coverage increased (+0.03%) to 94.302% when pulling 1ab376397d38025727909a9e4e295b882c0a4921 on rhoggSugarcrm:agent-xthorn-name into c7c2df01c720ded4ccd6e910e0ed27d096a76685 on sugarcrm:master.

Coverage increased (+0.03%) to 94.302% when pulling 2ec65e15eab69d8b992afa576c3c437e04c0ee2f on rhoggSugarcrm:agent-xthorn-name into fd2c618b21d22c574b65a9cbc2358a32f740a9e2 on sugarcrm:master.

Coverage increased (+0.03%) to 94.302% when pulling cdc18290ea92380022a761f30e53c63265db9626 on rhoggSugarcrm:agent-xthorn-name into 5eee52c76859f21fdff06254968570647a08ae81 on sugarcrm:master.


Information from Security Advisory: CVSS Score

The RSS feed itself does not provide much helpful technical information. For that a user needs to follow the provided URL to the related security advisory. Debugging that in a network console of a browser the information of the advisory are retrieved through the following request:
Call API Endpoint for retrieve a uuid for a given wid key: https://wid.cert-bund.de/content/public/securityAdvisory/kurzinfo-uuid-by-name/#{wid}
Use this uuid to call another API Endpoint to retrieve the wid content: https://wid.cert-bund.de/content/public/content/#{uuid}
The last call serves a json with the advisory information. This can be used to extract the cvss scoring for this advisory. These information should be added to the mail information.

Done with #25.


unify the format of variables documentation

this is related mainly to examples, but module might require review as well
proposed format - VMSS documentation in autoscaling example

First proposal from my side - use hyphen instead of colons to separate property name and description (such an approach is a standard for example in TF resources docs) and remove extra spaces from (type|required) - pipe alone is a good enough separator imo.
description = <<-EOF
Some general variable description.

Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

If this is a map, information about keys and values meaning should be included.

If values are nested maps, a list of keys/properties could follow:
  - `name_of_property` - (`variable_type`|`required`) some short description.
  - `example_string_required` - (`string`|`required`) for required properties
  - `example_bool_optional` - (`bool`|`false`) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional` - (`string`|`module default`) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional` - (`number`|`cloud default`) when property is not required and we rely on the defaults set by the cloud API

Example

example blocks could follow here
EOF

Name
Description
Type
Default
Required

 example_docs
Some general variable description.Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. If this is a map, information about keys and values meaning should be included.If values are nested maps, a list of keys/properties could follow:  - name_of_property - (variable_type|required) some short description.  - example_string_required - (string|required) for required properties  - example_bool_optional - (bool|false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional - (string|module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional - (number|cloud default) when property is not required and we rely on the defaults set by the cloud APIExampleexample blocks could follow here
any
n/a
yes

Second proposal is similar, with additional alignment in the description - this ha no impact on the generated table row, but is easier to read in the variables.tf directly.
description = <<-EOF
Some general variable description.

Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

If this is a map, information about keys and values meaning should be included.

If values are nested maps, a list of keys/properties could follow:
  - `name_of_property`        - (`variable_type`|`required`) some short description.
  - `example_string_required` - (`string`|`required`) for required properties
  - `example_bool_optional`   - (`bool`|`false`) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional` - (`string`|`module default`) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional` - (`number`|`cloud default`) when property is not required and we rely on the defaults set by the cloud API

Example

example blocks could follow here
EOF

Name
Description
Type
Default
Required

 example_docs
Some general variable description.Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. If this is a map, information about keys and values meaning should be included.If values are nested maps, a list of keys/properties could follow:  - name_of_property        - (variable_type|required) some short description.  - example_string_required - (string|required) for required properties  - example_bool_optional   - (bool|false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional - (string|module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional - (number|cloud default) when property is not required and we rely on the defaults set by the cloud APIExampleexample blocks could follow here
any
n/a
yes

Third proposal removes additional code markers within the braces. The most important part - property name - is emphasized, its description, including type etc. is in the same line, still easy to find and read.
description = <<-EOF
Some general variable description.

Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

If this is a map, information about keys and values meaning should be included.

If values are nested maps, a list of keys/properties could follow:
  - `name_of_property`        - (variable_type|required) some short description.
  - `example_string_required` - (string|required) for required properties
  - `example_bool_optional`   - (bool|false) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional` - (string|module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional` - (number|cloud default) when property is not required and we rely on the defaults set by the cloud API

Example

example blocks could follow here
EOF

Name
Description
Type
Default
Required

 example_docs
Some general variable description.Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. If this is a map, information about keys and values meaning should be included.If values are nested maps, a list of keys/properties could follow:  - name_of_property        - (variable_type|required) some short description.  - example_string_required - (string|required) for required properties  - example_bool_optional   - (bool|false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional - (string|module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional - (number|cloud default) when property is not required and we rely on the defaults set by the cloud APIExampleexample blocks could follow here
any
n/a
yes

@michalbil :

1st suggestion 👍🏻
2nd i do agree, it can be troublesome, as this would be manual work, but yes, it's more readable
3rd I would keep the emphasis, sometimes there's a lot of text in a single line that could cause the defaults and data type to blur into background. It does not have to be a code block, we could do italics for example

Another idea would be to split the important and not important properties into to two lists. This can be optional, but would become handy for large modules, like vmss or appgw. Sometimes you're not interested in all options available, or the default suit VMSERIES quite good, so it's a waste of time to mix them with the required/important ones.
One thing more is that the list of required/important props is usually shorter, so the top of the documentation would be less cluttered.
Another option is to add some HTML tags like <detailed> to allow some folding when displaying the documentation on GH/TF Registry.
So the description would look like this:
description = <<-EOF
Some general variable description.

Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq.....

If this is a map, information about keys and values meaning should be included.

Required/important/without defaults, etc:
  - `name_of_property`: (`variable_type` | `required`) some short description.
  - `example_string_required`: (`string` | `required`) for required properties
  - `example_bool_optional`: (`bool` | `false`) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional`: (`string` | `module default`) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional`: (`number` | `cloud default`) when property is not required and we rely on the defaults set by the cloud API

Optional/not required/with defaults, etc:
  - `name_of_property`: (`variable_type` | `required`) some short description.
  - `example_string_required`: (`string` | `required`) for required properties
  - `example_bool_optional`: (`bool` | `false`) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional`: (`string` | `module default`) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional`: (`number` | `cloud default`) when property is not required and we rely on the defaults set by the cloud API
  - `name_of_property`: (`variable_type` | `required`) some short description.
  - `example_string_required`: (`string` | `required`) for required properties
  - `example_bool_optional`: (`bool` | `false`) when property is not required and we force a default value in the example, possibly overwrting the module default value
  - `example_string_optional`: (`string` | `module default`) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has `nullable` set to `false`
  - `example_number_optional`: (`number` | `cloud default`) when property is not required and we rely on the defaults set by the cloud API

Examples
  example blocks could follow here

EOF

This would render into:

Name
Description
Type
Default
Required

 test
Some general variable description.Some longer description if required: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliq.....If this is a map, information about keys and values meaning should be included.Required/important/without defaults, etc:  - name_of_property: (variable_type | required) some short description.  - example_string_required: (string | required) for required properties  - example_bool_optional: (bool | false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional: (string | module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional: (number | cloud default) when property is not required and we rely on the defaults set by the cloud APIOptional/not required/with defaults, etc:  - name_of_property: (variable_type | required) some short description.  - example_string_required: (string | required) for required properties  - example_bool_optional: (bool | false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional: (string | module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional: (number | cloud default) when property is not required and we rely on the defaults set by the cloud API  - name_of_property: (variable_type | required) some short description.  - example_string_required: (string | required) for required properties  - example_bool_optional: (bool | false) when property is not required and we force a default value in the example, possibly overwrting the module default value  - example_string_optional: (string | module default) when property is not required and we rely on module's defaults, this implicitly states that the variable defined in a module has nullable set to false  - example_number_optional: (number | cloud default) when property is not required and we rely on the defaults set by the cloud APIExamples  example blocks could follow here
map
{}
no

an example, a sum of all above suggestions can be found:

for variables.tf format -> here
for README.md look -> here

all ideas gathered there will be used in #307


I have tried your code but

But in Android 13 app not available for Android Auto. I try also directly your project.

Apologies for the delay. I just ran the sample again to confirm that it is still working on an Android 13 device and it is indeed still running as shown below:

Are you perhaps trying to run the app on your car without having deployed to the Google Play store internal track?
https://youtu.be/nNkVxegb2oU?si=pG1ZdOAqYi5iep14&t=36
You can run the app in the desktop head emulator without publishing to store, but to run the app on a physical car you have to push it to the play store and download it from the play store. Please make sure you followed all the steps outlined in the video:
https://youtu.be/nNkVxegb2oU?si=pG1ZdOAqYi5iep14

Closing this issue as I have not received a response in over a month.


Chapters 15-16 don't render the original web page well

https://info.cern.ch/hypertext/WWW/TheProject.html renders ok in all chapters up through 14. Chapters 15-16 somehow mess up the hyperlinks.

The new AttributeParser class added in chapter 15 is the cause.

It's because it incorrectly fails to call casefold on the tag; fixing now.


Quickly how do you change the location of which drive to download the data from datasets,

Instructions
Thank you for submitting an issue. Please refer to our
issue policy
for information on what types of issues we address.
Please fill in this template to ensure a timely and thorough response.

Place an "x" between the brackets next to an option if it applies. Example:

[x] Selected option

Please delete this section (all content above this line) before submitting
the issue

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
FiftyOne installed from (pip or source):
FiftyOne version (run fiftyone --version):
Python version:

Commands to reproduce
As thoroughly as possible, please provide the Python and/or shell commands used
to encounter the issue. Application steps can be described in the next section.
# commands here

Describe the problem
Describe the problem clearly here. Include descriptions of the expected
behavior and the actual behavior.
Code to reproduce issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem.
If including tracebacks, please include the full traceback. Large logs and
files should be attached.
What areas of FiftyOne does this bug affect?

[ ] App: FiftyOne application issue
[ ] Core: Core fiftyone Python library issue
[ ] Server: Fiftyone server issue

Willingness to contribute
The FiftyOne Community encourages bug fix contributions. Would you or another
member of your organization be willing to contribute a fix for this bug to the
FiftyOne codebase?

[ ] Yes. I can contribute a fix for this bug independently.
[ ] Yes. I would be willing to contribute a fix for this bug with guidance
from the FiftyOne community.
[ ] No. I cannot contribute a bug fix at this time.

Duplicate of https://github.com/voxel51/fiftyone/issues/1441.


minor fix for delete icon on empty profile

Describe your specific features or fixes and provide a preview link for the feature being incorporated
Resolves: MWPW-NUMBER
Test URLs:

Before: https://main--ecc-milo--adobecom.hlx.page/
After: https://deleteicon-bug--ecc-milo--adobecom.hlx.page/

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

Project coverage is 67.50%. Comparing base (13516fc) to head (80cbe31).
Report is 74 commits behind head on dev.

Additional details and impacted files
@@            Coverage Diff             @@
##              dev     #217      +/-   ##
==========================================
+ Coverage   67.22%   67.50%   +0.27%
==========================================
  Files           2        2
  Lines         238      240       +2
==========================================
+ Hits          160      162       +2
  Misses         78       78

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


Specify how to aggregate set of active learning

For each image, we get a set of "uncertainties" for each patch which contains a potential host. How do we combine this into an image level "uncertainty".

I've tried an entropy approach in 17_training_with_features. The subject with the highest entropy does look hard to classify and it's clear there's a lot of uncertainty in the result.

Probably the oldest issue I'm going to bump... I should consider testing whether difference between the top two predicted probabilities is a good way to aggregate the uncertainties.

This should be discussed in the thesis.

Resolved!


[core] Weird if-else statements

Hey!
I've noticed weird conditions when decompiled. Let's assume that we have the following code:
    void test(String action) {
        if ("a".equals(action)) {
            do1();
        } else if ("b".equals(action)) {
            do2();
        } else if ("c".equals(action)) {
            do3();
        }
    }

However, it's always decompiled to
    void test(String action) {
        if ("a".equals(action)) {
            do1();
        } else if ("b".equals(action)) {
            do2();
        } else if (!"c".equals(action)) {
        } else {
            do3();
        }
    }

It includes not only string conditions, but all of them. Is there a way to make the decompiled code more pretty?
An example is in method com.samsung.android.aircommandmanager.AirCommandManager.AirCmdBroadcastReceiver.onReceive() in APK https://drive.google.com/file/d/1-awUDVr7qOf6ao_H7-f_bnWHgluavt7M/view?usp=sharing:
        } else if ("com.sec.android.facm.START_WIFI_SOCKET_CONNECT".equals(action)) {
            m369s(stringExtra, stringExtra2);
        } else if (!"com.sec.android.facm.START_WIFI_AP_CONNECT".equals(action)) {
        } else {
            m373o(stringExtra, stringExtra2);
        }

@bagipro fixed, thanks for report :+1:


Watch out for regressions in the Table Detector

Hey @melisabok,
I just ran the tests in your branch. There's a special test suite for running the table detection algorithms.
Cumulative results for your branch are:
48 out of 67 currently passing
137 out of 156 expected tables detected
34 tables incorrectly detected

…master, on the other hand, gives these results:
51 out of 67 currently passing
140 out of 156 expected tables detected
30 tables incorrectly detected

This difference might go away when you make the other tests pass, but it's something to keep an eye out for anyway.
Thanks!

Yes, I'm working on those tests right now. 4/8 that are currently failing come from the TestTableDetection: 10, 26, 35 and 46.
It seems that the horizontalRulings and verticarlRulings have differences and I guess is the way that we generate the images with pdfbox2.0
image = Utils.pageConvertToImage(pdfPage, 144, ImageType.GRAY);

But I'm not sure yet. I'll keep you posted.

Thanks!
You're aware of the Debug tool, right? It might be useful for, well, debugging.

Build a mega-jar with mvn clean compile assembly:single
Example: java -cp target/tabula-0.9.2-jar-with-dependencies.jar technology.tabula.debug.Debug -p 1 -r src/test/resources/technology/tabula/argentina_diputados_voting_record.pdf
That will generate a jpg in the same folder of the input PDF

There's a bunch of options that you can use in the debugger:
java -cp target/tabula-0.9.2-jar-with-dependencies.jar technology.tabula.debug.Debug -h
usage: tabula-debug [-a <AREA>] [-c] [-d] [-e] [-f] [-g] [-h] [-i] [-l]
       [-n] [-p <PAGES>] [-r] [-s] [-t] [-u]
Generate debugging images
 -a,--area <AREA>           Portion of the page to analyze
                            (top,left,bottom,right). Example: --area
                            269.875,12.75,790.5,561. Default is entire
                            page
 -c,--columns               Show columns as detected by
                            BasicExtractionAlgorithm
 -d,--detected-tables       Show detected tables
 -e,--characters            Show detected characters
 -f,--profile               Show projection profile
 -g,--region                Show provided region (-a parameter)
 -h,--help                  Print this help text.
 -i,--intersections         Show intersections between rulings.
 -l,--cells                 Show detected cells
 -n,--clipping-paths        Show clipping paths
 -p,--pages <PAGES>         Comma separated list of ranges, or all.
                            Examples: --pages 1-3,5-7, --pages 3 or
                            --pages all. Default is --pages 1
 -r,--rulings               Show detected rulings.
 -s,--spreadsheets          Show detected spreadsheets.
 -t,--textchunks            Show detected text chunks (merged characters)
 -u,--unprocessed-rulings   Show non-cleaned rulings

This is great! I didn't know about this tool
Thanks!


Selection of the source folder for a project - Handle web projects dealing with "PublishedWebsite"

Hi, and thank you for the great work 👍
Output (in TargetDir folder) for WebAPI and MVC projects are different than real published content :

Content folders are not copied into bin folder but are taken from sources in debug

Some of the references are not published when option "Only files needed to run this application" is selected in project publish web preferences

These two VS behaviours imply we have to manually make many changes to wxs file, which will be lost if it is generated again.
It would be great if, by an option, we can select the publishedWebsite folder for these projects.

Wax relies on the Visual Studio project model - it simply collects what VS reports as project output, it does not scan any output folder. So I see no option to select the publishedWebsite folder.
Wax also can't reflect additional tweaking done by the publish build step, since this also won't appear in the VS project model.
If just the project output is different in debug and release configurations, you should edit and build the installer only when the release configuration is active.
If you just want to dynamically collect anything from a specific output folder, maybe the tool of your choice is heat

Thanks for your reply, I was almost sure of your answer...
We used to use Paraffin to generate wxs file from a folder, but I want to keep Wax naming : Paraffin generates guid-like Ids for the files, and I prefer your Ids (based on file name).
Do you know if heat can handle that ?

No, I think heat also uses guids that change with every run...
To keep the the wax naming a standalone version of wax that just scans a folder would be needed.

I've found a solution :

I mark every content files as "Copy always" to not miss any of them (web.config by example, loosing release build transformation)

I add "bin" after the generated variable on dlls and pdbs source attribute (which are not in root folder for web applications) and surround them by a manually created ComponentGroup which points to bin folder.

It's a five minutes operation, that's pretty cool. Publishing site is no more necessary in TFS build process.
Maybe I'll try to make a "Web" version of Wax to automate this process in a postbuild event, and to understand how Wax locates the files where Components are generated (I've many wxs files in my project, one by installer work). I'll inform you.
Off-topic : the extension seems to be automatically disabled each time I open VS 2015. Do you know this behaviour ?
Thanks again anyway
Regards

The "disabled" problem is probably the same as this: https://resxresourcemanager.codeplex.com/workitem/4730, it's a known bug in the VS extension installer, sometimes leaving old versions behind. (or try https://github.com/remcoros/DuplicateExtensionFinder)
Wax is just a design time tool, the idea is to keep the files in the .wxs files up to date at design time - it is not involved in the post build step.
However I could think of some special handling of content files in special folders, if the project is a web site project.
Maybe you can send me a sample project, so we are talking about the same project kind?

WebAPI.zip
There you are.
My main problem is principal assembly dll is taken from TargetDir\bin (and not TargetDir) and other references are not going into bin but only into INSTALLFOLDER :
<File Id="bin_WebAPI.dll" Name="WebAPI.dll" Source="$(var.WebAPI_TargetDir)bin\WebAPI.dll" />
(should be $(var.WebAPI_TargetDir)WebAPI.dll)
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER"> 			<Component Id="Microsoft.ApplicationInsights.dll" Guid="5be45e3e-bc09-4522-a8fd-a875a83a0bf4"> 			  <File Id="Microsoft.ApplicationInsights.dll" Name="Microsoft.ApplicationInsights.dll" Source="$(var.WebAPI_TargetDir)Microsoft.ApplicationInsights.dll" /> 			</Component>
(should be into bin folder)
Thanks for the DuplicateExtensionFinder tool by the way, you were right 👍

New deal : I use this nuget package which delivers four dlls but references only the top two of them in the csproj. (see my post on SO explaining this behaviour).
VS and MSbuild both do right at compilation, detecting types from other two libraries, and the four libraries are in the bin folder.
Wax doesn't detect them, and I understand that's because it's based on csproj file, but if MSBuild can do it maybe we can too ?
Regards

Thanks, I'll open a new issue for second-tier references.
I've downloaded your code, I'm debugging it, and I wonder if we can handle them like MSBUILD does.

@tom-englert : Thats only a partial fix.
Main dll is not now taken from TargetDir and not from TargetDir\bin anymore, but as every dlls and pdbs they must go into INSTALLDIR\bin folder (and not only INSTALLDIR) once deployed.
"My main problem is principal assembly dll is taken from TargetDir\bin (and not TargetDir) and other references are not going into bin but only into INSTALLFOLDER :

(should be $(var.WebAPI_TargetDir)WebAPI.dll) ==> FIXED 👍

(should be into bin folder) ==> NOT FIXED 👎 "

Wax does not deal with directories - if the default install dir that comes with the default template provided by the WiX Toolset (not Wax) does not suite your needs, you have to prepare the directory structure in the .wxs file, and select the proper target dir before adding any files...

The root directory is good. I select it at step 2, and some files are placed by Wax inside it as needed (eg : web.config, Global.asax, subdirectories....)
The only point is that for ASP .Net applications, the deployment implies that every dlls and pdbs (including main assembly ones) are published in an hard-coded "bin" folder, inside the root folder, and not in the root folder like other project types.
That's why you saw a hard-coded bin for main assembly library : that's wrong for the source (every dlls are built in the TargetDir), but right for the target (every dlls must go in a hard-coded bin folder under target directory).
Make a "Publish website" on the project I sent you, and you'll saw the final architecture needed for every ASP.Net applications.


ES-Hadoop (Spark) does not support Shield run_as functionality

Version Info
OS:         :   Any
JVM         :  1.8
Hadoop/Spark: Hadoop 2.7.3/Spark 1.6.2
ES-Hadoop   :  2.10
ES          :  2.4.0
Plugins installed: [shield]
Describe the feature:
I need to use Shield run_as functionality with ES-Hadoop (Hadoop/Spark). According to documentation in order to do this you have to provide custom HTTP header es-shield-runas-user. This perfectly works with "generic" Java client using org.elasticsearch.common.settings.Settings.Builder.put("request.headers.es-shield-runas-user", "run_as_user_name")
ES-Hadoop has separate implementation that does not provide this functionality (since there is no ability to provide required custom header).
In order to fix this i'd like to suggest the next changes in org.elasticsearch.hadoop.rest.commonshttp.CommonsHttpTransport:
....
private static final String HEADER_SETTINGS_PREFIX="es.client.header";
....
public CommonsHttpTransport(Settings settings, String host) {
....
HttpClientParams params = new HttpClientParams();
        params.setParameter(HttpMethodParams.RETRY_HANDLER, new DefaultHttpMethodRetryHandler(
                settings.getHttpRetries(), false) {

            @Override
            public boolean retryMethod(HttpMethod method, IOException exception, int executionCount) {
                if (super.retryMethod(method, exception, executionCount)) {
                    stats.netRetries++;
                    return true;
                }
                return false;
            }
        });
//changes Start
 Properties properties = settings.asProperties();
        List<Header> headers = new ArrayList<>();
        for (Map.Entry<Object, Object> entry : properties.entrySet()) {
            String key = entry.getKey().toString();
            if(key.startsWith(HEADER_SETTINGS_PREFIX)){
                headers.add(new Header(key.substring(HEADER_SETTINGS_PREFIX.length() + 1), entry.getValue().toString()));
            }
        }
        if(!headers.isEmpty()){
            params.setParameter("http.default-headers", headers);
        }
//changes end
....
}

In order to use this functionality in Spark client side you have to add something like this:
SparkConf sparkConf =
sparkConf.set("spark.es.client.header.es-shield-runas-user", <run_as user name>);
In addition you can provide set of properties spark.es.client.header.[ES-Hadoop custom header name] which will be converted to custom header(s). This could be useful if you are planning to use additional HTTP processors like balancer, proxy, etc. In this case some custom header(s) could be processed by these parties.
Suggested solution is relied on apache httpclient 3.1 which is using in current ES-Hadoop implementation.
It would be great, if you guys, upgrade it with the latest apache httpclient that allows request/response hooks HttpRequestInterceptor/HttpResponseInterceptor (aside of other improvements). In this case suggested solution could be easier/functional.

@isp300 Could you provide some use cases for this functionality? If Account A wants to execute as if they were Account B, then it's entirely possible to reach this functionality by either using Account B's credentials, or granting the same access to Account A that Account B has.

Closing this as there has been no response on the enhancement request. If there is any feedback on user stories or use cases for this, please feel free to post them here and we can revisit the enhancement idea.


Add a db:reload command

This adds a db:reload command, which recreates a DB container in-place
(same instance, same mountpoint).
The implementation is very similar to db:backup and I suspect we may
eventually want to merge the two, but considering there were a couple
subtle differences (the log message), I opted to not do so here.

cc @fancyremarker

Codecov Report

Merging #219 into master will increase coverage by 0.11%.

@@            Coverage Diff             @@
##           master     #219      +/-   ##
==========================================
+ Coverage   90.47%   90.59%   +0.11%
==========================================
  Files          43       43
  Lines        1449     1467      +18
==========================================
+ Hits         1311     1329      +18
  Misses        138      138

Impacted Files
Coverage Δ

spec/aptible/cli/subcommands/db_spec.rb
100% <100%> (ø)
:white_check_mark:

lib/aptible/cli/subcommands/db.rb
77% <100%> (+1.73%)
:white_check_mark:

Continue to review full report at Codecov.

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

Note: this doesn't require anything new on the server-side (the operation already exists and the behavior on SSH portal connections for it is to relay its logs), but there are 2 blockers we'll have to address:

[ ] Some (for legacy reasons) stacks have v1 DBs on v2 stacks. Reloading them won't work, but it should fail cleanly (see: https://github.com/aptible/sweetness/blob/fa613bf1b66a80f4ac05b1abee48a1513b6f0d7c/lib/sweetness/planners/database.rb#L164)
[ ] API currently doesn't validate that reload is created on v2 stacks only, so users will get an "unknown operation" error from Sweetness. Adding validation in API will yield to better UX (https://github.com/aptible/api.aptible.com/pull/488)

@fancyremarker sounds like we can merge this now; correct?

👍


Detangle the scene/saveStateManager relationship

Resolved by https://github.com/ember-theater/ember-theater/commit/28a48953897d31dd69c78f6e91ac1b852be5b5af, https://github.com/ember-theater/ember-theater/commit/e285cc70b5a300da2361bf6064879f0b90d9cd0d, and https://github.com/ember-theater/ember-theater/commit/74257fa964ca288032af0485503d96fd7b0aa5a6.


Disable batch_ops_test on pip

@alextp weird buildifier error.  instead of space?

Jenkins, test this please.

@yifeif @wicke I don't have permission to merge this. Can you?

Let's bring this back to master after release. cc @av8ramit


Tutoriual 08: fix typos in bash cell

Leftover from when we added the %%bash cells. Tests didn't catch it because we don't execute shell instructions in the CI.

@julian-risch good catch, since the tests are passing, this means that pip install farm-haystack[docstores,crawler,preprocessing,ocr,onnx,beir] (used in the CI) and pip install farm-haystack[colab,ocr] (used in the tutorial) bring in a different set of dependencies


Update Variant Annotator to Python 3 version (2nd try)

This is a followup to #169 after I corrected issues in the tool pointed out by @mvdbeek.
I went ahead and made a new branch & PR to keep the commits simple.
This updates Variant Annotator on test.galaxyproject.org.

@galaxybot test this

@galaxybot deploy this


backend/drm: generate CVT reduced modes

The Coordinated Video Timings (CVT) spec 1 defines two types of
timings: the "CVT standard CRT" timings and the "CVT reduced blanking"
timings (see section 3.6).
The standard CRT timings include pauses in the video stream to allow
CRT displays to reposition their electron beam at the end of each
horizontal scan line 2. While this was desirable a few decades ago,
nowadays we can just generate a CVT reduced blanking timing by default.
wlroots users can still set full custom DRM modes via
wlr_drm_connector_add_mode.

Hmm, is there a way to extract the full mode we're using to verify the effect other than adding printfs? sysfs doesn't seem to have anything interesting on first glance.

drm_info should print the mode's flags under MODE_ID. Otherwise there's also sudo cat /sys/kernel/debug/dri/0/state.

FWIW, I tested reduced blanking with a monitor which doesn't advertise any reduced blanking mode, and it worked fine. So this isn't a reliable indicator, sadly.


Implement a format representation sequence path function for Loaders

Is your feature request related to a problem? Please describe.
Many loader plug-ins involved quite some code on finding the right file or file pattern for a sequence. They are trying to construct patterns like:
/path/to/publish/v001/filename.####.exr
/path/to/publish/v001/filename.$F4.exr
/path/to/publish/v001/filename.%04d.exr
/path/to/publish/v001/filename.<f>.exr
/path/to/publish/v001/filename.<udim>.exr
/path/to/publish/v001/filename.<udim>.<f>.exr

These currently all appear to be implemented over and over again, and also appear to parse this data from the filename itself even though most of these frames or udims or alike is information that was available at the time of publish.
Some examples

Replacing part of the filename in the Nuke image loader - this would already fail if the subset was called imageMain20 and we're loading frame 20, it would also replace the 20 of the subset name to
Houdini image loader, listing files in the publish folder and going from there
Houdini bgeo loader loading a sequence and always expecting the dot in front of the frame number even though I believe that's customizable to be another frame separator in OpenPype and something similar for Houdini's VDB Loader
Fusion image sequence loader listing folder's contents
Maya ass loader listing publish contents using os.listdir and then clique.assemble
Maya VDB loader to V-Ray trying to parse path from listing folder
Maya Yeti Cache finding fur sequences

A lot of these implementations have many points of failures. E.g. most of the os.listdir usages don't even check whether the result is a file and has the right extension - it might just pick up any other file in that folder instead. But the essence of what they are trying to do is mostly the same, and its detecting and formatting the following:

Do the files exist?
Are they a sequence of files or a single file?
What kind of tokens are in the filename?
And then last format the path so the token is the way we need for our loader, e.g. changing frame in #### or <f> or $F4 etc.

Describe the solution you'd like
I'd like a single recommended (and documented) approach on how a loader should retrieve the files of the publish and preferably even expose get_representation_sequence or format_representation_path or something along those lines that would make this loading logic of sequences in a certain way easily manageable for the developer implementing a Loader plugin.
The tricky bit is if the function itself formats the path like e.g. /path/to/publish/v001/filename.%04d.exr that would make it non-trivial for the loader plugin developer to detect whether the files exist on disk or not. So we might need to consider also returning the full paths easily.
Describe alternatives you've considered
The alternative is to pick one of the different implementations found in the codebase and use one, but they don't seem foolproof and generally result in many lines of code extra to maintain in a loader.
Additional context
There is an existing get_representation_path function which I believe returns the first filepath of the representation.
[cuID:OP-4791]

A form of this was implemented with #4313 - the template would be used to generate the path with the tokens in it.
However, there are edge cases which will still be problematic then, e.g. publishes made using {originalBasename} could not be formatted like that with the tokens and the frame or udim tiles in those I believe would also not be detected correctly?


Replace checks for isSink with inheritance test

All adapters and sinks descend from the Juttle.procs.sink class,
so tests whether a certain proc can rely on that, instead of explicitly
testing an isSink boolean flag.
Also fix circular dependency problem between base.js using Juttle.procs
and procs.js requiring base by assigning Juttle to module.exports early.

cc: @dmajda

+1 with the comment addressed

Cool, thanks. Will address the comment and merge :)


bug: Lazy removes directories from runtimepath

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have updated the plugin to the latest version before submitting this issue
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.1
Operating system/version
Debian 12
Describe the bug
Directly related to: https://github.com/folke/lazy.nvim/issues/1343
Steps To Reproduce

nvim --clean
put =execute('echo &runtimepath')

Compare to the same command when nvim is launched with Lazy.
Folders removed by Lazy:
/etc/xdg/nvim,
/etc/xdg/nvim/after
/usr/lib/nvim
/usr/local/share/nvim/site
/usr/local/share/nvim/site/after
/usr/share/nvim/site
/usr/share/nvim/site/after

Expected Behavior
Lazy appends plugins paths to runtimepath, but does not remove directories already present there.
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
             {
                url = 'https://github.com/nvim-treesitter/nvim-treesitter/',
                lazy = true
             }
  }
})

The don't disable the reset option. Check the docs


Feature request for xsv table: Add option to display content multiline

This would allow to print test.csv
name,description
chair,A separate seat for one person with a back and four legs.
table,A piece of furniture with a flat top and one or more legs.

in following way:
$ xsv table --max-width 40 test.csv
name    description
chair   A separate seat for one person
        with a back and four legs.
table   A piece of furniture with a flat
        top and one or more legs.

@ad-si isn’t xsv flatten a good proxy of what you are trying to achieve (apart from wrapping the lines)?

I think xsv flatten would probably be better for this specific example.
Otherwise, this doesn't seem like a bad idea but might be a tad tricky to implement.


Sticky header overlaps SwipeToRefresh animation

Any workarounds?

@ayzenquwe, actually not a work around. please check issue #83.

Thanks. I should have searched for this issue before submitting...


Emmet logo error on Quick Suggestions

Issue Type: Bug
I enabled "emmet: use inline suggestion" to know what's the use of it. After I disabled it, all of a sudden, the logo beside the emmet suggestion changed from a wrench to a square with dotted lines on the bottom side. What can I do to fix it?
VS Code version: Code 1.69.1 (b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a, 2022-07-12T08:21:24.514Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No
Extensions (10)

Extension
Author (truncated)
Version

vscode-html-css
ecm
1.13.0

vsc-material-theme
Equ
33.5.0

vsc-material-theme-icons
equ
2.3.1

prettier-vscode
esb
9.5.0

auto-close-tag
for
0.5.14

auto-rename-tag
for
0.1.10

indent-rainbow
ode
8.3.1

vscode-css-peek
pra
4.2.0

LiveServer
rit
5.7.5

code-spell-checker
str
2.3.0

I'm unable to reproduce the issue.
Does this issue still occur for you on the latest Insiders?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Delete example.js

Coverage increased (+0.0%) to 7.13% when pulling 76d82bda7c5c1db0650490c357190f15ad33918f on ewindisch:nodeUA into ae5971ae022092cfa73de2179b93e96aba7559e0 on iopipe:master.

Coverage increased (+0.0%) to 7.13% when pulling 76d82bda7c5c1db0650490c357190f15ad33918f on ewindisch:nodeUA into ae5971ae022092cfa73de2179b93e96aba7559e0 on iopipe:master.