Update sbt-mdoc to 2.2.13

Updates org.scalameta:sbt-mdoc from 2.2.12 to 2.2.13.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "sbt-mdoc" } ]

labels: sbt-plugin-update, semver-patch

Codecov Report

Merging #317 (5e6a3b9) into master (161a1e5) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #317   +/-   ##
=======================================
  Coverage   84.56%   84.56%
=======================================
  Files         106      106
  Lines        1276     1276
  Branches       25       25
=======================================
  Hits         1079     1079
  Misses        197      197

Continue to review full report at Codecov.

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


support parallelism with multi-threaded model

Right now core have Tasks and Processes which support concurrency (interleaving) but not parallelism.
Given that JS developers have web workers, I think elm should have an API for multithreading.
I know that web workers only got supported recently and shared web workers are still not supported in IE/Edge and Safari but this shouldn't stop Elm from adding parallelism.
If not via multithreading then some other model for parallelism ?

Questions/discussion like this are not the purpose if this issue tracker. Please ask on the mailing list instead.
http://elm-lang.org/community


Add storybook deployments with chromatic

Description
https://github.com/Developer-DAO/web3-ui/pull/63 except on a branch within the repo

closed in favor of #80


Feature/sqlcmd - ADS changes to enable SQLCMD

Changes contain

A button to enable disable sqlcmd mode on query editor task bar.
Once the mode is enabled, the query containing sqlcmd variables run successfully and show no Intellisense (parity with SSDT). We will later on improve the Intellisense in sqlcmd mode.
Once disabled - the Intellisense starts showing again and quers use normal run path an give errors for sqlcmd syntax.

Please note that this PR is blocked on Icons and SqlToolsService update (all icons used here are placeholders), so will not come into this release, but wanted to get an initial opinion.

I don't understand most of these changes. So sqlcmd is implemented as another language flavor, which seems correct, but why then do we have a special action on the taskbar to activate it? I feel like this should be either auto activated by the backend, or just treated like another language flavor.

Hey @anthonydresser the reason for the button is  - its not really a different language. User can add new variable in a script and it will become a sqlcmd script. So we need to have manual capability to turn it on and off... based on what user wants.. that's why the button.
We are trying to achieve behavior up to SSDT. We can definitely mature it in future to auto parse at changes to enable/disable (but I worry that might be little confusing for visual effect of editor intellisese)


Lidar not working and unable to generate map

Please provide the following information:

OS: (e.g. Ubuntu 22.04)
ROS Distro: (e.g. Humble)
Built from source or installed: Installed

I am trying to generate a map via this link:
https://turtlebot.github.io/turtlebot4-user-manual/tutorials/generate_map.html
I expect to be able to see the map when I run it on my PC (after having run the Pi commands)
I run this on the Pi:
ros2 launch turtlebot4_navigation slam.launch.py
I run this on my PC:
ros2 launch turtlebot4_viz view_robot.launch.py
The robot does not move in rviz when I move it around the room. It does not update. It stays as this screen

Additionally, I am trying to test the lidar per these instructions in case this was a part of the problem and it doesn't work.
https://turtlebot.github.io/turtlebot4-user-manual/software/sensors.html
I run:
ros2 launch turtlebot4_bringup rplidar.launch.py
I get this error:
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2023-10-07-07-08-47-672227-ubuntu-1702
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [rplidar_composition-1]: process started with pid [1703]
[rplidar_composition-1] [INFO] [1696662528.259146560] [rplidar_composition]: RPLidar running on ROS2 package rplidar_ros. RPLIDAR SDK Version:2.0.0
[rplidar_composition-1] [ERROR] [1696662532.316764718] [rplidar_composition]: Error, operation time out. SL_RESULT_OPERATION_TIMEOUT!
[ERROR] [rplidar_composition-1]: process has died [pid 1703, exit code 255, cmd '/opt/ros/humble/lib/rplidar_ros/rplidar_composition --ros-args -r __node:=rplidar_composition --params-file /tmp/launch_params_gkmetfkb'].

@sardanian Can you check the output of sudo dmesg when you connect the RPLIDAR to the USB port? Can you also test connecting it to different USB ports?

Closing due to inactivity.  Please feel free to re-open if issue persists.


Reapply pr 694

@cyli noticed that somehow pull request #694 disappeared when we released Engine 1.13. I have no explanation at all, but this patch re-applies it.

LGTM on green - thanks for fixing this quickly @mstanleyjones!

Failure is unrelated. merging.


Requesting Clarification on support for NAA-SSO.

Hello Microsoft,
I hope you are doing well.
I just wanted to ask for some clarifications on your FAQ related to the channel schedules.
My question/request is, can we please also add the other versions of Office/Outlook? Like :

Outlook 2016
Outlook 2019
Outlook 2021
Outlook 2024

The above versions are using lifetime/long-term licenses. Which of these versions will support NAA-SSO as well?
Thank you very much.

Hi @glr0221,
I apologize for the late response here. You can find a list of all platforms supported on Outlook and versions in the Nested app auth req set article. Unfortunately we can't backport NAA to some of the older versions such as Outlook 2016 and 2019. But we are looking to support Office 2024 LTSC at some point. We'll update the article as new platforms are supported.
You can use the NestedAppAuth req set to check if an Outlook client supports NAA. If it doesn't there are fallback mechanisms you can use. We've documented how to use fallback in the following samples.

Outlook add-in using SSO through NAA
Outlook add-in NAA with fallback for trident (IE11) support

Cheers,
David


Please consider replacing hardcoded student IDs in the Seed the Database section with live values

Description
Hi
In the Seed the database section (here) new Enrollment entities are created using hardcoded (assumed) StudentID like in the following line:
new Enrollment{StudentID=1,CourseID=1050,Grade=Grade.A},
instead, the live ID can be used by just refering to the student entity by refering to its index in the array defined before:
new Enrollment{StudentID=students[1].ID,CourseID=1050,Grade=Grade.A}
This method makes the solution more futureproof and opens it to a new experiments like using GUIDs instead of autogenerated IDs etc.
Page URL
https://learn.microsoft.com/en-us/aspnet/core/data/ef-rp/intro?view=aspnetcore-9.0&tabs=visual-studio
Content source URL
https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/data/ef-rp/intro.md
Document ID
fa488196-1f98-08ea-adcc-17d9dac86727
Article author
@tdykstra
Related Issues

Thanks for the suggestion. We'll implement it the next time we update the tutorial.


Invalid literal for int() with base 10: NO_DATA_FOUND (scale_pct)

Error handling for NO_DATA_FOUND doesn't seem to work on fresh Windows installs
Python 3.11.8
Windows 11 Pro 24H2 26058.1400, Lenovo Thinkbook 15 G2 ITL (Tested on 2 PCs, one fresh format)
Traceback (most recent call last):
  File "c:\ctk_theme_builder-3.0.1\temp\BUILD\ctk_theme_builder\ctk_theme_builder.py", line 79, in <module>
    controller = ControlPanel()
                 ^^^^^^^^^^^^^^
  File "c:\ctk_theme_builder-3.0.1\temp\BUILD\ctk_theme_builder\lib\control_panel_v.py", line 158, in __init__
    control_panel_scale = mod.scaling_float(scale_pct=self.control_panel_scaling_pct)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "c:\ctk_theme_builder-3.0.1\temp\BUILD\ctk_theme_builder\lib\ctk_theme_builder_m.py", line 468, in scaling_float
    scaling_float = int(scale_pct.replace("%", "")) / 100
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: 'NO_DATA_FOUND'

Hi @KitOakenPurple.
Could you please zip up the contents of the ctk_theme_builder\log directory and provide uploads them.
Thanks, Clive

Hi, thanks for looking into this. The log file doesn't say much, so I've zipped up the full directory (without venv) as well in case any other useful information is in here.
I've added pause to ctk_theme_builder.bat to read the error.
ctk_theme_builder.zip

Hi @KitOakenPurple. I can't see an installation log. I am guessing that you unzipped the ZIP file and tried to run the app somehow. If this is the case it won't work. You need to follow the Installing & Upgrading CTk Theme Builder guidance.

Apologies, I understand the mix-up. I followed the install process, but launching build_app.bat from theme_builder_setup.py hung without response (waited ~15 minutes), so I tried running theme_builder_setup.py after extracting the ZIP.
Fresh install of Python seemed to fix this. Closing the issue, sorry again for the hassle!

Apologies, I understand the mix-up. I followed the install process, but launching build_app.bat from theme_builder_setup.py hung without response (waited ~15 minutes), so I tried running theme_builder_setup.py after extracting the ZIP.
Fresh install of Python seemed to fix this. Closing the issue, sorry again for the hassle!

Not a problem. I'm pleased you got it working - happy theme building!


Add teleop_tools doc&source jobs

Please insert your entry in correct alphabetical order.

Thanks for the note, fixed now.
I guess I was absent on alphabetical ordering class in primary school :)


code documentation

Code documentation for all files.
First phase: GoDoc comments on 61 files.

I feel this should wait until package refactoring is committed, then merged back to "doc-enriched" branch.

Will resolve #303

Very nice work!
Do you think we could standardise the comment format? For example, the documentation format for utils.go/PrivateToPoint is quite nice, 1) What the function does, 2) explain the logic if needed (optional?), 3) Parameters, 4) Returns. Imo this is nicer to work with than the documentation format for rpc/chain.go/Syncing

@aquental I think it is now required to merge the current state of main branch to your working branch - as the structure has changed significantly.


Media placeholder alignment with Wear Compose 1.3

https://github.com/google/horologist/pull/1487#discussion_r1265156243
Breaks the Media placeholder alignment

From https://github.com/google/horologist/pull/1487/files#diff-6307879931c3545eb75c2866054402ee30707a9b0e190e22b724b5434124789d

Fixed


tycmd list does not show Teensy submodel

On your readme you define that tycmd list should show:
add 34130@usb-1-2 Teensy 3.1
add 29460@usb-4-2 Teensy
for me it shows just:
add 1241320-Teensy Teensy (USB Serial)
add 3677880-Teensy Teensy (USB Serial)
TyCommander shows right Teensy 3.6 or Teensy 3.2.
Should tycmd also show submodel 3.x?

Hi,
The main problem is that, until recently, the submodel could only be known while the Teensy was in bootloader mode.
TyCommander uses a cache, stored on disk, to retain the precise model for each board (using the serial number) after is has seen the bootloader info at least once.
I've never added the ability to use this cache to the command-line version.
However, for boards programmed with Teensyduino 1.42+, there is a way to get the model without the bootloader. I've published a new version (0.8.10) that can use this feature, both in TyCommander and tycmd.

Still, it's not perfect because the Teensy 3.2 can be detected as 3.1 (software-side they are identical).
I'm keeping this open because I'd like to add cache support to tycmd eventually.

Thanks, I'll check that.
But does that actually make any difference, if I use Platform IO for creating hex files?
On the other hand can I see model, If I have empty Teensy on some port?

I just checked and PlatformIO includes Teensyduino 1.41, so it won't work.
You can either ask whoever maintains the Teensy package for PlatformIO to update it, or overwrite the teensy3 core code with newer ones.

OK.
But how does it actually read device info? Does it somehow read the flash content.

There are two ways to get version information from a Teensy:

in bootloader mode, the usage value in the HID report descriptor has a specific value for each model
since Teensyduino 1.42, the bcdDevice in the USB device descriptor has a specific value for each model (in most modes)

Thanks. Platform IO has now Teensyduino 1.44 so it seem to return model information.
Two more questions:

If I have board running and no serial to open it, should it also show "upload" under "capabilities".
On TyCommander there is also "bootload" command to force device to bootloader. Could that be also on TyCmd? The difference is that it could then return device interface "halfkay" ID.

An other question:
On TyCmd JSON output you return e.g.  "interfaces": [["Serial", "\.\COM14"]] . Shouldn't that actually be:
"interfaces": [{"Serial":"\.\COM14"}] ?

Also \ should be escaped -> "interfaces": [{"Serial":"\\.\COM14"}]

Better late than never I hope.
There may be (at least theoretically) duplicate interface names, hence the use of nested arrays instead of JSON objects for interfaces.
OTOH, I've fixed JSON string escaping in the latest commit. You can find a Win64 build here:
https://koromix.dev/files/tytools
You can use "tycmd reset -b" to go in bootloader mode.


switch arm to use gnueabihf

Looks like we should be good now:
pi@raspberrypi3:/tmp $ pip install curl_cffi-0.6.1.tar.gz
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing ./curl_cffi-0.6.1.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
    Preparing wheel metadata ... done
Collecting cffi>=1.12.0
  Using cached https://www.piwheels.org/simple/cffi/cffi-1.16.0-cp39-cp39-linux_armv7l.whl (367 kB)
Requirement already satisfied: certifi in /usr/lib/python3/dist-packages (from curl_cffi==0.6.1) (2020.6.20)
Collecting pycparser
  WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/pycparser/pycparser-2.21-py2.py3-none-any.whl
  Using cached https://www.piwheels.org/simple/pycparser/pycparser-2.21-py2.py3-none-any.whl (119 kB)
Building wheels for collected packages: curl-cffi
  Building wheel for curl-cffi (PEP 517) ... done
  Created wheel for curl-cffi: filename=curl_cffi-0.6.1-cp38-abi3-linux_armv7l.whl size=81384 sha256=5ef4abedcb145d003b957caf15501b0c85e8edea1affa5c2ebd9c691d79a756f
  Stored in directory: /home/pi/.cache/pip/wheels/20/9e/ed/9483649865051342a72f27fdc6d48f3978792446292291a5c7
Successfully built curl-cffi
Installing collected packages: pycparser, cffi, curl-cffi
Successfully installed cffi-1.16.0 curl-cffi-0.6.1 pycparser-2.21

Ah but then:
pi@raspberrypi3:/tmp $ python3
Python 3.9.2 (default, Mar 12 2021, 04:06:34)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import curl_cffi
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/pi/.local/lib/python3.9/site-packages/curl_cffi/__init__.py", line 18, in <module>
    from ._wrapper import ffi, lib  # type: ignore
ImportError: libcurl-impersonate-chrome.so.4: cannot open shared object file: No such file or directory
>>>

pi@raspberrypi3:/tmp $ ls ~/.local/lib
libcurl-impersonate-chrome.a  libcurl-impersonate-chrome.la  libcurl-impersonate-chrome.so  libcurl-impersonate-chrome.so.4  libcurl-impersonate-chrome.so.4.8.0  python3.9

Yes, the delimma here is that:

If we put the dynamic libs inside /usr/local/lib or some other system path, it would require root when installing.
If we put them inside ~/.local/lib, we have to set LD_LIBRARY_PATH at runtime.

Do you have better suggestions?

Any chance we can statically link against libcurl? There are .a files in the tarball so I'd imagine we could make the wrapper statically link against it?

Good point, we should link to the .a files.


typo: Double word "the"

@nschonni : Thanks for your contribution! The author, @mikejo5000, has been notified to review your proposed change.

thank you @nschonni for the edits.


A better design than ConsumerGroupStream you should try!

ConsumerGroupStream is hard to (and I believe it's impossible to correctly) use with commit being manually managed.
After working with it for several weeks I decided to to made a better design, namely ConsumerGroupPipeline, now available at https://github.com/thynson/kafka-pipeline. Which supports:

Reliable offsets commit, only commit mssages that have actually been consumed.

Concurrently consume. Yes, messages can be concurrently consumed while offset is still correct!

While I maintained it as a separated package now, I'm appreciated that if it could be adopt into the kafka-node.

whoa, @thomaslee and @aikar are both trying to solve a similar problem.
Thank you for sharing this @thynson. I hope to take a look at it in detail later.

Nice! I'll check this out sometime this week.
In the meantime, #1071 has my own proof of concept and @aikar raised an issue over in #975 with some of his own ideas.


Getting Started with Karpenter

Can we provide a separated getting started guide for installing Karpenter on existing EKS cluster, otherwise customer need spends lots of time on the initialization

If you have a cluster already, you can follow the getting started guide and just modify the instructions to match your cluster.

I agree that's a good place to start for now. But I'm working on a "bring-your-own-cluster" Karpenter getting started guide. I'm going to try to devote some time to it this week.


I want to open external websites inside vscode

I want to utilize my Ultrawide monitor and use vscode as browser as well. for ex: I want to open stackoverflow.com or google.com but seems this extension does not support external websites.

Simple browser supports external websites within the editor https://github.com/microsoft/vscode-livepreview/issues/187#issuecomment-1086896479

That's because, for pages like google, they cannot be shown in an iframe due to cross-origin rules, and we use an iframe within a webview to show website content in Simple Browser and Live Preview. See here for more info: https://stackoverflow.com/questions/8700636/how-to-show-google-com-in-an-iframe

That's what I am talking about.
All external websites (google.com, stackoverflow.com, ...) cannot be open
either in liverpreview or simple browser
We need to have these features, we need to have a real browser inside
vcode, that way developers can open vscode full screen on ultrawide
monitors and use it for coding, debugging and browsing documentation,
stackoverflow.com and anything else without leaving vscode.
Using an iframe is a very old trick that needs to get rid of.
On Thu, 22 Sept 2022 at 20:11, Andrea Mah @.***> wrote:

That's because, for pages like google, they cannot be shown in an iframe
due to cross-origin rules, and we use an iframe within a webview to show
website content in Simple Browser and Live Preview. See here for more info:
https://stackoverflow.com/questions/8700636/how-to-show-google-com-in-an-iframe
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/vscode-livepreview/issues/343#issuecomment-1255315532,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABIMCDM5KZ3KDYMRJDIN2LV7SHN3ANCNFSM6AAAAAAQQBVHXA
.
You are receiving this because you authored the thread.Message ID:
@.***>

We're currently not planning to offer that in Simple Browser, since websites like those are not meant to be embedded in other web content/applications.
In Live Preview, the purpose is to use the server that is offered with the extension, so something like that isn't our focus.

@muhammadnasr I am trying to find a solution for the same problem. This was a feature that was present in the deprecated
Browser Preview and it looks like there are several others that are interested but they want us to use Simple Browser even though it does not solve the problem #187. The only solution I've found is Antfu's Browse Lite. It's not perfect, but hope this helps.

@brandonhaire This is great.
It works.


Fix infinite loop for Layout/SpaceAroundBlockParameters with EnforcedStyleInsidePipes: :space

Layout/SpaceAroundBlockParameters cop has an infinite loop with EnforcedStyleInsidePipes: :space.
Example
# test.rb
{}.each { |a, b| puts [a, b] }

# .rubocop.yml
Layout/SpaceAroundBlockParameters:
  EnforcedStyleInsidePipes: space

$ rubocop -a --only SpaceAroundBlockParameters
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/parser-<IP_ADDRESS>/lib/parser/lexer.rb:10836: warning: assigned but unused variable - testEof
Infinite loop detected in /tmp/tmp.CmY2asB9rc/test.rb.
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:256:in `block in iterate_until_no_changes'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:252:in `loop'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:252:in `iterate_until_no_changes'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:223:in `do_inspection_loop'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:126:in `block in file_offenses'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:144:in `file_offense_cache'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:124:in `file_offenses'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:112:in `process_file'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:89:in `block in each_inspected_file'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:86:in `each'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:86:in `reduce'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:86:in `each_inspected_file'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:76:in `inspect_files'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/runner.rb:48:in `run'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/cli.rb:174:in `execute_runner'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/cli.rb:75:in `execute_runners'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/lib/rubocop/cli.rb:47:in `run'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/exe/rubocop:13:in `block in <top (required)>'
/home/pocke/.rbenv/versions/trunk/lib/ruby/2.7.0/benchmark.rb:308:in `realtime'
/home/pocke/.rbenv/versions/trunk/lib/ruby/gems/2.7.0/gems/rubocop-0.65.0/exe/rubocop:12:in `<top (required)>'
/home/pocke/.rbenv/versions/trunk/bin/rubocop:23:in `load'
/home/pocke/.rbenv/versions/trunk/bin/rubocop:23:in `<main>'
Inspecting 1 file
C

Offenses:

test.rb:2:12: C: [Corrected] Layout/SpaceAroundBlockParameters: Space before first block parameter missing.
{}.each { |a, b| puts [a, b] }
           ^
test.rb:2:15: C: [Corrected] Layout/SpaceAroundBlockParameters: Space after last block parameter missing.
{}.each { |a, b| puts [a, b] }
              ^

0 files inspected, 2 offenses detected, 2 offenses corrected

And test.rb is converted to:
# test.rb
{}.each { |a                                                                                , b | puts [a, b] }

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[ ] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Thanks!


[BUG] ContainerResourceLimits set at Namespace level do not work if there are no values set for ContainerDefaultResourceLimits at Project level

SURE-7255
Rancher Server Setup

Rancher version: 2.7.6

Describe the bug

In the Rancher UI  Select a Project -> Edit config -> Under 'Resource Quotas' section, set CPU and Memory limits and requests.

Once this is done, by-default the project YAML will have 'containerDefaultResourceLimit' set to empty and 'namespaceDefaultResourceQuota' set to the provided values.

After this Select a Namespace under the same Project -> Edit config -> Under 'Container Resource Limit' section set the values for respective resources.

Post this if you try creating a pod in that namespace, it will show this error:

Error from server (Forbidden): error when creating "ubuntu.yaml": pods "ubuntu" is forbidden: failed quota: default-bsf6l: must specify limits.cpu for: ubuntu; limits.memory for: ubuntu; requests.cpu for: ubuntu; requests.memory for: ubuntu

If we remove the 'containerDefaultResourceLimit: {}' line from the project YAML and try re-creating the pod, it works just fine.

As per https://ranchermanager.docs.rancher.com/how-to-guides/advanced-user-guides/manage-projects/manage-project-resource-quotas/set-container-default-resource-limits#:~:text=You can set a default,containers created in that namespace., "container resource limit is set at a project level, the parameter will be propagated to any namespace created in the project after the limit has been set. For any existing namespace in a project, this limit will not be automatically propagated. You will need to manually set the default container resource limit for any existing namespaces in the project in order for it to be used when creating any containers."

In this case, it is an existing namespace and we are not setting any values for container resource limits at Project level instead we are setting the container resource limits manually at the Namespace level and still the pod fails to run.

Note: If the entire thing is done via rancher API (PUT https:///v3/projects/) everything works as expected.
To Reproduce
above
Result
ContainerResourceLimits set at namespace level (for an existing namespace) are not working if the ContainerResourceLimits at project level are configured with no values.
Expected Result
If we are setting container resource limits at namespace level for an existing namespace then it should work even when there are no container resource limits set at project level.
Workaround:
If we remove the 'containerDefaultResourceLimit: {}' line from the project YAML and try re-creating the pod, it works just fine.

I would like an loe on this. Reporter is asking about timeline.

I was able to reproduce in v2.9.1 so the issue is still there. Here's what I've found.
The logic of completeLimit seems flawed, assuming we're trying to get all project limits and override them by the namespace limits..
Here's a simple example to showcase the issue.
func TestCompleteLimit(t *testing.T) {
        projectLimits := &v32.ContainerResourceLimit{}
        nsLimits := &v32.ContainerResourceLimit{
                LimitsCPU: "10m",
        }

        // Output: &{   } <nil>
        fmt.Println(completeLimit(nsLimits, projectLimits))

        // Output: <nil> <nil>
        fmt.Println(completeLimit(nsLimits, nil))
}

The first case is what happens when following the steps listed in the issue. The project limits stays empty and only the namespace limits are set. We calculate the set of limit wrong (afaik) and an empty object limit is returned. This in turn results in no LimitRange being created in the namespace.
The second case shows what happens when the user works around this by removing the  'containerDefaultResourceLimit: {}' line from the project. This makes it nil, which later on just uses the namespace limits to create the LimitRange.

@tomleb, thanks for taking a look. I also tried debugging this, and I agree with your findings.
In completeQuota's for loop, we are ignoring any fields specified in the override that aren't present in the project-wide limit range. So the override already isn't fully working because its new fields are discarded. Not sure if it's by design or not.
Further, since the project-wide limit range is empty (has no fields), it's missing any fields from the override, so the final limit range also has no fields. And thus we never create the limit range, which is the main bug. Just because the project doesn't define a default limit range, doesn't mean Rancher should ignore the override provided on a per-namespace basis.
I agree on your assessment of the situation in the second case. This behavior makes sense to me. It's also a fine workaround for now.


feat: better thread utilization for informer start

reaplced by: https://github.com/java-operator-sdk/java-operator-sdk/pull/1755


Gird Items come out of the layout

Hi, i have another question.
Why when i move grid items, the item that is under salt up to overcome the grid layout?
Is there a way to fix the grid items so that they never leave their "border"?
Thank you so much,
Matteo

Same issue..:(

@mperu92,
I had same issue. The issue was because of the width I set for layout. I have a left nav of 60px and I was setting the layout width to window inner width. So the content of my layout were placed outside when I drag the items.
Try adjusting the layout width to the width of the container. It should solve your issue.
Happy Codding!!

Thank you, but when i specificly have to change the width? This is the code for my GridLayout
import { Responsive, WidthProvider } from 'react-grid-layout';
const ResponsiveGridLayout = WidthProvider(Responsive);

...

 <ResponsiveGridLayout
            onLayoutChange={(currentLayout, allLayouts) => this.onCustomLayoutChange(currentLayout, allLayouts)}
            className="layout"
            layouts={layouts}
            breakpoints={{
                lg: 1200, md: 996, sm: 768, xs: 480, xxs: 0,
            }}
            cols={{
                lg: 12, md: 10, sm: 6, xs: 4, xxs: 2,
            }}
            autoSize
            // verticalCompact
            draggableHandle=".MyDragHandleClassName"
            onDragStart={e => this.onDragStart(e)}
            onDragStop={e => this.onDragStop(e)}
            compactType="vertical"
          >

If i change the breakpoints value nothing happens

Hi, i found not a solution but a workaround inside onCustomLayoutChange method
onCustomLayoutChange(currentLayout = undefined, allLayouts = undefined) {
 // some code...
 const { lg, md, sm, xs, xxs } = allLayouts;
   if (lg) {
            const values = [];
            let lgHasNegative = false;
            lg.map(((value) => {
              if (value.y < 0) {
                values.push({ x: value.x, y: value.y });
                lgHasNegative = true;
              }
                return value;
            }));
            if (values.length > 0 && lgHasNegative) {
                values.map((value) => {
                    lg.map(((v) => {
                        if (v.x === value.x) {
                            v.y = v.y - value.y;
                        }
                    }));
                });
            }
        }
   if (md) {
           // same here etc
   }
}

Using this way grid items get out of the contaier in the "transition phase", but they fall inside on it when the event is over.
I hope it helps!


Extend the bounds of the Bangkok and Yangon overlap

Changed 98.3 to 98.2 in the Asia/Bangkok-Asia/Yangon allowed overlap bounds.

Thanks. I'll take a closer look when a new release will need to occur.

I ended up doing this in https://github.com/evansiroky/timezone-boundary-builder/commit/7dee3569619b3dd61e1e0044c902424d0fbb16f1. Thanks for the report!


[feature request] event to detect image target transform change

There's already an event to detect when an image target is found or lost, but it would be nice to also have an event that fires if the image target's position, scale or rotation changes. "ontransformchange", or something like that. It would probably fire all the time. But I'm thinking it would be more efficient than using requestanimationframe or tick or tock.
The use case here is that I do not place the content inside the a-entity, but rather I'm just polling the entity to get the transform every frame and apply it somewhere else. And event like "ontransformchange" would be useful.

added in v1.2.1 https://github.com/hiukim/mind-ar-js/commit/7740932205a0bb9591d3b99ea2610cc0a1d4fb2d


Need to update the contact_us page

Currently,

Contact Us
Find answers to common questions asked by xPRO learners in the MIT xPRO Help Center.
For other support questions, please submit your question here.

For now, replace with:

Find answers to common questions asked by Micromasters learners in the MITx MicroMasters Help Center.

with links to:
https://mitx-micromasters.zendesk.com/hc
and
https://mitx-micromasters.zendesk.com/hc/requests/new


wip! get ubuntu to use dark variant

The issue seems to be xvfb. I just tried Xtightvnc instead and that also didn't work.


Phil api integration

can you see what the search page carousel does on android?

Will try it now


Build Failure (Android Studio 3.6.2, Gradle: 5.6.4) (ERROR: Unable to find method 'org.gradle.api.tasks.TaskInputs.file)

ISSUE: Build is failing on latest Android Studio

Android Studio version: 3.6.2
Gradle (from gradle-wrapper.properties): 5.6.4

Changes did

project/build.gradle: classpath 'com.android.tools.build:gradle:3.6.2' (instead of 3.0.1)
app/build.gradle:  added buildToolsVersion '27.0.3'
quality.gradle: changed destination("path") to destination file("path")
gradle-wrapper.properties: distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

Tried Clean build, Invalidate cache and restart but not working.

Similar Answers on Google/StackOverflow suggest downgrading the gradle version in distributionUrl to lower version but can't do it as minimum supported gradle version for latest android studio is 5.6.4

Error Message
ERROR: Unable to find method 'org.gradle.api.tasks.TaskInputs.file(Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

Well, I couldn't find a solution to this particular issue after struggling for days. It seems to me that other users are not facing this exact issue as some users have open new issues(which is related to something else) after the creation of this issue in Apr2020.
So, today I just thought of deleting the whole repo and downloading it again. Surprisingly, it worked this time 👍 . I tried clean build, invalidate cache and restart earlier but that didn't work.
Closing this issue.

Well, I couldn't find a solution to this particular issue after struggling for days. It seems to me that other users are not facing this exact issue as some users have open new issues(which is related to something else) after the creation of this issue in Apr2020.
So, today I just thought of deleting the whole repo and downloading it again. Surprisingly, it worked this time 👍 . I tried clean build, invalidate cache and restart earlier but that didn't work.
Closing this issue.


Copy of code with line numbers includes line numbers

Currently line numbers are included if one wants to copy the code. It would be really nice if those line numbers would be excluded. Take GitHub code display as an example where line numbers are excluded from selecting any code lines.

Which theme are you using? The hl-gutter class should have the following CSS:
.hl-gutter {
    …
    user-select: none;
}

Sorry, my bad, wrong version...


Improving the QuickStart

Hi,
It looks like you have a really great project here, but it's been really tough to get going because there's a lot assumed in the example.  Once I found #8 and added the necessary imports, I finally had a working example.
It'd be great to see full working examples that can be copy-pasted.  It lowers the barrier to entry.
Quick Start:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using RestEase;
using Newtonsoft.Json;

namespace SampleApp
{
    public class User
    {
        public string Login;
        public int Id;
        public string Url;
    }

    [Header("User-Agent", "RestEase")]
    public interface IGitHubApi
    {
        [Get("/users/{userId}")]
        Task<User> GetUserAsync([Path] string userId);
    }

    public class Program
    {
        public static void Main()
        {
            var api = RestClient.For<IGitHubApi>("https://api.github.com");
            var user = api.GetUserAsync("canton7").Result;
            Console.WriteLine("Login: {0}, ID: {1}, URL: {2}", user.Login, user.Id, user.Url);
            Console.ReadLine();
        }
    }
}

Not sure if anything is gained with the more verbose property declarations in User:
    [JsonProperty("login")]
    public string Login { get; set; }

In any case, keep up the great work!

Sure, I'm always in favour of improving the docs.


Ripple converted to dollars

I tried doing a simple transfer to an exchange  from my desktop wallet and there were several options of how i would like to send it there was no option to send ripple so i choose USD thinking it was just refrencing the value or something, turns out it sold at a price i didn't want and i kinda got screwed what why wasn't ripple an option to send it seems different each time i use the wallet

I am learning that the ripple wallet is probably one of the worst wallets created. Very confusing nobody understands it and there is no support to help when problems arise. XRP will be a thing of the passed with all these new coins hitting the market with much more stable wallets.


plugins from supportFile not loaded

My cypress.config.ts file contains the line
    supportFile: 'tests/cypress/support/e2e.ts',

But the import statements in that file
import '@cypress/code-coverage/support';
import 'cypress-plugin-tab';
import 'cypress-file-upload';

All of them do not seem to be loading. Am I doing something wrong?

@batje thanks for reporting. Can you help me with more context about the problem? like cypress and typescript configurations, or maybe a reproduction if possible.

I tried setup a project from scratch, and of course that project works exactly as it should. I cant introduce the bug there, so it's probably mine. sorry to have bothered you.


interpolate version from pom into appengine-web.xml bug

After downloading the angular-seed project the js is stored in ./bower_components however the pom.xml expects the js to be stored in ./lib
if the file: pom.xml is changed as shown below the mvn install is successful
    <?xml version="1.0" encoding="UTF-8"?>
    .
    .
    .
<!-- The pom.xml is defined as shown below -->
    <resource>
        <directory>${basedir}/angular-seed/app/lib/angular</directory>
        <filtering>false</filtering>
        <targetPath>lib/angular</targetPath>
    </resource>

   <!-- The pom.xml should be defined as shown below -->
    <resource>
       <directory>${basedir}/angular-seed/app/bower_components</directory>
       <filtering>true</filtering>
       <includes>
          <include>**/*.js</include>
        </includes>
        <targetPath>lib</targetPath>
    </resource>

Sorry for the late reply. I will look into it shortly.


Illegal memory access CUDA

If I remove --image_size 512 then I no longer get this error. Running on a Titan X (12 Gb of video memory).
python train.py --checkpoint 2000 --style_image styles/illusion.jpg --batchsize 4 --output illusion --gpu 0 --dataset datasets/mscoco/train2014 --image_size 512
num traning images: 82783
20695 iterations, 2 epochs
/home/jamis/.local/lib/python2.7/site-packages/chainer/cuda.py:87: UserWarning: cuDNN is not enabled.
Please reinstall chainer after you install cudnn
(see https://github.com/pfnet/chainer#installation).
  'cuDNN is not enabled.\n'
Traceback (most recent call last):
  File "train.py", line 110, in <module>
    feature_s = vgg(Variable(style_b, volatile=True))
  File "/home/jamis/src/chainer-fast-neuralstyle/net.py", line 97, in __call__
    h = F.max_pooling_2d(y1, 2, stride=2)
  File "/home/jamis/.local/lib/python2.7/site-packages/chainer/functions/pooling/max_pooling_2d.py", line 173, in max_pooling_2d
    return MaxPooling2D(ksize, stride, pad, cover_all, use_cudnn)(x)
  File "/home/jamis/.local/lib/python2.7/site-packages/chainer/function.py", line 130, in __call__
    outputs = self.forward(in_data)
  File "/home/jamis/.local/lib/python2.7/site-packages/chainer/function.py", line 234, in forward
    return self.forward_gpu(inputs)
  File "/home/jamis/.local/lib/python2.7/site-packages/chainer/functions/pooling/max_pooling_2d.py", line 77, in forward_gpu
    y, self.indexes)
  File "cupy/core/elementwise.pxi", line 545, in cupy.core.core.ElementwiseKernel.__call__ (cupy/core/core.cpp:35252)
  File "cupy/util.pyx", line 36, in cupy.util.memoize.decorator.ret (cupy/util.cpp:1264)
  File "cupy/core/elementwise.pxi", line 405, in cupy.core.core._get_elementwise_kernel (cupy/core/core.cpp:33728)
  File "cupy/core/elementwise.pxi", line 12, in cupy.core.core._get_simple_elementwise_kernel (cupy/core/core.cpp:27106)
  File "cupy/core/elementwise.pxi", line 32, in cupy.core.core._get_simple_elementwise_kernel (cupy/core/core.cpp:26928)
  File "cupy/core/carray.pxi", line 87, in cupy.core.core.compile_with_cache (cupy/core/core.cpp:26615)
  File "/home/jamis/.local/lib/python2.7/site-packages/cupy/cuda/compiler.py", line 138, in compile_with_cache
    mod.load(cubin)
  File "cupy/cuda/function.pyx", line 156, in cupy.cuda.function.Module.load (cupy/cuda/function.cpp:3892)
  File "cupy/cuda/function.pyx", line 157, in cupy.cuda.function.Module.load (cupy/cuda/function.cpp:3840)
  File "cupy/cuda/driver.pyx", line 77, in cupy.cuda.driver.moduleLoadData (cupy/cuda/driver.cpp:1466)
  File "cupy/cuda/driver.pyx", line 59, in cupy.cuda.driver.check_status (cupy/cuda/driver.cpp:1202)
cupy.cuda.driver.CUDADriverError: CUDA_ERROR_ILLEGAL_ADDRESS: an illegal memory access was encountered

It says that I don't have cuDNN installed but I do:
ldconfig -p | grep cudnn
        libcudnn.so.5 (libc6,x86-64) => /usr/local/cuda/lib64/libcudnn.so.5
        libcudnn.so.4 (libc6,x86-64) => /usr/local/cuda/lib64/libcudnn.so.4

You're simply running out of memory.
You see Titan X has 12 GB of physical memory and 2 logical devices each 6 GB. If you run nvidia-smi you will see 2 graphic cards each with 6 GB total memory. So when you indicate gpu 0 it means you are using just 6 GB.
On the other hand when you indicate image_size 512, each batch element requires around 2.2 GB of memory on the GPU. So, for b=1 it's 2.2, b=2 it's 4.4 and so on.
I hope this helps.

That definitely helps, thanks! But I have 2 Titan X's in my workstation and nvidia-smi shows each as having 12 Gb available:
$ nvidia-smi
Tue Aug  9 11:41:32 2016
+------------------------------------------------------+
| NVIDIA-SMI 361.42     Driver Version: 361.42         |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX TIT...  Off  | 0000:6D:00.0     Off |                  N/A |
| 22%   32C    P8    14W / 250W |     24MiB / 12287MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce GTX TIT...  Off  | 0000:6E:00.0     Off |                  N/A |
| 22%   43C    P8    31W / 250W |    911MiB / 12285MiB |     29%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    1      4207    G   /usr/lib/xorg/Xorg                             332MiB |
|    1      5307    G   compiz                                         461MiB |
|    1     10126    G   ...inFlow --disable-features=DocumentWriteEv    87MiB |
+-----------------------------------------------------------------------------+

(Typically the second GPU is also sitting at 0%)

try with smaller batch size, let's say 2 and see how much memory it takes


Rails 5 support

replaced before_filter usages with before_action
added a deprecation warning to GrapeSwaggerRails.options.before_filter option

@dblock this one is a followup to #63. Please advise

This looks good. We need an UPGRADING document like https://github.com/ruby-grape/grape/blob/master/UPGRADING.md, could you add one please?
You don't have to fight rubocop, if something doesn't make sense (like a line too long), just run rubocop --auto-gen-config. My workflow is rubocop -a, followed by that.

added UPGRADING.md file
added a Rails version check in ApplicationController to determine a proper callback to use (Rails 3 does not support before_action)

Merged, thank you.
For versioning pros, what's should we do wrt versioning for this deprecation, should it be 0.3.0 or is deprecating something ok for a minor increment?

Also @serggl you seem to know what you're doing, want to help out with this project? Maybe cut the next release? If you're up for it tell me your rubygems email and I'll add you to project collaborators.

@dblock according to semantic versioning (semver.org) this should be a minor version increment, so I guess this should be 0.3.0
Also yes, I think I can help a bit with this project since I use grape/swagger a lot in my day to day work. My rubygems email is<EMAIL_ADDRESS>

Welcome @serggl. If you can make a release following https://github.com/ruby-grape/grape-swagger-rails/blob/master/RELEASING.md that'd be great!

Also @aschuster3 has been very active in this project, keep things publicly visible, I opened https://github.com/ruby-grape/grape-swagger-rails/issues/72 for a release.


Types inferred incorrectly in async function

This works fine:
function test(): [number, string] {
	return [1, "a"];
}

But this...
async function test(): Promise<[number, string]> {
	return [1, "a"];
}

gives the following error:
main.ts(2,9): error TS2322: Type '(number | string)[]' is not assignable to type '[number, string]'.
  Property '0' is missing in type '(number | string)[]'.

It appears that [1, "a"] has instead been inferred to be an array of number | string, which is not what I want.

Duplicate of #5165?

Yep, nice find!


CI: Add webgpu_dawn.dll to CI

Uploaded as  https://github.com/shader-slang/dawn/releases/tag/webgpu_dawn-0


Create template for pull requests

Create template for pull requests

Done in https://github.com/RedHatInsights/insights-operator-web-ui/pull/29


Android.com sample is 404ing

See
* [Android.com](http://google.github.io/material-lite-samples/android-dot-com/) Material Design Lite demo

The provided link http://google.github.io/material-lite-samples/android-dot-com/ does not work :(

Already covered via issue #742.

Awww yeaaa


Liftable Objects

The player can lift any object that has both:

Their layer set to Interactable
The Holdable script attached

Pressing E next to a liftable object will pick it up, and can be released by pressing E again :>
This fixes #29


HTTP Kernel Updated #6453

Issue Reference
Link: https://github.com/bagisto/bagisto/issues/6453

@devansh-webkul
Not working please find the screens recording Here

@devansh-webkul
When the customer is trying to log in the page is redirecting to the admin login page.

@devansh-webkul
Not working, getting exception if the customer is trying to view the order details by clicking on order id.
Please find the screenshot Here


discuss options for creating index in HTML since it is currently unsupported

https://docs.asciidoctor.org/asciidoc/latest/sections/user-index/
things to investgate:

why isn't it supported on HTML output
pdf/docbook to html conversion (whole isa manual just to get index is overkill but just check it out)
antora usage (assuming takes existing HTML backend output)

Looking at existing issues in asciidoctor on this: :
* multiple indices


[Table] Phase 1 Feature - Entity Group Transactions (Batch)

Read through:

https://docs.microsoft.com/en-us/rest/api/storageservices/performing-entity-group-transactions
Azurite V3 Table wiki

Implement following parts:

[ ] Check swagger has $batch RESTful defined. If not, add it into Azurite swagger transform, then regenerate
[ ] Implement TableHandler::batch()
[ ] Implement metadata layer method in LokiTableMetadataStore if needed
[ ] Add test cases

Take Create Table implementation as example:

TableHandler::create()
LokiTableMetadataStore::createTable()
Create Table test cases

Also in regard to #264. Any update or planned release date on this? Now that the Azure Storage Emulator has officially been labelled as obsolete/deprecated I have tried to switch to Azurite but without batch operations on table storage it is unusable for me.
I can see that a milestone was added on july 7, but no due date yet.

Hi,
the main branch already supports batch, but we are still working on complete feature parity.
Issues which need to be completed before we announce GA on Table are listed there, and you can follow our progress against that list.

Batch API and transaction rollback are now merged into main, please expect this in the next release.


Fix assertion failure when reordering two dimensional children

It fixes assertion failure due to unstable state of children list during reordering in RenderTwoDimensionalViewport.parentDataOf. This changes the assertion to check debug orphan list and keepAlive bucket in addition to children list to determine whether child belongs to this render object or not.

Fixes #141101

Pre-launch Checklist

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I signed the CLA.
[X] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[X] I added new tests to check the change I am making, or this PR is test-exempt.
[X] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@Piinks Could you please take a look again? Also do you think we should include https://github.com/flutter/flutter/issues/130754 as issues this PR fixes?

I don't think this will fix https://github.com/flutter/flutter/issues/130754
This fixes a reordering issue, but I don't think it preserves the state of children when they are reordered. A good way to check this is to place a Checkbox as a child of the viewport, check it, and then reorder it. The checkbox will move, but it won't be checked anymore. Since the test here is a SizedBox, there is no state for it that we're validating in the test. :)

This might fix https://github.com/flutter/flutter/issues/138977 though :)

I don't think this will fix #130754
This fixes a reordering issue, but I don't think it preserves the state of children when they are reordered. A good way to check this is to place a Checkbox as a child of the viewport, check it, and then reorder it. The checkbox will move, but it won't be checked anymore. Since the test here is a SizedBox, there is no state for it that we're validating in the test. :)

I haven't checked how the reordering is handled in 1D scrolling but using a key on built widgets for 2D viewport, it's working correctly. Am I missing something? @Piinks
Sample:
// Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.

import 'dart:math' as math;

import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      scrollBehavior: const MaterialScrollBehavior().copyWith(
        // Mouse dragging enabled for this demo
        dragDevices: PointerDeviceKind.values.toSet(),
      ),
      debugShowCheckedModeBanner: false,
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  final String title;

  const MyHomePage({
    Key? key,
    required this.title,
  }) : super(key: key);

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

final vicinityToKey1 = <ChildVicinity, String>{
  ChildVicinity(xIndex: 1, yIndex: 1): '1',
  ChildVicinity(xIndex: 1, yIndex: 2): '2',
};

final vicinityToKey2 = <ChildVicinity, String>{
  ChildVicinity(xIndex: 0, yIndex: 0): '1',
  ChildVicinity(xIndex: 1, yIndex: 1): '2',
};

class _MyHomePageState extends State<MyHomePage> {
  late Map<ChildVicinity, String> vicinityToKey = vicinityToKey1;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(widget.title)),
      floatingActionButton: FloatingActionButton(
        onPressed: () => setState(() {
          if (vicinityToKey == vicinityToKey1) {
            vicinityToKey = vicinityToKey2;
          } else {
            vicinityToKey = vicinityToKey1;
          }
        }),
      ),
      body: TwoDimensionalGridView(
        diagonalDragBehavior: DiagonalDragBehavior.free,
        delegate: TwoDimensionalChildBuilderDelegate(
            maxXIndex: 30,
            maxYIndex: 30,
            addAutomaticKeepAlives: false,
            addRepaintBoundaries: false,
            builder: (BuildContext context, ChildVicinity vicinity) {
              final key = vicinityToKey[vicinity];
              if (key != null) {
                return _Item(key: ValueKey(key), title: key);
              }
              return null;
            }),
      ),
    );
  }
}

class _Item extends StatefulWidget {
  final String title;

  const _Item({super.key, required this.title});

  @override
  State<_Item> createState() => __ItemState();
}

class __ItemState extends State<_Item> {
  Color color = Colors.amber[50]!;

  @override
  Widget build(BuildContext context) {
    return InkWell(
      onTap: () => setState(() {
        if (color == Colors.amber[50]!) {
          color = Colors.purple[50]!;
        } else {
          color = Colors.amber[50]!;
        }
      }),
      child: Container(
        color: color,
        height: 200,
        width: 200,
        child: Center(child: Text(widget.title)),
      ),
    );
  }
}

class TwoDimensionalGridView extends TwoDimensionalScrollView {
  const TwoDimensionalGridView({
    super.key,
    super.primary,
    super.mainAxis = Axis.vertical,
    super.verticalDetails = const ScrollableDetails.vertical(),
    super.horizontalDetails = const ScrollableDetails.horizontal(),
    required TwoDimensionalChildBuilderDelegate delegate,
    super.cacheExtent,
    super.diagonalDragBehavior = DiagonalDragBehavior.none,
    super.dragStartBehavior = DragStartBehavior.start,
    super.keyboardDismissBehavior = ScrollViewKeyboardDismissBehavior.manual,
    super.clipBehavior = Clip.hardEdge,
  }) : super(delegate: delegate);

  @override
  Widget buildViewport(
    BuildContext context,
    ViewportOffset verticalOffset,
    ViewportOffset horizontalOffset,
  ) {
    return TwoDimensionalGridViewport(
      horizontalOffset: horizontalOffset,
      horizontalAxisDirection: horizontalDetails.direction,
      verticalOffset: verticalOffset,
      verticalAxisDirection: verticalDetails.direction,
      mainAxis: mainAxis,
      delegate: delegate as TwoDimensionalChildBuilderDelegate,
      cacheExtent: cacheExtent,
      clipBehavior: clipBehavior,
    );
  }
}

class TwoDimensionalGridViewport extends TwoDimensionalViewport {
  const TwoDimensionalGridViewport({
    super.key,
    required super.verticalOffset,
    required super.verticalAxisDirection,
    required super.horizontalOffset,
    required super.horizontalAxisDirection,
    required TwoDimensionalChildBuilderDelegate super.delegate,
    required super.mainAxis,
    super.cacheExtent,
    super.clipBehavior = Clip.hardEdge,
  });

  @override
  RenderTwoDimensionalViewport createRenderObject(BuildContext context) {
    return RenderTwoDimensionalGridViewport(
      horizontalOffset: horizontalOffset,
      horizontalAxisDirection: horizontalAxisDirection,
      verticalOffset: verticalOffset,
      verticalAxisDirection: verticalAxisDirection,
      mainAxis: mainAxis,
      delegate: delegate as TwoDimensionalChildBuilderDelegate,
      childManager: context as TwoDimensionalChildManager,
      cacheExtent: cacheExtent,
      clipBehavior: clipBehavior,
    );
  }

  @override
  void updateRenderObject(
    BuildContext context,
    RenderTwoDimensionalGridViewport renderObject,
  ) {
    renderObject
      ..horizontalOffset = horizontalOffset
      ..horizontalAxisDirection = horizontalAxisDirection
      ..verticalOffset = verticalOffset
      ..verticalAxisDirection = verticalAxisDirection
      ..mainAxis = mainAxis
      ..delegate = delegate
      ..cacheExtent = cacheExtent
      ..clipBehavior = clipBehavior;
  }
}

class RenderTwoDimensionalGridViewport extends RenderTwoDimensionalViewport {
  RenderTwoDimensionalGridViewport({
    required super.horizontalOffset,
    required super.horizontalAxisDirection,
    required super.verticalOffset,
    required super.verticalAxisDirection,
    required TwoDimensionalChildBuilderDelegate delegate,
    required super.mainAxis,
    required super.childManager,
    super.cacheExtent = 10,
    super.clipBehavior = Clip.hardEdge,
  }) : super(delegate: delegate);

  @override
  TwoDimensionalViewportParentData parentDataOf(RenderBox child) {
    return child.parentData! as TwoDimensionalViewportParentData;
  }

  @override
  void layoutChildSequence() {
    final double horizontalPixels = horizontalOffset.pixels;
    final double verticalPixels = verticalOffset.pixels;
    final double viewportWidth = viewportDimension.width + cacheExtent;
    final double viewportHeight = viewportDimension.height + cacheExtent;
    final TwoDimensionalChildBuilderDelegate builderDelegate =
        delegate as TwoDimensionalChildBuilderDelegate;

    final int maxRowIndex = builderDelegate.maxYIndex!;
    final int maxColumnIndex = builderDelegate.maxXIndex!;

    final int leadingColumn = math.max((horizontalPixels / 200).floor(), 0);
    final int leadingRow = math.max((verticalPixels / 200).floor(), 0);
    final int trailingColumn = math.min(
      ((horizontalPixels + viewportWidth) / 200).ceil(),
      maxColumnIndex,
    );
    final int trailingRow = math.min(
      ((verticalPixels + viewportHeight) / 200).ceil(),
      maxRowIndex,
    );

    double xLayoutOffset = (leadingColumn * 200) - horizontalOffset.pixels;
    for (int column = leadingColumn; column <= trailingColumn; column++) {
      double yLayoutOffset = (leadingRow * 200) - verticalOffset.pixels;
      for (int row = leadingRow; row <= trailingRow; row++) {
        final ChildVicinity vicinity =
            ChildVicinity(xIndex: column, yIndex: row);
        final RenderBox? child = buildOrObtainChildFor(vicinity);

        if (child != null) {
          child.layout(constraints.loosen());

          // Subclasses only need to set the normalized layout offset. The super
          // class adjusts for reversed axes.
          parentDataOf(child).layoutOffset =
              Offset(xLayoutOffset, yLayoutOffset);
        }

        yLayoutOffset += 200;
      }
      xLayoutOffset += 200;
    }

    // Set the min and max scroll extents for each axis.
    final double verticalExtent = 200 * (maxRowIndex + 1);
    verticalOffset.applyContentDimensions(
      0.0,
      clampDouble(
          verticalExtent - viewportDimension.height, 0.0, double.infinity),
    );
    final double horizontalExtent = 200 * (maxColumnIndex + 1);
    horizontalOffset.applyContentDimensions(
      0.0,
      clampDouble(
          horizontalExtent - viewportDimension.width, 0.0, double.infinity),
    );
    // Super class handles garbage collection too!
  }
}

Oh interesting! Let me look at the code you provided. I really appreciate all of the work you have been putting into this!
Are you interested in seeing if this fixes https://github.com/flutter/flutter/issues/138977 as well? If so, would you add a test?
In 1D, the findIndexByKey in SliverChildDelegate, SliverChildBuilderDelegate, and SliverChildListDelegate handles stateful reordering. If we do not need to add more API surface though, it would be great! thanks again, and I will report back once I check out your sample code above!

Hi @Piinks, were you able to test the snippet? Can we add the #130754 too and get this merged?

I did check it out! Thank you! I agree, I think we can close #130754 with this change. However, we will need to add a test that validates that scenario. Some sample code would probably be a good idea to include in the docs as well.
Would you like to add a test/sample code? Or we can leave #130754 open for now and add those in another PR. Let me know how you would like to move forward.

In that case, let's leave it for another PR. But what kind of test do you want for #130754? Isn't the test added in this PR enough?

Also - a rebase with head should clear that flutter_plugins check. :)

Done. @Piinks

Isn't the test added in this PR enough?

The test here does not validate a stateful widget being reordered in the viewport and having its state maintained before and after reordering. The children in test are SizedBoxes.
But if we are covering that in a separate change, let's do that then! :)


Populate data into Local PV from another Local PV or from an outside source

A few use cases around Local PV are:

Cluster node re-cycle scenarios: A Kubernetes node will be reclaimed by the provider during an upgrade. The data saved into the local storage of the node (about to be recycled) should be migrated to another node in the cluster and the application (pod) using that storage should be re-scheduled to the new node.
Load the seed data into Local PV: Either from an external source or as a clone from an existing Local PV volume that will help with scaling the applications with static content (without using read-write many) or for performing ML jobs that require data to be downloaded from an S3 or other sources.

The idea is to make use of the "Data Populator" and PVC Data Source constructs being developed in K8s to solve these use cases. Can data populators be built using rsync, rclone or restic kind of tools.
The solution should be easy to integrate into Stateful or other K8s operators. For example, it should be possible to write a generic operator that can be instructed to drain a node by:

initiating the migration of the Local PVs to an upgraded new node
move the application
allowing the older node to be reclaimed

Alternate ways or workaround available today are:

Take Backup of the application using Velero to an S3 location and restore the data into new nodes. A few challenges or drawbacks of this approach are:

Setting up backup outside the cluster or creating a new dependency.
The backup needs to be performed by scaling down the application.
And if the application belongs to STS - all pods need to coordinate in the process.

A prototype of this problem is done here.
Here is the link of how to use it.

fixed via https://github.com/openebs/data-populator/pull/1


JBPM-5325 Replaced Java comments with SQL comments in .sql files.

Replaced Java comments with SQL comments.

jenkins retest this

+1


peer @mui/lab@">= 5.x <6" from<EMAIL_ADDRESS>

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@mui/lab
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer @mui/lab@">= 5.x <6" from<EMAIL_ADDRESS>npm ERR! node_modules/react-hook-form-mui
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!

Not sure I understand why this version isn't satisfied
Using npm v8

Did you install @mui/lab dependency?

Sure we have:
    "@mui/lab": "^5.0.0-alpha.75",

I don't know how the peerDependency has to be written to solve this. If you find out let me know and I can adjust the peer

should be fixed with latest release


Add guide on how to install to readme

Most people are probably familiar with how to install Sublime Text packages but it's probably worth adding some steps on what to do for those who may not be.

Added installation guide to readme, no milestone needed as a release isn't required.


Changing only last line of item lore to song name

When I try to make custom lore for discs it is replaced by song name after being burn
Can you make so only the last line is replaced by song name?

What do you mean by replacing only the last line? Because the is no lore by default, so there is nothing to be replaced.
Maybe you mean append the song name to the end of the lore by creating a new line?

Yes, that's what I meant

I've added a config option burn_lore_method in the latest pre-release. Set it to APPEND, and it should work as described above


[Event Hubs] Version 5.3.0 has the "next" tag, it shoudnt

We dont have any Event Hubs packages that are in preview/beta so there should be no package version with the tag next

The next tag has been removed. Verified by running npm install --save @azure/event-hubs@next.
It may take some time for the npm website to reflect these changes.

The next tag has been removed. Verified by running npm install --save @azure/event-hubs@next.
It may take some time for the npm website to reflect these changes.


Update to new Slack webhook auth (version 0.1.0 of node-slackr)

Really appreciate the pull, unfortunately I currently have things using the other auth in the field so will need to make something that works with both.

I'm game. Any suggestions?
On Sun, Apr 19, 2015, 5:03 PM Tal Atlas<EMAIL_ADDRESS>wrote:

Really appreciate the pull, unfortunately I currently have things using
the other auth in the field so will need to make something that works with
both.
—
Reply to this email directly or view it on GitHub
https://github.com/tal/slackr-bot/pull/3#issuecomment-94313693.


Alt manual dup and mlp

the branch can be restored at a later stage.. but it is too broken to be of any use and it is not necessary to waste time testing it.


AM Login UI stuck in redirect loop

Background
This issue was observed as part of applying changes of #254 , and relates to authentication & authorisation flows in AM going via IG as a reverse proxy.
Description
When attempting to authenticate the PSU as part of the OAuth2 hybrid flow, AM was getting stuck in a redirect loop.
Example configuration
"authorization_endpoint": "https://obdemo.dbadham-fr.forgerock.financial/am/oauth2/realms/root/realms/alpha/authorize"
IG FQDN: obdemo.dbadham-fr.forgerock.financial
AM FQDN: iam.dbadham-fr.forgerock.financial
IG is acting as a reverse proxy to AM.
IG has a route which accepts traffic on: obdemo.dbadham-fr.forgerock.financial/am/ and forwards it to AM.
Redirect loop

PSU  navigates to authorization endpoint URL in their browser, example URL: https://obdemo.dbadham-fr.forgerock.financial/am/oauth2/realms/root/realms/alpha/authorize?client_id=bb4c1848-72f1-48b0-a781-45f2a8121d59&response_type=code id_token&redirect_uri=https://postman-echo.com/get&scope=openid payments&state=10d260bf-a7d9-444a-92d9-7b7a5f088208&nonce=10d260bf-a7d9-444a-92d9-7b7a5f088208&request=JWT omitted for brevity
AM redirects PSU to /authenticate endpoint: https://iam.dbadham-fr.forgerock.financial/am/json/realms/root/realms/alpha/authenticate (query string omitted) NOTE this is on the iam subdomain
PSU fills in login form and submits
AM responds with authentication success and iPlanetDirectoryPro cookie
UI redirects to /authorization endpoint: https://obdemo.dbadham-fr.forgerock.financial/am/oauth2/realms/root/realms/alpha/authorize NOTE obdemo subdomain
AM authorization service runs but cannot determine the SessionID, as no iPlanetDirectoryPro cookie is sent with the request, authorization service fails and redirects user back to authentication endpoint
AM redirects PSU to /authenticate endpoint: https://iam.dbadham-fr.forgerock.financial/am/json/realms/root/realms/alpha/authenticate (query string omitte), cookie is sent with this request, AM determines user is logged in and redirects to authorization endpoint, GO TO Step 5

Root Cause
The issue is that the iPlanetDirectoryPro cookie returned by the /authenticate endpoint is not being sent to the /authorize endpoint, this is due to these endpoints being on different domains.
Authenticate URI is on the AM subdomain, whereas authorization endpoint is on the IG subdomain.
Fix
AM can be configured to issue the cookie for the domain rather than for the AM subdomain.
In this example we would configure AM to issue the cookie for domain: dbadham-fr.forgerock.financial, this means that the cookie is valid for both the IG and AM subdomains.

Another thing to investigate is why we get directed to: https://iam.dbadham-fr.forgerock.financial/am/json/realms/root/realms/alpha/authenticae rather than https://obdemo.dbadham-fr.forgerock.financial/am/json/realms/root/realms/alpha/authenticate (via IG).
The AM alpha realm has been configured to have a base url of: obdemo.dbadham-fr.forgerock.financial, so it is not clear why it doesn't use this in the redirect.
If this could be fixed then we would not need to make changes to the cookie domain configuration.


Confused regarding CTOT, CTOB. Are there suggested values?

Hi,
Thanks for offering this tool.
I am a bit confused regarding the inclusion bounds.
"Mbias" only outputs 2 plots OT and OB with suggested inclusion bounds.
Besides OT and OB, "Extract" can also accept CTOT and CTOB.
Are CTOT and CTOB suggestions output somewhere?
Does the mehtylseq protocol have to include some strandedness information to make Mbias report CTOT and CTOB?
I am working with NEBNext Enzymatic Methyl-seq kit, instead of the standard bisulfate conversion.
I first trimmed the reads based on quality, adapters,... so they may be of different lengths.
If I am understanding correctly, I should use nOT, nOB instead of OT, OB. Is that correct?
Thank you for your time and help,
Francesc

Unless you have non-directional data where will be no CTOT (complementary to the original top) or CTOB strands. Otherwise yes they would have been output. Yes, it might be best to try the nOT and nOB options instead, depending on how the mbias output looks.

Thank you.
I have different types of samples/projects. Some are very clean and I could use something like -nOB 5,148,10,148 in the example below (being more stringent than the suggested). I am just including OB for simplicity but OT are similar.

Others come from older samples, probably degraded and with short insert sizes. I thought that after some fastq trimming would improve but I don't see much change. I don't even know what to do with the bottom one.

Yikes, yeah just toss that bottom one if you can.


KAFKA-2072 [WIP]: Add StopReplica request/response to o.a.k.common.requests and replace the usage in core module

Migration is done but this PR will need to be rebased on #110. I have copied some code (ef669a5) for now.
I'd appreciate feedback on it mainly around how I handle things in the ControllerChannelManager. I have introduced a new 'sendRequest' method for o.a.k.common.requests and kept the old one for compatibility reason. We'll be able to remove the old one in the future when migration of all requests and responses to o.a.k.common.requests is completed.

Thanks for this @dajac.
There is ongoing work to remove usage of BlockingChannel in ControllerChannelManager. That work is done on top of the SSL/TLS one.
I think it would make sense to finish that first before doing this one.

@ijuma I have looked at your PR. I think that it will be quite easy to rebase on top of it. Do you know when it will be finished? Otherwise, would it be possible to do it the other way around, get this one in first as it is smaller?

Sorry for the failed build. I'll take at it later today.

Failures are not related to the changes that I did in this PR. I've got same failures (which happen randomly) in trunk.

@dajac An updated patch for the SSL/TLS work was just posted[1]. I hope this can be merged quite quickly as there have been several rounds of review and it has been agreed that non blocker issues can be addressed in subsequent PRs.
Once that is merged, then the patch to remove BlockingChannel in ControllerChannelManager and KafkaServer is ready for review. I will create a separate ticket for replacing SimpleConsumer with NetworkClient in AbstractFetcherThread as that is a bigger piece of work.
[1] https://reviews.apache.org/r/33620

@ijuma Ok, I can rebase this PR on KAFKA-2411 when it gets merged. It shouldn't impact it to much.
Do you plan to migrate the SyncProducer as well?

@dajac Regarding SyncProducer, not as part of the security work since there is no plan to support SSL/TLS for the Scala consumers and producers.

Closing it for now as it depends on KAFKA-2411. I'll re-open it when KAFKA-2411 is finished.

@dajac, it turns out that I need https://github.com/dajac/kafka/commit/28f64252ec7a670b50522ebee05820031c160ae4 for KAFKA-2411 in order to use NetworkClient for the requests (Selector wasn't good enough for our needs). Is it OK if I cherry-pick that into my branch (you will remain as the author of the change)?

@ijuma You can cherry-pick it or I can also do a PR with this part to keep the link to KAFKA-2072 if you prefer. As you like.

@dajac I am happy either way, so I'll leave it up to you. :) If you create a PR with only that commit, I will review it. We will still need a committer to review it and merge it though.

@ijuma Ok. I just opened PR (#170) with this part.

Migration is done but this PR will need to be rebased on #110. I have copied some code (ef669a5) for now.
I'd appreciate feedback on it mainly around how I handle things in the ControllerChannelManager. I have introduced a new 'sendRequest' method for o.a.k.common.requests and kept the old one for compatibility reason. We'll be able to remove the old one in the future when migration of all requests and responses to o.a.k.common.requests is completed.

Migration is done but this PR will need to be rebased on #110. I have copied some code (ef669a5) for now.
I'd appreciate feedback on it mainly around how I handle things in the ControllerChannelManager. I have introduced a new 'sendRequest' method for o.a.k.common.requests and kept the old one for compatibility reason. We'll be able to remove the old one in the future when migration of all requests and responses to o.a.k.common.requests is completed.

Migration is done but this PR will need to be rebased on #110. I have copied some code (ef669a5) for now.
I'd appreciate feedback on it mainly around how I handle things in the ControllerChannelManager. I have introduced a new 'sendRequest' method for o.a.k.common.requests and kept the old one for compatibility reason. We'll be able to remove the old one in the future when migration of all requests and responses to o.a.k.common.requests is completed.

Migration is done but this PR will need to be rebased on #110. I have copied some code (ef669a5) for now.
I'd appreciate feedback on it mainly around how I handle things in the ControllerChannelManager. I have introduced a new 'sendRequest' method for o.a.k.common.requests and kept the old one for compatibility reason. We'll be able to remove the old one in the future when migration of all requests and responses to o.a.k.common.requests is completed.


wsk CLI needs a flag to query its version

How do I know which version of the CLI I have installed? And whether it's the latest & greatest one? How do I know when to update (re-install) the CLI?
It would be good to provide a -v flag (similar to the cloud foundry CLI) that outputs the version. I realize that -vis already taken (verbose option).
At the very least, the CLI "splash screen" (displayed when using wsk without any options) should display a version number.
It's also not clear from the CLI repo at https://openwhisk.ng.bluemix.net/cli/go/download what the current version is and whether it's time to update.

wsk property get --cliversion

@houshengbo @pritidesai as part of making the JSON object available advertising the CLIs versions, it would be nice to address the comment above: the link to a binary should carry version information.
Of course, we don't have a proper version yet or release tag (#1880).
@csantanapr I think we need one epic to track all the related CLI issues for versioning, the download page, etc.

It would also be nice if we could try to expose this info through the CLI page on the download button or near it.
I opened the issue for it here: https://github.ibm.com/BlueMix-Fabric/Bluemix-Whisk-UI/issues/1805

@eweiter, @houshengbo, we should be able to expose the CLI version to the UI via the content.json file.

Issue moved to apache/incubator-openwhisk-cli #136 via ZenHub


Use layout color for the cube

This uses jp-layout-color0 for the cube background, and jp-layout-color3 for the edges.

closes https://github.com/jupytercad/jupytercad-gather/issues/6

I wonder if we could get rid of the edges? They hide part of the 3d object

Maybe I just got used to seeing the edges, but I think it looks a little weird without them.

I suppose it does make more sense to not have them tough.

Personal opinion: I think it looks way better without them.
The important part (the 3d object you want to show) is more visible.

What do you think about this?

Ah great! I was about to say the rough edges of the box was a downside of removing the edges. Looks great.

I toned it down a bit so the corners are less bubbly looking.

there is no transparent color option?

there is no transparent color option

Instead of making the box transparent, we could even make the box optional and not display it if a certain flag is set

If the AR cube is transparent, or if there's no AR cube, you would just see the paper cube. It doesn't look good with the paper cube.


Still Working???

this hack is still working on new pubg mobile 0.19.0 version  ??????

no it doesn't


v1.26 cluster/status page not found

Sponsors SeaweedFS via Patreon https://www.patreon.com/seaweedfs
Describe the bug
I'm working with seaweed using the
https://github.com/ChihoSin/weed-client (from the provided list of clients).
The problem is there is no result for "cluster/status" endpoint, so the client doesn't work because of this.
This is the same issue as https://github.com/chrislusf/seaweedfs/issues/870, but it is still reproduced on the version 1.26.
System Setup
v1.26 is deployed in the Docker
Screenshots
Containers created by provided docker-compose.yml:

Curl result:

please show the weed version. the docker image has some delay. it always picks up the last release. not the current one.
rebuilding the docker image as of now.


Major cleanup of app-websocket.js

app-websocket.js is WAY too big and needs to be split up into modules

Duplicate of #41


odo deploy --dry-run

/kind user-story
User Story

As an odo user
I want to be able to show what resources would be created on the cluster without actually applying them
So that I can view what odo will do on my cluster
So that I can debug easy problems that I'm facing with variables substitution inside Devfile

Acceptance Criteria

[ ] odo deploy should have --dry-run that will output all Kubernetes resource formated as YAML separated by --- that would be created on the cluster
[ ] odo dev should have --dry-run that will output all Kubernetes resources formated as YAML separated by --- that would be created on the cluster. When this flag is specified, the command exists right after printing all the objects (no waiting for anything)

/kind user-story
original text:
Which functionality do you think we should add?
odo deploy --dry-run

The command should describe which Kubernetes components would be applied in both cases.
Why is this needed?
It can be confusing for a user that a Kubernetes component is sometimes deployed with odo deploy, depending on if the component is referenced or not from an Apply command.

Still relevant.
/remove-lifecycle stale
/remove-lifecycle rotten
/reopen

Still relevant.
/remove-lifecycle stale
/remove-lifecycle rotten
/lifecycle frozen
/reopen


fix conversion issues for linux arm

Fixes #11 - uses unsafe.Pointer for conversion.

Thanks :+1:


Setup with Gitlab advice

For anyone else searching for how to setup Harbor on Gitlab CI this should be useful.
(Based on a pipeline initiated from the merge request context and having Gitlab setup as a Git provider in Forge)
harbor-provision-staging-site:
  stage: deploy
  variables:
    FORGE_TOKEN: XXXXX
    FORGE_SERVER: XXXXX
    FORGE_GIT_PROVIDER: gitlab # <-- This is critical and not documented currently
    FORGE_GIT_REPOSITORY: $CI_MERGE_REQUEST_PROJECT_PATH
    FORGE_GIT_BRANCH: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
    FORGE_DOMAIN: XXXXX
  dependencies: []
  rules:
    - if: $CI_MERGE_REQUEST_PROJECT_PATH != '' # ensures the job only runs in merge request context
      when: manual
  image: kirschbaumdevelopment/laravel-test-runner:8.1
  script:
    # Install Harbor via Composer
    - composer global require mehrancodes/laravel-harbor -q
    # Start Provisioning
    - harbor provision

Thanks a bunch for giving it a go with GitLab! I'll make sure to include FORGE_GIT_PROVIDER in the docs soon.
Having this example documented would be super helpful for folks looking to use Harbor with GitLab. If you find the time, feel free to submit a PR here: mehrancodes/laravel-harbor-docs.
If not, no worries at all - I can take care of it next week. Appreciate your help!


[firebase_database] Firebase/Flutter -  Nested read always returns null for "snapshot.data.data()"?

If I perform a nested read that is deeper than 2 levels ie FirebaseFirestore.instance.doc(a/b/c).get(), the snapshot.data.data() field always returns null (when snap.hasData). For efficiency reasons, I'd like to perform partial reads (ie field c of document b), is this possible or can I only retrieve the whole document as a snapshot?

Hi @sabetAI
I'm not seeing the data field being null in nested reads for example
var test = await FirebaseFirestore.instance.doc('a/b/c/test').get().catchError((e) => print(e));
print(test.data());

As for partial reads, all of the methods in the implementation are listed in the documentation. In both the Flutter implementation here and the upstream SDK you cannot read individual fields. Realtime Database is more suited for that.
Does this answer your question?
Thank you

Hi @sabetAI
I'm not seeing the data field being null in nested reads for example
var test = await FirebaseFirestore.instance.doc('a/b/c/test').get().catchError((e) => print(e));
print(test.data());

As for partial reads, all of the methods in the implementation are listed in the documentation. In both the Flutter implementation here and the upstream SDK you cannot read individual fields. Realtime Database is more suited for that.
Does this answer your question?
Thank you

Thanks for the answering my question! If the value in the json is just a string and not another map, then it would be considered a field, correct?

Thanks for the answering my question! If the value in the json is just a string and not another map, then it would be considered a field, correct?

Yes, that would be the case. Since this is working as intended I'm going to close the issue as solved.

Yes, that would be the case. Since this is working as intended I'm going to close the issue as solved.


Add 2 missing states

Going off of the state diagram these should be the only missing states, but it's hard to say when it's just a string. For a closed set with only a few possible options. :facepalm:

Was this just merged before CI was green?

Ooops, I added branch protection rules now so it shouldn't merge before CI is finished at least...


Use fresh version of tailwindcss config in watch mode

I guess this is more of a suggestion for improvement instead of a issue.
I use your plugin to develop shopify themes and it works fine. I have chokidar to watch of changes to theme files and tailwind config file. But I've faced a problem that during watch mode if I change tailwind configuration it doesn't rebuild css files. It's a bit annoying because I'll need to restart build process.
When I started looking at how you handle the config a noticed here that you use dynamic import to pass the config object to tailwindcss. So the config is only loaded once during esbuild startup. We could move tailwindConfig inside the onLoadCSS function to load the config every time we change the file but I'm not sure that's a good idea and we'll have a new problem that import caches the file, see more here.
So I would suggest just passing the path to the config file instead of passing the config object. We don't have to worry about that because tailwindcss will take care of that job, see here.
I'm not sure why you chose the config object, maybe there's some reason for that. In any case, I really appreciate your time, and would be glad if you take a look at it 🙂

You are absolutely right. Passing the path to the configuration file is indeed the best solution. I actually don't remember why I decided to pass the configuration object.

@ttempaa Cool! I opened a PR for this, could you check it when you have time?

Okay, never mind, it's merged 😁 thank you!

I will post the changes to NPM today or tomorrow

Done in release v1.2.1 🎉


Request for Tooltip for the blue "progress bar" on the lower left

I just built the current code and logged in with the Trezor.
After Synching, I clicked around in the menus and changed the Exchange to Kraken.
Then I recognized this blue progress bar or whatever it is on the lower left edge of the screen right above the Trezor shield symbol (see screenshot).
I am wondering what that would be? Please make a Tooltip for it...

The screen shot hasn't uploaded - would you mind adding it?
If it's blue then it's possible you're seeing a horizontal scroll bar for adjusting the width of the sidebar - just drag the black vertical line to the right to expand it.

You're right, it's a horizontal scroll bar. Not to be intuitively recognized by me...

Since this is a common UI component I'm going to close this.


Render Error

When I open the app im receiving "View config getter callback for component 'AIRMapPolygon' must be a function (received 'undefined'). Im not sure what is wrong.

Same for me, how you managed to resolve this issue?

it is something to do with the object being pass as a polygon coordinates the format should be
coordinates:{
[
latitude: float,
longhitude:float
]
}

I'm also getting the same issue, using the example app in the examples section. any ideas?


create website outline

Create a website outline based on @jpvelez's talk. This will outline the content and user journey from
home page => state detail page => action pages
Wireframes: https://app.moqups.com/pcSQvUMmsyAa1SN58KaKg1EKuYRs8iRX/view/page/a97a1436c

this is done


Possible null-pointer dereference in pb_decode.c

Here it is:
static bool checkreturn decode_callback_field(pb_istream_t *stream, pb_wire_type_t wire_type, pb_field_iter_t *iter)
{
    pb_callback_t *pCallback = (pb_callback_t*)iter->pData;

#ifdef PB_OLD_CALLBACK_STYLE
    void *arg = pCallback->arg;
#else
    void **arg = &(pCallback->arg);
#endif

    if (pCallback == NULL || pCallback->funcs.decode == NULL)
return pb_skip_field(stream, wire_type);

pCallback->arg is dereferenced before pCallback is checked against NULL. This can potentially lead to undefined behaviour.
Not sure how bad it actually is.

Hmm, good catch. This is certainly undefined behaviour per the C standard, especially with PB_OLD_CALLBACK_STYLE.

Fixed now. Looks like the impact is not particularly high because it can occur only in very specific situations, when all of the following apply:

Message contains extension fields and
the extension field is of callback type and
the pb_extension_t structure is defined, but the pointer to pb_callback_t is left as NULL.

The correct behaviour in this case is that the field will be skipped.
Further, for most compilers atleast and probably for all compilers, the
bug will only occur if PB_OLD_CALLBACK_STYLE compilation option is specified.

All credits is due to PVS-Studio, not me :)

Opps, wrong account.
Anyway, all credit is due to PVS-Studio, not me :)

Fix released in <IP_ADDRESS>.


[Question]A hidden danger that may cause program deadlock

When we were troubleshooting our own program crash issue, we encountered an issue that g3log's LogCapture could cause the program to deadlock rather than crash and print stack information.
It seems like our program crashed while called a function,which use malloc to allocate memory.However,the destructor of LogCapture also called the malloc function when signalhandler is triggered, ultimately resulting in a deadlock and the program can not exit.
Here is the information about GDB backtrace：
0  0x0000007f969fdffc in __lll_lock_wait_private (
futex=futex@entry=0x7f96a74a70 <main_arena>) at ./lowlevellock.c:33
#1  0x0000007f96998434 in __GI___libc_malloc (bytes=208) at malloc.c:3073
#2  0x0000007f96b6c52c in operator new(unsigned long) ()
from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#3  0x000000557613ba30 in g3::internal::saveMessage(char const*, char const*, int, char const*, LEVELS const&, char const*, int, char const*) ()
#4  0x000000557613c928 in LogCapture::~LogCapture() ()
#5  0x000000557614af2c in (anonymous namespace)::signalHandler(int, siginfo_t*, void*) ()
#6
#7  _int_malloc (av=av@entry=0x7f96a74a70 <main_arena>, bytes=bytes@entry=390656)
at malloc.c:4038
#8  0x0000007f96998444 in __GI___libc_malloc (bytes=390656) at malloc.c:3075
#9  0x0000007f96b6c52c in operator new(unsigned long) ()
from /usr/lib/aarch64-linux-gnu/libstdc++.so.6

Hi
Unfortunately. Once a crash has happened it's in undefined state and even extracting stackdump information isn't defined.
It's exceedingly rare to hit your specific situation but yes, it can happen.
G3log can have it's signal handling turned off. Please see the documentation for this
These might be of interest to you also: https://stackoverflow.com/questions/42425767/can-malloc-failure-cause-deadlock-or-cause-race-condition#42425795
https://stackoverflow.com/questions/855763/is-malloc-thread-safe


Rework CI cache

Description
Rework CI cache
Motivation
We now only have a single workspace in the wallet and workflows run out of space on the device
Requirements

Make it work better than now :trollface:

Open questions (optional)
Should we only have a single cache for the core lib and bindings together?
Do we need to clean old build files, for example with https://github.com/matthiaskrgr/cargo-cache?
Are you planning to do it yourself in a pull request?
No.

Closed by https://github.com/iotaledger/iota-sdk/pull/265


Eliminate {abbrev_commit} in favor of {commit[:7]} slicing

Closes #58.

looks great. thank you!
note: https://github.com/con/tinuous-inception/blob/master/config.yml doesn't use abbrev_ so will be fine. The other cron deployments we have ATM are

smaug:/mnt/datasets/datalad/ci/logs -- needs fixing
dandi@drogon:~/cronlib/tinuous-logs/dandi-cli -- will need fixing.

minor is ok since we are still in 0.x.


Initial kitties refactor commit

Adding kitties example piece

The tests are still todo I think might want to just merge this and then implement tests after I work on the wallet. What do you think @JoshOrndorff

Going to create seperate PR for the tests and validation but prefer to break it up it is quite big

Overall looking good. Is this one waiting on #41 or can it go in right away?

This can go right away


[REQUEST] Modular 3D Printer

Basically let's take the basic ideas of tinkers and put it to a new level. Creating custom tools and armor from materials. This can fill the gap before modular armor.

one multiblock (3D Printer)

creates an industrial looking 3d printer. insert plans and away it goes printing your item.

one item type (filament)
instead of having to deal with fluids and tanks.. just take ingots and blocks and convert them to a filament

one multiblock (IDK a name for this yet)

takes a material and turns it into a filament material

one block (Extruder)

required to input filament material into the 3d printer. can be made with different tiers that affect the speed of the filament material being injected   into the 3D printer thus affecting speed at which item is printed.

one block (workbench or something like that)

place to make plans for items.. breaking up items like a pickaxe into it's handle and the head? (idk the name)

one item (plans)

could use mob drops or different recipe's to create plans for items, but the workbench should be required to make the plans in the end.

multiple items

since each item would be broken down into parts.. then one would have to make an item for each material. like a bronze handle or a bronze blade, hilt, etc.   this could even be better by basically taking the texture of the base item (say bronze) and making the end material for the 3d printer this texture. even better would be a config that allows a user to define the buffs, durability and stats of each item type as well as the ability to add new materials in the config.

one block (belt sander)

when the item comes out of the 3d printer.. it should be very blocky.. and unusable. using a belt sander will smooth the item to fit the final shape.

3D printers often use PLA. Here’s the recipe:


Update to latest Electron version 16

Is there a plan on how often this project will update electron's version?
we're currently sitting at 13.1.5 for a good while now, and electronjs is already at 16.
What's needed to upgrade it or have some sort of ongoing release cycle with upgrades?

I'm on vacation soon and will have a lot of time to really freshen up Electron.NET again.. Check PR and bring it in with .NET 6 support.. Electron 16.. WSL2 support and much more...

You do realize that 13.1.5 was only release 6 months ago...
I know... thats ancient in javascript land /s

@danatcofo Yes, the Electron team is very sporty :)

🎉🚀 New Electron.NET version 23.6.1 released 🚀🎉
With native Electron 23 and .NET 6 support. Your problem should be fixed here. If you continue to have the problem, please let us know. Please note the correct updating of your API & CLI. Info in the README. Have fun!


Get backplane latest version

Why
We have to update docker file to get the backplane's latest version.
This PR will point to the latest backplane version always.

we currently don't use latest in ocm-container build,  backplane tools together with periodic build should solve this

/close


added docker functionality

Added : #218

Added dockerfile, there will some change required in readme file such project can be run docker run -p 3000:3000 ar-webstore

[x] My code follows the code style of this project.
[x] My change requires changes to the documentation.
[x] I have updated the documentation accordingly.
[x] All new and existing tests passed.

So, is it just a single command or some more things required in the docker-based setup since we need to update the documentation accordingly. Also, better if you can only do it.

currently it is just one command but I did suggest one more thing that you can do

make an account on docker hub (similar to GitHub but only for images)
we'll upload this project there, in that sense one even don't require to clone the project, one can use
docker pull to get the project from there
this will help us to deploy project vercel or on railway

ping me when you're ready

I will surely see this and get back to you in a few days.
You may start with other fixes/enhancements in the meantime if you like to.

The project's image is deployed on the docker hub.
It will work for the Dockerfile you've added. Include a .dockerignore file having file/folder names that are not required.
Test it and write good documentation for this setup.
Mention these commands with some description in README.md,
docker -v to check docker installed locally successfully
docker pull shwetkhatri2001/ar-webstore
docker images to check an image exists with the name 'shwetkhatri2001/ar-webstore'
docker run -p 3000:3000 shwetkhatri2001/ar-webstore

sure