There are no shadows

I, Voyager platform
All
I, Voyager version and (if applicable) Godot version
v0.0.6 and master branch; Godot 3.2.1
OS/device
Windows 10 (Chrome for HTML5 platforms)
Issue description:
There are no shadows. There should be.
Steps to reproduce
Visit Saturn. When rings are not edge-on they should cast a shadow on Saturn.
Or visit Jupiter. It should be easy to catch Io's shadow, if it existed. (You can make Io 20x bigger in the moons.tsv table to make that more obvious.)
Minimal project
N/A
Other helpful information
I don't know why we don't have them!
OmniLight.shadow_enabled = true
All of our GeometryInstances (worlds and Saturn's rings) have default cast_shadow = 1.
All of our SpatialMaterials (world & ring textures) have default flags_do_not_receive_shadows = false.
I played around with Light.shadow_bias. According to the tutorial, I ought to be able to create "self-shadow" artifacts by setting that too low. But no, I can't even create shadow artifacts...

Did some testing of shadow range in an empty project. It seems the upper limit for shadows cast by an OmniLight is ~10km from the light source before it completely gives out. Regardless the result is already very ugly with artifacting before hitting 10km.
A DirectionalLight could be an option, it isn't a point source so you would have to actively keep it oriented to the selected planet, but shadow cast range between objects is higher and gives a much cleaner result... unfortunately the range between objects tops out at ~1e6m which is still too low for moons. I was hoping the similarity to the camera range issue meant this could also be negated with double floating point precision, but in this case I get identical results on both builds.
As I understand it 64bit floats have a much bigger performance hit on GPUs than they do on CPUs so are rarely used, which is presumably why shadows cant utilize them here, even if you build the rest of the engine with double precision enabled. A graphics wizard might be able to do some fakery and project a shadow from closer range while keeping everything else at a real planetary scale... Other option being to scale everything down to fit within the shadow cast range.

Thanks so much for looking into this! FYI, I'm going off-line from the 27th through August 25 (hiking the John Muir Trail where I won't even have cell phone coverage). But I'll try to engage with this and your discussion post over the next couple days...
Just a quick note: We can adjust the scale of the whole sim by changing const METER = 1.0 in a units.gd file. See here for the file used by Planetarium. As noted in the comments there, other artifacts constrain us on that setting, and I have to use very different values in HTML5 export versus Windows export or editor run. (I think it's 1e-10 in the current Web app.) This has varied greatly with different Godot versions too.
I've pondered more extreme trickery with scale, given that the sim uses its own physics so doesn't really care what Godot thinks the distances are.

The comments indicate const METER = 1e-3 works fine for windows builds and this is just low enough to get usable shadows from some of Jupiters moons with a DirectionalLight (not Callisto). Double precision allows for lower values without having objects vanish.
directional_shadow_max_distance controls the shadow view distance but by increasing this you are also effectively reducing the shadow resolution. It will quickly turn into a blurry mess if it is more than ~1e9 times the chosen METER scale. Therefore, if
const METER = 1e-6 then use directional_shadow_max_distance = 1000
With this ratio the viewable distance of shadows is locked at 1e9m (Gannymead can just about see its own shadow). Decreasing the scale below 1e-3 (but maintaining the ratio as described above) will allow more distant bodies like Callisto to cast shadows on Jupiter even if you cant actually see the shadow at that range.
I'm not sure if this is the best solution or how any of it translates to HTML5, but here is my test setup:
Directional light is rotated to x=80, y=270. And I disabled the OmniLight during runtime.

Io casting a shadow:

Shadow close up:

That's awesome! At least we have something to work from now. It won't be too hard to program a directional light that is camera aware (or multiple ones for a multi-star system). I'll do this for the next release for sure.
Just out of curiosity, are you seeing a shadow from Saturn's rings?
I guess we can do some dynamic trickery with directional_shadow_max_distance that is aware of the current view. I see a problem where we won't be able to have good shadows from astronomical objects (eg, rings on Saturn) at the same time the viewer is close-up to small bodies that might have a shadows.

Saturns rings are actually completely missing for me on my double precision build (even with default values), I haven't looked into why yet.
If I switch back to a standard build and keep within the limits Saturn casts a shadow on the ring... but no the ring isn't casting its own shadow.

I wouldn't expect rings.gdshader to be affected. Probably rings.gd is passing some bad data in the double-precision build. It's possible we are exposing a Godot bug that no one else has tested.
Also, I might have broken the rings shadow casting (specifically) in rings.gd code. I was messing around with shadow modes that I don't really understand.

I guess we can do some dynamic trickery with directional_shadow_max_distance that is aware of the current view. I see a problem where we won't be able to have good shadows from astronomical objects (eg, rings on Saturn) at the same time the viewer is close-up to small bodies that might have a shadows.

It seems you can have multiple light sources using different light_cull_mask layers and different shadow settings for each one. I first thought light would just "go through" an object if it wasn't on the same layer as the light source, but while it wont be lit by the light source it still casts a shadow from it.
A planet layer with a dynamically adjusted directional_shadow_max_distance can keep moon shadows crisp regardless of your view distance. Moons might be a bit trickier as it is possible to have multiple in view at the same time at wildly different ranges.
A reasonable scenario could have one nearby moon casting a shadow on the planet, and another on the far side in the planets own shadow. For the far side moon to be properly shadowed its light source must have a high shadow_max_distance, so if you want good shadow detail on the nearby moon you would need to further split them up onto more layers. Splitting every moon onto its own layer would likely be excessive, so if you do want more detail an a nearby moon maybe only split off the moon you currently have selected, while all others share a default moon layer / light source.
Follow a similar pattern for each size class, like a space station / space ship layer. A "default" light source with high shadow distance, and a "selected" layer if its needed.

OK, I think I understand this. So maybe we can get by with two layers: one fixed that handles large "astronomical" objects and one dynamic that handles smaller objects near the camera. We can try that first and see if we need a third intermediate layer.
The scaling artifacts I noted for const METER in units.gd were lighting artifacts. So that makes me think that these won't be limiting after we replace the OmniLight. Is there a conceivable fixed METER setting that will allow shadows at all scales we are talking about, given different light_cull_mask layers?

Kind of... other way round though. I suggest a dynamic light/shadow layer for the planet as you would mostly only ever have 1 body of that size in view at a time. Using the 4 split shadow mode is usable as shown in the screenshots above, but its a bit low resolution for such extreme viewing ranges and would benefit from a dynamically adjusted orthogonal mode rather than using splits.
Dynamic shadow distance is only really useful if you want to keep a single object "in focus", otherwise it can have weird effects on other objects that share the same layer. Using a fixed shadow distance should be the default when you have multiple objects in view, and due to the vast differences in scale you probably want a separate fixed/default layer for each size class of body. A planetary system on its own isn't a very complex scene with lots of geometry, so adding extra light/shadow layers shouldn't be very expensive (testing needed).
You can get away with not splitting the "in focus" moon onto a separate dynamic layer, but while testing some extreme shadow ranges there were artifacts when zoomed in close to a moon that was fully in Jupiters shadow. In this instance the value didn't need to be quite so high and was fine when lowered but if you do need even higher shadow distances for distant moons, or want some detail in the shadows cast on a moon, splitting it off might be necessary.
Shadow artifacting:

The scaling artifacts I noted for const METER in units.gd were lighting artifacts.

Oh. I'm sure I tested this on its own and had objects fully vanishing. Tried again now and I get what you describe. Maybe I messed something up.

Is there a conceivable fixed METER setting that will allow shadows at all scales we are talking about,

The limiting factor that I have found is a moon in its planets shadow. If you zoom out beyond the shadow range they suddenly  light up. The moon might be so small it has effectively disappeared... but depending on screen resolution it could still be a visible pixel, or several pixels. Decide what range it is acceptable to have the moon suddenly light up and use that as a baseline for the METER scale.

I managed to follow much of the logic of how things tie together while I was poking around, but... I have no experience of contributing actual code, I am extremely slow working on even my own stuff, and am deep in my own rabbit hole right now.
I could get over the first issue, but the other two combined will keep me busy for the foreseeable future.

No problem at all! I need to spend a couple weeks on my game project... then I'll tackle this issue once an for all. I'll definitely be back here to ask questions as I go.


Indexing error handling

Indexing errors apparently don't get caught: https://github.com/taskrabbit/elasticsearch-dump/blob/master/lib/transports/elasticsearch.js#L347
In my case, the problem were 429 errors (es_rejected_execution_exception). The only way by which you can tell there are errors is the writes count being lower than the sent count.
Logging the response helped me find the cause.

Feel free to look for errors from ES in the response payload and append them to error.  Pull requests welcome!

If you don't have time to contribute, can you share the resulting output which contained the error?

Closing due to lack of activity


Code example for pre-trained REALM models?

Hey! I'd like to try out the pre-trained REALM models (meaning ask a question and get an answer), but was wondering if there were any code examples we could try to use it? I haven't found any in the read me.

We just released fine-tuned models here: https://github.com/google-research/language/tree/master/language/realm#pre-trained-model-checkpoints. I suggest trying out the Natural Questions-based model. If you set --model_dir=gs://realm-data/orqa_nq_model_from_realm in the ORQA demo (https://github.com/google-research/language/tree/master/language/orqa#running-the-demo), you can demo with your own questions.

Thanks so much! I gave this a try and got an error when running:
pip install -r language/orqa/requirements.txt
I got:
ERROR: scann-1.0.0-cp37-cp37m-linux_x86_64.whl is not a supported wheel on this platform.
Then I installed everything except for that file manually, and when running this:
python -m language.orqa.predict.orqa_demo \
  --model_dir=gs://realm-data/orqa_nq_model_from_realm \
  --port=8080

I got this error:
Traceback (most recent call last):
  File "/Users/ya/Documents/realm/language/language/orqa/ops/__init__.py", line 20, in <module>
    orqa_ops
NameError: name 'orqa_ops' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/ya/opt/anaconda3/envs/orqa/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/ya/opt/anaconda3/envs/orqa/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/ya/Documents/realm/language/language/orqa/predict/orqa_demo.py", line 22, in <module>
    from language.orqa.models import orqa_model
  File "/Users/ya/Documents/realm/language/language/orqa/models/orqa_model.py", line 24, in <module>
    from language.orqa import ops as orqa_ops
  File "/Users/ya/Documents/realm/language/language/orqa/ops/__init__.py", line 23, in <module>
    os.path.join(os.path.dirname(os.path.abspath(__file__)), "orqa_ops.so"))
  File "/Users/ya/opt/anaconda3/envs/orqa/lib/python3.7/site-packages/tensorflow/python/framework/load_library.py", line 58, in load_op_library
    lib_handle = py_tf.TF_LoadLibrary(library_filename)
tensorflow.python.framework.errors_impl.NotFoundError: dlopen(/Users/ya/Documents/realm/language/language/orqa/ops/orqa_ops.so, 6): image not found

I'm running all of this on a Macbook Pro Retina 2013 15" with MacOS Mojave 10.14

I don't think ScaNN supports OSX out of the box, but you can try their instructions to compile it yourself: https://github.com/google-research/google-research/tree/master/scann.
Regarding the missing orqa_ops, please read the full README for instructions. There are extra compilations steps you need to do.

Thank you for the help! Feel free to ignore me at any point if this is too cumbersome haha.
I tried to build scann from source using:
python3 configure.py CC=clang-8 bazel build -c opt --copt=-mavx2 --copt=-mfma --cxxopt="-D_GLIBCXX_USE_CXX11_ABI=0" --cxxopt="-std=c++17" --copt=-fsized-deallocation --copt=-w :build_pip_pkg ./bazel-bin/build_pip_pkg
And got this error:
  File "configure.py", line 6
    <!DOCTYPE html>
    ^
SyntaxError: invalid syntax

Configure.py seems to be all html and not python?
I tried applying the compilations for orqa and the error did go away but was met with a new error which from the looks of it is due to missing scann.
I ran this again:
python3 -m language.orqa.predict.orqa_demo \ --model_dir=gs://realm-data/orqa_nq_model_from_realm \ --port=8080
And got this error:
WARNING:tensorflow:scann is not available.
WARNING:tensorflow:From /Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/site-packages/tensorflow/python/compat/v2_compat.py:96: disable_resource_variables (from tensorflow.python.ops.variable_scope) is deprecated and will be removed in a future version.
Instructions for updating:
non-resource variables are not supported in the long term
Traceback (most recent call last):
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/Users/josephvanrowe/Documents/realm/language/language/orqa/predict/orqa_demo.py", line 105, in <module>
    tf.app.run()
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/site-packages/tensorflow/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/Users/josephvanrowe/Documents/realm/language/language/orqa/predict/orqa_demo.py", line 83, in main
    predictor = orqa_model.get_predictor(FLAGS.model_dir)
  File "/Users/josephvanrowe/Documents/realm/language/language/orqa/models/orqa_model.py", line 504, in get_predictor
    with tf.io.gfile.GFile(os.path.join(model_dir, "params.json")) as f:
  File "/Users/josephvanrowe/opt/anaconda3/envs/orqa/lib/python3.7/posixpath.py", line 80, in join
    a = os.fspath(a)
TypeError: expected str, bytes or os.PathLike object, not NoneType


REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

Hi
How Can I get the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission to opt-out my app from android doze in android M?

Hi @KamyarGhajar
That permission is not handled in the same way runtime permissions are. If you want to ask for that permission, you will need to add the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission to your manifest and send an intent with the ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS action. You can read more about it in https://developer.android.com/reference/android/provider/Settings.html#ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS.
At some point, we might want to include some strategies to handle this kind of permissions in the same fashion but right now it's not something we want to add.
Thanks for reporting!

Thank you @Serchinastico

@Serchinastico

An app holding the REQUEST_IGNORE_BATTERY_OPTIMIZATIONS permission can trigger a system dialog to let the user add the app to the whitelist directly, without going to settings. The app fires a ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS Intent to trigger the dialog.

The documentation says that is possible to request the permission and do not have to lead the user to the settings screen.

@Serchinastico <uses-permission-sdk-23 android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> in AndroidManifest.xml works for me. (<uses-permission> will only open the general battery optimization menu)


OSL-757: Volume size set to 10GB

Description
Volume size set to 10GB
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

Related Tickets & Documents

Related Issue #OLS-757

/lgtm

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

Project coverage is 94.75%. Comparing base (d3076b3) to head (b021903).
Report is 8 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1510   +/-   ##
=======================================
  Coverage   94.75%   94.75%
=======================================
  Files          59       59
  Lines        2631     2631
=======================================
  Hits         2493     2493
  Misses        138      138

/approve

/retest


fix: add AES256 server side encryption support for S3PinotFS

this PR adds AES256 side encryption support for S3PinotFS.
Though the implementation seems to be finished and ready for review, I'd like to add some tests.
I was looking into S3PinotFSTest.java but didn't find it useful for my use case.
Ideally, I'd like to make assertions on putReqBuilder/copyReqBuilder/getReqBuilder/headReqBuilder but maybe I'm wrong and there's a better way to do it. I'm open to any suggestions.

Codecov Report

Merging #10032 (8625e7b) into master (431b918) will decrease coverage by 56.82%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master   #10032       +/-   ##
=============================================
- Coverage     70.42%   13.59%   -56.83%
+ Complexity     5691      176     -5515
=============================================
  Files          1994     1939       -55
  Lines        107508   105060     -2448
  Branches      16340    16048      -292
=============================================
- Hits          75709    14288    -61421
- Misses        26502    89650    +63148
+ Partials       5297     1122     -4175

Flag
Coverage Δ

integration1
?

integration2
?

unittests1
?

unittests2
13.59% <0.00%> (-0.02%)
:arrow_down:

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

 Learn more

hi @snleee
Have you had a chance to take a look at the PR?
Please ignore the conflict warning as I'll resolve it along with your review remarks if any.
Thanks in advance.
Regards, Eugene


Update Hibernate Validator - CVE-2020-10693

https://hibernate.atlassian.net/browse/HV-1774
https://nvd.nist.gov/vuln/detail/CVE-2020-10693

@koalalam Thanks for reporting this!
We already addressed the underlying issue with Dropwizard 2.0.3 and the next patch release of Dropwizard will contain the latest version of Hibernate Validator.

Thanks @joschi. Any ETA on v2.0.10 to go available?

Any update on when this change will go live? Thank you.

@koalalam https://github.com/dropwizard/dropwizard/releases/tag/v2.0.10


feat(website): fix highlighting edgecase in codemirror theme

Problem described here: https://discuss.codemirror.net/t/basicsetup-breaks-cursor-highlighting/6964/5

We could also just add our own css rule but I think this makes it more obvious this is their problem, not ours


[BUG] DB Client containers seem not to be working

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
While looking into the version update for the newest release of Alpine, it was discovered that our db client containers seem to be failing the health probe. This seems to be unrelated to the alpine bump since this behavior was replicated across environments
Steps To Reproduce

Go to any dev environment
Follow instructions to get into the containers here
Notice that trying to start psql errors

Expected Behavior
Client container probes to be healthy and being able to run psql
Additional context
@alismx  for visibility
Does this issue have a priority label?

[X] I have added a priority label

Has issue been assigned to a team?

[X] I have added a team label

Question to consider: are you attempting access via a CITGO VM? If so, it won't work. You have to be off the network.
Weird quirk I found when setting these up initially. Health checks always have reported as failures in the Azure console, but that never previously impacted operations.

Question to consider: are you attempting access via a CITGO VM? If so, it won't work. You have to be off the network.
Weird quirk I found when setting these up initially. Health checks always have reported as failures in the Azure console, but that never previously impacted operations.

@rin-skylight Thanks for the insight!
I'll double-check that we're able to connect, if so, I'll look into what changes we could make to the health check to better indicate it's actual health.

Question to consider: are you attempting access via a CITGO VM? If so, it won't work. You have to be off the network.
Weird quirk I found when setting these up initially. Health checks always have reported as failures in the Azure console, but that never previously impacted operations.

@rin-skylight Thanks for the insight!
I'll double-check that we're able to connect, if so, I'll look into what changes we could make to the health check to better indicate it's actual health.

The container is running and it is possible to connect.
This ticket should be an update to the readiness check so that it doesn't fail all the time.


Set time signature

Hello,
I am working on an app, and this library would be really useful. I was wondering though, how can I set or change the time signature of the metronome?

Do you mean change the frequency of the metronome (the number of beats per minute)?

I don't mean changing the beats per minute. By changing the time signature I mean to change the number of beats that are in a measure.

By measure I mean a unit of time corresponding to a number of beats at a particular BPM.

Ah I understand. At the moment this library just plays one sound at a specified frequency, so there's no way at the moment to tell one measure from another. If this was a feature you'd like to add I'd be happy to accept a pull request!

I appreciate your help! Do you know any other libraries that do have this feature? If not, I would love to develop it although it might take me a fair bit of time as I am new to developing libraries and react in general, but I will surely send a pull request if I do make it!

I do not, and particularly do not know of any that work on both android and iOS, which is why I wrote this library :-)

Thanks!


Fix RunCommand.json build failure

MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I commit to follow the Breaking Change Policy of “no breaking changes
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

[ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.

Adding new API(s)
Adding a new API version
Adding a new service

[ ] Please ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the Breaking Change Policy.

[ ] Removing API(s) in stable version
[ ] Removing properties in stable version
[ ] Removing API version(s) in stable version
[ ] Updating API in stable version with Breaking Change Validation errors
[ ] Updating API(s) in preview over 1 year

Please follow the link to find more details on PR review process.

/azp run automation - sdk

No API changes.
This change is to fix a recent regression causing a build break: https://apidrop.visualstudio.com/Content CI/_build/results?buildId=167438&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b&t=a04569be-1b08-5c9a-7e65-a83076350a0c&l=21533
Introduced in PR: https://github.com/Azure/azure-rest-api-specs/pull/10919. Now there is some error happen in CI build about compute.json  and RunCommand.json

/azp run

/azp run unifiedPipeline


[RFC] Expose standardized OSC interface for raw tracking data

In this RFC I propose a unified interface for submitting raw tracking data, for sources like ALXR, ALVR, VRCFTQuestPro and other projects.
Description
The 2 main face tracking platforms supported today are HTC eye and lip trackers, and the Quest Pro. Another source is the combined eye gaze exposed by the OpenXR extension XR_EXT_eye_gaze_interaction, which, among others, is supported by the Pico platform.
For the protocol I propose OSC ovr UDP.
The addresses of the OSC inputs are grouped by scope. For illustration here I divide each address into prefix and suffix, which should be used together to form a single path.
I propose 4 prefixes: /tracking/eye, /tracking/face_fb, /tracking/eye_htc, /tracking/lip_htc.
/tracking/eye contains unopinionated inputs relative to the eyeballs movements, not constrained to any specific vendor. This prefix can have /center, /left and /right subpaths. An example for a full path is: /tracking/eye/left/pitch_yaw. These are the proposed suffixes:

Suffix
OSC args

/active
Bool

/pitch_yaw
[Float, Float]

/vec
[Float, Float, Float]

/quat
[Float, Float, Float, Float]

Clients can send any of these inputs at any time and VRCFaceTracking should adapt to read any of these inputs in any order. When a client detects that an eye is no longer actively tracked, it should send False to the corresponding /active input as soon as possible; while it's not mandatory to send /active = True when the corresponding input is available, due to the unreliable nature of UDP, /active = False inputs should be sent periodically. If VRCFaceTracking does not receive any input for a particular eye for more than 10 seconds then it is free to perform any suitable idle animation.
Pitch and yaw are in radians, where 0 pitch and 0 yaw corresponds to the eye looking in the forward direction. The rotations follow the right hand rule, so +pitch is up and +yaw is left. /vec inputs are in order X, Y, and Z of the forward gaze direction. /quat inputs are in order W, X, Y, Z of the forward gaze direction. All orientation conventions should be local relative to the head orientation.
These are the suffixes relative to the /tracking/face_fb prefix:

Suffix
OSC args

/brow_lowerer_l
Float

/brow_lowerer_r
Float

/cheeck_puff_l
Float

...
...

All other suffixes are extrapolated from the XR_FB_face_tracking OpenXR extension by transforming constants to snake_case.
At the address /tracking/face_fb (full path), clients can send the full vector of 63 floats in one go.
Suffixes for /tracking/eye_htc are extracted in the same way from XR_HTC_facial_tracking:

Suffix
OSC args

/left_blink
Float

/left_wide
Float

/right_blink
Float

...
...

And for /tracking/lip_htc:

Suffix
OSC args

/jaw_right
Float

/jaw_left
Float

/jaw_forward
Float

...
...

VRCFaceTracking is responsible to handle any combination of inputs from different sources/clients. In the most common case FB and HTC inputs will not be mixed.
Similarly for fb, clients can send full parameters vectors at /tracking/eye_htc and /tracking/lip_htc.
Rationale

Why OSC over UDP?

OSC is a well established protocol in the VRChat community, with a simple interface. UDP is suitable for low latency transmission, and the integrity of the transmitted data is non-critical.

Why duplicating FB and HTC inputs?

The goal of this interface is to be as little opinionated as possible. These platforms have different conventions and so they should have separate input endpoints. The data should be pushed to the interface with as little preprocessing as possible, since it's VRCFaceTracking job to pack the data in a suitable streaming format for VRChat. The only exception is for FB eye tracking which is sent in a pose form, with global reference frame, which should be converted to local relative to the head orientation.
Possible extension
This interface should support exposing the internal UnifiedExpressions as OSC inputs directly. The UnifiedExpressions set is in the process of being stabilized.
This interface could also be extended for hand tracking input, using path prefixes /tracking/hand/left and /tracking/hand/right. The suffixes can be:

Suffix
OSC args

/active
Bool

/thumb_curl
Float

/index_curl
Float

/middle_curl
Float

/ring_curl
Float

/pinky_curl
Float

/splay
Float

/thumb_rot_xy
[Float, Float]

/splay is average splay of the fingers from index to pinky.
/thumb_rot_xy convention is to be defined.

EDIT: Changed Enabled -> Active, refactored eye paths.
EDIT2: Added OSC batch inputs for face_fb, eye_htc and lip_htc.
EDIT3: Support for UnifiedExpressions inputs.
EDIT4: Use snake_case path suffixes for consistency.

On the Discord server it was discussed to implement this as a VRCFT module.

Summary
To best summarize your goal with this proposal: VRCFaceTracking's tracking interface should be exposed as various vender face tracking data types (htc, fb, etc. derived from the OpenXR API) using OSC as the transmission protocol. And as an added bonus integrate with finger tracking endpoints. I think that's the best way to summarize it, and please correct me if I am wrong😅
We are already pivoting VRCFT to become a more universal face tracking interface and standard that can potentially accept any of these different vender's data types as long as it can transform to VRCFT's tracking interface (our aforementioned Unified Expressions overhaul coming soon, which is already fully included in the repository unreleased). While implementing directly to VRChat is the simplest and most direct way to send data, our goal with VRCFT is to be completely platform independent eventually (and yes I am aware we have VRC in VRCFT but still), and implementing towards our interface will automatically allow you to take advantage of already existing face tracking avatars and any app that can use VRCFT face tracking data.

VRCFT's Module System
As we had mentioned on the Discord, sending any face tracking data to VRCFaceTracking is entirely doable using an external tracking module for VRCFaceTracking (in this case, the module would have these endpoints exposed as described; then transmit to the appropriate endpoint based on the data you have to the relevant vendor/data type, then the module would transform the data to work within VRCFT's tracking interface). If your goal is to abstract out to various vender endpoints then creating an external tracking module addon for VRCFT to handle this sort of data interaction in VRCFT would be the preferred way to implement it.
I think in this context; A better suggestion would be if VRCFaceTracking should have a default 'universal' module that many different devices could subscribe to using OSC as the main standard transmission protocol? I do think that this is something we could definitely consider, especially if it helps developers target VRCFT with their tracking data.

General Points
Finger Tracking
So currently VRCFaceTracking does not currently have any underlying tracking interface for finger tracking. The scope of this project was always to provide a consistent face tracking interface that developers could implement towards to send face tracking data to avatars. However I personally like the idea of VRCFT potentially become more of a general interface for different types of tracking datas in the future, but currently our goal is to standardize face tracking data to a common unified tracking/unified blend shape standard for avatars.
OSC
My main concern with making OSC either the main native interface or a native interface for VRCFT is limiting how the app itself can accept data. I do think OSC is a flexible standard in how it allows you to express endpoints in a very user friendly way, but our goal with VRCFT is to be completely agnostic to any transmission of data, and we achieve this using a module system (and soon, our tracking interface will be fairly unified too so it should in theory accept data from different interfaces more thoroughly as well). Though this point is not really a concern if it's done within a VRCFT module.
To make it very clear: you are able to use any data transmission method you want to send data to VRCFT as long as a module can accept the data and parse the data to be accepted by the VRCFT tracking interface. There isn't any inherent way to send data to VRCFT except by implementing it into an external tracking module. The data will eventually be transmitted to the appropriate endpoints of a specific app (in this case, VRChat via OSC).
If you want to use OSC then it is a perfectly acceptable transmission protocol to use within a module. As long as the data being sent isn't in conflict with other OSC endpoints or with VRCFT transmitting OSC data to VRChat, then it should be perfectly usable!

Conclusion
Thank you for your issue! It brings up a lot of interesting points and I hope I answered or can answer any sort of questions you have about VRCFaceTracking, or about what you think might be a good course of action to provide the level of functionality mentioned.

I think that's the best way to summarize it, and please correct me if I am wrong

Yes! Thank you 🙂

I think in this context; A better suggestion would be if VRCFaceTracking should have a default 'universal' module that many different devices could subscribe to using OSC as the main standard transmission protocol?

This is indeed the more general goal of this RFC. OSC + UDP provides a really simple interface for external apps to connect to VRCFT without the development overhead of creating their own module. It also allows apps/clients to become more independent from the main VRCFT project. But depending on the needs of each app, the underlying module system is still useful as an option.

OSC + UDP provides a really simple interface for external apps to connect to VRCFT without the development overhead of creating their own module.

That's an interesting proposal! There are module projects like this libalxr / alxr module that is positioning itself as a general OpenXR interface for VRCFT. I'm guessing you're more concerned that there should be a module that just accepts OSC data instead; with all the OpenXR vender API's as OSC endpoints.

It also allows apps/clients to become more independent from the main VRCFT project. But depending on the needs of each app, the underlying module system is still useful as an option.

Most face tracking runtimes already are completely independent of VRCFT, and most apps like Neos implement directly with developer SDK's like SRanipal (Vive's face tracking SDK). It's generally apps like VRChat that don't implement towards any particular face tracking standard/device/etc. where VRCFT can be especially helpful in standardizing the input already for developers.
VRChat is pretty unconventional in that regard, and my only concern is with how they plan on addressing being standard agnostic with their face tracking implementation.

Was reading through your issue again, I am actually really liking the idea of just sending the entire array of data to the general endpoints (one example you had was just yeeting a vector of 63 floats in the order of the fb_face enum to /tracking/fb_face), and that would probably be the preferred way to send data since you won't have to boilerplate a bunch of parameter specific endpoints.
A lot of the existing modules that use sockets already send the data in an array/vector in a single buffer, so moving over to using OSC using that way wouldn't be a huge burden. I am still interested in supporting both though if the goal is to be more agnostic.


Separate run_as into many smaller components

Currently, run_as is quite long, and has many relatively independent pieces to it (see also this comment). Especially on the async branch. Splitting that function into many smaller ones would make the code much easier to read and manage! It shouldn't be too bad to take most of the closures and split them out into separate private &self functions on TsunamiBuilder, so we should probably do that!

Hey, I've taken a stab at implementing this. Can you take a look please?

Fixed in #20!


Custom error pages

We need custom error pages. The default ones leave a little to be desired.

This is dependent on having a custom host name.


Owner profile - getProfileByAddress()

Codecov Report

Merging #6 (5b58dd9) into main (5c0321f) will increase coverage by 1.37%.
The diff coverage is 96.29%.

@@            Coverage Diff             @@
##             main       #6      +/-   ##
==========================================
+ Coverage   56.65%   58.03%   +1.37%
==========================================
  Files          21       22       +1
  Lines         676      691      +15
  Branches      110      110
==========================================
+ Hits          383      401      +18
+ Misses        293      290       -3

Impacted Files
Coverage Δ

src/heroes-fetch/fetch-heroes-blockchain.ent.js
50.74% <80.00%> (-1.43%)
:arrow_down:

src/heroes-fetch/normalise-blockchain.ent.js
100.00% <100.00%> (ø)

src/heroes-fetch/owner-profile.ent.js
100.00% <100.00%> (ø)

src/index.js
100.00% <100.00%> (ø)

src/ether/ether.ent.js
86.95% <0.00%> (+13.04%)
: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 5c0321f...5b58dd9. Read the comment docs.


GPU allocation stuck on "Waiting for resource configuration"

I've uploaded the version 2.7.1 to the cluster (after downloading the blobs from github). I've modified the template to include a gpu cluster along with parameter definitions corresponding to that cluster. I've selected NC6 as the GPU machine name and started the cluster. Everything starts fine and I'm able to allocate the F32_vs nodes that correspond to the hpc partition. However when allocating the GPU node, the node starts without any error reported in the console, however, in the scheduler, slurm does not appear to recognize this fact and is still stuck on
[hpcadmin@ip-0A030006 ~]$ salloc -p gpu -n 1
salloc: Granted job allocation 3
salloc: Waiting for resource configuration

This is a problem with both the CentOS 7 and Almalinux 8 operating systems. I have the following cloud-init scripts to install singularity in each case. These don't appear to be a problem as any error in the script typically gets reported as an error in the web console.
CentOS 7:
#!/usr/bin/bash
wget https://github.com/sylabs/singularity/releases/download/v3.9.9/singularity-ce-3.9.9-1.el7.x86_64.rpm
sudo yum localinstall -y ./singularity-ce-3.9.9-1.el7.x86_64.rpm
rm ./singularity-ce-3.9.9-1.el7.x86_64.rpm

Almalinux 8
#!/usr/bin/bash
wget https://github.com/sylabs/singularity/releases/download/v3.9.9/singularity-ce-3.9.9-1.el8.x86_64.rpm
sudo yum localinstall -y ./singularity-ce-3.9.9-1.el8.x86_64.rpm
rm ./singularity-ce-3.9.9-1.el8.x86_64.rpm

Which image are you using? Does it have the GPU drivers installed? If not, it's probably not reporting the right number of GPUs so Slurm doesn't consider the node to be "healthy". You won't see this error in the console, and would have to catch it at just the right time to see the node in a DOWN state in Slurm. If you can get the slurmd logs from the node and the slurmctld logs from the scheduler, that would tell for sure. I would suggest opening a support ticket in the Azure portal so one of our engineers can help.

I figured this out pretty much exactly as you described, however a bigger problem is that AlmaLinux 8 - HPC (the default image of cyclecloud-slurm) doesn't support NC series instances (confirmed this by creating a standalone NC6 Vm with the almalinux-hpc image), probably due to an incompatibility with drivers. It works with NV series nodes though.
I just wish these sort of things were well documented (either in the cyclecloud-slurm readme or elsewhere).


[FLINK-30537] Update Opensearch dependency to version 2.3

Hi!
During a project we're working on we decided to use Flink over Opensearch 2.3, which seems to have a breaking change of removing the type property from responses.
This PR updates the dependency and the relevant tests.
I'd be happy to do any necessary changes to make sure this release is differentiated from the one meant for Opensearch 1.3.
Thanks!

@amirhalatzi the OpenSearch 2.x has JDK-11 baseline (the connector works with 2.x as well). Please correct me if I am wrong, Apache Flink still supports JDK 8 (although it is deprecated).

@reta you're right. Java 8 is still supported. As for the current connector working with 2.x - you can see in the PR that the API has changed. Any ideas on how to support both versions without upgrading to Java 11?

@amirhalatzi this is only test code which uses type, sadly the Bulk API in 1.x requires it (at least for responses), it might be possible to . The connector's code itself does not use any deprecated APIs though.


Server-Side Scrolling example not working

I'm submitting a ...  (check one with "x")
[ x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
I'm trying to implement a list with server side infinite scrolling
but the datatable is not notified when i add new rows.
(like shown here: http://swimlane.github.io/ngx-datatable/#server-scrolling )
I decided to download your project and debug the demo site to have a better understanding
at what i was doing wrong.
But the demo site has the same bug.
I can't figure out why it does that.
here's an npm list of my project:
PS C:\Users\benja\Downloads\ngx-datatable-master> node -v
v8.9.3
PS C:\Users\benja\Downloads\ngx-datatable-master> npm -v
4.2.0
PS C:\Users\benja\Downloads\ngx-datatable-master> npm list --depth=0
<EMAIL_ADDRESS>C:\Users\benja\Downloads\ngx-datatable-master
+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+-- UNMET PEER DEPENDENCY<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>+--<EMAIL_ADDRESS>`--<EMAIL_ADDRESS>
npm ERR! peer dep missing<EMAIL_ADDRESS>required by<EMAIL_ADDRESS>PS C:\Users\benja\Downloads\ngx-datatable-master> npm start

Expected behavior
Reproduction of the problem
download<EMAIL_ADDRESS>run npm install
run npm start
go to http://localhost:9999/#server-scrolling
What is the motivation / use case for changing the behavior?
Please tell us about your environment:
Windows 10
VSCode 1.19.3
node v8.9.3
npm v4.2.0

Table version: 0.8.x

Angular version: 2.0.x

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Chrome Version 64.0.3282.140 (Build officiel) (64 bits)

Language: [all | TypeScript X.X | ES6/7 | ES5]

Has there been any resolution or quick fix for this? I am currently trying to implement this and no data is being populated into the table.

Still the example (http://swimlane.github.io/ngx-datatable/#server-scrolling) in not working. Is there any work in progress? When can we  expect the release?

will downgrade to 9.3.1 :(

I got my data to load by setting server side sorting to true. Not sure why
that fixed it but it did.
On Tue, Apr 3, 2018 at 3:10 AM Samsonov Oleksandr<EMAIL_ADDRESS>wrote:

will downgrade to 9.3.1 :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/swimlane/ngx-datatable/issues/1290#issuecomment-378165570,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABwfknXzDWA1QtQIH7fCzDK0PyKZgJArks5tky5pgaJpZM4R--xm
.

@dim87 fantastic. this worked for me!

Thank you, and in which part should the function pushDataTableData be applied?


Example of Schema Validation is not working on codesandbox

I tried to run this example via "CODESANDBOX" button at the upper-right of the code snippet: https://react-hook-form.com/get-started#SchemaValidation
It's not working for both JavaScript and TypeScript.
Once I hit the submit button in this form it's going to show this error:
TypeError
react_hook_form_1.transformToNestObject is not a function
    at Object.eval (https://eb41q.csb.app/node_modules/
hookform/resolvers/dist/yup.js:45:39
async eval
https://eb41q.csb.app/node_modules/react-hook-form/dist/index.esm.js:1047:50
This screen is visible only in development. It will not appear if the app crashes in production.
Open your browser’s developer console to further inspect this error.
This error overlay is powered by `react-error-overlay` used in `create-react-app`.

It happened on these codesandbox:

JavaScript: https://codesandbox.io/s/react-hook-form-v7-validationschema-rm35t
TypeScript: https://codesandbox.io/s/react-hook-form-validationschema-v7-ts-eb41q

thank you. both fixed.

Ahh super fast! 🥶 Thank you!


Chapter 3 (the terraform_remote_state Data source)

Chapter 3 section: The terraform_remote_state Data Source
I am completed this section which taught me how the web sever cluster can access the database address and port via Terraform.
I got the address for the alb dns
but when i curl it on the command line or on a web browser nothing happens it times out
Please can you tell where i went wrong?
what can i do to address this?

Hard to say without seeing the code! You can typically use a systematic approach to debug these sorts of things, going through each step of the network path (you can check most of this in the AWS web console):

Does the security group of the ELB allow incoming TCP requests on port 80 from your IP (or from <IP_ADDRESS>/0)?
Are there any EC2 instances registered in the ELB?
Are the health checks passing for those instances?
Does the security group of the ELB allow outbound requests (necessary to send health checks)?
Does the security group of the instances allow inbound requests from the ELB?
Is the web server running on the instances? You can SSH to an instance and curl localhost:8080 to check. You can also look for errors in the system log output to see if there was an error in your User Data script.

Any of the above could lead to the symptoms you're seeing, so check one at a time!

Hard to say without seeing the code! You can typically use a systematic approach to debug these sorts of things, going through each step of the network path (you can check most of this in the AWS web console):

Does the security group of the ELB allow incoming TCP requests on port 80 from your IP (or from <IP_ADDRESS>/0)?
Are there any EC2 instances registered in the ELB?
Are the health checks passing for those instances?
Does the security group of the ELB allow outbound requests (necessary to send health checks)?
Does the security group of the instances allow inbound requests from the ELB?
Is the web server running on the instances? You can SSH to an instance and curl localhost:8080 to check. You can also look for errors in the system log output to see if there was an error in your User Data script.

Any of the above could lead to the symptoms you're seeing, so check one at a time!

I believed that since i used the security group both for the instance and elb in chapter 2, i used the same terraform code for chapter 3. Thus, this was the root of the problem.  but now i have fixed it.


Update CI/CD Lab with accurate directions

the CI/CD pipeline lab leaves out a lot of steps and makes assumptions that don't line up with the screenshots. Update the directions so that it includes creating the proper project/apps/

Updated the 3.3 lab with accurate directions based on the 3.3 CDK


Cover image not being replaced

I was updating a manga and the code stopped executing as soon as it tried to update the cover image. Here are all the displayed messages:

[INFO] Using English language
[INFO] Downloading cover manga Yofukashi no Uta
file_sizes:   0%|                                    | 0.00/138k [00:00<?, ?B/s][ERROR] Unhandled exception, FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'Ongoing - Hiatus\Yofukashi no Uta\cover.jpg.temp' -> 'Ongoing - Hiatus\Yofukashi no Uta\cover.jpg'
Traceback (most recent call last):
File "mangadex_downloader\cli_init_.py", line 57, in _main
File "mangadex_downloader\cli\download.py", line 21, in download
File "mangadex_downloader\cli\url.py", line 167, in call
File "mangadex_downloader\cli\url.py", line 81, in download_manga
File "mangadex_downloader\main.py", line 407, in download
File "mangadex_downloader\utils.py", line 60, in download
File "mangadex_downloader\downloader.py", line 138, in download
FileExistsError: [WinError 183] Cannot create a file when that file already exists: 'Ongoing - Hiatus\Yofukashi no Uta\cover.jpg.temp' -> 'Ongoing - Hiatus\Yofukashi no Uta\cover.jpg'

The command line I used was:

..\mangadex-dl\mangadex-dl "OngoingList.txt" --folder ".\Ongoing - Hiatus" --use-chapter-title --no-group-name

I have run this command line previously without issue, and this was the only manga in the list that had this occur, so I presume the cover image on Mangadex was updated. I updated from 1.6.2 to 1.7.2 and the error occurred again. I can confirm that page images are replaced when the ones I have are different from what is on the server. I was able to get the manga to update after deleting the existing cover.jpg.

This was fixed in v2.0.0. But it's not released yet and still in development.
I see you're using bundled executable, so you might wanna wait until v2.0.0 is released. Or if you have git and python installed and you're familiar with terminal stuff. You can try install development version.
py -3 -m pip install<EMAIL_ADDRESS>
There is no ETA when v2.0.0 is released.

Update: I have provided artifacts in CI. Which means you can use bundled executable early
https://github.com/mansuf/mangadex-downloader/actions/runs/3066770700
The update feature may not working, so if you want to install stable version go to github releases


Add compatibility for NestJS V8

Add compatibility for NestJS V8

We implemented the requested changes in PR #284. Thanks for your effort, but we needed to update the docs and decided to make our own PR.
The feature is released as v2.0.0.


aws-production-1: com-free worker pool

This rolls out the com-free worker pool to production.
The instance count is set to 0 for the time being, since the large instances are a bit pricey. But that can be increased once we want to start taking traffic on that pool.
The patch should not change any production settings and should be safe to apply.
Once this has been applied we should be able to manually set the max and desired instance count to 1, see an instance boot, it should create the builds.ec2-free queue in rabbit. That indicates it's working.
refs https://github.com/travis-ci/reliability/issues/127

Applying this, will then verify it in production.

The instance came up successfully, and builds.ec2-free was created. Going to go ahead an merge! ✨


feat: add annotations to schema

Description
Adds annotations for properties to the schema. The annotations are filtered by an include list, which currently only includes jakarta.persistence.Id and jakarta.persistence.Version.
Part of https://github.com/vaadin/hilla/issues/1266

Now you broke react-grid. Probably something with the Filter class and its annotations


Roll engine 1baf08134353..3822765918ec (3 commits)

https://github.com/flutter/engine/compare/1baf08134353...3822765918ec
git log 1baf08134353..3822765918ec --no-merges --oneline
382276591 Roll src/third_party/skia 6bdfb6fba352..eb35650f9177 (15 commits) (flutter/engine#6914)
983d70eb3 Revert "Compile libcxx and libcxxabi for Android (#6886)" (flutter/engine#6912)
9ccd1e86d Compile libcxx and libcxxabi for Android (flutter/engine#6886)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

@liyuqian : New roll has been created by https://autoroll.skia.org/r/flutter-engine-flutter-autoroll

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/6316675219587072 , https://cirrus-ci.com/task/5753725266165760

Commit queue failed; closing this roll.


Collapse left menu

The up arrow next to "Samples" is not working for me. It'd be nice to collapse the left menu when you need more space.

+1 to collapsible samples menu and also collapsible right panel (the generated code / live panel) for more space. Alternatively, moving the samples to the toolbar above, possibly in different categories?

Yes, I was planning to add the collapse to the left menu but didn't have time to implement it.
The idea, of the left are (which contains the samples menu for now), is later we can add others widgets in it like one to add package to the project, settings area etc.
The navbar component of Fulma, is limited IMO.


unexist method of vqe used in adapt_vqe

Lately, I was trying to use adapt-vqe to calculate a LiH's ground state energy. However, it reported in the line 104 within

adapt-vqe.py

the method get_energy_evaluation is not existing.

What version of Nature and Terra are you using. The get_energy_evaluation exists in main and the latest stable (has been there since 0.18 in Terra).
There is a unit test here that passes CI that would otherwise fail https://github.com/Qiskit/qiskit-nature/blob/main/test/algorithms/ground_state_solvers/test_adapt_vqe.py


Overhauled a number of systems, bugfixes and restyling

This pulls in the multitude of changes made to fix some of the issues pulled from my dev branch while adding significant improvements to the app

@harrislapiroff Branch being pulled into yours

All of these changes should now be incorporated into #62. Give a holler if anything's missing or wrong!


Improve operator  evaluation

This PR is part of my profiling for #328. It improves a bit of the evaluation logic in Exchange operators. I think it might have some overlap with earlier PRs (e.g., #50), but I haven't checked. Seems to be a little bit better than current main, but I'll run a benchmark to be sure.
Benchmarks on VRPTW
This PR (202fce998c1d6e443f0bb34a488f1dd550feab46; job ID 4070541):
                MEAN       MIN       MAX  COV
      inst
obj   C1     41380.7   41352.0   41401.0  0.0
      C2     16198.2   16194.4   16205.4  0.0
      R1     47254.0   47213.0   47271.1  0.0
      R2     27800.3   27773.5   27849.7  0.1
      RC1    44214.4   44186.6   44237.6  0.0
      RC2    23306.1   23282.3   23329.2  0.1
iters C1     66974.7   64859.8   69946.0  2.7
      C2    113820.2  110464.3  117223.8  2.0
      R1     40993.1   39720.0   42365.3  2.6
      R2     55481.5   51315.4   61336.5  5.5
      RC1    43842.9   41395.4   48010.0  4.8
      RC2    56753.7   49863.6   59919.6  5.7

Current main (c4873bdf18a9a0f8c780d1a641a0eeeacc8fb06d; job ID 4068464):
                MEAN       MIN       MAX  COV
      inst
obj   C1     41383.8   41347.6   41407.7  0.0
      C2     16198.5   16195.0   16205.0  0.0
      R1     47264.6   47212.2   47284.4  0.0
      R2     27805.4   27777.9   27851.3  0.1
      RC1    44216.6   44184.6   44253.2  0.0
      RC2    23309.6   23283.8   23334.2  0.1
iters C1     61640.8   57599.8   65465.8  4.1
      C2    103934.5  100356.9  107846.3  2.3
      R1     37931.5   34933.9   40534.5  5.4
      R2     51757.0   47558.1   56994.8  5.4
      RC1    41175.0   38850.1   43639.0  4.0
      RC2    51583.2   47265.4   56343.3  5.1

Notes:

It is essential that you add a test when making code changes.
This keeps the code coverage level up, and helps ensure the changes work as intended.
When fixing a bug, you must add a test that would produce the bug in the master branch, and then show that it is fixed with the new code.
New code additions must be well formatted. Changes should pass the pre-commit workflow, which you can set up locally using pre-commit.
Docstring additions must render correctly, including escapes and LaTeX.

Some 5-10% faster.


Ensure Legacy and Undefined Sighash types are banned

Due to starting a new chain, and adding BIP341 signatures, we have used the 0x20 sighash type bit. However, the signature checker still allows legacy signatures due to the requirement of testing. However the mapping currently is

FORKID  = BIP341
FORKID|BIP341 = BIP341
NO FORKID = Legacy

We need to ensure that only FORKID and the FORKID|BIP341 bit combos are valid outside of unit tests prior to launch. We want to reserve the other two combinations for future sighash types.

See: https://github.com/cashweb/cashd/pull/111


Aprx does not support messaging

Aprx contains no behavior for APRS Messaging. At a minimum, aprx should reject all messages directed at any of its aprx_interfaces. Further actions based on APRS Messages (forward as email, send to syslog, etc) would be a nice bonus but not as important from a spec compliance point of view.

Note: There is a beginnings of a messaging system in interface.c:process_message_to_myself()

aprx should not have further actions (such as "forward as email"), those are quite clearly outside the scope of an igate and should be implemented as separate APRS-IS servers.
Please try to keep the focus on doing one thing and doing it well.

Being a digipeater is quite clearly outside the scope of an igate as well, so I don't think that argument holds water. I see aprx as an APRS packet router, and I feel that that includes shunting APRS messages to some other system to be processed.

Aprx has functions that are easy to do with embedded resources.
Mostly where AX.25 UI frame talk capability are useful.

How could we flesh out the implementation of process_message_to_myself()?
Right now, ack to RF interfaces is not implemented....Let's come back to that.
One poosibility might be a 'CGI'-style call to a shell script.  process_message_to_myself() could open a pipe to an external shell.  We could add a config item  to the  element, so you could specify:
<interface>
   serial-device {{kiss_tnc_device}} {{kiss_tnc_baudrate}} 8n1 KISS
   callsign     $mycall  # callsign defaults to $mycall
   tx-ok        true    # transmitter enable defaults to false
   telem-to-is  true # set to 'false' to disable
   <on-message>/opt/my-extension/bin/handle-my-message</on-message>
</interface>

The output from the message handler could be sent back in messages to the original sender.  We'd probably want a limit of four or five lines of output (don't want to flood the rf channel).
But then those messages would need to be checked for 'ack' and re-sent on the sliding retry delay until an ack was received.  Ditto for the 'ack' to the original message.  Is there already a periodic timer or heartbeat that we can tie into for the 'ack's and retries?

I would suggest having some security on this if you allow it to execute programs or scripts. Perhaps a one-time password scheme or something. I could definitely envision uses for that capability.

I think remote actions is a can of worms, particularly in a full Linux environment like Aprx is in. Linux supports so many other remote access capabilities through SSH and VPNs or microwave links, or even point-to-point dial-up modem links which I've used before for remote console access, that I can't justify the complexity of supporting any remote commands.
Since Aprx is not a user-facing application, the extend of messaging would only be logging/forwarding incoming messages and responding to a limited set of APRS query fields.

@dandrzejewski - The end goal of this is actually to be able to power-cycle a repeater over remote control (see aprs-remote-control), so yes, security is an absolute requirement.  We're thinking of using signed messages similar to the description in https://github.com/richark/aretf/blob/master/ARETF-APRS-Authentication.txt, with a couple of differences.  First, I'm not comfortable with having a shared private key, so we're looking at a dual-key system.  Second, recent discussions on the APRS-SIG list surfaced a suggestion that the "user-defined" packet would be a better choice than shoe-horning the signature into a message packet, and wouldn't incur the 67-character length limitation, which seems to be based on fitting a line onto a DOS terminal screen.
@PhirePhly - Yeah, the more I look at it, it doesn't make sense to add this to APRX.  What I'm currently pursuing is a standalone message handler that would share the device with APRX using a port sharer like utils-for-aprs.  That way, APRX can do what it does best (IGating and Digipeating) and the remote control system can do its thing independently.


Update MD file on new branch 2017-42-17_05-12-48

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


How to install locally without internet?

Hi,
My test machine does not have internet connection. I would like to know how to install the tool locally without internet?
If I remember well, I saw npm will fetch remote modules. The same happens with docker repositories.
Thank you

You can build a docker image and try exporting and importing
Ref: https://docs.docker.com/engine/reference/commandline/export/


Feature-flag setup for Nav and other blocks with feature-flag support

Feature-flag setup for Nav and other blocks with feature-flag support

Nav
Cards Carousel
Cards

FIxed with https://github.com/adobecom/firefly/pull/125


[Gradle] Ability to specify absolute path of credential helper

Description of the issue:
Currently it is only possible to specify the credential helper suffix (e.g., gcr). This requires an executable docker-credential-gcr to be on the PATH. This manipulation of the PATH may not be ideal, i.e., to allow builds to be reproducible on multiple environments.
Expected behavior:
It is possible to specify the absolute path to a credential helper. I believejib-core already supports passing a java.nio.Path and it just needs to be exposed.

Hi @anuraaga,
Can you elaborate on what is your exact use case? Also, do you want this to be a configurable parameter in pom.xml or build.gradle that you want to check in in a VCS? Or is it OK if you can specify that in a command line? Do you just want to fix a location where docker-credential-gcr is located, or do you also need to be able to specify an arbitrary command name (i.e., not starting with docker-credential prefix)?

Hey - my use case is that a Gradle task automatically downloads the gcloud sdk and extracts it into a location under gradle.userHomeDir. This way users don't have to worry about downloading SDKs, etc, the build takes care of everything and a task like :gcloudLoginToCluster can execute the downloaded SDK's gcloud to generate kubeconfig, for example and jib should "just work". But in this case, the gcloud SDK, which includesdocker-credential-gcr is not on the system PATH, it is managed by Gradle.
Being able to specify the exact path to the credential helper on a Gradle script would be great. From what I could tell, this might be trivial since this method in core exists that takes a Path.
https://github.com/GoogleContainerTools/jib/blob/master/jib-core/src/main/java/com/google/cloud/tools/jib/frontend/CredentialRetrieverFactory.java#L117

I believe we can allow credHelper to be specified with a path to a credential helper executable (along with the credential helper suffix as we have now). The value specified would first check for existence as a file and then try to be used as a credential helper suffix.

Hi @anuraaga , we've released version 0.10.0 with the ability to set a full path as the credHelper!

Thanks! Verified it works great.


[Color Picker] output RGB values as fractions

Colour picker should output RGB values as fractions as this is what the .NET Color uses
What is the expected behavior of the proposed feature?  What is the scenario this would be used?
output "new Color(0.5f, 0.1f,0.5f,1.0f);"
or just the values
"0.5, 0.1,0.5,1.0f"
If you'd like to see this feature implemented, add a 👍 reaction to this post.

@crutkas indeed, thanks!

Plz dont include the f as this juste makes people have to delete the d 3 times in most programs.

@NicTanghe what is an example where you’d need it without the f?  We can support both but just want to be sure there are valid use cases

We added VEC4 which does RGBA

@ziplock9000  isn't this what you want?

Yeah that looks great. Very useful for .NET and Unity developers. Thanks. @crutkas


Questions on sitemap resolution

I see a lot of cases where /sitemap.xml returns 301 or 302.    I looked at one, and it was offsite:
$ curl -i https://ndep.nih.gov/sitemap.xml
HTTP/1.1 301 Moved Permanently
Content-Type: text/html; charset=UTF-8
Location: https://www.niddk.nih.gov/sitemap.xml

My questions are:

Can I get Norconex HTTP collector to accept 301 or 302 for a sitemap at one of the configured paths?
Does the sitemap have to go through the same pre-document check filters as any other URL, for which I assume the answer is yes.

I guess one more question is what is done if the sitemap is not found - I assume that crawling continues.

I think this answers my question:
ERROR [StandardSitemapResolver] Could not obtain sitemap: http://infocenter.nimh.nih.gov/sitemap.xml.  Expected status code 200, but got 302
INFO  [StandardSitemapResolver]          Resolved: https://infocenter.nimh.nih.gov/sitemap.xml

So, it accepted the data returned from that.


AMPI support for MPI-3's distributed graph interface

Original issue: https://charm.cs.illinois.edu/redmine/issues/1018

MPI-3.0 defined a set of scalable graph topology routines, prefixed with MPI_Dist_graph_, that replaces the deprecated MPI_Graph_ interface.
The interface consists of 4 routines:
MPI_Dist_graph_create
MPI_Dist_graph_create_adjacent
MPI_Dist_graph_neighbors
MPI_Dist_graph_neighbors_count

Original date: 2017-04-25 21:35:28

There is a noted regression in intercommunicators with this patch on gerrit. It's not too important to have before 6.8.0

Original date: 2018-02-09 04:33:56

~~https://charm.cs.illinois.edu/gerrit/#/c/1310/~~ https://github.com/UIUC-PPL/charm/commit/4ed26e05e265dd0c575b2e95e0e27d778cb7d5c2


threading: ROBOT OUTPUT in vscode wrong structured and threads not findable

ROBOT OUTPUT in vscode wrong structured and threads not findable.
findable means: it is not possible to know what was logged by which thread.
Expectation:

correct indent.
visible which output comes from which thread

Screenshot
https://github.com/test-fullautomation/RobotFramework_AIO/blob/develop/tools/error_sreenshots/threading.robot_log.png

refer also to https://github.com/test-fullautomation/robotframework/issues/78

Hi @milanac030988 ,
what is the status of this issue?
thank you,
Thomas

Hi @milanac030988 ,
what is the status of this issue?
thank you,
Thomas


Access denied

With 3.0.1 (on OpenShift 3.11) the deployment now complains:
t=2019-12-16T12:32:30+0000 lvl=eror msg="Access denied to save dashboard" logger=context userId=0 orgId=1 uname= error="Access denied to save dashboard"
t=2019-12-16T12:32:30+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=1 uname= method=POST path=/api/dashboards/db status=403 remote_addr=<IP_ADDRESS> time_ms=1 size=45 referer=

over and over.

Do you have this in the config section of the CR?
    auth.basic:
      enabled: False

Currently basic auth needs to be enabled in order for API access to work. This is the default in Grafana but if it's explicitely disabled, dashboards can't be submitted.

Currently basic auth needs to be enabled in order for API access to work. This is the default in Grafana but if it's explicitely disabled, dashboards can't be submitted.

Ok, this used to work in 2.x.

Is it possible that enabling basic auth then breaks LDAP auth?
I get:
t=2019-12-16T14:30:45+0000 lvl=info msg="LDAP enabled, reading config file" logger=ldap file=/etc/grafana-configmaps/grafana-ldap/ldap.toml
t=2019-12-16T14:30:46+0000 lvl=warn msg="Not allowing ldap login, user not found in internal user database and allow signup = false"
t=2019-12-16T14:30:46+0000 lvl=eror msg="Error while trying to authenticate user" logger=context userId=0 orgId=1 uname= error="Invalid Username or Password"

Ok, this used to work in 2.x.

The operator now uses basic auth in order to access the Grafana API. Older versions didn't utilize the Grafana API.

Is it possible that enabling basic auth then breaks LDAP auth?

I'm not sure to be honest but Grafana seems to complain about not being able to add a user to the internal database. There is a config section for this, allow_sign_up: https://grafana.com/docs/grafana/latest/installation/configuration/#users
Does it work when you set that to true?

I think the sensible way to do is to have a dummy user which is does all API operations up until a login has been established.

@abergmeier Does it work when you set allow_sign_up to true?

Closing as out of date.


Add option to markdown editor to remove heading level formatting.

Is your feature request related to a problem? Please describe.
In the markdown editor toolbar, there is no easy way to remove heading level stylings once applied. From what I can tell, the only way to remove a heading level styling from text is to switch to the raw markdown mode and remove the # formatting there.
Describe the solution you'd like
Add a toolbar option to remove a heading styling if applied to selected text. I can thing of 3 ways this could be implemented.

When a heading level option in the dropdown is applied/active, clicking the dropdown item again toggles the formatting off.
Add a new heading dropdown option "Remove"
Add a new toolbar button that more generally removes any applied markdown formatting from a selection.

Hi @patrickcate, does clicking the header button again while at the end of the test works?
See

If not can you share a quick video or a step by step reproduction of what you're trying to accomplish?

@erezrokah, yes clicking on the header again while at the end of the text does work. Didn't know that was possible.
It's good to know there is a way to remove the styling without having the go into the raw markdown editor mode, but I think it would be more intuitive if this also functioned when the text was highlighted and/or the cursor was inside the text.

It's good to know there is a way to remove the styling without having the go into the raw markdown editor mode, but I think it would be more intuitive if this also functioned when the text was highlighted and/or the cursor was inside the text.

It should. Are you experiencing a different behavior? If so can you post a reproduction?

It should. Are you experiencing a different behavior? If so can you post a reproduction?

OK, just tested (I'm just using the Netlify CMS demo site). It does work when the cursor is inside the text or you've select some text inside, but doesn't work when you select the entire line by triple clicking the text.

This works for me. Can you share a step by step reproduction?

Here's a video showing the issue. When I'm selecting the entire line I'm triple clicking the text.
https://user-images.githubusercontent.com/6277206/126909920-947b499d-ebb9-4dde-9519-030de6299c78.mp4

Thanks @patrickcate, I updated the issue title to  match the video

Hello @erezrokah , I know the reason for the issue.
When clicking the Heading button, for example Heading 1, we call the toggleBlock method. This method checks if every block in the selection is of type Heading 1. If it is, set all of them to default type aka paragraph, otherwise they remain heading 1.
This makes sense on paper, but the problem lies with triple click action in the Slate editor. Instead of the selecting just one block, internally it selects all the subsequent block. Meanwhile, the UI indicates that only one block is selected, which leads to the confusion. The issue is well-documented here.

Thanks @bytrangle, that makes sense.
So this issue will happen not just with headers correct?

Write our own triple-click implementation. In toggleBlock method, checks if it is triple click. If yes, select only the first block in the selection value. I haven't checked the feasibility of this approach though.

I think this would be preferable, depending on the size of the effort.

2. Wait for the issue on Slate editor to get resolved, or do it myself. Then integrate Slate into Netlify CMS from scratch 😓 because the version we're using is no longer updated.

I've added this to https://github.com/netlify/netlify-cms/issues/5652

Good question. Interestingly, the List and Quote blocks are not affected because they are handled by different methods that use a different logic. For example:

Heading 1

paragraph

If you triple click Heading 1, the selection will be  to . editor.value.blocks will contain two blocks, heading-one and paragraph.
Then click either List or Quote button. The toggleQuoteblock and toggleList only look for editor.value.startBlock, which will always be the first block of the selection and then do the transformation.
In contrast, when clicking a Heading button, we look for editor.value.blocks and check if every single block inside it is of the same heading type with a helper method everyBlock. Of course they aren't, so this method returns false.
If everyBlock returns true, we pass defaultType = 'paragraph' to editor.setBlocks. But it returns false, so we pass the value of heading editor.setBlocks. So editor.setBlocks('heading 1') to a heading-one block doesn't change the same.
toggleBlock(editor, type) {
  switch(type) {
    case 'heading one':
    // ...
      return editor.setBlocks(editor.everyBlock(type) ? defaultType : type)
    // ...
  }
}

You may wonder: How about the paragraph block after ? Does it get turned into heading-one? As I've said, editor.value.blocks contains both blocks, but when calling editor.setBlocks, it only affects the “Heading 1” block.
I don't know why it behaves that way, but this is probably a reason why this triple-click issue has flown under the radar for so long.
But thanks to your inquiry, I think I've discovered an economical way to resolve this issue.

@erezrokah While investigating the triple-click issue, I encounter this:

Do you experience the same thing?

I thought the expectation is to have both blocks be list items?

You're correct. This seems like a separate bug.

Has there been an issue filed for that? I've searched, but it's not easy to find the right keywords for these issues so I may have missed it. If there's none, I'll create one tomorrow and work on that one first.

Has there been an issue filed for that?

There isn't! I should have mentioned it.

If there's none, I'll create one tomorrow and work on that one first.

That would be great, thank you


Test cases: article, comment, and notice

Tasks

[x] Add testing cases for article commenting & archive
[x] Add testing cases for article commenting notice
[x] Add testing cases for article archive
[x] Add testing cases for article publishing notice

3

Cache the Playwright Browser Binaries

need to reorg, will open other issues and cover test cases of this issue's.


Grid items not taking 100% height

Grid items are not occupying 100% height, alignItem="stretch" doesn't seem to work.
All I want is to make n compartments, or grid items with full height, but it doesnt seem to work, unless i apply height: 100vh to one of the grid items, i want the full window height to be 100% instead
`
const useStyles = makeStyles((theme) => ({
root: {
flexGrow: 1,
},
height1: {
    backgroundColor: 'blue',
    minHeight: '100%',
},
height2: {
    backgroundColor: 'blue',
    height: '100%',
},

}));
function App() {
const classes = useStyles();
return (

        <Grid container alignItems='stretch'>
            <Grid item xs={2} className={classes.height1}>     **// works with className={classes.height2}**
                <SidePanel />
            </Grid>
            <Grid item xs={2}>
                <SidePanel />
            </Grid>

            <Grid item xs={4} style={{ backgroundColor: 'red' }}>

hello world

            </Grid>
            <Grid item xs={4} style={{ backgroundColor: 'green' }}>

hello world

            </Grid>
        </Grid>

);

}`

@amanzrx4 Are you sure, that the container grid is that height? You are applying flexGrow 1 to it. But if the parent component doesn't display flex or is not that height the flexGrow 1 doesn't work.

This is probably what you need https://next.material-ui.com/components/grid/#spacing
Note that you can also play with the values here https://next.material-ui.com/components/grid/#interactive (for example, set the alignItems="stretch")

@mnajdova alignItems="stretch" this is what not working properly in the above example, doing height: 100% on one of the grid items works if i do height:100% to the parent div all the way upto the root div, as per the official docs, alignItems="stretch" should work but it is NOT working, please refer to codesandbox below. Thanks
all i want to make n no. of compartments of 100% on my page, just like it is showing here in the docs https://next.material-ui.com/components/grid/#interactive
https://codesandbox.io/s/cocky-jepsen-6ovx9?file=/src/App.js


Mime-Type Data-Entry

At present, user's need to know which Mime-Types to associate with the selected "Data Type" and manually enter them into a Textarea. This should be automatic:

User selects a Data Type
Textareafield is replaced with ListBoxField whose values are taken from valid Mime's for the selected Data Type
User is able to select 1-N possible mimes
If mime-types do not exist for the selected Data Type then default to current state (manually-entered into a TextareaField)

Look in framework/_config/mimetypes.yml for a suitable mapping

The sheadawson/silverstripe-dependentdropdownfield module may also be of use here.


Support media3 native media session

Will it support the native things of media3?

Same question here. The media3 release announcement said

our testing tool, the Media Controller Test app, will also be updated to Media3 on their main branches in the coming weeks

https://android-developers.googleblog.com/2023/03/media3-is-ready-to-play.html#:~:text=our testing tool%2C the Media Controller Test app%2C will also be updated to Media3 on their main branches in the coming weeks
Since then, crickets. Pretty douchey.


Doesn't work on Debian Buster (10.3) and Fedora v34 - to fix in next release

Hi,
I've followed installation instruction, but it didn't work.
$ tagui flows/samples/1_google.tag
Auto configuration failed
140097590226560:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
140097590226560:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140097590226560:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140097590226560:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf

Quick FIX. Create an empty openssl.cnf file and set environment variable to use it.
$ touch /tmp/openssl.cnf
$ export OPENSSL_CONF="/tmp/openssl.cnf"

and now it works :)
$ tagui flows/samples/1_google.tag
I found some error reports that let me find a workaround:
https://github.com/drwetter/testssl.sh/issues/1117
https://github.com/bazelbuild/rules_closure/issues/351
Maybe based on this you can fix that in the code?

Thanks @puchalakd, I appreciate that you take the time to investigate and share solution!
This issue happens only for Debian distribution and for Buster release, thus we can't make it as a standard fix for all Linux packaged zip, or update documentation to include this fix as standard. But will keep a lookout for similar reported issues, to see if there is a way to detect and code in a fix that will fix this for Debian Buster, without breaking for other Linux distributions.
Hi @siowyisheng take note on this.

Closing the issue for now

Thank you for providing working around.

Many (many) thanks @puchalakd for the workaround...I was beating my head against the desk trying to figure this out.

Many thanks to @puchalakd for this as well. Can confirm this was an issue I encountered on Fedora v34

Thanks @puchalakd for your workaround and @Achsheyeh @Astrogeorgeonethree @adrhine for validating that the solution works! I've looked up one of the issues that @puchalakd shared and found that the issue is due to the OpenSSL v1.02 that is used by PhantomJS is confused by the config file if OpenSSL v1.1.1 is present. Thus the hack works by directing PhantomJS to go use a dummy config file. I'll continue to look out for more feedback on how this can be handled.
If doing this programmatically for all macOS/Linux TagUI it can create an environment variable that causes problems with other apps on the system that depends on OpenSSL v1.1.1. Because the export command makes the env variable persists.

If I run this as sudo:
[theuns2021@localhost ~]$ sudo Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
[sudo] password for theuns2021:
Documents/tagui/src/tagui: line 269: php: command not found
Auto configuration failed
140127944734528:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:185:filename(libssl_conf.so): libssl_conf.so: cannot open shared object file: No such file or directory
140127944734528:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
140127944734528:error:0E07506E:configuration file routines:MODULE_LOAD_DSO:error loading dso:conf_mod.c:285:module=ssl_conf, path=ssl_conf
140127944734528:error:0E076071:configuration file routines:MODULE_RUN:unknown module name:conf_mod.c:222:module=ssl_conf

I I run this as user:
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
Documents/tagui/src/tagui: line 269: php: command not found
Unable to open file: /home/theuns2021/Documents/tagui/flows/samples/2_github.tag.js
phantomjs://code/bootstrap.js:113 in __die
Unable to load script /home/theuns2021/Documents/tagui/flows/samples/2_github.tag.js; check file syntax
phantomjs://code/bootstrap.js:113 in __die

Should I use a different OS than Fedora 34? I'll switch, just not to Windows.

Hi @TetraGenius! From your run output it looks like php command is not available.
Can you try running below to install PHP on your system to see that works?
sudo dnf install php-cli

Thanks Ken, Installing php did make a difference, but now tagui scripts are failing silently. I terminated tagui every time after waiting about two minutes using end_processes. I had everthing working on previous versions of Fedora ;(
Also it creates an empty log file...of 0 bytes
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/2_github.tag
Terminated
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
Terminated
[theuns2021@localhost ~]$ sudo Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
[sudo] password for theuns2021:

I also replaced phantonjs with the replacement version; then I got this:
[theuns2021@localhost ~]$ Documents/tagui/src/tagui Documents/tagui/flows/samples/1_google.tag
rm: remove write-protected regular empty file 'tagui_chrome.in'?

There may be some file permissions issue. Can you go to your tagui folder and try this to see if it is permission-related -
chmod -R 777 *

The tagui_chrome.in is a temporary file used for TagUI to communicate with Chrome and shouldn't be write-protected.

Hi Theuns, thanks for sharing all these details! Below are summary of the issue you are encountering and what I found for the 3rd issue. It looks like after your Fedora OS was updated to v34, a previously working installation started to fail.

php command not found error started appearing, and you fixed by installing php. this could happen if Fedora removed php from its standard distribution in v34

Error related to openssl, which you fixed by installing latest PhantomJS to use openssl v1.1.1. Can I confirm with you that you download the latest from here https://phantomjs.org/download.html? Then I'll include this in next TagUI Linux release.

Error due to remove write-protected file, it seems like for some reason the Fedora update has made some files in your TagUI folder immutable. This can be checked by lsattr in the tagui/src directory. (Just found out that such a thing exist on Linux!). To resolve this issue, try unning this command chattr -R -i src in tagui folder so that the immutable flag is removed for all files inside the src folder. From googling, I found that immutable flag on means even with read/write access to a file, it can't be deleted without this prompt. However, I don't know why the OS update would make such file system changes.

PS - Oh don't use the version from npm it is very outdated. I've stopped using that as distribution channel.

In the meantime, I've make a note on the open issue on refreshing PhantomJS,
which might solve the root cause for this raised issue around Open SSL - https://github.com/kelaberetiv/TagUI/issues/932#issuecomment-845534254

Hi @kensoh, any update on this issue? I'm having similar errors as above on Ubuntu 22.04.

The PhantomJS is refreshed for Mac version but not Ubuntu version. I have another project but have not heard issues from Ubuntu users. Can u try step 2 below to see if that works?
https://github.com/kelaberetiv/TagUI/issues/787#issuecomment-845542155
Copying @ruthtxh

Hi @kensoh, any update on this issue? I'm having similar errors as above on Ubuntu 22.04.

export OPENSSL_CONF=/etc/ssl
phantomjs --version


find gcd of two numbers

this is program for finding GCD of two numbers
Description of Change

Checklist

[x ] Added description of change
[x ] Added file name matches File name guidelines
[x ] Added tests and example, test must pass
[x ] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x ] Relevant documentation/comments is changed or added
[x ] PR title follows semantic commit guidelines
[x ] Search previous suggestions before making a new one, as yours may be a duplicate.
[x ] I acknowledge that all my contributions will be made under the project's license.

Notes:  program for GCD and explanation

please review existing code - there already are 2 types of implementations for GCD
Are you contributing something new apart from them? the ensure you have read the contribution guidelines in the README of the repo.
Are you improving existing code? If so, ensure the file names are correct.

please review existing code - there already are 2 types of implementations for GCD
Are you contributing something new apart from them? the ensure you have read the contribution guidelines in the README of the repo.
Are you improving existing code? If so, ensure the file names are correct.

Guys, until these questions are answered by the author, I think the reviews and fixes would be futile.


Explore what utilities we want to provide

Issue Description
We need to get a better idea of what utilities we want to provide and how we want to provide them. e.g. as a CSS class, react prop, react component?
In a previous tech design, we identified the following utilities:
Color Utils
Classes to set the CSS color property will be provided matching the color variables we currently have.
I'd like to iterate on this adding a feature to reference these values in JS by extracting their value similar to how breakpoint variables are extracted in the responsive element component. Once this is done, these colors could be applied to various other properties like background, box-shadow, text-shadow, fill, through inline-styles like we've done with the <Status /> component and the <ProgressBar /> component.
Spacing Utils
Margin and padding spacing utils will be provided to easily adjust spacing. This include setting spacing based on our tiny, small, medium, large, and huge scale. In addition, margin and padding can be set to 0 and margin can be set to auto to help with centering.
Display Utils
Utils to set display property of an element will be provided to alter these
styles on an atomic level.
Text Utils
Utils to set text alignment, font-size, font-weight, line-height will be provided to alter these
styles on an atomic level.
Screenreader Utils
Utils to set text to be visually hidden but accessible to screen readers will be provided.
Ellipsis Utils
Utils to set ellipsis on a string of text.
Issue Type

[ ] New Feature
[ ] Enhancement
[ ] Bug
[x] Other

Expected Behavior
Solution for providing the above type of stylings in a reusable utility manner is identified and documented.

Closing until we get OCS design input


Containerize your microservice using Docker

Containerize your microservice using Docker
As a developer
I need to containerize my microservice using Docker
So that I can deploy it easily with all of its dependencies
Assumptions
Create a Dockerfile for repeatable builds
Use a Python:3.9-slim image as the base
It must install all of the Python requirements
It should not run as root
It should use the gunicorn wsgi server as an entry point
Acceptance Criteria
1
2
3
Given the Docker image named accounts has been created
When I use docker run accounts
Then I should see the accounts service running in Docker


Don't fail on NoNodeError when fetching broker info from ZooKeeper

Hi. Some minor fix for the following error here.
ERROR [pykafka.cluster] Unable to fetch broker info from ZooKeeper
ERROR [pykafka.cluster] ((), {})
Traceback (most recent call last):
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 306, in _get_brokers_from_zookeeper
    broker_id))
  File "/home/alonger/env/lib/python2.7/site-packages/kazoo/client.py", line 1026, in get
    return self.get_async(path, watch).get()
  File "/home/alonger/env/lib/python2.7/site-packages/kazoo/handlers/utils.py", line 78, in get
    raise self._exception
NoNodeError: ((), {})
Traceback (most recent call last):
  File "producer.py", line 55, in <module>
    topic = client.topics[args.topic]
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 59, in __getitem__
    topic_ref = super(TopicDict, self).__getitem__(key)
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 79, in __missing__
    self._create_topic(key)
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 99, in _create_topic
    res = self._cluster()._get_metadata(topics=[topic_name])
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 256, in _get_metadata
    metadata = self._request_metadata(broker_connects, topics)
  File "/home/alonger/env/lib/python2.7/site-packages/pykafka/cluster.py", line 228, in _request_metadata
    for host, port in broker_connects:
TypeError: 'NoneType' object is not iterable

Thanks.

Thanks @avlonger! At first glance this looks good, but I'll need to give it a bit more scrutiny before merging. I'll take a look tomorrow.

@avlonger Please see #451 and test it out if you can. I think it's a cleaner and more general solution to the issue you're solving here.

@emmett9001 I think that it's slightly different case. If you have some broker nodes it's better to return at least what you have than return empty list on the first NoNodeError. Anyway thanks for #451!


CB-26510: Workaround for DNS resolution of KMS endpoint for secret encryption passphrase decryption

On FreeIPA nodes, DNS resolution is done by the named-pkcs11 service. This service is not up by the time we are trying to decrypt the passphrase, to remount the LUKS volume by calling AWS KMS, because the files it needs are actually on the encrypted LUKS volume. This creates a chicken and egg problem.
The workaround solution is to use a different DNS server for resolving the KMS endpoint needed for the decryption process:

We try the AmazonProvidedDNS server first. If that isn't able to resolve the endpoint to an address, then we try the IP addresses of the DNS servers associated with the VPC the instance is in.
After we resolved the endpoint to an address, we add a temporary entry to the /etc/hosts file containing the resolved IP and the endpoint. At this point we can decrypt the passphrase.
Once the decryption is done, or when it fails, we restore the /etc/hosts file to its previous state, using a backup file created when we added the entry to the file.

This is only an issue on FreeIPA nodes, as DL and DH nodes use the FreeIPA in their environment as DNS server.

Validated with the following images:

FreeIPA: https://github.infra.cloudera.com/cloudbreak/cb-image-catalog/commit/497d5f249ae2a21a552fa5ff0f91ccaf0f03d473
Prewarm: https://github.infra.cloudera.com/cloudbreak/cb-image-catalog/commit/81345da88af8ab4ff7fe77753401e03954de27b9


fix( #2034 ): Used Regex in replaceAll methods

Describe your changes :
Used Regex in replaceAll methods. It was part of #2034.
This issue was captured in Sonar as a code smell. Fixing it would help to make code good.

Type of change :

[x] Bug fix

Checklist:

[x] I have read the CONTRIBUTING document.
[x] I have performed a self-review of my own.
[ ] I have tagged my reviewers below.
[ ] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[x] All new and existing tests passed.

Reviewers
@sureshms

It seems something wrong with the job instance which is not able to download related dependencies/software to execute all actions.

It seems something wrong with the job instance which is not able to download related dependencies/software to execute all actions.

There is some intermittent failure unrelated to this.

Since most of these replaceAll calls are one time calls, better performance of replace call is not important. Merging the change. Thank you @yasarshaikh for your first contribution 🥳 !!!


Add useful links for GoogleCloudPlatform

Add useful links for GoogleCloudPlatform

Closing down this PR as duplicate commits are there!