plot_scores function returns 0 for all but first and last value

Hi!
I am running kickscore for some data, and when plotting the scores with plot_scores function, the predict method returns mean 0 and variance 1 for all data points except the first and last timestamps. For the final and the last timestamps the predictions are the sames as the values in the Items scores attribute. There are some other anomalies with the score data, but this seems to be far most common one.

Here are 3 players plotted, and they all exhibit the same behaviour.
Also, why in the plot_scores function, we calculate the ms vector with the predict method, but not rather just take the stored values from the scores attributes of an Item?
Another observation I made was that I have players who have only won matches, but their score at the end is almost the same as in the beginning? Here is a picture of a player who has won roughly 20 matches and lost 0. Shouldn't their trajectory be monotonically increasing, even if the opponents are weak? The data below is from the scores attribute of the Item

I am using the BinaryModel, with exponential kernel (var=1, lscale=1) and recursive fitter.
All help is much appreciated!

Hi @markustoivonen
It's hard to say with certainty without looking at the data & code, but here are a few thoughts that might help you:

in general, you might want to combine a dynamic kernel (e.g. Exponential) with a static one (Constant). The constant kernel will capture a player's baseline score, whereas the dynamic one will capture fluctuations around the baseline over time. If you don't, then the score will revert to zero during long stretches without observations.
Regarding your first plot: the timescale (x-axis) appears very large (1e9), but the timescale of the exponential kernel is 1 (lscale=1). This is why the score is dropping very quickly to zero (the prior mean) outside of the precise moment the comparisons happened. lscale basically tells the model how far away in time should scores be correlated -> here, given the timescale of your data, the model thinks the score at any two time points should essentially be uncorrelated (hence be zero most of the time).
Regarding your 2nd plot: kickscore works differently than Elo, etc, where players gain / lose rating points after every game. kickscore infers the score over time given the entire history of matches. This means that even if a player wins all the time, their score might fluctuate up & down, depending on 1) the strength of their opponents, 2) the interval between successive matches and 3) prior beliefs about the score & its evolution over time (given by the kernel).

Bottom line:

try kernel = Exponential(...) + Constant(...), the model will then learn a baseline score for each player. Over long stretches without games the score will revert to this baseline (instead of zero).
play with the lenghtscale of the exponential kernel. In particular, try increasing it to the equivalent of ~1 year (what the corresponding number will be depends on your unit of time).

Regarding your question

Also, why in the plot_scores function, we calculate the ms vector with the predict method, but not rather just take the stored values from the scores attributes of an Item?

The scores attribute contains the mean & variance of the score only at times where the player played a game (you can check this by inspecting ts). When plotting it looks better if you show the score time-series using regularly spaced time intervals, not necessarily matching the timestamps of games a user played, hence the call to predict.
Hope this helps!

Hi @lucasmaystre! Thank you for taking the time to give such an thorough answer, I truly appreciate it. :)
I was able to fit the predict curve to the data points, so now the plotting curves makes more sense.
I have a few more follow up questions, hopefully they are not too strenuous.

Here is an image of a players kickscore (variance omitted).

The player has only wins except for one loss around December. What kind of kernel/hyper params in your opinion would best work for a situation, where the predicted kickscore does not reduce until after the last win before the loss? One can see that the score stagnates and decreases already before the loss happens. This sort of behaviour is unlikely in my context and I would like to address that.
To put simply,  in my context I have two types of players: a) exercises and b) users
Users complete exercises and either win / lose against them, but users or exercises never compete against the same type (user vs user, exercise vs exercise). So then the kickscore represents skill of players and difficulty of the exercise.
I am thinking that separate kernels for both types of users is most likely advisable, considering that the exercises are actually static and don't change, where as the player learns (and unlearns after not completing)? Also, the exposure for different players are different. An exercise faces thousands of users a week, where as an user completes an exercise roughly once a week. Do you have any tips/thoughts how one would best tackle this problem?

In Table 3 of your original paper you list the best combination you found for each dataset. Considering that the hyperparameters correspond to certain kernels, how should one randomize the kernel combination selection? I.e. if Affine + Wiener is the best combo, do you go through all the different possible combinations of kernels (say, limit it to kernel1 + kernel2) and go through different hyperparameters for all the combinations?

Thank you very much!

Hi @markustoivonen sorry for the delay.

What kind of kernel/hyper params in your opinion would best work for a situation, where the predicted kickscore does not reduce until after the last win before the loss.

I don't think there is such a kernel, unfortunately. If you know where the score should change (a priori), you can try to use the PiecewiseConstant kernel (which allows for discontinuous jumps).

In Table 3 of your original paper you list the best combination you found for each dataset. Considering that the hyperparameters correspond to certain kernels, how should one randomize the kernel combination selection?

That's a great question, and there is no simple answer. In practice, it's an art as much as it is a science—you try combinations that intuitively make sense. Here's a paper that attempts to make this process more rigorous: https://arxiv.org/pdf/1302.4922.pdf but it's still mostly a heuristic search.
In practice, on the datasets I've played with, constant + exponential (or wiener) gives you 95-99% of the performance you get with more "fancy" combinations.

I am thinking that separate kernels for both types of users is most likely advisable, considering that the exercises are actually static and don't change, where as the player learns (and unlearns after not completing)? Also, the exposure for different players are different. An exercise faces thousands of users a week, where as an user completes an exercise roughly once a week. Do you have any tips/thoughts how one would best tackle this problem?

Yes, agreed with you - exercises don't change so a static kernel makes sense. For players, I could imagine it would make sense to assume the skill is monotonic (i.e., can only increase over time). Unfortunately that's not implemented in kickscore at the moment (but http://proceedings.mlr.press/v9/riihimaki10a/riihimaki10a.pdf could provide a blueprint).
Overall, I think a simple Wiener kernel (which has a constant offset built-in through var_t0) would be a good starting point for the players.

Hi @lucasmaystre! Thank you for taking the time to give such an thorough answer, I truly appreciate it. :)
I was able to fit the predict curve to the data points, so now the plotting curves makes more sense.
I have a few more follow up questions, hopefully they are not too strenuous.

Here is an image of a players kickscore (variance omitted).

The player has only wins except for one loss around December. What kind of kernel/hyper params in your opinion would best work for a situation, where the predicted kickscore does not reduce until after the last win before the loss? One can see that the score stagnates and decreases already before the loss happens. This sort of behaviour is unlikely in my context and I would like to address that.
To put simply, in my context I have two types of players: a) exercises and b) users
Users complete exercises and either win / lose against them, but users or exercises never compete against the same type (user vs user, exercise vs exercise). So then the kickscore represents skill of players and difficulty of the exercise.
I am thinking that separate kernels for both types of users is most likely advisable, considering that the exercises are actually static and don't change, where as the player learns (and unlearns after not completing)? Also, the exposure for different players are different. An exercise faces thousands of users a week, where as an user completes an exercise roughly once a week. Do you have any tips/thoughts how one would best tackle this problem?

In Table 3 of your original paper you list the best combination you found for each dataset. Considering that the hyperparameters correspond to certain kernels, how should one randomize the kernel combination selection? I.e. if Affine + Wiener is the best combo, do you go through all the different possible combinations of kernels (say, limit it to kernel1 + kernel2) and go through different hyperparameters for all the kernel combinations?

Thank you very much!

The model assumes an unbiased random shift of abilities, so your assumption about the ability does not fall into that category.
A simple model that would fit you criteria is actually a simple Elo, or if you want a more sophisticated one, Glicko2 or TrueSkill are good candidates. The graph would not be smooth (you actually only get point estimations at the time of doing the exercises), so keep that in mind.


[DDO-1729] [WIP] Expose metrics to Prometheus

Exposes an /actuator/prometheus endpoint from Buffer. It grabs all the OpenCensus stats and includes some other JVM and system stuff that we don't really need.

Closing in favor of #200


[Windows] Add docker symlink

Description

Fix docker-win-credential link
Add docker symlink to fix issue with az acr login

Related issue:
https://github.com/actions/runner-images/issues/6286
Check list

[x] Related issue / work item is attached
[x] Tests are written (if applicable)
[x] Documentation is updated (if applicable)
[ ] Changes are tested and related VM images are successfully generated

Hi, @al-cheb , @miketimofeev , We are blocked on this and we cant build our windows container images, can you guys help on getting this rolled out quickly?


Add Route and change group

Signed-off-by: rasel<EMAIL_ADDRESS>
Description of your changes

Fixes #
I have:

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

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


Mask the password on blur

Fixes #116

This change is

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks broke.

Comments from Reviewable


how to scale image to fit center

how to scale image to fit center ? scaletype  not worked !

solved with this.
cropper.setImageBitmap(BitmapFactory.decodeStream(getContext().getContentResolver().openInputStream(imageUri)));


[r2.14-rocm-enhanced] Update for ROCM 6.0

retest code-check please

retest gpu-non-pip-multi please


Fib bench

Added a bench test for computing the nth fibonacci term recursively

@normrubin Apologies I just realized that there is another fibonacci benchmark in the suite (though it's not recursive), is this okay or would it be better if I submit a different benchmark?
Also, it appears this branch is out of sync with upstream's main -- happy to remove the commits that are not my own from this PR and resubmit if helpful

its fine to have another fibonacci benchmark -


Don't install dependencies

Allows the project using Zappa to declare Zappa dependencies themselves to avoid getting conflicts with their own deps.

Did not intend to upstream this. Please ignore.

Anyway, since I already fat fingered this PR, it should be of some help in case anyone lands on a similar error where Zappa's injected dependencies collide with your own stuff:
ERROR: Cannot install pip-tools==6.4.0 and pip==21.0.1 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies

You can cut out Zappa's own dependencies like in this PR and instead add them as your own project's dependencies with versions that play nice.


(PUP-6088) Make TypeParser.interpret public API

This makes the API for TypeParser.interpret public API (it is used by
Puppet Strings). This change is made to make Puppet aware that the API
cannot be changed without consequences.
It is a documentation change only since the method itself was not
technically Ruby private.

CLA signed by all contributors.


Add a Visitor to get a flattened list of config names

This returns a list of config names from the entire hierarchy which is also the override order.  Note that the list may contain duplicates if the same name shows up under different nodes within the hierarchy.

NetflixOSS » archaius » archaius-pull-requests #134 SUCCESS
This pull request looks good

archaius-pull-requests #303 SUCCESS
This pull request looks good

archaius-pull-requests #307 SUCCESS
This pull request looks good

NetflixOSS » archaius » archaius-pull-requests #138 SUCCESS
This pull request looks good


Allows StataPush to run a do file so that you'll receive a notification if the do file runs into an error.

Adds the ability to run a do file, which will you to receive a notification if there's an error in your code.
* Install fork
net install statapush, from("https://raw.github.com/vikjam/statapush/master/") replace

* Create an example do file that has an error
file open example using "example-do.do", write
file write example "sysuse auto.dta" _n "regressx mpg price" _n
file close example

* Run statapush
statapush using "example-do.do", token(<INSERT API TOKEN>) userid(<INSERT USER KEY>) message(<INSERT MESSAGE>)

Hi,
Would you prefer to submit separate pull requests for the error handling function and the storing preferences / pushbullet contributions? Or just one with everything?
Best,
Will

I just put everything together now!

Great - thanks! I'll merge, take a quick look, and then submit an update to SSC in the next day or two!.

Hi,
I just submitted a few additional changes - mostly to documentation. I think it's ready to submit to SSC. I'll plan to email it in tomorrow morning. Please let me know before then if you'd like to be included as named author.
Thanks again!
Best,
Will

Being included as an author sounds good! Thanks for offering it!

Great! Can you send me your name and email address?
Thx!


Fail to run pretrain from sample code

Following this sample code:
https://github.com/google-research/t5x/blob/main/docs/usage/pretrain.md
I got this error:
ValueError: The version of the dataset you are trying to use (c4/en/2.2.0) is too old for this version of TFDS so cannot be generated.Either sync to a previous version of TFDS to first prepare the data or use another version of the dataset. Available for download_and_prepare: ['3.0.1']
Would it be possible to update the database reference?
https://github.com/google-research/text-to-text-transfer-transformer/blob/259358fab5dd8bf523234110b89c22b751174694/t5/data/tasks.py#L47

I got same error too

Hi
I had that error too. In my case I changed c4/en/2.2.0 to c4/en/3.1.0 and it worked.
Though another errors appeared.
Did you succeed in pretraining using any of the example .gin file?


Temporarily remove symbol completions in expressions

The problem, at present, is that they are being offered in places where they aren't valid e.g. below, where it should only be an operator (and lots of other examples):

See, FYI only, #620

Absorbed within #620


Apply Semantic Versioning with releases

Describe your question
MQTTnet its versioning isn't very useful. When looking the version then recently seem to be incrementing the last digit signifying bugfixes if you would follow semver. This would really help to know if you can blindly update to a newer version:

patch: drop in replacements (overwrite assembly)
minor: requires recompile because of type changes but not requiring code changes
major: requires code changes

Read more on semantic versioning at https://semver.org/
Which project is your question related to?

Client
ManagedClient
MQTTnet.Server standalone
Server
Generic

I know semantic versioning but honestly I don't have enough free time to check all changes and make a proper version increment. The current changes are usually very small and not a huge impact. The minor version is incremented but only when there a significant changes. This did not happen in the last month but will happen after the next 1 or 2 releases.

I know semantic versioning but honestly I don't have enough free time to check all changes and make a proper version increment. The current changes are usually very small and not a huge impact. The minor version is incremented but only when there a significant changes. This did not happen in the last month but will happen after the next 1 or 2 releases.

I will close this ticket because applying the versioning is an ongoing task.


[New chain]: Manta Pacific Mainnet 1.4.1

Summary

https://github.com/safe-global/safe-deployments/pull/625
https://github.com/ethereum-lists/chains/blob/master/_data/chains/eip155-169.json

Chain ID
169
Chain detail URL
https://chainlist.org/chain/169
RPC URL
https://manta-pacific-aperture.calderachain.xyz/http
Blockscout Client URL
No response
Etherscan Client URL
No response
Etherscan Client API URL
No response
Version
1.4.1
Address (Master copy)
0x41675C099F32341bf84BFc5382aF534df5C7461a
Deployment Tx hash (Master copy)
0x7caff9731e397680eec34b5ac8955ad06152d3855ff4b7d1b56a1081bf99df4a
Block explorer URL (Master copy)
No response
Address (Master copy L2)
0x29fcB43b46531BcA003ddC8FCB67FFE91900C762
Deployment Tx hash (Master copy L2)
0x880233640e704ea5af6ed1e362ffb8fcd2943a711521dd952852b1e46bd47ca1
Block explorer URL (Master copy L2)
No response
Address (Proxy factory)
0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67
Deployment Tx hash (Proxy factory)
0x41aab26d6d43a25d9818b82766d090ea737957b63a16eadc33567f6ae1142bb3
Block explorer URL (Proxy factory)
No response

/execute


Always pulling '10' filings

No matter what I do, ten filings are always pulled (if ten are available). Changing the input 'count' argument doesn't work. Has the url structure changed or become deprecated? Is that why I'm getting 10 each time? Need a little help.

Count parameter should be one of the following: 10, 20, 40, 80, 100.
Optionally, you can go in and remove it, because it isn't a required parameter.


Support Angular Material sidenav/drawer component

https://material.angular.io/components/sidenav/overview

Added sidenav in 08652deabf75569cdf2ee70b3cc4699e423bd635


Incorrect file extension when using shelter.

Reproduce

Open Image toolbox
You need to Select an Output folder inside your Shelter  work profile for the bug to appear.
Select Resize and convert from main screen
Keep file extension as .jpg
Save file
Get ResizedImage_2023-10-28_00-37-44_2.jpg.null

If instead if .jpg you select .jpeg you get
ResizedImage_2023-10-28_00-35-20_1.jpeg.jpg
If you use file format heic instead of jpg then file extension is correct.

Android?

Yes
i was not aware the app was available on another OS, sorry.

Yes
i was not aware the app was available on another OS, sorry.
Edit: well if you want to be specific I'm running GrapheneOS which is based on AOSP so i suppose technically not android
My current version is based on android 14
Image Toolbox
version 2.4.2 foss
ru.tech.imageresizershrinker

Hmm, i will look into 👀


Text is not as sharp as Adobe

Hi,
Thanks for sharing this code base...looks really impressive.  I noticed when I compare the text using your viewer vs Acrobat the text is not as sharp (a bit blurry).  I was using a library from Patagames that also use PDFium but cannot use it any more.  I did notice on their forum someone posted a question about documents being blurry and they proposed a "fix".  I'm not close enough to their code or yours but here is a link to the forum question if you have any interest.
Thanks,
Ted
PS - Not sure if there is a better way to message you.

Thank you for trying PDFiumDotNET.
The quality, performance and memory usage are the key aspects of this library.
I will take a look at the rendering...

You can see on this image assembly/class/method and variable factor.
Try to increase the value for this variable.
Can you see any improvement?
PS - To create issue is ok for me. In my profile is email visible now.

Hi Milos,
I tried a factor of 2.0 and 10.0 and the image changed but is still not clear.
Thanks,
Ted

Hi Ted,
At this moment I am unable to improve the rendering. I will try to analyze the pdfium later.
Miloš


Model loading Error

Code
model_config  = outetts.HFModelConfig_v1(model_path=r"D:\model\tts\OuteAI\OuteTTS-0.1-350M", language="en", wavtokenizer_model_path=r"D:\model\tts\OuteAI\wavtokenizer_large_speech_320_24k.ckpt")
interface = outetts.InterfaceHF(model_version="0.1", cfg=model_config)
interface.print_default_speakers()
speaker = interface.load_default_speaker(name="male_1")
output = interface.generate(
text="Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and it can be implemented in software or hardware products.",
temperature=0.1,
repetition_penalty=1.1,
max_length=4096,
speaker=speaker,
)
output.play()
output.save("out_test.wav")
Loginfo
TimeoutError                              Traceback (most recent call last)
File d:\conda\envs\tts\lib\site-packages\urllib3\connection.py:199, in HTTPConnection._new_conn(self)
[198](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:198) try:
--> [199](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:199)     sock = connection.create_connection(
[200](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:200)         (self._dns_host, self.port),
[201](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:201)         self.timeout,
[202](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:202)         source_address=self.source_address,
[203](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:203)         socket_options=self.socket_options,
[204](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:204)     )
[205](file:///D:/conda/envs/tts/lib/site-packages/urllib3/connection.py:205) except socket.gaierror as e:
File d:\conda\envs\tts\lib\site-packages\urllib3\util\connection.py:85, in create_connection(address, timeout, source_address, socket_options)
[84](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:84) try:
---> [85](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:85)     raise err
[86](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:86) finally:
[87](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:87)     # Break explicitly a reference cycle
File d:\conda\envs\tts\lib\site-packages\urllib3\util\connection.py:73, in create_connection(address, timeout, source_address, socket_options)
[72](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:72)     sock.bind(source_address)
---> [73](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:73) sock.connect(sa)
[74](file:///D:/conda/envs/tts/lib/site-packages/urllib3/util/connection.py:74) # Break explicitly a reference cycle
TimeoutError: timed out
...
[452](file:///D:/conda/envs/tts/lib/site-packages/transformers/utils/hub.py:452) except EntryNotFoundError as e:
[453](file:///D:/conda/envs/tts/lib/site-packages/transformers/utils/hub.py:453)     if not _raise_exceptions_for_missing_entries:
OSError: We couldn't connect to 'https://huggingface.co/' to load this file, couldn't find it in the cached files and it looks like OuteAI/OuteTTS-0.1-350M is not the path to a directory containing a file named config.json.
Checkout your internet connection or see how to run the library in offline mode at 'https://huggingface.co/docs/transformers/installation#offline-mode'.
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
Question
I downloaded the model file, but when I tried to use it with outetts 0.2.0, an issue occurred. Why can't it be used offline？

By default, the tokenizer is fetched from the Hugging Face repo, which is likely causing the issue when working offline. To use it offline, you need to specify the tokenizer path locally. Assuming tokenizer is stored in D:\model\tts\OuteAI\OuteTTS-0.1-350M, you can configure it like this:
model_config = outetts.HFModelConfig_v1(
    model_path=r"D:\model\tts\OuteAI\OuteTTS-0.1-350M",
    language="en",  # Supported languages in v0.2: en, zh, ja, ko
    tokenizer_path=r"D:\model\tts\OuteAI\OuteTTS-0.1-350M"
)

Thank you, it works.
text="Whether 60 or 16, there is in every human being’s heart the lure of wonders, the unfailing appetite for what’s next and the joy of the game of living. In the center of your heart and my heart, there is a wireless station; so long as it receives messages of beauty, hope, courage and power from man and from the infinite, so long as you are young.",
when i used this text, it missed lots of words in the end.

Thank you, it works. text="Whether 60 or 16, there is in every human being’s heart the lure of wonders, the unfailing appetite for what’s next and the joy of the game of living. In the center of your heart and my heart, there is a wireless station; so long as it receives messages of beauty, hope, courage and power from man and from the infinite, so long as you are young.", when i used this text, it missed lots of words in the end. Windows 11, cpu env.

I highly recommend using the new version of the model: OuteTTS-0.2-500M. It brings significant improvements and addresses issues like inaccuracies and missed words.


VnV Plan Review: Verification Plans/Tools sections

TODO
Any point that requires more discussion should be pulled out to a different issue; I grouped these all here since they are related and small.

[x] Who will be the one "checking that BeamBending’s Software Requirements Specification (SRS) conforms to Dr. Smith’s provided SRS checklist"?
[x] I don't think that the phrase "The software design does not need verification..." is correct. The software design should be verified, but it's OK if that is left to the Drasil team (as the validation is).
[x] Who are the "many eyes" or the "team member[s]" who will be looking over the VnV? Everyone in your Table of VnV Teammates? Only some of them will be looking at the VnV.
[x] It seems weird to me that the "many eyes" hypothesis is only introduced for the VnV Plan and not other artifacts.
[x] In the Implementation Verification Plan section, should it say "The generated software artifacts should be tested against the manually created artifacts to see if if non-trivial or significant differences exist;" presumably you will be testing the generated version against the manual one even if there aren't major differences.
[x] You should explain why "we have faith in the Drasil work."
[x] What does "aggressively formatt[ing]" the Python code entail?

The part after the "..." defers the onus of verification to the Drasil team :)
3/4. "many eyes" as in Linus's Law but also as in psychology, it's an oddly common thing, I'll add another citation (this time to Linus's Law) to better explain it.
Ah, that was meant to be in quotation marks. Python Black is an opinionated formatter which does has few options.

Thanks! 5e879fd35


New Machine requirement: Linux/x64 equinix dockerhost replacement

I need to request a new machine:

New machine operating system (e.g. linux/windows/macos/solaris/aix): Linux
New machine architecture (e.g. x64/aarch32/arm32/ppc64/ppc64le/sparc): x64
Provider (leave blank if it does not matter): Skytap
Desired usage: Replacement for the two dockerhost x64 systems currently hosted on Equinix
Any unusual specification/setup required: docker for running dockerhost containers and build pipelines
How many of them are required: 1 (for now)

Please explain what this machine is needed for: Replacement for Equinix systems which we have to decommission as per https://github.com/adoptium/infrastructure/issues/3292

System provisioned at skytap with 24 cores, 64Gb RAM, and a 256Gb filesystem on /var/lib/docker
IP <IP_ADDRESS> and it calls itself dockerhost-skytap-ubuntu2204-x64-1
I'm not clear yet whether it will accept inbound connections on high numbered ports so if that's not fixable we'll have to make it call into the jenkins server over JNLP for any containers we have on there.

I'm not clear yet whether it will accept inbound connections on high numbered ports

Not a problem - they're not restricted by default.
I've connected a container for experiental purposes running Fedora 39 to jenkins and running an AQA run at https://ci.adoptium.net/job/AQA_Test_Pipeline/206 🤞🏻
This container is not intended to be retained after this test, so it does not have the ci.role.test label on it

Host machine has been tested with docker builds at https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk/job/jdk-linux-x64-temurin/471/console on dockerhost-skytap-ubuntu2204-x64-1 so I'll aim to get this activated properly for the weekend runs or on Monday, subject to there being no risk to any outstanding items in the release cycle.

I've connected a container for experiental purposes running Fedora 39 to jenkins and running an AQA run at https://ci.adoptium.net/job/AQA_Test_Pipeline/206 🤞🏻

sanity.openjdk had 11 failures) - re-running in Grinder#8673. Note that the previous sanity.openjdk run on the Fedoa 35 container had 34 failures
extended.openjdk hit the 10 hours time limit - re-running with 30hrs in Grinder#8674

Others were ok.

I've installed temurin-8-jdk as a package so that JDk8 is the defaulton the machine. This appears to be required for the gradle version we use in the installer process. JDK21 is still available (installed via tarball) and is being used for the jenkins agent.
+ ./gradlew packageJdkAlpine checkJdkAlpine --parallel -PPRODUCT=temurin -PPRODUCT_VERSION=8 -PARCH=x86_64 -PGPG_KEY=****
Picked up _JAVA_OPTIONS: -Xmx4g
Starting a Gradle Daemon (subsequent builds will be faster)

FAILURE: Build failed with an exception.

* Where:
Settings file<EMAIL_ADDRESS>
* What went wrong:
Could not compile settings file<EMAIL_ADDRESS>> startup failed:
  General error during conversion: Unsupported class file major version 65

  java.lang.IllegalArgumentException: Unsupported class file major version 65

The three executors are running build jobs that can each take quite a bit of space on the jenkins workspace. See https://github.com/adoptium/infrastructure/issues/3362
At present there are up to 6Gb (I think a full build of the latest release might take close to 10Gb) on various directories on the host file system.

256Gb filesystem on /var/lib/docker

I'm going to redo this file system with about 100Gb for /home/jenkins/workspace and the rest as /var/lib/docker. The current dockerhost-equinix-ubuntu2004-x64-1 machine has 62Gb in the jenkins workspace (That may need to be looked at as it's quite high) so 100Gb should be enough.

Noting that the Fedora 39 container is working as well as most of the other systems as per https://github.com/adoptium/aqa-tests/issues/5012#issuecomment-1916796930

Noting that https://ci.adoptium.net/job/build-scripts/job/jobs/job/jdk17u/job/jdk17u-alpine-linux-x64-temurin/393/ and the equivalent on other versions appears to insist on running on one of the equinix dockerhosts at the moment as it's looking for build&&alpine-linux&&x64&&dockerBuild - we'll need to think about that labelling convention ...
23:30:52  [NODE SHIFT] MOVING INTO DOCKER NODE MATCHING LABELNAME build&&alpine-linux&&x64&&dockerBuild...
[Pipeline] node
23:31:07  Still waiting to schedule task
23:31:07  ‘[dockerhost-equinix-ubuntu2204-x64-1](https://ci.adoptium.net/computer/dockerhost%2Dequinix%2Dubuntu2204%2Dx64%2D1/)’ is offline
23:59:27  Running on [dockerhost-equinix-ubuntu2204-x64-1](https://ci.adoptium.net/computer/dockerhost%2Dequinix%2Dubuntu2204%2Dx64%2D1/) in /home/jenkins/workspace/build-scripts/jobs/jdk17u/jdk17u-alpine-linux-x64-temurin
[Pipeline] {

Nagios & Wazuh installed successfully.

Note: I've added alpine-linux to the labels on the machine for now until we look at alternate solutions in the issue mentioned above.

Added
https://ci.adoptium.net/computer/test-docker-ubuntu2204-x64-4/
https://ci.adoptium.net/computer/test-docker-ubuntu2204-x64-5/
https://ci.adoptium.net/computer/test-docker-debian12-x64-1/
containers to the machine
https://ci.adoptium.net/job/AQA_Test_Pipeline/208/console
https://ci.adoptium.net/job/AQA_Test_Pipeline/210/console
https://ci.adoptium.net/job/AQA_Test_Pipeline/211/console, respectively

Initial machine is in place and working. While we may wish to add additional containers onto this machine that can be done at a later date so I shall close this. Noting that #3378 covers setting up a second machine for the same purpose.

This machine was offline due to our monthly x64 credits at Skytap having expired. It has been changed from its original configuration to have 16GB RAM and six vCPUs and brought online again, but it still has a number of static docker containers defined.

@Haroon-Khel I'm struggling to bring the machines back online - has the port information in the jenkins agent definitions become de-synchronised from what is on the host?
e.g. https://ci.adoptium.net/computer/test-docker-ubi8-x64-3/log
which seems to be on a different port - is this expected?
CONTAINER ID   IMAGE        COMMAND               CREATED       STATUS      PORTS                                             NAMES
b67b6d5f2601   aqa_ubi8     "/usr/sbin/sshd -D"   5 weeks ago   Up 2 days   <IP_ADDRESS>:32771->22/tcp, :::32771->22/tcp           UBI8.32790

Yeah Im seeing this in https://github.com/adoptium/infrastructure/issues/3486#issuecomment-2039497160 too. Not sure what caused docker to reassign ports. Looking into it

Its caused because we now dont specify a port (allowing docker to randomly assign one), https://github.com/adoptium/infrastructure/blob/b728c86a1b2fe798c29cae85f7b23e50ff9686fa/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/deploy_container/tasks/deploy.yml#L27
Then when the dockerhost machine is restarted, docker will randomly assign a port again instead of giving the containers their previous port. TLDR a port needs to be specified on container startup instead of relying on docker to give a random one

That's another thing that won't be a problem if we switch over the connecting the containers over JNLP ;-)

The containers are back online (https://ci.adoptium.net/computer/test-docker-ubuntu2004-x64-4/log refuses to come back up). The problem should not reoccur with the existing containers. I need to change https://github.com/adoptium/infrastructure/blob/b728c86a1b2fe798c29cae85f7b23e50ff9686fa/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/deploy_container/tasks/deploy.yml#L27 to specify a port number to prevent this from happening in the future

Sounds good thanks - Jenkins logs should be clearer now after today's cleanups. Need to wait for Ludovic to come back to fix the RISC-V ones but that should be another load of warnings to disappear from Jenkins 👍

I'm going to close this now. Any future work can happen under other issues if required.

https://ci.adoptium.net/computer/test-docker-ubuntu2004-x64-4/log is back online, I recreated its container and now the jenkins agent has no trouble connecting


Make withdraw_anchor_account optional in WithdrawTransaction interface

More context here:
https://stellarfoundation.slack.com/archives/C04ECVCV162/p1721926361224189

@piyalbasu FYI I'm renaming this task as it appears the goal here is to simply make the withdraw_anchor_account field optional on the transaction object instead of making it optional on the transferWithdrawalTransaction function.
The withdraw_anchor_account should only be required once the transaction achieves the pending_user_transfer_start status, so that it should throw an error in case it is still missing once on the pending_user_transfer_start status.
This is what this PR is telling me: https://github.com/stellar/kotlin-wallet-sdk/pull/136/files

Opened PR for the TS Wallet SDK here: https://github.com/stellar/typescript-wallet-sdk/pull/164

Above PR is merged.


Allow All rule for GKE VPC

@fhennig asked if the GCP GKE VPC could please have an "allow all rule" in order to access something from the outside.
Here are the corresponding Terraform docs:
https://registry.terraform.io/providers/hashicorp/google/latest/docs/data-sources/compute_network
Here is the line in our templates where the network is defined:
https://github.com/stackabletech/t2/blob/d4b3537d3a97229852a1e127e1050039c9cd6b14/templates/gke/main.tf#L46

The rule was added to the GKE clusters and it worked when we configure a service of type LoadBalancer. The ticket will remain open until the devs tell me that it works.

T2 has to be hotfixed with a 3.9.1 because of this change whic is currently only in the container:
# Allow all for external access in tests
resource "google_compute_firewall" "rules" {
  name                    = "${local.cluster_name}"
  network                 = "${local.cluster_name}"
  priority                = 0
  source_ranges           = ["<IP_ADDRESS>/0"]
  depends_on              = [ google_compute_network.vpc ]

  allow {
    protocol  = "all"
  }
}

fixed in T2 3.10.0


[Bug Report]: Lit is built in development mode when it should be in production mode.

Steps to reproduce
1 - npm create farm@latest
2 - Select Lit
3 - npm install
4 - npm run build
5 - npm run preview
Reproduce link
No response
What is actually happening?
The message appears in the console:
index_419a.bae49b92.js:13 Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
And the website it refers to says:
All the Lit packages are published with development and production builds, using Node's support for export conditions.
The production build is optimized with very aggressive minification settings. The development build is unminified for easier debugging and includes extra checks and warnings. The default build is the production build, so that projects don't accidentally deploy the larger development build.
You must opt into the development build by specifying the "development" export condition in tools that support export conditions, such as Rollup, Webpack, and Web Dev Server. This is done differently for each tool.
System Info
System:
    OS: Linux 5.15 Ubuntu 24.04.1 LTS 24.04.1 LTS (Noble Numbat)
    CPU: (16) x64 AMD Ryzen 9 7940HS w/ Radeon 780M Graphics
    Memory: 13.76 GB / 14.50 GB
    Container: Yes
    Shell: 5.2.21 - /bin/bash
  Binaries:
    Node: 18.19.1 - /usr/bin/node
    npm: 9.2.0 - /usr/bin/npm

Sorry, I already found how to do it. The problem is that it's not well documented.
The solution is:
import { defineConfig } from '@farmfe/core';

export default defineConfig({
  compilation: {
    resolve: {
      conditions: ['production'],
    }
  }
});

However, the documentation states:

My apologies.


adding the connection profile

Still working on this, might need some more changes hold on!! Do not merge yet.

LGTM


Save references to instances of extensions

I wrote an extension that has some of its own state, which I wanted to access. However, it seems like Chessboard.js does not store references to the instances of extensions it creates with new extensionData.class(this, extensionData.props), so it is not possible to access my extension's data. Or, at least I couldn't figure out a way without doing something a bit hacky, like passing a callback to the extension props that would allow it to send a reference to itself to the outside world.
I noticed that there was an unused this.extensions = [] variable in the Chessboard constructor, so I feel like maybe that is the intended place to store those references. This pull request does so.
It also seems like there is a very small chance that extensions could get garbage collected on low-memory machines, if there is no saved reference to them. This pull request should also prevent that potential issue.

Thanks. The list this.extensions was actually meant to store the references. I merged your pull and published it as v4.3.8.


LazyGit seem not to work on my PC

Okay, this is my first time using aliases.
I cloned this Repo into a custom directory and ran ./_install in it.
I got the installation success message.
I tried to run the short commands, but I got errors bash command does not exist
Can you provide a clearer installation method for aliases newbies?
Is there a directory i should clone to or  run ./_install?
Thank you!

Ideally it should work, did you try re-opening your terminal?

WINDOWS!
I think its working now, but it didn't work after i installed it.
Is that how it ought to be?
Thank you!

Great, It works after you re-open your terminal.

Updated Readme
Thank you :)


AddProvider for custom tag doesn't work with some custom types

Example struct field and type:
import "github.com/google/uuid"
...
type Product struct {
  ProductID uuid.UUID `faker:"google_uuid"`
}
...
_ = faker.AddProvider("google_uuid", func(v reflect.Value) (interface{}, error) {
  return uuid.New(), nil // to instantiate a new, random instance
})

Result:
panic: reflect.MakeSlice of non-slice type [recovered]
    panic: reflect.MakeSlice of non-slice type

What appears to be the problem:
If you look, google's UUID is defined as type UUID [16]byte.
It would appear that in setDataWithTag() the reflect.Indirect(v) is returning array, but if you were to do v.Kind() you would get uuid.UUID. In the switch statement you would arrive at the reflect.Slice, reflect.Array, call userDefinedArray(), and then arrive at the following line, where the panic occurs
array := reflect.MakeSlice(v.Type(), len, len)

So even despite adding the custom tag with AddProvider() and including the ability to create a new, random UUID, it never checks if there is a custom tag before going into userDefinedArray()
Proposal
Allow a user-defined tag (added with AddProvider()), to take precedence, and if the user provides that ability, check it first before defaulting to userDefinedArray().

I am about to open a PR that if acceptable to you will fix this particular problem. If you are okay with it, this could potentially be extended to work with other types (other than just reflect.Array, reflect.Slice)

fixed by #102


Add wsj0mix dataset

#897

Add wsj0mix dataset
Add test to test/torchaudio_unittest

as mentioned here, training on an open dataset like LibriMix would allow for more users to experiment with the dataset

thanks!


how to get meter offset onClick?

on _onLayerClick am getting coordinate and lngLat is there is anyway to get meter offset from origin?
usecase:render a scatterplot on clicked position
blocker: not able to get meter offset value

See https://github.com/visgl/deck.gl/issues/4589


In-App badge is blocking document view

Hello! 🚀
I'm faced with a problem - badge with read time info is blocking document view when app window is not in full-size mode, but with small width (something like sticky notes).
Just a little UX/UI issue :)

@tuftik I'm not treating Norka as a sticky notes application, more like a writer's editor. As a little option - you can move the mouse cursor over it and the badge will move to the other side. Maybe it is not the best solution, maybe :)
As a more consistent decision, I'm thinking to add margins to the bottom of the text. Not decided yet.

What about being able to move it to the top corner as a third option?


Initial Prepare and Finish steps implementation; VagrantProvision and run.sh enhancements

Updated: 2019-11-06T16:43+00:00

Updated with #32 and #31.

Feel free to merge this one....
Joined:  #32 and  #37

Resolved.

Tests are failing:
cannot import name 'join' from 'shlex'

/me added fixing commit @thrix PTAL.

Thanks Pavel. I've reviewed and tested the patch. Looks good and works. Have some improvement ideas but let's work them later. Squashed and after a couple of changes in dff8982 merged into master.

Example output of tmt run --verbose --all provision --how=libvirt looks nice:
/var/tmp/tmt/run-756
Found 3 plans.

/plans/basic
summary: Essential command line features
    discover
        how: fmf
        repository: https://github.com/psss/tmt
        revision: devel
        filter: tier: 0,1
        tests: 2 tests selected
            /one/tests/docs
            /one/tests/ls
    provision
    prepare
        Prepare: ansible = 'plans/packages.yml
    execute
        how: beakerlib
        overview: FF
        result: 0 tests passed, 2 tests failed
    report
    finish

/plans/helps
summary: Check help messages
    discover
        how: shell
        directory: /home/psss/git/tmt
        tests: 4 tests selected
            /help/main
            /help/test
            /help/plan
            /help/smoke
    provision
    prepare
        Prepare: shell = 'dnf copr enable -y psss/tmt && dnf install -y tmt
    execute
        how: shell
        overview: ....
        result: 4 tests passed, 0 tests failed
    report
    finish

/plans/smoke
summary: Just a basic smoke test
    discover
        how: shell
        tests: 0 tests selected
    provision
    prepare
    execute
        how: shell
        overview: E
        result: 0 tests passed, 0 tests failed
    report
    finish

Shows both supported prepares (shell & ansible) and passed, failed and errored tests.

great!


St Andrews Day (Scotland) - 30 Nov 2018

Important specifications
United Kingdom and County GB-SCT

For more information, see the CONTRIBUTING guide.
Description
For CountryCode.GB & County GB-SCT, the 30 Nov 2018 is not recognised as a public holiday?

Source:
https://en.wikipedia.org/wiki/St_Andrew's_Day_Bank_Holiday_(Scotland)_Act_2007


Investigate startup time of Dukweb.js on Chrome

The Dukweb.js example (http://duktape.org/dukweb.html) starts almost instantly on Firefox and Safari, however it takes over 8 seconds to start on Chrome.  It would be good to figure out what is going on and if anything can be done to speed it up.

This may be a problem with current Chrome, as Canary build doesn't seem to exhibit the issue.   Closing.


compile error while calling function

in tutorial（https://github.com/reelrbtx/SMACC#creatingaccessing-to-smacccomponents）
compile error in line this->requiresComponent(moveBaseClient_); like below
error: no matching function for call to ‘smacc_tutorial::BaseStateMachine::requiresComponent(smacc::SmaccMoveBaseActionClient*&, ros::NodeHandle&, std::__cxx11::string&, bool&)’
     base_type::outermost_context().requiresComponent(storage, nh, value, verbose);

...

error: no matching function for call to ‘processTransition(boost::statechart::transition<smacc::EvActionResult<smacc::SmaccMoveBaseActionClient>, smacc_tutorial::State2>*&, std::shared_ptr<smacc::SmaccStateInfo>&)’
     processTransition(dummy, sourceState);

could you please fix this bag

Could you please copy the complete code you used?
We are currently in an important refactoring and some code snippets you see in the readme.md file may be outdated.

Thanks for your reply.
I'm sorry about my explanation is not enough.
Here is the complete code.
#include <ros/ros.h>
#include <smacc/smacc.h>
#include <smacc/smacc_state.h>
#include <smacc_navigation_plugin/move_base_to_goal.h>
#include <smacc/interface_components/smacc_topic_subscriber.h>
#include <smacc/interface_components/smacc_action_client_base.h>
#include <smacc/interface_components/smacc_service_client.h>
#include <std_msgs/UInt16.h>
#include <std_srvs/SetBool.h>
#include <tf/transform_datatypes.h>

namespace smacc_tutorial{

//STATE
class State1;
class State2;

//STATE_MACHINE
struct BaseStateMachine
    : public smacc::SmaccStateMachineBase<BaseStateMachine, State1>{

  BaseStateMachine(my_context ctx, smacc::SignalDetector *signalDetector)
      : smacc::SmaccStateMachineBase<BaseStateMachine, State1>(ctx, signalDetector){
  }

  virtual void onInitialize() override{
  }

};

struct State1
    : smacc::SmaccState<State1, BaseStateMachine>{

  smacc::SmaccMoveBaseActionClient *moveBaseClient_;

  typedef mpl::list<sc::transition<smacc::EvActionResult<smacc::SmaccMoveBaseActionClient>, State2>> reactions;

  using SmaccState::SmaccState;
  void onInitialize(){
    ROS_INFO("Entering State1");
    this->requiresComponent(moveBaseClient_);
    goToEndPoint();
  }

  void goToEndPoint(){
    geometry_msgs::PoseStamped radialStartPose;

    smacc::SmaccMoveBaseActionClient::Goal goal;
    goal.target_pose.header.stamp = ros::Time::now();

    goal.target_pose = radialStartPose;
    goal.target_pose.pose.position.x = 10;
    goal.target_pose.pose.position.y = 10;
    goal.target_pose.pose.orientation =
    tf::createQuaternionMsgFromRollPitchYaw(0, 0, M_PI);

    moveBaseClient_->sendGoal(goal);
  }
};

struct State2
    : smacc::SmaccState<State2, BaseStateMachine>{

  using SmaccState::SmaccState;
  void onInitialize(){
    ROS_INFO("Entering State2");
  }
};
}//namespace smacc_tutorial

int main(int argc, char **argv){
  ros::init(argc, argv, "tutorial");
  ros::NodeHandle nh;

  smacc::run<smacc_tutorial::BaseStateMachine>();
}

Some code are changed from tutorial.

Hello.
We are in a process of updating the API so there are a few obsolete functionalities in your code.
A few notes about the issues in your code:

We replaced the concept of component for the concept of client (requiresClient instead of requiresComponent). The concept of component still exists but it is something more internals for subparts of a client.

Clients must be created in orthogonals, your code did not have any orthogonal. I added that functionality in the code showed below.

Another issue is that you used sc::transitions (boost::statechart transitions). That it is not used anymore. Instead, we have the smacc::transition class.

Finally, this is not mandatory but it is our convention: we usually put the "hard code" inside substateBehaviors instead of directly in States. You can use many substateBehaviors inside a state. Each substateBehavior goes usually inside an orthogonal (ie: Navigation Orthogonal)

In that substateBehavior you can also use the requiresClient functionality.
We keep using the state class essentially for the transition table declaration and the configuration of orthogonals and substates.
To do that we also use instead of methods onEntry or onInitialize we use the "static void onDefinition()" method to configure behaviors because this improve the visualization with the smacc_viewer. The main difference is that onDefinition of all states executes at the begining of the process while onInitialize and onEntry  execute when you are entering in that state.
Below I show you  the code adapted to the latest smacc code:
#include <smacc/smacc.h>
#include <smacc_navigation_plugin/move_base_to_goal.h>
#include <tf/transform_datatypes.h>

namespace smacc_tutorial
{

//STATE
class State1;
class State2;
//--------------------------------------------------------------------
class NavigationOrthogonal : public smacc::Orthogonal
{
public:
    virtual void onInitialize() override
    {
        auto *client = this->createClient<smacc::SmaccMoveBaseActionClient>();
        client->name_ = "move_base";
        client->initialize();
    }
};

//--------------------------------------------------------------------
//STATE_MACHINE
struct BaseStateMachine
    : public smacc::SmaccStateMachineBase<BaseStateMachine, State1>
{
    using SmaccStateMachineBase::SmaccStateMachineBase;

    virtual void onInitialize() override
    {
        this->createOrthogonal<NavigationOrthogonal>();
    }
};

//--------------------------------------------------------------------
struct SbState1 : public smacc::SmaccSubStateBehavior
{
    smacc::SmaccMoveBaseActionClient *moveBaseClient_;

    virtual void onEntry() override
    {
        ROS_INFO("Entering State1");
        this->requiresClient(moveBaseClient_);
        goToEndPoint();
    }

    void goToEndPoint()
    {
        geometry_msgs::PoseStamped radialStartPose;

        smacc::SmaccMoveBaseActionClient::Goal goal;
        goal.target_pose.header.stamp = ros::Time::now();

        goal.target_pose = radialStartPose;
        goal.target_pose.pose.position.x = 10;
        goal.target_pose.pose.position.y = 10;
        goal.target_pose.pose.orientation =
            tf::createQuaternionMsgFromRollPitchYaw(0, 0, M_PI);

        moveBaseClient_->sendGoal(goal);
    }
};
//--------------------------------------------------------------------

struct State1
    : smacc::SmaccState<State1, BaseStateMachine>
{
    typedef mpl::list<smacc::transition<smacc::EvActionSucceded<smacc::SmaccMoveBaseActionClient>, State2>> reactions;

    using SmaccState::SmaccState;

    static void onDefinition()
    {
        static_configure<NavigationOrthogonal, SbState1>();
    }

    void onInitialize()
    {
    }
};
//--------------------------------------------------------------------
struct State2
    : smacc::SmaccState<State2, BaseStateMachine>
{
    using SmaccState::SmaccState;
    void onInitialize()
    {
        ROS_INFO("Entering State2");
    }
};
} //namespace smacc_tutorial

//--------------------------------------------------------------------
int main(int argc, char **argv)
{
    ros::init(argc, argv, "tutorial");
    ros::NodeHandle nh;

    smacc::run<smacc_tutorial::BaseStateMachine>();
}

I already tested this code compiles and I uploaded it as a tutorial example to the repo. It may also be useful for you to have a look to the cmakelist.txt file and the package.xml.
https://github.com/reelrbtx/SMACC/tree/master/smacc_sm_examples/sm_smacc_tutorial_examples


I tried copy table row and paste

I tried copy table row and paste, but it not work, the table row information was not pasted into its columns respectively.
Copy row 3 and paste it, result:

Thank you.

Standard paste (ctrl+v) modifies contents of selected cell.
In order to replace full row use advanced paste (ctrl+shift+v). You can copy/paste any number of rows this way.

Very nice, ctrl+shift+v works fine.
Thank you.


'yield' and 'return' are both missing from completions

.

That's certainly not an enhancement... which build are you on?

PTVS.Dev.2015-05-28

Doesn't repro in the latest builds, so I'm guessing this was fixed with the async/await fix.


Breaking up large swagger.yaml files

Is there any way to break up large swagger.yaml files into smaller pieces? I've tried using external references but it doesn't seem like Connexion supports these. I've also tried using jinja features to break the swagger files up but this doesn't work (and its ugly).
Am I missing a feature that would let me do this? If not, is relative referencing a feature Connexion would be interested in? I know that the jsonschema library used internally supports relative referencing so it might not be too difficult to implement. If you guys are interested, I can take a crack at adding the feature.

@patrickw276 I think it's not supported right now in Connexion, but "people" might be interested in this feature. I personally don't have the need for it as IMHO "microservices" should not have large Swagger files :smirk:.

As @hjacobs said, one using Connexion might be interested in this kind of feature. It might be something interesting to support. Please send a PR and we will review. 😃

@hjacobs My use case doesn't involve very much processing but the model's schema is somewhat complex. It doesn't make much sense to break the API into smaller microservices (IMO).
I've started working on a PR where the swagger document's external references are resolved into a single dictionary before being passed to the swagger validator. For example:
# doc1.yaml
key1: value1
key2:
  $ref: 'doc2.yaml#/key3'

# doc2.yaml
key3: value3

will resolve to a dictionary that looks like
{'key1': 'value1', 'key2': 'value3'}

Recursive references will be handled by pointing the recursive $ref to its new location in the combined document. Do you guys see any issues with this approach? Also, I don't plan on implementing non-local reference resolution (e.g. using http).

A simpler way, since Connexion already uses Jinja2 for template rendering, would be making use of the {% include "something.yaml" %} directive. All necessary work to make this work is to configure the Template#environment attribute in the Connexion code to use the jinja2.FileSystemLoader loader. Then you would be able to break your Swagger/OpenAPI definition in several files.

@rafaelcaricio That would definitely be simpler to implement BUT you can get in to some weird issues with local references. These references would have to be declared relative to the complete concatenated document, not the document they actually exist in. I'm not sure how often this would be an issue in a real API but it's something to consider.
I favor the reference resolution approach I outlined above because it implements a feature as outlined in the Swagger/OpenAPI Specification.

I do not dislike your solution. I am just trying to show more possibilities. ✌
Anyway, where is this outlined in the Swagger/OpenAPI Specification?

@rafaelcaricio It's good to be open to other approaches, so I definitely appreciate the input (and all your guys work on Connexion in general).
The spec mentions them here and a few other places.

@patrickw276 Sounds good. 👍

If you are looking for an alternative while this gets baked in.  I used a node app to help because I have a swagger api that is split up across 15 to 20 files fairly large.
The tool I used is really simple to create a single swagger file that connexion will work with as it'll fully dereference pointers for you.
https://www.npmjs.com/package/swagger-cli
here's a quick start for you
npm install -g swagger-cli
swagger validate <path_to_root_spec>

Once it's validated it can make a single file doing the following
swagger bundle -r -o <output_path> <path_to_root_spec>

The -r is to fully dereference.

Out of curriosity, how is that handled in Zalando?
Is this file https://api.zalando.com/schema/swagger.json also bundled?

Looks like you can find more on the shop api here https://github.com/zalando/shop-api-documentation

@do3cc I personally don't know anybody in Zalando who splits up Swagger files (mostly it's "microservices", right?). Our RESTful API Guidelines also don't cover this.

I came to the conclusion that to do this cleanly, loading the individual files instead of bundling, the yelp swagger_spec_validator would need to support yaml directly. I opened up a PR on that repo but never got any feedback.
I do think there is a valid use case for this feature that can't be solved with microservices. I work with earth science metadata where the schemas can be quite complex. It wouldn't really make sense to break an api storing this data into microservices but breaking the swagger spec up could help with managing the complexity.

Any update on this? It is quite uncomfortable using a single file, why not allow multiple files as in the OpenAPI spec?

@advance512 it is not a matter of allowing or not. We don't mind to accept a PR that solves this issue. But so far, there is none.

@dwlocks I came here after foolishly replicating some of your research. I haven't yet looked into the swagger-spec-validator, but i was considering the following idea:
If I modify resolve_remote to treat scheme == '' as "this is a local relative file lookup" (and thus I don't have to give it 'file://' + abspath), then I can add a branch which does a regular open and tries to read yaml first if the extension is correct, then converts it to json.
I think this is all I would need. Let me know if you think it would not be sufficient.
I don't see this getting merged into the primary jsonschema branch anytime soon (would no doubt require handling all branches of that method correctly), but it would at least be something connexion users could use as well (by way of installing a specific branch).

Actually, looking here, it looks like the real solution is to override the RefResolver used by connexion, or possibly by swagger-spec-validator (don't yet know which of those is where it's literally invoked), so that it does sets base_uri correctly and reads yaml.

Would it be possible to continue to use a single swagger spec but integrate a tool that allows each endpoint or group of endpoints to be described separately and integrated to create the necessary connexion swagger file?
I've looked at swagger-aggregator and spec-synthase, the later of which looks the more hopeful. I may report back if I make any progress. At present the swagger spec for our API server is over 2,700 lines long, and I want to be able to refactor it so the Swagger specification can live in a directory tree with a parallel structure to the code.

@holdenweb,
I realized today a citation to my package Spec-Synthase, sorry by not have more documentation.
If you want to build the swagger.yml from command line, take a look at: http://spec-synthase.readthedocs.io/en/latest/usage.html
If you want to create spec in runtime and use it with connexion, you can see: https://github.com/MicroarrayTecnologia/spec-synthase/blob/master/tests/test_specsynthase.py#L20
We are using Spec-Synthase in production on Mozilla Application Update Service (mozilla/balrog), our scenario is share peaces of spec between a public and a admin API:
https://github.com/mozilla/balrog/blob/df92ab8ae523f7aedea7ed00b61b49a56dc56f0d/auslib/web/public/base.py#L30-L37
https://github.com/mozilla/balrog/blob/df92ab8ae523f7aedea7ed00b61b49a56dc56f0d/auslib/web/admin/base.py#L16-L29
Seems that spec-synthase fits well for your scenario, once you can have n-files describing paths, n-files describing responses, etc.

Another tool for resolving local references : https://github.com/wework/speccy

I am starting to think that this behavior is best left to a tool outside of connexion (like wework/speccy).
Otherwise we have to sort out the problems in #798 related to serving up all of the references, and making sure they are accessible to swagger-ui.
Thoughts?

@dtkav I just stumbled across this issue after running into it when trying to load an openapi spec with relative references. Use cases: multiple services that accept/return objects with the same model; authorization format; big regexs, etc.
Solutions involving the file:/ scheme or Jinja2 templating are a nonstarter (for me) because the definition files are no longer valid OpenAPI and I sacrifice portability.
Solutions involving speccy or other combination tools are kind of a bummer because it adds complexity to the build process.
TL;DR as a user, I would really like to see connexion support relative paths natively.

Just adding my 2 cents...
I do split api's into different yaml files, so that I have various small API's. If I would like to reuse, I simple merge them on the fly. Each micro-API should have its own namespace.

There's a tool called specsynthase that's good at merging specifications, detecting duplicated keys and the like and capable of validating the specifications it works with.
I've personally gone for a rather lightweight approach, where a package that implements a set of endpoints is defined by a paths.json file in the package's top-level directory. The definitions section is currently shared by all endpoints, as some definitions are common to many endpoints, but this isn't an absolute requirement of the design.
The endpoint set is defined as an extended flask.Blueprint and can be mounted at any point in the server's address space (which is what determines the path it gets associated with in the specification).

@holdenweb yep, more or less I followed same approach.

It appears that openapi-spec-validator now makes it possible to pass the spec_url, from which the base URI can be populated and relative refs generated.
See https://github.com/p1c2u/openapi-spec-validator/issues/3. The magic is to pass spec_url, like so: validate_spec(spec_dict, spec_url='file:///path/to/spec/openapi.yaml') (from README).
Although that change is old (Oct 2017), it was made after this thread started.
Like others, I'd love to see support for relative refs so that I can modularize schemas. The speccy and specsynthase routes seem like unfortunately workarounds.
Also, it's worth pointing out that the upcoming jsonschema draft (draft 8, I think) has language that says that rel refs should be resolved per RFC3986 (see section 4.2).

I had the same problem (no working relative file URLs), but based on the comment from @reece , I got it working with a patch of spec.py and json_schema.py.
HRogge@d173b3d12487de33a686c541ee90c25541a43c34
I use references to definitions inside JSON files, not to the JSON files itself ($ref: 'networkroutes.json#/definitions/Routes')

@HRogge based on your patch I would not expect swagger-ui to work. Do you use that feature?

You are right (just tested it), the opening pages looks right but I cannot expand the items... the patch is still a work-in-progress, at least I don't get Python exceptions anymore.

I got a little bit further HRogge/connexion@72d278ea0be45c36c19f0a3dae99c8127866bd7b by storing all loaded external references and providing them in the Flask API code.
But I still get an error with swagger-ui:
Resolver error at paths./domain.get.responses.200.content.application/json.schema.$ref
Could not resolve reference: Could not resolve pointer: /definitions/Domains does not exist in document
The Chrome developer console says "actions.js:145 debResolveSubtrees: don't have a system to operate on, aborting."
Any pointers how to continue with this?

I "resolved" the problem for me by writing a small tool that can combine the YAML openapi3 definition and the referred JSON documents into a single large document (things like JsonRef did not work). I still hope connexion and the swagger-ui will get the capability to handle split definitions by default in the future.
If there is still code missing on the connexion side of the problem I would be willing to look into it (my attempt to understand what the swagger-ui was doing was not very successful).

I "resolved" the problem for me by writing a small tool that can combine the YAML openapi3 definition and the referred JSON documents into a single large document (things like JsonRef did not work). I still hope connexion and the swagger-ui will get the capability to handle split definitions by default in the future.
If there is still code missing on the connexion side of the problem I would be willing to look into it (my attempt to understand what the swagger-ui was doing was not very successful).

can you share your tool

Another vote in support of supporting $ref properly, since that's what the OpenAPI spec calls for. I can't use the jinja solution as I'm using my OpenAPI definitions with Google Cloud Endpoints (but can and will use a launcher script to concat all the files together, for now). In particular, even with microservices, the definitions section will often be shared by services, so it'd be nice to have each service reference a common definitions file.
(also this project is great, thanks for the work on it!)

I just became the victim of the OpenAPI3 vs. JSON-Schema differences... sighwho the hell got the idea to use JSON-Schema in OpenAPI but not exactly JSON-Schema?
At the moment I am fighting with a more complicated schema that I would load in my patched connexion.

Important Github Issue for this one: https://github.com/p1c2u/openapi-core/issues/90
I have at least resolved the "schema validation" issue by modifying the meta-schema used by OpenAPI3... but this is definitely a hack. I still have to test if Connexion can still validate the input and output of my rest service.
openapi3_schema.diff.txt

I added a little bit more code to the resolve_refs() function in json_schema to recursively update all   references... see 20574738c0454d82ca9d5ecea5fb06ae9f957fc1
this, together with the modified openapi3 schema mentioned above allowed me to use a Connexion based rest service with references (3 layers deep) in the openapi definition.
openapi => json-schema-1 => json-schema-2

I just got a version of Connexion running with an integrated (patched) openapi_spec_validator... which is both processing the YAML/JSON schemata with relative references and has a working REST output validation (at least it looks like it).

Any ETA of getting this merged and release soon?

@HRogge that's awesome!

I just found out about prance today (https://github.com/jfinkhaeuser/prance/), basically it's a pure Python library that supports validating and bundling multiple OpenAPI spec files, so in theory you can use prance to link all yaml files and then pass the compiled yaml to connexion, without having to rely on external tools like speccy or swagger-cli. This also means the linking step can be done during server startup. There's a ticket complaining about poor performance though (jfinkhaeuser/prance#11), but I hope the issue has been resolved.

Any ETA of getting this merged and release soon?

Impacted by the same issue, eagerly awaiting the fix.

For anyone looking for a solution, you can use prance to merge separate OpenAPI files into one before feeding it into connexion. Since prance is written in Python, you can use it directly during the app startup, instead of having to run external tools like speccy or swagger-cli. For example:
import connexion
import prance
from typing import Any, Dict
from pathlib import Path

app = connexion.App(__name__)

def get_bundled_specs(main_file: Path) -> Dict[str, Any]:
    parser = prance.ResolvingParser(str(main_file.absolute()),
                                    lazy = True, strict = True)
    parser.parse()
    return parser.specification

app.add_api(get_bundled_specs(Path("openapi/main.yaml")),
            resolver = connexion.RestyResolver("cms_rest_api"))
app.run(server = "tornado", host = "<IP_ADDRESS>", port = 5000)

get_bundled_specs() resolves the file specified in the argument and returns a resolved OpenAPI dict which then can be passed to connexion.App.add_api()

Thank you @tuankiet65. That worked beautifully (well almost).
Is there an improvement in connexxion/prance where in Swagger UI instead of referring to the models as Inline Model nnn, they use the actual name. The generated swagger file (virtual swagger.json) does not seem to have those names like that.

@tuankiet65 Very good stuff. It's perfect for me without the strict=True :)

Used @tuankiet65's solution with a few tweaks:
def get_bundled_specs(main_file: Path) -> Dict[str, Any]:
    parser = prance.ResolvingParser(str(main_file.absolute()),
                                    lazy = True, backend = 'openapi-spec-validator')
    parser.parse()
    return parser.specification

Unfortunately the solution using prance does not work for us since we use recursive schema's.
I.e. something like the following won't work:
    RecursiveItem:
      title: Tree of items
      type: object
      properties:
        name:
          type: string
        children:
          $ref: "#/components/schemas/RecursiveItemList"
      additionalProperties: false
    RecursiveItemList:
      title: collection of recursive items
      type: array
      items:
        $ref: "#/components/schemas/RecursiveItem"

@tomghyselinck Anything you guys ended up doing to work around it?

I decided not to look at OpenAPI again until they got to version 3.1
I lost too much time on the inconsistencies between JSON-Schema and (OpenAPI3)-JSON-Schema.

Hi @tahmidefaz, unfortunately I haven't been able to work around it.
We haven't split up the (meanwhile very large) OpenAPI yaml file.
I have been playing around with the conexxion and openapi-spec-validator code but haven't been able to make some mature changes.

@tomghyselinck thank you for the reply!

i took over the maintenance of prance and started to work towards supporting recursive refs and openapi 3.1

Recursive references are going to be supported very shortly. There is already an alternative parser ready that handles this correctly.

Thank you for fixing this. Any clue when this will be released?

Thank you for fixing this. Any ETA on when to expect recursive references to work?

@Glutexo is this already part of the latest released version?

@advance512 recursive references are part of the latest release, but it needs a correct parser configuration atm

One more way to use $ref with separate files:
import connexion
from connexion.json_schema import default_handlers as json_schema_handlers

app = connexion.App(__name__, specification_dir='swagger/')

json_schema_handlers[''] = lambda uri: json_schema_handlers['file'](str(app.specification_dir / uri))
app.add_api('spec_v1.yaml')

I tested it on connexion==2.13.1. Not sure how it will work with other versions.
Perhaps someone will be useful.

i really do wish this feature is implemented too... i am involved in a large scale project where there are multiple developers contributing to the development so having a single YAML file is too huge and difficult to manage... so we split it into multiple files by different modules... but they are all considered as part of the same system.
the way we have to deal with this is to have a script to generate flask server for each YAML file and having each of them run using different ports... ideally we would want to be able to just run a single flask server so that we don't have to deal with a different port for each module..

The above solution (https://github.com/spec-first/connexion/issues/254#issuecomment-1133843523) help load multiple yaml files referenced from a main one, you also need this:
def my_resolve_refs(spec, store=None, handlers=None):
    """
    Resolve JSON references like {"$ref": <some URI>} in a spec.
    Optionally takes a store, which is a mapping from reference URLs to a
    dereferenced objects. Prepopulating the store can avoid network calls.
    """
    from connexion.json_schema import default_handlers

    spec = deepcopy(spec)
    store = store or {}
    handlers = handlers or default_handlers
    resolver = RefResolver("", spec, store, handlers=handlers)

    def _do_resolve(node):
        if isinstance(node, Mapping) and "$ref" in node:
            path = node["$ref"][2:].split("/")
            try:
                # resolve known references
                node.update(deep_get(spec, path))
                del node["$ref"]
                return node
            except KeyError:
                # resolve external references
                with resolver.resolving(node["$ref"]) as resolved:
                    # if not fixed:
                    #     return resolved
                    # else:
                    return _do_resolve(resolved)
                    # endfix
        elif isinstance(node, Mapping):
            for k, v in node.items():
                node[k] = _do_resolve(v)
        elif isinstance(node, (list, tuple)):
            for i, _ in enumerate(node):
                node[i] = _do_resolve(node[i])
        return node

    res = _do_resolve(spec)
    return res

A slightly modified $ref resolver that is recursive, so if you see somewhere inside the files $ref: fileb.yml/MyObject it will know how to resolve it (even if its not on the main file.
Once you have this function in the code you can patch it by applying:
spec.resolve_refs = my_resolve_refs

Prior to calling add_api.
This is basically a combination of a few things I've found online that helped us manage it without forking connexion.

tried a bunch of the solutions here but couldn't get any to work.  opted for the quick and dirty approach as follows:
app = connexion.App(__name__, specification_dir='swagger/')
with open('./myapi/swagger/myapi_merged.yml', 'w') as out, \
    open('./myapi/swagger/myapi.yml', 'r') as main, \
    open('./myapi/swagger/myapi_schemas.yml', 'r') as schemas:

    main_yml = main.read()
    merged_yml = main_yml.replace('{{schemas}}', schemas.read())

    out.write(merged_yml)

app.add_api('myapi_merged.yml')

so the last part of main.yml is:
components:
    ...
    schemas:
    {{schemas}}

don't need to use {{schemas}} but figured jinja syntax would be most readable but any unique flag here works.

Is referencing not working yet? The issue seems a bit confusing due to some answers in which it was supported and merged, but not working?


python3Packages.zwave-js-server-python: 0.25.0 -> 0.25.1

Motivation for this change
Update to latest upstream release 0.25.1
Change log: https://github.com/home-assistant-libs/zwave-js-server-python/releases/tag/0.25.1

Related Home Assistant change: https://github.com/home-assistant/core/pull/51097
Target Home Assistant release: current (only dependency update, no code changes)

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Added a release notes entry if the change is major or breaking
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 124856 at 67f3bc79 run on aarch64-linux 1

1 package failed to build:

home-assistant

2 packages built successfully:

python38Packages.zwave-js-server-python
python39Packages.zwave-js-server-python

Note that build failures may predate this PR, and could be nondeterministic or hardware dependent.
Please exercise your independent judgement. Does something look off? Please file an issue or reach out on IRC.

I have cherry-picked this change into my staging tree, thank you!


OpenWhisk should provide the sequence activation id when an action is invoked via a sequence

Per discussion with @csantanapr on Slack, actions can get access to the ID of their current activation, but not the ID of a sequence if they happen to be running inside one. That data should be visible as well.

sequences can be nested.
do you mean "outermost sequence id"?

In my mind, only the immediate parent.

Innermost, hmm. I would have thought outermost as Steve did.
Can you record the motivation here if there is one from slack so we have the history.

So first - I can definitely see both views here. Not saying I'm definitely right. :) Here is my motivation.
I've got an a sequence that looks like this:
X is - figure out a search term ("foo") and return it
Y is an external Twitter page that takes a term and returns an array or results
Z stores the results, BUT, I want to remember that I searched for "foo" so I can record that with each result.
A Forwarder should handle this, but is a bit complex to use (I say this even though I've written a blog post on it :). What I'd love is some ability to say, "For this sequence, store the value 1 in some global variable X." To do this, I was going to maybe use Redis, but I'd need a unique ID to store the value since I could have multiple activations at once. A unique sequence ID would do it.
p.s. Even better would be a new, second argument to OpenWhisk actions for context. Something we could read/write to in our more complex sequences.


update requirements yaml and rebuild package

Update to Omnisci 5.4
Updates needed by Ibis/Holoviews etc

@xmnlab can you help @kcpevey on this. This should happen after https://github.com/Quansight/omnisci-examples is updated

The ibis-hv update is still in PR https://github.com/holoviz/holoviews/pull/4517 . The OmniSci 5.4 update can  be tested by using the latest omnisci docker container. The mac preview hasn't been updated for 5.4 yet.

The package is updated and released (https://github.com/Quansight/omnisci-datascience-installer/releases/tag/0.0.4)
The notebook 3 from the example repo was tested with success.
The mac preview also was tested using the sh installer with success.

I had to make some updates for the presentation. Here are some notes on the additional stuff I had to use:

holoviews from PR https://github.com/holoviz/holoviews/pull/4517
ibis - from commit 10d40305defc7337d217b595c4b6b74e66d153da
hvplot from PR https://github.com/holoviz/hvplot/pull/507
python-graphviz
pydot
geoviews ( will pull in holoviews which you'll have to manually remove with --force)

ok @kcpevey I will update the recipe for that. thanks!

This has been completed.


Deploy to an Android App

Deploy the Generated WebApp to an Android Application (Preferably Flutter).

@Vamsi995 are you still willing to work on this issue as proposed in your report?

@Vamsi995 are you still willing to work on this issue as proposed in your report?

Preferably be needing another repo to create this flutter application.

Preferably be needing another repo to create this flutter application.

Should we go ahead with it or drop it?
Another repo? Why is that??
I think you can create a folder called FlutterApp and get going with adding all the files in there.

Should we go ahead with it or drop it?
Another repo? Why is that??
I think you can create a folder called FlutterApp and get going with adding all the files in there.

Because there are a lot of files. Also the interface is going to be pretty intuitive, similar to streamlit.

Because there are a lot of files. Also the interface is going to be pretty intuitive, similar to streamlit.

Because there are a lot of files. Also the interface is going to be pretty intuitive, similar to streamlit.

Thats all right. You can create a separate folder if required. As of now I don't think a separate repo is required.

Because there are a lot of files. Also the interface is going to be pretty intuitive, similar to streamlit.

Thats all right. You can create a separate folder if required. As of now I don't think a separate repo is required.

Cool okay will make it before tonight.

Cool okay will make it before tonight.

Great. I'm keeping this Issue open and removing the wontfix label then!

Great. I'm keeping this Issue open and removing the wontfix label then!


Add view objects.

This commit includes:

addition of view objects, BaseItems, Basekeys and BaseValues to base.py
integration of view objects into BaseDict
added and improved documentation to accommodate the above changes
adjustments to TestGroups to accommodate the above changes
simplification of BaseGroups.asDict

@benkiel I'll revise the documentation for BaseGroups and BaseLib once this is merged.


People who want to script the Key Vault & certificate import need these two lines

They need to be placed right after the New-AzKeyVault call.  To retrieve the $UserPrincipalName value one needs to run Get-AzADUser.
# Enable access to Key Vault
Set-AzKeyVaultAccessPolicy  -VaultName $VaultName  -ResourceGroupName $KeyVaultResourceGroupName  -UserPrincipalName $UserPrincipalName  -PermissionsToCertificates get, list, delete, create, import, update, getissuers, listissuers
Set-AzKeyVaultAccessPolicy  -VaultName $VaultName  -ResourceGroupName $KeyVaultResourceGroupName  -UserPrincipalName $UserPrincipalName  -PermissionsToSecrets get, list, set, delete

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: e302570c-50f7-af0d-ab7c-62845ecd35cb
Version Independent ID: 679e51cc-2123-adb8-abe2-1c8bbacf46c3
Content: Create a cluster using certificate common name - Azure Service Fabric
Content Source: articles/service-fabric/service-fabric-create-cluster-using-cert-cn.md
Service: service-fabric
GitHub Login: @athinanthny
Microsoft Alias: atsenthi

Hi @eugen-nw, thanks for your feedback. When I tried to reproduce the error I found it was not necessary for me to modify the access policy after creating the Key Vault, and I was able to run the following Import-AzKeyVaultCertificate command just fine. After confirming in the portal that I had the required permissions by default I wonder if different subscriptions may have different default permissions when creating key vaults. I will find out more and follow up- thanks again for your feedback.

You need to have someone log in who has “reader”/no role on the Key Vault resource in order to get a repro.

@eugen-nw After review we've decided this isn't a mainstream enough scenario to warrant calling out in the document. Thanks for your feedback as always.
#please-close


[Question] Why main dispatcher?

Hello,
Can you explain me something.
I changed this line
https://github.com/navi25/RetrofitKotlinDeferred/blob/master/app/src/main/java/io/navendra/retrofitkotlindeferred/ui/MainActivity.kt#L27
into
GlobalScope.launch(Dispatchers.Default) {
And both solutions works.
Why coroutine from Main Dispatcher did not return NetworkOnMainThreadException ?
This network call is called from Main thread.

I haven't had a chance to go deep into understanding the inner workings of dispatchers but my wild guess is that Dispatcher is the one who handles the lifecycle of the Coroutines and related thread pool. But this is just my guess. This is not backed by any documentation or tech article. And hence Dispathcers.Main means that the main thread will be handling all the related coroutines lifecycle and resource.
Also between which one to choose between IO/Main/Default, I think this tweet from Chris Banes will be helpful

And also checkout this documentation to understand more about these:
https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines/-dispatchers/index.html


Hide deprecated blocks

In earlier versions of App Inventor, the deprecated flag was stored as
the string "true" or "false". More recently, we made the flag output a
Boolean rather than a string (i.e., true or false). However, the
code to handle creating the blocks for the drawer wasn't updated to
handle this scenario. Luckily, it was a sensible fallback such that
the block showed, but that means that deprecated blocks show when they
shouldn't. This change fixes this by checking for both the string
version (to support extensions that use the old format) and the
Boolean version.
Change-Id: I6ae272d8e36887ea4259a7948a56badb62f817d6

Blocks #1907


Fix for broken three-point example

@DanHickstein If you could verify that the three-point example compiles properly with these changes, that'd be great.

Yeah, it looks pretty sweet!
You can check for yourself: go to the docs directory and use
make clean
make html

or, try the new livehtml
make livehtml

I'm not seeing the three_point example in there. Do I need to add something to an index somewhere?

Oh, the three-point example was living in the transform_methods/three_point.rst. So, it appears as part of the description of the three-point method. It should also be included with the other examples. To do that, you need to add a line to examples.rst and then add an example_three_point.rst, following the convention of the other examples.

Ah, I see. It looks really neat! I'm not familiar with the liveupdate thing - if we change the source code, will this update in real time? (If so, that's pretty freaking cool!)
For some reason, the example plot crops out the legend of the second subplot

Hmmm, it does crop out the legend. Probably because it's outside of the region of the axes.
And yes, the make livehtml uses sphinx-autobuild to detect when you save changes to any of the files and to automatically re-build the documentation. It typically works really well, but occasionally it will have a glitch and you will need to make clean and make livehtml again. I included this info here: https://github.com/PyAbel/PyAbel/blob/master/CONTRIBUTING.rst#documentation


Registering in DevCenter, incorrect link?

The readme referes to "https://dev.live.com/" in this paragraph: "OneDrive API requires to register an application in DevCenter, providing you with client_id and client_secret strings, used for authentication."
which seems to be changed after the readme has been updated.
Anyway, I've reached this link "https://account.live.com/developers/applications/create" which seems to be the intended one.

Indeed, it's been years since I've pasted that url, and the one you propose seem to work way better these days.
Updated now to use that URL everywhere dev.live.com was used before, thanks!


cleanup(libsinsp): cleanup more memory read/writes in filterchecks

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind cleanup

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area libsinsp

Does this PR require a change in the driver versions?
No
What this PR does / why we need it:
Part of #1470 . This cleans up more accesses and uses the appropriate function when creating events not coming from the drivers
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

NONE

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [LucaGuerra]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.15.0

LGTM label has been added.  Git tree hash: 30ca255d49e54da1af0ec8848bb4619268f61fe8

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,LucaGuerra]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, incertum, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,LucaGuerra,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@FedeDP could you git approve?

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, incertum, LucaGuerra
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,LucaGuerra,incertum]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


add pdf option

pages should include a "View as PDF" button

closed as per https://github.com/ODU-CGA-CubeSat/mission-conops/commit/a362005e3dc78346c3070b6d34be18b6aeac02db


MESSAGE_UPDATE can fail to parse

I was told to open a issue a while ago, like actually 5 hours ago: http://hastebin.com/woxakufeyi.php

Thanks! Fixed!


V3 0 release

Independent SMS, Voice and Verify APIs with tests
Getters/Setters to extract/rewrite custom attributes
PSD2 Verification support
Dropping support for Python 2.7
Roadmap to better error handling

Hmm, looks like these changes have already been made to the repo and this PR can be closed.

These merge commits were added into this branch cleanly.

https://github.com/Vonage/vonage-python-sdk/pull/165/files

@hugovk Not really. The changes you see in this PR are a work in progress. If you notice well, the current SDK supports both syntaxes, using the SMS, voice and verify classes and the previous syntax with these methods in the client. So far what you see in here, like I said, as a work in progress includes support for classes without these methods in the client which is our roadmap for future versions.


Remove Crashlytics Answers and Beta

Don't think we need these.

Anyway to just remove Beta?

Heh, crashlytics-core still depends on Answers anyway :(
So sure, we can keep it enabled :D

File ...storage/Storage.java (not in diff) was modified. more

Misses +3
Partials 0
Hits -3

@@             master       #721   diff @@
==========================================
  Files           482        482
  Lines         21008      21008
  Methods           0          0
  Messages          0          0
  Branches       2957       2957
==========================================
- Hits           6452       6449     -3
- Misses        14556      14559     +3
  Partials          0          0

Review [#721][cc-pull] on Codecov

Powered by Codecov. Last updated by [b549aa4...669b87e][cc-compare]
[cc-base-branch]: https://codecov.io/gh/edx/edx-app-android/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/edx/edx-app-android/compare/b549aa472e5052ac3d6a1ff202adb5f783b85943...669b87ec98673d0ed5448862a17ecfef2a822c02
[cc-pull]: https://codecov.io/gh/edx/edx-app-android/pull/721?src=pr


Remove usages of unsafe lifecycle methods

React team recently published a blogpost: https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
TL;DR: cWM, cWRP, and cWU methods are considered unsafe for future async rendering and will be deprecated soon. The recommended way for open source maintainers to deal with it is to use react-lifecycles-compat package and migrate to new static getDerivedStateToProps method

Thanks for the heads-up.
On Thu, Mar 29, 2018 at 8:53 PM Filipp Riabchun<EMAIL_ADDRESS>wrote:

React team recently published a blogpost:
https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html
TL;DR: cWM, cWRP, and cWU methods are considered unsafe for future async
rendering and will be deprecated soon. The recommended way for open source
maintainers to deal with it is to use react-lifecycles-compat
https://github.com/reactjs/react-lifecycles-compat package and migrate
to new static getDerivedStateToProps method
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google-fabric/velocity-react/issues/236, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AAP65RoHC-JGextSUWng7JtAmTe9IdXEks5tjYH5gaJpZM4TBK-7
.


Feature Request: Emmet support

Emmet support will be highly appreciated.

Sorry. Found #2870 already open..


docs(migration): update common parameters for local config file

Note: examples have not been tested yet, I will do it on Wednesday.
Based on https://help.sumologic.com/docs/send-data/use-json-configure-sources/#common-parameters-for-log-source-types

I fixed errors in the examples.


Rhino: Downgrade required Grasshopper and RhinoCommon versions to 6.28.20199.17141

Hi,
Using the latest RhinoCommon and Grasshopper versions causes problems for institutional Rhino installations that aren't completely up-to-date. Compiling GrasshopperAsyncComponent and ConnectorGrasshopper with Grasshopper and RhinoCommon version 6.28.20199.17141 doesn't seem to cause any issues and would help with broader compatibility for those of us with slower update cycles :)

I don't see blockers to this, it's been raised before too!

On the way to get this merged today! Should be out in the next release


feat(detector-aws): add DetectorSync implementation for EC2 detector

Context
Another PR moving away from the deprecated Detector interface in favour to the DetectorSync interface. This time is for AWS EC2 detector and it might help a bit in https://github.com/open-telemetry/opentelemetry-js/issues/3582
Not doing all detectors at once:

detectors are independent from each other
smaller PRs for faster reviews

Short description of the changes

add AwsEc2DetectorSync class and instance
make AwsEc2Detector reuse the new sync instance
update tests

Note: since this package is marked as stable (major version is 1) we are doing a non breaking change by adding the new class and mark the current as deprecated. The async detector changes behavior, it does not throw anymore, and it was discussed in last SIG meeting (2024-07-31). The outcome was we're okay with that.
A couple of PRs will follow:

one to suppress internal tracing.
one to add the sync detector to auto-instrumentations package.

closed in favour of #2376 following this suggestion


AJAX not allowed for POST and PATCH even though it works for GET, PUT and DELETE

dependencies:
"symfony/symfony": "3.2.*",
"nelmio/cors-bundle": "^1.5",
For POST and PATCH methods:
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://test.dev' is therefore not allowed access.
GET, PUT and DELETE are working properly
I am using Angular4 on my front (Just in case...)

after an evening on this issue, i noticed that for angular 4, you need to add the content-type in the allowed_headers when performing POST request
           allow_headers: ['X-Custom-Auth', 'content-type']


Settings listed as 'General Module Settings'

For some reason the Dynamic Illumination settings heading shows as 'General Module Settings'

This seems to be fixed now. Closing and will reopen if needed


Report partial success properly

This adds two columns to the CSV report to indicate the number of metadata records in the file, and the number successfully imported. The overall 'success' flag is only set if there are no errors, but it's now possible that a partial import has worked and picked up some but not all of the metadata objects in the file, this allows us to see this.

Looks good, thanks for that helpful addition!


Cannot register with local username & password - must use social media

I know we have the code + db support for this but can we add UI support to login via creating a local user name and password?  Many volunteers do not want to/trust the connecting to social media accounts to log in.

I was wondering about this. It sure would make local testing easier if we had an option to create local accounts.   I will take this on.

thank you @dpaquette we already have it in some ways given the<EMAIL_ADDRESS>sample user so hoping its just UI mostly.  Thanks again

Verified working