Noise on servos when connecting to QGC

Master fw 25be7aa7cf30b633afd1abeb30f15547719f1471
When I connect Pixracer to QGC on my Iphone the flaps start to have random movements.
Log is here

Can you share your post flight perf file?

And did you have manual input enabled on your phone (thumb sticks?)

No I don't think I have any manual inputs on my phone, and I don't have the perf file, but it is very reproducible so will upload one.

It is definitly the thumb sticks on the iphone, as soon as I disable them the jittering goes away. Here is a logfile where I activate the thumb sticks and then deactivate them again.

@DonLakeFlyer I think you need to fix the user model. We keep running into this and users just don't get that QGC is sending RC controls to the vehicle. They think that unless they use the joystick or thumb sticks nothing is sent even if enabled.

@LorenzMeier what if we also changed the mavlink handling of MANUAL_CONTROL and COM_RC_IN_MODE a bit? Is there any reason we should allow actual RC and MANUAL_CONTROL at the same time?
https://github.com/PX4/Firmware/blob/master/src/modules/mavlink/mavlink_receiver.cpp#L1397
COM_RC_IN_MODE
0 - RC only, don't process MANUAL_CONTROL
1 - MANUAL_CONTROL -> manual_control_setpoint (completely ignore RC?)
2 - MANUAL_CONTROL -> rc_input_values (completely ignore RC?)

Open to suggestions on how to change the user model. If you turn on joystick there needs to be continuous sending of outputs just like an RC control. Not sure how to get around that.

@dagar Can you send a PR?

I can do the quick fix described above. Using priorities as discussed in #5942 can still happen later.
What are you thoughts on Mavlink MANUAL_CONTROL -> manual_control_setpoint and rc_input_values going forward? Keep both? The entire thing is really quite confusing, even for developers.

Should be resolved. PX4 will now only take the first source (RC or Mavlink).


Add hidden and bruteforce parameter options for endpoints

Please describe your feature request:

ParamMiner + other parameter discovery tool type integration support
Describe the use case of this feature:

Maybe we can do this with nuclei integration


Write README instructions for running geotaste as dash app

Done in memberfilters PR https://github.com/Princeton-CDH/geotaste/tree/memberfilters


"Could not find library: kernel32" on WinXP

Hi,
I've been getting the following error message on Windows XP:
checking for rb_trap_immediate in ruby.h,rubysig.h... yes
checking for rb_thread_blocking_region()... no
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_thread_check_ints()... no
checking for rb_time_new()... no
checking for windows.h... yes
checking for winsock.h... yes
checking for main() in -lkernel32... no
could not find library: kernel32
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=.
        --curdir
        --ruby=C:/Rails/Ruby2.0.0/bin/ruby
        --with-kernel32lib
        --without-kernel32lib

It appears to be be referring to the eventmachine-1.0.7 gem ... any idea how I can fix this? :) I've tried building the eventmachine gem separately from the git repository, but it doesn't seem to have made a lot of difference - still getting that error

PS E:\yogesh1\chef-repo> gem install knife-windows
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing knife-windows:
ERROR: Failed to build gem native extension.
    C:/opscode/chef/embedded/bin/ruby.exe extconf.rb

checking for main() in -lssl... no
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for ruby/thread.h... no
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_thread_fd_select()... no
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... no
checking for rb_enable_interrupt()... no
checking for rb_time_new()... no
checking for windows.h... yes
checking for winsock.h... yes
checking for main() in -lkernel32... no
could not find library: kernel32
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/opscode/chef/embedded/bin/ruby
--with-openssl-config
--without-openssl-config
--with-pkg-config
--without-pkg-config
--with-ssl-dir
--without-ssl-dir
--with-ssl-include
--without-ssl-include=${ssl-dir}/include
--with-ssl-lib
--without-ssl-lib=${ssl-dir}/lib
--with-ssllib
--without-ssllib
--with-kernel32lib
--without-kernel32lib
Gem files will remain installed in C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.7 for inspection.
Results logged to C:/opscode/chef/embedded/lib/ruby/gems/1.9.1/gems/eventmachine-1.0.7/ext/gem_make.out

@yogeshrathore15 Why are you pasting that here?


Wasapi Loopback

Could not sync loopback with video using ManagedBass or NAudio
Could not capture silence in naudio wasapi loopback

Implemented separate Loopback while SelectedWindow is NONE, but with video, the capturing is corrupted

Now, Can Capture even with Video, but lacks synchronization


bug: The event showing on the website is incorrect

Bug Report
Describe the bug
Under the Latest Events section on the home page,
It is showing the incorrect Date + past meet-up event
To Reproduce
Steps to reproduce the behavior:

Go to https://womencodingcommunity.com/
Scroll down to the "Latest Event" Section.
Check the event listed
Now click the meet-up event it do not match up.

Expected behavior
It should display correct event.
Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Reproducibility

[ ] The bug is reproducible consistently.
[ ] The bug is sporadic or occurs randomly.

Impact

[ ] The bug affects critical functionality.
[ ] The bug affects minor functionality.
[ ] The bug is a cosmetic issue.

Additional context
Add any other context about the problem here.
Related Issues/PRs
If you know of any related issues or pull requests, link them here.
Proposed Solution (optional)
If you have any ideas on how to fix the bug or potential areas to investigate, suggest them here.
Your Contribution (optional)
If you're able and willing to contribute a fix, mention it here.

@goelsonali  Hey ! could you please assign it to me ! :)

Done @Amenawon If you could help add the rest of November events too, that'll be super!🚀
All events are at https://www.meetup.com/women-coding-community/events/
We have some automation scripts as well that can be run to help with the import, located in the /tools folder


Show on tile preview, if claim has already been purchased (Currently only shown when resolving on a file page, I think)

To see the thing:

Purchase claim on some channel (https://odysee.com/@purchase_test_channel:6 this has one)
Navigate back to the channel page and reload
The claim doesn't show as purchased.
OR
Purchase claim on some channel (https://odysee.com/@purchase_test_channel:6 this has one)
Search for the claim name (doesn't show as purchased)
Open claim (shows as purchased)
Click back
The claim doesn't show as purchased

https://user-images.githubusercontent.com/34790748/176888205-e113a464-d0bc-40f4-a948-fa7409dbfeab.mp4

This is a hackaround we did in order not to use wallet specific claim searches to improve performance / caching. For now, we should at least persist it redux data so once you know it's paid, it's shown in other areas.  Eventually, we'd probably use purchase list data on load to determine what's paid or not.


Deleting country from input field does not reset select value

To reproduce:
On a form with the country picker,
type "fr" into country picker,
select "france",
delete "france" from the input field,
submit the form
Actual outcome
The country value will be "france"
Expected outcome:
The country value should be ""

We have just run into this issue too - there seems to be no handling of the change event when it's an empty string...

Actually this looks like it's an issue with accessible-autocomplete https://github.com/alphagov/accessible-autocomplete/issues/260

Thanks for the spot @nubz closing this out here. :)


Adapt to Svelte 5?

Hey I am just wondering if there are any plans to adapt the package for Svelte 5? Currently it still works fine thanks to the backward compatibility of Svelte 5, but the typing seems slightly broken with new snippets syntax.

Hi
Yes, I plan to adapt all my packages to Svelte 5
In this package, most of the functionality works via native JavaScript, which will make the migration quite fast. I hope so🫨

Thank you so Much @fedorovvvv ! It's great to hear you plan to adapt this package for Svelte 5. I'm eagerly waiting for the migration and excited to see !!! :)


chore: fix stop during migration

Purpose

How does the solution address the problem

Changes made

prnet cleaned-up successfully


How to instruct Helm not to add "managed-by" label to the STS

Hi,
My use case is that I have an existing STS which does not have "managed-by: Helm" label. Now, changing it and updating it via helm results in this label being added, which is not allowed since Sets are immutable (see https://github.com/kubernetes/kubernetes/issues/90519).
Is there any way to prevent Helm from adding this label?
I suppose it could be done with post-processing by something like kustomize, though I'd like not to generate the label in the first place instead of generating and then removing it.
Note: running "helm template" does not result in this label being present in the generated yaml, but running "helm apply" afterwards results in actual k8s STS having it.

Hi. I'm not entirely sure what you're doing. For example, you bring up the helm apply command. Helm does not have an apply command.
The labels are part of the charts (the packages). Helm does not inject any labels. You will need to look at the chart you are working with to find how the label is handled.

Apologies, helm install. I got it confused with helmfile I guess.
As to your second sentence, there is this comment from the same repo:
https://github.com/helm/helm/issues/8083#issuecomment-663554876

Since Helm 3.2.0 (via https://github.com/helm/helm/pull/7649), we now automatically add two annotations in meta.helm.sh/ and a label app.kubernetes.io/managed-by: Helm.

This label is the exact one I'd like not to have since adding it to STS is not supported by k8s as of now and deleting the STS is an option with downtime, sadly.


CD-5161 - Add support to only scan PR files

This is available. Try using
 - name: Filter to Changed Files
        uses: masesgroup/retrieve-changed-files@v3
        id: files
        if: github.event_name == 'pull_request'
        with:
          format: 'csv'
...
      - name: Run Codescan On PR
        if: github.event_name == 'pull_request'
        uses<EMAIL_ADDRESS>        args: |
         sonar.inclusions=${{ steps.files.outputs.added_modified }}


unexpected keyword argument 'account_key'

Describe the bug
I've used this command in the past to get a list of VHD images in my storage:
Command Name
az storage blob list Extension Name: storage-blob-preview. Version: 0.5.0.
Errors:
The command failed with an unexpected error. Here is the traceback:
request() got an unexpected keyword argument 'account_key'
Traceback (most recent call last):
  File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 231, in invoke
    cmd_result = self.invocation.execute(args)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 657, in execute
    raise ex
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 720, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 712, in _run_job
    return cmd_copy.exception_handler(ex)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/__init__.py", line 266, in new_handler
    raise ex
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 691, in _run_job
    result = cmd_copy(params)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/__init__.py", line 328, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/operations/blob.py", line 511, in list_blobs
    result = list_generator(pages=pages, num_results=num_results)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/track2_util.py", line 83, in list_generator
    page = list(next(pages))
  File "/opt/az/lib/python3.6/site-packages/azure/core/paging.py", line 76, in __next__
    self._response = self._get_next(self.continuation_token)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/vendored_sdks/azure_storage_blob/v2020_02_10/_list_blobs_helper.py", line 76, in _get_next_cb
    use_location=self.location_mode)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/vendored_sdks/azure_storage_blob/v2020_02_10/_generated/operations/_container_operations.py", line 1211, in list_blob_flat_segment
    pipeline_response = self._client._pipeline.run(request, stream=False, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 211, in run
    return first_node.send(pipeline_request)  # type: ignore
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 2 more times]
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/policies/_redirect.py", line 158, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/vendored_sdks/azure_storage_blob/v2020_02_10/_shared/policies.py", line 489, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  [Previous line repeated 1 more time]
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/vendored_sdks/azure_storage_blob/v2020_02_10/_shared/policies.py", line 290, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 71, in send
    response = self.next.send(request)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/_base.py", line 103, in send
    self._sender.send(request.http_request, **request.context.options),
  File "/home/henti/.azure/cliextensions/storage-blob-preview/azext_storage_blob_preview/vendored_sdks/azure_storage_blob/v2020_02_10/_shared/base_client.py", line 319, in send
    return self._transport.send(request, **kwargs)
  File "/opt/az/lib/python3.6/site-packages/azure/core/pipeline/transport/_requests_basic.py", line 246, in send
    **kwargs)
TypeError: request() got an unexpected keyword argument 'account_key'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.
export AZURE_STORAGE_CONNECTION_STRING=$(az storage account show-connection-string -n $storageAccountName -g $ResourceGroupName --query connectionString -o tsv)
az storage blob list -c $container

Expected Behavior
list file sin storage
Environment Summary
Linux-5.4.0-72-generic-x86_64-with-debian-buster-sid
Python 3.6.10
Installer: DEB

azure-cli 2.24.2

Extensions:
storage-blob-preview 0.5.0
image-copy-extension 0.2.8

Additional Context

storage

Using the official documentation here : https://docs.microsoft.com/en-us/azure/virtual-machines/linux/find-unattached-disks with this snippet
# Set deleteUnattachedVHDs=1 if you want to delete unattached VHDs
# Set deleteUnattachedVHDs=0 if you want to see the details of the unattached VHDs
deleteUnattachedVHDs=0
storageAccountIds=$(az storage account list --query [].[id] -o tsv)
for id in ${storageAccountIds[@]}
do
    connectionString=$(az storage account show-connection-string --ids $id --query connectionString -o tsv)
    containers=$(az storage container list --connection-string $connectionString --query [].[name] -o tsv)

    for container in ${containers[@]}
    do

        blobs=$(az storage blob list -c $container --connection-string $connectionString --query "[?properties.blobType=='PageBlob' && ends_with(name,'.vhd')].[name]" -o tsv)

        for blob in ${blobs[@]}
        do
            leaseStatus=$(az storage blob show -n $blob -c $container --connection-string $connectionString --query "properties.lease.status" -o tsv)

            if [ "$leaseStatus" == "unlocked" ]
            then

                if (( $deleteUnattachedVHDs == 1 ))
                then

                    echo "Deleting VHD: "$blob" in container: "$container" in storage account: "$id

                    az storage blob delete --delete-snapshots include  -n $blob -c $container --connection-string $connectionString

                    echo "Deleted VHD: "$blob" in container: "$container" in storage account: "$id
                else
                    echo "StorageAccountId: "$id" container: "$container" VHD: "$blob
                fi

            fi
        done
    done
done

Getting the same errors. This is official Microsoft documentation.


Gc subcommand

Tracks the sum total of major GC and minor GC time, partially addressing #8. I've tested it with single domain programs comparing the time reported here with the trace file. Leaving it as a draft as this needs more testing on multi-domain programs.

Results on single-domain programs:
$ /usr/bin/time _build/default/benchmarks/multicore-numerical/binarytrees5_multicore.exe 1 22
20.79user 0.25system 0:21.09elapsed 99%CPU (0avgtext+0avgdata 505476maxresident)k
0inputs+0outputs (0major+125785minor)pagefaults 0swaps
$ olly gc "_build/default/benchmarks/multicore-numerical/binarytrees5_multicore.exe 1 22"
Time in GC: 13.141230

Corresponding trace:

Thanks for the contribution.
A few questions and comments:

The sum of the major + stw_leader wall durations is 12.1 seconds. Time in GC is reported to be 13.1. Where does the discrepancy come from?
"Time in GC: 13.141230" please add units. The absolute time doesn't make sense without the total time. Running the program twice will lead to differences, which makes the number hard to interpret. My suggestion would be to look at how GHC and MLton (and other languages) report GC stats. They usually report them as "total time: xxx s, gc time: xxx s (xxx % of total time)".
One thing we can do for multi-threaded programs is to report the GC time for each of the domains separately (perhaps in a follow up PR). This will tell us whether the GC work is unbalanced.
I think it is useful to reconsider whether a new subcommand needs to be introduced. I feel that we can include all the GC stats under the same subcommand gc-stats. Concretely, lets do away with latency subcommand, and fold that into gc-stats along with the time in GC. From the user perspective, this would be better UX than many subcommands.

Thanks a lot for the comments @kayceesrk!

The sum of the major + stw_leader wall durations is 12.1 seconds. Time in GC is reported to be 13.1. Where does the discrepancy come from?

You're right, I was wondering that myself - the results are from two different runs, I think that's perhaps the source of discrepancy. Will double check this.

"Time in GC: 13.141230" please add units. Also, the absolute time doesn't make sense without the total time. Running the program twice will lead to differences, which makes the number hard to interpret.

Absolutely! I've merged the gc time with the latency command, and renamed it to gc-stats. Makes sense to have all of this in a single command - also addressing your fourth point.

One thing we can do for multi-threaded programs is to report the GC time for each of the domains separately (perhaps in a follow up PR). This will tell us whether the GC work is unbalanced.

Sounds like a good idea. Will try to do this in a follow up PR.

I've added a sequential version of binarytrees benchmark for testing. The dune rule for olly run itself is commented out for now as it's throwing a Unix.ENOENT exception. It's maybe due to some path mismatches, will try to figure this out.
@sadiqj could you enable ocaml-ci for the repo please?

The results look like:
$ _build/default/bin/olly.exe gc-stats _build/default/test/binarytrees.exe
stretch tree of depth 23         check: 16777215
4194304  trees of depth 4        check: 130023424
1048576  trees of depth 6        check: 133169152
262144   trees of depth 8        check: 133955584
65536    trees of depth 10       check: 134152192
16384    trees of depth 12       check: 134201344
4096     trees of depth 14       check: 134213632
1024     trees of depth 16       check: 134216704
256      trees of depth 18       check: 134217472
64       trees of depth 20       check: 134217664
16       trees of depth 22       check: 134217712
long lived tree of depth 22      check: 8388607

Execution times:
#[Wall-time (s):        20.45,   GC-time (s):   13.00]

GC latency profile:
#[Mean (ms):    0.84,    Stddev (ms):   1.33]
#[Min (ms):     0.00,    max (ms):      16.12]

Percentile       Latency (ms)
25.0000          0.00
50.0000          0.09
60.0000          0.45
70.0000          0.97
75.0000          1.27
80.0000          1.87
85.0000          2.01
90.0000          2.35
95.0000          3.31
96.0000          4.93
97.0000          5.39
98.0000          5.55
99.0000          5.69
99.9000          6.50
99.9900          13.21
99.9990          16.12
99.9999          16.12
100.0000         16.12

Minor comment about formatting the output.  Rather than
Execution times:
#[Wall-time (s):        20.45,   GC-time (s):   13.00]

It may be useful to do:
Execution times:
  Wall time (s):                20.45
  GC time (s):                  13.00
  GC overhead (% of wall time): xx.xx

Is the PR ready for review? :-)

I wanted to test on multi-domain programs before marking the PR ready for review. I have done that, and I think it's ready for review. :)
A couple of question regarding multi-domain programs:

Is interrupt_remote a more accurate measure of GC time in multi-domain programs rather than stw_handler? I presume stw_handler is when the actual work is done, but when the thread is at interrupt_remote it would still not be able to run mutator code.
Calculating GC percentage with wall time may not make sense for multi-domain programs, as the total GC time is a sum total of GC time in all threads. Should we display the CPU time as well and calculate the GC time percentage against it?

Thanks for the update. Can you please take into account the conversation that we have had on a different channel?

Thanks @kayceesrk, I've addressed the comments from our offline conversation. Also updated the README and added a test that runs gc-stats for menhir.

Thanks for the work!


Voice refactor

Tracking voice changes.

@tellowkrinkle I think refactoring the udp socket reading might be a larger task. I did some poking and it looks like trying to use Vapor's internal socket in a DispatchIO causes issues.


Go to Definition (F12) does not work in scripts

I've noticed that in between two scripts (one loaded by the other), it would work only if both editors are open.
It works in VS2015 given VFPT is installed.

@smoothdeveloper single file projects created for scripts are eagerly removed as soon as the editor is closed. New project system will hopefully fix this.

@majocha thanks, do you know if it will work even without opening the loaded .fsx in the first place?

@smoothdeveloper No idea, but it's what I would expect.

https://github.com/Microsoft/visualfsharp/blob/master/vsintegration/src/FSharp.Editor/Navigation/GoToDefinitionService.fs#L339
It changes extension from fsx to fs and then fails to get the file because it doesn't exist.

Fixed in https://github.com/Microsoft/visualfsharp/pull/2855


Refactor GraphicsProvider and add APIs for creating Seequent EVO tilesets

This PR adds a new concept of TilesetCreators and UrlProviders:

The UrlProviders/ directory contains files with functions that call external services such as the mesh export service and Seequent EVO visualization service to retrieve urls to 3D tilesets
The TilesetCreators/ directory contains files with functions that create/initialize tilesets using these urls

A pair of new files in these directories are GeoscienceUrlProvider.ts and GeoscienceTileset.ts. GeoscienceUrlProvider.ts contains getGeoscienceTilesetUrl which retrieves a url to a 3D Tiles tileset.json from Seequent, as described above. GeoscienceTileset.ts contains createGeoscienceTileset which uses that url to create and attach a reality model using Viewport.displayStyle.attachRealityModel. These APIs are marked as @alpha because they are experimental in collaboration with Seequent.
It also adds a GraphicsProvider singleton class that is used to call the tileset creator functions, and adjusts some other APIs in frontend-tiles to react to these changes.
Used to be #6904. This is a copy of that branch with the display test app changes removed.

singleton class

Why?

singleton class

Why?

Good point, we can make the functions static so we won't need a singleton.
The idea of the class is to centralise the access and generation of 3d tilesets.

Why?

Good point, we can make the functions static so we won't need a singleton.

The class has been changed to have only static methods, and the singleton has been removed.


PixConverter .NET Core support.

Allow PixConverter to be used by .NET Standard projects via the System.Drawing.Common nuget package.

Apart from the refactoring (which should've been done as a separate commit or PR) the System.Drawing seems needed.

So... does that mean you are not going to merge the pull request?

@charlesw @groogiam Why is this not merged yet? It really just needs a System.Drawing.Common nuget package reference

Not sure whether it is possible to create pull request for pull request, so will just write it here. If this to be merged, NETFULL conditions should probably be removed from the following bitmap-related code too:

BitmapHelper.cs
ColorTests.cs
EngineTests.cs
LeptonicaPerfomanceTests.cs
TesseractEngine.cs

For anyone in a hurry, use Tesseract_463 in nuget. It seems a forked version of this repo with PixConverter applied. I've migrated .Net 4.7 to Core without any trouble with this.

Install-Package Tesseract_463 -Version <IP_ADDRESS>

Note that the tessdata should be this; https://github.com/tesseract-ocr/tessdata/releases/tag/3.04.00

FYI I've released a new package called tesseract.Drawing that pairs with
tesseract package to add support for bitmaps.
Does this solve your problems?
Note both are currently prerelease packages, target tesseract 4.1, and
require the vs 16 (2019) C++ runtime.
On Fri., 18 Oct. 2019, 19:57 YoungjaeKim<EMAIL_ADDRESS>wrote:

For anyone in a hurry, use Tesseract_463 in nuget. It seems a forked
version of this repo with PixConverter applied. I've migrated .Net 4.7 to
Core without any trouble with this.
Install-Package Tesseract_463 -Version <IP_ADDRESS>
Note that the tessdata should be this;
https://github.com/tesseract-ocr/tessdata/releases/tag/3.04.00
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/charlesw/tesseract/pull/463?email_source=notifications&email_token=AAB7HSBMTPWIIKT7QO5YR4LQPF3AZA5CNFSM4GYI6Z7KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBTN4ZY#issuecomment-543612519,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7HSFKJR3RECWL7EPIV73QPF3AZANCNFSM4GYI6Z7A
.


Error loading the ontology

Hi,
I tried to use owl2neo4j to import pizza ontology but I'm getting this error:
Checking Neo4J at http://localhost:7474... ?
Checking credentials for Neo4J... ?
Loading PIZZA... Error loading the ontology
null
Any suggestions on how to fix this?

Hi,
I got the same error

Me too.
Any help!!

@Khalefa I used https://github.com/jbarrasa/neosemantics and it perfectly worked for me

thanks !!

@nasrinazif Thanks for your link.
Just a question about it.
Can I implement an ontology in protege and import it to neo4j by neosemantics?

@narjesHN @nasrinazif
Please provide some more background information, i.e., which OS are you using, which version of owl2neo4j are you using etc. The tool works for me on macOS and linux.

@narjesHN @nasrinazif @Khalefa
Sorry this is simply a typo in the documentation. Make sure to pass in a path for the o parameter. The following works if pizza.owl is in the same directory as you are:
java -jar ~/Code/Owl2Neo4J/dist/owl2neo4j.jar -o ./pizza.owl -n "Pizza Ont" -a pizza

to check if the path is correct you can do:
[ -f ./pizza.owl ] && echo "Found" || echo "Not found"


Fix the application inputs

Improve the input fields in the application form to be smarter (ie: use conditions/booleans/etc..)

Merged with #42


[Self Registration REST API] Wrong Content-Type in Register User successful response

Moved from: https://wso2.org/jira/browse/IDENTITY-7373
Hi,
I'm using the Self Registration REST API (v0.9) of Identity Server 5.3.0.
This is what I added in <IS_HOME>/repository/conf/identity/identity.xml:
<SelfRegistration>
        <Enable>true</Enable>
        <LockOnCreation>true</LockOnCreation>
        <Notification>
            <InternallyManage>false</InternallyManage>
        </Notification>
        <ReCaptcha>false</ReCaptcha>
 </SelfRegistration>

The important thing here is that I have disable the internal management of the notifications because I want to manage it myself.
So when I use the Register User (https://localhost:9443/api/identity/user/v0.9/me) resource of the API it returns the Validation Code so I can handle it. But the Content-Type of the response is application/json and the body is a plain text. Here is an example:
HTTP/1.1 201 Created
Date: Thu, 14 Jun 2018 07:10:42 GMT
Content-Type: application/json
Content-Length: 36
Server: WSO2 Carbon Server

8ff16bfe-64d5-43a4-95b7-d9d2285a4936

When there is an error all goes well because in that case the Content-Type is application/json and the body is a JSON:
HTTP/1.1 409 Conflict
Date: Thu, 14 Jun 2018 09:46:19 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Server: WSO2 Carbon Server

{"code":"20030","message":"Conflict","description":"User test_user already exists in the system. Please use a different username."}

Maybe a simple solution could be include the Validation Code in a JSON:
HTTP/1.1 201 Created
Date: Thu, 14 Jun 2018 07:10:42 GMT
Content-Type: application/json
Content-Length: 36
Server: WSO2 Carbon Server

{"code":"8ff16bfe-64d5-43a4-95b7-d9d2285a4936"}

The same happens with the Resend Code (https://localhost:9443/api/identity/user/v0.9/resend-code) resource of the API. Here is an example of response:
HTTP/1.1 201 Created
Date: Thu, 14 Jun 2018 09:49:35 GMT
Content-Type: application/json
Content-Length: 36
Server: WSO2 Carbon Server

81279f88-ae62-454e-9520-838a1ea80364

Thanks!

I'm working on this issue.

Update: Fixing this issue will introduce a change in the existing API. It might break the flow in existing client applications due to the change in the API response.
Hence, it was decided to return the response as it is without changing it.
Code snippet related to this issue is located at wso2-extensions/identity-governance repository, in this line.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


fix(contrib/azure): bump load balancer timeout to 20 minutes

The default is only 4 minutes, which frequently is too short to
successfully deploy an application.
closes #3053

@timfpark Please sanity check me on this - I launched a cluster with this change and deployed a Ruby and NodeJS app without issue.

i just checked again and you are correct - this is supported.  sorry for the previous statement.

Weird that it's hardcoded in init, but exposed as a property later. Regardless code LGTM

Code LGTM.


Add Helm option to create RBAC allowing approval for all issuers

When a user creates a custom issuer, they'll currently need to give permission to approver-policy to approve CertificateRequests from that issuer, which will look something like the below:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: example-role
rules:
- apiGroups:
  - cert-manager.io
  resourceNames:
  - issuer.example.com/*
  resources:
  - signers
  verbs:
  - approve

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: example-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: example-role
subjects:
- kind: ServiceAccount
  name: cert-manager-approver-policy
  namespace: myns

It's possible to conjure situations where users might want to restrict these permissions, but for most users installing approver-policy it's reasonable for them to want it to be able to approve CRs from any issuer.
Maybe for security reasons we wouldn't want to default open (although we might yet consider defaulting open!), but we could at least add a Helm option to create an allow-all role which applies to approver-policy in this case.
/kind feature

I think I agree with this change, to (optionally) make things simpler for people using approver-policy with external issuers.
Is csi-driver-spiffe an example of a situation where not to enable this new setting?
In https://cert-manager.io/docs/usage/csi-driver-spiffe/#approver :

A distinct cert-manager approver Deployment is responsible for managing the approval and denial condition of created CertificateRequests that target the configured SPIFFE Trust Domain signer.
The approver will only manage CertificateRequests who request from the same IssuerRef that has been configured.


Keybindings not documented

I went to the Config menu and changed the keybindings to "sublime". But I have no idea how to eg. run the code with a keyboard shortcut now. Ctrl-Enter worked under the default setting, but not "sublime".
The only mention of keybindings in the help section seems to be about Ace, whose keybindings are documented on their wiki (even then, Ctrl-Enter is actually listed as "enter full screen").
Consider adding some information on keybindings either to the help text, below the editor, or as tooltips on the buttons.

I've been looking for this shortcut for a while, not knowing if there was any at all. My thanks to the OP, and so this confirms it's much needed.


Remove unnecessary maven dsl block

I think it's not needed, or is it?

It is not, thanks for the PR 😉


Use of normalization seems to be weird with hyperparameter tuning

Describe the bug
When we use reward normalization is expected that evaluations are done with original reward values. And this is actually done for training (train.py: lines 291-298). But evaluations in hyperparameter tuning seems to not have the same behavior.
During the hyperparameter tuning, If I use the option normalize: true in the configuration file, rewards are not normalized for the agents neither for the evaluation. And if I use the option normalize: "{'norm_obs':True, 'norm_reward':True}" rewards are normalized for both, the agent and evaluation.
Analysing the code the problem seems to be that after the lines 291-298 are executed, all the envs created with create_env (line 228) use the same normalization parameters. When using normalize: true variable normalize_kwargs is equal to {'norm_reward': False}, and when using normalize: "{'norm_obs':True, 'norm_reward':True}", normalize_kwargs is equal to the  {'norm_obs':True, 'norm_reward': False}.
Am I understanding right? Or am I missing something?
Code example
I'm using the following hyperparameter tuning example. The hyperparameter configuration is normalize: true
python train.py --algo ppo2 --env MountainCar-v0 -n 100 -optimize --n-trials 1 --n-jobs 1 --sampler tpe --pruner median

And this is the output:
========== MountainCar-v0 ==========
Seed: 0
OrderedDict([('ent_coef', 0.0),
             ('gamma', 0.99),
             ('lam', 0.98),
             ('n_envs', 16),
             ('n_steps', 16),
             ('n_timesteps', 1000000.0),
             ('nminibatches', 1),
             ('noptepochs', 4),
             ('normalize', True),
             ('policy', 'MlpPolicy')])
Using 16 environments
Overwriting n_timesteps with n=100
Normalizing input and reward
Creating test environment
Normalization activated: {'norm_reward': False}
Optimizing hyperparameters
Sampler: tpe - Pruner: median
Normalization activated: {'norm_reward': False}
Normalization activated: {'norm_reward': False}
[I 2020-06-20 15:51:06,742] Finished trial#0 with value: inf with parameters: {'batch_size': 32, 'n_steps': 2048, 'gamma': 0.999, 'lr': 0.1664672261412471, 'ent_coef': 0.010130230408794483, 'cliprange': 0.4, 'noptepochs': 5, 'lambda': 0.95}. Best is trial#0 with value: inf.
Number of finished trials:  1
Best trial:
Value:  inf
Params:
    batch_size: 32
    n_steps: 2048
    gamma: 0.999
    lr: 0.1664672261412471
    ent_coef: 0.010130230408794483
    cliprange: 0.4
    noptepochs: 5
    lambda: 0.95
Writing report to logs/ppo2/report_MountainCar-v0_1-trials-100-tpe-median_1592679066.csv

We can see that the envs created before the hyperparameter tuning are created as expected:
Normalizing input and reward
Creating test environment
Normalization activated: {'norm_reward': False}

But the envs created for the hyperparameter tuning does not use reward normalization:
Optimizing hyperparameters
Sampler: tpe - Pruner: median
Normalization activated: {'norm_reward': False}
Normalization activated: {'norm_reward': False}

System Info
I believe that the relevant information is that I'm using latest code version (commit fd9d38862047d7fd4f67be8eb3f6736e093eac9f).
Solution proposal
If you agree this is problem I can open a PR to provide a candidate solution. My idea is to move the code from lines 291-298 to the create_env function, relying on the eval_env parameter, as showed bellow:
            if normalize:
                local_normalize_kwargs = normalize_kwargs.copy()
                if eval_env:
                    if len(local_normalize_kwargs) > 0:
                        local_normalize_kwargs['norm_reward'] = False
                    else:
                        local_normalize_kwargs = {'norm_reward': False}

                if args.verbose > 0:
                    print("Normalization activated: {}".format(local_normalize_kwargs))

                env = VecNormalize(env, **local_normalize_kwargs)

Additional information
The problem seems to be present also in rl-baselines3-zoo. I can open a PR there as well.

Hello,
nice catch... but I'm only half surprised as I was modifying things by reference...
Please submit a PR with the fix you suggest ;)
In fact, there is an additional fix to do:
if args.eval_freq > 0 and not args.optimize_hyperparameters
the bug was introduced when I added the evaluation environment...
(once it is merge, you can do the same PR on the rl zoo3)

I fixed it there: https://github.com/DLR-RM/rl-baselines3-zoo/pull/22
I will do the PR for the zoo too.


New grammar breaks extension

VS Code version
Version: 1.93.0
Commit: 4849ca9bdf9666755eb463db297b69e5385090e3
Date: 2024-09-04T13:02:38.431Z
Electron: 30.4.0
ElectronBuildId: 10073054
Chromium: 124.0.6367.243
Node.js: 20.15.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 23.5.0

The new VS Code YAML grammar breaks the yaml-embedded-languages extension. I'm not sure why as installing your extension directly makes it work again. Do you know what could be the problem.

VSCode is still using an outdated version of the grammar
https://github.com/RedCMD/YAML-Syntax-Highlighter/commit/71a88711ec184b7dde5240c8f150ad3c2dbbd5f1 has the fix already
I was under the impression the changes had already gone through
but it seems I missed the pull update by a few hours https://github.com/microsoft/vscode/pull/224954
I doubt they will fix it in the next Recovery release
if you don't want to wait for the next full release
you could patch yours by consuming the whitespace before the block-scalar ([ \t]*)([|>])...
or temporary force my extension along with yours
"extensionDependencies": [
	"redcmd.yaml-syntax"
]

Do you know how long it will be until the next release?

First week of October I presume

Looks like it has been added to the August recovery https://github.com/microsoft/vscode/milestone/281

my changes just went through in VSCode


Show a message if the selected camera does not match the resolution

Hi, I have a USB camera with an available size of 640x480. This camera appears on the devices list but when it is selected, the preview uses my FaceTime HD camera. The default size for cameras in this example is 1280x720 I think.
Is it possible to get an OverconstrainedError in order to inform a user the selected device is not available for use?

Had a look at this again.
Generally when using the react components for selecting a device, we will not pass in the exact parameter.
I will take a look at adding this to the react package, but also check out https://github.com/livekit/components-js which includes the new package for react.

But I also have the same problem if I try to use the Web (JS/TS) version. Besides, in my final development, I am not using React.
When I use the API to create local tracks for video and microphone using createLocalVideoTrack, createLocalAudioTrack, or createLocalTracks, I never see the preview of my VGA camera selected on the select box unless I pass a preset to the method:
const track = await createLocalVideoTrack({
    deviceId: devicesIds.get('videoinput'),
    resolution: { width: VideoPresets.h540.width, height: VideoPresets.h540.height },
  });

Because there is no message or something in the console, the user will never know why a camera listed in the select box is not working.

try with
const track = await createLocalVideoTrack({
    deviceId: {exact: devicesIds.get('videoinput')},
    resolution: { width: VideoPresets.h540.width, height: VideoPresets.h540.height },
  });

hi, it works the same as my previous code:
const track = await createLocalVideoTrack({
    deviceId: devicesIds.get('videoinput'),
    resolution: { width: VideoPresets.h540.width, height: VideoPresets.h540.height },
  });

Both cameras now are connected with a 960x540 resolution. So, I assume we lose the possibility to use the HD camera with a bigger resolution.
By the way, I've tested the VGA camera alone with a mac mini in a firefox browser and after the browser request the device's permission, I was unable to view my preview.

ah sorry, I meant for you to try
const track = await createLocalVideoTrack({
    deviceId: {exact: devicesIds.get('videoinput')}
  });

the difference being that you provide exact for the device, so the resolution shouldn't take priority any more!

ok, that works for me. Thanks.

you're right, I opened https://github.com/livekit/client-sdk-js/pull/612 to address this


Callback support for the ini file

Currently, NNtrainer only supports the file type for the dataset in ini file. However, we also have the dataset API for the callback and It needs to be supported in ini file.
May be the format might be as below.
signature needs to be
typedef int (*my_data_gen_callback)(float **input, float **label, bool * last, void *user_data)

[train_set]
type = callback
path = my_data_gen.so
signature = my_data_gen_callback

:octocat: cibot: Thank you for posting issue #1923. The person in charge will reply soon.


figure out and document best organizational structure for repo

Including to make it a mkdocs site and to accommodate AUG and other workshops, and maybe other things I'm not thinking of at the moment

documented in #4


Ethabi cannot parse library with public function

Problem
It seems that ethabi cannot parse the ABI of a library contract with a public function (i.e. one that's intended to be linked)
This was originally reported in https://github.com/gakonst/foundry/issues/349.
Repro
pragma solidity >=0.7.6;

library LibTest {
    enum TestEnum {
        A,
        B,
        C
    }

    function foo(TestEnum test) public view {}
}

solc contract.sol --abi generates:
[{"inputs":[{"internalType":"enum LibTest.TestEnum","name":"test","type":"LibTest.TestEnum"}],"name":"foobar","outputs":[],"stateMutability":"view","type":"function"}]

And then doing
let abi = r#"[{"inputs":[{"internalType":"enum LibTest.TestEnum","name":"test","type":"LibTest.TestEnum"}],"name":"foobar","outputs":[],"stateMutability":"view","type":"function"}]
"#;
let abi: ethabi::Contract = serde_json::From_str(abi).unwrap();

panics with:
panicked at 'called `Result::unwrap()` on an `Err` value: Error("InvalidName(\"LibTest.TestEnum\")", line: 1, column: 167)

Diagnosis
The error originates in this match branch. Custom type names are seemingly not supported.
let result = match name {
			"address" => ParamType::Address,
			"bytes" => ParamType::Bytes,
			"bool" => ParamType::Bool,
			"string" => ParamType::String,
			"int" => ParamType::Int(256),
			"tuple" => ParamType::Tuple(vec![]),
			"uint" => ParamType::Uint(256),
			s if s.starts_with("int") => {
				let len = s[3..].parse()?;
				ParamType::Int(len)
			}
			s if s.starts_with("uint") => {
				let len = s[4..].parse()?;
				ParamType::Uint(len)
			}
			s if s.starts_with("bytes") => {
				let len = s[5..].parse()?;
				ParamType::FixedBytes(len)
			}
			_ => {
				return Err(Error::InvalidName(name.to_owned()));
			}

Solution
Can we assume that custom names that are not tuples are enums? If so, it could make sense to do _ => ParamType::Uint(8). I'm not sure that assumption is correct. It'd be nice if we could access the internalType inside Reader, since it contains the word enum.

Weird, there seems to be an inconsistency of ABI generated for a library vs a contract. Specifically if you s/library/contract then it generates an ABI with:
[
  {
    "inputs": [
      {
        "internalType": "enum ContractTest.TestEnum",
        "name": "test",
        "type": "uint8"
      }
    ],
    "name": "foo",
    "outputs": [],
    "stateMutability": "view",
    "type": "function"
  }
]

Can we assume that custom names that are not tuples are enums? If so, it could make sense to do _ => ParamType::Uint(8).

I think that's fine. However, I think we should first check if there are any other custom types that affect the type field in this way. Some that come to mind:

Structs
User defined value types

Structs get converted to tuple I believe, so they are caught earlier in the match statement.
User defined value types are zero-cost, so they all compile down to the native type (e.g. type A is uint256) generates uint256 in the ABI.

If so, it could make sense to do _ => ParamType::Uint(8).

this seems appropriate, but then every unknown identifier will be treated as uint8.
does it make sense to make two modes, like lenient and strict? as it's already used for the tokenziers

Yeah I guess the question is: Are there unknown identifiers which may NOT be uint8s?

Are there unknown identifiers which may NOT be uint8s?

My worry was that something like this:
pragma solidity >=0.8.10;
library L {
    type T is uint256
    function test(T t) public view {}
}

Would generate an ABI with:
[
  {
    "inputs": [
      {
        "internalType": "Test.Type",
        "name": "t",
        "type": "Test.Type"
      }
    ],
    "name": "test",
    "outputs": [],
    "stateMutability": "view",
    "type": "function"
  }
]

The good news, is that it doesn't:
// SPDX-License-Identifier: 0BSD

pragma solidity 0.8.11;

library Test {
    enum Enum { A }
    struct Struct { uint256 a; }
    type Type is uint256;
    function test(Enum x, Struct calldata y, Type z) public view {}
}

[
  {
    "inputs":[
      {
        "internalType":"enum Test.Enum",
        "name":"x",
        "type":"Test.Enum"
      },
      {
        "components":[
          {
            "internalType":"uint256",
            "name":"a",
            "type":"uint256"
          }
        ],
        "internalType":"struct Test.Struct",
        "name":"y",
        "type":"tuple"
      },
      {
        "internalType":"Test.Type",
        "name":"z",
        "type":"uint256"
      }
    ],
    "name":"test",
    "outputs":[

    ],
    "stateMutability":"view",
    "type":"function"
  }
]

So I think it should be OK to do this workaround. Maybe this is something we can point this out to the Solidity team as it feels like a solc bug.

cc @chriseth maybe can help here

from the abi-spec docs about the type field, which is "the canonical type of the parameter"

The canonical type is determined until a tuple type is reached and the string description up to that point is stored in type prefix with the word tuple

https://docs.soliditylang.org/en/v0.8.10/abi-spec.html#handling-tuple-types
which explains why structs with abiencoderv2 are always type: tuple, and user defined value types (type A is B) are merely aliases so their canonical type is their actual type (B).
but this doesn't explain why an enum is type: uint8 in contracts and type: <name> in libraries. judging by the docs it seems like it should be always type: <name> but since they're uint8 it would make more sense to always resolve them to uint8.
This feels like an inconsistency on solc's part.

Personally fine with us moving forward with assuming it's all u8's, think the fastest way to close the loop here is to make the change and find the edge downstream, if it exists

Public library functions are not meant to be called "from outside". This means the calling convention of public library functions is considered to be solidity-internal, in other words, they actually don't even have an ABI.
The effect is that the function hashes of library functions differ from function hashes of contract functions. IIRC the main differences are:

storage pointers are possible for library functions
structs, enums and contracts (!) are encoded by their name

the same applies recursively for compound types


check shell command invocation

/packit build

/packit build

Nice, it finally seems to work:
06:47:20.155 base_git.py       DEBUG  Running ActionName.post_upstream_clone.
Using user-defined script for ActionName.post_upstream_clone: [['bash', '-c', 'ls /*']]
06:47:20.155 base_git.py       DEBUG  Command handler: RunCommandType.sandcastle
Running command: bash -c ls /*

Output of the command in the sandbox:
/bin:
[
aclocal

The failure is actually ls: cannot open directory '/lost+found': Permission denied


Document compilation caching?

Describe your issue
I notice that Cython seems to have a ccache-like feature that is disabled by default and that does not seem documented.
https://github.com/cython/cython/blob/f3cad15100da00936b3ac31865c28d22eb95c108/Cython/Compiler/Options.py#L671-L672
Unless there is a definite reason for not expose it to end users (though it does seem tested), it would be nice to document it.

Hmm, right. That seems worth documenting. I can imagine that it can make a real difference for large projects, as it apparently did for Sagemath at the time (for which it seems to have been implemented).
There are two options: cache allows enabling the cache by setting it to either True or the path of a cache directory, and cache_size allows to change the maintained size of the LRU cache.

By the way, I'm not sure it's related, but I see a subdirectory .cython/inline on my machine, and the only file it contains seems to have been generated by 0.28a0. Is it failed experiment?

And if I add # cython: cache = True inside a source file, it seems ignored (nothing appears in .cython).

cythonize is a "do it all in one go" kind of tool, whereas cython (or python -m cython) is a "translate a single file and let me do the rest" tool. Both have their use cases.
And yes, it seems that cache is not available from the command line of the cython tool. It's a compile option, not a directive that you can set from a source file.
Unknown directives should get rejected, though, and not pass silently.

And yes, it seems that cache is not available from the command line of the cython tool. It's a compile option, not a directive that you can set from a source file.

Yes but it is more complicated. Cache is hardwired into cythonize code so it is not just adding new option to cython. We need to extract cache code to separate module and integrate it in both cython and cythonize or more deeper in common compilation code. Cannot tell right now what is better out of blue.

Cache is hardwired into cythonize code so it is not just adding new option to cython.

That makes sense, given the different nature and complexity of both tools.

It would be nice if some way of enabling cache from the cython command (or a global config file) was available.

I have created PR adding cache support to cython command - see #6091

Thanks a lot @matusvalo, this is great. I hope we can make good use of it in PyArrow.


3D grids in XArray are not supported

3D grids in XArray are not supported in Vapor when the grid is a set of x,y,z coordinates all of shape (nx,ny,nz).  When we create an XArray.DataArray instance with this type of grid and pass it on to Vapor we get the error "Unrecognized grid type for variable".  On the other hand, this grid type is supported in 2D - see the comment and attached demo in #3333, where we create a tilted 2D coordinate system.
Helpful additional information
(Please click check boxes AFTER submitting ticket)

[ ] Did VAPOR crash?
[x] Did you get wrong results?

Impact

[x] High - User productivity significantly degraded
[ ] Medium - User productivity partially degraded
[ ] Low - User productivity trivially degraded

To Reproduce
See attached Jupyter notebook with demo code exhibiting the behavior.
Expected behavior
Vapor should allow 3D grids for non-uniform coordinates via its XArray interface.
Attachments
xarray_to_vapor_structured_3d_grid_bug.ipynb.zip
Desktop

OS and version: macOS 12.5.1
Version: Vapor 3.8.0

Hi @acellison, the 3D grid you are generating is unsupported by Vapor. Vapor is specialized visualization software targeted at earth sciences data and as such only supports grids found in that field. XArray, on the other hand is a more generic library that supports a broader variety of data. Below is an example of how to create 2D and 3D curvilinear grids supported by vapor akin to ones found commonly in earth sciences data using XArray.
def gen2d(w,h,f):
    """Generate a 2D grid of size (w,h) by evaluating f(x,y) for every x,y coordinate"""
    ay = []
    for y in range(0,h):
        ax = []
        for x in range(0,w):
            ax += [f(x,y)]
        ay += [ax]
    return ay

def gen3d(w,h,d,f):
    """Generate a 3D grid of size (w,h,d) by evaluating f(x,y,z) for every x,y,z coordinate"""
    az = []
    for z in range(0,d):
        ay = []
        for y in range(0,h):
            ax = []
            for x in range(0,w):
                ax += [f(x,y,z)]
            ay += [ax]
        az += [ay]
    return az

w = h = d = 8
curveVar = xr.DataArray(
    gen2d(8,8,lambda x,y: y*8+x),
    dims=("x", "y"),
    coords={
        "x_coord": xr.DataArray(gen2d(8,8,lambda x,y: x), dims=("x", "y")),
        "y_coord": xr.DataArray(gen2d(8,8,lambda x,y: y), dims=("x", "y"))
    })

data.AddXArrayData("variable_2d", curveVar)

curveVar = xr.DataArray(
    gen3d(w,h,d,lambda x,y,z: z*w*h + y*w + x),
    dims=("x", "y", "z"),
    coords={
        "x_coord": xr.DataArray(gen2d(w,h,lambda x,y: x), dims=("x", "y")),
        "y_coord": xr.DataArray(gen2d(w,h,lambda x,y: y), dims=("x", "y")),
        "z_coord": xr.DataArray(gen3d(w,h,d,lambda x,y,z: z), dims=("x", "y", "z")),
    })

data.AddXArrayData("variable_3d", curveVar)


doc: Documentation issue in 'connectivity/networking/native_sim_setup'

Describe the bug
"Using offloaded sockets" case, only IPv6 TCP test case('./echo_client -t <IP_ADDRESS>') is working.
Need to revise the test scenario since only one TCP/UDP port, i.e., regardless of protocol family, is allowed to be binded on a single host for each protocol(IPv4 and IPv6 each).
In this example, "Using offloaded sockets" case, only IPv6 TCP test case is working at the moment.
Because both process_tcp6() and process_tcp4() is being called, IPv6 TCP socket(port 4242) is binded first and then IPv4 TCP socket(same port !, 4242), so IPv4 TCP socket bind failure happens.
Maybe, give some Kconfig option for IPv4 or IPv6 which is mutually exclusive could be an alternative.

One more thing is the tool('net-tools') should be built after fetching from the Git repository.
<< Please describe the issue here >>

'Using offloaded sockets' case, the test is working only for IPv6 TCP case.
'net-tools' should be built by running 'make' before running an 'echo-client' command.

<< You may also want to update the automatically generated issue title above. >>
Environment

Page: connectivity/networking/native_sim_setup
Version: main
SHA-1: 64ff60a870e30a6394e892666f98295db8b53940

This seems to be related to nsos, @mniestroj please take a look.


Update dev dependency @azure/functions to v4

https://github.com/unjs/nitro/pull/1767

Functions v4 uses a different function and binding declaration syntax so that functions are defined directly inside of the code instead of in the functions.json file. We should update the presets for azure and azure-functions to use the new Azure Functions syntax.


Add hindi Translations

Hindi translations added:
Add credits
Hindi by [Ayush Chauhan](https://github.com/ayushchauhan101)

Thanks @ayushchauhan101. Looks good but can you make two additions:

Translation is needed for levelWin at levels.js:1276.
Reorder the language menu to put #hi after #fa, and use the translated text हिंदी instead of Hindi.

One more issue I spotted was in levels.js:1141, the lv string is duplicated at the end of the line.

Pushed new changes.


[Error] Downloading stash for Hardcore

Using: Procurement.1.9.8-RC2
[18-03-2016 17:39] System.Runtime.Serialization.SerializationException: Expecting state 'Element'.. Encountered 'Text'  with name '', namespace ''.
at System.Runtime.Serialization.XmlObjectSerializerReadContext.HandleMemberNotFound(XmlReaderDelegator xmlReader, ExtensionDataObject extensionData, Int32 memberIndex)
at System.Runtime.Serialization.Json.XmlObjectSerializerReadContextComplexJson.GetJsonMemberIndex(XmlReaderDelegator xmlReader, XmlDictionaryString[] memberNames, Int32 memberIndex, ExtensionDataObject extensionData)
at ReadRootObjectFromJson(XmlReaderDelegator , XmlObjectSerializerReadContextComplexJson , XmlDictionaryString , XmlDictionaryString[] )
at System.Runtime.Serialization.Json.JsonClassDataContract.ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
at System.Runtime.Serialization.Json.JsonDataContract.ReadJsonValue(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator reader, String name, String ns, Type declaredType, DataContract& dataContract)
at System.Runtime.Serialization.XmlObjectSerializerReadContext.InternalDeserialize(XmlReaderDelegator xmlReader, Type declaredType, DataContract dataContract, String name, String ns)
at System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalReadObject(XmlReaderDelegator xmlReader, Boolean verifyObjectName)
at System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator reader, Boolean verifyObjectName, DataContractResolver dataContractResolver)
at POEApi.Model.POEModel.GetStash(Int32 index, String league, String accountName, Boolean forceRefresh)
[18-03-2016 17:39] JSON Serialization Failed: base64 bytes:
[18-03-2016 17:39] ZmFsc2U=
[18-03-2016 17:39] END
[18-03-2016 17:39] Error downloading stash for Hardcore, exception details: System.Exception: Downloading stash, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues and include your DebugInfo.log
at POEApi.Model.POEModel.logNullStash(Stream stream, String errorPrefix)
at POEApi.Model.POEModel.GetStash(Int32 index, String league, String accountName, Boolean forceRefresh)
at POEApi.Model.POEModel.GetStash(String league, String accountName)
[18-03-2016 17:39] System.Exception: Downloading stash for Hardcore, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues and include your DebugInfo.log
at POEApi.Model.POEModel.GetStash(String league, String accountName)
at Procurement.ViewModel.LoginWindowViewModel.LoadStashItems(Character character)
at Procurement.ViewModel.LoginWindowViewModel.d__25.MoveNext()
at System.Collections.Generic.List1..ctor(IEnumerable1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Procurement.ViewModel.LoginWindowViewModel.<>c__DisplayClass24_0.b__0()
at System.Threading.Tasks.Task.Execute()

Actually, it works after I deleted my level 2 hardcore character with nothing on it. It was moved from Talisman Hardcore to Standard Hardcore.

Interesting, sometimes old unused characters can return empty data from GGG.
Procurement 1.9.8 has been released, please open a new issue if you have any further problems.
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.8


cups-idprt: init 1.4.2

Description of changes
Closes https://github.com/NixOS/nixpkgs/issues/306560
Adds IDPRT label printer drivers.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

CI recommended I put this in pkgs/by-name/cu/cups-idprt/package.nix instead of pkgs/misc/cups/drivers/cups-idprt/default.nix. Can I confirm that this is preferred?

Just E2E tested. It works!

Result of nixpkgs-review pr 308317 run on x86_64-linux 1

1 package built:

cups-idprt

Is there any way to get the bot to stop removing my printing label?

Is there any way to get the bot to stop removing my printing label?

I dont know, sorry

Result of nixpkgs-review pr 308317 run on x86_64-linux 1

1 package built:

cups-idprt

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3972

Result of nixpkgs-review pr 308317 run on x86_64-linux 1

1 package built:

cups-idprt

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/1671

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/hp-laserjet-1018-was-working-but-stoped-working/45767/11

^ accidentally linked wrong thing by mistake. ctrl+c didn't copy :|

I can't seem to get the open-source stuff to work. I'm writing my own filter, but in the meantime, I'm reverting this to the proprietary version.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/4392


tormak.SteamArtManager version 2.3.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

This application closes immediately in a Windows 11 VM. I couldn't find a logging location.

**Logs:**
Please upload/paste the contents of your log file (you should remove any sensitive information like keys).
**PRE v2.2.0**:
For Windows, check: `C:\Users\USER\AppData\Roaming\dev.tormak.steam-art-manager\logs\steam-art-manager.log`
For Linux, check: `/home/USER/.config/dev.tormak.steam-art-manager/logs/steam-art-manager.log`
**NEWER VERSIONS**:
For Windows, check: `C:\Users\USER\AppData\Roaming\dev.tormak.steam-art-manager\logs\core.log`
For Linux, check: `/home/USER/.config/dev.tormak.steam-art-manager/logs/core.log`

These locations per the issue template for this program on github https://github.com/Tormak9970/Steam-Art-Manager/blob/main/.github/ISSUE_TEMPLATE/bug_report.md

Ah, thank you.
The only log file generated was core.log, and it only had 1 line:

[Steam Art Manager] [20:45:6] [INFO]: Initialized logging file


VSCode extension does not work when using yarn PnP

UnoCSS version
0.58
Describe the bug
VSCode extension is not working when install unocss with yarn, the UnoCSS console output:
⚠ Error on loading config. Config directory: c:\App\vite-ts\vite-project
Error: Cannot find module 'unocss'

it is normal when using npm

Reproduction
yarn create vite vite-project --template vanilla
cd vite-project
yarn add unocss

add a basic unocss config
import { defineConfig, presetAttributify, presetUno } from 'unocss';

export default defineConfig({
    presets: [
        presetUno(),
    ],
});

open the project in VSCode
System Info
No response
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

This should relate to Yarn PNP, I see TailwindCSS extension will try to load the .pnp.js
https://github.com/tailwindlabs/tailwindcss-intellisense/blob/master/packages/tailwindcss-language-server/src/server.ts#L580

I have not reproduced this problem in the latest version. Please provide a more detailed reproduction demo.

The issue is with the use of Yarn PnP specifically. When using PnP, all packages are zipped and made available on demand within the runtime, so there is no node_modules folder. Consequently, the extension cannot find the unocss module.
Other plugins integrate with the concept of Editor SDKs to get the dynamic dependency loading features, but the UnoCSS extension seems to load the uno.config.ts file in the VS Code context, after which the import {..} from "unocss" line (predictably) fails.
Stacktrace from the VS Code log:
⚪ UnoCSS for VS Code v0.58.8

📂 roots search mode.

-----------
🛠 Resolving config for /d/Development/Digital Lab/Design Framework
⚠ Error on loading config. Config directory: /d/Development/Digital Lab/Design Framework
Error: Cannot find module 'unocss'
Require stack:
- /d/<path>/uno.config.ts
	at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
	at Function.resolve (node:internal/modules/cjs/helpers:127:19)
	at _resolve4 (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:33588:36)
	at jiti2 (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:33653:30)
	at /d/<path>/uno.config.ts:2:15
	at evalModule (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:33704:15)
	at jiti2 (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:33667:20)
	at loadConfigFile (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:90176:13)
	at async Object.load (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:90102:24)
	at async loadConfig (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:90239:18)
	at async reloadConfig (/home/Floris/.vscode-server/extensions/antfu.unocss-0.58.8/dist/index.js:90291:20)
🗂 Enabled context: [none]

does your project empty spaces in the path? it seems you're using Windows, bad combination using spaces or accents in the path.

While, yes, the example above did have spaces in the path, the same issue with the exact same tracelog appears when running in a directory without spaces, or even when running on macOS.

Tested, have same issue.
No special characters in path.
MacOS 14.3.1
Node 20.5.0
Yarn 3.6.0

Actually, even vite.config.ts fails without UnoCSS:

So this is not UnoCSS error.

This is probably caused by not using the proper PnP Editor SDK: https://yarnpkg.com/getting-started/editor-sdks. Installing this will let VS Code resolve the PnP dependencies, instead of looking in node_modules.


The "Try a native installer" links are broken

https://github.com/edvin/fxlauncher#try-a-native-installer
links to
http://fxsamples.tornado.no/CRMApplication-1.0.exe
which returns a 404.

Hi Chris,
Thanks for bringing it to my attention. The links have been fixed now.


[18.09] buildRustPackage: fix regex for separating lib and bin

This is the backport of #48020 (cc @erictapen).
I just started running some builds with these changes to see if it actually breaks/fixes things.
Motivation for this change
E.g. exa was wrongly put into /lib, as it matches

  .*.a

but not

  .*\.a

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Fits CONTRIBUTING.md.

I think this was already backported in 5647e9ae4ea3c918807d4e4fa3bee566a48c2f47, see also https://github.com/NixOS/nixpkgs/pull/48020#issuecomment-430151673.

ahh right, it now is within the staging game.. I should have checked more precisely.


SyncVar with Hook, must not be called, before OnClientStart

Hi guys! I spend 2 days to find problem in my code! As result, problem was not im my code, problem was in design hooks works!
Code like this:
	class Car : NetworkBehaviour{

	}

	class User : NetworkBehaviour{

		[SyncVar(hook="CarChanget_Hook")]
		GameObject car_go;
		Car car;

		void CarChanget_Hook(GameObject old, GameObject setCarGo){
			var setCar = setCarGo ? setCarGo.GetComponent<Car>() : null;
			SetNewCar(setCar);
		}

		// this code can be called on server and client too...
		void SetNewCar(Car setCar){
			car = setCar;
			car_go = car ? car.gameObject : null;
		}
	}

That code wrong!
In current workflow we will lose link to car_go in some situations, like this:
if hierarchy on unity scene we be like this:
Car
User
All work fine, because, when mirror call CarChanget_Hook, and setCarGo actually exists! All work as expected!
But, if hierarchy was like this:
User
Car
We get wrong behaviour, and lose car_go! Because when Mirror call CarChanget_Hook, car GameObject actually not created now! As result, setCarGo will be "null"
Under "mirror hood" its actually not null, mirror have uint with right GameObject - ID, but, unity GameObject actually not created now!
And when we reset to new car_go in this code:
car_go = car ? car.gameObject : null;
we lose mirror id...
Sorry my english, i expect, you can understand the problem...
I think, call any hook's before call OnStartClient its wrong design, because no all objects actually created!
right code for this example will be like this:
       class Car : NetworkBehaviour{

	}

	class User : NetworkBehaviour{

		[SyncVar(hook="CarChanget_Hook")]
		GameObject car_go;
		Car car;
		private bool wasStartClient;

		void OnStartClient(){
			wasStartClient = true;
			CarChanget_Hook(null, car_go);
		}

		void CarChanget_Hook(GameObject old, GameObject setCarGo){
			if (!wasStartClient)
				return;
			var setCar = setCarGo ? setCarGo.GetComponent<Car>() : null;
			SetNewCar(setCar);
		}

		// this code can be called on server and client too...
		void SetNewCar(Car setCar){
			car = setCar;
			car_go = car ? car.gameObject : null;
		}
	}

or, if we make public clientStarted in netIdentity we can do so:

class Car : NetworkBehaviour{

	}

	class User : NetworkBehaviour{

		[SyncVar(hook="CarChanget_Hook")]
		GameObject car_go;
		Car car;

		void OnStartClient(){
			CarChanget_Hook(null, car_go);
		}

		void CarChanget_Hook(GameObject old, GameObject setCarGo){
		        if (!netIdentity.clientStarted)
		                 return;
			var setCar = setCarGo ? setCarGo.GetComponent<Car>() : null;
			SetNewCar(setCar);
		}

		// this code can be called on server and client too...
		void SetNewCar(Car setCar){
			car = setCar;
			car_go = car ? car.gameObject : null;
		}
	}

and this work! but, one problem is: if we forgot do this check:
       if (!netIdentity.clientStarted)
		 return;

we can get wrong behaviour! as result we need spend more attention on any hooks...
Will be nice, add functionality to disable calling hooks, before OnStartClient called!
mirror_manager.AllowCallHooksBeforeClientStart(false);
thanks!

This is actually a known race condition with GO's in SyncVars, and order in hierarchy may not even cure it 100%, which is why we strongly suggest not using GO's in SyncVars.  If the object isn't already spawned on the client, it will fail.  This could be due to NetworkVisibility, sequence and timing, and other reasons.
If you make the SyncVar an int and set it the the netId of the object, then your hook can see if it's in NetworkIdentity.spawned and if not start a coroutine to keep looking for it until it appears.


Add scale_info::TypeInfo derives

Required for work on https://github.com/paritytech/substrate/discussions/8370, used in branch https://github.com/paritytech/substrate/compare/aj-metadata-vnext.

Happy for this to be merged/released now, so I can remove the patch for it in my substrate PR

Ok for me to merge this now @andresilva?


Add publish rate limit for each broker to avoid OOM

Fixes #5513
Motivation
Through #3985, user could set the publish rate for each topic, but the topic number for each broker is not limited, so there is case that a lot of topics served in same broker, and if each topic send too many message, it will cause the messages not able to send to BookKeeper in time,  and messages be hold in the direct memory of broker, and cause Broker out of direct memory.
Modifications

add broker publish rate limit base on #3985,
add unit test.

Verifying this change
unit test passed.

I am not sure if we really have OOM issue. I think I left a comment on #5513 and trying to understand how can we reproduce it.?

@rdhabalia commented at #5513 with the instructions to reproduce.

Thanks @rdhabalia and @sijie for the attention on this.

run java8 tests

updated with latest master to resolve conflict.

run java8 tests
run integration tests

ping @rdhabalia :)

@sijie opened new issue to track it.

@sijie @jiazhai I have gone through the change and I have also put some comments and concern at #5513 . can you check if that makes sense?

@rdhabalia I just replied to your comment in #5513. so this change here is using the mechanism you added for namespace rate limiter. what it basically does is having a rate calculator at broker level and piggyback the rate limiting by checking if publish exceeds a certain rate threshold (both namespace setting and broker setting). It is a pretty simple change that piggyback to your mechanism. why is this a concern to you?

run cpp tests

run integration tests


Units with Psychic Species and Psychic Rules Raise Error

There's a bug in the validation code that checks if a unit with the Psychic Species xenos rule already has the Psychic xenos rule. When a unit has both, it complains that only Psychic units can have Psychic Species:

But when the unit doesn't have Psychic:

Took a look and seems likes there's a double negative in Validation.ts
const isPsycher = !unit.xenosRules.some((x) =>
  ['Psychic 1', 'Psychic 2', 'Psychic 3', 'Psychic 4'].includes(x)
);

And later:
if (
  (unit.xenosRules.includes('Psychic Species 1') ||
    unit.xenosRules.includes('Psychic Species 2') ||
    unit.xenosRules.includes('Psychic Species 3')) &&
  !isPsycher
)
  warnings.push([unit.name, 'Only a psychic unit can take Psychic Species!']);

Simple fix is to change line 22 to remove the negation:
const isPsycher = unit.xenosRules.some((x) =>
  ['Psychic 1', 'Psychic 2', 'Psychic 3', 'Psychic 4'].includes(x)
);

I'll submit a pull request in a bit, unless you beat me to it.

Thanks for the pull request.


Inject ceph grafana dashboard layouts

This change just adds the task to inject from the
ceph dashboard mgr module the required layouts
to show all the cluster metrics on the grafana
instance.
Signed-off-by: fmount<EMAIL_ADDRESS>

Do we still need to install the ceph-grafana-dashboard packages on non containerized deployment ?
https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-grafana/tasks/configure_grafana.yml#L2-L11

Not sure about non containerized deployments: I'll conduct more tests and then I'll update the PR accordingly.
I think this task can handle both cases (endpoint and api should be available at that point), hence I suggest removing the package install task after some tests.

@dsavineau since we're now able to inject grafana layouts using the mgr dashboard module command, do you think we can remove this task [1] and the related template [2] ?
[1] https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-grafana/tasks/configure_grafana.yml#L53-60
[2] https://github.com/ceph/ceph-ansible/blob/master/roles/ceph-grafana/templates/dashboards-ceph-dashboard.yml.j2

I honestly don't know if we still need this.
But currently the dashboard update command is failing
  stderr: |-
    Error EINVAL: Traceback (most recent call last):
      File "/usr/share/ceph/mgr/mgr_module.py", line 915, in _handle_command
        return self.handle_command(inbuf, cmd)
      File "/usr/share/ceph/mgr/dashboard/module.py", line 414, in handle_command
        push_local_dashboards()
      File "/usr/share/ceph/mgr/dashboard/grafana.py", line 132, in push_local_dashboards
        retry()
      File "/usr/share/ceph/mgr/dashboard/grafana.py", line 89, in __call__
        result = self.func(*self.args, **self.kwargs)
      File "/usr/share/ceph/mgr/dashboard/grafana.py", line 127, in push
        grafana.push_dashboard(body)
      File "/usr/share/ceph/mgr/dashboard/grafana.py", line 53, in push_dashboard
        raise GrafanaError("Could not connect to Grafana server")
    GrafanaError: Could not connect to Grafana server

I see this issue and now I'm able to reproduce it.
I partially solved in the last commit fixing the Vagrantfile static ip address assignment that was the same for both mgr and grafana instance (preventing to connect to the real grafana container).
So basically now I see:
[vagrant@mgr0 ~]$ ip -o -4 a | grep eth1
3: eth1    inet <IP_ADDRESS>/24

[vagrant@grafana0 ~]$ ip -o -4 a | grep eth1
3: eth1    inet <IP_ADDRESS>/24

and we're ok.
Unfortunately, during the last role execution (ceph-dashboard) the fact related to the grafana_server_addr is overwritten and set to the mgr ip address, resulting in the following grafana-api-url configuration:
[root@mon0 /]# ceph dashboard get-grafana-api-url
http://<IP_ADDRESS>:3000

that is wrong and prevent to execute the ceph dashboard grafana dashboards update command successfully.

jenkins test pipeline

jenkins test pipeline

jenkins test dev-centos-container-all_daemons


Fix/incorrect description

Fixed incorrect description of 'field keys' (Resolves #1841)

Cleaned up in #1904


Add duty claims form

Fixes #222

Pull Request Test Coverage Report for Build 1780

3 of 3 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 89.587%

Totals

Change from base Build 1755:
0.06%

Covered Lines:
456

Relevant Lines:
509

💛  - Coveralls


API consumer + Automatic smart contract fund Eth + Link (draft)

Description
Concise description of proposed changes, We recommend using screenshots and videos for better description
Additional Information

[ ] I have read the contributing docs (if this is your first contribution)
[ ] This is not a duplicate of any existing pull request

Related Issues
Closes #{issue number}
Note: If your changes are small and straightforward, you may skip the creation of an issue beforehand and remove this section. However, for medium-to-large changes, it is recommended to have an open issue for discussion and approval prior to submitting a pull request.
Your ENS/address:

Lgtm


Enable custom plugins through patch-operator

Context

#50 makes it possible for other components to patch the plugins field. To make manual syncing in Argo CD obsolete while continuing to allow other components to patch the plugins, the plugins configured in this component through the params should be converted to a patch.
Example:
parameters:
  openshift4_console:
    config:
      plugins:
        - example-plugin

apiVersion: redhatcop.redhat.io/v1alpha1
kind: Patch
metadata:
[...]
spec:
  patches:
    patch1:
      patchTemplate: "\"spec\":\n  \"plugins\":\n  - \"example-plugin\""
      patchType: application/strategic-merge-patch+json
      targetObjectRef:
        apiVersion: operator.openshift.io/v1
        kind: Console
        name: cluster
[...]

Alternatives

Only manage plugins in this component
Require manual syncing when enabling plugins through this component

Implementation notes
When implementing this, please verify that the generated name for the Patch resource managed by this component differs from the name of the Patch resource for the Console object which is managed by component openshift4-logging.

Not required anymore, since patching the plugins field doesn't work correctly regardless of which patch type we're using (cf. #52)


Pipe: Increase the injection frequency of HeartBeatEvent to reduce the delay in log transferring

As title.

coverage: 47.762% (-0.01%) from 47.772% when pulling 6038b58ef4bd39c7e1321d9aff6eb611747a7199 on heartbeat-event into 3073fe63bc3a0c4b9ab77a7c589caea1ebd936b7 on master.


Content images: default placement

thoughts @aschmoe @lukefretwell (they'll be able to move them around w panels)
I think Option A will give us a little more flexibility on agency pages #33, see http://pattern.getproudcity.com/?v=&page=agency-content
Option A

Option B

I think the only reason to do option B would be to do a DCPL style multiple image approach... which is cool, but seems like they don't even use it.
I'm voting for option A

+1 option A for me too

+1

Settled on option A for images.
Switching topics: what do you guys think about the Press Releases header in the jumbotron?

Leave it as a jumbotron (maybe reduce the padding)
Change it to a page title (http://pattern.getproudcity.com/index.php?v=&page=agency-content)
Get rid of it (they can see that they're in the Press Releases section with the breadcrumb

Get rid of it (they can see that they're in the Press Releases section with the
breadcrumb

Feel like this is not the solution what about utilizing the sidebar method like # 2

@jlyon @lukefretwell  see http://pattern.getproudcity.com/index.php?v=&page=01-page for update.

I like it.

Put sidemenu below content on mobile.

Done. Still feel like something is missing here...


tabbed panes

all panes have tabs now! tabs are cool.
you can set which active tab you want when opening panes
you can disable tabs when opening panes
validation/error pane is completely revamped to take advantage of this
all panes are now the same width
panes set their heights when opening so switching tabs won't jump them around

All panes have tabs:

Panes may have an optional "dynamic tab" that allows arbitrary styling and sits on the right:

You can specify which tab is active when opening the pane, as well as disabling certain tabs:

👍


[One-Plans] [Billing-Radio] From Input Radio to Button

Change from using  to button. It should stay visually and functionally the same as before, but now if you inspect the element, they should contain daa-ll information. It could also make more sense semantically.
Note that the "last header" part of the daa-ll tag might not make sense, but it would require authoring changes due to tabs unique structure, so we are good for now.
Resolves: https://jira.corp.adobe.com/browse/MWPW-144036
Test URLs:

Before: https://stage--express--adobecom.hlx.page/express/pricing?lighthouse=on
After: https://billing-radio-button--express--adobecom.hlx.page/express/pricing?lighthouse=on

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

Project coverage is 36.67%. Comparing base (25eb484) to head (8a66935).
Report is 1 commits behind head on stage.

Additional details and impacted files
@@            Coverage Diff             @@
##            stage     #740      +/-   ##
==========================================
+ Coverage   36.43%   36.67%   +0.23%
==========================================
  Files         132      132
  Lines       25713    25700      -13
==========================================
+ Hits         9369     9425      +56
+ Misses      16344    16275      -69

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

waiting for this PR https://github.com/adobecom/express/pull/743 to go in stage. Then this PR can be rebased on stage and further simplified


js[patch]: make evaluate,traceable importable from top-level

match python sdk
make our most-used classes and functions more easily accessible

@dqbd , any concerns around import paths here?

pretty sure that moving evaluate and traceable into root will cause bundling issues for browser environments

Gotcha ya then maybe we can't land


Finalize/Refine CRC Cards

Refine the CRC Cards
Make sure they follow the object-oriented design
Cohesive Classes and Coupling management
Keep updating CRC Cards

CRC CARDS:

Update the CRC Cards:
Feedback on Project Part 2 from TA: "here is a comment for CRC card for project part II. You did not lose any marks, but something to consider when creating the UML. A class for database connection should be added for the separation of concern"
To Do:
Add CRC Card for Database

Updated CRC Cards (Including DataBaseController CRC Card):
IngredientStorage:

Json Code:
[
{
"name": "IngredientStorage",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keep track of ingredients",
"Edit already existing ingredients",
"Delete already existing ingredients",
"Sort list of ingredients "
],
"collaborators": [
"Ingredient",
"Recipe",
"MealPlan ",
"ShoppingList",
"DatabaseController",
""
]
}
]

RecipeBook:

Json Code:
[
{
"name": "RecipeBook",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keeps track of all the Recipes",
"Edit existing Recipes(including Ingredients)",
"Delete existing Recipes",
"Sort the list of Recipes(by title, preparation time, number of servings, or recipe category)"
],
"collaborators": [
"Recipe",
"MealPlan",
"DatabaseController"
]
}
]

MealPlanController:

Json Code:
[
{
"name": "MealPlanController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Record information about recipes/ingredients, serving amounts, and the dates the recipes/ingredients are planned for",
"Provide function to display information about current meal plan",
"Add recipes/ingredients,serving amounts, and associated date",
"Remove recipes/ingredients,serving amounts, and associated date",
"Provide a function to calculate the total ingredients required for the mealplan by using the function from Recipe and taking into account serving size."
],
"collaborators": [
"Recipe",
"Ingredient",
"ShoppingList",
"DatabaseController"
]
}
]

DatabaseController:

Json Code:
[
{
"name": "DatabaseController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Get Firebase Instance ID",
"Making a Collection",
"Adding an Item",
"Editing an Item",
"Deleting an Item"
],
"collaborators": [
"IngredientStorage",
"RecipeBook",
"MealPlanController",
"MainActivity",
"LoadingPageActivity"
]
}
]

@richeek05  MealPlan only interacts with MealPlanController right?

@richeek05 I've added an uodated MealPlan crc card to the wiki. Please update the MealPlanController with:
"collaborators": [
"RecipeBook",
"IngredientStorage",
"ShoppingList",
"DatabaseController"
]
before posting the updated version to the wiki

Shopping Cart:

Json Code:
[
{
"name": "ShoppingCartFragment",
"superclasses": "FoodBit",
"subclasses": "",
"type": 1,
"responsibilities": [
"List shopping waitlist of ingredients",
"Show description of ingredients with amount, unit and category",
"Sort shopping list by description or category",
"Show the shopping list amount change(empty or not)",
"Remind meal planner to complete ingredients details(location, actual amount and unit)",
"",
""
],
"collaborators": [
"ShoppingCartAdapter",
"IngredientStorage",
"MealPlanController"
]
},
{
"name": "ShoppingCardAdapter",
"superclasses": "Foodbit",
"subclasses": "",
"type": 1,
"responsibilities": [
"{ add it into shopping list } { reminded user finish actual amount}",
"if the meal plan includes ingredients which not in storage of the ingredients",
"if the meal plan includes ingredients in the storage of the ingredients but not enough",
""
],
"collaborators": [
"ShoppingCartFragment",
"Ingredient",
"IngredientStorage",
"MealPlanController"
]
}
]

Ingredient:

[
{
"name": "Ingredient",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"- keeps track of ingredient description",
"- keeps track of ingredient best before date",
"- keeps track of ingredient location",
"- keeps track of ingredient amount",
"- keeps track of ingredient unit",
"- keeps track of ingredient category"
],
"collaborators": [
"IngredientStorage",
"MealPlan ",
"Recipe",
"ShoppingList",
"DatabaseController"
]
}
]
IngredientStorage:

[
{
"name": "IngredientStorage",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keep track of ingredients",
"Edit already existing ingredients",
"Delete already existing ingredients",
"Sort list of ingredients ",
"Add new ingredients"
],
"collaborators": [
"ShoppingList",
"DatabaseController",
""
]
}
]

[
{
"name": "IngredientUnit",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keeps track of different units ingredients can have that are in the database",
"Units can have a name and an id"
],
"collaborators": [
"IngredientUnitController"
]
}
]

[
{
"name": "IngredientCategory",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keep track of different categories ingredients can have that are in the database",
"Categories can have a name and an id"
],
"collaborators": [
"IngredientCategoryController"
]
}
]

]
{
"name": "IngredientLocation",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keeps track of different locations that ingredients can have and are in the database",
"Locations can have a name and an id"
],
"collaborators": [
"IngredientLocationController"
]
}
]

[
{
"name": "IngredientCategoryController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Add new category to database",
"Remove existing category from database",
"Load categories from database"
],
"collaborators": [
"IngredientCategory",
"DatabaseController"
]
}
]

[
{
"name": "IngredientUnitController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Add new unit to database",
"Remove existing unit from database",
"Load units from database"
],
"collaborators": [
"IngredientUnit",
"DatabaseController"
]
}
]

[
{
"name": "IngredientLocationController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Add new location to database",
"Remove existing location from database",
"Load location from database"
],
"collaborators": [
"IngredientLocation",
"DatabaseController"
]
}
]

[
{
"name": "RecipeController",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Keep track of all the Recipes",
"Add a new recipe",
"Edit existing recipes (including ingredients)",
"Delete existing recipes",
"Sort the list of recipes (by title, preparation time, number of servings, or recipe category)"
],
"collaborators": [
"Recipe",
"MealPlanController",
"DatabaseController"
]
}]

[
{
"name": "Recipe",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Record information about a recipe including its title, preparation time, number of servings, recipe category, comments, photograph, and list of ingredients",
"Add ingredients with a brief description, amount, unit, and ingredient category",
"Delete an ingredient from the recipe",
"Check if the entries are valid",
"Provide a list of needed ingredients"
],
"collaborators": [
"RecipeController",
"Ingredient"
]
}
]

[
{
"name": "ShoppingCartFragment",
"superclasses": "FoodBit",
"subclasses": "",
"type": 1,
"responsibilities": [
"List shopping waitlist of ingredients",
"Show description of ingredients with amount, unit and category",
"Sort shopping list by description or category",
"Show the shopping list amount change(empty or not)",
"Remind meal planner to complete ingredients details(location, actual amount and unit)",
"",
""
],
"collaborators": [
"ShoppingCartAdapter",
"IngredientController",
"Meal plan"
]
}]

[  {
"name": "ShoppingCardAdapter",
"superclasses": "Foodbit",
"subclasses": "",
"type": 1,
"responsibilities": [
"{ add it into shopping list } { reminded user finish actual amount}",
"if the meal plan includes ingredients which not in storage of the ingredients",
"if the meal plan includes ingredients in the storage of the ingredients but not enough",
""
],
"collaborators": [
"ShoppingCartFragment",
"Ingredient",
"IngredientController",
"MealplanController"
]
}]

[
{
"name": "ShoppingCartPickedItemFragment",
"superclasses": "",
"subclasses": "",
"type": 1,
"responsibilities": [
"Add picked ingredient's amount to ingredient storage"
],
"collaborators": [
"ShoppingCartFragment",
"Ingredient",
"IngredientController"
]
}
]


Issue with revoking client

Describe the issue
When I use the menu option to revoke a client I do not believe the revocation is being fully implemented
To Reproduce
Add client [test1], revoke test1, then go to add test1.  Scripts says that test1 already exists
Expected behaviour
All data relating to test1 should have been removed as part of the revocation process
Server if applicable):
Azure Ubuntu 18.04
Client (if applicable):
Ubuntu 20.04 VM

Just realised the is another thread covering this.

Just realised the is another thread covering this.


AWS Cloud9 Tutorial

Hi, thanks so much for this tutorial, it is eye-opening for Lambda beginners like me. I'm Cloud9 user for years and recently Cloud9 was bought by Amazon, as you probably know. It is interesting, that first real change in Cloud9 was Lambda integration.
There are videos like this and this with some basic info, but it would be great if you could create a branch of this tutorial for Cloud9 users, so we can see how to instead of serverless framework use Cloud9 built-in Lambda tools.

Thanks for reply @jayair ! What do you mean when you say "a bit tricky"? I would be interested to know what can or can't be achieved with/without Serverless Framework. It would be great info for beginners like me.
There are two nice tutorials also AWS site: AWS Lambda Tutorial and Advanced AWS Lambda Tutorial but I just started with your tutorial and I'm still a bit confused 😄
Anyway thanks again for this great tutorial!

@kosirm Serverless Framework gives you a simpler way to create the resources we go through in the tutorial. They definitely can be done without it but as your project grows more complex it becomes harder to manage them on your own.

Thanks @jayair