[SPARK-20211][SQL][Backport-2.2] Fix the Precision and Scale of Decimal Values when the Input is BigDecimal between -1.0 and 1.0

What changes were proposed in this pull request?
This PR is to backport https://github.com/apache/spark/pull/18244 to 2.2

The precision and scale of decimal values are wrong when the input is BigDecimal between -1.0 and 1.0.
The BigDecimal's precision is the digit count starts from the leftmost nonzero digit based on the JAVA's BigDecimal definition. However, our Decimal decision follows the database decimal standard, which is the total number of digits, including both to the left and the right of the decimal point. Thus, this PR is to fix the issue by doing the conversion.
Before this PR, the following queries failed:
select 1 > 0.0001
select floor(0.0001)
select ceil(0.0001)

How was this patch tested?
Added test cases.

cc @cloud-fan

Test build #78033 has started for PR 18297 at commit c9e1308.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/78033/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #78042 has started for PR 18297 at commit c9e1308.

Test build #78042 has finished for PR 18297 at commit c9e1308.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/78042/
Test PASSed.

thanks, merging to 2.2/2.1/2.0!


Broken display on iPad

Not useful at all.  Will need to investigate why it's not happy.

It now displays correctly, with the exception of the map not showing at all.

All now working as it should.


Update GCP OAuth Readme

Changes

Previously the style was not consistent with other python sdk authentication documentations, due to some copy paste mistakes from the go sdk. Updating it in this PR

Tests

[ ] make test run locally
[ ] make fmt applied
[ ] relevant integration tests applied

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

Comparison is base (8da97de) 51.57% compared to head (ce5030c) 51.57%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #464   +/-   ##
=======================================
  Coverage   51.57%   51.57%
=======================================
  Files          38       38
  Lines       22355    22355
=======================================
  Hits        11530    11530
  Misses      10825    10825

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


Portus 2.2.0 can't create registry

On a clean docker image with openSUSE Portus 2.2.0
installed as
portusctl setup --local-registry --secure=false --db-name=portus --db-password=portus --db-host=localhost  --ssl-certs-dir=/etc/ssl/servercerts
MariaDB and docker-distribution-registry are run side-by-side with  Portus using systemd. Tables in db look right.
But attempt to add registry fails with such an error in apache error log:
App 660 stdout:   Parameters: {"utf8"=>"�~\~S", "authenticity_token"=>"qis/4AYx4LZFEhFKCd/x3kO5PGsK46wrnFqubCbEYGcZFW9etHHdx1Es6g8H9EXeiRY+H6KJ5U5hurvN/wDJug==", "registry"=>{"name"=>"local", "hostname"=>"localhost:5000", "use_ssl"=>"0", "external_hostname"=>""}, "commit"=>"Create"} App 660 stdout: Completed 500 Internal Server Error in 64ms (ActiveRecord: 8.2ms) App 660 stdout: App 660 stdout: ActiveModel::MissingAttributeError (can't write unknown attributevisibility): App 660 stdout:   app/models/registry.rb:205:in create_namespaces!'
App 660 stdout:   app/controllers/admin/registries_controller.rb:40:in create'
It is possible to create registry manualy in db. But creating namespace leads to a similar problem.

In dockerised environment portusctl setup does not inint database properly.

I'm having this issue and can't find out how to fix this, any suggestions @m407 ?

@so0k
I'm patching portus setup code
sed -i "s|dockerized?|false|g" portusctl/lib/configurator.rb

@m407 thanks for fast response, I was actually using https://quay.io/repository/nordstrom/portus -turns out it was portus 2.1
I switched to https://hub.docker.com/r/opensuse/portus/tags/ - tag 2.2 and my problems were solved :)


Left Rotation of Array Added in JAVA

#402 Solved in JAVA with Feature to Select by how much values you want to Rotate Left
Left Rotation of Array Added in JAVA Added
has choice to select by how many entries you want to rotate array leftwards
@tarun26091999 @rudrakshi99 @nakul-19 @plazzy99 please let me know if any changes

May I know what more changes are required?

@tarun26091999 @nakul-19 @rudrakshi99,
Please Review, All Changes Made in JAVA,
Almost 30 Days Gone
#402

Resolve the conflict

@shreyanspoddar why it is closed without giving time for changes?


Better reveal logic

The current logic only attempts to reveal the line below the zone widget. This does not guarantee that the zone widget is entirely visible.
The logic in this pr first reveals the line above the zone widget (in the center if not already in the viewport) and then reveals the line below the zone widget.

@joaomoreno I'm not sure what the latest change from you does and if it semantically contains the change in this PR.

Actually no.. I realised I did push changes related to this lately which make this PR obsolete.

I'm actually very confused by this. @alexandrudima My change simply reverted to the old behaviour, since I changed it a couple of weeks ago. Leaving it to @jrieken to decide whether the user's change makes sense.

@joaomoreno @jrieken @alexandrudima
I updated this diff to resolve conflicts. I think this diff is still relevant. We want both the top and the bottom of the zone widget to be visible.

If you don't want to call reveal twice here in general, I can workaround for my use case by overriding revealLine.

After playing around with this for a bit, I think overriding revealLine is an acceptable solution so going to close this PR.


Fix test_other_col_types when running in time zones with a positive offset from UTC

This test would only pass when run in time zones with a negative offset from UTC. Since the test only asserts on year, month and day, the test passes. When run in a timezone with a positive offset from UTC, the day would change. For example, in UTC+2, the date would become 1968-03-14T22:00:00.0000000 and the test would fail (14 != 15).
By doing d.ToUniversalTime() the time of the supplied DateTime was changed and the stored date was actually altered (by its offset from UTC). Asserting on the whole date would fail:

Assert.Equal() Failure
Expected: 1968-03-15T00:00:00.0000000
Actual:   1968-03-15T08:00:00.0000000

The assertion has been changed to assert on the full DateTime and the code was fixed to not alter the supplied date. So now, test_other_col_types always passes, no matter what TimeZoneInfo.Local is.

The breaking change to ugly.cs is problematic.
The intent of that code is to convert the given DateTime to a "unix timestamp", which is defined in terms of UTC.

Indeed, even if ugly is not meant for production, a breaking change is never nice. So I reverted the change in my last commit.
Instead, I changed the DateTime which is returned when querying to be explicitly of kind Utc and adapted the test accordingly.

"even if ugly is not meant for production"
FWIW, SQLitePCLRaw.ugly is used in production.  My coworkers and I (at SourceGear) use it in a variety of projects.

Maybe not meant for production was a bit of a stretch, I extrapolated from the ugly class documentation:

It retains all the "lower-case and underscores" ugliness of the layer below.  As such, this is not a wrapper intended for public consumption.

Anyway, the current pull request should not introduce a breaking change. It just returns a DateTime with kind DateTimeKind.Utc instead of DateTimeKind.Unspecified.

I understand.  I was just clarifying.


Video picker crashing

Should video picking work? Getting:
Failed to send request: {"jsonrpc":"2.0","id":"238","method":"getVM","params":{}}
After I have picked up the video on Android

I need more details. Does it throw any exception? Which platform are you getting this issue on?
What you have copied there is just some flutter log that normally pops when an app crashes. It has nothing to do with this plugin.

Closing as no reply.


chore: don't use simps

simps unfolds too much and it produces useless declarations. These are those present in mathlib3.

The same thing probably happens elsewhere, I only fixed here the declarations I need for the port.

Perhaps lets not use ' in branch names?

Thanks :tada:
bors merge


(FACT-2842) Fix ldom facts on Solaris

Description of the problem: ldom and hypervisors.ldom facts are displayed even if they are empty
Description of the fix: A check was added to avoid showing the facts when they are nil.

CLA signed by all contributors.


Scroll cursor can't select blob columns

I connection informix that use the default configuration. when I select some table that alert error message (
SQL 错误 [IX000]: Scroll cursor 不能选取 blob 字段群。
Scroll cursor 不能选取 blob 字段群。
java.sql.SQLException:
)
In English that mean  Scroll cursor can't select blob columns .
I'm very confused with this error, especially the error after I use the latest version.But after I go back to the old version, found that the problem is still there.
So now I use the DbVisualizer, it no problem.

Unfortunately I can't test this (I don't have test Informix server).
Try to enable BLOB cache:

Also, if you execute custom SQL queries you could try to turn on option "Keep open cursors in SQL editor" (on Result Sets pref page).

it doesn't work. I repeatedly try,the error is still there. Maybe the error is come from   Informix  @serge-rider

I have no ideas so far.
According to error message this may mean that LOBs can't be read from "scrollable" cursors but DBeaver doesn't use scrollable cursors.
Try another trick - set resultset fetch size to 0 (you can do it right in the main toolbar or in ResultSets preference page).

Once again, thanks for your   @serge-rider
I suspect the problem is a JDBC driver setting problem, and  discover the cause of the problem is here.

After I cancelled the choice, I success.

Great!
As far as I see this option is off by default (for Informix) so there is nothing to fix..


add error message when submitting blank notes.

Hey there! I would like to contribute and solve this issue.

Hey I would like to  work on this

Hey @ShravaniAK , I've solved this issue. You can check if everything is all good.

Hey Mam, I want to work on this task, Please assign it to me @ShravaniAK


Deps

Main changes

dependencies updated to the latest versions

Should this maybe be 2 different commits? I got lost reading the change in the changelog and then the rest of the changes. 🤔


Document postgres_execute function

I've added a new postgres_execute function to the postgres scanner - see https://github.com/duckdb/postgres_scanner/pull/193

Similarly - mysql_query https://github.com/duckdb/duckdb_mysql/pull/50

And mysql_execute - https://github.com/duckdb/duckdb_mysql/pull/51

Also document MySQL environment variables - https://github.com/duckdb/duckdb_mysql/pull/52


Message: 'chromedriver' executable needs to be in PATH.

gh-resolution
Traceback (most recent call last):
File "frontendmasters-dl.py", line 24, in
downloader()
File "C:\python27\lib\site-packages\click\core.py", line 722, in call
return self.main(*args, **kwargs)
File "C:\python27\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "C:\python27\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\python27\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "frontendmasters-dl.py", line 12, in downloader
spider = Spider(mute_audio)
File "E:\OS_FrontendMaster-dl-master\extractor\spider.py", line 34, in init
self.browser = webdriver.Chrome(chrome_options=options)
File "C:\python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 68, in init
self.service.start()
File "C:\python27\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

I solved by using chocolaty
https://chocolatey.org/packages/chromedriver

But I still face some error
`>>> Login with your credential

Downloading course: sql-fundamentals
[0513/024919.623:WARNING:spdy_session.cc(2991)] Received HEADERS for invalid stream 3
[0513/024919.632:WARNING:spdy_session.cc(2991)] Received HEADERS for invalid stream 3
Retrieving: sql-fundamentals/Foundations_of_Relational_Databases/Welcome__Tech_Check
[0513/024925.734:INFO:CONSOLE(3)] "[event]", source: https://frontendmasters.com/next/assets/javascripts/player.js (3)
Traceback (most recent call last):
File "frontendmasters-dl.py", line 24, in
downloader()
File "C:\python27\lib\site-packages\click\core.py", line 722, in call
return self.main(*args, **kwargs)
File "C:\python27\lib\site-packages\click\core.py", line 697, in main
rv = self.invoke(ctx)
File "C:\python27\lib\site-packages\click\core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "C:\python27\lib\site-packages\click\core.py", line 535, in invoke
return callback(*args, **kwargs)
File "frontendmasters-dl.py", line 17, in downloader
spider.download(course, high_resolution, video_per_video)
File "E:\OS_FrontendMaster-dl-master\extractor\spider.py", line 55, in download
course_downloadbale = self._get_downloadable_links(course_detailed_list, high_resolution, video_per_video)
File "E:\OS_FrontendMaster-dl-master\extractor\spider.py", line 181, in _get_downloadable_links
resolution_button.click()
File "C:\python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
return self._parent.execute(command, params)
File "C:\python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 314, in execute
self.error_handler.check_response(response)
File "C:\python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: element not visible
(Session info: headless chrome=66.0.3359.139)
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.16299 x86_64)`

I've fixed by remove the --mute-audio  --high-resolution
Thank you very much !! but I am facing that
429: You have reached maximum request limit. Sleeping for 15 minutes
But, it doesn't just sleep for 15 minutes

Glad to hear that; A PR to fix that issue is welcomed. Cheers.


CAMEL-14633

Hi,
are you referring to this line of the build output?
[WARNING] No eip doc file: /Users/olimberg/projects/Java/camel/camel-core/src/main/docs/eips/pipeline-eip.adoc
I'll try to figure out how to solve this issue.

No, I'm referring on the warnings you should have when compiling with -Psourcecheck, you should see at least one error at the beginning related to imports order.


docs(contrib): Replace architecture with redirects

I also went back to pages moved in #11869 and added redirects for those as well.

Thanks!
@bors r+

:pushpin: Commit 8baa207c4b445e78da09a2ea3ca9ae75f8067455 has been approved by ehuss
It is now in the queue for this repository.

:hourglass: Testing commit 8baa207c4b445e78da09a2ea3ca9ae75f8067455 with merge 6317170a0485e118a7ea629533783b6741f89944...

Unexpected test failure on macOS nightly:
---- rustc_info_cache::rustc_info_cache_with_wrappers stdout ----
running `/Users/runner/work/cargo/cargo/target/debug/cargo clean`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo clean`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
thread 'rustc_info_cache::rustc_info_cache_with_wrappers' panicked at '
test failed running `/Users/runner/work/cargo/cargo/target/debug/cargo build`
error: process exited with code 0 (expected 101)
--- stdout

--- stderr
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] adding rustup info to rustc fingerprint
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] reusing existing rustc info cache
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] rustc info cache hit
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] rustc info cache hit
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] adding rustup info to rustc fingerprint
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] reusing existing rustc info cache
[2023-03-22T15:33:23Z DEBUG cargo::util::rustc] rustc info cache hit
    Finished dev [unoptimized + debuginfo] target(s) in 0.02s
', tests/testsuite/rustc_info_cache.rs:175:14

I've never seen that test fail before. For some reason, the build call here didn't catch that the mtime of the rustc wrapper changed. I'm a bit surprised, since I believe GitHub Actions is using APFS and that should have a relatively high resolution timestamps (roughly around 6µs on my system).
If this happens again in the future, it might be good to investigate more.
@bors retry

:hourglass: Testing commit 8baa207c4b445e78da09a2ea3ca9ae75f8067455 with merge b1dcb627daccb6ea8acfd8e04040529e0b3776b4...


Unusable if a non-monospace font is set by mistake

I was trying to make my Powerline based font work that all of the sudden:

The cursor location is not accurate anymore.

Did you get the powerline font working?

@jasonpincin yeah see #144

Outdated
Please try with our v2 and feel free to open a new issue


Add LIMIT clause to DELETE statement

DELETE FROM foo LIMIT 1 + 1

EXPLAIN DELETE FROM foo LIMIT 1 + 1
{
  "plan": "Table(foo) -> Limit(2) -> Delete(foo)"
}

It must have the same behavior as SELECT.
The parser already knows how to parse LIMIT:  https://github.com/genjidb/genji/blob/707824da1399f16d9242a8e6bfa17ac50ec353af/sql/parser/select.go#L200

Fixed by https://github.com/genjidb/genji/pull/348


Question: rabbitmq ui behind oauth2_proxy

We have rabbitmq deployed on Kubernetes and the management ui exposed via nginx-ingress controller using basic-auth. Everything works well! The user enters the url, say: https://myrabbitmq.domain.com, receives the popup screen for basic-auth, enters credentials and is presented with the RabbitMQ UI Login page https://myrabbitmq.domain.com/#/
Then, we introduced oauth by using oauth2_proxy so users can get to https://myrabbitmq.domain.com url to access the RabbitMQ UI. The problem we are facing is that after the user enters the oauth credentials (using google) the redirect to the RabbitMQ UI for some reason is missing a / (forward-slash) causing the url to be https://myrabbitmq.domain.com/# instead of https://myrabbitmq.domain.com/#/, which  causes the UI to malfunction. If we reload the url https://myrabbitmq.domain.com or correct it by adding the extra / to the https://myrabbitmq.domain.com/#/ everything works. Similarly, if we close the browser and reopen the base url https://myrabbitmq.domain.com everything works fine.
So in summary, the problem is that RabbitMQ UI javascript adds #/ to the url but the last / is missing in the first time the oauth flow is executed. This is the ingress file:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: rabbitmq-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/auth-response-headers: Authorization
    nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
    nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"
    nginx.ingress.kubernetes.io/configuration-snippet: |
      auth_request_set $name_upstream_1 $upstream_cookie_name_1;
      access_by_lua_block {
        if ngx.var.name_upstream_1 ~= "" then
          ngx.header["Set-Cookie"] = "name_1=" .. ngx.var.name_upstream_1 .. ngx.var.auth_cookie:match("(; .*)")
        end
      }

spec:
  rules:
  - host: myrabbitmq.domain.com
    http:
      paths:
      - backend:
          serviceName: rabbitmq
          servicePort: 15672
  tls:
    - secretName: my-tls
      hosts:
      - myrabbitmq.domain.com
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: rabbitmq-ingress-api
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/affinity: cookie
spec:
  rules:
  - host: myrabbitmq.domain.com
    http:
      paths:
      - backend:
          serviceName: rabbitmq
          servicePort: 15672
        path: /api
  tls:
    - secretName: my-tls
      hosts:
      - myrabbitmq.domain.com
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: rabbitmq-ingress-oauth2-proxy
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx
spec:
  rules:
    - host: myrabbitmq.domain.com
      http:
        paths:
        - backend:
            serviceName: oauth2-proxy
            servicePort: http-port
          path: /oauth2
  tls:
    - secretName: my-tls
      hosts:
        - myrabbitmq.domain.com

Please let me know if you have any questions and thanks in advance for any comments/suggestions.

I think we are experiencing a similar issue. When we put pusher/oauth2_proxy in front of rabbitmq, we experience issues with the management ui.
The issue we are seeing, is that we get 404s from rabbitmq when requesting specific queues with a vhost named /.
It seems that rabbitmq is responding with a 301, and it seems that the %2F (/) is stripped from the path. Resulting in a 404.
The following shows the request to: https://rabbitmq.dev.com/api/queues/%2F/dev-....... The location header in this response directs to: /api/queues/dev-....... Without %2F.

This leads to a 404, because of the missing vhost information:

Is there any way to tweak this behavior?
The proxy is configured with the following arguments:
--email-domain=example.com","--http-address=<IP_ADDRESS>:80","--cookie-refresh=1h","--pass-user-headers=false","--pass-basic-auth=false","--upstream=http://rabbitmq-management

Same issue with a kubernetes instance, deployed with the helm chart, with an NGINX load balancer

Hi all,
I'm with same problem. When I try to add a new queues /rabbitmq/api/queues/%2F/aa.

It is issue with some rewrite. Check your rewrite rules and it should be all OK. We had some hidden undocumented rule to add trailing slash to path where ingress was adding it by itself

relates/duplicate of https://github.com/oauth2-proxy/oauth2-proxy/issues/459


Update README.md

added yarn upgrade

@Sm00g15 I'm not sure if this is necessary.  Ultimately you need to run yarn install at the root and in stories.  I think I had assumed you had already ran yarn install at the root ahead of time (not just for running the stories, but for any local development).
If you think this still needs refinement, maybe change the PR to run yarn install at the root?


Launch tutorial leads to Error on execution

I was following the "Using substitutions" tutorial and everything was going ok until the "Launching example" line: ros2 launch launch_tutorial example_main.launch.py
For some reason, this gives me the Errno 2 on the console:
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/dev_ws/install/launch_tutorial/share/launch_tutorial/launch/example_substitutions.launch.py'

I tried to follow the error towards the source files but couldn't undestand why this is happening.
I also like to point out that in this tutorial when the prerequisites says: "This tutorial also assumes that you have created a new package of ament_python build type called launch_tutorial", it's not really clear to the user if changing setup.py is actually necessary in order to find all the launch files, and if changing package.xml to define its dependencies is needed as well. It's something that I noticed is quite different from the previous tutorials where each step is clear and well defined, regardless of whether this means repeating information and/or commands.
This is the whole console log (just in case is needed too):
[INFO] [launch]: All log files can be found below /home/user/.ros/log/2022-08-06-21-42-32-567336-pc-91925
[INFO] [launch]: Default logging verbosity is set to INFO
Task exception was never retrieved
future: <Task finished name='Task-2' coro=<LaunchService._process_one_event() done, defined at /opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py:226> exception=FileNotFoundError(2, 'No such file or directory')>
Traceback (most recent call last):
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 228, in _process_one_event
    await self.__process_event(next_event)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_service.py", line 248, in __process_event
    visit_all_entities_and_collect_futures(entity, self.__context))
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
    futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
    futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 45, in visit_all_entities_and_collect_futures
    futures_to_return += visit_all_entities_and_collect_futures(sub_entity, context)
  [Previous line repeated 1 more time]
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/utilities/visit_all_entities_and_collect_futures_impl.py", line 38, in visit_all_entities_and_collect_futures
    sub_entities = entity.visit(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/action.py", line 108, in visit
    return self.execute(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/actions/include_launch_description.py", line 130, in execute
    launch_description = self.__launch_description_source.get_launch_description(context)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_source.py", line 84, in get_launch_description
    self._get_launch_description(self.__expanded_location)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_description_source.py", line 51, in _get_launch_description
    return get_launch_description_from_python_launch_file(location)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_file_utilities.py", line 62, in get_launch_description_from_python_launch_file
    launch_file_module = load_python_launch_file_as_module(python_launch_file_path)
  File "/opt/ros/foxy/lib/python3.8/site-packages/launch/launch_description_sources/python_launch_file_utilities.py", line 37, in load_python_launch_file_as_module
    loader.exec_module(mod)
  File "<frozen importlib._bootstrap_external>", line 844, in exec_module
  File "<frozen importlib._bootstrap_external>", line 980, in get_code
  File "<frozen importlib._bootstrap_external>", line 1037, in get_data
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/dev_ws/install/launch_tutorial/share/launch_tutorial/launch/example_substitutions.launch.py'

Hope this helps :)

I think your package doesn't install its launch files (i.e., it doesn't copy them to the right directory under install/...), so that's why the launch file is not found. Adding this to the data_files list in your setup.py file should fix it:
('share/' + package_name + '/launch', glob.glob('launch/*.launch.*')),

See the full example here: https://github.com/ros2/ros2_tracing/blob/25142e8cbc58a6317c63014d461d985593ae5c1a/tracetools_launch/setup.py#L14

I also like to point out that in this tutorial when the prerequisites says: "This tutorial also assumes that you have created a new package of ament_python build type called launch_tutorial", it's not really clear to the user if changing setup.py is actually necessary in order to find all the launch files, and if changing package.xml to define its dependencies is needed as well. It's something that I noticed is quite different from the previous tutorials where each step is clear and well defined, regardless of whether this means repeating information and/or commands.

I agree, it's skipping over important details. The "Creating a package" tutorial does not mention launch files, and the "Using substitutions" tutorial doesn't mention needing the above change to the setup.py file. At the very least, this should be mentioned at the end of the "2 Substitutions example launch file" section or at the beginning of the "Launching example" section.
The "Creating a launch file" tutorial does mention ros2 launch <package_name> <launch_file_name>, but then simply links to the "Creating a package" tutorial, which again doesn't mention the important bit about launch files. Not sure where it should go.

Hmm... weird. I actually deleted and created again the package several times but the same error was found always. Maybe it's an error on the tutorial then? I mean, it's not clear as I already said.
About the extra line in setup.py, I can see how that can solve the problem, but adding (os.path.join("share", package_name), glob("launch/*.launch.py")) to data_files, as "Launching and monitoring multiple nodes tutorial" actually mentions, shouldn't work as well? I mean, from what I understand, this should search in the share/package-name directory for a launch/ directory and then for all the .launch.py files in it, doesn't it?
In fact, now that I give a closer look to the directories in my system, and using the other packages created in the other tutorials with launch files as examples (like this one or this one which uses this previously created package), neither of them creates dependencies at package.xml (at least, related to the launch part) or have a launch/ directory at install/package-name/share/package-name/ and worked well. In fact, the only difference with the substitution tutorial is that they creates their own node located at src/package-name/package-name/, and thus, have a reference in entry_points in setup.py.
It's that the problem then? It's necessary to create a node for ros2 launch to find the launch files? Maybe the path share/package-name/launch it's actually wrong? Why it works for the other tutorials then? I'm not sure and I'm kinda confused now. This just sound pretty weird to me.

Update: I 'think' I just fix it.
The problem was here, line 19 of the example_main.launch.py. Using that line makes ros2 launch go and search for .launch.py (in this case, example_substitutions.launch.py) files in a directory that doesn't exist! The 'fix' consist in just delete the 'launch', argument.

It's that the problem then? It's necessary to create a node for ros2 launch to find the launch files? Maybe the path share/package-name/launch it's actually wrong? Why it works for the other tutorials then? I'm not sure and I'm kinda confused now. This just sound pretty weird to me.

To answer my previous questions, it is not necessary to create a new node, the path in setup.py (even tho I couldn't manually found it) is fine and, therefore, that's why it works for the other tutorials. In the other hand, yes, adding (os.path.join("share", package_name), glob("launch/*.launch.py")) to the data_files list in setup.py works and is needed too in order to make the tutorial fully work.
So, the answer to the 'mystery' is that the "Using substitutions tutorial", apart from not being entirely user friendly as the other tutorials, it's actually wrong.  Let me know.
Thanks for the time btw.

I ran into the same issue. Under 2 Parent launch file the tutorial shows this line:
PathJoinSubstitution([
    FindPackageShare('launch_tutorial'),
    'launch',
    'example_substitutions.launch.py'
])

Everything worked for me when I removed the 'launch' line:
PathJoinSubstitution([
    FindPackageShare('launch_tutorial'),
    'example_substitutions.launch.py'
])

FWIW, this is also what is reflected in the full example_main.launch.py.

I see what you mean.  That particular problem is solved in https://github.com/ros2/ros2_documentation/pull/3044

It's questionable how 'the fixes' are located at the last tutorial of the whole Launch section. It doesn't seems right.

So it is not really that putting the launch files in a launch subdirectory is a "fix", so much as it is using a different convention.  Both will work, it is just a matter of what the best practice is.  I'll bring this up with the rest of the ROS 2 team and see what we want to do here.

This was fixed in #3044, so closing this out.  Feel free to reopen if you are still having a problem.


报错

Downloading pip-20.2.1-py2.py3-none-any.whl (1.5 MB)
|▏                               | 10 kB 4.6 kB/s eta 0:05:22ERROR: Exception:
Traceback (most recent call last):
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/cli/base_command.py", line 216, in _main
status = self.run(options, args)
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/cli/req_command.py", line 182, in wrapper
return func(self, options, args)
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/commands/install.py", line 325, in run
reqs, check_supported_wheels=not options.target_dir
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve
discovered_reqs.extend(self._resolve_one(requirement_set, req))
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/resolution/legacy/resolver.py", line 340, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(req)
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/operations/prepare.py", line 469, in prepare_linked_requirement
hashes=self._get_linked_req_hashes(req)
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/operations/prepare.py", line 259, in unpack_url
hashes=hashes,
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/operations/prepare.py", line 130, in get_http_url
link, downloader, temp_dir.path, hashes
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/operations/prepare.py", line 282, in _download_http_url
for chunk in download.chunks:
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/cli/progress_bars.py", line 168, in iter
for x in it:
File "/tmp/tmp1VM5Es/pip.zip/pip/_internal/network/utils.py", line 88, in response_chunks
decode_content=False,
File "/tmp/tmp1VM5Es/pip.zip/pip/_vendor/urllib3/response.py", line 576, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/tmp/tmp1VM5Es/pip.zip/pip/_vendor/urllib3/response.py", line 541, in read
raise IncompleteRead(self._fp_bytes_read, self.length_remaining)
File "/usr/lib64/python2.7/contextlib.py", line 35, in exit
self.gen.throw(type, value, traceback)
File "/tmp/tmp1VM5Es/pip.zip/pip/_vendor/urllib3/response.py", line 451, in _error_catcher
raise ReadTimeoutError(self._pool, None, "Read timed out.")
ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
/usr/bin/python: No module named pip
################pip is installed############
############正在同步最新版本opencanary_web,并且安装第三方依赖包##########
Cloning into '/usr/local/src/opencanary_web'...
remote: Enumerating objects: 144, done.
remote: Counting objects: 100% (144/144), done.
remote: Compressing objects: 100% (110/110), done.
Receiving objects:  13% (163/1247), 44.01 KiB | 1024 bytes/s

/usr/bin/python: No module named pip
机器上还没有pip，可能是因为网速的原因，建议通过手工安装方式进行安装。


Queue track

One thing I really miss is the possibility to add a track or album to the queue.
Rspotify has support for this: documentation, so I guess it should be possible?
It would be nice to just be able to press a key (spotify-tui uses 'z' for example, but anything else would be fine) and add the currently selected item to the queue. To be honest, to me this only makes sense for tracks or albums, but maybe you have some other ideas?

One thing I really miss is the possibility to add a track or album to the queue.
Rspotify has support for this: documentation, so I guess it should be possible?

Yeah, given the already supported API, adding a "add-to-queue" command should be easy.
I remembered that back then, I didn't implement queue-related features because spotify doesn't provide an API to get items in queue.

@bartlibert sorry for the delay. I have implemented "add-track-to-queue" support in #73. You can initiate the action by calling either ShowActionsOnSelectedItem (on track) or ShowActionsOnCurrentTrack then finding AddToQueue action.
Currently, it only supports track as official API only supports track/episode, but can be extended to album, artist, etc. Before supporting those, I'm looking into a good way to implement/integrate a Queue page to show queued tracks.
As for now, I'll close this issue. Feel free to re-open if you encounter any issues or have any questions.

@aome510 No need to apologize, the work you're doing here is high quality and always quick, thanks a lot!


New command: apply site design

Applies a published site design to a specified site collection

command: spo sitedesign apply -i|--id <id> -u|--webUrl <webUrl>
id: The ID of the site design to apply
webUrl: The URL of the site to apply the site design to
requires connection to a SharePoint site

For more information see https://docs.microsoft.com/en-us/sharepoint/dev/declarative-customization/site-design-rest-api#applysitedesign

@waldekmastykarz, I want to help, feel free to assign that to me.

Excellent! Appreciate you reaching out. All yours!


Change light color

The only thing you can do with lights right now is brightness. I want to be able to change the color.

Hi, @boomer69420. Thanks for the suggestion. This is a feature I plan to add but it will take time since this project is something I do unpaid (except for a few sponsors) in my free time. Closing this issue as a duplicate.


Fix Issue #121: force layer to disk before saving.

As documented in my comment on #121, when I moved us to the "write to tmp, move to final location" pattern, I introduced a bug as the code predates GDAL supporting Close() on datasets, and so there was no explicit release of the final dataset on the slow path for slope generation (there was on the fast path by chance, where we did a DEL on the object).
Since the original code was written, yirgacheffe now supports Python's with style of resource management, so I move the entire code to use that for all the raster layers.

Looks good with mostly things just chaning to the safer with ... abstraction to ensure bits are on this disk -- thanks @mdales \o/


Bk fix year pre selection bug, fixes #1345

fixes #1345

@martijnrusschen can you please cut a patch release?

Done!

Awesome, thank you guys!


[Test] Working test and coverage with ts-jest

Summary
This PR will remove jest-light-runner and reconfigure jest to use ts-jest.
This PR is created following the guide provided in:

https://kulshekhar.github.io/ts-jest/docs/guides/esm-support

Check ESM Jest documentation.
Enable useESM true for ts-jest config.
Include .ts in extensionsToTreatAsEsm Jest config option.
Ensure that tsconfig has module with value for ESM, e.g. ES2015 or ES2020 etc...

https://kulshekhar.github.io/ts-jest/docs/guides/esm-support#support-mts-extension

To work with .mts extension, besides the requirement to run Jest and ts-jest in ESM mode, there are a few extra requirements to be met:

package.json should contain "type": "module"
A custom Jest resolver to resolve .mjs extension, see our simple one at https://github.com/kulshekhar/ts-jest/blob/main/e2e/native-esm-ts/mjs-resolver.ts
tsconfig.json should at least contain these following options {
  "compilerOptions": {
    "module": "Node16", // or "NodeNext"
    "target": "ESNext",
    "moduleResolution": "Node16", // or "NodeNext"
    "esModuleInterop": true
  }
}

Related
To resolve #94
Motivation
To be able to run test and collect coverage
How is this tested?
Tested with both npm test and npm run coverage.

This screenshot above is a output for npm run coverage

Closing. My understanding on how the test run was wrong.
We are suppose to run build first npx tsc before running test.
This PR is no longer necessary as my initial motivation is also covered in the newer commits in #93


Cards disappeared after toggling modes

In Firefox 85.0 on Ubuntu 20.10, I switched from Landscape to Card Mode back to Landscape and the cards disappeared. I didn't see any JS errors in console and I was unable to get the cards to come back with soft or hard refreshes.

@jc00ke I submitted this issue to the upstream app, as they're probably the ones who can actually dig in on this and it is unlikely to be unique to LFPH. Issue here: https://github.com/cncf/landscapeapp/issues/701
I'm going to close this one.


Deploy Superset on GCP

Hi, I would like to deploy Superset using Google Cloud Platform. I am using amancevice/superset docker images and I follow this tutorial : https://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app
Instead of creating the images with docker build I just commited the containers to get images.
I have been able to do the first steps but when I want to do the step 3 and execute the container of the image locally before deplying it fails.
Many errors are displayed and I don't get anything on my localhost.
Can I get more indications on how I could deploy it correctly?
Thanks

Can you post exactly what you have done and maybe the relevant lines of the console log? I have deployed Superset on GCP with no issue. Maybe I can help.

I have been able to progress on this issue. Instead of using amancevice/superset docker image I am using tylerFowler/docker-superset image now. I have been able to follow all the steps and my application has been deployed to an external IP address (http://<IP_ADDRESS>). I would like to know how I could modify the domain name to a customized one instead of having an external IP address to access it. Thanks


should show up in navigation panel

widget works great, but i don't see anything in navigation panel...
am I doing something wrong?

Is there really nothing there or is it just in the wrong text color?

I've just tagged a 1.1.0 release, see if that works for you, but I can't replicate this issue in the Filament Demo.

in a new project it's working now. don't know what went wrong there previously.
small nitpick: would be cool if it was 1 line...

There's no way to make it fit on one line. :) Especially if you add more items to it.

allright then :)


Add Visual Studio 15 (2017) to defaults

just bump the visual studio version list.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

The problem is that VS150COMNTOOLS is not set by default from VS 2017 anymore.
I have to take a took to the new way to do it.

Is VS 2017 already supported by Appveyor? Note that this will change the default build of users, and it will break if not properly supported (auto-detection of VS2017 will fail due to missing vs150comntools env var.)

Some refs to take a look:
http://help.appveyor.com/discussions/kb/48-vs2017
https://github.com/Microsoft/visualfsharp/issues/1761#issuecomment-261802149
https://github.com/Microsoft/visualfsharp/pull/2690

@lasote maybe you find a better solution (what microsoft suggests looks a bit impracticable: https://blogs.msdn.microsoft.com/vcblog/2017/03/06/finding-the-visual-c-compiler-tools-in-visual-studio-2017/ ), but i ended up bruteforcing the path...
def vcvars_command(settings):
    param = "x86" if settings.arch == "x86" else "amd64"
    existing_version = os.environ.get("VisualStudioVersion")
    if existing_version:
        command = ""
        existing_version = existing_version.split(".")[0]
        if existing_version != settings.compiler.version:
            raise ConanException("Error, Visual environment already set to %s\n"
                                 "Current settings visual version: %s"
                                 % (existing_version, settings.compiler.version))
    else:
        env_var = "vs%s0comntools" % settings.compiler.version
        try:
            vs_path = os.environ[env_var]
        except KeyError:
            if settings.compiler.version != "15":
                raise ConanException("VS '%s' variable not defined. Please install VS or define "
                                     "the variable (VS2017)" % env_var)

            # brute force the path for vs 15 (2017):
            if os.path.isdir("C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/Tools"):
                vs_path = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/Common7/Tools"
            if os.path.isdir("C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/Tools"):
                vs_path = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/Common7/Tools"
            if os.path.isdir("C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/Tools"):
                vs_path = "C:/Program Files (x86)/Microsoft Visual Studio/2017/Enterprise/Common7/Tools"
            if os.path.isdir("C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Common7/Tools"):
                vs_path = "C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/Common7/Tools"
            if os.path.isdir("C:/Program Files/Microsoft Visual Studio/2017/Community/Common7/Tools"):
                vs_path = "C:/Program Files/Microsoft Visual Studio/2017/Community/Common7/Tools"
            if os.path.isdir("C:/Program Files/Microsoft Visual Studio/2017/Professional/Common7/Tools"):
                vs_path = "C:/Program Files/Microsoft Visual Studio/2017/Professional/Common7/Tools"
            if os.path.isdir("C:/Program Files/Microsoft Visual Studio/2017/Enterprise/Common7/Tools"):
                vs_path = "C:/Program Files/Microsoft Visual Studio/2017/Enterprise/Common7/Tools"
            if os.path.isdir("C:/Program Files/Microsoft Visual Studio/2017/BuildTools/Common7/Tools"):
                vs_path = "C:/Program Files/Microsoft Visual Studio/2017/BuildTools/Common7/Tools"
        if settings.compiler.version != "15":
            command = ('call "%s../../VC/vcvarsall.bat" %s' % (vs_path, param))
        else:
            command = ('call "%s../../VC/Auxiliary/Build/vcvarsall.bat" %s' % (vs_path, param))
    return command

(This is more related to conan itself)
It seems vs 2017 is not ready at all.
Personally I really much dislike microsofts policy to 'force' people to download vs2017 the day it arrived (by hiding the download of vs2015 behind a register/login-wall).
Ive tested it now and it seems appveyor does not yet contain vs2017.
Hence I think this PR should be deferred.

Another note is that vc 2017 tries to stay ABI compatible to 2015 according to
https://groups.google.com/forum/#!topic/boost-list/g2gswFUuTrs

Hi @a-teammate , you are right, it is ABI compatible.
However, one thing is ABI compatibility and another is that it will generate the same binary. 2017 (or toolset 14.1) might have improvements in the compiler that could generate faster code or even avoid some bug. So we thought it makes sense to be able to generate the 2 binaries in the general case, one with 2015 and other with 2017. If people want to create just a single binary that will be compatible for both, it is very simple with package_id(), something like:
def package_id():
      if self.settings.compiler == "Visual Studio" and str(self.settings.compiler.version) in ["14", "15"]:
              self.info.settings.compiler.version = "14.X" # or any string, as long as not changed


New ENV parameters for customizing OpenVPN TCP and UDP subnets

Added a feature to customize OpenVPN TCP and UDP subnets in the container environment variables (ENV), to resolve conflicts with client network settings caused by the default values (<IP_ADDRESS>/22 and <IP_ADDRESS>/22).

need to fix some bugs again


sap_general_preconfigure: nobest parameter is available in the dnf module only from ansible-core 2.11

So we have to replace it.
It's in https://github.com/sap-linuxlab/community.sap_install/blob/4e55919fb7145a777b9debd560b79c6c8545c92a/roles/sap_general_preconfigure/tasks/RedHat/installation.yml#L186. It came in only with commit 7fdcc136019cb4779d8e8c1463615bece9c15492 .
So we either have to no longer use the nobest parameter or go back to https://github.com/sap-linuxlab/community.sap_install/blob/ff5ad8941f77e5f7eaa0ef204ce3a2b438f5dd7f/roles/sap_general_preconfigure/tasks/RedHat/installation.yml#L113.

I suggest review of the original reason for using nobest in the first place. Unless there is a bug or other side effect, it should be enough to keep state: present (= do not install newer package versions if they are already installed, i.e. do not update).

@ja9fuchs Bug 1983749 should have all necessary information. This bug is also mentioned in the line above the task name.


"clojure" test runner broken in 4.17?

In a CLJS project on 4.17,  running g:conjure#client#clojure#nrepl#mapping#run_current_ns_tests
using g:conjure#client#clojure#nrepl#test#runner = "clojure" results in
run-ns-tests: rose.exp-lang-test
being displayed, but nothing more happens.
Reverting back to 4.16 makes the test runner work as expected.

So it wasn't what I thought. Are you sure your test file has been evaluated / loaded before you attempted to execute the tests inside the namespace?

I can't actually reproduce this, all testing tools are working for me in CLJ and CLJS, but maybe it's something specific about my shadow-cljs test environment.

Yes, i am sure. (Even though eval_file and eval_buf does not seem to work on my test-files the first time in a new cljs repl, but that might be its own issue...)

I created a minimal example project to replicate the behaviour: https://github.com/sigvesn/conjure-testrunner-fail-example

Hmm I'll try your repro asap but that other issue you mentioned sounded really weird too, maybe they're related and something more fundamental is wrong.
It could just be figwheel + piggieback being different to shadow-cljs (which is what I used to test), I'll take a look!

Thanks! The problem regarding loading of the test file is also present (for me at least)  in the repo when i open a fresh repl, start the browser and try to run the test(s).

I think I found the issues, sadly figwheel / piggieback based cljs evaluations work a little different to normal Clojure or shadow-cljs based REPLs. If I send two forms in one eval it seems to ignore the second or maybe suppress stdout? Not sure what was going on, but I rewrote it a little to only send one form at a time and it seems happier now!
Sorry for the interruption to your service 😅 if you could check this out for yourself on the develop branch that'd be great! Thanks!

Great, running tests now works as expected on develop  :)
The problem of having to load the test-file remains however, i am curious if you where able to replicate that problem as well?

I also have to load the test file before I run the tests, that's expected, I deliberately didn't complect evaluating your code and running your tests. Just in case a user would run into issues and be surprised by it. I'd rather not ask for forgiveness in this situation.
The thing I recommend to people with this is to create their own mapping if they really need this that maybe override's Conjure's and performs an eval and then a test. If that's the issue you were describing?

That makes perfect sense. The unexpected thing for me is that i cannot load the test file using the eval_file or eval_buf mappings, but have to "manually" load the file with ConjureEval(load-file "...")

Closing this now since I think the core issue is fixed, if you're still having that load file issue though I may need to look into that separately. I couldn't reproduce it at the time though 🤔


Can't find forwarder plugin in the atak

I have installed 4.7.0 atak in my samsung s20 fe, and installed the forwarder 1.1.3. but I can't find the pulg in the atak.

I am currently experiencing the same issue.

Same issue here. Any word on what the solution might be?

Same issue here as well. @paulmandal, have you determined if there is a device-specific issue here? I am using a S20 FE as well. Any help is greatly appreciated, sir!

I think the developer has abandoned the project.

nah I'm just really busy

thx Paulmandal, you spended your time for this project

Why would that be? Is the plugin looking for a hardcoded value?

Why would that be? Is the plugin looking for a hardcoded value?
google signed the play store app? Not sure why.

Try this release: https://github.com/paulmandal/atak-forwarder/releases/tag/2.0.1


Requirements for a feature staying in the repo

This is to track the work necessary to do on features already there.
A feature should:

Have a proper docstring
Have a link to the paper it comes from in the docstring.
Be displayed in the documentation
Have an API which correspond to the one used in keras (eg. use lr for the learning rate in optimizers)
Be in a single file
Have unit tests
Those unit tests should be in a single file too.
Those unit tests should run in the CI system (here travis).
Those unit tests should run with theano, tensorflow, cntk, tensorflow.keras. (or have a strong reason to skip one of them).
Should NOT be added automatically to the custom object of keras.
Only use the keras public API (otherwise it won't work with tf.keras)
Have a codeowner for the feature and the tests in the CODEOWNERS file.

Features which do not respect this will be removed / not included in this repo.
Otherwise, we'll end up like tensorflow.contrib :(

Ok that makes sense.

I hope we can make a cool v1.0 :)

Yes, its been a long time coming for this contrib repo. :D


Skia Sharp Mobile Blazor Bindings

Hi @Eilon and @mattleibow, I think this is just about ready to go except for the issues noted below with the SKGLCanvas, which I'm a bit stuck with. Any thought from either of you?
Created a wrapper project to allow Skia Sharp to be used in Mobile Blazor Bindings Apps. Ideally this will be distributed as it's own Nuget.
Fixes #167

API Summary
In a razor component add an SKCanvasView from the Microsoft.MobileBlazorBindings.SkiaSharp namespace.
SKCanvasView
@using Microsoft.MobileBlazorBindings.SkiaSharp
...
<SKCanvasView @ref="CanvasView"
                            OnPaintSurface="PaintSurface"
                            VerticalOptions="LayoutOptions.FillAndExpand" />

Add a method to the component called PaintSurface  which takes an SKPaintSurfaceEventArgs parameter. The canvas is accessed using e.Surface.Canvas. The simplest usage is to clear the canvas and apply a color.
private void PaintSurface(SK.SKPaintSurfaceEventArgs e)
{
            var canvas = e.Surface.Canvas;
            canvas.Clear(SKColors.Crimson);
}

The PaintSurface method will automatically be called once when the view renders. If you want it to update again this is done by calling InvalidateSurface on the View which is accessed with @ref=CanvasViews
public SKCanvasView CanvasView { get; set; }
public void Update()
{
    CanvasView.InvalidateSurface();
}

SKGLView
The SKGLView is basically the same as as the SKCanvasView but it is GPU accelerated. In high performance situations this can be useful but in my experience the SKCanvas view is much more popular. The only difference to the API is that the PaintSurface method accepts an SKPaintGLSurfaceEventArgs as the parameter.
There is currently an issue with the SKGLView not working with the Renderer Dispatcher on Android. See known issues below.
Sample
See the SkiaSharpPlayground in control gallery for samples.
Once you have a View wired up with a method to handle PaintSurface, usage is exactly the same as SkiSharp.Views.Forms which has lots of examples around. https://github.com/xamarin/xamarin-forms-samples/tree/master/SkiaSharpForms
Documentation
Documentation PR is in progress, I'll finish it up once we've got this ready to merge.
Known Issues
I'm having problems with using the SKGLView on Android.
I declare an the paint surface event in Razor Syntaxt OnPaintSurface="PaintSurface". This works fine on iOS and fine on the SKCanvas but not on the GPU accelerated SKGLView.
When SKGLViewHandler tries to dispatch the event I run into all sort of weird problems

For use on iOS DispatchEventAsync must not be inside InvokeAsync()
Sometimes I'll get the error on Android "The current thread is not associated with the Dispatcher" which can be fixed with InvokeAsync
If it does run, the view will only update once or twice, but some times I need to call it lots of times close together
If I try to add break point the app crashes completely
Sometimes the crash happens when you try to access the Canvas through the event args
All issues go away if you add the even using the NativeControl instead of using Razor Syntax
To see these issues run the Control Gallery on an Android, click Skia Playground, click Skia GL Paths MBB Events
To see the GLCanvas working correctly by bypassing dispatcher run the Control Gallery, click Skia Playground, click Skia GL Native Control Events

Solution changes

Added MobileBlazorBindings.SkiaSharp Project
Added samples to Control Gallery
Added Build Configurations to allow testing on iPhone

Questions

Can we release this as a separate Nuget? Or will people have to use source? Or someting else?
Given the SKGLView is not essential and it has issues on Android, should we leave it out, or include it without the broken event that can be worked around, or include it with the bug, or do you have any thoughts on fixing the threading issue?
I didn't use the generator because it's such a small API surface(and I couldn't get it to work) but all the features are there. Does that matter, do you want the generated file included for consistency?
@mattleibow have I missed any features?

The Android issue is most probably this https://github.com/mono/SkiaSharp/issues/1465
I need to rework how all this works because there are a few issues on Android:

updates not synced to the screen refresh rate
updates not on the UI thread

Is it possible to allow rendering on a background thread in Blazor? UWP also allows this option. It is good for games because then the UI is not impacted by a high framer ate.

Thanks Matt.
That's interesting, I'm not quite sure if it is related to that, given it works perfectly when I add the event to the Forms control directly instead of using the MBB renderer.
e.g.
//This works
(CanvasView.NativeControl as SK.SKGLView).PaintSurface += SkiaSharpGLPlayground_PaintSurface;
//This doesn't
OnPaintSurface="PaintSurface"

If you're going to rework some threading stuff, that might be the cause, I think the best solution for this project is to remove the SKGLView until the Android threading issues are under control in SkiaSharp, and release this with SKCanvasView only for now. I'm happy to provide more info or test things out if I can help.
As far as rendering goes in Mobile Blazor Bindings, it is all handled by Xamarin Forms so I think all the same rules would apply. i.e. Android and iOS need to be updated on the main thread. This is complicated a little by the way MBB keeps its own UI tree and decides when to update things using the NativeComponentRenderer and Dispatcher. But I think it all boils down to Xamarin.Forms controls that must be updated on UI thread.
In WebBlazor I have found that StateHasChanged() must be called on the UI thread. StateHasChanged() is a bit like NotifyPropertyChanged but it triggers an update of the whole UI instead of just bits bound to a property. That sounded slow to me at first but they do it with clever diffing so it only changes the relevant bits, like in MVU.

Seems fair to leave the SKGLView out for now.

I've fixed all suggestions, thanks for those.
I've removed the SKGLView, Handler and all relevant samples. I've kept the code on a separate branch so we can bring it back if we work out the threading issues or if someone requests the feature and is happy to work around the limitations.

It's in!

Oh and I just added this so that it will publish NuGet packages to the feed: https://github.com/xamarin/MobileBlazorBindings/commit/c082e29c385517751d31899dd5f6782dbfd633b2


consult sincerely some question

I'm new to the rust language, which consult sincerely some question for you.
In some cases, pressing the capslock then to press other key, I don't hope seconde key to implement default behavior.
So, Is there a method or library to block the default behavior from happening?
Thx!

This crate has unstable_grab feature that shuold allow you to do what you want. It's unstable for a reason though, so your mileage may vary.
Check out the examples to see how it works.


Base paths and fixed file names must not depend on translations

I think it's a mistake to use translations for descriptions base paths and fixed file names.

Thx


M3 forces sim

surfaceFeatureExtract run for each part of the geometry in geometry.py: lowers the file size, and seems to make the simulations more stable (i.e. the timestep can be made to be larger and does not have to be minuscule at the start)
parseForces.py added to plot the results in forces.dat so that the loading as a function of simulation time can be visualised
Simplified meshes of the core/dart, these will have to be changed now that the dart has been extended in length.

Coverage decreased (-0.9%) to 92.683% when pulling c35fa69eaaa0722b056e35d801c5bc3cff20260e on boyuanxiao:M3ForcesSim into 184ceaf795fae5e470e2126a25c942a064b98494 on cuspaceflight:master.

Coverage decreased (-0.9%) to 92.683% when pulling b156d5a975864ffa6d12f66b84b55141992682e4 on boyuanxiao:M3ForcesSim into 184ceaf795fae5e470e2126a25c942a064b98494 on cuspaceflight:master.


Last CSS File Is Not Loaded

Last css file in a list of files is not loaded. Anyone else have the same issue? Or a solution to the problem?

Sorry, nevermind, there was an extra ending curly brace in one of the CSS files, that was making the CSS rules from the last appended file unreadable.


Work out colours

[x] choose primary colour #00796b
[ ] choose logo (depends on finalising the name)
[ ] ensure accessibility
[ ] apply to site

Accessibility report for #00796b, showing the only contrast failure is at font sizes smaller than 18px for AAA level, which is fine as we're shooting for AA.

Generated by https://contrastchecker.com/.

Colours, branding, logo waiting on a name.


Add logic for creating hidable "hints" in sample code

Adding "hint syntax" to AMP by Example
Background
It seems useful for some samples to have a "callout" with additional information in a larger block of code that's only displayed when the user clicks on it.
An example of this is the Google Maps Platform docs where YOUR_API_KEY is clickable. In the context of AMP, this can be useful to call out things that should be done server-side and shouldn't be copy-pasted directly (this came up for some AMPHTML Email samples that are WIP, but is probably applicable elsewhere as well).
Usage
Comments wrapped inside  are treated as hints and will apply to the element that follows them. For example:

Hello.

Also, hi.

This part is not clickable

This part is not clickable

Mechanics
Since highlight.js has no native support for this, the mechanism used to achieve is the following:

Treat comments inside  as a special case, i.e. leave them in the HTML sent to highlight.js rather than processing and breaking into a new section.
Store the content between  in an internal state and assign the hint an ID.
Replace the whole comment element with  (where 123 is the previously assigned ID).
Process the next element in the HTML  and append  after its closing tag (or immediately after if it's a tag that doesn't close, like <input>.
After calling the highlight function from highlight.js, process the output and use the generated  tags as hooks to replace with the HTML for displaying the hint.

Other changes
Logic for the endOfCurrentTag method inside DocumentParser.js had to be amended to take into account void elements and treat them as ending themselves, i.e. <base href="/"> is treated as if the line is <base href="/"></base>. This is to allow applying hints to these tags (most notably <input>).
Future improvements

It's currently impossible to have finer granulation than tag-level, e.g. a hint can't be applied to a single attribute.
The content inside the hint should be treated as markdown rather than HTML.

@fstanis this is awesome!

@fstanis before merging I think @kul3r4 should review/test it in staging because it is a core change.

@fstanis wonderful job! could you deploy a version of ABE containing this changes somewhere so that we can test it?

So, I ran a diff on the generated files to compare with master and it seems the only regression is in /samples_templates/product_browse_page/ where the final
 is dropped because the <input> is considered the end of that section.
Seems the easiest way to fix it is to just use the hint syntax there, which also serves as a good demo. :)
Will get a staging version somewhere next week for some additional reviews.

Staged: https://abe-staging.appspot.com/samples_templates/product_browse_page/

@spacedino could you give us some feedback? In order to see this in action:

go to https://abe-staging.appspot.com/samples_templates/product_browse_page/
got the section "Header with search"
scroll down in the code section until the end, the tag input type="submit" with the blue background has the hint: you can click on it to see the hint

Took another look. Few suggestions:

left align text

use ABE color scheme for background color.

animation expand up instead of reveal (similar to toast example). What do you think about making the tooltip appear inside the doc to not overlay the code above?

show close icon in tooltip (but keep the logic of clicking anywhere in the tooltip to close it).

add a bit upper and lower margin & padding to has-hint:
.abe-code .has-hint {
  ...
  padding: 0.5rem 0;
  margin: 0.5rem 0;
}

Latest version here: https://abe-staging.appspot.com/samples_templates/product_browse_page/
@spacedino would still love to hear your feedback before we merge, if you have the time.

Two comments:

can you speed up the transition, e.g.: transition: transform .25s ease-in-out;
the close icon does not show

@fstanis looks good but I am concerned that they are getting lost because they look so similar to the code snippet containers. Them not having a drop shadow is also adding to this I think. It's hard for me to tell though because I cant interact with it yet (unless I'm missing something). Maybe we can make the container light pink? Like 10% of the ABE pink?
Agree with all of Sebastians comments as well.

the font for the hint should be Montserrat to match the body / explanatory text.
i think the link is broken in the below image
can we use the same treatment for the component names through out? I realize they grey on grey wont work so maybe we can try the pink bg or maybe a 1px border?

Also I think this is the ABE visual design for hints? Or is that something else....?

This is what the current version looks like:

@spacedino yes-you're right. We probably should use the same background color.

Updated to match existing yellow hint @spacedino linked to and fixed issues with close icon (hopefully, please confirm - seems to be Mac-specific) and animation speed.
Latest version:

Should be live here: https://abe-staging.appspot.com/samples_templates/product_browse_page/

can you fix this as part of your PR Filip?

Seems this one was fixed in some other PR, but I neglected to rebase master. Fixed now.

Oh actually seeing the yellow in practice I think I was wrong. The white one with rounded corners looks better. Apologies for logging those previous bugs here, I should've created a new ticket.
Doe we even need an X? How about this chevron svg attached?
ic_keyboard_arrow_down_grey600_24dp.svg.zip

I thought you meant using the yellow for the code background (instead of the light pink).

Yea I think that is better bc I'm not sure if the color text is a11y compliant with the pink. I do love the light pink though :)

Yellow variation feels a bit "off", i.e. the contrast is low:

also I'm seeing a red arrow

Note to self: never use emojis as icons again.

Hi all, any objections to submitting this as-is (pink version from my last screenshot)?
I'm OK with making further UX changes later if needed.

SGTM


fix opam verification and pinning

Verification should not entail pinning, but pinning entails verification.
Empty spec should fail verification.  Currently an empty version string fails (correctly), but the empty list does not:
"ppx_jane": [""],  ## fails verification
"ppxlib": []   ## passes verification

Problem: the empty list is currently used for packages that are distributed with the compiler and have no version string, e.g. bytes, unix, etc.  Use [None] for these?

No longer applicable.  It's up to the user to get the switch in order, tools_opam just uses it.


Issue

Hello there,
I was trying to makea selectFor without null value. I made my objet not nullable and add the hasUndefined:false props. But The component still has the 'noSelection' value.
According to stan, the following line contains a bullshit test that obviously doesn't work :
https://github.com/KleeGroup/focus-components/blob/develop/src%2Fcomponents%2Finput%2Fselect%2Findex.js#L72
Hope you'll have a nice day.

Could you add a description ?

:)

@Pandakls thank you for the description, it will be fixed in the upcoming release


Deploy infrastructure resources to AWS region us-west-2 and update to current project architecture

Ticket

https://wicmtdp.atlassian.net/browse/PRP-193
https://wicmtdp.atlassian.net/browse/PRP-161
https://wicmtdp.atlassian.net/browse/PRP-194

Changes

What was added, updated, or removed in this PR.

Change regions from us-west-1 to us-west-2
Modify the env-template to create 1 database, 1 service cluster, and 3 services
Update some CI/CD from the infra template (cd.yml, Makefile, bin)
Move IAM module to be called by the infra/accounts/account/ module
Break out database resources into separate infra/modules/database module
Break out random password generation into separate infra/modules/random_password module
Break out ECS cluster into separate infra/modules/service_cluster module
Update IAM permissions for wic-prp-eng user group
Rename some variables that were still called api

Context for reviewers

Testing instructions, background context, more in-depth details of the implementation, and anything else you'd like to call out or ask reviewers. Explain how the changes were verified.

This PR started out as just migrating our resources from us-west-1 to us-west-2, but as we deleted all the resources and re-created them, it didn't make sense to re-create them in the wrong pattern when we knew we were about to need them to be different.
So, in addition to the region change, we also modified the env-template to support our current project architecture (1 database, 1 service cluster, 3 services). To do this, we broke out some of the resources that were previously grouped into the service module into their own separate modules. We renamed our resources to ensure that each environment had its own dedicated resources.
Testing

Screenshots, GIF demos, code examples or output to help show the changes working as expected. ProTip: you can drag and drop or paste images into this textbox.

These changes have all been deployed to our AWS account. To confirm that all of the resources exist and are configured properly. Please check all of the following against the terraform files.
build-repository

ecr: https://us-west-2.console.aws.amazon.com/ecr/repositories?region=us-west-2

cluster:

ecs cluster: https://us-west-2.console.aws.amazon.com/ecs/v2/clusters?region=us-west-2

database

rds cluster: https://us-west-2.console.aws.amazon.com/rds/home?region=us-west-2#databases:
rds instance: same as above
ssm password: https://us-west-2.console.aws.amazon.com/systems-manager/parameters/?region=us-west-2&tab=Table#
backup plan: https://us-west-2.console.aws.amazon.com/backup/home?region=us-west-2#/backupplan
backup vault: https://us-west-2.console.aws.amazon.com/backup/home?region=us-west-2#/backupvaults
iam role "postgresql-backup": https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-west-2#/roles
iam role "rds-enhanced monitoring": same as above
iam policy "db-access": https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-west-2#/policies

service

ecs service: service for each cluster
ecs task definition: https://us-west-2.console.aws.amazon.com/ecs/v2/task-definitions?region=us-west-2
ecs alb: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#LoadBalancers:
ecs alb listener: listener tab for each alb
ecs alb target group: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#TargetGroups:
cloudwatch log group: https://us-west-2.console.aws.amazon.com/cloudwatch/home?region=us-west-2#logsV2:log-groups
iam role "task-executor": https://us-east-1.console.aws.amazon.com/iamv2/home?region=us-west-2#/roles
security group alb: https://us-west-2.console.aws.amazon.com/ec2/home?region=us-west-2#SecurityGroups:
security group app: same as above

Sure is! If it doesn't apply, ignore it and I'll approve 🙃
On Mon, Mar 13, 2023, at 11:09 AM, Rocket wrote:

@.**** commented on this pull request.
In infra/modules/iam/main.tf https://github.com/navapbc/wic-participant-recertification-portal/pull/14#discussion_r1134430772:

 "kms:DescribeKey",

   "kms:CreateAlias",
   "kms:Decrypt",

Good question! I'm not sure. I know these permissions allow a user (one of us) in the user group to create and destroy environments, including the S3 buckets.
Do we need to put files into the S3 bucket? Is this in reference to how we're going to handle doc upload?
—
Reply to this email directly, view it on GitHub https://github.com/navapbc/wic-participant-recertification-portal/pull/14#discussion_r1134430772, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFQTP7SID7AKGPAX7WMXFLW35PHHANCNFSM6AAAAAAVS7N34E.
You are receiving this because your review was requested.Message ID: @.***>

Sure is! If it doesn't apply, ignore it and I'll approve 🙃

@microwavenby Yah, this PR doesn't cover anything to do with doc upload, so it's a good concern for @aplybeah's upcoming PR on doc upload


Silent vulnerable package warning

Closes #<ISSUE_NUMBER>

PR Checklist

[ ] Created a feature/dev branch in your fork (vs. submitting directly from a commit on main)
[ ] Based off latest main branch of toolkit
[ ] PR doesn't include merge commits (always rebase on top of our main, if needed)
[ ] New integration

[ ] Docs are written
[ ] Added description of major feature to project description for NuGet package (4000 total character limit, so don't push entire description over that)

[ ] Tests for the changes have been added (for bug fixes / features) (if applicable)
[ ] Contains NO breaking changes
[ ] Every new API (including internal ones) has full XML docs
[ ] Code follows all style conventions

Other information

@aaronpowell,
following error case build fail:
/home/runner/.nuget/packages/msbuild.sdk.sqlproj/2.9.1/Sdk/Sdk.targets(100,5): error : The current SDK bundles target framework '9.0' which is not supported by MSBuild.Sdk.SqlProj. Either install a .NET Core SDK that supports 3.1, 5.0 or 6.0, or file an issue at https://github.com/rr-wfm/MSBuild.Sdk.SqlProj/ to add support. If you have preview SDKs installed, you may have to use a global.json file: https://docs.microsoft.com/dotnet/core/tools/global-json [/home/runner/work/Aspire/Aspire/examples/sql-database-projects/SdkProject/SdkProject.csproj]

Any idea?

@ErikEJ @jmezach do we need to upgrade SQL SDK?

Looks like we need to upgrade to the 3.0 release of the SQL SDK. This is because we build with .NET 9 on the runners and now it's not preview it is the primary .NET SDK that is used, but the 2.9.1 SQL SDK doesn't support .NET 9 and thus errors.
I've done that upgrade as looking at the issues it seems that 3.0 has just been waiting for the .NET 9 GA to drop the -beta.2 tag.

@aaronpowell yes, we will release 3.0.0 very soon

Once it's done and the package is published can you update the project file to drop -beta.2 please?
I didn't dig into it completely but I'm assuming it's just a "quirk" of how the SDK Project types are handled with respect to .NET versions.
Also, I noticed that the 3.0.0 package is only .NET 9, would it not make more sense to use multiple TFM's?

@aaronpowell It is a bit more complex, we have a command line tool that targets multiple .NET versions, called by the Build SDK . Where do you see NET 9.0 only?

ah wait, my bad, I thought the nupkg was only .NET 9 but no, I must've been thinking of something else (I've been inside soooooo many nupkgs today 🤣)

@aaronpowell PR created: https://github.com/CommunityToolkit/Aspire/pull/232


Fixed bug preventing variable-length string attributes from being corrrectly read

For variable-length strings, H5Aread allocates the memory itself. Without this fix I get garbage (an asciified pointer) when trying to read variable-length string attributes.

I suspect the error was
std::unique_ptr<char> buf(new char[H5Aget_storage_size(attr_id)]);

but should be
std::unique_ptr<char[]> buf(new char[H5Aget_storage_size(attr_id)]);

because although both compile the second is correct
I'll experiment with this.  The freeing of the buffer may need to move

That makes sense, and I agree it would be preferable to use unique_ptr over C pointers if possible, though I think you might want to pass H5free_memory as a template argument to unique_ptr instead of using default_deleter, i.e. something like
std::unique_ptr<char[],H5free_memory> buf(new char[H5Aget_storage_size(attr_id)]);

That makes sense, of course it'd be better to use unique_ptr instead of C pointers if possible.
I was going off this SO, which advises allowing libhdf5 to allocate the memory for variable-length string attributes, and that does seem to work; but the example here allocates the memory in the caller, and I guess that works too.

we could drop going through a string too.  The char[] should be possible to cast right into the
attrs->Set(v8::String::NewFromUtf8(v8::Isolate::GetCurrent(), attrName.c_str()),
                          v8::String::NewFromUtf8(
                              v8::Isolate::GetCurrent(), (char*)(buf.get()), v8::String::kNormalString, H5Aget_storage_size(attr_id)));

or the length might come along as it's own variable.  I will have to reremember what test I had for these.  If there is a short set of data you would like to be a part of the unit tests let me know

I like to move toward letting the compiler handle the scope for a variable and the unique_ptr will remove an array at the correct place if the [] is there; otherwise it leaks as well as have the issue you saw


Feature request: Ability to stop kraken gracefully at some point in future

This is more of a feature request then issue, I am looking to incorporate a single pod failure scenario that runs for variable amount of time(we will not know how long the test runs, it could be set of functional positive tests and keeps increasing as we add more).
At the end of tier1 tests we want to stop the kraken gracefully, so that we can parse the results from the disruption.  We can add some mechanism inside kraken eg: reading external 'stop' file and/or any other mechanism that will help achieve this.

Fixed by #158 and #168, thanks to @paigerube14. Closing the issue, @vasukulkarni feel free to reopen in case we need to improve the behavior.


Remove nonexistent directory from just recipe display list

Fixes

Fixes #4668 by @AetherUnbound
Description

This PR fixes an issues which was causing an infinite loop when printing all of the available just recipes. docker/nginx no longer exists (removed in #4605), and so that line was failing and causing the command to restart over and over again. This now appropriately prints all of the available recipes.
Testing Instructions

Check out the branch and run ov just. On main this would loop, but on this branch it should print everything once.
Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (ov just catalog/generate-docs for catalog
PRs) or the media properties generator (ov just catalog/generate-docs media-props
for the catalog or ov just api/generate-docs for the API) where applicable.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

Thank you! That was very annoying. How did you find this was the root cause? :)

I looked through the default top-level just recipe and saw which recipes were printed until the loop started again, and noticed they stopped right when the docker/nginx one was supposed to run!


Woo, it's so amazing for your rapid implementation!您好，请问现在caption的接口有开放的计划吗？

          Woo, it's so amazing for your rapid implementation!

The reason why we do not open RAM captioning interface is because we have not yet fine-tune its captioning performance to the best. We will try our best to fine-tune the captioning performance of RAM to the best and open corresponding interfaces within a few weeks.
Thank you again for your attention and amazing implementation!
Originally posted by @xinyu1205 in https://github.com/xinyu1205/recognize-anything/issues/13#issuecomment-1584735587

Hi, thanks for your attention.
Due to my busy schedule, I am unable to fine-tune the captioning of RAM in the near feature.
I recommend you can use Tag2Text captioning directly, as its performance is already excellent.


Allow code to open directories in nautilus file manager

VSCode Version: 1.7.1
OS Version: Ubuntu 16.04

The nautilus file manager in Ubuntu and other GNOME-based Linux distros has a right click "Open with" option available for opening files and or directories. Currently, vscode supports open with for text files but not directories. Since I often open code repositories with vscode, it would be nice to be able to right click and select "open with ... " and then chose "code" to open a new instance of vscode using the directory.
Steps to Reproduce:

In nautilus, choose a folder. Right click and select "open with" submenu
Visual Studio Code is not listed in submenu.

If you repeat above with a plain text file, it works.
Nautilus uses the MimeType defined in the *.desktop file for associating applications with a particular file type. For directories, the desired mime-type is inode/directory. Simply changing the following line in code.desktop from
MimeType=text/plain;
to
MimeType=text/plain;inode/directory;
should suffice (though it may be necessary to log in/log out to have change take effect ... alternatively running update-desktop-database and restarting nautilus may work.

Thanks @jamesbo13 this works perfectly! You shouldn't need to log in/out for it to apply as we call desktop-file-install in the postinst step. This is coming in 1.8.0.

verified on Elementary OS Freya

Just adding a note that I have turn off this feature because it's extremely invasive throughout at least Debian & Xfce. It's not just VS Code getting added to a context menu. Most commands opening a folder in Xfce now opens VS Code. For example, opening the folder of a downloaded photo in Firefox -> Opens in VS Code.

@jonasnordlund are you sure something else in your setup isn't affecting this? I believe the only change made here though was indicating to the OS that VS Code can open directories. You should be able to then configure which application is preferred for that mimetype (inode/directory).
What is the output of this command?
xdg-mime query default inode/directory

Mine points at nautilus-folder-handler.desktop which is why nautilus opens.

This post seems like a similar issue ... I am suspecting that xfce has made VS Code the default rather than an option (as Tyriar also hints at).

Thanks @jamesbo13. We certainly don't do anything to indicate VS Code would be the default so this seems like an issue in xfce to me.

Reopening after merging in https://github.com/microsoft/vscode/pull/209510

@rzhao271 I'd just make this out of scope now

I'd like to try running some xdg commands over debt week to see if manually modifying the mimeinfo file makes sense or not. If the xdg commands auto-sort the entries even after they've been manually modified, then I'll mark this issue out of scope.

Very frustrated by this feature being removed. After every update, I need to manually register inode/directory as a mime type for VS Code. Surely VS Code doesn't become the default file manager unless a system doesn't already have one installed? I know VS Code has never been set as the default for any desktop or WM I've ever used.


when showing the readme, list the files in the sidebar

Automatically showing a readme and files are problematic
because there is no guarantee about where the 2nd of the two will show up.
Solve this by showing the files in the sideabar.
This solution can make it hard to see README headers.
However, a README should generally link out to other documents
and not contain lots of headers itself.
It also creates an incosistency that this is not done for other files.
I think we could make this more consistent in the future
by making file listings and headers collapsible.

I can't really understand your feature :) Would you like to provide a screenshot about what is it?

@breeswish this will show the files in the sidebar when displaying the README

Before this change, it is possible that the file list might not even be noticed, particularly if the README is longer.


MAX_ANGLE. The reasoning of.

Hello @chinyue, great job. Thanks.
Could you explain the meaning of constraint MAX_ANGLE?
Underlying backgrounding? Why exactly 0xF800? Where is it coming from?
I assume there is some connection with "that the first 2 bytes of SAS message is 0x800C after starting the car without moving steering wheel" (Minor four bits are flags).
Ie the maximum positive angle is 0x800 (2048 degrees), respectively, the maximum negative angle is 0xF800 (-2048 degrees).
Total, absolute maximum angle (positive and negative, or lock to lock) is MAX_ANGLE = 0xF800.
If it's right, then what about the data range between maximum positive angle 0x800 and 0xFFF (-1 degrees)? Should we bypass it without scaling too(as in case MAX_ANGLE and above values)?
And, why are you not bypassing without scaling the message 0x800C?
I understand that this message is necessary for initialize VDC ("hey SAS - here").
Or angle value does not matter on init? There are enough flags.
Thanks.

Hi @olehkodak
The 0xF800 is actually the return value from get_angle() if the initial value 0x800C is passed to it.
If we see 0xF800 from get_angle then we simply forward the initial state, assuming that some components might expect that initial state from CANBUS.

Hi @olehkodak

Hi @chinyue, thanks for the reply.

The 0xF800 is actually the return value from get_angle() if the initial value 0x800C is passed to it.
If we see 0xF800 from get_angle then we simply forward the initial state, assuming that some components might expect that initial state from CANBUS.

I see it, now. Perfectly.
.
Can you tell me if the sensor sends packets continuously(at a certain frequency) or only once per angle changes?
Did you somehow estimate how many packets per second should be proxied and enough for this Arduino?

Can you tell me if the sensor sends packets continuously(at a certain frequency) or only once per angle changes?
Did you somehow estimate how many packets per second should be proxied and enough for this Arduino?

The sensor sends packets continuously. That means it sends the initial 0x800C repeatedly before the steering wheel is turned and after that it sends the angle data continuously.
I didn't do a precise calculation but it feels like the sensor sends out the angle message every 100ms and Arduino is capable to handle that rate.


Add support to Stash indicator (zsh feature)

Can be git stash symbol ≡ supported like in ZSH version?
Please.

Nice catch! :clap:
You can follow what we did with pure_symbol_git_dirty:

write some fixtures and tests ./tests/_pure_prompt_git_dirty.fish.test.fish
add a config variable pure_symbol_git_dirty in conf.d/pure.fish and test it+ _pure_set_default pure_symbol_git_stash "≡"

implement the function functions/_pure_prompt_git_dirty.fish.fish
update the documentation

For reference: Zsh implementation https://github.com/sindresorhus/pure/blob/81dd496eb380aa051494f93fd99322ec796ec4c2/pure.zsh#L153-L156
Would you mind proposing a pull-request ?

Great news. Thank you!

Please see my attempt. However, it's not ready and my experience is not enough to finish without help.
https://github.com/rafaelrinaldi/pure/pull/222

I'm not Fish shell guru. Looks like nobody interested. Closing this by inactivity.

I will look into merging this issue in the coming days

👏


Bump apollo-link dependency version

The version constraint was out of date, resulting in an extra copy of apollo-link installed just for this package to use.

Thanks for the PR @dobesv! I did this along with another PR and published v2.1.0.


DecimalConversion error in daily energy sensor

Logger: homeassistant.components.sensor
Source: custom_components/powercalc/sensors/daily_energy.py:196
Integration: Sensor (documentation, issues)
First occurred: August 18, 2022, 22:47:12 (2 occurrences)
Last logged: August 18, 2022, 22:47:12

Error adding entities for domain sensor with platform powercalc
Error while setting up powercalc platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 428, in async_add_entities
    await asyncio.gather(*tasks)
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 673, in _async_add_entity
    await entity.add_to_platform_finish()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 775, in add_to_platform_finish
    await self.async_added_to_hass()
  File "/config/custom_components/powercalc/sensors/daily_energy.py", line 196, in async_added_to_hass
    self._state = Decimal(state.state)
decimal.InvalidOperation: [<class 'decimal.ConversionSyntax'>]

Fixed with #1046


Fixed typo in README

tools -> tool

The other commit has nothing to do with your project, I have forked it to be compatible with modpacks.

I can't merge this PR, because you pushed that other commit to the same branch - i'll just make the change directly


indexing bug in DL1EventSource

The code here
https://github.com/cta-observatory/ctapipe/blob/a5ad0f181a2f1565324ce6af5c18a806c9b33dd5/ctapipe/io/dl1eventsource.py#L281-L283
adds 1 to the tel index to get the tel_id, but this is not correct in general, particularly if the subarray is a sub-selection of a larger array.   E.g. if we subselect only telescopes [5,7,9,100], the tel_id to index map would be [5: 0, 1: 7, 2: 9, 3:100], which is not tel_index+1
Therefore this should be changed to use the functions provided by SubarrayDescription to take care of this mapping, namely sub.tel_ids_to_indices(tel_ids) or sub.tel_ids_to_mask(tel_ids)
Example:
>>> sub = source.subarray.select_subarray("NewSubarray", [1,5,7,10])
>>> sub.tel_ids_to_mask([1,5,7])

array([ True,  True,  True, False])

>>> sub.tel_ids_to_indices([1,5,7,10])

array([0, 1, 2, 3])

There is no guarantee that tel_id - 1 == tel_index.

Indeed. Also this really should be a method in SubarrayDescription

One problem is that tels_with_trigger seems not to honor the subarray selected in EventSource, so perhaps fixing it there would help as well (or is it useful know if telescopes outside the subarray triggered, so not sure)


Live migrate VMs

Required information

Distribution: Ubuntu
Distribution version: 20.04.1
The output of "lxc info" or if that fails:

Kernel version: Linux node1 5.4.0-64-generic #72-Ubuntu SMP Fri Jan 15 10:27:54 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
LXC version:
LXD version: 4.10
Storage backend in use: Ceph

Issue description
I was trying to move a running VM to a second node and unfortunately that is a feature that does not exist (yet?)
The error states that the container is running . That should say instance.
~
root @ node1 # lxc ls --fast flying-leech
+--------------+---------+--------------+----------------------+----------+-----------------+
|     NAME     |  STATE  | ARCHITECTURE |      CREATED AT      | PROFILES |      TYPE       |
+--------------+---------+--------------+----------------------+----------+-----------------+
| flying-leech | RUNNING | x86_64       | 2020/09/28 09:28 UTC | default  | VIRTUAL-MACHINE |
+--------------+---------+--------------+----------------------+----------+-----------------+

~
root @ node1 # lxc move flying-leech --target node2
Error: Migration API failure: Container is running

Is the ability to live-migrate a VM in a cluster something on the wish list for the LXD project? And if not, I would like to request it :-)
Related to live migration; I have criu enabled in the snap but I understand from earlier github issues (~2018) that live migration of containers is a nono in a cluster but possible when not clustered. The project has improved immensely in the past few years . Is this limitation still necessary ?

VM live migration is on the roadmap but it will take time for us to get there.
We have some initial work scheduled for this cycle to attempt to get stateful stop and snapshots working with VMs.
On the CRIU side, CRIU is currently pretty broken with LXD. We have @brauner working on a couple of critical issues there, once that's sorted we should be able to resume automated testing of live migration in the non-cluster case and maybe eventually allow for it in the cluster case too.
The main difficulty with the cluster case is the temporary rename of the instance as it's being migrated (instance is copied using a UIUD then source is deleted and lastly instance is renamed), it should be doable to get CRIU to behave there too once we sort out the other issues.

VM live migration is on the roadmap but it will take time for us to get there.
We have some initial work scheduled for this cycle to attempt to get stateful stop and snapshots working with VMs.
On the CRIU side, CRIU is currently pretty broken with LXD. We have @brauner working on a couple of critical issues there, once that's sorted we should be able to resume automated testing of live migration in the non-cluster case and maybe eventually allow for it in the cluster case too.
The main difficulty with the cluster case is the temporary rename of the instance as it's being migrated (instance is copied using a UIUD then source is deleted and lastly instance is renamed), it should be doable to get CRIU to behave there too once we sort out the other issues.

I fixed the error message that mentioned container and changed it to instance. https://github.com/lxc/lxd/pull/8387

I fixed the error message that mentioned container and changed it to instance. https://github.com/lxc/lxd/pull/8387


No asking for clarification in qa agent

Maybe it is because i dont have openai api for the gpt4 model,
but even changing the identity agent 'qa' to:
Then you will pick one clarifying question, and wait for an answer from the user. Even if there is no need of clarification, wait for the answer from the user.
there is no clarification asking.
Maybe I am doing something wrong?

Did you append --steps-config clarify?

When i answer the clarification questions for some reason it just outputs a "No" back again and continues with the process. It's kinda funny but probably not expected behavior. Any idea why this is happening?

No, i haven't!
I thought it was a feature, not a execution parameter.
Thanks a lot, this project is funny as f***!!
I'll close this issue, as a problem between keyboard and chair.

Did you append --steps-config clarify?

where do we append this, when running gpte projects/example gpt-3.5-turbo-0613 ?

@flrivera
try gpte projects/example gpt-3.5-turbo-0613 -c
BUT, sometimes the LLM (in particular 3.5) decides that the instructions are clear enough and doesn't ask questions.