Silent Configuration with Intune

Under the “Setup silent configuration” section, it is recommended that for Azure AD joined devices we deploy a PowerShell script through Intune. What is the reasoning for this over a custom ADMX backed policy based off of the OneDrive ADMX?

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

ID: 3a21a400-6ad2-b371-0205-9a1b51b3fe29
Version Independent ID: 801d184f-046b-8d37-30f7-f82ebda3df3f
Content: Silently configure user accounts
Content Source: OneDrive/use-silent-account-configuration.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@officedocsbot assign @scanum

@RyanMorash Thank you for reaching out.  I have the team looking into this and will revert soonest.

@RyanMorash We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.

Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@officedocsbot close


Speedy version

Alpha V2.0 is a lie
Long live Alpha V1.1

V1.1 is more of an in between version, there will not be any releases for its since the additional mode isnt finished yet.
Currently it will proxy all incoming connection when its in the new mode.


Missing "content_types_accepted" -> "415 unsupported media type" in flowchart

The REST flowchart in the 1.0 docs includes the condition of known_content_type moving to 415 unsupported media type for a value of false. That known_content_type validation is missing in the diagram for HEAD.
Perhaps related, cowboy_rest:known_content_type/2 from 1.0.x has been removed from master. The check against the types returned from the content_types_accepted/2 callback does still get done in master, resulting in the 415 going back to the client as expected, but that case just doesn't appear in the flowchart.
Not a major issue, of course, just something I noticed while looking into why I was getting a 415.

Yes actually known_content_types is separate from the content_types_accepted step. I wasn't sure why it was there, it's after all doing exactly the same thing, so I removed it.
If content_types_accepted returning 415 is missing from the documentation, then this needs to be addressed, thanks.

I've done it in my local copy to be pushed soon. The corrected diagram will be part of the 2.7 documentation. Thanks!


Relative Location of input for TVQA

Hi, I have a question about the relative location for TVQA.
`t_start = midpoint - segment_size * 0.5
t_end = midpoint + segment_size * 0.5
# Try to extend by 3 segments in either direction of the middle
times_used0 = [{'start_time': t_start, 'end_time': t_end}]
for i in range(6):
    for delta in [-segment_size, segment_size]:
        t0 = t_start + delta * (i+1)
        t1 = t_end + delta * (i+1)

        t0 = round(t0 * 3) / 3
        t1 = round(t1 * 3) / 3

        if t1 < 0:
            continue
        if t0 > max_time:
            continue
        if len(times_used0) < 7:
            times_used0.append({'start_time': t0, 'end_time': t1})
times_used0 = sorted(times_used0, key=lambda x: x['start_time'])

# Figure out the relative position of the annotation
my_duration = times_used0[-1]['end_time'] - times_used[0]['start_time']
rel_localized_tstart = (ts0 - times_used[0]['start_time']) / my_duration
rel_localized_tend = (ts1 - times_used[0]['start_time']) / my_duration
qa_item['rel_localization'] = (rel_localized_tstart, rel_localized_tend)`

For the above code, I suspect that the rel_localized_tstart could be greater than rel_localized_tend since the "midpoint - segment_size * 0.5" could less than zero?
Besides, does the rel_localized_tstart or rel_localized_tend can be a negative number?

oh interesting! we didn't run into that though -- I think that means that all TVQA clips are longer than segment_size.


⚠ Bofrost.fr has degraded performance

In 0cb332a, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1693 ms

Resolved: Bofrost.fr performance has improved in 1d315e4 after 8 minutes.


error

Can anyone help me to fix this Pls & thank u

Unfortunately, I haven't been able to reproduce this error on a new instance of Windows Sandbox. Can I get more details on your Google Chrome version, Python version? Is your system running a 32bit version of python or windows?
In the meantime, you can try bypassing the virtualenv by using the commands
cd [path to]/twitchstreamwatcher/bin
pip install selenium
python ./_main_.py


correct typo in neutron.conf

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Can one of the admins verify this patch?

"ok to test" to accept this pull request for testing
"test this please" for a one time test run
"add to whitelist" to add the author to the whitelist

Just saw that this is included in PR 2446. You can close this one if 2446 is merged. Thanks.

closing this as change is covered in PR https://github.com/blueboxgroup/ursula/pull/2446


updated refreshTime descrip

Tiny, minor description update. @michellechandra , can you sanity check this description based on the Stack Exchange message we discussed?

@csobier :+1:


Paused Queries/Mutations are not persisted

Describe the bug
I'm fairly new to React query and first of all I want to appreciate sharing such a cool library with the community.
I'm trying to make use of new offline capabilities introduced in v4. I'm facing some problems regarding queries/mutations' dehydration in localStorage which is reproduced here. If I set my connection to offline (using React query's built-in offline toggle), I expect the queries/mutations that are now in paused state to be persisted in local storage so I'll not lose them the user closes the window and then goes online. But in my code, the localStorage item is not created at all.
I tried updating an official demo to use the latest version of react query. The result is available here. This time the localStorage is created but is not populated with paused queries when I go offline.

Regarding my first case, the localStorage item is not even created. I suspect the storage is initialised only when useQuery is involved and in my sample, I only used mutations.
in my second sample, I believe the correct behaviour should be to have the paused queries in localStorage with a maximum of 1 second delay (based on what I read about createWebStoragePersister).

I have tried to use <PersistQueryClientProvider> as well as persistQueryClient method with <QueryClientProvider>. Both led to the same result.
Of course, this might not be a bug and I might have misconfigured the library and in that case, I'd greatly appreciate if you let me know about the correct way.
Your minimal, reproducible example
https://codesandbox.io/s/usemutation-demo-forked-fluu13
Steps to reproduce

Open the sample
Go offline using react query's dev tools toggle
Make a query/mutation and watch REACT_QUERY_OFFLINE_CACHE localStorage changes

Expected behavior
When using createWebStoragePersister as the persister, React Query should dehydrate mutations/queries in paused state every 1 second.
How often does this bug happen?
No response
Screenshots or Videos
No response
Platform

OS: macOS
Browser: Chrome
Version: 99.0.4844.83

react-query version
4.0.0-alpha.23
TypeScript version
4.1.3
Additional context
No response

Thank you for the feedback. There seems to be a slight misimplemention internally with persistQueryClient - it only subscribes to the queryCache, but it stores the whole client. I think we would have to subscribe to the mutationCache as well. However, it should work as soon as you add a useQuery call to any page, as that sets up the subscription. I think we should fix this internally though.
apart from that, for mutations to be resume-able, you need to use a defaultMutationFunction. This is a known limitation which I still need to document better: Your useMutation call is likely not mounted if you reload the page, so there is no mutationFn to resume. Using a default fixes that.
I have made an example for v4, it should be here: https://react-query-alpha.tanstack.com/examples/offline, but I think I messed up some imports so it's not working. I'll take a look at it asap.

this fork should be working now: https://clzyj4.csb.app/
also, per default, only successful queries will be included in storing. This means that if a query never had data, and is paused e.g. because of that, it will not be stored, as it doesn't make much sense, as there is nothing to store actually :) But that can be customized by passing dehydrateOptions.

:tada: This issue has been resolved in version 4.0.0-alpha.24 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 4.0.0-beta.1 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

Thanks for the lightning fast reply and fix! I'd say you react faster to feedbacks than many enterprise softwares.
Regarding defaultMutationFunction, it's a common scenario in medium/large solutions to have different modules that handle mutation hydration and one default mutation implementation at the start does not do the trick. Also, those modules might not be initialised at application startup.
Is there any resource/guide that can introduce some best practices on how to dispatch the dehydrated mutations to their appropriate modules?

You're welcome 😊

Is there any resource/guide that can introduce some best practices on how to dispatch the dehydrated mutations to their appropriate modules?

Not sure I understand the question. The problem is that mutations behave differently from queries, because the observer is only created when you call .mutate. For queries, hydration even without query functions is easier because we can just put the data in the cache, and then the observer will "pick it up" whenever the component mounts.
The data for mutations however just lies in the cache after hydration, and the components cannot pick it up / resume it, because a) .mutate is called imperatively and b) even if you'd call it in an effect or so, it would create a new observer, not using your previous variables.
Can you show an example of where a default mutation fn would not work well? My guess would be with many mutations, because you need to define them upfront for each key? We can't even do what we do with queries (inject the key) because we already pass variables to the function, so we can't even use the url for the key or so, as its unavailable in the defaultFn.
At the moment, I don't see a better way than defining defaults per key

My guess would be with many mutations, because you need to define them upfront for each key?

Exactly. and each mutation might need different headers/config in their httpClient.I'm thinking about storing those mutations along with the variables and pick it up once their specific httpClient is ready to do the job.

The offline example link has been changed to: https://tanstack.com/query/v4/docs/examples/react/offline


Coverage tests in C

Following the CCL code review, there is a suggestion from @rmjarvis to implement coverage tests for the C layer of CCL (we currently only implement them at the python level).

We will no longer have much if any tests directly in C. I am closing this issue.


Add Labels tab to Virtual Machines resource page

Summary
Allow the user to manage the labels of a Virtual Machine resource via UI. Right now it is only possible to manage instance labels that are synced from the VM to the VMI resource.
Fixes #https://github.com/harvester/harvester/issues/5974
Screenshot/Video

I'm good to have Labels tab in virtual machine page. 👍
But the https://github.com/harvester/harvester/issues/5974 is target to v1.5.0 which will be released via harvester-ui-extension repo.
We should have the same PR open for harvester-ui-extension and the shell KeyValue.vue and Labels.vue should have PR in rancher/dashboard.
Unless we want to backport this PR change to v1.4.x release, it's okay to merge in this repo master and backport to havester-release-v1.4 branch.  cc @torchiaf , @bk201


Make a dependabot group for dev dependencies

WHY are these changes introduced?
Fixes #0000

WHAT is this pull request doing?

How to test your changes?

Post-release steps

Measuring impact
How do we know this change was effective? Please choose one:

[ ] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[ ] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes

#4994  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Feature/bugfix multifield support arrays

Marked component types as final and encapsulated private fields correctly in a few areas

Pull Request Test Coverage Report for Build 3939

24 of 34 (70.59%)  changed or added relevant lines in 14 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 48.433%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/ContainerComponent.java
1
2
50.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/FileUploadComponent.java
0
1
0.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/FormComponent.java
1
2
50.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/GeneratedDialog.java
0
1
0.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/MultifieldComponent.java
1
2
50.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/PathfieldComponent.java
2
4
50.0%

bundle/src/main/java/com/adobe/acs/commons/mcp/form/AbstractContainerComponent.java
6
9
66.67%

Files with Coverage Reduction
New Missed Lines
%

bundle/src/main/java/com/adobe/acs/commons/mcp/impl/ProcessErrorReportExcelServlet.java
1
66.22%

Totals

Change from base Build 3929:
0.2%

Covered Lines:
11639

Relevant Lines:
24031

💛  - Coveralls


Expr does not compile on Elixir 1.9.2

Just installed the package in 1.9.2 and got this:
== Compilation error in file lib/expr/ops.ex ==
** (CompileError) lib/expr/ops.ex:14: Expr.Ops.struct/1 is undefined, cannot expand struct Expr.Ops
(stdlib) lists.erl:1354: :lists.mapfoldl/3
(stdlib) lists.erl:1355: :lists.mapfoldl/3

It works for me with Elixir 1.12.2 (but with many warnings because of function calls without parenthesis).


I don't have numbers there, but we use to work with aci dependencies of ~200Mb, ending with a 1Gb rootfs and comparing 1.20 to what we remember on version ~1.0 is very different.
Now specifically on version 1.20, using dgr that is importing 2 small aci at each build (but can have big dependencies), we see a clear difference in build time compared to previous versions.

With a simple dgr init image.
There is no dependencies but still importing 2 small aci to build.
rkt 1.20: sudo dgr build  4.22s user 0.57s system 32% cpu 14.776 total
rkt 1.15: sudo dgr build  3.84s user 0.55s system 33% cpu 13.081 total
rkt 1.13: sudo dgr build  4.11s user 0.54s system 38% cpu 12.035 total
It's even more visible with complex build with dependencies on stage1 and aci built, but will be hard to get number since more complex build do more process and do some download.

Out of curiosity, does --insecure-options=ondisk get set for run/prepare operations?
That can go quite a ways to alleviate performance issues (ref #3481).

yes it's active.
Here is a list of rkt commands run for this sample image build :
▶ time sudo dgr build -L debug 2>/dev/null  | grep command=rkt
[sudo] password for n0rad:
2016-12-14 23:29:06 DEBUG         dgr/dgr/common/exec.go:31  Running external command                     command=rkt   version
2016-12-14 23:29:06 DEBUG         dgr/dgr/common/exec.go:31  Running external command                     command=rkt   --debug --insecure-options=http,tls,image,ondisk fetch --full /tmp/aAtzuKWufehxzpKQZrWB.aci
2016-12-14 23:29:10 DEBUG         dgr/dgr/common/exec.go:31  Running external command                     command=rkt   --debug --insecure-options=http,tls,image,ondisk fetch --full /tmp/dddd/target/builder/image.aci
2016-12-14 23:29:14 DEBUG         dgr/dgr/common/exec.go:57  Running external command                     command=rkt   --debug --insecure-options=http,tls,image,ondisk run --debug --set-env=DGR_VERSION=78 --set-env=LOG_LEVEL=DEBUG --set-env=ACI_PATH=/tmp/dddd --set-env=ACI_TARGET=/tmp/dddd/target --set-env=BUILDER_COMMAND=build --set-env=CATCH_ON_ERROR=false --set-env=CATCH_ON_STEP=false --net=host --insecure-options=image --uuid-file-save=/tmp/dddd/target/builder.uuid --interactive --stage1-name=blablacar.github.io/dgr/aci-builder sha512-f614fd6d0bfe8f37509be22e1b1fda361dd2949dff20d7c4094a248fb73c7c0d
2016-12-14 23:29:18 DEBUG         dgr/dgr/common/exec.go:17  Running external command                     command=rkt   --debug --insecure-options=http,tls,image,ondisk rm --uuid-file /tmp/dddd/target/builder.uuid
2016-12-14 23:29:18 DEBUG         dgr/dgr/common/exec.go:17  Running external command                     command=rkt   --debug --insecure-options=http,tls,image,ondisk image rm sha512-f614fd6d0bfe8f37509be22e1b1fda361dd2949dff20d7c4094a248fb73c7c0d
sudo cnt build -L debug 2> /dev/null  0.88s user 0.10s system 6% cpu 15.166 total
grep --color=auto command=rkt  0.00s user 0.00s system 0% cpu 15.166 total


Firing two scenes with different attribute states ignores the second fired scene attributes

Home Assistant release with the issue: 0.101.3

Last working Home Assistant release (if known): 0.100.3
Operating environment (Hass.io/Docker/Windows/etc.): Hass.io

Integration:

Description of problem: Firing two scenes with different attribute states ignores the second fired scene attributes.
In the example code below, if I fire bedroom_cover_protect_sunlight and while it is executing I fire bedroom_cover_full_open, this last scene attributes are ignored, keeping the cover at position 20.
In previous releases, the second fired scene overwritten the attributes of the first scene fired.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
- name: bedroom_cover_protect_sunlight
  entities:
    cover.bedroom_level:
      current_position: 20
      state: open

- name: bedroom_cover_full_open
  entities:
    cover.bedroom_level:
      current_position: 100
      state: open

Traceback (if applicable):

Additional information:
The previous release behaviour were useful in automations with actions like this:
  action:
    - service: scene.turn_on
      entity_id: scene.bedroom_cover_protect_sunlight
    - condition: template
      value_template: >-
        {{ is_state('binary_sensor.bedroom_window_sunlight', 'off')
          or is_state('binary_sensor.cold_outside', 'on') }}
    - service: scene.turn_on
      entity_id: scene.bedroom_cover_full_open

I've tried to reproduce the issue in 0.105.2 and I can't. It seems to be fixed. Thank you.


Virtual kubelet privileges tuning

Description
This PR fixes a problem related with openshift installations, causing unmanaged pods created by cluster administrations to not be offloaded by the virtual kubelet due to a lack of privileges. Additionally, it also removes a few no longer needed privileges in the local cluster.
Fixes #(issue)
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also note any relevant details for your test configuration.

[X] Checking the correct functioning in an openshift cluster.
[ ] Existing tests.

/test

/test

/test

/test

/merge


Backfill 22.x docs

Summary
This PR backfills docs for Jest 22, removes all "available in Jest x.x", and adds a  "<=22" doc area for all previous versions
Note: Jest <=22 still includes the "available in Jest" messages
Screenshot

We need a way to push the versioned docs to the gh-pages branch only, the repo is growing quite big now.

This should also fix https://github.com/facebook/jest/issues/5824
@mjesun what do you think about getting this in and moving the versioned docs off master in a later pull?


Selecting by residue name returns indexes of all residues with the same residue number

Here goes the example:
This the input structure, or trajectory, file. Note that it has three residues with different names (ALA and GLY), but the third residue happens to have the same residue number than the first one.

Yes, this is an issue with the core chemfiles implementation of PDB reader. Currently, we differentiate residues with the chain name, residue id and insertion code:
https://github.com/chemfiles/chemfiles/blob/0af7a12ba2b5450e2cd7c9a099596aecdad8e2ee/src/formats/PDB.cpp#L380
In your case it looks like (I am not a PDB expert) both residues have the same chain name (A) and no insertion code. Is such file from the PDB archive?
We may want to add the residue name in the complete_residue_id to prevent such confusions from arising in case files do not completely adhere to the standard. Since you wrote the code, what do you think of the above @frodofine?

Actually my real example was not a protein-only PDB. I have a PDB which contains the structure of my simulation. This PDB contains both the protein and other components of the simulation (ion, water, etc).
If I try to select the protein residues (for example), I retrieve all molecules that have the same residue numbers as the residues of the protein, for instance water molecules. The structure is generated automatically by the "psfgen" utility of CHARMM and NAMD, and no additional fields are used. Typically each type of molecule receives a different chain identifier, but that information is actually not used at all in the simulation, so it not something that could be generalized.
The structure could look like, in a small example:
REMARK original generated coordinate pdb file
ATOM      1  N   ALA     1      -9.229 -14.861  -5.481  1.00  0.00      PROT N
ATOM      2  HT1 ALA     1     -10.048 -15.427  -5.569  0.00  0.00      PROT
ATOM      3  HT2 ALA     1      -9.488 -13.913  -5.295  0.00  0.00      PROT
ATOM      4  HT3 ALA     1      -8.652 -15.208  -4.741  0.00  0.00      PROT
ATOM      5  CA  ALA     1      -8.483 -14.912  -6.726  1.00  0.00      PROT C
ATOM      6  HA  ALA     1      -8.185 -15.947  -6.894  1.00  0.00      PROT H
ATOM      7  CB  ALA     1      -9.383 -14.465  -7.880  1.00  0.00      PROT C
ATOM      8  HB1 ALA     1     -10.428 -14.602  -7.600  1.00  0.00      PROT H
ATOM      9  HB2 ALA     1      -9.200 -13.413  -8.098  1.00  0.00      PROT H
ATOM     10  HB3 ALA     1      -9.164 -15.063  -8.765  1.00  0.00      PROT H
ATOM     11  C   ALA     1      -7.227 -14.047  -6.599  1.00  0.00      PROT C
ATOM     12  O   ALA     1      -7.083 -13.048  -7.303  1.00  0.00      PROT O
ATOM     13  OH2 TIP3    1     -28.223  19.920 -27.748  1.00  0.00      WAT1 O
ATOM     14  H1  TIP3    1     -27.453  20.358 -27.476  1.00  0.00      WAT1 H
ATOM     15  H2  TIP3    1     -27.834  19.111 -28.148  1.00  0.00      WAT1 H
ATOM     16  OH2 TIP3    2      24.875 -18.446  36.131  1.00  0.00      WAT1 O
ATOM     17  H1  TIP3    2      24.067 -18.280  36.553  1.00  0.00      WAT1 H
ATOM     18  H2  TIP3    2      24.689 -18.071  35.242  1.00  0.00      WAT1 H
END

In this case, selection "resname ALA" will return the first water molecule as well.

If that's something psfgen is doing, I think it might be worth supporting it

Concerning identifiers: in VMD, which is a very popular package to visualize simulations of proteins, the identifiers include the residue name, and two residue numberings, the one that is actually printed in the file, and a sequential one, which lists all residues (residues in this context might be individual molecules in general, like water).
Thus, in VMD each residue has a "resid" which maps to the index written in the PDB file (in the above example, the "resid"s are 1, 1, and 2) and a "residue" index, which would be 1, 2, 3 for the file above.

Just to be clear: psfgen does not change the chain identifier of the original PDBs (neither should it). Therefore, if I want to simulate two proteins together which were retrieved from two independent PDB files, it may be that the chains are the same (most typically they are).
 But anyway the residues of the two different structures may very often have the same numbers and chains while being of different types.
example.zip

Segments are not currently supported, it does not look like they are part of the standard: http://www.wwpdb.org/documentation/file-format-content/format33/sect9.html#ATOM. Are these strings inserted in the empty 66-76 character range?

Regarding the VMD way of handling these, my main concern is about "disordered residues", i.e. files looking like this
REMARK original generated coordinate pdb file
ATOM      1  N   ALA     1      -9.229 -14.861  -5.481  1.00  0.00      PROT N
ATOM      2  HT1 ALA     1     -10.048 -15.427  -5.569  0.00  0.00      PROT
ATOM      3  HT3 ALA     1      -8.652 -15.208  -4.741  0.00  0.00      PROT
ATOM      4  CA  ALA     1      -8.483 -14.912  -6.726  1.00  0.00      PROT C
ATOM      5  HA  ALA     1      -8.185 -15.947  -6.894  1.00  0.00      PROT H
ATOM      6  CB  ALA     1      -9.383 -14.465  -7.880  1.00  0.00      PROT C
ATOM      7  HB1 ALA     1     -10.428 -14.602  -7.600  1.00  0.00      PROT H
ATOM      8  HB2 ALA     1      -9.200 -13.413  -8.098  1.00  0.00      PROT H
ATOM      9  HB3 ALA     1      -9.164 -15.063  -8.765  1.00  0.00      PROT H
ATOM     10  C   ALA     1      -7.227 -14.047  -6.599  1.00  0.00      PROT C
ATOM     11  O   ALA     1      -7.083 -13.048  -7.303  1.00  0.00      PROT O
ATOM     12  OH2 TIP3    1     -28.223  19.920 -27.748  1.00  0.00      WAT1 O
ATOM     13  HT2 ALA     1      -9.488 -13.913  -5.295  0.00  0.00      PROT  # <=== this one should still be part of the first ALA residue, not separated
ATOM     14  H1  TIP3    1     -27.453  20.358 -27.476  1.00  0.00      WAT1 H
ATOM     15  H2  TIP3    1     -27.834  19.111 -28.148  1.00  0.00      WAT1 H
ATOM     16  OH2 TIP3    2      24.875 -18.446  36.131  1.00  0.00      WAT1 O
ATOM     17  H1  TIP3    2      24.067 -18.280  36.553  1.00  0.00      WAT1 H
ATOM     18  H2  TIP3    2      24.689 -18.071  35.242  1.00  0.00      WAT1 H
END

I don't know how often such files appear in practice.

Concerning files which are not ordered: No, they do not exist. That would be an error, for sure. The sequential residue numbering can be without error be obtained by tracking when the residue number, or residue name, or residue segment changes. (If two consecutive residues have the same name, number and segment, and should be different residues, that is an error).
The segment identifiers are not standard PDB formats, but are additions used by Namd and Charmm to their simulation formats, and yes, it is an addition to that 73-76 empty spaces, with a maximum of four characters.
By the way: part of the problem here is that Chemfiles does not support reading PSF topology files, where the segment information is properly written in fact (with possibly more than 4 characters, which become truncated by psfgen when writting to PDB).

PSF is something we want to support too (https://github.com/chemfiles/chemfiles/issues/208). I could not find a proper specification for this format though.


This will fix the command to build/install mediapipe in the macOS.

Description of issue (what needs changing)
No response
Clear description
Doc mentioned here command mentioned(Step3) is throwing error when directly copied and pasted in the terminal.
Correct links
No response
Parameters defined
No response
Returns defined
No response
Raises listed and defined
No response
Usage example
No response
Request visuals, if applicable
No response
Submit a pull request?
Yes

Closing this issue as it has been resloved.


All methods except HMMR do not use Human3.6M SMPL parameters from Mosh

Hi！ Does the sentence "All methods except HMMR do not use Human3.6M SMPL parameters from Mosh" been reflected in the code? Where is it?

Hi, you are talking about the caption in Table 4, right?
Here is the related code line: https://github.com/hongsukchoi/TCMR_RELEASE/blob/8078b3c39c22cae39eb19c0e1eb70e09c60ecea7/lib/dataset/_dataset_3d.py#L201

Thank you for your reply, my question is answered


fix(a11y): Move label to be before all select and text input fields

Overview
Resolves #1009
Label for text input and select should be BEFORE the input/select to pass a11y requirements
Changed
Updated

Number Input
Search
Select
Text Input
Date Picker  ~single with calendar is broken, need to see if there is a non-breaking way to fix~ fixed

Testing / Reviewing
Test that this doesn't break any of the above components.

pushed a css update that should fix date picker, and also not break anything for users with the current html


RFC: Adopt inclusive language for repository naming as well as allow/deny lists

Proposal:
"RFC: Rename 'master' branches to 'main' #386" was opened in April and speaks to 1/2 the proposal. We have not yet completed the job. This RFC is to get us over the finish line, with both the master/main topic as well as allow/deny lists. It is a small thing to change language, but with profound impact. Let's not perpetuate the master/slave or 'black = bad' tech metaphors.
Reasoning
All the reasoning in #386.
Exceptions:
Also the exceptions in #386. But no need to update archived repositories.
Additional Context:
As a new joiner, I was surprised when I saw a PR with 'blacklist' because I would have assumed that Artsy had the discussion when that happened in the industry. When asking about it, I was gratified to find out that my assumption was true, by being pointed to this thread from a former employee from 2 years ago referencing this post).
However, we still we have some dangling threads as evidenced by there still being outdated language in our repository. This RFC hopes to introduce some behaviour changes that will make it so we don't have the same conversation in a year.
Master --> Main
In investigating the problem, engineering directors noticed that maybe people didn't feel comfortable renaming repositories, so this pull request updates the playbook for that.
Allow/Deny
We also noticed that while we are migrating to allow/deny, some of our included dependencies use outdated language. We should not let it stop us that the outdated language comes from outside our organisation if we want to lead with openness, and follow through on myriad commitments to diversity as claimed here. To that end we should make sure in a pull request to notice use of calling a "blacklist/whitelist." If it's inside our org's repositories, we should either fix within that PR or open an issue if it is large surgery. If it's outside our organization, we should update the dependency if the other org has already modernised. If the org has not yet deprecated outdated language, we should either open a pull request or file an issue depending on the size of the problem.
How is this RFC resolved?

Agree to spend time updating repositories, dependencies, and linters. Engineering management suggests mobbing on it this Friday December 10. To follow along:

playbook for updating master to main
template for adding linters

Reminder set on this RFC to check in 6 months for progress by searching our org for outdated language.

I completely agree. I also wonder if the RFC resolution steps could include having our teams upgrade rubocop in the owned projects.
Rubocop includes the InclusiveLanguage cop (link) since v1.23.0.
And having our linter updated sounds healthy to our codebase in many other aspects as well.

@lidimayra I added the note for linter. Is that sufficient, since linters will be different per repository/language?

Yes, I think so.
I mentioned rubocop, because this is the linter that we already use in our ruby-based projects and it would be a matter of updating what we already have. I don't know about the options for other languages, but it would surely be a nice opportunity to find that out for each repo.

Thanks, good to have this made explicit.
I think many of us have implicitly followed this since those Slack conversations (the precipitating example predates that), but there's also been a lot of new faces since then, and having an RFC to point to makes this clearer and more actionable.
Glad to learn about that new Rubocop setting (I hesitated to call it a "cop" because, well, you know 😅)
Seems that ESLint also has a similar plugin.
I think I'd vote to have these nudges via linting than via a checklist because:

Not every repo uses a PR template
I suspect these are very infrequent interventions (the master/main thing would only be once per project?) so I'd hesitate to add more process to every PR in order to socialize this
A linter error is a stronger nudge than a checkbox which could easily be absentmindedly or deliberately ticked without addressing the underlying issue

Given that our two most common languages have the option to automate this, might we consider that instead of the checkbox?

Glad to learn about that new Rubocop setting (I hesitated to call it a "cop" because, well, you know 😅)

very good point, I also edited my message to remove this from the original sentence, thanks for raising it  🙌
And I'm also in favor of setting the linters over the checkboxes option

@anandaroop exactly my thought on the longevity of the conversation. Most everyone in the Berlin office was hired after the conversation, for instance, and also might not have as much context for what is more an American problem, so it's good to educated every once in a while.
What about a short-lived checkbox until the baselines per repository are done. That is, main --> master migrated and linter updated with these language rules? My thought had been to not make extra work out of the normal product time. Outside of a checkbox, how would you get people to add the linter rules (also for Eigen!) and the repository name migration? We've already made it so new repositories will be called main. I agree that once those tasks are done the rest can be left to linting.

I'm in favor of this but I would disagree with the need for any checkbox or pull request template.

What about a short-lived checkbox until the baselines per repository are done. That is, main --> master migrated and linter updated with these language rules? My thought had been to not make extra work out of the normal product time.

If we want to switch main -> master, we need to afford time to do that or live with the time it will take to do that (as people/teams find appropriate, 'maintenance mondays', 'future fridays', regularly scheduled product work as part of 20% bug fixes, motivated parties championing or working on it it, etc.). I'm not sure why a checkbox on every PR would need to happen in the meantime. Same goes for any updated linter rules. Strongly in favor of automation to help identify or flag problematic language, but not necessarily in favor of PR template checkboxes otherwise.

Yeah I'm also not confident that a checkbox would have the intended effect, without a lot more prescriptiveness about the who/when/what of the action that it's supposed to induce 🤷🏽
But I do feel like the linting approach is super-clear. Who = you when you get the message. When = when you commit. What = whatever the linter is noodging you about.
I thought it could be helpful to see an example of the work involved in adding that linting to a project. So I used Rosalind as a guinea pig and opened https://github.com/artsy/rosalind/pull/586 to demonstrate this approach for both Ruby and Javascript
My takeaways:

adding JS linting very easy
adding Ruby linting potentially a little more involved but still manageable
this approach might still be prone to inconsistency between projects (i.e. configured custom word lists)
having a clear exemplar PR like this might help with some of the above

I've updated to remove the PR checkbox. Agree that it just needs time to be done. Engineering management suggests we use this Future Friday to address.

Resolution
We decided to do it.
Level of Support
3: Majority acceptance, with conflicting feedback only about how to get things done.
Next Steps
We implemented 85% of it. Will monitor in 6 months to see what's eft
Exceptions
Eidolon and Energy have extra things to fix in order to deploy.

Adding a note regarding something that happened today and made me think about this RFC again.
In many scenarios during the FF mob, we manually replaced whitelist/blacklist terms by doing a "search & replace". This method prevents us from finding possible inflections of these terms.
As an example, today the RuboCop InclusiveLanguage rule was enabled on volt. By doing this, a scenario where the manual searching wouldn't suffice our needs was detected: usage of terms in the past tense (whitelisted).
I would be happy to work on subsequent FFs to attack this part of the issue.


Set the direction to rtl because Arabic is written from right to left.

Fix Right and left directions issues
What does this PR do?

Add direction: rtl; to [lang="ar"] selector.
Add direction: ltr; to code blocks.
Exchange padding-left, padding-right, margin-left, margin-right, and inset-inline-* values if needed.
Exchange IconArrow direction.
Edit text-left to text-right if needed.

This PR does not translate the content.

Check failing is because of Prettier Formatting.
The yarn ci-check command which runs prettier:diff which refers to yarn nit:source, throw an error saying error Command failed with exit code 1
It needs before to run:
npx prettier --write --list-different .

To format all files. Then, the yarn ci-check won't fail anymore.

I'd like to propose that, if possible, RTL handling should be sent as a PR to the main react.dev repo. Then make it a setting here: https://github.com/reactjs/react.dev/blob/ad4f5c7c9555f65d6b889e85427ba3fdfa4e7159/src/siteConfig.js#L7

I'd like to propose that, if possible, RTL handling should be sent as a PR to the main react.dev repo. Then make it a setting here: https://github.com/reactjs/react.dev/blob/ad4f5c7c9555f65d6b889e85427ba3fdfa4e7159/src/siteConfig.js#L7

Ok

I'd like to propose that, if possible, RTL handling should be sent as a PR to the main react.dev repo. Then make it a setting here: https://github.com/reactjs/react.dev/blob/ad4f5c7c9555f65d6b889e85427ba3fdfa4e7159/src/siteConfig.js#L7

@gaearon
As Arabic users, we face challenges when reading the documentation due to the LTR settings.
So, I have submitted a pull request to the main react.dev branch.
I kindly request you to review the pull request or assign a maintainer to it ASAP


BUG : Name

Describe the bug
Login page not responsive for galaxy fold
Expected behavior
Login page should be responsive
Screenshots

Bug fixed! pr sent


Add out flag

When I deploy my storybook I also deploy a playroom, some static files, and soon some typedocs. To do this I need to be able to configure the output directory so that all my builds go to the same place.
This PR adds and out flag to override the random outDir that is currently used.

@igor-dv


Chart version was not updated 0.0.19 found expected 0.0.20

The Chart.yaml file on tag v0.0.20 still has version: 0.0.19 and I expected it to be version: 0.0.20

The Chart.yaml file on tag v0.0.20 still has version: 0.0.19 and I expected it to be version: 0.0.20

This was a mistake but we will not force updating the tag because it was released already. Please refer to the master branch which is using the stable version 0.0.20.


Updates for PL language

Changed Book translation from księga => podręcznik (księga is very old word, and thus not fit to the app. Podręcznik is word for book used in school and fits much more to the documentation site)
Changed Entity transaltion from encja => obiekt (encja is word used in IT world, common people don't know what it is. Obiekt (object) fits better for no IT geeks and explains them more than word encja)
Added Shelf/Bookshelf transaltion. Now they are named Półka/Półki
Changed Draft translation from szkic => wersja robocza (in every system like wordpress/wiki etc. the word for draft is wersja robocza. Szkic is word for draft of an image)
Fixed typos
Fixed unfit plural words when they were not needed
Added all other translations

P.S.
This is my first PR ever, please tell me if I am doing everything in the right way :) thanks in advance

@vasiliev123 Great, Thank you very much for these updates. Will merge in now for the next release.


elyra-pipeline CLI does not report any warning messages

Describe the issue
A clear and concise description of what the issue is.
If I interpret https://github.com/elyra-ai/elyra/blob/master/elyra/pipeline/validate.py#L509 correctly, the following pipeline should produce a warning:

However, the CLI does not display any warning message(s)
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Screenshots or log output
If applicable, add screenshots or log output to help explain your problem.
Log Output

Paste the log output here.

Expected behavior
A clear and concise description of what you expected to happen.
Deployment information
Describe what you've deployed and how:

Elyra version: [e.g. 1.5.3]
Installation source: [e.g. PyPI, conda, from source, official container image, custom container image]
Deployment type: [e.g. local installation, Docker, Kubernetes, Kubeflow [notebook server] , Open Data Hub]
Operating system: [e.g. macos, linux]

Possibly the same issue surfaces in the VPE. I tried to trigger https://github.com/elyra-ai/elyra/blob/master/elyra/pipeline/validate.py#L445 by creating a label (1k+ chars) but neither the CLI nor the VPE surface it.

Hmm - I wonder if you're using a slightly different version of master than myself.  I see the following warnings:
$ elyra-pipeline submit --runtime-config kf_cloning1 elyra/my_pipeline/isolated-nodes.pipeline

────────────────────────────────────────────────────────────────
 Elyra Pipeline Submission
────────────────────────────────────────────────────────────────

- (Warning) - Property value has exceeded the max length allowed ({label_name_max_length}). This value may be truncated by the runtime service
- (Warning) - Property value contains invalid characters. Invalid characters may be replaced by the runtime service. Node labels must start with lower case alphanumeric and contain only lower case alphanumeric, underscores, dots and dashes
- (Warning) - This node is not connected to any part of the pipeline
- (Warning) - This node is not connected to any part of the pipeline

❯ Job submission succeeded
  Check the status of your job at: http://cloning1.fyre.ibm.com:32352/pipeline/#/runs/details/c18fd910-dceb-44f6-b379-8a9c888362b1
  The results and outputs are in the /kbates/isolated-nodes-0818135158
  working directory in http://cloning1.fyre.ibm.com:31467

────────────────────────────────────────────────────────────────
 Elyra Pipeline Submission Complete
────────────────────────────────────────────────────────────────

That said, there are  some issues...

The max-length violation warning is not denoted as an f-string, resulting in the templated value for the max length.
I believe we should, whenever possible, display contextual information in the message itself.  Things like "node name", "property name" and "property value" should be present in the message.  I understand these are supplied as "data" to the validation response, but that information would be valuable in the message text itself.

Given the messages above, I think something like the following would be helpful...
- (Warning) - The node label ('this-is-a-really-long-filename_that-is-more-than-63-characters-long.ipynb') has exceeded the max length allowed (63). This value may be truncated by the runtime service
- (Warning) - The node label ('this-is-a-really-long-filename_that-is-more-than-63-characters-long.ipynb') contains invalid characters. Invalid characters may be replaced by the runtime service. Node labels must start with lower case alphanumeric and contain only lower case alphanumeric, underscores, dots and dashes.
- (Warning) - This node ('this-is-a-really-long-filename_that-is-more-than-63-characters-long.ipynb') is not connected to any part of pipeline 'isolated-nodes'
- (Warning) - This node ('this-is-a_short_node_label') is not connected to any part of pipeline 'isolated-nodes'

We could consider truncated max length values or placing values at the end of the message as well.
Here's the corresponding pipeline file (appended with .txt):
isolated-nodes.pipeline.txt

While troubleshooting this issue, I noticed that the validation gives precedence to the label value stored in ['app_data']['ui_data']['label'] when ['app_data']['ui_data'] exists and, if not present, only then falls back to validating ['app_data']['label'] - which I thought was correct.
However, the UI gives precedence to ['app_data']['label'] over ['app_data']['ui_data']['label'] because I see the shorter value persisted in ['app_data']['label'] displayed in the UI when ['app_data']['ui_data']['label'] contains a longer (and invalid) value.

if you're using a slightly different version of master than myself.

I did another rebuild and now the CLI output does include warning messages. Not sure what happened.

I believe we should, whenever possible, display contextual information in the message itself.

I believe it would be okay to not include the contextual information in the raw validation message if the renderer (CLI/VPE) produces output does expose the information. Example/CLI:
 - [Warning] Node "XYZ": <validation message>

Also note that formatting of warning messages is different from error messages.
We should also consider the scenario where a user might want to not run a pipeline that triggers warning messages, as they might indicate issues that prevent the pipeline run from completing successfully.

Will re-open should the problem re-appear


Some problems when I load s3dis dataset

File "/home/liy0r/cvpr/contrastBoundary/tensorflow/models/../datasets/tf_s3dis_dataset.py", line 166, in
object_data = np.array([[float(x) for x in line.split()] for line in f])
ValueError: could not convert string to float: '103.0\x100000'

Yes, that's a small error in S3DIS dataset. You may just manually find that line and delete that character.


show skip reason

Codecov Report
Patch coverage: 91.17% and project coverage change: -0.01 :warning:

Comparison is base (348f9c3) 92.01% compared to head (4bc849c) 92.01%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #54      +/-   ##
==========================================
- Coverage   92.01%   92.01%   -0.01%
==========================================
  Files         130      130
  Lines        3280     3292      +12
  Branches      414      416       +2
==========================================
+ Hits         3018     3029      +11
- Misses        238      239       +1
  Partials       24       24

Impacted Files
Coverage Δ

vedro/plugins/skipper/_only.py
100.00% <ø> (ø)

vedro/plugins/director/rich/_rich_reporter.py
96.85% <81.25%> (-0.59%)
:arrow_down:

vedro/core/_virtual_scenario.py
88.88% <100.00%> (+0.79%)
:arrow_up:

vedro/plugins/skipper/_skip.py
100.00% <100.00%> (ø)

vedro/plugins/skipper/_skipper.py
94.44% <100.00%> (+0.15%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[CH] Crush when group by a const null key

Backend
CH (ClickHouse)
Bug description
[Expected behavior] and [actual behavior].
Following sql crush
select a,b,c, rank() over (   partition by a,NULL order by c) as logic from test_partitionby ;

Spark version
None
Spark configurations
No response
System information
No response
Relevant logs
No response

    frame #11: 0x00007fc84af0683b libch.so`local_engine::BlockUtil::flattenBlock(DB::Block const&, unsigned long, bool, std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long>> const&) [inlined] boost::intrusive_ptr<DB::IColumn const>::intrusive_ptr(this=<unavailable>, rhs=0x0000000000000010) at intrusive_ptr.hpp:93:55
    frame #12: 0x00007fc84af0683b libch.so`local_engine::BlockUtil::flattenBlock(DB::Block const&, unsigned long, bool, std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long>> const&) [inlined] boost::intrusive_ptr<DB::IColumn const>::operator=(this=<unavailable>, rhs=0x0000000000000010) at intrusive_ptr.hpp:156:9
    frame #13: 0x00007fc84af0683b libch.so`local_engine::BlockUtil::flattenBlock(DB::Block const&, unsigned long, bool, std::__1::unordered_set<unsigned long, std::__1::hash<unsigned long>, std::__1::equal_to<unsigned long>, std::__1::allocator<unsigned long>> const&) [inlined] COW<DB::IColumn>::immutable_ptr<DB::IColumn>::operator=(this=<unavailable>, (null)=0x0000000000000010) at COW.h:129:66
    frame #14: 0x00007fc84af0683b libch.so`local_engine::BlockUtil::flattenBlock(block=0x00007fc73c1b0018, flags=6, recursively=true, columns_to_skip_flatten=size=0) at CHUtil.cpp:147:24
    frame #15: 0x00007fc84afa8e39 libch.so`local_engine::HashSelectorBuilder::build(this=0x00007fc744c32630, block=0x00007fc744c84500) at SelectorBuilder.cpp:95:26
    frame #16: 0x00007fc84af9621b libch.so`local_engine::CachedShuffleWriter::split(this=0x00007fc744c23000, block=0x00007fc744c84500) at CachedShuffleWriter.cpp:107:49
    frame #17: 0x00007fc845b8d65b libch.so`Java_io_glutenproject_vectorized_CHShuffleSplitterJniWrapper_split(env=0x00007fc7cb737a60, (null)=<unavailable>, splitterId=<unavailable>, block=<unavailable>) at local_engine_jni.cpp:781:25


primary() does not work properly for postgres

With the postgres dialect, the primary() function generates the following sql to retrieve the primary key of a table:
SELECT
  att.attname AS column
FROM
  pg_constraint con
LEFT JOIN pg_class rel ON con.conrelid = rel.oid
LEFT JOIN pg_attribute att ON att.attrelid = con.conrelid AND att.attnum = con.conkey[1]
WHERE con.connamespace IN ('public'::regnamespace)
  AND array_length(con.conkey, 1) <= 1
  AND rel.relname = 'directus_files'

After executing the query, the first result is returned. The problem however is that this query returns all constraints instead of just the primary key. When a table has more constraints, the wrong value is sometimes returned.
Adding
AND con.contype = 'p'

to the query should fix the problem.

Will do


Certain input for server in console mode throws error

For certain input, a response packet whose size is greater than max_length is created, throwing an error in session_manager.rb.
dnscat2> [ERROR] Error caught:
[ERROR] [NoMethodError]: undefined method `length' for #<Packet:0x007fc32a09ae30>
[ERROR] /Users/irvinzhan/Documents/open-source/tor/dnscat2/server/session_manager.rb:153:in `block in go'
[ERROR] /Users/irvinzhan/Documents/open-source/tor/dnscat2/server/driver_dns.rb:226:in `block (2 levels) in recv'
[ERROR] /Users/irvinzhan/.rvm/gems/ruby-2.0.0-p353/gems/rubydns-0.7.3/lib/rubydns/server.rb:170:in `[]'

Note the "undefined method length" error message is fixed in an existing PR (https://github.com/iagox86/dnscat2/pull/41).
To replicate:

download the binary file located here: https://drive.google.com/file/d/0B8q-4HfjZWI7Znl5aHJjbkdRcnM/view?usp=sharing
copy it to your clipboard — for instance, use cat dummyfile8 | pbcopy if you are using a Mac
start up the server with rvmsudo ruby ./dnscat2.rb -u
start up the client with ./dnscat --host <IP_ADDRESS> --port 53 --console
paste the contents of the binary file into the console for the server side

The error is only found for messages from server to client, and not from client to server.

Turns out it was an issue with the encoding.  The string we receive from next_outgoing is encoded in UTF-8 — however, calling pack on that string within MsgBody converts it to a string using ASCII-8BIT encoding.  The length of the string increases as a result.
Example:
"µ".length
=> 1
"µ".force_encoding("ASCII-8BIT")
=> 2

Where do you suppose we should handle this?  @outgoing_data within session.rb is already array of UTF-8 characters....perhaps we should convert any queued data to ASCII-8BIT strings immediately?

I merged your pull request, thanks!
Does that solve this issue?
On Fri, Apr 24, 2015 at 10:57 PM, Irvin Zhan<EMAIL_ADDRESS>wrote:

Turns out it was an issue with the encoding. The string we receive from
next_outgoing is encoded in UTF-8 — however, calling pack on that string
within MsgBody converts it to a string using ASCII-8BIT encoding. The
length of the string increases as a result.
Example:
"µ".length
=> 1
"µ".force_encoding("ASCII-8BIT")
=> 2
Where do you suppose we should handle this? @outgoing_data within
session.rb is already array of UTF-8 characters....perhaps we should
convert any queued data to ASCII-8BIT strings immediately?
—
Reply to this email directly or view it on GitHub
https://github.com/iagox86/dnscat2/issues/43#issuecomment-96135252.

Solved that particular issue, yup!


Philips Hue Still 3261348P7

Hey
First thank you for your great job, I just bought a Philips Hue Still 3261348P7 do you think it's possible to make it connect?

@meyland
Can you please add the device as a generic Zigbee unit and get back to us with the info below?
Product ID:
Device ID:
Profile ID:


Default account mechanism for sncast

Currently, --account must must be always provided in sncast. It can be done through CLI or snfoundry.toml file.
#2221 will allow defining a default account for all sncast projects. This is not very well integrated with our account commands though.
Add an interactive prompt to account import and account create that will prompt the user to make the account they imported default. It should be something like this
> Do you want to set the imported (created) account as default?
Yes
No
Don't ask again

On selecting Yes, user should be informed that the default was stored in global config and how to find/change it.
Additionally, account list should indicate which account is set as a default.
If using sncast command which requires --account, in case the flag is missing, the output should be updated to provide an information about setting the default account.

@cptartur can I work on this?


Two different detection rules have same id

These two detection rules have the same id: 2850c734-2d44-4431-8139-1a56f6f54c01
https://github.com/splunk/security_content/blob/develop/detections/web/web_jsp_request_via_url.yml
https://github.com/splunk/security_content/blob/develop/detections/web/spring4shell_payload_url_request.yml

Thank you for the report!  We're taking two steps to fix this:

First, we're updating the specific rules that you linked so that they don't have the same ID.
Second, we're adding a check to our CI/CD pipeline to ensure that conflicts will throw an error.

Thanks!  I'll respond with the PR and fix in a bit.

We now have a PR open that fixes the original issue (duplicate IDs) and implements a check for duplicate IDs on commit to the repo via contentctl.py.  Of course, you can run contentctl locally, as well.
We should have it merged shortly!
Please find the PR here:
https://github.com/splunk/security_content/pull/2286


Unity crashes when trying to run hair segmentation and face mesh simultaneously

Plugin Version or Commit ID
v0.10.0
Unity Version
2021.3.3f1
Your Host OS
Windows 10 Home
Target Platform
Windows Standalone
Description
Unity crashes when trying to run hair segmentation and face mesh simultaneously.
Is there are a way to run those projects simultaneously or at least one after another in the sace scene?
Code to Reproduce the issue
No response
Additional Context
No response

Please share your code and the error log (Editor.log).

I was finally able to run more than one graph but i have another problem now so i will close this issue


[LTS/blocker] CLOUDSTACK-6432: Prevent DNS reflection attacks

CLOUDSTACK-6432: Prevent DNS reflection attacks
DNS on VR should not be publically accessible as it may be prone to DNS
amplification/reflection attacks. This fixes the issue by only allowing VR
DNS (port 53) to be accessible from guest network cidr, as per the fix in:
https://issues.apache.org/jira/browse/CLOUDSTACK-6432

- Only allows guest network cidrs to query VR DNS on port 53.
- Includes marvin smoke test that checks the VR DNS accessibility checks from
  guest and non-guest network.
- Fixes Marvin sshClient to avoid using ssh agent when password is provided,
  previous some environments may have seen 'No existing session' exception without
  this fix.
- Adds a new dnspython dependency that is used to perform dns resolutions in the
  tests.

Due to repository commit issues I've created this PR, based on #1653 .
/cc @jburwell @karuturi @NuxRo @ustcweizhou @wido  and others

New smoke test result:
$ nosetests --with-xunit --xunit-file=integration-test-results.xml --with-marvin --marvin-config=/home/bhaisaab/Lab/apache/marvin-cfgs/adv-kvm.cfg -s -a tags=advanced,required_hardware=true --zone=KVM-advzone --hypervisor=KVM  test_router_dns.py
==== Marvin Init Started ====
=== Marvin Parse Config Successful ===
=== Marvin Setting TestData Successful===
==== Log Folder Path: /tmp//MarvinLogs//Aug_26_2016_19_25_30_U977TH. All logs will be available here ====
=== Marvin Init Logging Successful===
==== Marvin Init Successful ====
Creating Admin Account for domain db10a868-6b7a-11e6-863f-a434d91cd37e on zone d7eb01c3-f5e4-4643-ae8a-14372778ffb4
Creating Service Offering on zone d7eb01c3-f5e4-4643-ae8a-14372778ffb4
Creating Network Offering on zone d7eb01c3-f5e4-4643-ae8a-14372778ffb4
Creating Network for Account test-a-TestRouterDns-64PRTV using offering 4a0b3e7e-c585-4b96-8040-736161597b62
Creating guest VM for Account test-a-TestRouterDns-64PRTV using offering 1e1db335-c2e0-48b2-a288-9adf88a10adb
Starting test_router_dns_externalips...
Querying VR DNS IP: <IP_ADDRESS>
VR DNS query failed from non-guest network IP as expected
=== TestName: test_router_dns_externalipquery | Status : SUCCESS ===
Starting test_router_dns_guestipquery...
Creating Firewall rule for VM ID: b00b68b8-9445-4925-a631-f4bbd54bc6b9
Creating NAT rule for VM ID: b00b68b8-9445-4925-a631-f4bbd54bc6b9
SSH into guest VM with IP: <IP_ADDRESS>
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:8===
SshClient: Exception under createConnection: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection\n    allow_agent=False)\n', '  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect\n    raise NoValidConnectionsError(errors)\n', 'NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>\n']
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection
allow_agent=False)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect
raise NoValidConnectionsError(errors)
NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:7===
SshClient: Exception under createConnection: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection\n    allow_agent=False)\n', '  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect\n    raise NoValidConnectionsError(errors)\n', 'NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>\n']
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection
allow_agent=False)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect
raise NoValidConnectionsError(errors)
NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:6===
SshClient: Exception under createConnection: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection\n    allow_agent=False)\n', '  File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect\n    raise NoValidConnectionsError(errors)\n', 'NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>\n']
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/marvin/sshClient.py", line 122, in createConnection
allow_agent=False)
File "/usr/local/lib/python2.7/dist-packages/paramiko/client.py", line 324, in connect
raise NoValidConnectionsError(errors)
NoValidConnectionsError: [Errno None] Unable to connect to port 22 on <IP_ADDRESS>
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:5===
===SSH to Host <IP_ADDRESS> port : 22 SUCCESSFUL===
{Cmd: nslookup google.com via Host: <IP_ADDRESS>} {returns: [u'Server:\t\t<IP_ADDRESS>', u'Address:\t<IP_ADDRESS>#53', u'', u'Non-authoritative answer:', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'']}
SSH nslookup result: [u'Server:\t\t<IP_ADDRESS>', u'Address:\t<IP_ADDRESS>#53', u'', u'Non-authoritative answer:', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'']
=== TestName: test_router_dns_guestipquery | Status : SUCCESS ===

@NuxRo Any thoughts to add?

@jburwell @NuxRo  thanks for the reviews, I've fixed the outstanding issues. Please re-review.

Thanks a lot for implementing this properly :)

LGTM, I was able to build and test the PR. Found a little issue with the tests and fixed it.
 All logs will be available here ====

=== Marvin Init Logging Successful===

==== Marvin Init Successful ====
Creating Admin Account for domain b1376fae-6e2a-11e6-bca7-000c290e77f6 on zone 7060c2b9-7ea2-475f-9b74-56ce80444feb
Creating Service Offering on zone 7060c2b9-7ea2-475f-9b74-56ce80444feb
Creating Network Offering on zone 7060c2b9-7ea2-475f-9b74-56ce80444feb
Creating Network for Account test-a-TestRouterDns-CF5DZ4 using offering 8c206825-65e7-4aaa-9850-b8e804f523ef
Creating guest VM for Account test-a-TestRouterDns-CF5DZ4 using offering 6fd51c75-fe0f-4673-8b1a-a312fe5605c4
Starting test_router_dns_externalips...
Querying VR DNS IP: <IP_ADDRESS>
VR DNS query failed from non-guest network IP as expected
=== TestName: test_router_dns_externalipquery | Status : SUCCESS ===

Starting test_router_dns_guestipquery...
Creating Firewall rule for VM ID: cf929b5d-4ce1-4c86-b389-5baba0a5d8e7
Creating NAT rule for VM ID: cf929b5d-4ce1-4c86-b389-5baba0a5d8e7
SSH into guest VM with IP: <IP_ADDRESS>
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:8===
SshClient: Exception under createConnection: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/site-packages/marvin/sshClient.py", line 122, in createConnection\n    allow_agent=False)\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in connect\n    retry_on_signal(lambda: sock.connect(addr))\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/util.py", line 269, in retry_on_signal\n    return function()\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in <lambda>\n    retry_on_signal(lambda: sock.connect(addr))\n', '  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth\n    return getattr(self._sock,name)(*args)\n', 'error: [Errno 51] Network is unreachable\n']
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/marvin/sshClient.py", line 122, in createConnection
    allow_agent=False)
  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in connect
    retry_on_signal(lambda: sock.connect(addr))
  File "/usr/local/lib/python2.7/site-packages/paramiko/util.py", line 269, in retry_on_signal
    return function()
  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in <lambda>
    retry_on_signal(lambda: sock.connect(addr))
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 51] Network is unreachable
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:7===
SshClient: Exception under createConnection: ['Traceback (most recent call last):\n', '  File "/usr/local/lib/python2.7/site-packages/marvin/sshClient.py", line 122, in createConnection\n    allow_agent=False)\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in connect\n    retry_on_signal(lambda: sock.connect(addr))\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/util.py", line 269, in retry_on_signal\n    return function()\n', '  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in <lambda>\n    retry_on_signal(lambda: sock.connect(addr))\n', '  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth\n    return getattr(self._sock,name)(*args)\n', 'error: [Errno 51] Network is unreachable\n']
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/marvin/sshClient.py", line 122, in createConnection
    allow_agent=False)
  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in connect
    retry_on_signal(lambda: sock.connect(addr))
  File "/usr/local/lib/python2.7/site-packages/paramiko/util.py", line 269, in retry_on_signal
    return function()
  File "/usr/local/lib/python2.7/site-packages/paramiko/client.py", line 305, in <lambda>
    retry_on_signal(lambda: sock.connect(addr))
  File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 51] Network is unreachable
====Trying SSH Connection: Host:<IP_ADDRESS> User:root                                   Port:22 RetryCnt:6===
===SSH to Host <IP_ADDRESS> port : 22 SUCCESSFUL===
{Cmd: nslookup google.com via Host: <IP_ADDRESS>} {returns: [u'Server:\t\t<IP_ADDRESS>', u'Address:\t<IP_ADDRESS>#53', u'', u'Non-authoritative answer:', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'Name:\tgoogle.com', u'Address: <IP_ADDRESS>', u'']}
=== TestName: test_router_dns_guestipquery | Status : SUCCESS ===

===final results are now copied to: /tmp//MarvinLogs/test_router_dns_IG8LQP===

Thanks @borisstoyanov

Thanks all, based on the test results and reviews from this PR with the marvin test and the original PR #1653 from where the main changes were taken, I'll go ahead and merge this now.

After patching our systemvm.iso and the respective routers, I've noticed the iptables rules changed as given in CsAddress.py. These rules don't get any packets since two identical (but unpatched) rules apply before. I found these in CsApp.py.

@s-seitz the fix should work for newly deployed VRs, for existing VR there may be existing rules or chains blocking the intended fix. Are you getting issues or seeing the same behaviour with new VRs? If yes, can you send a fix. Thanks.


ConvertToArray tries to concatenate dissimilar structs

When an array in yaml has structs with different fields, the code crashes when ConvertToArray is true.
Basically, the elementsHaveConsistentType forgets to check that structs have matching fields.
To reproduce the bug, you can run the following matlab code:
% two dissimilar structs inside a cell array
data = {struct("a",1) struct("b",2)};
% dump to yaml and load back in
yaml_str = yaml.dump(data);
data_test = yaml.load(yaml_str,ConvertToArray=true);

which will generate the following error:
Error using horzcat
Names of fields in structure arrays being concatenated do not match. Concatenation of structure arrays
requires that these arrays have the same set of fields.

Error in yaml.load/convertList (line 111)
            result = horzcat(result{:});

Error in yaml.load/convert (line 71)
                result = convertList(node);

Error in yaml.load (line 48)
    result = convert(rootNode);

Error in untitled (line 10)
data_test = yaml.load(yaml_str,ConvertToArray=true);

Thanks for reporting, I fixed it


Add Folder selector to the Conversation item

In the Chat Drawer items, show the current conversation folder. Mockup below:

Requirements:

[ ] Show a folder of the color of the Conversation's Folder
[ ] When hovering show the folder Name as < Tooltip >
[ ] When clicking create a dropdown menu (only on click, to avoid too many hidden elements) that allows to switch folder
[ ] The looks of the dropdown menu should be similar to the Chat PageBar Dropdown ("Select a folder....")

Feature video:
https://github.com/enricoros/big-AGI/assets/32999/f9be7ce8-dba4-44f1-9829-5c42b581f182


CronJob trigger buttons gone?

Where did the trigger and suspend buttons go from Cron Jobs?
Seems the Lens is getting worse with every update.

Duplicate of #6572 Please look for other issues before making new ones. This has already been fixed


PEX error: syntax incorrect

Hi,
I'm having this problem repeatedley with PEX:
] Edit by Stormbow: Removed monstrous wall of formatting bugged text. [
I have the permissions.yml file here:
https://drive.google.com/open?id=0B-SJAxZgkbfXaDBDTWVEazBJa28

Your permissions.yml file was kind of a mess, but I don't have anything better to be doing at the moment, so I fixed everything in your file for you:  https://pastebin.com/6AuPBmEz.

Your permissions.yml file was kind of a mess, and I don't have anything better to be doing at the moment, so I fixed everything in your file for you:  https://pastebin.com/6AuPBmEz.
Test this out and see how everything works.
NOTE:  I changed "Co-Owner" to "CoOwner" because "Co-Owner" won't be recognized as a group on the server for some plugins.
And, as a nice little "screw you" to your "cheater" group, I removed all of their permissions, so they can stand there, do nothing, and not even talk (in most cases).  LOL  (You can, of course, delete those 2 lines— 158 and 159 —if you don't like the idea.)

Side note:  The option: setting build: false / build: true only applies to servers using the EssentialsXAntiBuild or EssentialsAntiBuild plugin.

ok thank you very much!

You're welcome. :-)  Let me know if you run into any other problems.  (You can reply to this ticket, even though it's closed.)


reverting path change in filecopy v4

Task name: AzureFileCopyV4
Description: Reverting change https://github.com/microsoft/azure-pipelines-tasks/pull/13784
Documentation changes required: (Y/N) N
Added unit tests: (Y/N) N
Attached related issue: (Y/N) https://github.com/microsoft/azure-pipelines-tasks/issues/13935
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

Hi, why was this change made? What issue was it fixing? It has meant we need to make changes to our pipelines so would be great to understand why :)


Sync with latest Mifos I/O

This PR syncs with the latest changes from Mifos I/O.

Awesome!  Thank you Mark.
Before I merge that though I need you to get an iCLA on file with the ASF.  I imagine that request feels a little silly, since all of those changes except the pull request itself are from me.  The reason I'm covering our bases here is that before I left Kuelap, I asked for permission to merge this repository (among others) and that permission was denied.  I want to make extra sure that I don't create any legal jeopardy for the ASF by accepting your pull request now.
An iCLA is required of all committers and many contributors to Apache projects.  It's a fairly low-key affair.  The form is here: https://www.apache.org/licenses/icla.pdf  It contains complete instructions.  Please include Fineract in the projects you wish to have notified.
Best Regards,
Myrle Krantz


Android Day 2: Fastlane

I wrote unit tests for RecipeRepository and MainViewModel using JUnit 5 (also known as Jupiter). Even though Android Studio defaults to JUnit 4, I wanted to give the newer version a shot. I had to conjure some interesting mocks to get the unit tests to work while in coroutines (Kotlin's equivalent of a thread). Alongside that, I also initialized Fastlane and wrote a workflow to automate all the testing. Unlike with iOS, the gradle test command only runs the unit tests. I had some issues testing Fastlane on my PC (plus I think the network bridge between the WSL 2 VM and my C drive is causing gradle to be even slower on the command line), so I'm going to run the workflow here to test it out.
For the instrumentation tests, I have two options: use the GitHub Action like in calculators, or use the Fastlane plugin. I'm going to try the Fastlane plugin to see how that compares to the GitHub Action. I like how customizable the action is, but if this is faster, I might go with the plugin instead. But since the iOS workflows were already slow, I'm curious to see how long these workflows will take. (I also wonder if there will be any problems running on a Mac since Gemfile.lock has the platform set to x86_64-linux, instead of universal-darwin-21.)

This has been an interesting afternoon. So I found two Fastlane plugins to help automate these instrumentation tests: fastlane-plugin-instrumented_tests and fastlane-plugin-automated-test-emulator-run. However, I was struggling to figure out why these weren't working. Both were throwing the same error:
Error: Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
	at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
	at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
	at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
	at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)
	at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:[52](https://github.com/Abhiek187/ez-recipes-android/actions/runs/3401672022/jobs/5656938365#step:7:53)2)
	... 5 more

In the process, I documented what commands are run under the hood when we try to run the unit and UI tests from a CI server, for both iOS and Android. On iOS, since Xcode comes with many simulators, the main challenge is passing in the right parameters in a long xcodebuild command to build and test the app. On Android, although unit testing is as simple as running gradlew test, for UI tests we need to install the build tools, platform tools, system images, and emulators. And we need to boot the emulators ourselves before running gradlew connectedAndroidTest (or connectedCheck since they seem to be similar). That would explain why the Android tests in the calculators repo take longer than the iOS tests.
Finally, I figured out the reason I was getting the above error is because both plugins execute Android's command line tools from $ANDROID_HOME/tools/bin. However, as of 2020, the command line tools now point to $ANDROID_HOME/cmdline-tools/latest/bin. The command still exists in the tools directory but doesn't work properly. I experienced something similar before when I was trying to run the emulator from the command line, so I understand why I was confused. 😅
Someone did create a PR in fastlane-plugin-automated-test-emulator-run to address this issue, but it seems like the repo isn't actively maintained anymore (given that the plugin was initially created in 2016). I do want to try the person's fork since I still want to compare performance, but since I'm using GitHub Actions, I think android-emulator-runner might be my best option for the long-term. But knowing the exact commands to run will still help if I have to replicate this outside GitHub.

After more experimentation, here's what I found. The instrumentation tests seem to work best if we delegate one device per job. I kept trying to run the tests on three devices at once and I kept getting errors similar to the following:
Test run failed to complete. No test results. onError: commandError=false message=INSTRUMENTATION_ABORTED: System has crashed.
Exception thrown during onBeforeAll invocation of plugin com.google.testing.platform.plugin.android.AndroidDevicePlugin.
Failed to install APK(s): /Users/runner/work/ez-recipes-android/ez-recipes-android/EZRecipes/app/build/outputs/apk/androidTest/debug/app-debug-androidTest.apk
Unknown failure: Exception occurred while executing 'install':
java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List android.os.storage.StorageManager.getVolumes()' on a null object reference
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:197)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:147)
at com.android.internal.content.PackageHelper.resolveInstallVolume(PackageHelper.java:162)
at com.android.server.pm.PackageInstallerService.createSessionInternal(PackageInstallerService.java:776)
at com.android.server.pm.PackageInstallerService.createSession(PackageInstallerService.java:561)
at com.android.server.pm.PackageManagerShellCommand.doCreateSession(PackageManagerShellCommand.java:3143)
at com.android.server.pm.PackageManagerShellCommand.doRunInstall(PackageManagerShellCommand.java:1341)
at com.android.server.pm.PackageManagerShellCommand.runInstall(PackageManagerShellCommand.java:1303)
at com.android.server.pm.PackageManagerShellCommand.onCommand(PackageManagerShellCommand.java:193)
at com.android.modules.utils.BasicShellCommandHandler.exec(BasicShellCommandHandler.java:97)
at android.os.ShellCommand.exec(ShellCommand.java:38)
at com.android.server.pm.PackageManagerService.onShellCommand(PackageManagerService.java:24626)
at android.os.Binder.shellCommand(Binder.java:950)
at android.os.Binder.onTransact(Binder.java:834)
at android.content.pm.IPackageManager$Stub.onTransact(IPackageManager.java:4818)

The problem is that java.lang.NullPointerException: Attempt to invoke virtual method... is such a generic error that it was hard to find people who get the same error and are also trying to run Android tests. I don't get this error if I run the instrumentation tests locally. I then tried to use android-emulator-runner like in calculators and the tests were finally passing! In that repo, I split each API into its own job, which means that I don't need to loop through all the devices in series to make sure they're booted and ready to test. I was planning on parallelizing the tests anyway to improve performance, but I didn't realize that was the only way to ensure the tests would pass.
Now the issue is that if I want to continue using Fastlane, I would need to pass the matrix variables so that each lane would only run the tests on a device with that specific API level. According to the docs, I can pass in an options parameter to pass in custom parameters for each lane. But if I were to use fastlane-plugin-automated-test-emulator-run, I would need to create separate JSON files for each API level, which wouldn't scale well and would be tougher to maintain. I could also try the manual sh commands (since that worked miraculously). Both the manual commands and the GitHub Action have similar performance (testing on an Android 29 emulator took around 6.5 minutes for both, with the Action being slightly faster). I'll likely stick with the Action since that will be the easiest to maintain, but I'd like to preserve the manual commands in the commit history to show that it is possible.

Job
Fastlane
GitHub Actions

29
6m 56s
4m 38s

31
8m 34s
6m 36s

33
13m 28s
8m 34s

GitHub Actions beats Fastlane for all API levels. Looking at each step individually (for API 33):

Step
Fastlane
GitHub Actions

Install licenses
7s
4s

Install build/platform tools
3s
3s

Install emulator
3s
2s

Install system images
53s
1m 59s

Create AVD
1s
2s

Configure 2 cores
0s
0s

Start emulator
0s
10s

Wait to boot
5m 51s
3m 24s

Disable animations
1s
1s

Run tests
6m 24s
2m 48s

Kill emulator
0s
0s

Installing the system images, booting up the emulator, and running the UI tests take the slowest, and show the most significant performance differences between the two methods. One thing to consider is that I added the unit test step in GitHub Actions, which allowed the UI tests step to run quicker since the Gradle daemon was running and some of the tasks were already up-to-date. But that's still 2.5 minutes unaccounted for Fastlane. It might be because the compileDebugKotlin task took almost 2 minutes for Fastlane, whereas it took 2 seconds for GA. I'm not sure why. But besides that, I didn't notice any other significant differences between the two methods. But this was a nice analysis to understand the world of Android! 👍

Hopefully this will be my last commit for this PR! 🤞 I noticed that as long as I comment out the Fastlane steps in the workflow, I can keep the manual code I used in the Fastfile for reference.


Vignettes as tutorials

Description
This PR contains the vignettes as tutorials, as described in #262
All vignettes can be found in the tutorials/content/tutorials folder.
One tutorial equals one vignette. The name of the file follows the convention vignette + package_name+ vignette_name.
The structure of the index.md uses the following structure:
---
title: "..."
description: "Vignette for the R package ...."
authors: ...
date: ...
categories: ["r"]
tags: ["r", "vignette", ...]
output:
    md_document:
        preserve_yaml: true
        variant: markdown_github
---

See the vignette/tutorial at <link>

@florisvdh @peterdesmet @ThierryO the revision is all yours
Task list

[x] My tutorial or article is placed in a subfolder of tutorials/content
[x] The filename of my tutorial or article is index.md. In case of an Rmarkdown tutorial I have knitted my index.Rmd to index.md (both files are pushed to the repo).
[x] I have included tags in the YAML header (see the tags listed in the tutorials website side bar for tags that have been used before)
[x] I have added categories to the YAML header and my category tags are from the list of category tags

Previewing the pull request
Thanks to GitHub Actions, an artifact (=zip file) of the rendered website is automatically created for each pull request.

Instead of linked to the individual vignettes, we could link to https://inbo.r-universe.dev/ui#articles instead.

@ThierryO When linking to inbo.r-universe, to what extend can we find these manuals when using the tags?  For instance, I would like to query the inboveg database using R and I don't know how to do this.  So I search on the tutorials website how to do it.  At the moment there is still an old copy of the inbodb package vignette on inboveg that explains this, and that pops up directly when searching on the subject of databases, but if this is deleted, how will a visitor of the tutorials site be aware of the fact that there is a package with specific functions to solve his problem?
Maybe it is not necessary to have such link to all vignettes of all packages (e.g. to me it seems less relevant for specific non-coding-related subjects such as as package dhcurve), and maybe links to vignettes on related subjects can be grouped on one site (e.g. put all vignettes on querying INBO databases together, or all vignettes that have the same combination of tags), but for subjects that are typically searched for on the tutorials website, to me it seems useful for tutorials site visitors to at least learn that an INBO package on this subject exists.  (If I don't have experience with coding on a specific topic, e.g. query databases or manipulate raster geodata, I would search on the tutorials site, rather than checking if INBO has a package on it for any chance.)
On the other hand I agree with @ThierryO that it may not be necessary to link to every single vignette and give all vignette a separate site, which will certainly become a disaster for maintenance.  In inbodb, probably 2 new vignettes will be added this year, so it seems easier for maintenance to just refer to inbo.github.io/inbodb where vignettes for different databases can be found (I plan on giving the vignettes more visibility on this main page).  Probably a similar exercise can be done for other vignettes and packages?
So I think it is certainly helpful to have these tutorials that refer to package( vignette)s, but maybe try to refer to packages rather than vignettes (if the subject is related), and try to group different links on one page as much as possible.

The goals of this PR was to elevate the work we collectively put in vignettes and make them easily accessible as tutorials via the Tutorials website. As @ElsLommelen explains, it allows to search for a topic and find vignettes as well as regular tutorials on that subject, which wouldn't work if we just refer to r-universe.
Regarding maintenance, I don't think that's going to be too bad, especially if we only do it once a year (@LienReyserhove correct me if I'm wrong). As @ElsLommelen suggests, we could bundle Vignettes for some packages on a single page, but that also comes with the cognitive burden (during maintenance) of having to decide which ones to bundle, what authors, topics, etc. to apply, ... with little added benefit.
So, until this becomes unwieldy, I like the approach of having one Vignette = one Tutorial.

we could bundle Vignettes for some packages on a single page, but that also comes with the cognitive burden (during maintenance) of having to decide which ones to bundle, what authors, topics, etc. to apply, ... with little added benefit.

One advantage for the website visitor to bundle vignettes is to avoid having long lists after searching for a topic (tag), each of it referring to a separate page with just one link.
Easiest would be to bundle topics that have got the same tags, but indeed: authors.  Maybe mention only @LienReyserhove as an author because she has composed the pages?  The package or vignette authors are mentioned at the linked sites, I suppose?
Anyway, I leave it up to the maintainer(s) to decide if this small advantage outweighs the extra effort to bundle vignettes.

@florisvdh I cannot use markdown in titles, so it will have to be:

inborutils: GBIF scientific name matching

Not

inborutils: GBIF scientific name matching

Here's a comparison between the two approach (as part of description vs part of title):

Do you still prefer to prepend titles?

Thanks for solving the author IDs!
Sure, I still would prepend the titles with the package  name.
What about:

This is the UTF-8 'package' character (https://www.utf8icons.com/character/128230/package).
See 792a016a for the syntaxis used, if you like this (mind the spaces).

I like the emoji approach, but would maybe use it on the description, so it doesn't become to visually overloading in the overview of titles. Compare:

Makes it also easier to copy/paste without errors.

Two more variations:

(a1aadbdb)

(4b6d48cc)
Corresponding tutorial pages of the three variations:

All issue and feedback resolved, thanks for the input! A huge thanks to @LienReyserhove 👏👏👏  for hunting down all the vignettes, translating these into tutorials, and weathering the feedback and format changes. 😄 @LienReyserhove I have also updated the spreadsheet to reflect the current state.

Just spotted a dwelling 📦:

@ElsLommelen no need for a thorough review (we all had a check already, especially @florisvdh), but your approval is needed before this PR can be merged. 😄