Clarify instructions for how to use SFML_ROOT

Description
Apologies for accidentally pushing https://github.com/SFML/SFML/commit/30a986e63261eea3ae90e5d16b5b894f2f712403 straight to master. Luckily that commit is mostly good but it needs some refinement.
SFML_ROOT can simply point to the directory in which SFML was installed. This is verified by our install interface tests which do exactly that, even when SFML is built as a framework. CMake can figure out where to find the config module if you give it this much information.

For the record, using SFML_DIR stopped working with static SFML libraries on Windows after #2666 was merged.
I noticed this when trying to upgrade SFML-Input to SFML master version.
Using SFML_DIR, configuring SFML-Input fails with this error (see workflow run).
cmake -S $GITHUB_WORKSPACE -B $GITHUB_WORKSPACE/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install -DCMAKE_VERBOSE_MAKEFILE=ON -DSFML_DIR=$GITHUB_WORKSPACE/SFML/install/lib/cmake/SFML -DBUILD_SHARED_LIBS=OFF -DSFML_USE_STATIC_STD_LIBS=ON

-- Could NOT find Freetype (missing: FREETYPE_LIBRARY)
-- Could NOT find OpenAL (missing: OPENAL_LIBRARY OPENAL_INCLUDE_DIR)
-- Could NOT find Vorbis (missing: OGG_INCLUDE_DIR OGG_LIBRARY VORBIS_INCLUDE_DIR VORBIS_LIBRARY)
-- Could NOT find FLAC (missing: FLAC_LIBRARY FLAC_INCLUDE_DIR)
-- Found SFML 3.0.0 in D:/a/SFML-Input/SFML-Input/SFML/install/lib/cmake/SFML
-- Configuring done (5.1s)
CMake Error at SFML/install/lib/cmake/SFML/SFMLStaticTargets.cmake:110 (set_target_properties):
-- Generating done (0.0s)
  The link interface of target "SFML::Audio" contains:

    Vorbis::vorbisfile

  but the target was not found.  Possible reasons include:

    * There is a typo in the target name.
    * A find_package call is missing for an IMPORTED target.
    * An ALIAS target is missing.

Call Stack (most recent call first):
  SFML/install/lib/cmake/SFML/SFMLConfig.cmake:125 (include)
  CMakeLists.txt:20 (find_package)

Using SFML_ROOT, configuring SFML-Input goes fine (see workflow run).
Dependency headers are not found but that is expected as they are not part of SFML installation tree and are not needed to use SFML.
cmake -S $GITHUB_WORKSPACE -B $GITHUB_WORKSPACE/build -DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE/install -DCMAKE_VERBOSE_MAKEFILE=ON -DSFML_ROOT=$GITHUB_WORKSPACE/SFML/install -DBUILD_SHARED_LIBS=OFF -DSFML_USE_STATIC_STD_LIBS=ON

-- Found Freetype: D:/a/SFML-Input/SFML-Input/SFML/install/lib/freetype.lib
-- Could NOT find OpenAL (missing: OPENAL_INCLUDE_DIR)
-- Could NOT find Vorbis (missing: OGG_INCLUDE_DIR VORBIS_INCLUDE_DIR)
-- Could NOT find FLAC (missing: FLAC_INCLUDE_DIR)

So I think documenting that SFML_ROOT is preferred is welcome :+1:

About 30a986e63261eea3ae90e5d16b5b894f2f712403:
https://github.com/SFML/SFML/blob/30a986e63261eea3ae90e5d16b5b894f2f712403/examples/android/app/src/main/jni/CMakeLists.txt#L4
Isn't SFML_ROOT supposed to be ${CMAKE_ANDROID_NDK}/sources/third_party/sfml in that case?

Isn't SFML_ROOT supposed to be ${CMAKE_ANDROID_NDK}/sources/third_party/sfml in that case?

I tried that but CI was failing because it couldn't find the SFML installation. I think the extra directory used to specify the architecture is messing things up. Keeping the same directory works so I'll leave it there unless someone finds a better solution.

I was expecting it to work because CMake's documentation of find_package mentions that it searches in <prefix>/lib/<arch>/cmake/<name>*/. However, apparently <arch> is specified by CMAKE_LIBRARY_ARCHITECTURE which will have a value of e.g. arch64-linux-android when CMAKE_ANDROID_ARCH_ABI is set to arm64-v8a.
If I call set(CMAKE_LIBRARY_ARCHITECTURE ${CMAKE_ANDROID_ARCH_ABI}) before find_package, then setting SFML_ROOT to ${CMAKE_ANDROID_NDK}/sources/third_party/sfml actually does work. Although I don't believe that overwriting CMAKE_LIBRARY_ARCHITECTURE would be the right thing to do.

I must have been mistaken because the current directory does not result in SFML being found.

Edit: maybe it should be re-evaluated if the following line is still the correct way to install the library. I wonder how other c++ libraries that support Android are handling this.

I also think we should reevaluate this choice. In general the installation location is something by whoever is building the library. It seems odd that SFML dictates the install location on Android. This may be convenient but it seems unnecessary.


1320 doc

close #1320:
provide explicitly how t subscribe to the mailing list.
Fixes also minor packaging issues

LGTM. (but I did not test the ubuntu packaging)


Update and Refresh

I helped you to update a brillient readme and shift some pdf to png because pdf can not be put into the readme.

And life goes on


PLT-849: WIP Kubescape Plugin

@wcrum are you able to confirm if the kubescape plugin will require any secrets? If it does, please set up the secret configuration in the pluginSecrets section at the bottom of the chart/validator/values.yaml

Kubescape plugin does not require any secrets as of right now, Kubescape itself does not have any secrets either.


search by clicking green search button

 [TARIFF17] See if it is possible to trigger a search if someone clicks on the search button.


Remove uses of incompatible_use_toolchain_transition.

Now that Bazel 7.0 has been released, it's time to remove this tech debt.
This has been a no-op since Bazel 5.0, I've been waiting to remove the code for two years, it's time.
Part of https://github.com/bazelbuild/bazel/issues/14127.

The test failure looks like a timeout. Does that block merging this PR?


Error during compilation

Following the README, I tried to compile the firmware, and got this error:
PICO target board is bbq20kbd_breakout.
CMake Error at src/boards/generic_board.cmake:22 (message):
  Unable to find definition of board 'bbq20kbd_breakout' (specified by
  PICO_BOARD):

     Looked for bbq20kbd_breakout.h in /Users/dda/Downloads/i2c_puppet/3rdparty/pico-sdk/src/boards/include/boards (additional paths specified by PICO_BOARD_HEADER_DIRS)
     Looked for bbq20kbd_breakout.cmake in /Users/dda/Downloads/i2c_puppet/3rdparty/pico-sdk/src/boards (additional paths specified by PICO_BOARD_CMAKE_DIRS)
Call Stack (most recent call first):
  src/board_setup.cmake:28 (include)
  src/CMakeLists.txt:15 (include)

Any idea what's happening...? Mac OS X 11.6.1.

Hi, did you ever figure this one out?

Yes, and I since then completely forgot how I did it – just yesterday I was grumbling at myself for not documenting it, as I saw your update and thought I'd have to do it all over again to recompile the update... Let me try and get it right this time.

Ah yes...
cp boards/bbq20kbd_breakout.h ./3rdparty/pico-sdk/src/boards/include/boards/

before launching the build process. Then it's smooth sailing.


Fixed non generated documents on Readme generation

Apply Sweep Rules to your PR?

[ ] Apply:  All new business logic should have corresponding unit tests.
[ ] Apply:  Refactor large functions to be more modular.
[ ] Apply:  Add docstrings to all functions and file headers.

This is an automated message generated by Sweep AI.


[feat] Health check endpoints

Is your feature request related to a problem? Please describe.
Currently, there aren't any health check endpoints.
Describe the solution you'd like
It'd be valuable to be able to set up health and liveness probes in Kubernetes to a (semi-standard) /healthz endpoint.
A HTTP endpoint for /healthz that gives 200 OK if the Zwave network is connected/USB stick is responding would be great. An additional one, perhaps on a different port or different url that responds with 200 OK if both Zwave is healthy and MQTT broker is connected would also be useful.
Describe alternatives you've considered
Currently I have a script I call which subscribes to a topic, publishes to zwave2mqtt/_CLIENTS/ZWAVE_GATEWAY-z2m/api/getLibraryVersion/set and checks for a response seems to work relatively well. However this requires adding a script to my pod, as well as building a custom container image with Mosquitto.
Additional context
Z2M running on a Pi3 in a Kubernetes cluster.

Hi Daniel, thanks for your feature request. What status code should I use for a fail? 404?
What if I create 3 health Checks:
/health : General health status, respond with a 200 if both mqtt and zwave are connected
/health/mqtt: Mqtt status
/health/zwave: Zwave status

I think a 5xx code would be more appropriate. 500/502/504 all seem like they'd work. Per the Kubernetes docs:

Any code greater than or equal to 200 and less than 400 indicates success. Any other code indicates failure.

The end points seem good too, like the idea of having 3.
JSON isn't needed, and I think the 3 end points alone provide enough info. Either zwave and MQTT are up or not. If not, 5xx and the pod gets killed and replaced by kubelet. Kubernetes doesn't look at response body, just the response code.

@DanielWinks Check readme https://github.com/OpenZWave/Zwave2Mqtt#healt-check-endpoints

Looks great, minor edits submitted in https://github.com/OpenZWave/Zwave2Mqtt/pull/265


FOX power slider truncation to better utilize FOX power discount graph

Overview
Currently in production, when a user changes the variables of the FOX power on the 'Simulate Discount' modal of trade details, the 51-100% area of the FOX power slider does not change the graph and encourages users to not hold anything over 500,000 FOX.
References and additional details
Having anything more that 500,000 FOX results on the same discount.  The FOX power slider goes from 0-1MM.
The right 50% of the slider does not affect the graph in anyway and can probably be reduced to the min held that gets the max discount to better utilize the graph feature connected: https://jam.dev/c/beda653d-c9c2-47db-a56b-deeb34574621
Acceptance Criteria
Graph and slider are better utilized to not show so much dead broken graph?
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

to fix your trouble check this solution click
maybe this will solve your problem.

I think this is more engineering, like we just need to adjust the slider math to keep the cutoff higher. so like 500K would be where 750k is now.


Add title to Datepicker

Is there a way to add a textline title to the top of the picker?

Something like ?

Yes!
King Harrison IV
Executive Vice President
<EMAIL_ADDRESS>Linkedin Profile
877.725.1305 ext: 504
www.k3s.com
On June 18, 2015 at 9:51:48 AM, Gregoire D<EMAIL_ADDRESS>wrote:
Something like ?
—
Reply to this email directly or view it on GitHub.

There you go.
I might be shipped with 1.5 if @acrobat or @hebbet wander here.

@Azaret feel free to make a PR ;-)

Hehe got you :D

Fixed in #1438


at least 3 letters are needed to jump around directory that would make things easier.

Is your feature request related to a problem? Please describe

Will you be willing to contribute this feature?

[ ] Yes, I'll give it a shot

Describe the solution you'd like
I would apreciate if this feature be added like lf .(https://github.com/gokcehan/lf)
Describe alternatives you've considered
No response
Additional context
No response

It's already there, see:
https://github.com/sxyazi/yazi/blob/c325c332de595d40ade79163050bfbe3d517e5c6/yazi-config/preset/keymap.toml#L141-L146


.js testings with almoust all commands saved in "out comments"

all commands saved for testing purpouses- some worked and some why not

Index
.js

commented in
commented out


Support Proxy-Authorization header on xmpp connection.

I want to work cups-connector with auth-required proxy via Proxy-Authorization header.
Also I wrote some tests.

Hi, thank you for this pull request, and especially thank you for the test code.
Please review the contribution guidelines and sign the CLA so that I can merge: https://github.com/google/cups-connector/blob/master/CONTRIBUTING.md

Done.
Note that the file xmpp/xmpp_test.go has not any copyright notice because I don't know what is suitable notice.

Thanks! I'll add the copyright notice now.


Problems encountered during testing

I load the conf file and weights from the results of the training into the test file：
conf_path = '/ conf_path data01 / zq/M3DSSD - master/output/base / 20211215 _161854_14.<PHONE_NUMBER>3946 / kitti_3d_base. Conf'
weights_path = '/ weights_path data01 / zq/M3DSSD - master/output/base / 20211215 _161854_14.<PHONE_NUMBER>3946 / weights/model_dla102_best_pkl'
When I run Python scripts/test_rpn_3d.py ,The following error has occurred. What is the problem?
(zq5) omnisky@node01:/data01/zq/M3DSSD-master$ CUDA_VISIBLE_DEVICES=5 python3 scripts/test_rpn_3d.py
Traceback (most recent call last):
File "scripts/test_rpn_3d.py", line 17, in < module>
From lib.dataloader import Kitti_Dataset_torch, Kitti_Dataset_dali
ImportError: cannot import name 'Kitti_Dataset_dali'

by any chance, have you solved this issue?

by any chance, have you solved this issue?

Not yet. Can you solve this problem?

by any chance, have you solved this issue?

Not yet. Can you solve this problem?

yes. if you look train_rpn_3d.py they simply comment out Kitti_Dataset_dali. I think they don't use it anymore.
but then raise a new problem as mentioned here #4. I haven't solve the problem yet

by any chance, have you solved this issue?

Not yet. Can you solve this problem?

yes. if you look train_rpn_3d.py they simply comment out Kitti_Dataset_dali. I think they don't use it anymore.
but then raise a new problem as mentioned here #4. I haven't solve the problem yet

A new problem arises when I comment out Kitti_Dataset_dali
Traceback (most recent call last):
File "scripts/test_rpn_3d.py", line 60, in < module>
Test_kitti_3d (dataset_test, net, conf, results_path, paths.data, use_log=False,val_train=val_train)
TypeError: test_kitti_3d() got an unexpected keyword argument 'val_train'
But I don't have a problem with #4


Correct bug from #246

Travis failing due to bug in conda update -q conda. Tests pass in manual environment.


Merge pull request #2 from driftyco/typescript

Typescript

Hey there, going to close this as it's showing no files changed.


Translator with gui

Aim
To build a language translator using python
Details
This script will allow users to translate between languages of their choice. This will be achieved using the help of the googletrans python package

@avinashkranjan I am participant of gssoc 21 please assign this one to me

@Ayushjain2205 you have been assigned this issue for the GUI version. @NEERAJAP2001 will be making the CLI version. Make sure you both name your folders accordingly

@Ayushjain2205 updates?


MAHOUT-1923 Propagate cacheHint in distributed qr decomp

same +1 contingent upon approval and decision from #274


[Android] Support native styling for Action.ShowCard

Related Issue
Fixes #4167
Description
Allow apps to apply native styles to any Action.ShowCard by assigning a style definition to the app theme's R.attr.adaptiveShowCardAction attribute. Example usage (e.g. add a chevron that visually indicates a closed or open ShowCard) added to visualizer app's styles.xml and v21/styles.xml.
How Verified
Manual vertification - uncommented the example usage in visualizer styles. Checked compatibility w/ existing styling support (e.g. positive action, as shown below).

Microsoft Reviewers: Open in CodeFlow

@almedina-ms is added to the review. #Closed


Update service stays in a loop trying to install obsoletes or non accessible docker images.

Describe the bug
Update service stays in a loop trying to install obsoletes or non accessible docker images.
To Reproduce
Steps to reproduce the behavior:

Run a v4.4 instance
Upgrade releases in env file
Rerun docker compose down, docker compose up -d --wait
Go to Service
Click on Update All
See error : Updater container loops in deploying previously activated and now inaccessible services (cuckoo, hatching)

Expected behavior
If update is not accessible, service should stop being updated however it received instruction to install everything
Admin must be able to break massive upgrade loop via purging some cache or clearing pending action
Logs
al-updater-1  | 2024-04-24 14:27:16,809  WARNING b5d37c8093a8 1             assemblyline.service.updater | Restarting thread: Container installs
al-updater-1  | 2024-04-24 14:27:16,809     INFO b5d37c8093a8 1             assemblyline.service.updater | Starting thread: Container installs
al-updater-1  | 2024-04-24 14:27:16,810     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Installing all services marked for install...
al-updater-1  | 2024-04-24 14:27:18,149     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Latest Batchdeobfuscator tag on STABLE channel is: 4.5.0.stable11
al-updater-1  | 2024-04-24 14:27:18,149     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Batchdeobfuscator is being installed to version 4.5.0.stable11...
al-updater-1  | 2024-04-24 14:27:18,193     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Latest APKaye tag on STABLE channel is: 4.5.0.stable5
al-updater-1  | 2024-04-24 14:27:18,193     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Service APKaye is being installed to version 4.5.0.stable5...
al-updater-1  | 2024-04-24 14:27:18,806     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Latest Swiffer tag on STABLE channel is: 4.5.0.stable5
al-updater-1  | 2024-04-24 14:27:18,806     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Swiffer is being installed to version 4.5.0.stable5...
al-updater-1  | 2024-04-24 14:27:19,294  WARNING b5d37c8093a8 1             assemblyline.service.updater | [CI] Cannot fetch latest tag for service Cuckoo - cccs/assemblyline-service-cuckoo => [server: registry.hub.docker.com, repo_na
me: cccs/assemblyline-service-cuckoo, channel: stable]
al-updater-1  | 2024-04-24 14:27:19,294     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Cuckoo is being installed to version None...
al-updater-1  | 2024-04-24 14:27:27,017    ERROR b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Cuckoo has failed to install. Install procedure cancelled... [404 Client Error for http+docker://localhost/v1.43/i
mages/create?tag=None&fromImage=cccs%2Fassemblyline-service-cuckoo: Not Found ("manifest for cccs/assemblyline-service-cuckoo:None not found: manifest unknown: manifest unknown")]
al-updater-1  | 2024-04-24 14:27:33,288  WARNING b5d37c8093a8 1             assemblyline.service.updater | [CI] Cannot fetch latest tag for service Hatching - ghcr.io/usaa/assemblyline-service-hatching-triage => [server: registry.hub.
docker.com, repo_name: ghcr.io/usaa/assemblyline-service-hatching-triage, channel: stable]
al-updater-1  | 2024-04-24 14:27:36,802     INFO b5d37c8093a8 1             assemblyline.service.updater | [CU] Updating all services marked for update...
al-updater-1  | 2024-04-24 14:27:36,816     INFO b5d37c8093a8 1             assemblyline.service.updater | [CU] Done updating services, waiting 60 seconds for next update...
al-updater-1  | 2024-04-24 14:27:49,294     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Hatching is being installed to version None...
al-updater-1  | 2024-04-24 14:28:36,817     INFO b5d37c8093a8 1             assemblyline.service.updater | [CU] Updating all services marked for update...
al-updater-1  | 2024-04-24 14:28:36,821     INFO b5d37c8093a8 1             assemblyline.service.updater | [CU] Done updating services, waiting 60 seconds for next update...
al-updater-1  | 2024-04-24 14:28:50,326    ERROR b5d37c8093a8 1             assemblyline.service.updater | [CI] Service Hatching has failed to install. Install procedure cancelled... [500 Server Error for http+docker://localhost/v1.43
/images/create?tag=None&fromImage=ghcr.io%2Fusaa%2Fassemblyline-service-hatching-triage: Internal Server Error ("manifest unknown")]
al-updater-1  | 2024-04-24 14:28:55,326    ERROR b5d37c8093a8 1             assemblyline.service.updater | Crash in dispatcher: container_installs
al-updater-1  | Traceback (most recent call last):
al-updater-1  |   File "/var/lib/assemblyline/.local/lib/python3.11/site-packages/assemblyline_core/server_base.py", line 275, in with_logs
al-updater-1  |     fn(*args, **kwargs)
al-updater-1  |   File "/var/lib/assemblyline/.local/lib/python3.11/site-packages/assemblyline_core/updater/run_updater.py", line 534, in container_installs
al-updater-1  |     service_name, latest_tag = service_key.split("_")
al-updater-1  |                                ^^^^^^^^^^^^^^^^^
al-updater-1  | AttributeError: 'NoneType' object has no attribute 'split'
al-updater-1  | 2024-04-24 14:28:56,839  WARNING b5d37c8093a8 1             assemblyline.service.updater | Restarting thread: Container installs
al-updater-1  | 2024-04-24 14:28:56,839     INFO b5d37c8093a8 1             assemblyline.service.updater | Starting thread: Container installs
al-updater-1  | 2024-04-24 14:28:56,839     INFO b5d37c8093a8 1             assemblyline.service.updater | [CI] Installing all services marked for install...

Environment (please complete the following information if pertinent):

Assemblyline Version: 4.4.0 upgraded to 4.5.0 (stable)
Docker Standelone appliance.

With no success tried to :

force pull docker images
find similar issues
find config options to find a workaround

Thank you for your help,

This should be patched in the <IP_ADDRESS> release of Assemblyline.


Make BeaconChain communicate ticks to other processes

Currently, we communicate the passage of time to other processes in terms of blocks. We should move to using slots/fractions of a slot for that (e.g. in Validator it's important to send aggregates at the second third of a slot).

🎉


On the data page, user can create datasets

Dataset done by associating a filter with a new service offer.

Already implemented


Add docker example to documentation

LGTM. Were you wanting to add more here or is this good to merge?

Sorry to be late to this, but the commands won't work on OSX, since "host" is the network of the virtual machine running docker, not of the actual mac host - for me the scheduler claims to listen on tcp://<IP_ADDRESS>:8786, but neither that nor localhost respond from outside; so the containers can see each other but cannot be reached from the mac. Also, "host" is incompatible with port publishing.
I don't know what the right way to get containers to talk to each other and be able to be accessed from the outside is; for intake tests we used the deprecated --link syntax.

https://docs.docker.com/docker-for-mac/networking/


{CDN}Fix #28223 afd route create: bug fix while creating route without content_types_to_compress parameter.

Related command
Description
Fix https://github.com/Azure/azure-cli/issues/28223
Testing Guide
History Notes
This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

CDN


Kernel immediately dies when I open a new notebook. Mismatched interface file ways

[I 21:17:30.336 NotebookApp] KernelRestarter: restarting kernel (2/5)
WARNING:root:kernel d7b49bb1-8e33-4610-bf5f-f18e6007ccfb restarted
IHaskell: Bad interface file: /home/jon/.cabal/lib/x86_64-linux-ghc-7.8.3/ihaskell-<IP_ADDRESS>/IHaskell/Display.hi
mismatched interface file ways (wanted "", got "dyn")
Bad interface file: /home/jon/.cabal/lib/x86_64-linux-ghc-7.8.3/ihaskell-<IP_ADDRESS>/IHaskell/IPython/Stdin.hi
mismatched interface file ways (wanted "", got "dyn")

I installed it using ./build all

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/4908561-kernel-immediately-dies-when-i-open-a-new-notebook-mismatched-interface-file-ways?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github).

Dynamic flag has been removed; closing this.


Possible to run _targets.R script from utilities folder?

tar_load() in quarto reports needs to be in root project folder


Shared Pod Storage (e.g. Config Storage)

I am working on a Kubernetes extension that would run in its own pod but would like to store some information (e.g. configuration) that has similar requirements as the data stored in API Server.  In particular it would be nice if the storage had the following properties:

Durable:  Survives pod restarts, migrations, and upgrades.
Consistent:  Even if there are multiple pods writing the same resource concurrently, consistency is maintained.
Addressable:  When a pod starts it can find the storage allocated for its application.
Isolated:  Different applications don't accidentally write over each others data even if they use the same names, paths, keys, etc.
Semi-structured:  Something like JSON-store would be fine.
Service Oriented:  Ideally this is provided as a simple RESTful service such that it is accessible from any operating environment and doesn't require linking any specific client library.
Timestamped:  Each resource has a logical-clock timestamp (i.e. eTag) that can be used for optimistic concurrency control.  Ideally without imposing any particular versioning scheme or strategy on the resources themselves.
Watch Support:  It is possible to watch or be notified of updates to resources (or even small set of resources, e.g. subfolders).

Possibilities:
Use Volumes
Applications can always mount a volume and write their own storage to files.  This is not ideal for a few  reasons:

It requires a lot of reimplementation for each application.
Disks that survive cluster and pod restart are not a guaranteed part of all Kubernetes deployments making apps more difficult to deploy and move between Kube environments.
PD can have undesirable limitations (e.g. how many pods can mount them simultaneously).

Have applications run their own storage as a pod
Running your own etcd cluster is an obvious choice.  However, running storage as a pod is actually quite tricky.  Durability and consistency are difficult to provide and are often better maintained by a dedicated team that knows about backup and recovery.  Durability itself requires some off pod storage which brings you back to volumes.  Storage pods that are restarted need to rediscover and reattach the persistent storage used by a previous instance even though their identities are not related in any way (see Nominal Services).
API Server's Etcd Cluster
The etcd server used by the API Server provides almost all of these features with the exception of isolation.  One possibility would be to expose a thin shim service at the API Server that wraps its underlying etcd cluster and re-exposes scoped portions of its namespace to pods.  The shim would enforce scoping and authorization.  The shim could also provide some adaption of the etcd watch interface to be more consistent with the semantics exposed by the API Server itself.
Pros:  This possibility unifies the problems of durability, consistency, addressability with the API Servers almost identical requirements.  Since any deployment must already solve these issues for API Server it doesn't create any additional burden.  In hosted environments (e.g. GKE) the host provides Etcd and its durable storage in a way that is independent of the Kubernetes model allowing for backup, restore, and survivability to be implemented in ways that would be difficult if run directly as a pod.  API Server already implements a sophisticated RESTful web service endpoint with authentication, authorization, timestamping, and watch support.  This logic could be shared by the shim without addition complexity or duplication.
Cons: Opening up the API Server's Etcd server (even if the shim correctly implements isolation) to third-party applications will create additional load on both API Server and Etcd.  This would affect the responsiveness of API Server and scalability in ways that may be difficult to predict.  Bugs in the shim or Etcd might expose the data from either the master or other applications to corruption or deletion.

@smarterclayton can you comment on this?

Will do

On Apr 16, 2015, at 3:19 PM, Eric Tune<EMAIL_ADDRESS>wrote:
@smarterclayton can you comment on this?
—
Reply to this email directly or view it on GitHub.

We've talked about exposing "Etcd-as-a-service" - allowing clients to request an endpoint with which they can interact using etcd client tools directly, but secured and provisioned dynamically. A subset of the keyspace would be carved up for each use case and offered on a distinct endpoint.  One advantage would be the ability to scale that out - for simple systems it could reuse the apiserver, for larger systems it could be sharded and decoupled.
Once volume as a service lands (persistent volumes) it should be progressively easier to do things like run gluster and use shared, secured mounts (service accounts and security contexts will let you allocate unique Unix uids for each namespace as needed, for sharing remote storage).
Single server etcd should become much easier when pds are in place - you should be easily able to run small etcd servers that are resilient to failure (perhaps not clustered) for low cost (40-50mb per?)
Trying to think of other ideas we've covered...

The nascent config API object?
On Thu, Apr 16, 2015 at 7:36 PM, Clayton Coleman<EMAIL_ADDRESS>wrote:

We've talked about exposing "Etcd-as-a-service" - allowing clients to
request an endpoint with which they can interact using etcd client tools
directly, but secured and provisioned dynamically. A subset of the keyspace
would be carved up for each use case and offered on a distinct endpoint.
One advantage would be the ability to scale that out - for simple systems
it could reuse the apiserver, for larger systems it could be sharded and
decoupled.
Once volume as a service lands (persistent volumes) it should be
progressively easier to do things like run gluster and use shared, secured
mounts (service accounts and security contexts will let you allocate unique
Unix uids for each namespace as needed, for sharing remote storage).
Single server etcd should become much easier when pds are in place - you
should be easily able to run small etcd servers that are resilient to
failure (perhaps not clustered) for low cost (40-50mb per?)
Trying to think of other ideas we've covered...
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/6923#issuecomment-93881214
.

I thinking would be an exact match for the etcd API, and be targeted at etcd.  I feel something is wrong about mutating the etcd API to be even more generic, mostly because then people need custom clients in every language.

On Apr 17, 2015, at 12:03 AM, Tim Hockin<EMAIL_ADDRESS>wrote:
The nascent config API object?
On Thu, Apr 16, 2015 at 7:36 PM, Clayton Coleman<EMAIL_ADDRESS>wrote:

We've talked about exposing "Etcd-as-a-service" - allowing clients to
request an endpoint with which they can interact using etcd client tools
directly, but secured and provisioned dynamically. A subset of the keyspace
would be carved up for each use case and offered on a distinct endpoint.
One advantage would be the ability to scale that out - for simple systems
it could reuse the apiserver, for larger systems it could be sharded and
decoupled.
Once volume as a service lands (persistent volumes) it should be
progressively easier to do things like run gluster and use shared, secured
mounts (service accounts and security contexts will let you allocate unique
Unix uids for each namespace as needed, for sharing remote storage).
Single server etcd should become much easier when pds are in place - you
should be easily able to run small etcd servers that are resilient to
failure (perhaps not clustered) for low cost (40-50mb per?)
Trying to think of other ideas we've covered...
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/6923#issuecomment-93881214
.

—
Reply to this email directly or view it on GitHub.

Lots of related threads: #991, #1553, #1627, #2068, #6477. If it's truly an extension of Kubernetes, we do plan to provide generic storage for API plugins (#991).
Exposing etcd directly would be problematic if we ever were to support another storage backend: #1957.

Yeah, if we expose etcd it should be as a service, not because it happens
to already be present.
On Thu, Apr 16, 2015 at 9:27 PM, Brian Grant<EMAIL_ADDRESS>wrote:

Lots of related threads: #991
https://github.com/GoogleCloudPlatform/kubernetes/issues/991, #1553
https://github.com/GoogleCloudPlatform/kubernetes/issues/1553, #1627
https://github.com/GoogleCloudPlatform/kubernetes/issues/1627, #2068
https://github.com/GoogleCloudPlatform/kubernetes/issues/2068, #6477
https://github.com/GoogleCloudPlatform/kubernetes/pull/6477. If it's
truly an extension of Kubernetes, we do plan to provide generic storage for
API plugins (#991
https://github.com/GoogleCloudPlatform/kubernetes/issues/991).
Exposing etcd directly would be problematic if we ever were to support
another storage backend: #1957
https://github.com/GoogleCloudPlatform/kubernetes/issues/1957.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/6923#issuecomment-93890920
.

Yeah, I'm thinking an optional API endpoint either provisioned automatically for clients or available via requests.
In the long term, this is effectively the service broker pattern - request an instance of X (where X can be anything) provisioned and attached to your namespace (external service created, environment set on an RC, secrets set in the ns that grant access).  You can then talk to your local service to access a remote resource without having to know anything about the implementation of that resource.  Common in paas environments.

On Apr 17, 2015, at 12:31 AM, Tim Hockin<EMAIL_ADDRESS>wrote:
Yeah, if we expose etcd it should be as a service, not because it happens
to already be present.
On Thu, Apr 16, 2015 at 9:27 PM, Brian Grant<EMAIL_ADDRESS>wrote:

Lots of related threads: #991
https://github.com/GoogleCloudPlatform/kubernetes/issues/991, #1553
https://github.com/GoogleCloudPlatform/kubernetes/issues/1553, #1627
https://github.com/GoogleCloudPlatform/kubernetes/issues/1627, #2068
https://github.com/GoogleCloudPlatform/kubernetes/issues/2068, #6477
https://github.com/GoogleCloudPlatform/kubernetes/pull/6477. If it's
truly an extension of Kubernetes, we do plan to provide generic storage for
API plugins (#991
https://github.com/GoogleCloudPlatform/kubernetes/issues/991).
Exposing etcd directly would be problematic if we ever were to support
another storage backend: #1957
https://github.com/GoogleCloudPlatform/kubernetes/issues/1957.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/6923#issuecomment-93890920
.

—
Reply to this email directly or view it on GitHub.

PaaSes give me the impression that there's a hard distinction between Apps and Services -- the former are run on the PaaS while the latter are run using an underlying IaaS orchestration layer. I think it's great if we can support that, but even better if applications that would be run as Services in a PaaS environment could be run on Kubernetes. In this case, we definitely want to be able to run etcd clusters on Kubernetes, using features such as nominal services (#260).
That said, I'd like extensions/plugins to be on equal footing with core objects. I don't see a compelling reason to not allow them to use the same etcd instance (via the apiserver) so long as we apply proper per-user (not per-plugin) storage quotas and request rate limits. In my experience, users can't really do more damage than they'd do with just pods alone: out-of-control replication, crash loops, enormous (multi-megabyte) command line args or env var lists, ...
As for watch scaling, I fully expect that eventually virtually every container running in the cluster will have multiple watches active simultaneously. We're going to need a replicated fanout layer to handle that.

----- Original Message -----

PaaSes give me the impression that there's a hard distinction between Apps
and Services -- the former are run on the PaaS while the latter are run
using an underlying IaaS orchestration layer. I think it's great if we can
support that, but even better if applications that would be run as Services
in a PaaS environment could be run on Kubernetes. In this case, we
definitely want to be able to run etcd clusters on Kubernetes, using
features such as nominal services (#260).

Agree - it should be easy to bridge the distinction and we should have the concepts that blur the line between

Allocate me an app/service/instance outside the cluster
Allocate me an app/service/instance inside the cluster (but I don't want to know about the details)
I want to allocate a new thing inside the cluster

The tools and interaction for something running in the cluster to all of the above should be identical - only provisioning changes.

That said, I'd like extensions/plugins to be on equal footing with core
objects. I don't see a compelling reason to not allow them to use the same
etcd instance (via the apiserver) so long as we apply proper per-user (not
per-plugin) storage quotas and request rate limits. In my experience, users
can't really do more damage than they'd do with just pods alone:
out-of-control replication, crash loops, enormous (multi-megabyte) command
line args or env var lists, ...
As for watch scaling, I fully expect that eventually virtually every
container running in the cluster will have multiple watches active
simultaneously. We're going to need a replicated fanout layer to handle
that.

Reply to this email directly or view it on GitHub:
https://github.com/GoogleCloudPlatform/kubernetes/issues/6923#issuecomment-93897364

Closing for lack of activity and because we have config map now.


The "compat" templatetag library collides with other apps

django-imagekit has shipped a compat file in it's own templatetags since 2012. It isn't actually exposed as a template library, though.
The introduction of debug_toolbar.templatetags.compat in 5a9bd46f8624320346d829687d3709b0a9beb580 means that there is now an order of precedence in INSTALLED_APPS issue; given:
INSTALLED_APPS = (
    'debug_toolbar',
    'imagekit',
)

everything is fine.
Swap those values around so that imagekit comes first, and debug_toolbar causes:
'compat' is not a valid tag library: Template library imagekit.templatetags.compat does not have a variable named 'register'

It would seem prudent to me to have the compat module namespaced as debugtoolbar_compat or such in templates.

Yes, this is a sensible improvement.

+1

If someone feels like putting together a pull request, the patch shouldn't be too hard.

I'll get this done tomorrow.


Added apache client for creating s3 and acm client

Signed-off-by: Asif Sohail Mohammed<EMAIL_ADDRESS>Description
Added http client for creating ACM and S3 clients
Issues Resolved
Resolves #1729
Check List

[ ] New functionality includes testing.
[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed with a real name per the DCO

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1731 (cac98c3) into main (b9827d6) will decrease coverage by 0.05%.
The diff coverage is 97.36%.

@@             Coverage Diff              @@
##               main    #1731      +/-   ##
============================================
- Coverage     93.32%   93.27%   -0.06%
- Complexity     1376     1381       +5
============================================
  Files           182      183       +1
  Lines          4060     4089      +29
  Branches        321      325       +4
============================================
+ Hits           3789     3814      +25
- Misses          193      195       +2
- Partials         78       80       +2

Impacted Files
Coverage Δ

...n/dataprepper/model/configuration/PluginModel.java
97.61% <96.00%> (-2.39%)
:arrow_down:

...zon/dataprepper/model/configuration/SinkModel.java
100.00% <100.00%> (ø)

...rwarder/discovery/AwsCloudMapPeerListProvider.java
92.68% <0.00%> (-2.44%)
:arrow_down:

...ataprepper/parser/model/PipelineConfiguration.java
95.91% <0.00%> (-2.05%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Thanks for fixing this. Are there any unit tests we can add or capture to prevent this issue for re-occurring?
It's not clear if this was tested and resolves the linked issue. Have we tested this?

Thanks for fixing this. Are there any unit tests we can add or capture to prevent this issue for re-occurring?
It's not clear if this was tested and resolves the linked issue. Have we tested this?

I'm not sure how we can unit test this with the current class design. But I think we should add integration test using S3 and ACM to load certificates later.

@asifsmohammed , Should we backport this to 1.5 and 1.x? We don't have any releases scheduled, but if we do release a 1.5.2, would this fix be appropriate there?

We don't support S3 or ACM for ssl in 1.5 or 1.x right now. I'm not sure if it's required.


[SP-5021] Backport of PPP-4294 - Use of Vulnerable Component: derby-1…

…<IP_ADDRESS>_1.jar (CVE-2015-1832) (8.2 Suite)
@RPAraujo

Build Skipped
:white_check_mark: There was nothing to build. The changes are probably excluded by the build rules. If this is an error, please contact your system administrator.


WIP: Implement BitmapData#getColorBoundsRect

And required fixes to BitmapData. Very WIP, much broken.
There is so much inconsistency in BitmapData, particularly around handling of color formats. I think we need to clean all that up, and sooner rather than later, to be able to say, with a straight face, that we support any methods on BitmapData at all.
In particular, various methods just assume the data to be in pARGB format, while others think it's uRGBA. With some uncertainty about byte order sprinkled in. The comment on _ensureBitmapData tells a story about converting things to uRGBA, but the implementation converts to pARGB.
Fun.

/cc @mbebenita

Oh and also, getColorBoundsRect absolutely requires some unpremultiplied format. Which one doesn't matter much, though.

@tschneidereit can you please resolve the mergin conflicts if this is still something we want to land. I can do the review then. If not, please close this PR.


Make sure browser functions work when a navigation happens

(Reported by @ercpe)
There seems to be a problem when navigating to another webpage, while clickXPath (and similar functions) is active. We should verify that this works in all cases.

Reproduced by the navigation_context_destroyed test.


Can not enter FurnitureBench Website

I found that I can't enter the FurnitureBench website,
it shows that the website does not exist.
Could you tell me what the problem is.

You can find the FurnitureBench website here: https://clvrai.com/furniture-bench


Postback buttons should be usable for the entire search session

From the meeting note:

The postback buttons for choosing articles and choosing replies should still be clickable after the user has chosen an article or chosen a reply.
After the user forwarded us new articles, the postback buttons for the precious article should become invalid. Print an error message of the user clicks such buttons.
The usage for desktop Line users (who can only see alt-text) remains unchanged.

This may be related to #113  's change. cc/ @godgunman

之前我在使用者按下過期的按鈕之後，會吐 info 進 Rollbar
https://github.com/cofacts/rumors-line-bot/blob/dev/src/index.js#L86
結果 Rollbar 就爆倉了，所以這些「過期」按鈕，每天至少會被按 200 次：

More discussions at:
https://g0v.hackmd.io/zpvD5Bo3QDG5-v4zkRR1ug#讓-LINE-使用者可以回頭按按鈕，讀其他則文章或回應

Should also cover:

Pressing "是" in "是否有幫助" after canceling previous "No" attempt should work (https://github.com/cofacts/rumors-line-bot/pull/116 )
Pressing submit in LIFF after submitting reason will cause the reason being sent as message.

When implementing #49, we should take care of all these input types before invoking individual handlers. We should find a way to properly define this.


Vue 2 issue / doubt

Hey @shentao how do I get reactivity in place for Vue 2 version?
I have a json array of options, something like:
{
    [
        {
            "name":"master"
        },
        {
            "name":"production"
        }
    ]
}

In my Vue component's props, I have an option which is to be selected:
selectedBranch: {
    name: this.server.meta.deployment_branch
},

I initially select the option as follows:
<multiselect @input="updateDeploymentBranch" :options="branches" :value="selectedBranch"

But, when I update the name key of selectedBranch it doesn't get reflected in the UI

You might want to add the track-by="name" and label="name" props. This might help.

@shentao Already there :(

At first, the desired option is selected properly. But, once I change the data property of selectedBranch the reactivity is not achieved in UI

Where does the this.server.meta.deployment_branch come from? How do you assign it to name later on?

The server prop is already there from the start. The branch gets selected the first time.
If a selected server is updated on a later time, then the branch should also change according to server..

Yeah, but how do you track the changes? Is this a web socket connection?

It is an another dropdown that's it..

It should work without a problem if you’re doing a regular assigning. Could you provide a JSFiddle? Then maybe I could help.

having the same problem. I have an array of objects for the drop down called tags which is going in options property.
Then I have selected property as selectedTags. But when I pre populate the selectedTags on edit screen, those tags are not automatically visible.
I can see the demo working, but for me on Vue2 it's not.


Add handling for encoding to Read and Write file

This PR adds the ability to pass the encoding when using fs.readFile() and fs.writeFile() and properly maps the values to what S3 expects them to be.

This fixes #17

Coverage decreased (-41.77%) to 39.35% when pulling 58eea3ae763da838c02498347a8186c75a8ca0ba on handle-encoding-for-read-write into d93d23c18b230e29d27603a127dc60237217eeab on 2.0.0.

Coverage decreased (-41.77%) to 39.35% when pulling 58eea3ae763da838c02498347a8186c75a8ca0ba on handle-encoding-for-read-write into d93d23c18b230e29d27603a127dc60237217eeab on 2.0.0.

Coverage decreased (-14.99%) to 66.13% when pulling 0850e2035f151b65950cfba7e964c2c0b21dbd51 on handle-encoding-for-read-write into d93d23c18b230e29d27603a127dc60237217eeab on 2.0.0.

Coverage increased (+0.09%) to 81.21% when pulling e06925b6d989e291d33f993985b896ba06b78f20 on handle-encoding-for-read-write into d93d23c18b230e29d27603a127dc60237217eeab on 2.0.0.

Coverage increased (+0.09%) to 81.21% when pulling e06925b6d989e291d33f993985b896ba06b78f20 on handle-encoding-for-read-write into d93d23c18b230e29d27603a127dc60237217eeab on 2.0.0.


Fix dimension inconsistency error.

The bounding boxes missing a dimension and the logical judgment of zero_shot is wrong.

The code is worked very well on torch 2.2.0 & torchvision 0.17.0, except the commits made above.


Guava RateLimiter Redisson implementation.

@mrniko
any ideas on this function?

@doggie1989 which rates you need to limit? requests amount per sec from redisson to server?

Guava RateLimiter can only limit rate on local machine.
what I want is a distributed  RateLimiter.
for example, you have 10 consumers machines ,the speed of each one is 50~100 per second which depends on network or other reasons and the total consume rate is from 500~1000,but the rate must under 600.
Do you know what I mean?

You need RateLimiter which applies to each node. Am I right?

@doggie1989 ping

@mrniko
Sorry for the delay.
Yes,Mate.
Also a global RateLimited for all machines.

@mrniko, any update with such issue ? maybe it's related to such info: http://redis.io/commands/INCR#pattern-rate-limiter

@bwzhang2011 u can use the RScoredSortedSet .
RScoredSortedSet<Long> set = redisson.getScoredSortedSet(key,LongCodec.INSTANCE);
set.add(System.currentTimeMillis(),System.currentTimeMillis()+RandomUtils.nextLong(0, 1000));

// set expire
redisson.getScoredSortedSet(key,LongCodec.INSTANCE) .removeRangeByScore(0,true , System.currentTimeMillis() - 1000*seconds, false);

// limit
redisson.getScoredSortedSet(key,LongCodec.INSTANCE).size()<limit;

redis list or incr can not set expire to every request.
e.g.
SET key 0
EXPIRE 60000  # 1 min
INCR key  #*60 every sec
GET key # 60

## after 1min+1sec

GET key # null not 59.

Now it's part of OS version.

@mrniko cool !


Capacitor 5 Support

I would like to request support for Capacitor 5.
As you may be aware, Capacitor 5 has been released with significant updates and improvements. It would be highly beneficial if this plugin could be updated to support Capacitor 5 and its features.
If you require any further information or assistance, please let me know. I would be happy to provide any additional details or collaborate in any way that can facilitate the update process.
Thank you for your attention to this matter. I look forward to your response and the possibility of seeing Capacitor 5 support.

Hey @felipeclopes i'm currently a bit busy but if you want you can create a PR and follow the guide ionic provided, for upgrading the plugin, i will accept the PR

The v5 has been released


Static application deployment resource file path is incorrect

$ vue init nuxt-community/starter-template <project-name>,
after setting up the project, run npm run generate,resource file path is incorrect

This question is available on Nuxt.js community (#c2606)

Yup, the static json api example has been removed from the starter template by now
Good riddance


Date Picker has a today's date choice that I can't turn off how is this accomplished?

Bug, feature request, or proposal:
I don't know if the api just isn't explaining how to turn it off but I am using the input to open the calendar and it has this weird double calendar which one flashes with the today's date and the other is the full calendar.  How do you disable the today's date choice when clicking on the input?
What is the expected behavior?
to not have the today's date choice.
What is the current behavior?
the today's date choice is flashing up
What are the steps to reproduce?
Providing a StackBlitz reproduction is the best way to share your issue.
StackBlitz starter: https://goo.gl/wwnhMV
What is the use-case or motivation for changing an existing behavior?
I dont' want it
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
angular and material 7.0.1
Is there anything else we should know?
thank you

After reading your description, I am not quite sure what you are meaning.  Can you provide a reproduction in StackBlitz.  This will help us to investigate the issue you are seeing.

@josephperrott you can use any stackblitz to see what i am referring to.
https://stackblitz.com/angular/rooonlgxrlq?file=app%2Fdatepicker-overview-example.html
The simple part of it is when you click on the input a selection for today's date comes up.  Perhaps it is a chrome browser thing.

@xtianus79 can you reiterate the issue you are seeing?
I am unable to see a reproduction because I am not sure how the current behavior differs from your explanation.

@josephperrott howdy! I believe this is the chrome browser literally remembering the dates I picked so when i choose to encapsulate the entire field of the date picker as a pickable openable action for a split second the previous dates, i.e. today and whatever else will show up like a material date picker for a single day or multiple single days that have been picked.
So, I ultimately believe this is a chrome thing  is there a way to escape that or turn that off in chrome?

Closing as it sounds like it has been sorted as a chrome autofill issue.
You can read a conversation in the chromium bugs here but it looks like its not possible to disable it directly and instead the recommendation is to use unique names for inputs.


Fix Typo in Hook Testing Section Update testing.md

Description:
This pull request corrects a minor but important typo in the "Hook Testing" section. Specifically, the test description:
it('should false on unmount', () => {

has been updated to the correct form:
it('should be false on unmount', () => {

Importance of the Fix:
Correcting this typo enhances readability and clarity within the test suite, making it easier for developers to understand the purpose of the test. Descriptive accuracy in test names is crucial for maintenance and collaboration, especially in larger projects. Clear test names help convey the expected behavior and outcome, aiding in debugging and further development.
Additional Context:
This is a minor but meaningful fix that will improve the codebase’s quality and usability.

I mean, no


feat(kickstart): Add support for the Steam Deck

Adds a kickstart file with support for the Valve Steam Deck

Everything works and is good to go!


Improve custom plugins

The changes I proposed in #280.
closes #280

This would require major rewrites on the documentation and best internal practices. This request is at a level of a major rewrite and will massively break a ton of other PRs.

At this time this is not something I want to push through.


Compose with class reference reuses the same class instance in repeat.for

I'm submitting a bug report

Library Version:
1.7.1

Please tell us about your environment:

JSPM OR Webpack AND Version
Webpack 4.16.2

Current behavior:
compose with class reference reuses the same class instance in repeat.for, leading to the last element from repeat.for being displayed everywhere
Demo: https://stackblitz.com/edit/aurelia-compose-activate-2
Note the console.warn messages.
Expected/desired behavior:
separate instances of the class for each repeat.for run

on hold, still some issues with replicating

If you only have issue in your app, but not in demo, have a look of aurelia/binding#702, there is a solution for fixing duplicated aurelia-binding which causes many weird bugs. It might be related.


[FLINK-8104][Table API] fixing ROW type value constructor for SQL API.

What is the purpose of the change
Supports creation of a ROW based on fields or literals. such as:
ROW('hello', 12, true) or simply ('hello', 12, true).
Brief change log

Added in generateRow for Row type generation
Fix FlinkTypeFactory not able to recognize RelRecordType by resolving it through RowSchema class.

Verifying this change
This change added tests and can be verified as follows:

Added unit test for SQL expression and integration test for value constructor

Does this pull request potentially affect one of the following parts:
No
Documentation

Does this pull request introduce a new feature? No

Thanks for the prompt review @twalthr . Yeah I think generalizing the codegen part would be great.
Also do you think I can put in TableAPI support in this PR as well? I will update the documents and also add more ITCase :-)

@walterddr Yes of course. Having this for the Table API as well would be great. Something like row(1, "My String")?

Yes. I think it would also be good to support row(field, 'literal') on both SQL and Table API so I added that.
Not sure if this is necessary but row(1, 'foo').get('f0') is also supported on Table API (SQL parser rules needs to be updated to support such operation on SQL API side though).

Thanks. I will have a look at it soon. I think it ok that the Table API is a super set of features in this case.

Thanks @twalthr for confirming, I will also add in the documentation today then.

Thanks for the update @walterddr. I will merge this...


Atomic overwrite of multiple files

Hello,
We have a use case where we need to refresh a table in parquet format on S3 environment periodically. The data is too large to create a single parquet file each time so we are using dataframe repartition to generate the output. We need to be able to overwrite the entire dataset atomically. Using Spark alone, it removed the files and then it creates partitions but is not atomic, as the files are generated with eventual consistency manner.
Is it possible to use Hudi to overwrite the entire dataset in parquet format atomically?
Thank you

nope. if you using snapshot queries, you will not be affected by cleaner. but if you are doing incremental query, you may hit some issues.

What about if a job is ingesting the files without using Hudi? Would that job get "dirty" data? Do we need to use Hudi for both producer and consumer jobs in order to get consistent data?
Can you also clarify what's the difference between insert-overwrite-table and insert-overwrite operations?
Thank you

Hi @nsivabalan,
I built a job that runs below code periodically to refresh a table:
val df = sc.read.load("s3://some_bucket/some_folder/*.parquet")

df.write.format("hudi").
  option("hoodie.datasource.write.operation","insert_overwrite_table").
  option("hoodie.datasource.write.precombine.field", "ts_ms").
  option("hoodie.datasource.write.recordkey.field", "some_key").
  option("hoodie.table.name", "test_table").
  mode("Append").
  save("s3://some_bucket/output_folder/output/")

I noticed on each run, it keeps adding more parquet files to the output folder. Not sure why that's happening. The data wasn't changing in the source dataframe before writing.
Am I doing something wrong here?
The goal is to refresh existing partitioned parquet files atomically.
Thank you

hey hi @Rap70r :
let me explain what happens behind the scenes w/ COW table.
Lets just assume we have only one partition and entire data we plan to ingest fits into one data file.
Commit1:
writes data_file1_v1
Commit2: updates same set of records as commit1.
hudi writes data_file1_v2
// this is a new parquet file which essentially merges new incoming data w/ whats in data_file1_v1 and writes to data_file1_v2.
when you query hudi at this time, only data from data_file1_v2 will be served.
Commit3: again, updates to records from commit1.
hudi writes data_file1_v3.
// similar logic as commit2 above.
But hudi has a cleaner which will take care of cleaning up older file versions.
For eg, hoodie.cleaner.commits.retained is the config to play with. if you set this to 3. At C4, data_file1_V1 will be cleaned up. At C5, data_file1_v2 will be cleaned up.
Now, lets take a look at how insert overwrite works.
Lets say you trigger insert overwrite table at C10.
hudi will create a new file group. data_file2_v1 with just the new incoming records. and mark all previous file groups as invalid.
So, when hudi is queried now, only data from data_file2_v1 will be served and nothing else.
At some later point in time, when cleaner kicks in, it will clean up all invalid file groups.
So, actual clean up is lazy. And thats why you may see more file keeps getting added w/ every commit.
Insert_overwrite_table: entire table contents will be replaced w/ current batch.
insert_overwrite: represents insert overwrite matching partitions. Lets say your hudi table has 1000 partition. and you are ingesting records in 100 partitions with "insert_overwrite", only the 100 partitions will be over written w/ new data. rest 900 will remain intact.
Hope this clarifies things.

hello  ask a question：
1、I create sparksession
SparkSession sparkSession = SparkSession.builder().enableHiveSupport().appName("HudiTest")
.config("spark.serializer","org.apache.spark.serializer.KryoSerializer")
.getOrCreate();
2.Configure hudi parameters
optionMap.put(DataSourceWriteOptions.RECORDKEY_FIELD().key(),"uuid");
optionMap.put(DataSourceWriteOptions.PRECOMBINE_FIELD().key(),"dt");
optionMap.put(DataSourceWriteOptions.PARTITIONPATH_FIELD().key(),"dt");
optionMap.put("hoodie.insert.shuffle.parallelism","10");
optionMap.put("hoodie.upsert.shuffle.parallelism","10");
optionMap.put("hoodie.datasource.write.operation","insert");
optionMap.put("hoodie.parquet.small.file.limit","94857600");
optionMap.put("hoodie.parquet.max.file.size","200829120");
optionMap.put("hoodie.merge.allow.duplicate.on.inserts","true");
optionMap.put(HoodieWriteConfig.TBL_NAME.key(),"my_table_B");
3.Output Data To Hdfs
4.Found small files not merged
Can you help me to see if the configuration is missing?

Got it. Thank you @nsivabalan.

thanks!


Define a way to get the outputs into the MTG easily

Define a way to get the outputs into the MTG easily after the simulation so we can plot them using PlantGeom.
Maybe make it a simulation option, meaning that the statuses are available as mtg attributes too, either as a simulation output attribute, or directly as attribute values. Maybe the first one is simpler and cleaner

And define how we can plot multiple time-steps with PlantGeom

We have a manual way to do it in the documentation of PlantBiophysics:
https://github.com/VEZY/PlantBiophysics.jl/blob/c20cf68f814ff8a9aae0240a6d62e60fa1e23088/docs/src/simulation/mtg_simulation.md?plain=1#L114-L119


Subprotocol support

Are there any plans for subprotocol support in this library?

@ziad-floosi I think this should do it. To test, install simple-websocket directly from the main branch of this repository. You can pass the list of subprotocols accepted by the server in the SOCK_SERVER_OPTIONS dictionary (see https://flask-sock.readthedocs.io/en/latest/quickstart.html#configuration).
If the client requests a subprotocol or a list of them, the server will find the first subprotocol that it knows about and include it in the acceptance message. In the server, you can get the selected protocol inside the websocket route with ws.subprotocol.

Works perfectly, thank you so much for the quick fix. There seems to be some log message that prints out the subprotocol list when the WS server receives a request. Not super important, but just wanted to let you know.
https://github.com/miguelgrinberg/simple-websocket/blob/main/src/simple_websocket/ws.py#L339-L340

Release as simple-websocket 0.8.0. 🎉


Spawn vehicle in specific configuration

Hello!
How can I spawn a car in a given configuration, like those available in free roam?
How to spawn a Vivace in 110d configuration, for example?

Hi,
this functionality is a little bit hidden, you have to use the partConfig field of vehicle.options (as you can see in the snippet). In future versions of the library, we may expose this functionality to be more accessible.
from beamngpy import BeamNGpy, Vehicle, Scenario
beamng = BeamNGpy('localhost', 64256)
beamng.open()

scenario = Scenario('west_coast_usa', 'config_spawn')

vehicle = Vehicle('ego', model='vivace')
vehicle.options['partConfig'] = 'vehicles/vivace/vivace_110d_M.pc'
scenario.add_vehicle(vehicle, pos=(-725.365, 92.4684, 118.437),
                     rot_quat=(-0.006, -0.0076, 0.921, -0.389))

scenario.make(beamng)
beamng.load_scenario(scenario)
beamng.start_scenario()

You can find all the different .pc configurations in the BeamNG.tech folder, for example content/vehicles/vivace.zip/vehicles/vivace/*.pc. You can also provide a path to your custom part configuration file.

Thanks !!


Rm old pyarrow for kartothek 3.15 & 3.16

From version 3.15.0 the arrow dependency was bumped to >=0.17.1,<2 from pyarrow >=0.13.0,!=0.14.0,<2
but not adjusted in the feedstock.
In the feedstock it's already updated (version 3.16.0 build 1): https://github.com/conda-forge/kartothek-feedstock/issues/29
show_diff for noarch:
noarch::kartothek-3.15.0-py_0.tar.bz2
-    "pyarrow >=0.13.0,!=0.14.0,<2",
+    "pyarrow >=0.17.1,<2",
noarch::kartothek-3.15.1-py_0.tar.bz2
-    "pyarrow >=0.13.0,!=0.14.0,<2",
+    "pyarrow >=0.17.1,<2",
noarch::kartothek-3.16.0-py_0.tar.bz2
-    "pyarrow >=0.13.0,!=0.14.0,<2",
+    "pyarrow >=0.17.1,<2",

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Thanks @siboehm !


Send more than 2 photos to the album...

I send an album, up to 10 photos. I get an error. Only 2 photos are sent :(
Scanner scanner = new Scanner(System.in);         Callable<String> inputCode = () -> {             System.out.print("Please input code: ");             return scanner.nextLine();         };         IGClient.Builder.LoginHandler challengeHandler = (client, response) -> {             return IGChallengeUtils.resolveTwoFactor(client, response, inputCode);         };         IGClient client = IGClient.builder().                 username(name)                 .password(pass)                 .onChallenge(challengeHandler)                 .login();         List<TimelineAction.SidecarInfo> info =                 Arrays.asList(                         TimelineAction.SidecarPhoto.from(new File("ph_0.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_1.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_2.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_3.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_4.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_5.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_6.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_7.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_8.jpg")),                         TimelineAction.SidecarPhoto.from(new File("ph_9.jpg"))                 );         IGResponse response = client.actions().timeline()                 .uploadAlbum(                         info,                         "House")                 .join();         log(response.getStatus());
Start SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Error 2 Stop java.util.concurrent.CompletionException: com.github.instagram4j.instagram4j.exceptions.IGResponseException 	at com.github.instagram4j.instagram4j.IGClient$1.handle(IGClient.java:86) 	at com.github.instagram4j.instagram4j.IGClient.lambda$sendRequest$5(IGClient.java:152) 	at java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986) 	at java.base/java.util.concurrent.CompletableFuture$UniExceptionally.tryFire(CompletableFuture.java:970) 	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) 	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073) 	at com.github.instagram4j.instagram4j.IGClient$2.onResponse(IGClient.java:136) 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:504) 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) 	at java.base/java.lang.Thread.run(Thread.java:829) Caused by: com.github.instagram4j.instagram4j.exceptions.IGResponseException 	at com.github.instagram4j.instagram4j.requests.IGRequest.parseResponse(IGRequest.java:72) 	at com.github.instagram4j.instagram4j.IGClient.lambda$sendRequest$4(IGClient.java:149) 	at java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:642) 	... 7 more

The problem is that not all photos are uploaded to the server:
[OkHttp https://i.instagram.com/...] INFO com.github.instagram4j.instagram4j.IGClient - Response for https://i.instagram.com/rupload_igphoto/1622469108997_0_5969244574 with body (truncated) : {"debug_info":{"retriable":false,"type":"ProcessingFailedError","message":"Request processing failed
OR
[OkHttp https://i.instagram.com/...] INFO com.github.instagram4j.instagram4j.IGClient - Response for https://i.instagram.com/rupload_igphoto/1622469405016_0_5645973491 : 400
[OkHttp https://i.instagram.com/...] INFO com.github.instagram4j.instagram4j.IGClient - Response for https://i.instagram.com/rupload_igphoto/1622469405016_0_5645973491 with body (truncated) : {"debug_info":{"retriable":false,"type":"ProcessingFailedError","message":"Request processing failed
How can I upload images separately, check for errors, and then publish the album to the feed?

Make sure all images/videos are in proper format and ratio acceptable by Instagram

I am facing the same problem. For me the second request always returns a 400.
I've written an algorithm that attempts to upload the album and if it fails then it attempts the single photo upload.

Album upload always fails (usually second request returns a 400)
Single upload always works

I am sure photos are in acceptable format for instagram since I use imagemagick to ensure all of them are 1080x1080 and use JPEG format for all of them (checked the resolution in a blog post about how to become an influencer 💩 )

I got around the situation like this:
`private void uploadTest(String[] f, String caption) throws IGLoginException, IOException, IGResponseException, ClassNotFoundException, Exception {
List<MediaConfigureSidecarRequest.SidecarChildrenMetadata> metadata = new ArrayList<>();
    for (String s : f) {
        File firstPhoto = new File(s);
        byte[] firstImgData = Files.readAllBytes(firstPhoto.toPath());
        // upload photo
        IGRequest<RuploadPhotoResponse> uploadFirstPhoto =
                new RuploadPhotoRequest(
                        firstImgData,
                        "1",
                        String.valueOf(System.currentTimeMillis()),
                        true);
        RuploadPhotoResponse e = client.sendRequest(uploadFirstPhoto).join();
        if (e.getStatusCode() != 200) {
            //TODO phono NOT upload
            continue;
        }
        Log.dt(e.toString());
        String firstId = e.getUpload_id();
        metadata.add(new MediaConfigureSidecarRequest.SidecarChildrenMetadata(firstId));
        Thread.sleep(7);
    }
    IGRequest<?> configReq = new MediaConfigureSidecarRequest(
            new MediaConfigureSidecarRequest
                    .MediaConfigureSidecarPayload()
                    .caption(caption)
                    .children_metadata(metadata));
    //.location(location));
    IGResponse response = client.sendRequest(configReq).join();
    Log.dt(response.getStatus());
}

`

I'll certainly give this a try this afternoon; thanks!

@pbadun Just tried and it worked flawlessly! Thanks for the solution!


Add a way to disable client disconnection on message failures

Please explain the suggested feature in detail.
Currently clients are automatically disconnected on message failure to prevent exploits.
Would it be possible to add some sort of debug flag to disable this during testing?
How exactly does this keep you from releasing your game right now?
When performing a network playtest with other users, a player will be disconnected if their client throws an error. https://github.com/MirrorNetworking/Mirror/blob/ae539dcad09dcc2c7af81bcb4d7bb941a61a3937/Assets/Mirror/Core/NetworkMessages.cs#L138-L147
This can throw off the playtest session especially if it's a known bug that we want to ignore for the rest of the playtest.
I currently have conn.Disconnect(); commented out, but it would be nice to have a proper way to disable it when testing.
Can you suggest a possible solution?
Maybe a scripting define symbol that only disables the client disconnection if we're running within the editor or within a development build? (This would prevent people accidentally leaving it on during normal builds).

I don't think this is a good idea as the mechanism is there to prevent, as you said, exploits and also prevent potential desynchronization of the networked state.
Couldn't you isolate the bug before it causes the exception? Then you could just throw a Debug LogError call saying "BUG: (blah)" rather than having Mirror kill your player because you got a exception in the MessageHandler.
Another reason I say it's a bad idea is that what if that scripting define symbol gets left behind in a non-debug build or some developer that doesn't know the ins and outs of the MessageHandler and disables the safety net thinking "i don't need that" while getting exploited on launch day because they shouldn't have turned that feature off?
I'm not against the idea of having a editor-only toggle, I just see both sides of the coin and I would personally encourage you to fix the bug rather than just disabling a safety net.

Couldn't you isolate the bug before it causes the exception? Then you could just throw a Debug LogError call saying "BUG: (blah)" rather than having Mirror kill your player because you got a exception in the MessageHandler.

(Posted the issue under my other account by mistake.  Replying on my proper account).
"Isolating" wouldn't exactly help here.  Not unless I want to use a try-catch around every single bit of clientside code just incase an object reference.etc breaks.

I'm not against the idea of having a editor-only toggle, I just see both sides of the coin and I would personally encourage you to fix the bug rather than just disabling a safety net.

It's really annoying when players are forcefully disconnected because of one random error in a ClientRpc after spending 15-20 minutes getting everyone into the lobby during a playtest.
Yes, the error should be fixed.  But I'm not going to stop the entire playtest and have everyone wait while I diagnose and fix one issue.  I'd rather note the error down and fix it afterwards in preparation of the next playtest.

Another reason I say it's a bad idea is that what if that scripting define symbol gets left behind in a non-debug build or some developer that doesn't know the ins and outs of the MessageHandler and disables the safety net thinking "i don't need that" while getting exploited on launch day because they shouldn't have turned that feature off?

Which is why I suggested only having the mechanism disabled when the define symbol is present and the game is running in the editor or a development build.  A non-development build would always have the mechanism enabled.

I currently have conn.Disconnect(); commented out, but it would be nice to have a proper way to disable it when testing.

You can wrap the code in #if Debug for your own purposes, but we won't be doing it because of the reasons given.
                catch (Exception e)
                {
#if DEBUG
                    Debug.LogError($"Error in MessageHandler\n{e}");
#else
                    Debug.LogError($"Disconnecting connId={conn.connectionId} to prevent exploits from an Exception in MessageHandler: {e.GetType().Name} {e.Message}\n{e.StackTrace}");
                    conn.Disconnect();
#endif
                }

Looks like this functionality was added in #3605 for those interested.


Repeated calls to openid-configuration/token in demo site

Hello, not sure if this is a real issue, so please bear with me if it isn't :-)
I was checking the demo site (https://black-rock-0dc6b0d03.1.azurestaticapps.net/) and I noticed that after I login I could see these steps repeating themselves over and over every five seconds:
Screenshots

I tried looking for 5000 ms in the codebase but I could only find a sleep(15000) which refers to the calls to fetch OidcKeepAliveServiceWorker.json.
I'm not very confident with OIDC, is that a normal thing or something's wrong?
Thank you for this cool lib by the way!

Hi @AnimaLupi, thank you very much for your nice issue.
In good REST API design server is responsible to manage HTTP cache.
Theoricately, the openid-configuration can change and the client will need to have the good version.
Praticlaly we will need to add cache in javascript side :) with a configurable time cache (may be 10 minutes or one hour).
But i think we will keep the default time cache to 0.
The demo is very special because the refresh of the token is very short, in the real life it is much more longer.

Thank you for your quick reply!
Ok, so what I was seeing was due to a server configuration of the refresh token lifespan, I totally overlooked/missed that, sorry!
Thanks again for the explanation!

I reopen the issue to trace the client cahe development need. Thank you very much :)

Hi @AnimaLupi , we have added some cache in v6. Now we have less call to oidc server configuration.

Hi @AnimaLupi , we have added some cache in v6. Now we have less call to oidc server configuration.

Cool, thank you for this feature!

Hello. In v6, if no serviceWorker is configured, the request to openid-configuration is repeated every second.

If you do not specify the serviceWorker settings in the configuration like here:
{
    client_id: 'interactive.public.short',
    redirect_uri: window.location.origin+'/authentication/callback',
    silent_redirect_uri: window.location.origin+'/authentication/silent-callback',
    scope: 'openid profile email api offline_access',
    authority: 'https://demo.duendesoftware.com',
    refresh_time_before_tokens_expiration_in_second: 10,
    // service_worker_relative_url:'/OidcServiceWorker.js',
    // service_worker_only: false,
  }

Then in the initAsync function, on line 514, null will be written to the storage variable. But the function fetchFromIssuer in place of storage expects the type Storage | undefined. Because of this, the condition on line 292 does not work in the fetchFromIssuer function.
Suggested solution:
In the initAsync function, on line 514, replace null with undefined.

Thank you @drue66 , I'am very sorry for that bug.
In fact there were 2 bugs => https://github.com/AxaGuilDEv/react-oidc/commit/06d02a920cd0845a2f151fc2bdb926d611aa3ac8
last version fixed it.
Thank you again !

Cool! Thank you!

Hi @AnimaLupi @drue66 , i close this issue and I keep  #819 for enhancement. Thank you very much for the issue and your feedbak.


[Theming] Add built-in TypeScript support

This PR adds resolution via TypeScript to allow us to continue importing emotion-theming and @emotion/styled normally but, through path aliasing, decorates those imports to use provided built-in types. This gives us automatic access to our ThemeType without needing to import it in every file/component.
I had also tested out replacing all our instances of import styled from '@emotion/styled', but ultimately this bit of magic seemed preferable to breaking our convention/expectation. We'll have to set up similar resolution magic in consumer apps, but that would be required regardless of whatever configuration we chose in radiance-ui.
.size-snapshot is so large because I forgot to re-build in #436. There's no regression with epic/add-theming-functionality, and it's not caused by these changes.

nice, understood, I wonder if we can export some of the definitions here for the consumer apps. We would need to add types folder to package.json files array for example?

Which definitions?


[DOCUMENTATION] Name of the task

Description
Here you describe what should be done and how

Add a step
Another step

This is a template


add detekt

Adds detekt. Totally open to changing these rules. went ahead and toggled off the ones that were failing which were:
comments:
  active: true
  DeprecatedBlockTag:
    active: true
  EndOfSentenceFormat:
    active: true
    endOfSentenceFormat: '([.?!][ \t\n\r\f<])|([.?!:]$)'
  UndocumentedPublicClass:
    active: false #  let's activate in a subsequent PR
    excludes: [ '**/test/**' ]
    searchInNestedClass: true
    searchInInnerClass: true
    searchInInnerObject: true
    searchInInnerInterface: true
    searchInProtectedClass: false
  UndocumentedPublicFunction:
    active: false #  let's activate in a subsequent PR
    excludes: [ '**/test/**' ]
  UndocumentedPublicProperty:
    active: false #  let's activate in a subsequent PR
    excludes: [ '**/test/**' ]

naming:
  MemberNameEqualsClassName:
    active: false #  let's activate in a subsequent PR

woot. snapshot releases are working now. many props to @ALRubinger and @leordev for all prior honest work.

going to go ahead and merge this one as well so that i can test a proper release


About Last Request At field. Seems Not Working

Is theLast Request At field working currently ?
I saw this field in User table of ConnectyCube Admin Panel but field is empty even my users are active and requesting connectycube sdk/api.
And no information about this field on documents. How this field works @TatankaConCube ?

@jostney I redirected your question to the back-end team, will wait theirs answer.

they promised to fix it soon

Where it will be announced ? Here or cc documentation ?

@jostney they already have pushed the fix today

@TatankaConCube  working!
Closed.


Composer installation fails with Symfony 3.2.*

My installed version is 3.2.2 but Composer state: Installation request for symfony/symfony (locked at v3.2.1, required as 3.2.*) -> satisfiable by symfony/symfony[v3.2.1].
I don't see much deep but I don't see if we only need to allow a major version to fix this.
Can someone confirm that or have a workaround?

installation requires Symfony/Validator 2.8.9 which is unsuitable with Symfony 3.2.*

Problem 1
- Installation request for phpdocumentor/phpdocumentor ^2.9 -> satisfiable by phpdocumentor/phpdocumentor[v2.9.0].
- phpdocumentor/phpdocumentor v2.9.0 requires symfony/validator ~2.2 -> satisfiable by symfony/validator[2.2.x-dev-2.8.x-dev, v2.2.0-v2.8.9] but these conflict with your requirements or minimum-stability.

Please use the provided phar.
We do not support composer installs in all projects.

Please use the provided phar.

This means that will resolve the issue?

We do not support composer installs in all projects.

In the installation section it's mentioned at point 2 as supported.

Yes we provide a way to install phpdocumentor via composer. But we won't support all projects. Composer will give you conflicts at some point. That means that we have to upgrade our dependencies and be backwards compatible for older projects. There is no way to accomplish that.
If you use the phar you don't have a composer dependency. So it won't conflict.
We changed our statement about the installation of php applications like phpdocumentor Version 3 of phpdocumentor won't have composer support when it is released. Applications should be installed stand-alone, and not be part of your project. due to many conflicts we had in the past.

Thanks for the clarifications @jaapio


[NumberField]: onValueChange not being called when input value is changed

Steps to reproduce
Link to live example:
https://codesandbox.io/p/sandbox/wpqjmg?file=%2Fsrc%2FApp.tsx%3A10%2C43-10%2C56
Steps:

Focus on input and change it's value

Current behavior
onValueChange not being called when input value is changed
You can see that the text below the input will remain value: 0 until you focus out of the input. The blur leads to onValueChange being called.
Expected behavior
onValueChange being called when input value is changed
Context
Thanks for adding support for decimals in the new version of the number input ❤
I'm working on an interactive calculator in which changes to input values should be reflected in calculations that are shown in the UI.
I tried to debug the issue and I found that on each change I reach this part of the code:
https://github.com/mui/base-ui/blob/78d4abd6a72b0e3d783aa7a09bfda8c7a7518b88/packages/mui-base/src/NumberField/Root/useNumberFieldRoot.ts#L607
Because event.isTrusted === true in this case, we call only setInputValue without calling setValue (which internally calls onValueChange)
I'm not sure if it's by design or not. So forgive me if I classified this issues as bug 🐛  by mistake.

  Output from `npx @mui/envinfo` goes here.

Search keywords: onValueChange

I'm not sure if it's by design or not. So forgive me if I classified this issues as bug 🐛 by mistake.

Yes it's by design. The reason is partial input may not be parseable as a valid number, so it can't properly be called in realtime/on change.

I'm not sure if it's by design or not. So forgive me if I classified this issues as bug 🐛 by mistake.

Yes it's by design. The reason is partial input may not be parseable as a valid number, so it can't properly be called in realtime/on change.

Can this potentially be made available on the hook variant of NumberField? Or an optional prop that defaults to false (= immediate change behavior disabled).
I understand the concern, but it gives a worse UX (less immediate feedback) because of an edge case, for a lack of a better term - when a used enters invalid values. In the happy flow path, the UX is just worse without any benefit.
E.g. react-number-format deals fine with this - demo.

I think the main concern is with compositional inputs such as pinyin, which depends on the client's locale/number system. The input already blocks most invalid input before it can be typed in, but composition events aren't blocked yet represent incomplete data that can't be parsed?
This behavior matches the RA library, though it doesn't state what "partial input":

The onChange event is triggered whenever the number value updates. This happens when the user types a value and blurs the input, or when incrementing or decrementing the value. It does not happen as the user types because partial input may not be parseable to a valid number.

Open to suggestions or PRs to improve this behavior however

The onChange event is triggered whenever the number value updates. This happens when the user types a value and blurs the input, or when incrementing or decrementing the value. It does not happen as the user types because partial input may not be parseable to a valid number.

Open to suggestions or PRs to improve this behavior however

I suggest the onValueChange fires only if the parsed input is valid.
e.g.
1 → onValueChange(1)
2 → onValueChange(12)
, → onValueChange not fired
3 → onValueChange(123)

Do we have an onInputChange event like in https://mui.com/material-ui/api/autocomplete/#autocomplete-prop-onInputChange?

@bengry it does seem ok to me that onValueChange is called as soon as it can, as long as the current number string is parseable/valid.
@oliviertassinari In our API, instead of onInputChange you can just use onChange on the Input subcomponent to read the string value in realtime.


SectionMixin: super().__init__ should be called at the beginning of __init__

... it's necessary to set self.chain before the rest of the code runs — otherwise you can get an error about the chain attribute not existing, in some cases.
Originally posted by @alexreg in https://github.com/janluke/cloup/pull/116#discussion_r873250465

@janluke Just curious, is there anything in particular you are worried about with moving super().__init__ to the beginning? Or just being cautious?

A more conservative fix would be to leave it where it is and add at the beginning of __init__ the following.
self.chain = kwargs.get("chain", None)
del kwargs["chain"]

It seems like a bit of a kludge though. Overall, I noticed that re Cloup types, sometimes you are calling super().__init__ at the start, sometimes at the end, and at least once somewhere in the middle.

@janluke Just curious, is there anything in particular you are worried about with moving super().init to the beginning? Or just being cautious?

Just being cautious. I don't remember why I put the super() call at the end. Moving the call at the beginning is probably something safe to do. Still, "formally" it deserves to be its own PR because if someone who used SectionMixin directly may have relied on this. Pragmatically, very few people (if any) use these mixins directly, so it's just a formality.

@janluke Makes sense. Want me to create a PR?

It'd be great! Thanks :)


vSphere: The proxy to the Kubernetes API server is http

On vSphere instructions, the dashboard is running in http, not https.

I signed it!


chore(main): release 0.1.4

:robot: I have created a release beep boop
0.1.4 (2024-10-08)
Bug Fixes

Capitalize rate center names (#14) (68b9746)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.4
:sunflower:


Fixed how we were str joining the buffer for the proxied request body.

Fixes #272

Aside from the one line note, looks good to me!

+1

@kevinswiber Removed that conditional since it wasn't useful.


Replace AtomicReference by volatile field

The original intent was to avoid duplicating/missing
events when the MutableFileWatchingStatistics gets
swapped out in getAndResetStatistics() at the end of
the build. However, it is still possible to record
events duplicated like this.
This PR replaces the AtomicReference by a volatile field.
That simplifies things. It is still possible to miss events,
though that is not so important, given that these are
statistics anyway.
Fixes #16794

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test and merge

Your PR is queued because #16814 is being built.

OK, I've already triggered a build for you.

Pre-tested commit build failed.

@bot-gradle test and merge

OK, I've already triggered a build for you.

Pre-tested commit build failed.


did-exchange: question regarding "Agency Endpoint"

@dbluhm @swcurran @TelegramSam @dhh1128
What are we referring to as an "Agency" when in the did-exchange RFC we say the following about "Agency Endpoint":

The endpoint used to transmit the exchange request is either present in the invitation or available in the DID Document of a presented DID. If the endpoint is not a URI but a DID itself, that DID refers to an Agency.
In that case, the serviceEndpoint of the DID must be a URI, and the recipientKeys must contain a single key. That key is appended to the end of the list of routingKeys for processing. For more information about message forwarding and routing, see HIPE 22.

An "agency" is just a shared service endpoint--a service that fronts multiple agents. If Alice, Bob, and Carol all receive DIDComm messages at the same place, that gives them herd privacy. It also implies that there is a mediator sitting at that endpoint, consuming forward messages and passing their payloads on to another mediator--the cloud agent for Alice, Bob, and Carol, respectively. All messages delivered to edge agents using this type of mechanism have to be double-wrapped with a forward, since the "agency" peels off one layer of the onion, and the cloud agents of Alice, Bob and Carol, in their capacity as routing mediators, peel off the other layer.

Thanks. Seems like we should point to the Agency entry on the Sovrin Glossary.
However, it seems strange to have the differentiator be merely this:

If the endpoint is not a URI but a DID itself, that DID refers to an Agency.

It does not necessarily follow that the subject of a DID referenced in an invitation's serviceEndpoint is an Agency. Iff it's a public, well known DID (probably hosted at the Agency's .well-known endpoint), then it's an Agency. Otherwise we have no idea (I think)

You are correct that we don't know whether a DID referenced in an invitation's serviceEndpoint is the DID of an agency or of some other entity that's acting as a mediator. However, whether it's an agency or not doesn't really matter--the point is that it's mediating in the same way that agencies do.
I don't mind revising the text to nuance it a bit, but I don't think it materially changes the analysis.

Fair enough. Thanks


505 multi date filter

Resolves #505

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.02%

Covered Lines:
6666

Relevant Lines:
6785

💛  - Coveralls