Merging multiple point cloud from depth camera

Hi,
I am running the master branch of Carla on ubuntu 18.04 and I'm trying to build a lane mark map from depth camera and semantic segmentation camera on Sync Mode.
The process I followed is:

extract lane lines from segmentation;
project segmentation result to camera frame using pinhole camera model, call it p3d_camera;
transform p3d_camera to the vehicle frame according to https://github.com/carla-simulator/carla/issues/553, call the result
p3d_vehicle;
transforming p3d_vehicle to the world frame using "self.car.get_transform()";
combine multiple captures and build the lane map;

I can get perfectly aligned map if the car goes straight (represented by the red dots in the image), however if I make a turn, I can see overlapping point clouds.

some transforms I used are:

Tvc:  camera to vehicle transform
[ [ 0, 0, 1,  0],
[ 1, 0, 0,  0],
[ 0, -1, 0, 0],
[ 0,  0, 0, 1]]

Twv: vehicle to world transform

    Twv = self.car.transform()
    Twv_matrix = get_matrix(Twv)

    def get_matrix(transform):
        rotation = transform.rotation
        location = transform.location
        c_y = np.cos(np.radians(rotation.yaw))
        s_y = np.sin(np.radians(rotation.yaw))
        c_r = np.cos(np.radians(rotation.roll))
        s_r = np.sin(np.radians(rotation.roll))
        c_p = np.cos(np.radians(rotation.pitch))
        s_p = np.sin(np.radians(rotation.pitch))
        matrix = np.matrix(np.identity(4))
        matrix[0, 3] = location.x
        matrix[1, 3] = location.y
        matrix[2, 3] = location.z
        matrix[0, 0] = c_p * c_y
        matrix[0, 1] = c_y * s_p * s_r - s_y * c_r
        matrix[0, 2] = -c_y * s_p * c_r - s_y * s_r
        matrix[1, 0] = s_y * c_p
        matrix[1, 1] = s_y * s_p * s_r + c_y * c_r
        matrix[1, 2] = -s_y * s_p * c_r + c_y * s_r
        matrix[2, 0] = s_p
        matrix[2, 1] = -c_p * s_r
        matrix[2, 2] = c_p * c_r
        return matrix

Twc: camera to world transform
Twc = np.dot(Twv, Tvc)

finally, for each point in p3d_camera, p3d_world = np.dot(Twc, p3d_camera)

depth image is recovered by:

image = self.depth_image
array = np.frombuffer(image.raw_data, dtype=np.dtype("uint8"))
array = np.reshape(array, (image.height, image.width, 4)) # RGBA format
array = array[:, :, :3] #  Take only RGB
array = array[:, :, ::-1] # BGR
array = array.astype(np.float32) # 2ms
gray_depth  = ((array[:,:,0] + array[:,:,1]*256.0 + array[:,:,2]*256.0*256.0)/((256.0*256.0*256.0) - 1)) # 2.5ms
gray_depth = 1000 * gray_depth

Is there anything I am missing here?
Thanks for trying to help!
Joey

the camera to world transform is from : Twv = self.camera.get_transform()
is it the right function to use?

@DSantosO could you help with this, please?

Sure, I will look into it.

I can send a copy of my code if that helps.
just let me know. Thanks for trying to help.

@Doodle1106 Yes, sure. Post it here or send it to me to<EMAIL_ADDRESS>and I will look into it as soon as I can.

Hi there,
How did you project extracted lane lines information from segmentation camera to depth camera? Can you please share a snippet of your code?

I can send a copy of my code if that helps.
just let me know. Thanks for trying to help.

Hi there,
How did you project extracted lane lines information from segmentation camera to depth camera? Can you please share a snippet of your code?


Loot Potions Only Show with BP

Loot Drop potions only show with a backpack equipped. If no backpack is equipped, the loot potion symbol does not appear.

Even with BP I cant see mine?

I can Confirm this


Fix warnings from Rust 1.59

Test Plan
CI

Codecov Report

Merging #1683 (18f879a) into main (6099175) will decrease coverage by 0.00%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##             main    #1683      +/-   ##
==========================================
- Coverage   65.75%   65.75%   -0.01%
==========================================
  Files         178      178
  Lines       35306    35303       -3
==========================================
- Hits        23217    23215       -2
+ Misses      12089    12088       -1


Mic Audio Bar is not working

Just compiled Yours newest build, flashed it and now I have stuck Mic audio bar when transmitting. It always shows 299 and full scale.

Do you have "ENABLE_SHOW_TX_TIMEOUT" set to '1' in Makefile ?
If so, then you're not seeing the mic audio bar, but instead a TX timeout bar (will slowly reduce until your TX times out).

I though TX Timeout is only displayed on the left side as a numbers counting down, disabled TX TO now, everything works great. Sorry for bothering Youm keep up the good work OneOfEleven. That's my fav firmware since I bought K6. Best regards, Jake


some new ie8 Compatibility

ie8 is not support indexOf and compareDocumentPosition function

@alwaysYoungCohen for Array#indexOf, you should be using https://github.com/es-shims/es5-shim

Yes, this poly won't add ES5 or ES6 features so use @ljharb polyfill for that.
I'll keep this open to see how difficult this spec could be to be implemented in here:
https://www.w3.org/TR/DOM-Level-3-Core/core.html#Node3-compareDocumentPosition

thanks@ljharb@WebReflection


Validating Staged Files in Snowflake

Is your feature request related to a problem? Please describe.
The Result message after executing the "copy into" command is not the same as the one in the snowflake web client snowsight

Describe the solution you'd like
Same result table as snowsight web client. As this result table shows if any error had occured while doing the load into the tables.
Nothing in the message that Dbeaver shows give me any hint or feedback if there were an error while doing the load.

Describe alternatives you've considered
No alternatives
Additional context
Add any other context or screenshots about the feature request here.

Thanks for the request. You can vote for the issue with 👍 under the issue description to promote it to a higher priority.

Hello @fa5fou5
If you have any extra info about how to get this special info, in that cases this extra info will be appear - it will be helpfull for us.
Maybe some query for some system views.


[READY] Fixed translation for error messages

[x] proper en messages for subdomain restricted, invalid characters

Thanks @michalsz, could you fix up those last two rubocop errors?


Implement ECIP-1061 - Aztlan EVM and Protocol Upgrades

PR description
This PR introduces functionality to conform with ECIP-1061 https://ecips.ethereumclassic.org/ECIPs/ecip-1061
Fixed Issue(s)

Added AztlanGasCalculator to remove EIP-1884 functionality.


Chaining transforms

So I've some pretty involved CSS to get a nice spinner going.
$circle-size: 200Px;
$item-count: 12;
$angle: (172 / $item-count);
$rot: -90;

@for $i from 1 through $item-count {
  &:nth-of-type(#{$i}) {
    transform: translateY(50%) rotate($rot * 1deg) translateY(40Px) translateX($circle-size * 1.5);
  }

  $rot: $rot + $angle;
}

Now, note the use of translateY before and after the rotate. Is there a way I can do this in anime? Something akin to:
    @rotation = anime
      targets<EMAIL_ADDRESS>      easing: 'easeInOutCubic'
      translateY: '50%'
      rotate: (target, index) =>
        return ((@settings.rotation / @count) * index) - 90
      translateY: 40'
      translateX: @settings.height * 1.5
      duration: 500

In other words simple chaining transforms like you can do in CSS?

Hmm I think timeline might work for you.  If you want them all to fire at the same time, wrap them in an object each with their own delay and durations.
var myTimeline = anime.timeline({
  loop: 1 // or true for indefinite
});

myTimeline.add({
  targets: @$wrap.get(0).querySelectorAll(@options.cardSelector),
  easing: 'easeInOutCubic',
  translateY: [
    {
      value: '50%',
      delay: 0,
      duration: 250 //half in
    },{
      value: 40',
      delay: 250,
      duration: 250 //half out
    }
  ],
  rotate: [
    {
      value: (target, index) => return ((@settings.rotation / @count) * index) - 90,
      delay: 0,
      duration: 500
    }
  ],
  //translateY: 40' <- not needed, already handled above
  translateX: [
    {
      value: @settings.height * 1.5,
      delay: 0,
      duration: 500
    }
  ],
  offset: 1000, //how long to delay before this .add starts execution
  complete: function(anime){
    //use anime.completed some callback function
  }
});

Play with the delays and durations to create some fun.  For other targets and/or delayed or blended animations simply chain them with additional .add declarations.
If you want them to stagger 500ms each totaling 1500ms across 3 separate animations, do something like:
var myTimeline = anime.timeline({
  loop: 1 // or true for indefinite
});

myTimeline.add({
  targets: @$wrap.get(0).querySelectorAll(@options.cardSelector),
  easing: 'easeInOutCubic',
  translateY: [
    {
      value: '50%',
      delay: 0,
      duration: 250 //half in
    },{
      value: 40',
      delay: 250,
      duration: 250 //half out
    }
  ],
  rotate: [
    {
      value: (target, index) => return ((@settings.rotation / @count) * index) - 90,
      delay: 500,
      duration: 500
    }
  ],
  //translateY: 40' <- not needed, already handled above
  translateX: [
    {
      value: @settings.height * 1.5,
      delay: 1000,
      duration: 500
    }
  ],
  //duration: 1200 //you can cut the whole thing 300ms short using this
  offset: 1000, //how long to delay before this .add starts execution
  complete: function(anime){
    //use anime.completed some callback function
  }
});

I find this method also useful to reset something back to it's original position:
translateX: [
  {
    value: -100px
  },
  {
    value: 'initial'
  }
],
...


Android Basics: Test RecyclerView - scrollTo()

URL of codelab
https://developer.android.com/codelabs/android-basics-kotlin-affirmations-test-lists-and-adapters?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-2-pathway-3%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fandroid-basics-kotlin-affirmations-test-lists-and-adapters#6
In which task and step of the codelab can this issue be found?
Step 2.
Describe the problem
The following line always fails when running the test:
RecyclerViewActions.scrollTo<RecyclerView.ViewHolder>(withText(R.string.affirmation10))
To fix it we should add HasDescendantMatcher as following:
onView(withId(R.id.recycler_view)).perform(RecyclerViewActions.scrollTo<RecyclerView.ViewHolder>(hasDescendant(withText(R.string.affirmation10))))
This is because RecyclerViewActions.scrollTo takes itemViewMatcher as per the API documentation:

Params: itemViewMatcher – a Matcher that matches an item view in RecyclerView

Without using hasDescendant the matcher will match the TextView instead of the itemView container which is required by scrollTo() function.
Steps to reproduce?
1- Run the UI Test AffirmationsListTests.scroll_to_item()
2- You will get the error: Error performing 'scroll RecyclerView to: holder with view: an instance of android.widget.TextView and view.getText() equals string from resource id: <2131623964>'
Versions
'androidx.test.espresso:espresso-contrib:3.4.0'

Thank you @ramezs! I was getting this exact error. The previous test of .scrollToPosition was working fine, but when the test was updated to use the .scrollTo I started getting the error. Adding hasDescendant solved my issue! Hopefully the Android Team will update this tutorial.


[C++][Parquet] Add zlib codec support

See https://github.com/apache/parquet-cpp/pull/11
Reporter: Wes McKinney / @wesm
Assignee: Wes McKinney](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=wesm) / @wesm
Note: This issue was originally created as PARQUET-456. Please see the migration documentation for further details.

Wes McKinney / @wesm:
See completed patch with tests here https://github.com/apache/parquet-cpp/pull/48

Julien Le Dem / @julienledem:
Issue resolved by pull request 48
https://github.com/apache/parquet-cpp/pull/48


Strange effect after pause (ms)

When you enter something while Post4 is in pause, it does not receive your input.
ok 1000 ms ( press <enter> three times )
ok 29;4R

After one second the cursor unexpectedly moves to the upper-left corner of the window. If you then press Enter, the system says that "29;4R" is undefined. "29" is a line number, it may be different.

When you enter something while Post4 is in pause, it does not receive your input.

This is probably because input is handled in VMIN=1 VTIME=0, which disables ICANON that would buffer terminal input.

ok 1000 ms ( press <enter> three times )
ok 29;4R

After one second the cursor unexpectedly moves to the upper-left corner of the window. If you then

The repositioning is a little on the odd side.

press Enter, the system says that "29;4R" is undefined. "29" is a line number, it may be different.

That is the terminal response to the alineGetRowCol() ANSI cursor position request.

This is probably because input is handled in VMIN=1 VTIME=0, which disables ICANON that would buffer terminal input.

Interesting that a pressed key is buffered and available for key, but is not available for accept.
The phrase 1000 ms key . prints the character for a key that was pressed while paused.

This is probably because input is handled in VMIN=1 VTIME=0, which disables ICANON that would buffer terminal input.

Interesting that a pressed key is buffered and available for key, but is not available for accept. The phrase 1000 ms key . prints the character for a key that was pressed while paused.

Well I was only hazarding a guess, before commit 8f806e03dd, which I think addresses the issues.
2000 ms s" PS2" env type pad dup /pad accept dup . cr type

The TCSAFLUSH will discard input, before accepting, which is best in order to ensure the ANSI cursor position request & response are processed correctly before input.  Using TCSANOW or TCSADRAIN results in the cursor jumping as type-ahead keys intermix with the ANSI cursor request/response.
Side-saddle: The cursor position is obtained from the terminal so as to know the current screen location after any prompts from which to redraw the input line while editing.

I have tried and don't see how I can get buffered terminal input and line editing working together.  Probably have to completely rethink aline.c to do that.  For now the above appears to solve the odd behaviour.

I have tried and don't see how I can get buffered terminal input and line editing working together.

The standard does not specify whether the input from the user input device is buffered while the system is paused. Some systems do buffering, some — not.


game server

hello, how are you going to implement the game server?
is that a core? or an app?

Hi
Please explain exactly what do you mean?
This is a socket based core for real time chat apps.
Do you want to create a game?

@scorpio-demon you said this is a chess game server, I want to know do you use WebSocket or UDP.
from your message, I found you are going to use Websocket.
thanks.


romeo_54 (Nature publishing group)

Since there are no separate yamls for Nature methods, Nature Genetics and NSMB, I think this PR closes all of them.

actually, even more. since I am not finding yamls for any of the journals mentioned under journals field. Does that mean this PR closes all of those?

Hi @vivekbhr, thank you so much for this! These edits look great. I just added the urls where I think you pulled the policies from. And yes, romeo_54.yml should cover all of those journals.
(Paging @dhimmel before I merge  as I recall we had some issues with merging from someone's master branch rather than a patch in the past...?)

romeo_54.yml should cover all of those journals listed under journals: but not child-journals:

The idea is that the fields in romeo_54.yml apply to all of the listed journals under journals. The fields will also apply to the journals under child-journals, unless overridden by a more specific child policy.

(Paging @dhimmel before I merge as I recall we had some issues with merging from someone's master branch rather than a patch in the past...?)

As long as the "files changed" for a pull request looks good (and the CI is passing), you can always merge it. The only issue with @vivekbhr making a PR from his master branch is that it can cause issues for future pull requests he creates. Just make sure to start any future pull requests from the latest repository version and not whatever version your master branch is at currently.

@dhimmel @jpolka no worries I always pull before I push :)


python311Packages.azure-mgmt-storage: 21.0.0 -> 21.1.0

Description of changes

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

2 packages failed to build:

azure-cli
azure-cli.dist

6 packages built:

appdaemon
appdaemon.dist
python310Packages.azure-mgmt-storage
python310Packages.azure-mgmt-storage.dist
python311Packages.azure-mgmt-storage
python311Packages.azure-mgmt-storage.dist

azure-cli fix is in #251144


Medium -> Hugo exporting tool

Suggesting a simple yet powerful tool for people looking to export their Medium blog to Hugo

 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.


can skywalking officially support Flink

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[ ] Requirement
[x] Feature or performance improvement

Question

What do you want to know?
N/A

Bug

Which version of SkyWalking, OS and JRE?

Which company or project?

What happen?
If possible, provide a way for reproducing the error. e.g. demo application, component version.

Requirement or improvement

Please describe about your requirements or improvement suggestions.
Flink is regraded as next generation of streaming processing, however to track a message processed end to end in Flink is not that easy. So I'm wondering if skywalking has a plan to officially support Flink? If not, I will try to implement by myself

There is no such thing called official support :) SkyWalking is built on the whole community. If you want more plugins, try to build one and welcome to contribute to the community.
The project relies on every contributor's commits.

So, please try it, send the pull request and work with the committer review team to make it included in main repo

@Icefoxes Build one by yourself, and contribute it back to the community, then it becomes official


SCM - scm.showOutgoingChanges and scm.showIncomingChanges settings are ignored

Type: Bug

Set the following settings in your user settings:

  "scm.showOutgoingChanges": "never",
  "scm.showIncomingChanges": "never",

Open a repository
Commit a change
Observe how the incoming/outgoing tree displays regardless of the setting

VS Code version: Code - Insiders 1.92.0-insider (bcbdd8e575684d6df1def9a478d645c37129c033, 2024-07-25T23:12:28.613Z)
OS version: Darwin arm64 23.5.0
Modes:

System Info

Item
Value

CPUs
Apple M3 Pro (12 x 2400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledwebgl: enabledwebgl2: enabledwebgpu: enabledwebnn: disabled_off

Load (avg)
3, 2, 2

Memory (System)
36.00GB (2.77GB free)

Process Argv
--crash-reporter-id 427cb644-d627-42a0-aa3a-ac68ebc3e7d1

Screen Reader
no

VM
0%

Extensions disabled
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256197
vsc_aa:30263845
vscod805:30301674
vsaa593cf:30376535
py29gd2263:31024238
c4g48928:30535728
962ge761:30841072
pythongtdpath:30726887
welcomedialogc:30812479
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythonregdiag2:30926734
pythonmypyd1:30859725
2e7ec940:31000449
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
cppperfnew:30980852
pythonait:30973460
g316j359:31013175
a69g1124:31018687
dvdeprecation:31040973
dwnewjupytercf:31046870
newcmakeconfigv2:31071590
nb_pri_only:31057983
nativerepl1:31104042
refactort:31084545
pythonrstrctxt:31093868
1iic9185:31091668
flighttreat:31102345

@lszomoru - since you seem to be taking most if not all the SCM issues lately

When I found this issue I realized there are many features that we don't want to use.
Just a personal note: Please, but really please, don't make any idea as feature. At least make it disabled as default and if someone wants to open it, s/he can search for it.
Lets come back to topic. The main issue here is there are 2 very different (visually) features here. Let me explain:
1- The showIncommingChanges/showOutgoingChanges is a list of changes (not a git graphical visualization):

2- The showHistoryGraphis graphical visualization of the past commits:

As the result, bot features and their settings working correctly.
Thanks, and keep going.

I see them as "Incoming/Outgoing", not "history graph".

So do they. It literally says "Incoming/Outgoing" at the top of the "history graph" 😁

These settings have been removed as the history graph has been moved into its own view - Source Control Graph.

Can you please clarify this? Does this mean we no longer are able to disable history graph?

The history graph is in its own view. You can both completely hide the view, or collapse it.


chore(release): update charts and tags for v0.8.1

Signed-off-by: Sanya Kochhar<EMAIL_ADDRESS>

[x] I have cherry-picked any changes labelled needs-cherry-pick-vX.Y.Z

[x] I have made all of the following version and patch updates:

Updated the container image tag in charts/osm/values.yaml
Updated the chart and app version in charts/osm/Chart.yaml
Updated the default osm-controller image tag in osm cli
Updated the image tags used in the demo manifests
Regenerated the Helm chart README.md

[x] I have checked that the base branch for this PR is correct as defined by the release guide

Is this a release candidate?
Nope

Codecov Report

Merging #2983 (2696a65) into release-v0.8 (68cdc12) will increase coverage by 0.07%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           release-v0.8    #2983      +/-   ##
================================================
+ Coverage         64.74%   64.82%   +0.07%
================================================
  Files               153      153
  Lines              6939     6939
================================================
+ Hits               4493     4498       +5
+ Misses             2431     2426       -5
  Partials             15       15

Flag
Coverage Δ

unittests
64.82% <ø> (+0.07%)
:arrow_up:

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

Impacted Files
Coverage Δ

cmd/cli/install.go
65.62% <ø> (ø)

pkg/configurator/validating_webhook.go
80.00% <0.00%> (+3.44%)
:arrow_up:

Continue to review full report at Codecov.

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


feat(Counterexamples/DiscreteTopologyNonDiscreteUniformity): add a counterexample about discrete uniformity and Cauchy filters

We construct a non-discrete uniformity on ℕ that induces the discrete topology and admits a non-principal Cauchy filter (actually, the identity sequence is Cauchy).

Do you care about the particular form of the counterexample ? If not, I think you can do much less work (and get a metric structure as a bonus) by endowing ℕ with the distance induced by the injection fun n : ℕ ↦ (2 : ℝ) ^ (-n : ℤ). Then the identity is obviously Cauchy, and the topology is discrete because the singleton {n} is the preimage of the open set Ioo ((2 : ℝ) ^ (-n - 1 : ℤ)) ((2 : ℝ) ^ (-n+1 : ℤ)).

Let me start by answering the more technical things:

The distance I had in mind is not 2 ^ (- |x - y|)) but |2 ^ (- x) - 2 ^ (- y)|, which is really easy to define (as a distance) using MetricSpace.induced. In other words it's the only distance on ℕ for which n ↦ 2 ^ (-n) is an isometry. That said...
... once I put it like this, I realize that the "pulling back the distance to ℕ" part is really just making things more confusing. The "real" counterexample behind my suggestion is to consider the subset S : Set ℝ := {2 ^ (-n : ℤ) | n : ℤ}, and endow it with the induced topologies and uniformities. Then it is both discrete as a topological space, and non-closed (hence non-complete), so the uniformity can't be discrete because UniformSpace.DiscreteUnif.cauchyConst forces completeness.
Fun side note: my counterexample (in its original version, where you pull back the distance to ℕ) and yours are exactly the same! Indeed, your n-th fundamental entourage is the set of point which are at distance < 2 ^ (-n).

This brings me to why I prefer my presentation: to me, the very manually crafted definition suggests "this is pathological behavior, you won't learn anything by reading the details". So it would feel more instructive to read a lemma saying "any non-closed but discrete subset of a uniform space is a counter example" (followed of course by a concrete construction of such a subset). So, if that makes sense to you, I think I would prefer having at least this version come first in the file.

Let me start by answering the more technical things:

The distance I had in mind is not 2 ^ (- |x - y|)) but |2 ^ (- x) - 2 ^ (- y)|, which is really easy to define (as a distance) using MetricSpace.induced. In other words it's the only distance on ℕ for which n ↦ 2 ^ (-n) is an isometry. That said...
... once I put it like this, I realize that the "pulling back the distance to ℕ" part is really just making things more confusing. The "real" counterexample behind my suggestion is to consider the subset S : Set ℝ := {2 ^ (-n : ℤ) | n : ℤ}, and endow it with the induced topologies and uniformities. Then it is both discrete as a topological space, and non-closed (hence non-complete), so the uniformity can't be discrete because UniformSpace.DiscreteUnif.cauchyConst forces completeness.
Fun side note: my counterexample (in its original version, where you pull back the distance to ℕ) and yours are exactly the same! Indeed, your n-th fundamental entourage is the set of point which are at distance < 2 ^ (-n).

This brings me to why I prefer my presentation: to me, the very manually crafted definition suggests "this is pathological behavior, you won't learn anything by reading the details". So it would feel more instructive to read a lemma saying "any non-closed but discrete subset of a uniform space is a counter example" (followed of course by a concrete construction of such a subset). So, if that makes sense to you, I think I would prefer having at least this version come first in the file.

Oh, very nice! After your explanation I certainly agree that your example should appear. To my eyes, the best presentation would be

The definition of your distance
The definition of my uniformity
The proof that (your distance).toUniformity = my uniformity
and somewhere (probably between 1. and 2.) the proof that this induces the discrete topology (whatever proof is shorter).

This would certainly require to add your distance in the docstring before my uniformity and to add the proof of the equality. I am desperately out of time now, so I would be very happy if you want to enforce this (if you agree with the plan). But you might be equally out of time, in which case we can let this wait (and hopefully not rotten)...

@ADedecker Do you think that you will reasonably happen to have a bit of time in the not-so-distant future to work a bit on this file? Since you have a somewhat clear idea on how you would want it to look like, and I am happy to follow your suggestions, I would prefer to avoid some trial-and-error, just doing stuff and then having to revert it back. Do you find it reasonable if I suggest one of the two following options:

We merge it as it is, but adding more doc (and a TODO) mentioning that this construction actually comes from that metric, and saying that it would be nice if in the future someone (some student of mine during a small internship :smirk: ?) re-opens the file and improves it with your suggestion; or
You at least propose a sorried skeleton and I start from there.

Thanks for your feedback!


Please add an working indicator when attempting to delete large files/folders

What's the Problem?
When attempting to delete a large folder, Files did not seem to respond to my request. However, after a while, it finally showed a popup asking if I wanted to delete or permanently delete.
Solution/Idea
Please either add a loading indicator, a progress bar indicating any sort of indexing, or some sort of visual to the user that the program did indeed accept my delete command.
Alternatives
Lock the user out of the delete command if a current delete operation is in progress. That indicates to the user that the first delete command was accepted and that it is currently doing some sort of work in the background.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.19042.1466
Windows Version
Edition	Windows 10 Home Version	20H2 Installed on	2021-10-22 OS build	19042.1466 Experience	Windows Feature Experience Pack 120.2212.3920.0
Comments
No response

When you issue the first delete command is the UI "freezed"? E.g can you scroll the file list or is everything locked up?

Could you clarify if this happens also when deleting a single item or only when many items are selected?

@kpervin Is this issue still relevant?

@kpervin Is this still an issue in 2.3.11?

@kpervin Is this still an issue in 2.3.11?

Let me redownload the version and attempt

@Josh-65 The delete modal shows up immediately, but the delete process still takes a long time.

Thats good since this issue is about the confimation dialog i will close this. The speed with progress should be improved with the next stable build and better status are tracke din #4811


No issue, just feature request

I have been using this for a few weeks, and I am liking it, thanks for making it happen.
I think the following features should add good value to this, in a very generic manner, simply put, to be the wrapper of three more docker - run options.

--security-opt="seccomp=profile.json"
White listed syscalls seccomp Json file to be used as a seccomp filter - so that one can have fine-grained control over this, right now your solution is all or nothing.

--network="networkname"

Italic part copied from docker documentation
--network="bridge" : Connect a container to a network
'bridge': create a network stack on the default Docker bridge
'none': no networking
'container:<name|id>': reuse another container's network stack
'host': use the Docker host network stack
'network-name|network-id': connect to a user-defined network
So that one can go crazy on a custom network setting and pass it in.
3. --ip=""  Related to 2, the ability to assign static IP address to the container.
I have actually hacked around your big script to make the first one happen already, but bash is not my strength, you seem to produce way prettier bash code than I do.
Cheers.
After posting this, I read issue 113, your thoughts about internet and such, 2 and 3 will completely super-cede what you had in mind for a tech-savvy guy, but on the other hand, your way will please a user that does not want to spend too much time messing with docker better.

Thanks you for feedback and suggestion!

--security-opt="seccomp=profile.json
--network="networkname"
--ip=""

This is already possible if you add custom docker run options encapsulated with --  to x11docker command:
Example:
x11docker --desktop -- --network=bridge --ip=<IP_ADDRESS> --security-opt="seccomp=profile.json -- x11docker/xfce

Compare syntax from x11docker --help:
  x11docker [OPTIONS] -- DOCKER_RUN_OPTIONS -- IMAGE [COMMAND [ARG1 ARG2 ...]]

This works in general for all docker run options, but can fail for those already set by x11docker.
You can see the created docker command if you run with option --debug.

After posting this, I read issue 113, your thoughts about internet and such, 2 and 3 will completely super-cede what you had in mind for a tech-savvy guy, but on the other hand, your way will please a user that does not want to spend too much time messing with docker better

Meanwhile I decided to allow internet access per default, i.e. leaving it as is. So don't worry.


Extension download progress

It can help when installing/updating BIG extensions.

/duplicate https://github.com/microsoft/vscode/issues/56023

@sandy081  thanks!


toradex: Add bsp 5.7.0 support.

This is just a symlink to 5.6.0 files since they work with 5.7.0 as well.
Signed-off-by: Drew Moseley<EMAIL_ADDRESS>

@TheYoctoJester can you give a quick review?

@TheYoctoJester ping


Code editor shortcuts are still active in background behind File Explorer popup - prevents alt+up to go to parent

Godot version:

3.2
OS/device including version:

Linux Ubuntu 18.04 on Unity desktop
Issue description:

Code editor shortcuts are still active while the File Explorer popup is shown on top of it.
The code editor must be open in the (darkened) background for this to work.
Steps to reproduce:

Open the minimal repro project (but any will do). Make sure you're using default shortcuts for Move Line Up/Down and Clone Down in the code editor.
Open Scenes/SampleScene.tres
Open Scripts/Test.gd
Select the Sprite object in the scene. This should focus the scene. Press F3 to go back to the scripts. (You can also select the Sprite first, and make sure to open Test.gd via File > Open to avoid showing script info in the inspector. It is important you still see the Sprite object info in the inspector panel.)
Place your caret on some filled line like func _ready():
In the inspector panel, you should still see the Sprite object. Click on Sprite > Texture > [empty] > Load
In the File Explorer, double-click to enter any folder
I recommend shrinking the File Explorer popup to see what's going on behind, in particular the highlighted line, where you placed your caret last.
Now press Alt+Up, trying to go to parent folder. Instead, the highlighted line is moved up.
Try again pressing Alt+Up, Alt+Down, Ctrl+D and you will see the corresponding effects played in the code editor in the background

Minimal reproduction project:

v3.2 - Code Editor shortcuts are active in background behind File Explorer.zip

This is fixed in the master branch, but it can't be fixed in 3.x completely due to how editor shortcuts are handled there.

Closing as fixed in 4.0.


add more customized widget

following customized widget works:
dateTime, paymentStatus, label
Limitations:
label widget can not be assigned to an object otherwise the form engine will submit an empty object
paymentStatus widget can only be assigned to an object otherwise the form engine will raise a type error

paymentStatus is ok to be assigned to object, however label should be able to be plugged to anywhere, no matter if that is object / array


g0b1re + spi_flash_at45 + flash_shell: First write always fails with CONFIG_PM_DEVICE

Describe the bug
I'm using nucleo g0b1re, testing spi_flash_at45 sample with default prj.conf + an additional CONFIG_SHELL=y. I tried to write to some random offset of the AT45DB321E flash using flash_shell, the first write always fails, but the subsequent write to the same or other offset is successful. If I issue a read first before a write, then the read & write will both be successful. I tried a few combinations (1, 2 & 3).
I then tried to remove the use-udpd from the dts, but then the whole program hang, see 4, but the read works, see 5. The sample's read/write works though, so I suspect something isn't right in the flash write command?
After that I removed the use-udpd, enter-dpd-delay, exit-dpd-delay & CONFIG_PM_DEVICE=y from my dts and the sample's prj.conf, then the first write starts to work, see 6.
To Reproduce
Build and run spi_flash_at45 sample on nucleo_g0b1re + AT45DB321E with CONFIG_SHELL=y
Expected behavior
Read and write should work, with or without PM.
Impact
I have a new board (g0b1re) with AT45DB321E, this might cause issue in my application, I haven't test it yet though.
Logs and console output

write_write_read.txt
read_write_read.txt
write_read_write_read.txt
write_without_use-udpd.txt
read_write_without_use-udpd.txt
write_read_without-PM.txt

Environment (please complete the following information):

WIN10
GNUARMEMB
611284021c

After that I removed the use-udpd, enter-dpd-delay, exit-dpd-delay & CONFIG_PM_DEVICE=y from my dts and the sample's prj.conf, then the first write starts to work, see 6.

From the description, the effect of CONFIG_PM_DEVICE=y is not clear. Are you able to see the issue when CONFIG_PM_DEVICE=n ?
I think isolating the issue in only one subsystem would make things easier to analyse.

I tried it again today and found that there's no error this time.


Input select has different margin-bottom if in panel_conditional when in cards

I noticed some weird spacing issues in an app I am developing (my inputs are all in cards).
It looks like my inputs that are not in any ui.panel_conditional have a margin-bottom: 0 from this CSS entry:
.bslib-gap-spacing>.bslib-mb-spacing, .bslib-gap-spacing>.form-group, .bslib-gap-spacing>p, .bslib-gap-spacing>pre {
    margin-bottom: 0;
}

However, inputs that are in a ui.panel_conditional have a margin-bottom: 1rem from this CSS entry:
.form-group {
    margin-bottom: 1rem;
}

As far as I can tell this happens on other inputs as well. It creates weird spacing when trying to use inputs one after another with some in conditionals and some not in conditionals.
I recreated a simple example here

Thanks @tnederlof! It turns out this is the result of two issues:

https://github.com/rstudio/bslib/issues/1030 would fix the margin-bottom discrepancy
But #1256 is needed for the fix to work in py-shiny

Here's another example, modified from @tnederlof's example, that shows the issue:

App Code
from shiny import App, render, ui

app_ui = ui.page_fillable(
    ui.layout_columns(
        ui.card(
            ui.input_checkbox("checkbox", "Checkbox", True),
            ui.input_select(
                "select",
                "Select an option below:",
                {"1A": "Choice 1A", "1B": "Choice 1B", "1C": "Choice 1C"},
            ),
            ui.p("Some text here.")
        ),
        ui.card(
            ui.input_checkbox("checkbox2", "Checkbox", True),
            ui.panel_conditional("input.checkbox",
                ui.input_select(
                    "select2",
                    "Select an option below:",
                    {"1A": "Choice 1A", "1B": "Choice 1B", "1C": "Choice 1C"},
                ),
            ),
            ui.p("Some text here.")
        ),
    ),
)

def server(input, output, session):
    pass

app = App(app_ui, server)

This example also points out that ui.card() doesn't have a fillable argument, which could have been set to fillable=False in this case. Or ui.card_body() could be exported so that fillability can be disabled internally at the body level with ui.card(ui.card_body(..., fillable=False)).
Related #1128

Ah very interesting, thanks for checking!


dotnetPackages.Boogie: init at rev 5e42f0d

Motivation for this change
I wrote a package for Boogie, Microsoft Research's intermediate verification language for theorem provers. I ran it on some of their tests and it seems to work.
Things done

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

[X] NixOS
[ ] macOS
[ ] Linux

[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

This builds fine on darwin. You can add it to the meta.platforms list.

Added Darwin to platforms.

Thanks, but meta.platforms should be a list of strings (linux ++ darwin); not a list of list of strings.
I’m also wary of the meta.license attribute.

There is no MSPL license, currently.

@taktoa

There is no MSPL license, currently.

Right, just add it then :-).
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 90c1cc177c..4d4a3c1a95 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -379,6 +379,11 @@ lib.mapAttrs (n: v: v // { shortName = n; }) rec {
     fullName = "Mozilla Public License 2.0";
   };

+  mspl = spdx {
+    spdxId = "MS-PL";
+    fullName = "Microsoft Public License";
+  };
+
   msrla = {
     fullName  = "Microsoft Research License Agreement";
     url       = "http://research.microsoft.com/en-us/projects/pex/msr-la.txt";

Rebased into master. Many thanks for your contribution!


App Engine Java 11 sample for Endpoints V2?

In the Getting started with Cloud Endpoints Frameworks for Java documentation here it says to use the sample project at java-docs-samples/appengine-java8/endpoints-v2-backend. However, app engine with Java 8 is marked for deprecation.
Will there be a Java 11 sample for endpoints v2?

At this time, Cloud Endpoints is only available for Java 8, see https://cloud.google.com/endpoints/docs/frameworks/about-cloud-endpoints-frameworks#limitations.


Does not handle alpha channel properly with default parametes

Raw input:

alpha.avif
frog.avif

Expected rendered output:

https://github.com/yekeskin/flutter_avif/assets/4435445/841f8ffb-7a07-4927-9bf8-0c24f65478c6
Actual rendered output:

https://github.com/yekeskin/flutter_avif/assets/4435445/269e594f-75f8-4f4f-852e-cf4cd263f697
The exact cause is stilll unknown, but changing the colorBlendMode parameter made no difference, and changing the filterQuality from the default low to high solved the problem. Any thoughts?

To test if the problem is caused by the rust side of the plugin or the dart side, I wrote the decoded rgba array dart side receives into a bitmap file. Bitmap seems and renders fine, so I think the problem is caused by something on the dart side of the plugin. After receiving the rgba array, the plugin uses decodeImageFromPixels to convert it to an dart Image. Maybe something is happening over there. I will look into it.
I also noticed even if you set the filterQuality to high, the image is not rendered properly.
avif - filterQuality low

avif - filterQuality high

decoded avif pixels written in a bmp

In that case, you can just set the premultipliedAlpha parameter to AVIF_TRUE avifImageYUVToRGB. With this, RGBA will be in premultiplied format in the first place so that we can reduce computation.


did you mean 'compatible'?

Thanks for the MR, could you please help to add signoff and a better description?

@0xflotus Thanks for spotting that! Besides @jiangliu's comments, please also fix the commit title. did you mean 'compatible' is not a proper commit title. Something like readme: fix typo is much better.

Since the PR is not formatted properly and has been stale for a long time, I've raised #12 and folded the fix there. Thanks @0xflotus !

Oh sorry, I didn't recognized it. 😓


Improve the text at the top of the home page

Received the latest home page text from the product team.

tested


Updated Python/Django compatibility table

Coverage remained the same at 78.215% when pulling 25061c47a59e30e850d0d266ac676c0849a454ec on evildmp:docs-compatibility-table into 37f3548d581bd9ffe8bca4a879ac2c08567c654a on divio:release/3.7.x.


Add support for sticky turms servers

We don't need this ticket anymore because the feature is supported in all load balancer services in the cloud providers.


Add support for default clause on 'Alter table add column' statement

Summary of the changes / Why this improves CrateDB
I've started documenting that we do not support the default clause for alter table add column
statement but realized that the generated expressions are supported but with the restriction
that the table needs to be empty.
This PR aligns this behavior for the base columns with default clause i.e. they are permitted for empty tables.
Checklist

[x] User relevant changes are recorded in CHANGES.txt
[x] Touched code is covered by tests
[x] Documentation has been updated if necessary
[x] CLA is signed
[x] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in CHANGES.txt
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

Won't be done as Alter Table Add Column is not an atomic operation, so concurrent inserts can lead to an inconsistent state.


Fix apple default system font

Some cleanups in font usages.
Update Alfons submodule:

Fixes AppleSystemFontUI issue
Uses newer harfbuzz 1.7.2 coretext font creation API

Harfbuzz-icu-freetype updates

Updates to use harfbuzz 1.7.2, which fixes an issue with default osx system font which uses kern tables

@karimnaaji can you test this out on osx please?
One way to force the osx to use default system font (San Francisco) is, to comment out all fallback font in osxPlatform.mm and modify the following to not have a scene specified fontfamily:
https://github.com/tangrams/tangram-es/blob/e7529f6cf1dd778939a04deacd2bb83a6d298948/core/src/style/textStyleBuilder.cpp#L597


Add security icon and button styling

Updated the security area add member button to the new style

also commit 2b171dbc01ae5a494b9c3f643c771092628568f6 to remove a the custom security css class from the button

Tests stalled; Restarting.

Needs rebasing

GridField buttons and our front-end setup have changed significantly since this was submitted, but this would still be a fairly simple change: the button just needs a font-icon-torso class. The PR would need to be submitted against the silverstripe-admin repo now, though. Sorry this got lost @vinstah 😞


Waypoint: Create a Form Element - showing correct even when opening form is not closed

Waypoint: Create a Form Element

When working on this challenge I was prompted to move onto the next challenge. Then I noticed that the text input box disappeared from the app.
So I looked back at what I input and noticed that I forgot to close the opening form tag
http://i.imgur.com/s5r5Zoq.png
I'm glad I didn't move along thinking I did it correctly, but also wondered how many others may have made the same mistake thinking they were correct.

Closing as duplicate of #1081


add vertical movement to universal-controls

wasd controls are useful with aframe on desktop.
what's missing is vertical movement with either pgup / pgdown or q / z or similar.
I tried universal-controls="fly: true" on the camera, but the flying is extremely fast, and seems to keep going, making it impossible to stabilize the camera at this point, and it influences the movement by allowing going 'forward straight up'
I am new to aframe so how exactly to go about this is non-obvious, but what I am seeking is vertical movement with the same speed and stability as the wasd controls. it does not need to go into a free look mode and launch into orbit. merely to move along the up-down axis with the same velocity.
I can see some other missing functionality here for a variety of use cases I will document later.
Also, the free look functionality of being able to look up and down was nice with ' universal-controls look-controls="enabled: true" ', but for my usage (in this instance) being able to move along 'ground axis' only without having the camera angle influence movement is what is desired. So if you look at a 20 degree angle upward and press W you still move forward on a flat plane.
Not sure if words best explain this, but basically, if you look at Quake 3, you can walk around using WASD and look around freely but when you look around you are still walking on the ground. Also Minecraft has a creator mode where page up and page down move your character up and down. In fact I would say Minecraft's flying behavior is a fantastic reference for the movement I am looking to provide in this use case.

You can control the speed of universal-controls with:
<a-entity universal-controls="fly: true;
                 movementEasing: 15;
                 movementAcceleration: 80;"></a-entity>

Higher easing makes the camera slow down faster when you stop pressing a key, and higher acceleration makes it start up faster. The difference of those two determines max speed.
But to get dedicated buttons for moving up or down, I think you're going to need a new component plugged into universal-controls. Something like:
<a-entity qz-controls>
  <!-- or you could use universal-controls instead of both look- and wasd-controls. -->
  <a-entity camera="userHeight: 1.6" universal-controls="movementControls: qz-keyboard, hmd"></a-entity>
</a-entity>

Then you need to write the qz-keyboard-controls component. It could be a copy of keyboard-controls, you should just need to change a couple lines in getVelocityDelta().
AFRAME.registerComponent('qz-keyboard-controls', {
  // ...

  getVelocityDelta: function () {
    var data = this.data,
        keys = this.getKeys();

    this.dVelocity.set(0, 0, 0);
    if (data.enabled) {
      if (keys.KeyW || keys.ArrowUp)    { this.dVelocity.z -= 1; }
      if (keys.KeyA || keys.ArrowLeft)  { this.dVelocity.x -= 1; }
      if (keys.KeyS || keys.ArrowDown)  { this.dVelocity.z += 1; }
      if (keys.KeyD || keys.ArrowRight) { this.dVelocity.x += 1; }

      // NEW STUFF HERE
      if (keys.KeyQ)  { this.dVelocity.y += 1; }
      if (keys.KeyZ) { this.dVelocity.y -= 1; }
    }

    return this.dVelocity.clone();
  },

  // ...
});

Here is the table of possible keys: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code#Code_values

this looks helpful, it's unclear to me exactly what to copy when it comes to the keyboard controls component. I went and looked at the repo and it seemed perhaps the built in component has other parts because it is part of a library or something, requiring other things... it might be helpful if there was some sort of a boilerplate (or perhaps the keyboard-controls in aframe extras is the boilerplate and I just don't get it (yet))...

I would ignore the aframe-keyboard-controls repo, that's an older standalone thing that doesn't play well with universal-controls.
This is the file to use as a starting point: https://github.com/donmccurdy/aframe-extras/blob/master/src/controls/keyboard-controls.js#L53-L66, with two changes:

Instead of module.exports =  you will want AFRAME.registerComponent('qz-keyboard-controls', ... );
For the require('../../lib/keyboard.polyfill'); thing at the top, you can delete that and it should still work in Chrome and Firefox. If you need other browsers you can just include this file somewhere on the page.

thanks. yep, it was that stuff in the header that was confusing to me.

I am apparently missing a parenthesis or have an extra one somewhere.
var MAX_DELTA = 0.2,
PROXY_FLAG = '__keyboard-controls-proxy';
var KeyboardEvent = window.KeyboardEvent;
/**

Keyboard Controls component.

Stripped-down version of: https://github.com/donmccurdy/aframe-keyboard-controls

Bind keyboard events to components, or control your entities with the WASD keys.

Why use KeyboardEvent.code? "This is set to a string representing the key that was pressed to
generate the KeyboardEvent, without taking the current keyboard layout (e.g., QWERTY vs.
Dvorak), locale (e.g., English vs. French), or any modifier keys into account. This is useful
when you care about which physical key was pressed, rather thanwhich character it corresponds
to. For example, if you’re a writing a game, you might want a certain set of keys to move the
player in different directions, and that mapping should ideally be independent of keyboard
layout. See: https://developers.google.com/web/updates/2016/04/keyboardevent-keys-codes

@namespace qz-keyboard-controls
keys the entity moves and if you release it will stop. Easing simulates friction.
to the entity when pressing the keys.
@param {bool} [enabled=true] - To completely enable or disable the controls
*/
AFRAME.registerComponent('qz-keyboard-controls', {
schema: {
enabled:           { default: true },
debug:             { default: false }
},

init: function () {
this.dVelocity = new THREE.Vector3();
this.localKeys = {};
this.listeners = {
keydown: this.onKeyDown.bind(this),
keyup: this.onKeyUp.bind(this),
blur: this.onBlur.bind(this)
};
this.attachEventListeners();
},
/*******************************************************************

Movement
*/

isVelocityActive: function () {
return this.data.enabled && !!Object.keys(this.getKeys()).length;
},
getVelocityDelta: function () {
var data = this.data,
keys = this.getKeys();
this.dVelocity.set(0, 0, 0);
if (data.enabled) {
  if (keys.KeyW || keys.ArrowUp)    { this.dVelocity.z -= 1; }
  if (keys.KeyA || keys.ArrowLeft)  { this.dVelocity.x -= 1; }
  if (keys.KeyS || keys.ArrowDown)  { this.dVelocity.z += 1; }
  if (keys.KeyD || keys.ArrowRight) { this.dVelocity.x += 1; }

        // NEW STUFF HERE
  if (keys.KeyQ)  { this.dVelocity.y += 1; }
  if (keys.KeyZ) { this.dVelocity.y -= 1; }

}

return this.dVelocity.clone();

},
/*******************************************************************

Events
*/

play: function () {
this.attachEventListeners();
},
pause: function () {
this.removeEventListeners();
},
remove: function () {
this.pause();
},
attachEventListeners: function () {
window.addEventListener('keydown', this.listeners.keydown, false);
window.addEventListener('keyup', this.listeners.keyup, false);
window.addEventListener('blur', this.listeners.blur, false);
},
removeEventListeners: function () {
window.removeEventListener('keydown', this.listeners.keydown);
window.removeEventListener('keyup', this.listeners.keyup);
window.removeEventListener('blur', this.listeners.blur);
},
onKeyDown: function (event) {
this.localKeys[event.code] = true;
this.emit(event);
},
onKeyUp: function (event) {
delete this.localKeys[event.code];
this.emit(event);
},
onBlur: function () {
for (var code in this.localKeys) {
if (this.localKeys.hasOwnProperty(code)) {
delete this.localKeys[code];
}
}
},
emit: function (event) {
// TODO - keydown only initially?
// TODO - where the f is the spacebar
// Emit original event.
if (PROXY_FLAG in event) {
  // TODO - Method never triggered.
  this.el.emit(event.type, event);
}

// Emit convenience event, identifying key.
this.el.emit(event.type + ':' + event.code, new KeyboardEvent(event.type, event));
if (this.data.debug) console.log(event.type + ':' + event.code);

},
/*******************************************************************

Accessors
*/

isPressed: function (code) {
return code in this.getKeys();
},
getKeys: function () {
if (this.isProxied()) {
return this.el.sceneEl.components['proxy-controls'].getKeyboard();
}
return this.localKeys;
},
isProxied: function () {
var proxyControls = this.el.sceneEl.components['proxy-controls'];
return proxyControls && proxyControls.isConnected();
}
)};

apparently missing a parenthesis somewhere, or I added one in the wrong spot.
aframe-qz-keyboard.js.txt

ok on the last line I apparently reversed the }). So I have this functional. The only issue is that it's too fast. on the ground plane it moves exactly as I'd like it. vertically, it just seems to go too quickly. I'll look back at your prior comments and see if I can figure this out.

I am not sure if this detail is useful. I am still experiencing 'turbo mode' when going vertical. what I noticed is that each time I press either Q or Z with the above code I get a console message that says:
THREE.VRControls: .resetSensor() is now .resetPose().
Perhaps this is a change that is the reason why fly: true works strangely and why getting the vertical movement to stop does not work the same as horizontal movement.
It seems to have a steep acceleration curve when moving vertically and unlike horizontal movement when you let off the key it simply keeps going unless you hit the key to go in the opposite direction.

Hmm I see. Your code looks right. The universal-controls component dampens horizontal movement but not vertical. See these lines. That will require a tweak to universal-controls. It's likely to be a several days before I can get to that unfortunately.
I have no idea what to make of the THREE.VRControls: .resetSensor() is now .resetPose(). message, but that shouldn't be affecting keyboard controls anyway. If there's a demo you could share I can (e.g. Codepen or Github Pages) I can look at that also.

I will see about putting a demo together and I am cool with waiting a couple of days. Thanks for the indication of where this could be in the universal controls.

Not sure if this helps, but while browsing aframe examples, I came across this page, which uses E and R keys to navigate up and down, and seems to do exactly what is needed (not going super fast, stopping on keyup).
https://aframe.argonjs.io/vuforia-aframe-logo/index.html
As I am just learning here I am not sure how they achieved this. I will look in more depth soon, and see if there's something obvious that makes it just click.

I've updated universal-controls to support easing on the Y axis, but you have to opt-into it (otherwise things like physics break...). Example:
<a-entity camera="userHeight: 1.6" universal-controls="fly: true; movementEasingY: 15"></a-entity>

@donmccurdy when you say "things like physics break" do you mean physics applied to the entity that has the controls i.e. the player? So they wont fall correctly? That makes sense. But other entities should be fine?

@MilesMcBain right, it should only affect the player. I forget if falling didn't work or you couldn't climb slopes or what exactly...

I never had time to check back on this... My app is still weird because the acceleration increases. I just wanted movement on the 'veritical' axis to be basically the same as the 'ground plane'. has that been improved?

It's been a while since I touched my project, I will probably have to rewrite it to be current with library changes. I'll look at it when I can.
The behavior before was NOT what I wanted. Once you started moving up-down, you just kept accelerating, and it was almost impossible to get it to stop.

That is what easingY is for, added earlier on in this thread. The higher it is, the faster vertical movement decelerates, which matches how horizontal movement is handled.
Demo: https://codepen.io/donmccurdy/pen/VxPKMy?editors=1010
That behavior seems to be fixed, so closing this issue.

ok. I will wait for that. I will likely have to rewrite a lot of the code to my app, because it has been a year, and I know that aframe is continuously being updated. This feature is somewhat critical to it. I also know that aframe isn't really intended for what I have in mind, but a thought that would be useful would be... somewhat hard to describe... basically, focusing the camera on an object, and using that as the centerpiece of focus, so the camera would be orbiting / zooming / focused on the object. For reference I am trying to replicate certain aspects of Second Life with AFrame, and the movement along with the camera stuff is really all that's missing (along with some geometries)....

Good morning i'm trying to replicate this instructions to move (pan) the camera in 3 axis
I can move with asdw keys in 2 dimensions but i need new pair of keys to move on the third z-axis
Can someone give me a detailed tutorial .... i'm a geologist, not a developer and i need this for an educational stereo viewer for aerial photos. Thanks

@c1p81 if the code above is not doing what you need (it lets you move in all three dimensions, but not exactly in the way you describe) could you post more info to Stack Overflow, and include the code above as an example of what you've tried? I can't provide a detailed tutorial but I think you'll be able to get an answer.

@c1p81 it doesn't look like you are using aframe-extras in that example, or the code suggested above. Try adding this script after the aframe script:
<script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v4.1.1/dist/aframe-extras.min.js"></script>

and then this HTML for the player/camera:
<a-entity id="rig"
          movement-controls="fly: true; speed: 0.3"
          position="25 0 25">
  <a-entity camera
            position="0 1.6 0"
            look-controls></a-entity>
</a-entity>

Like this: https://codepen.io/donmccurdy/pen/qYJpwe?editors=1010
You will be able to point the camera up and press W to "fly" up. But there is no special button to move up and down. If that is not what you want, you will need to post on Stack Overflow for help creating something else.

Works fine with the Daydream controller..very useful for geomorphology
Thank you so much
Luca

Not sure if this helps, but while browsing aframe examples, I came across this page, which uses E and R keys to navigate up and down, and seems to do exactly what is needed (not going super fast, stopping on keyup).
https://aframe.argonjs.io/vuforia-aframe-logo/index.html
As I am just learning here I am not sure how they achieved this. I will look in more depth soon, and see if there's something obvious that makes it just click.

They use an entirely different framework for handling the keys called argon.js. Hasn't been updated in years unfortunately.

Syntax has changed:
<a-entity id="rig"
          movement-controls="fly: true; easingY: 15"
          position="25 0 25">
  <a-entity camera
            position="0 1.6 0"
            look-controls="pointerLockEnabled: true"></a-entity>
</a-entity>

but it should be behaving as before.

this was extremely usefull. However, syntax has changed again (refering a-frame v1.4.0), this should work. Docu for wasd-controls here
<a-entity camera look-controls wasd-controls="acceleration:65; fly:true" position="0 1.6 0"></a-entity>

wasd-controls is a component from aframe core. movement-controls is a component from aframe-extras. The previous code snippet is working with latest aframe-extras 7.0.0 but there is no easingY property, not sure what it did, we have a speed property.


Added CVE-2016-0808 and comments in cve20160808.c

Can you please review https://github.com/AndroidVTS/android-vts/pull/136 ?  It is based off this PR, with a couple of changes.  I'm also curious about the timeline for this vulnerability.  I pulled factory Nexus images for Nexus 7 and Nexus 9.  Even the latest Android L and half of the M images appear vulnerable.

Nexus Security Bulletin - February 2016

Builds LMY49G or later and Android M with Security Patch Level of February 1, 2016 or later address these issues."
Bug with AOSP link: ANDROID-25645298
Updated versions: 5.0, 5.1.1, 6.0, 6.0.1

Closing this PR because it has been superseded by #136


Rloomba/add proxy config (#262)

This branch is a copy of https://github.com/rloomba/ruby-sdk/tree/rloomba/add-proxy-config.  I simply moved it into a branch off of master to go through proper testing.

add ability to use http proxy when making web requests

fix: linting

ignore spellcheck

headers and missing test

update to use master mdspell

Co-authored-by: Ryan Loomba<EMAIL_ADDRESS>Co-authored-by: Owais Akbani<EMAIL_ADDRESS>Summary

Allow proxy to be passed into http config manager.

Test plan
Issues

"THING-1234" or "Fixes #123"

Coverage increased (+0.003%) to 99.568% when pulling 5a18ac01e37a81a8f916aa94979c87327f5b030d on mergeFork into 6ea2681b9cc11cfec29b64d9188751d0155167f2 on master.

This is a copy of PR #242.  Just needed to update something and this was the quickest way to run through FSC tests.  Author is actually @rloomba


Swap pg_authid for pg_roles

As far as I know, these tables are equivalent apart from the password column, however managed database services (Digital Ocean, and RDS) don't allow access to pg_authid

Accidentally deleted the repository!


fix calling twice to next result when using cache

Following #492, when setting fetchPolicy to cache-only or cache-first the nextResult is called twice upon startup.
First in executeApollo and second when the subscription is immediately updated.
This PR prevents from executeApollo to call nextResult in case of the above.

This looks like expected behavior.

Why is this an expected behavior?
The function is called twice with no reason, am I missing anything?

The result object is different between the two calls, so we shouldn't suppress one of them.

Ok, thanks!


docs(suspensive.org): examples to the ErrorBoundary documentation using sandpack

Overview

Add examples to the ErrorBoundary documentation using sandpack.
Changes

Change template from vite-ts to react-ts
Hide react-error-overlay
Implement custom ErrorOverlay for Sandpack

Details
Changed the template from vite-ts to react-ts to improve initial loading speed.
The react-ts template is based on Create React App (CRA), which shows the react-error-overlay when an error occurs. This overlay prevents the fallback UI from being displayed immediately.
To fix this, I set the react-error-overlay to display: none.
Additionally, Sandpack has its own error overlay. To handle errors more effectively and ensure the fallback UI is displayed correctly, I customized the ErrorOverlay to not appear when an error is thrown.
The rest of the logic was taken from Sandpack's source code: Sandpack.tsx.
PR Checklist

[x] I did below actions if need

I read the Contributing Guide
I added documents and tests.

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

Project coverage is 80.88%. Comparing base (990058f) to head (4c789e6).

Additional details and impacted files

@@           Coverage Diff           @@
##             main     #995   +/-   ##
=======================================
  Coverage   80.88%   80.88%
=======================================
  Files          38       38
  Lines         450      450
  Branches       99       98    -1
=======================================
  Hits          364      364
  Misses         77       77
  Partials        9        9

Components
Coverage Δ

@suspensive/react
97.03% <ø> (ø)

@suspensive/react-query
∅ <ø> (∅)

@suspensive/react-query-4
0.00% <ø> (ø)

@suspensive/react-query-5
0.00% <ø> (ø)

@suspensive/react-await
100.00% <ø> (ø)

@suspensive/react-image
23.52% <ø> (ø)


InvalidPathException on Assembly 2.1.1

I'm getting this exception after upgrading from 1.2.0 to 2.1.1. Is the λ? How can i handle this?
[error] java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: shapeless/$tilde$qmark$greater$λ.class
--
246 | [error]     at java.base/sun.nio.fs.UnixPath.encode(UnixPath.java:121)
247 | [error]     at java.base/sun.nio.fs.UnixPath.<init>(UnixPath.java:68)
248 | [error]     at java.base/sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:279)
249 | [error]     at java.base/java.nio.file.Path.of(Path.java:147)
250 | [error]     at java.base/java.nio.file.Paths.get(Paths.java:69)
251 | [error]     at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$1(Assembly.scala:652)
252 | [error]     at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$4(Assembly.scala:661)
253 | [error]     at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:293)
254 | [error]     at scala.collection.Iterator.foreach(Iterator.scala:943)
255 | [error]     at scala.collection.Iterator.foreach$(Iterator.scala:943)
256 | [error]     at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
257 | [error]     at scala.collection.IterableLike.foreach(IterableLike.scala:74)
258 | [error]     at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
259 | [error]     at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
260 | [error]     at scala.collection.TraversableLike.flatMap(TraversableLike.scala:293)
261 | [error]     at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:290)
262 | [error]     at scala.collection.AbstractTraversable.flatMap(Traversable.scala:108)
263 | [error]     at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$3(Assembly.scala:660)
264 | [error]     at scala.collection.parallel.AugmentedIterableIterator.flatmap2combiner(RemainsIterator.scala:133)
265 | [error]     at scala.collection.parallel.AugmentedIterableIterator.flatmap2combiner$(RemainsIterator.scala:130)
266 | [error]     at scala.collection.parallel.immutable.ParVector$ParVectorIterator.flatmap2combiner(ParVector.scala:66)
267 | [error]     at scala.collection.parallel.ParIterableLike$FlatMap.leaf(ParIterableLike.scala:1082)
268 | [error]     at scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
269 | [error]     at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
270 | [error]     at scala.util.control.Breaks$anon$1.catchBreak(Breaks.scala:67)
271 | [error]     at scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
272 | [error]     at scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
273 | [error]     at scala.collection.parallel.ParIterableLike$FlatMap.tryLeaf(ParIterableLike.scala:1078)
274 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal(Tasks.scala:170)
275 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal$(Tasks.scala:157)
276 | [error]     at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.internal(Tasks.scala:440)
277 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:150)
278 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
279 | [error]     at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
280 | [error]     at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
281 | [error]     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
282 | [error]     at java.base/java.util.concurrent.ForkJoinTask.awaitDone(ForkJoinTask.java:436)
283 | [error]     at java.base/java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:670)
284 | [error]     at scala.collection.parallel.ForkJoinTasks$WrappedTask.sync(Tasks.scala:379)
285 | [error]     at scala.collection.parallel.ForkJoinTasks$WrappedTask.sync$(Tasks.scala:379)
286 | [error]     at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.sync(Tasks.scala:440)
287 | [error]     at scala.collection.parallel.ForkJoinTasks.executeAndWaitResult(Tasks.scala:423)
288 | [error]     at scala.collection.parallel.ForkJoinTasks.executeAndWaitResult$(Tasks.scala:416)
289 | [error]     at scala.collection.parallel.ForkJoinTaskSupport.executeAndWaitResult(TaskSupport.scala:60)
290 | [error]     at scala.collection.parallel.ExecutionContextTasks.executeAndWaitResult(Tasks.scala:555)
291 | [error]     at scala.collection.parallel.ExecutionContextTasks.executeAndWaitResult$(Tasks.scala:555)
292 | [error]     at scala.collection.parallel.ExecutionContextTaskSupport.executeAndWaitResult(TaskSupport.scala:84)
293 | [error]     at scala.collection.parallel.ParIterableLike$ResultMapping.leaf(ParIterableLike.scala:968)
294 | [error]     at scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
295 | [error]     at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
296 | [error]     at scala.util.control.Breaks$anon$1.catchBreak(Breaks.scala:67)
297 | [error]     at scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
298 | [error]     at scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
299 | [error]     at scala.collection.parallel.ParIterableLike$ResultMapping.tryLeaf(ParIterableLike.scala:963)
300 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:153)
301 | [error]     at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
302 | [error]     at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
303 | [error]     at java.base/java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:194)
304 | [error]     at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
305 | [error]     at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
306 | [error]     at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
307 | [error]     at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
308 | [error]     at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)
309 | [error] (assembly) java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: shapeless/$tilde$qmark$greater$λ.class

Same problem here

Has anyone found a fix or a workaround for this?

Yea. If someone could reproduce it on a public GitHub repo and/or GitHub Actions that would be helpful.

Unable to share a detailed repro just yet, but perhaps this will help clarify things?
I encountered this problem in a docker image (private to my company as far as I can tell) in which sun.jnu.encoding=ANSI_X3.4-1968. In my local machine where this doesn't occur, I have the same setting as UTF-8.
Adding -Dsun.jnu.encoding=UTF-8 to my .sbtopts did not fix it.
if more info is still needed to track this down I'll try and provide an example repo and a docker run that reproduces the problem.

By the way I can also report that this reproduced with sbt-assembly 2.0.0.

same error on shapeless in 2.1.0
1.2.0 is works

I also have the same problem. Any news on how to solve this?

maintainers have indicated a need for a reproducible example. if you have one please share it.
(my team has the creation of a mcve for this as a backlog item, but no guarantees on when we'll be able to produce one.)

I do not have a reproducible example. It works in my local laptop but not on my CI agent. :(
I have downgraded to 1.2.0 as suggested and it also works in the CI agent so I will stick with that version for now.

I got this now, in a VM which was running a surprisingly old version of ubuntu.
$ cat /etc/issue
Ubuntu 16.04.4 LTS

$ sbt importer/assembly
[info] welcome to sbt 1.9.6 (Private Build Java 1.8.0_292)
[info] loading settings for project tso-build from plugins.sbt ...
[info] loading project definition from /home/tso/tso/project
[info] compiling 1 Scala source to /home/tso/tso/project/target/scala-2.12/sbt-1.0/classes ...
[info] loading settings for project root from build.sbt ...
[info] resolving key references (11679 settings) ...
[info] set current project to converter-root (in build file:/home/tso/tso/)
<snip>
[info] compiling 18 Scala sources to /home/tso/tso/importer/target/scala-2.12/classes ...
[info] 48 file(s) merged using strategy 'Rename' (Run the task at debug level to see the details)
[info] 218 file(s) merged using strategy 'Discard' (Run the task at debug level to see the details)
[info] 4 file(s) merged using strategy 'First' (Run the task at debug level to see the details)
[info] 2 file(s) merged using strategy 'Concat' (Run the task at debug level to see the details)
[info] 2 file(s) merged using strategy 'FilterDistinctLines' (Run the task at debug level to see the details)
[info] 10 file(s) merged using strategy 'Deduplicate' (Run the task at debug level to see the details)
[error] java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: shapeless/$tilde$qmark$greater$λ.class
[error] 	at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
[error] 	at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
[error] 	at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
[error] 	at java.nio.file.Paths.get(Paths.java:84)
[error] 	at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$1(Assembly.scala:652)
[error] 	at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$4(Assembly.scala:661)
[error] 	at scala.collection.TraversableLike.$anonfun$flatMap$1(TraversableLike.scala:293)
[error] 	at scala.collection.Iterator.foreach(Iterator.scala:943)
[error] 	at scala.collection.Iterator.foreach$(Iterator.scala:943)
[error] 	at scala.collection.AbstractIterator.foreach(Iterator.scala:1431)
[error] 	at scala.collection.IterableLike.foreach(IterableLike.scala:74)
[error] 	at scala.collection.IterableLike.foreach$(IterableLike.scala:73)
[error] 	at scala.collection.AbstractIterable.foreach(Iterable.scala:56)
[error] 	at scala.collection.TraversableLike.flatMap(TraversableLike.scala:293)
[error] 	at scala.collection.TraversableLike.flatMap$(TraversableLike.scala:290)
[error] 	at scala.collection.AbstractTraversable.flatMap(Traversable.scala:108)
[error] 	at sbtassembly.Assembly$.$anonfun$reportConflictsMissedByTheMerge$3(Assembly.scala:660)
[error] 	at scala.collection.parallel.AugmentedIterableIterator.flatmap2combiner(RemainsIterator.scala:133)
[error] 	at scala.collection.parallel.AugmentedIterableIterator.flatmap2combiner$(RemainsIterator.scala:130)
[error] 	at scala.collection.parallel.immutable.ParVector$ParVectorIterator.flatmap2combiner(ParVector.scala:66)
[error] 	at scala.collection.parallel.ParIterableLike$FlatMap.leaf(ParIterableLike.scala:1082)
[error] 	at scala.collection.parallel.Task.$anonfun$tryLeaf$1(Tasks.scala:53)
[error] 	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
[error] 	at scala.util.control.Breaks$$anon$1.catchBreak(Breaks.scala:67)
[error] 	at scala.collection.parallel.Task.tryLeaf(Tasks.scala:56)
[error] 	at scala.collection.parallel.Task.tryLeaf$(Tasks.scala:50)
[error] 	at scala.collection.parallel.ParIterableLike$FlatMap.tryLeaf(ParIterableLike.scala:1078)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal(Tasks.scala:170)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.internal$(Tasks.scala:157)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.internal(Tasks.scala:440)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute(Tasks.scala:150)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingTasks$WrappedTask.compute$(Tasks.scala:149)
[error] 	at scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.compute(Tasks.scala:440)
[error] 	at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
[error] 	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
[error] 	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
[error] 	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
[error] 	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:175)
[error] (importer / assembly) java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: shapeless/$tilde$qmark$greater$λ.class
[error] Total time: 68 s (01:08), completed Sep 17, 2023 11:40:32 PM

The λ symbol is shown in my terminal as ?, don't know if that means something.
It's this project and commit https://github.com/ScalablyTyped/Converter/commit/9ecf0629baf90dc05c627bd30c7675c4e4361ed3
That's not the commit which introduced the problem, but one that contains it. I tried to go a bit back in time, so it had been broken for a while apparently.

My workaround in Dockerfile.
ENV LANG=C.UTF-8
ENV LC_ALL=C.UTF-8

I was able to workaround this issue using the environment variables:
LANG=C.UTF-8
LC_ALL=C.UTF-8

In my build pipeline. Adding -Dsun.jnu.encoding=UTF-8 to my .sbtopts did not help.
I don't have a reproducible example as it works on my local machine but not the build agent we use, similar to others.
I think you might be able to build one though: using Docker you could create an sbt instance with a specific language set and have it build a simple project that include the shapeless library and an assembly for it.
Unsure if the stack trace will help, but the docker image my build is using is: sbtscala/scala-sbt:graalvm-ce-22.3.3-b1-java17_1.10.3_2.13.15
That's:

sbt 1.10.3
Scala 2.13.15
Java 17.
With sbt-assembly version 2.3.0


Audit/Metadata of Configuration

In sensitive environments I would like to know the source of each configuration entry. Configuration can change the behaviour of an whole application, so the final source of an entry provided by the configuration system during runtime is a relevant topic. So my questions:

How the information can be accessed from a configuration about the source (and optionally other metdata) of an entry? From the API side this could be soemthing as
Map<String,String> getMetadata(String key);
Do you see alternatives how this requirement can be covered?

Unfortunately the API is the more simple aspect. The question is how the configuration system get's to this information. I see the following options:

The ConfigSource is extended with the same API method to provide metadata for an entry. This comes with the disadvantage that the configuration has to reevaluate each access to the API method, since ConfigSources can change and any cached metadata gets invalid if a more significant ConfigSource provides a value for a key later.
The ConfigSource returns not only a String, but a more complex value, which also contains the corresponding metadata. This is how it is done in Tamaya with PropertyValue, PropertySource

Other use cases, where this metadata mechanism has shown to be useful is support for collections, where I can provide the expected collection type (set, list, map, subtype mappings) as metadata.

The whole point of Config is that the application (the user code) does not need to know where the configured value is coming from.
I fear this will also add tons of complexity for a very limited benefit.
What are the use cases where you need this meta info?

all apps with higher sensitivity. Core banking, medical systems, machine
control....
Am 31.10.2017 14:27 schrieb "Mark Struberg"<EMAIL_ADDRESS>
The whole point of Config is that the application (the user code) does
not need to know where the configured value is coming from.
I fear this will also add tons of complexity for a very limited benefit.
What are the use cases where you need this meta info?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/ConfigJSR/issues/10#issuecomment-340761528,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AC5sc9pQkmNblvoya2-d05VGI8ik3C0tks5sxyA3gaJpZM4QMgwD
.

all apps with higher sensitivity. Core banking, medical systems, machine control....

Sorry no, that's simply not true from my experience in working in all those fields!
An application might only need information from a certain location. But then it should not use JSR-382 for this very attribute as it would be overkill. It might simply use Properties#load instead and be done.
The main goal of this very JSR is to completely decouple the configuration consumer from the configuration providers.
We don't win anything if the config consumer (user code) does need to know the specific setup of the ConfigSources, etc.
The other thing is: if you have untrusted code running in your own JVM then you need a SecurityManager and an isolating ClassLoader anyway. In which case you could restrict access in there as well.
Please re-read the initial message to the EG: no overengineering, no feature bloat - just plain straight forward functionality pretty please.

...seems that you know my employers and customers better than I do ;).
That's ok ;(. My experience is that regulations and especially how audits
are done highly differs for countries AND companies. I will not argue
further on this, ignore this topic or take it seriosly...
Am 31.10.2017 17:51 schrieb "Mark Struberg"<EMAIL_ADDRESS>all apps with higher sensitivity. Core banking, medical systems, machine
control....
Sorry no, that's simply not true from my experience in working in all those
fields!
An application might only need information from a certain location. But
then it should not use JSR-382 for this very attribute as it would be
overkill. It might simply use Properties#load instead and be done.
The main goal of this very JSR is to completely decouple the configuration
consumer from the configuration providers.
We don't win anything if the config consumer (user code) does need to know
the specific setup of the ConfigSources, etc.
The other thing is: if you have untrusted code running in your own JVM then
you need a SecurityManager and an isolating ClassLoader anyway. In which
case you could restrict access in there as well.
Please re-read the initial message to the EG: no overengineering, no
feature bloat - just plain straight forward functionality pretty please.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/eclipse/ConfigJSR/issues/10#issuecomment-340827124,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AC5sc49RBByNZnHaLusu5-P18QPKJvHyks5sx0_3gaJpZM4QMgwD
.

BTW etcd for example provides metadata by prefixing it's keys with an underscore, e.g.
foo=bar
_foo.ttl=123456

This would still work without any API extensions. The problem about it is, that considering meta-entries from multiple config sources gets more complex, but not impossible. I have no problem, when we decide not to include any API features for it, but I wanted to have the topic discussed ;-).

This is a valid use case to be able to inspect the actual values used by the application but I don't think this requires to be exposed by the API.
As an example in the WildFly implementation of the Config API, I added some management methods (similar to JMX operations) to list the config-sources used by an application/deployment:
[standalone@localhost:9990 /] /deployment=demo.war/subsystem=microprofile-config/configuration=default:list-config-sources
{
    "outcome" => "success",
    "result" => [
        {
            "name" => "SysPropConfigSource",
            "ordinal" => 400
        },
        {
            "name" => "EnvConfigSource",
            "ordinal" => 300
        },
        {
            "name" => "PropertiesConfigSource[source=vfs:/content/demo.war/WEB-INF/classes/META-INF/microprofile-config.properties]",
            "ordinal" => 100
        }
    ]
}

It can also be used to evaluate the actual values that are provided for a given key:
[standalone@localhost:9990 /] /deployment=demo.war/subsystem=microprofile-config/configuration=default:eval-property(name=FOO)
{
    "outcome" => "success",
    "result" => [
        {
            "value" => "comes from the sys props",
            "config-source" => {
                "name" => "SysPropConfigSource",
                "ordinal" => 400
            }
        },
        {
            "value" => "My FOO property comes from the microprofile-config.properties file",
            "config-source" => {
                "name" => "PropertiesConfigSource[source=vfs:/content/demo.war/WEB-INF/classes/META-INF/microprofile-config.properties]",
                "ordinal" => 100
            }
        }
    ]
}

Such management operation are useful and provides additional value but I agree with @struberg that we should not clutter the Config user API with them.
One key aspect of the JSR is to decouple the config from its sources.
We can however mention in the spec that the implementation SHOULD provide some ways to inspect and list config sources actually used by an application.

I agree with @jmesnil , It is interesting for debug goal

We can however mention in the spec that the implementation SHOULD provide some ways to inspect and list config sources actually used by an application

@atsticks should we revisit this to see whether this needs to be done?


Make tic-tac-toe interface cleaner

Automate the printing of the board and add numbers to the cell number, so it's easier for the user.
Image of new board: https://i.ibb.co/xGF5pnS/pic-selected-210519-2033-34.png
I also added this message, so the user knows what to do.

devbot: To make your move type /tic

I've tried the numbers thing, see the comments above your changes to the tttPrint func. They look good at the start of the game but then when people start playing, the "O" and "X" don't look so nice. So I even tried to use unicode subscript numbers, but that didn't look great either.
I like the changed message, but the user still doesn't know what a "" actually is, so could you make the message "Play using /tic ", which is short and clear enough.
Thanks for your help with Devzat!

Ok, I'll try to fix that today.
On Thu, 20 May 2021, 06:16 Ishan Goel, @.***> wrote:

I've tried the numbers thing, see the comments above your changes to the
tttPrint func. They look good at the start of the game but then when people
start playing, the "O" and "X" don't look so nice. So I even tried to use
unicode subscript numbers, but that didn't look great either.
I like the changed message, but the user still doesn't know what a ""
actually is, so could you make the message "Play using /tic ", which is
short and clear enough.
Thanks for your help with Devzat!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/quackduck/devzat/pull/20#issuecomment-844672971, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AKOUXH442Z5EPJUPZGYT7ELTOSEJZANCNFSM45FH7Z7Q
.

Dunno if it rendered correctly in the mail but I meant the improved message to have <cell num. (md interpreted it as html angle brackets)


Test: Pasted text copied from a terminal should retain colors

Refs: #20813

[ ] macOS @kimadeline
[x] linux @dbaeumer
[ ] windows @minsa110

Complexity: 2
Authors: @meganrogge, @Tyriar
Create Issue

The terminal has a new context menu entry, Copy as HTML and a new action Terminal: Copy as HTML. This enables copying the terminal buffer as HTML.
Find some apps that support rich text pasting - for example, Outlook. You can verify they support this via copying and pasting from the editor into the app; if the text retains its colors, ✅ .
Verify that the action carries over color and styling of the terminal text to the app when the text is pasted.
A helpful terminal command for testing is msgcat --color=test

Small tip: to have an application you can paste HTML log into office in the Web.


Remove ReplicationInternal.MAX_RETRIES

ReplicationInternal.MAX_RETRIES is not used from java-core anymore. but it is pointed from unit test.

PR: https://github.com/couchbase/couchbase-lite-android/pull/862