Very rapid transactions cause transaction lock-out

How to reproduce
I was looking into how to have changes to the range provider instantly update the chart and was pointed to use ExtraStore and running transactions to update the extras -> extraStore as the range changes. That solution worked great, however, I found that when I rapidly updated the transactions I would get into a state where I was completely locked out from all transactions: including mutations to the values. Specifically, the UI element facilitating rapid update was a range slider.
I created this MRE which demonstrates this. I've updated this since the original issue slightly
The MRE contains two UI control sliders:

The first shuffles the x-values when changed.
The second updates the x-axis range when changed.

In both cases (I originally observed the issue with just the x-axis range), updates are reflected when you click. If you drag, the UI very quickly locks up, and any subsequent clicks or drags will fail to do anything.
https://github.com/user-attachments/assets/c9da50ce-c9c3-4d02-aa98-5dd0addcef4c
Observed behavior
Rapidly changing a key to the LaunchedEffect which results in modelProducer.runTransaction updates breaks all subsequent updates.
Expected behavior
Rapidly changing a key to the LaunchedEffect which results in modelProducer.runTransaction updates should not break subsequent updates.
Vico version(s)
2.0.0-beta.2
Android version(s)
33
Additional information
Physical Samsung Galaxy S23 device.

I have also found another case that triggers this, where I run a transaction on zoomState.value change to add that value to the ExtraStore. That triggers too rapidly on zooming in and so this state occurs.

I noticed that things also similarly go awry for likely the same reason when zoomState.value is added as a key to the LaunchedEffect which runs a transaction. The idea for doing that would be if you wanted to put the zoom state value into the ExtraStore. You would do that if you wanted something to be the same size across zoom levels, like the space between bars in a bar chart.

Hello, @Tyler-Lopez. Thank you for the report. We'll look into it.

if you wanted to put the zoom state value into the ExtraStore. You would do that if you wanted something to be the same size across zoom levels, like the space between bars in a bar chart.

Extras aren't needed for VicoZoomState.value — you should use it directly. More importantly, the particular solution you've described is a workaround that should be avoided. The definition of a zoom factor is that the content is scaled proportionally. If you interfere with this by changing the intrinsic size based on the zoom factor, then unexpected behavior may occur. It's essentially fighting against the zoom system. Please open a feature request for zoom-independent column spacing, so this is implemented at the library level in a correct manner.

Hello! Please also note that for persistent extras—that is, extras added on every Transaction—the ExtraStore.get operator function is preferable to ExtraStore.getOrNull. Persistent extras are guaranteed to be present in the ExtraStore. ExtraStore.getOrNull is intended for extras that are added conditionally.
Thus, the CartesianLayerRangeProvider definition from the example provided can be simplified as follows:
object : CartesianLayerRangeProvider {
    override fun getMinX(minX: Double, maxX: Double, extraStore: ExtraStore) =
        extraStore[xAxisRangeKey].start.toDouble()

    override fun getMaxX(minX: Double, maxX: Double, extraStore: ExtraStore) =
        extraStore[xAxisRangeKey].endInclusive.toDouble()
}

Vico 2.0.0-beta.5 fixes this.
Also, please note that the ExtraStore.get observation from this comment also applies to the MRE shared here: extraStore[...] should be used instead of extraStore.getOrNull(...).


USERNAME_NOT_FOUND for created AWS IAM role user

After creating an AWS IAM role user using the CLI, describing the user returns this error.
To Reproduce
Command:
atlas dbuser create readWriteAnyDatabase --username arn:aws:iam::123:role/roleName --awsIAMType ROLE

Output:
Database user 'arn:aws:iam::123:role/roleName' successfully created.

Command:
atlas dbuser describe arn:aws:iam::123:role/roleName --authDB \$external

Output:
Error: GET https://cloud.mongodb.com/api/atlas/v1.0/groups/111/databaseUsers/$external/arn:aws:iam::123:role%25roleName: 404 (request "USERNAME_NOT_FOUND") No user with username arn:aws:iam::123:role%2FroleName exists.

Expected behavior
The created user is found and described.
version info
$ atlas --version
atlascli version: 1.5.1
git version: homebrew-release
Go version: go1.19.6
   os: darwin
   arch: amd64
   compiler: gc

Hi @synapdk
Could you try the command atlas dbuser list and let me know if the username is the same as the one provided in your request?

Thanks @matt-condon. It did match yesterday. I'm not sure if it's related or a distraction, but I'm now getting this error for all commands: https://www.mongodb.com/docs/atlas/cli/stable/troubleshooting/#401--request--unauthorized---you-are-not-authorized-for-this-resource.
I verified the location of the config file as instructed there. I tried logging out and got a 500:
$ atlas auth logout
? Are you sure you want to log out of account<EMAIL_ADDRESS>Yes
Error: POST https://cloud.mongodb.com/api/private/unauth/account/device/revoke: 500 (request "UNEXPECTED_ERROR") Unexpected error.

And it seems to still have me logged in:
$ atlas auth whoami
Logged in as<EMAIL_ADDRESS>
Sorry if this is veering into support territory, but it does seem like there might be a bug somewhere here and I'm not sure what to try next.

I deleted my config.toml file and was able to log in again. Now I can verify the expected output in the users list:
$ atlas dbusers list
USERNAME                                                                            DATABASE
synap                                                                               admin
arn:aws:iam::123:role/roleName   $external

My actual role name has a couple of dashes in it and is 50 characters long, but doesn't seem to cause other issues.

Thanks for raising this @synapdk
I've had a look locally and can reproduce the same.
It seems to be a problem with our URL encoding in our Go SDK, which applies only for AWS IAM role users
I'll create a ticket and we can prepare a fix for the next release


Upgrade gradle and kotlin_version

Upgrade gradle and kotlin_version
move sdk to
sdk: '>=2.18.2 <3.0.0'
update compileSdkVersion to 33

Is the example project no good? I see it's all deleted in this PR - otherwise I could use this update to the package as well

This PR will not be executed?


Fixes #23

Thank you for this contribution.  I was using it for a project I was working on.  I updated the elasticsearch extension so that the unit tests would pass.  I also corrected a typo in the name of the unit test.

Hi! Just did the same things in my project when found that underlying elastic API is too old :)
And found this pr before start mine.
Just wanted to say: with synchronous elastic client this is really nice solution with scala Stream collection! Took note!
Bad thing that this PR is stuck so long time.

Sorry, I will look at this next week.

I merged your PR then realized that Source.unfoldAsync should work.

Nice.  That is probably a better solution.  Thank you for following up on this.


Item inspection duplicates event

When an item is used in the app it runs the inspection event twice. Very easy to recreate/no work around.

I've been seeing this as well.


README improvements

In this PR:

:trophy: badges for both godoc & travis
Simpler examples (with a reference to the full test case)
A note about VERSION.md
Syntax highlighting for code samples
Minor markdown syntax pet peeves (autolink is a Github-Flavored Markdown extension,  for example)

Note that #6, #7 and #8 are blockers for this :)

Beautiful :) thanks for merging all those so quickly!

No problem, thanks for contributing so much work to getting the full bindings working!
There's one failed build on Travis-CI, but I can't work out exactly what's going on with the gox command: https://travis-ci.org/kothar/brotli-go/jobs/91662546

There's one failed build on Travis-CI

It can safely be ignored: I included what I know about it in the .travis.yml file directly:
https://github.com/kothar/brotli-go/blob/9b9b3e7c676afd2fea8b7c83e3b70e6cfd14dd70/.travis.yml#L16
Maybe someone at @travis-ci can help us figure out why it happens? Is it because of my include-only usage of the build matrix?


Suggestions Works on Program Start but Stops after First Command

Issue
The autocomplete suggestions suddenly stop working after executing a few commands in aider. I cannot find a rhyme or reason. By suggestions, I am referring to the pop up mini window with function and variable name suggestions as I type.
Version and model info
Aider: 0.69.0
Mac OS 15.1.1
Tried multiple terminals

Thanks for trying aider and filing this issue.
The fix is available in the main branch. You can get it by installing the latest version from github:
aider --install-main-branch

# or...

python -m pip install --upgrade --upgrade-strategy only-if-needed git+https://github.com/Aider-AI/aider.git

If you have a chance to try it, let me know if it works better for you.

Thanks for the quick action. I will try the main branch out and report if it solved the issue.

Seems to have been fixed. Thanks!


Keep getting this error

Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/gradio/queueing.py", line 388, in call_prediction
output = await route_utils.call_process_api(
File "/usr/local/lib/python3.10/dist-packages/gradio/route_utils.py", line 219, in call_process_api
output = await app.get_blocks().process_api(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1437, in process_api
result = await self.call_function(
File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 1109, in call_function
prediction = await anyio.to_thread.run_sync(
File "/usr/local/lib/python3.10/dist-packages/anyio/to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "/usr/local/lib/python3.10/dist-packages/anyio/_backends/_asyncio.py", line 807, in run
result = context.run(func, *args)
File "/usr/local/lib/python3.10/dist-packages/gradio/utils.py", line 650, in wrapper
response = f(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/utils/_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
File "/content/Rerender-hf/app.py", line 290, in process1
global_state.update_sd_model(cfg.sd_model, cfg.control_type)
File "/content/Rerender-hf/app.py", line 110, in update_sd_model
model.load_state_dict(
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 2041, in load_state_dict
raise RuntimeError('Error(s) in loading state_dict for {}:\n\t{}'.format(
RuntimeError: Error(s) in loading state_dict for ControlLDM:
Unexpected key(s) in state_dict: "cond_stage_model.transformer.text_model.embeddings.position_ids".

thanks fort the info ❤ please try again


Prepare comments in literate programming style in script logs/anonymize_ccx_pipeline_log.py

Prepare comments in literate programming style in script logs/anonymize_ccx_pipeline_log.py

Updated via https://github.com/RedHatInsights/insights-results-aggregator-utils/commit/e300ffcd2712b8035faaefcdca5884e2d7f51a14


fixed auto-pull script

PR-Codex overview
This PR focuses on updating the branch existence check in is_branch_exist.py.
Detailed summary

Updated the command variable to use git ls-remote instead of git rev-parse to check if the branch exists.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@yegor256 Looks like I made a mistake with a git command for checking the existence of the branch. Could you please take a look?

@Graur thanks!


Need variable default presubmit checks

Observed behaviour
The default values of 100 for weight here:
https://github.com/google/fonts/commit/f4c4f1fcbc0d4ec0a194848c1d9683157e3e783e#diff-3ea59a8146af02854e2777c00c1c116f
Broke the Google Fonts data push:
Seeing this error: PublicSans-Italic[wght].ttf[Variable Font METADATA.pb weight class (100) isn't at the point nearest 'wght' default (400)
I changed the default to 400, which fixed things.
Expected behaviour
This error should be caught before it gets to Google Fonts.
Resources and exact process needed to replicate
I can help with testing on the Google Fonts side.

This has happened before so I'd like some clarification.
Current setup:
When we run gftools add-font on a font family, it will set the weight values in the METADATA.pb  so they're the same as each font's OS/2 usWeightClass value. Since many variable fonts do not contain a Regular master, the default master is often a Thin or Light (this is the case for Public Sans). This means these fonts have a usWeightClass of 100 which then generates us a METADATA.pb weight of 100.
So I'm wondering, should all variable font families set the METADATA.pb weight value to 400?

I can only speak to how things are configured today. We have checks in place that require the default weight to be 400 if that is in the weight range, or else, the available fallback weight nearest to 400 (e.g. 100, 200, ... 900).

Thanks @nathan-williams. Just for clarity, Rod recently removed the default_value from our VF  METADATA.pb files. Since these are now gone, I'm assuming that each METADATA.pb font's weight value should now be set to 400 since all our VFs do pass through 400?
e.g

name: "Kreon"
designer: "Julia Petretta"
license: "OFL"
category: "SERIF"
date_added: "2011-02-02"
fonts {
  name: "Kreon"
  style: "normal"
  weight: 300 <----------------------------- This should now be 400?
  filename: "Kreon[wght].ttf"
  post_script_name: "Kreon-Light"
  full_name: "Kreon Light"
  copyright: "Copyright 2018 The Kreon Project Authors (https://github.com/googlefonts/kreon)"
}
subsets: "latin"
subsets: "latin-ext"
subsets: "menu"
axes {
  tag: "wght"
  min_value: 300.0
  max_value: 700.0
}

Sorry for the late reply. That's correct, Marc!

The issue is that the "API default" is 400 but the 'zero origin' will often not be 400.
https://github.com/googlefonts/gf-docs/tree/master/Spec#font-zero-origin
https://github.com/undercasetype/Fraunces/issues/174#issuecomment-612296158

all our VFs do pass through 400

That is not guaranteed; there are some families in the github.com/google/fonts repo today for which this is not true.
Therefore as Nate said, the default weight should be 400 if that is in the weight range, or else, the available fallback weight (which means, a multiple of 100 between 100 and 900) nearest to 400.

@m4rc1e what do you propose to resolve this issue? :)

We could alter Fontbakery's metadata weight check so it doesn't use the usWeightClass value of the VF (current behaviour) but instead it uses 400 if the VF's wght range includes it or the closest value to 400 if it doesn't.


Fixes #1898. Add parameter to pass private key path to use when creat…

…ing a machine.
It is assumed that the corresponding public certificate will be the same file name + .pub
Signed-off-by: Jeffrey Ellin<EMAIL_ADDRESS>

@nathanleclaire hopefully this looks better.

This code already got two LGTM don't know why it hasn't been finished in #1898.
But let's merge it.

LGTM


Ensure that new pull request button works on forked forks owned by owner of the root

Prevent 404 on new pull request button on forked fork owned by the owner
of the root repository. Also ensure that the names make sense.
Fix #14921
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

it's actually really closely related.

:rocket:


ComputeCostData: don't return on prometheus errors

This will let cost-model run as only an exporter (without depending
on a Prometheus to query from). It will output allocation data
that is only comprised of requests for CPU and memory. This is
possible because of the recent change to ComputeCostData that
removes the dependency on Prometheus for CPU and memory requests.
Also refactored install docs for more clarity and to highlight the new exporter-only install method.
Tested on my cluster and I start seeing container_allocation metrics (without a configured Prometheus) for CPU and memory after this change.
The API of course does not behave properly and we could probably more gracefully signal that to the user. Thoughts?
Should ComputeCostDataRange also have this change applied? I believe only ComputeCostData is used for metrics exporting.

@nikovacevic @mbolt35 would either of you have time to give this a review this week?


zerossl ca: not every feature available for free

https://github.com/webprofusion/acme-clients/blob/1d12e15ffa48a3cd1cd4c9a23a1944f6091b0d44/src/_data/ca.json#L78-L82
this also applies to the point about their sustenance. their free plan just has 3 certificates without even SAN. https://zerossl.com/pricing/
OH, OK, I'm an idiot: they're only free if you get them through ACME: https://zerossl.com/features/acme/ (and that includes wildcards as well)
a probable pro of theirs could be their not being US based, a kind of legal redundancy, but being that their intermediate is signed by sectigo and I haven't found their own root... I'm not sure.

Thanks, yeah the current pros/cons are fairly subjective so happy to adjust them.


feat: add packages and tweaks to pi server

Add the rest of packages and tweaks to the pi server.

:tada: This issue has been resolved in version 1.15.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fix a typo in version 8.0.0 docs

Hello there Chris.
I have fixed a typo in the version 8.0.0 documents, Thank you.

Thanks, I'll merge this into the docs branch manually once I'm ready to push the docs.

Merged.moved.


i18n(fr): update reference/integrations-reference.mdx

Description (required)
Adds changes from #9240 to the French translation of reference/integrations-reference.mdx.

Related issues & labels (optional)

Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

fr/reference/integrations-reference.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


[Bug] Conflict with neorg capture buffers etc.

Whilst trying to open a capture buffer (Neorg gtd capture) whilst using neorg the error above is thrown about the window being closed immediately

Fixed it. But beacon.nvim will highlight a wrong position and the first WinEnter highlight can't be ignore even if ignore_buffers or ignore_filetypes is set. I think it's a conflict, but I didn't find out the reason, and it may involve the event scheduling of neovim, so I'm not going to solve it. I'm sorry it affects your use, but I plan to add a switch option to control WinEnter event. If you have any other ideas, please let me know.

@rainbowhxch thanks for looking into it. I just tried ignore_buffers = {'neorg://Quick Actions'} and that seems to work fine 👍🏾

@rainbowhxch so I've run into this issue with yet another type of neorg buffer it's quite blocking, and I'm wondering if there is any more general to handle this for example can I disable the plugin through an autocommand when I'm inside neorg buffers or can I use a regex like ignore_buffers = {'neorg://*'} or better still can you wrap the failing functions inside pcall so that it doesn't explode I really don't mind if it doesn't show the beacon inside neorg buffers, but this literally stops me from taking notes which is quite frustrating.

The ostrich strategy seem to make sence. I will wrap the functions inside pcall. Have you try ignore_filetypes = {'neorg'}, if it works, you can use it first and wait for me to fix it.

@rainbowhxch I've tried with ignoring neorg as a filetype and that doesn't work, unfortunately.

Unfortunately, such conflict can still occur even though pcall is wraped. I think the only way is to disable beacon.nvim completely in the norg files. Try vim.cmd [[autocmd BufReadPre *.norg lua require('beacon').beacon_off()]].

@akinsho Unfortunately, such conflict can still occur even though pcall is wraped. So i think the only way is to disable beacon.nvim completely in the norg files. Try vim.cmd [[autocmd BufReadPre *.norg lua require('beacon').beacon_off()]].

@rainbowhxch just tried the autocommand and that seems to work fine, thanks 👍🏾. I'm curious why the pcall still causes an error though (just actual curiosity, this solution is fine with me)

Beacon.nvim use a floating window to simulate cursor flashing (see here). And one feature of neorg buffer is that when user leaves the buffer, it will be automatically cleaned up (see here). Therefore, after entering the neorg buffer using commands such as Neorg gtd capture, beacon.nvim will first open a floating window, which will trigger the cleanup of neorg buffer and it will become empty.

@akinsho Beacon.nvim use a floating window to simulate cursor flashing (see here). And one feature of neorg buffer is that when user leaves the buffer, it will be automatically cleaned up (see here). Therefore, after entering the neorg buffer using commands such as Neorg gtd capture, beacon.nvim will first open a floating window, which will trigger the cleanup of neorg buffer and it will become empty. I can't find a good way to solve the conflict :(.


First attempt to update for 21w20a

This is a naïve but functional attempt to add support for the new 21w20a calling conventions to MC_1.17. Please feel free to change anything / let me know if you'd like to see implementation for ChunkStatus rather than just stubs, however this does compile and appear to work as well as it did on 21w19a.

Did you run gradlew check?

Yes, sorry for the delay, but ./gradlew check works without any issues reported.

Ok so for some darn reason, whenever I pull your branch, it doesnt let me build gradle bc of either a bad loom version or the wrong gradle version.
But your diff shows you didnt touch gradle wrapper's properties or build.gradle itself.


Expose param for publishing a service in a stopped state

When uploading the service definitions, it's possible to give an argument to publish the service, but not start it.  This should be exposed to the config file.

Fixed in #24


Implementation of plot_histograms function and Its Unit Tests

Added necessary packages to the module
Implemented plot_histograms function
Added unit tests for plot_histograms fucntion

Resolved merge conflicts


Continue if repo contributors are empty

Fixes #42
Proposed Changes

Continue if a repo's contributors are empty instead of panic

Readiness Checklist
Author/Contributor

[x] If documentation is needed for this change, has that been included in this pull request
[x] run make lint and fix any issues that you have introduced
[x] run make test and ensure you have test coverage for the lines you are introducing

Reviewer

[x] Label as either bug, documentation, enhancement, infrastructure, or breaking

@mister-ben Hopefully this works for what you are thinking.

Thanks, that works. Although I think the message to delete the repo and try again if you need the repo is at best confusing, and potentially dangerously misleading in case it's ever triggered by an unforeseen reason other than being an empty repo.

@mister-ben I updated to just remove that confusing line. I'm thinking that the notification that we couldn't get collaborators from the repo and the status code should be helpful without being misleading.

Creating a release to get this out there. Thanks!!


'helm test' ignores "helm.sh/hook-delete-policy"

Output of helm version:
version.BuildInfo{Version:"v3.5.2", GitCommit:"167aac70832d3a384f65f9745335e9fb40169dc2", GitTreeState:"dirty", GoVersion:"go1.15.7"}

Output of kubectl version:
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.9-eks-d1db3c", GitCommit:"d1db3c46e55f95d6a7d3e5578689371318f95ff9", GitTreeState:"clean", BuildDate:"2020-10-20T22:18:07Z", GoVersion:"go1.13.15", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.):
EKS
Following the doc guidance I've added a "helm.sh/hook-delete-policy" to ensure that test Pods are deleted once completed successfully.  My annotation now reads:
  annotations:
    "helm.sh/hook": test
    "helm.sh/hook-delete-policy": before-hook-creation,hook-succeeded

Expected behaviour:

Previously run tests are deleted as before because of before-hook-creation
On a successful completion of the test the test Pod is deleted because of hook-succeeded

Actual behaviour:

Existing Pods from previous test runs are deleted
Completed test Pods are not deleted after the test run

Incorrect. I must have not deployed the changes.  Once I'd complete a 'helm upgrade' the tests Pods now Terminate as expected.


Implmement WebCoreForm for a Production project.

Hi Folks,
This work was I had to do to run most of the 20-year-old project to a level that can be mostly functional.
While the original private project did not follow the best practices of WebForm it was fully functioning for more than 20 years in production.
Chers

Thanks Mason Chase for your work.
Feedback for MasonChase.CoreWebForms 2.0

Debugger not working
Compiled pages not working
Global usings not working
Sdk.Packages.targets is using CoreWebForms instead of MasanChase.CoreWebForms
Can't declare a field in code behiend for control used in aspx/ascx protected Label lbl; I have a Label with Id lbl in my aspx file

Repro

@twsouthwick : Any plans to merge this in. We would like to try this in our production application.

Thanks @mason-chase for the contribution! However, this is a really large change - can you break them into smaller chunks so I can understand what you're adding here? Some of the changes will probably be obvious merges, and some may take a bit more work and I'd like to get as much in as possible.

May I know if this project is abandoned? If you like I can take over or should I start a new project based on my fork? @twsouthwick  @AmarjeetBanwait @TheJayMann

It's not really abandoned, but not a focus - I'd be happy to bring you into helping keep it going.
However, as far as this change is concerned, I'd like to bring parts of it in but some of it didn't seem production ready; hence asking above to break it into smaller chunks.
I'm on vacation and will be returning in a couple of days - I'll dm you and we can discuss a close collaboration here

@mason-chase I'm back from vacation but I couldn't find a way to dm you (no contact listed in your profile). Can you reach out to me via the contact info on my profile to discuss onboarding?
Also, not sure if you saw the asks around breaking the pr into smaller chunks as that hasn't been responded to. Looking at your commits, it seems like it might be doable to grab sets of commits of similar changes and create a pr. There's a lot here:

The process I'd appreciate to feel comfortable bringing the changes in and understanding them:

Fixes for existing code, keep them targeted.
For porting webforms APIs, provide a pr with the original code (potentially with if/defs or just not included in the compilation) followed by a second pr with the changes needed to get it in line with running on core. this way there's a trail of what changes were needed
for new APIs, have an individual pr for each api (or sets of apis)

@mason-chase I see more pushes to this pr. I would like to pull some of the changes in, but they need to be targeted and not a moving target. Please let me know if you plan on breaking the chunks up.

Thanks - I'll start looking through them as time permits

@twsouthwick
They will all fail and that's perfectly fine since they are not merged directly to Master
The goal is to review them in the milestone where I arrived to fix little things on the project.
So they should all make sense for you as a separate PR but of course there might be issues that was solved in the final branch.
I recommend to review from 19 to 1 instead of 1 to 19, that way you will see issues I may have introduced in PR 1 that was perhaps fixed in PR 19.
I did send you email and DM on LinkedIN
I hope I can have a call with you to discuss further the project.
Cheers


Wait for gmp-operator rollout before applying kuberay podmonitorings

kuberay-operator appears to be deployed faster than the gmp-operator, causing kuberay-monitoring to create a PodMonitorings object before the GMP webhook server is ready to validate it.
Implement a delay between kuberay-operator startup and kuberay-monitoring deployment to ensure gmp-operator has time to start up. This delay can be adjusted based on perceived flakiness.
Fixes https://github.com/GoogleCloudPlatform/ai-on-gke/issues/402
Replaces https://github.com/GoogleCloudPlatform/ai-on-gke/pull/407
This lightweight solution is meant as a stop-gap, to be replaced with either of the two proper solutions:

Ensure gmp-operator is always running in the GKE CP.
Implement retry on the provider (https://github.com/hashicorp/terraform-provider-helm/issues/1058).

/gcbrun

/gcbrun


trading_data_v2 REST streaming endpoints do not work nicely in generated docs

Tasks

[x] See if there's a way to disable the 'Submit' for the streaming endpoints
[x] #536
[ ] Add more detail to individual reference endpoints for in-place guidance

Spike

[ ] Add a new post-processing script that pulls items out of 'path' that have '/stream/' in the URL
[ ] Add them to a new thing called x-webhooks
[ ] See if it looks like https://docusaurus-openapi.tryingpan.dev/petstore_versioned/new-pet

https://github.com/PaloAltoNetworks/docusaurus-openapi-docs/blob/main/demo/examples/petstore-1.0.0.yaml#L1194-L1209

This is back. Especially confusing as the URL has https https://github.com/vegaprotocol/documentation/issues/691


ali

I want to solve the problems that appeared on the Utiny ripper program

No promises, but you can try my AssetRipper fork.


fix: resolve issues with graphiql explorer

Description of changes

See https://github.com/aws-amplify/amplify-cli/pull/13555. This PR supersedes the linked PR.
Issue #, if available

https://github.com/aws-amplify/amplify-category-api/issues/1269
https://github.com/aws-amplify/amplify-category-api/issues/1369
Description of how you validated changes
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Retrying the failed e2e test

The e2e test l_function_3a_init_special_case_http_migration failure in 7db8321 is a known issue caused by Go Runtime and will be fixed in https://github.com/aws-amplify/amplify-cli/pull/13671/

Thank you everyone!


it can generate and audio url like .mp3 or other

it can generate and audio url like .mp3 or other standar for audio players?
thanks you

请先看文档。该Issue会被删除，请先阅读FAQ：#2716


The code does not act as the warning message

To check if the password can be passed by stdin, the program check if the mongodump version is higher or equal to 3.0.2, but the warning message talk about version 3.2.0.
Test at line: MongodumpThread.py#L115
and warning message at line: MongodumpThread.py#L119

#156 merged as it's very harmless


Publish by mosquitto client with QoS higer than 0 not allowed for V5

Describe the bug
When trying to publish a message with a higher QoS than 0 using the mosquitto_pub.exe client the client disconnects with the error message "Error: Message QoS not supported on broker, try a lower QoS."
If I remove the -V mqttv5 option from the command parameters the message get published to the broker without any errors. Mosquitto uses the mqttv311 by default.
Which component is your bug related to?

Server

To Reproduce
Steps to reproduce the behavior:

Using this version of MQTTnet 'latest'.
Add the below code to a simple C# console application and run it to start the server.
Download the latest mosquitto installer and install the product.
Navigate to the install dir from a command prompt and find mosquitto_pub.exe
use the following parameters (assuming default port and localhost). "mosquitto_pub.exe -t samples/temperature -i "clientid2" -q 2 -d -m "test4" -V mqttv5"
See error.
Rerun the commando with the "-q" option changed to "-q 1"
see the error
Rerun the commando with the "-q" option changed to "-q 0"
see that the message is accepted by the server
Rerun the commando without the "-V mqttv5" with with the "-q" set back to 2
see that the message is accepted by the server.

Expected behavior
that regardless of the mqtt version the message must be accepted by the server. especially as mentioned in bug #1425 that QoS is "supported".
Additional context / logging
C:\Program Files\mosquitto>mosquitto_pub.exe -t samples/temperature -i "clientid2" -q 2 -d -m "test4" -V mqttv5
Client clientid2 sending CONNECT
Client clientid2 received CONNACK (0)
Error: Message QoS not supported on broker, try a lower QoS.
Client clientid2 sending DISCONNECT
C:\Program Files\mosquitto>mosquitto_pub.exe -t samples/temperature -i "clientid2" -q 2 -d -m "test4"
Client clientid2 sending CONNECT
Client clientid2 received CONNACK (0)
Client clientid2 sending PUBLISH (d0, q2, r0, m1, 'samples/temperature', ... (5 bytes))
Client clientid2 received PUBREC (Mid: 1)
Client clientid2 sending PUBREL (m1)
Client clientid2 received PUBCOMP (Mid: 1, RC:0)
Client clientid2 sending DISCONNECT
Code example
static void Main(string[] args)
        {
            var mqttFactory = new MqttFactory();

            var options = new MqttServerOptionsBuilder()
                .WithDefaultEndpoint()
                .Build();

            var mqttServer = mqttFactory.CreateMqttServer(options);

            mqttServer.StartAsync();

            while(true)
            {
                Thread.Sleep(TimeSpan.FromSeconds(2));
            }
        }

Thanks for reporting the issue. Please test with version <IP_ADDRESS> from the MyGet feed (see Readme) and let me know if it works now.

Hi, I have no idea how to get content from the MyGet feed ( and could not find anything in the readme) but I took the code from the branch that was created for this issue, compiled the server and tested it. the fix works fine, and the behavior is as expected.


720p ABC iView

Checklist

[x] I'm reporting a site feature request
[x] I've verified that I'm running youtube-dl version 2019.10.29
[x] I've searched the bugtracker for similar site feature requests including closed ones

Description

WRITE DESCRIPTION HERE
ABC iView has recently started streaming a lot of their stuff in 720p. Youtube-dl doesn't pick up the 720p videos and only downloads 540p. If you could get 720p ABC iView downloading on youtube-dl that would be awesome! Thanks!

This issue is still not fixed; I am having the same issue on the latest version 2020.03.24
Please Note: You will need to appear coming from Australia for the video to play.
URL of Video:
https://iview.abc.net.au/show/stateless/series/1/video/DR1820S001S00
Extracted MPD File:
https://iview-vod.akamaized.net/prod/dr1/DR1820S001S00MA1D1/20200220162328/mpegdash/720.mpd
Output of Command:
PS 03/25/2020 09:24:48> C:\Portable\Downloaders\YT\youtube-dl.exe --verbose --continue --format bestvideo+bestaudio "https://iview-vod.akamaized.net/prod/dr1/DR1820S001S00MA1D1/20200220162328/mpegdash/720.mpd"
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', '--continue', '--format', 'bestvideo+bestaudio', 'https://iview-vod.akamaized.net/prod/dr1/DR1820S001S00MA1D1/20200220162328/mpegdash/720.mpd']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2020.03.24
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.18362
[debug] exe versions: ffmpeg git-2020-02-03-1c15111, ffprobe git-2020-02-03-1c15111
[debug] Proxy map: {}
[generic] 720: Requesting header
WARNING: Falling back on generic information extractor.
[generic] 720: Downloading webpage
[generic] 720: Extracting information
ERROR: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpjwbwqymm\build\youtube_dl\YoutubeDL.py", line 797, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpjwbwqymm\build\youtube_dl\extractor\common.py", line 530, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpjwbwqymm\build\youtube_dl\extractor\generic.py", line 2397, in _real_extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpjwbwqymm\build\youtube_dl\extractor\common.py", line 1327, in _sort_formats
youtube_dl.utils.ExtractorError: No video formats found; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.


Ability to enable only certain weather types, but keep dynamic

I would love to be able to keep the weather dynamic, but still enable only certain weather types. For example, I really like rainy, stormy, and snowy, but not a huge fan of cloudy, starry, or foggy. It would be perfect if I could just uncheck "cloudy", "starry" and "foggy" from the list of weather types that are chosen.
I can help implement it if that's something we'd be interested in implementing.

Hey, apologies for the late reply. I currently only actively monitor my discord for bugfixes and suggestion (which should now be the default support link).
In the config, you can uncheck all three of those options you've named. I could add other options to remove other weathers (like rainy, snowy, stormy, etc), but I assume those are the ones you (and others) are happier with.


mode='multicast' in wave app doesn't work

I have begun with the documentation of h2oai Wave and I am executing the Tutorials. In the bean counter tutorial of Wave apps, while trying the mode='multicast; to maintain the sync at user level, the code doesn't seem to work and nothing happens. My Wave server is running fine and the code is exactly the same as given in the tutorial but I don't understand what is the issue. Kindly help me resolve the same,
 @app('/bean_counter', mode='multicast')

@shrinidhin - Thanks for reporting!
In general, the multicast mode only make sense if user auth is enabled, since there is no real concept of a "user" otherwise.
I've pushed a fix so that multicast works even if user auth is not enabled (to ease development / make the tutorials work). Will be out in 0.15.1.

Thank you for your response!Could you elaborate more on what you mean by 'if user auth is enabled'?

I meant SSO: https://wave.h2o.ai/docs/security#single-sign-on

Alright.Thank you!


Colors Sky, Mint, Lime, Yellow and Amber are not correct

Hi,
the five color are not correct. The values of the colors 7,  need to be swapped with 9, 10
Eg vor sky:

--colors-sky7 should have the value of --colors-sky9
--colors-sky8 should have the value of --colors-sky10
--colors-sky9 should have the value of --colors-sky7
--colors-sky10 should have the value of --colors-sky8

How do you mean they're not correct? Why do they need to be swapped?

When the colors are considered to be 12 the darkest color, the value 7,8 are darken den 9,10 - if it is on purpose, please close the issue

There is no intentional lightness progression from steps 0 to 12. Each step is designed for a specific use case, and it just works out that there's a progression in lightness.
Those 5 bright colors are designed for black foreground text at steps 9 and 10, but the surrounding steps are still designed for borders and text. So it works out that the surrounding steps are lighter, but that's ok.


use native SecureSocket instead of hurlant crypto

It's faster, more secure, and greatly reduces swf size.
Apart from removing the hurlant files, the only real change is in WebSocket.as and it's actually quite small.

I tried to use this project to communicate with Tomcat 8.5.6.
Insecure Socket (ws://) - worked for me only after disabling extentions (deflate) -Dorg.apache.tomcat.websocket.DISABLE_BUILTIN_EXTENSIONS=true. Otherwise I encounter message fragmentation issues.
SecureSocket (wss://) - unable to use as I don't have Flash Policy Server that knows handle TLS handshake.
How it is supposed to be used? Thanks.

I didn't find Flash Policy Server for SSL/TLS  out of the box and have implemented one using JSSE SSLServerSocket and it works now.

A working TLS Flash Policy Server using nodejs is available in the sample server of chatziko/FlashSocket.IO

It works fine when I disable 'permessage-deflate' extension. Flash client fails to decode inflated message otherwise. Any clue?
JSONParseError: Unexpected end of input
at com.adobe.serialization.json::JSONTokenizer/parseError()
at com.adobe.serialization.json::JSONDecoder/checkValidToken()
at com.adobe.serialization.json::JSONDecoder/parseValue()
at com.adobe.serialization.json::JSONDecoder/parseObject()
at com.adobe.serialization.json::JSONDecoder/parseValue()
at com.adobe.serialization.json::JSONDecoder/parseArray()
at com.adobe.serialization.json::JSONDecoder/parseValue()
at com.adobe.serialization.json::JSONDecoder/parseObject()
at com.adobe.serialization.json::JSONDecoder/parseValue()
at com.adobe.serialization.json::JSONDecoder()
at com.adobe.serialization.json::JSON$/decode()
at com.icap.mytreasury.services.websoket::JSONDataTransformer/decode()
at com.icap.mytreasury.services.websoket::MessagingAgent/handleWebSocketMessage()
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at com.worlize.websocket::WebSocket/processFrame()
at com.worlize.websocket::WebSocket/handleSocketData()

Additional information from Flash debugger log.
JSONDataTransformer Error #1034: Type Coercion failed: cannot convert Object@4d3c9a49 to flash.utils.Dictionary.

Try https://github.com/chatziko/AS3WebSocket, it has (limited) support for permessage-deflate (not included in this PR)

https://github.com/chatziko/AS3WebSocket is exactly the project I use and it doesn't work for me as described above. The JSON I get after inflation fails on parsing.

Try to set websocket.debug = true to see if you get something useful.

Wherever trace() output goes in your setup.

There is no additional trace prints from WebSocket. The symptom is that only part of the deflated fragmented message arrives to the client. Client knows assemble fragmented message to the whole and everything works fine when deflate is disabled. I think you can easily reproduce it by sending long messages that are deflated on the server side.

Don't work on Chrome58.
[Uploading fail.zip…](This wireshark pcapng)

Don't work on Chrome58.
Connecting to xxx.com on port 8443
错误: 请求位于 tlssocket://xxx.com:8443 的资源（请求者从 https://s1.002.xxx.com/FlexWeb-debug/FlexWeb.swf 发出请求）失败，原因是无法访问服务器。

*** 安全沙箱冲突 ***
到 xxx.com:8443 的连接已停止 - 不允许从 https://s1.002.xxx.com/FlexWeb-debug/FlexWeb.swf 进行连接
Security Error: [SecurityErrorEvent type="securityError" bubbles=false cancelable=false eventPhase=2 text="Error #2048: 安全沙箱冲突:https://s1.002.xxx.com/FlexWeb-debug/FlexWeb.swf 不能从 xxx.com:8443 加载数据。"]
securityError
closed

Anniywell,  It works on Chrome59.

install policy server. (https://www.npmjs.com/package/policyfile)

listen by 843 port

pf.listen(843, function () {
logger.info('Flash Policy Server has been started.');
});

@VelniasGriebtu

I didn't find Flash Policy Server for SSL/TLS out of the box and have implemented one using JSSE SSLServerSocket and it works now.

Can you share the JSSE SSLServerSocket  server? I am facing the same security error and I need to use only java server.
Thanks.

is there some way to connect to websocket server under cloudflare?

https://support.cloudflare.com/hc/en-us/articles/200169466-Using-Cloudflare-with-WebSockets
On Mon, Apr 12, 2021 at 10:41 AM exstrim401 @.***>
wrote:

is there some way to connect to websocket server under cloudflare?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/theturtle32/AS3WebSocket/pull/28#issuecomment-818000150,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAM7QGLFF7ACFMS3MT46F3TIMWDPANCNFSM4BZFINPA
.


Indentation of sequence elements

In the current version (0.2.5) the emitter does not indent sequence elements for the block sequence style, e.g.:
foo:
- hello
- world

While correct, it is way harder to read than the more conventional representation where sequence elements are indented:
foo:
  - hello
  - world

This is quite noticeable in large documents with lots of deeply nested values.
Would it be possible to add an option to support this kind of output ?
Looking at the repository, I am not sure who is in charge of coordinating development for libyaml, so any pointer is welcome :) I may be able to provide a patch if someone can provide a minimum of guidance and is ok with merging it and releasing a new version.
A lot of libraries in various languages rely on libyaml, this would help lots of people !

foo:
- hello
- world

I actually prefer this representation and use it across all YAML files I write manually.

Anyone ? Is libyaml even maintained ?

@galdor I too would really appreciate the ability to be able to output sequences with this style of indentation.
Perhaps @perlpunk @ingydotnet could advise on a way to proceed and provide code review/merging/version bump when appropriate

I'd like this feature to be implemented, too. I can think of three different ways we might want to do that:

Simply indent sequences by the user-configured indent, i.e. set by yaml_emitter_set_indent.
Add a flag to the aforementioned function to enable/disable sequence indentation, e.g, something like: yaml_emitter_set_indent(yaml_emitter_t* emitter, int indent, int indent_block_sequences).
Maybe add a flag to the function yaml_sequence_start_event_initialize(), like above?
Any maintainer input here? I understand this is probably a lower priority item than some other issues.

I agree that many huge yaml files with nested values would be easy to read if the emitter produce sequences with indentation.


make api more REST conform and secure workflow registration

Nothing to complain about so far. Just one question, do the examples of WMS and WFS still work with the added authentication and authorization step for workflows?

Nothing to complain about so far. Just one question, do the examples of WMS and WFS still work with the added authentication and authorization step for workflows?

good point, it doesn't work and is missed by the CI. Should I change the example to try to register (might fail when example is opened second time) and then login or should I pass the workflow directly (only supported by WFS I think)?

Nothing to complain about so far. Just one question, do the examples of WMS and WFS still work with the added authentication and authorization step for workflows?

good point, it doesn't work and is missed by the CI. Should I change the example to try to register (might fail when example is opened second time) and then login or should I pass the workflow directly (only supported by WFS I think)?

Yes, try to register and don't crash, but output already registered to the console. This way, the example should be working again.

Nothing to complain about so far. Just one question, do the examples of WMS and WFS still work with the added authentication and authorization step for workflows?

good point, it doesn't work and is missed by the CI. Should I change the example to try to register (might fail when example is opened second time) and then login or should I pass the workflow directly (only supported by WFS I think)?

Yes, try to register and don't crash, but output already registered to the console. This way, the example should be working again.

it works now but doesn't log yet. For this to work I still need more detailed error reporting. Right now it only outputs a message but we need to output the error kind/code to the client to correctly detect that the error is in fact that the user already exists and there is no other error.


Blog: Why UNS needs Pub/Sub

Description

Related Issue(s)

Checklist

[ ] I have read the contribution guidelines
[ ] I have considered the performance impact of these changes
[ ] Suitable unit/system level tests have been added and they pass
[ ] Documentation has been updated

@sumitshinde-84 IF there's an art request, can it be linked in the PR description?

@Hasmin-AC Can you be the second reviewer for english structure etc?


coap_server separate.c sample is reusing MID iccorectely

The net/socket/coap_server/seperate.c resource showing how to do separate coap response is reusing the MID between the request and the response, it should be different MID:

To Reproduce
Steps to reproduce the behavior:

build the coap_server sample
open wireshark in the background on port 5683
With the libcoap CLI client issue: coap-client -m get coap://[IP of your device]:5683/separate

Expected behavior
The response 2.05 and the following ACK should use a different MID
Impact
Since the message reuses the MID, the peer implementation could discard them as spurious retransmissions.

looks like this solution works:
diff --git a/samples/net/sockets/coap_server/src/separate.c b/samples/net/sockets/coap_server/src/separate.c
index 68bba0bb47..7a5b1737cb 100644
--- a/samples/net/sockets/coap_server/src/separate.c
+++ b/samples/net/sockets/coap_server/src/separate.c
@@ -57,7 +57,7 @@ static int separate_get(struct coap_resource *resource,
        /* Re-use the buffer */
        r = coap_packet_init(&response, data, sizeof(data),
                             COAP_VERSION_1, type, tkl, token,
-                            COAP_RESPONSE_CODE_CONTENT, id);
+                            COAP_RESPONSE_CODE_CONTENT, coap_next_id());
        if (r < 0) {
                return r;
        }


[FEATURE] Add URL and User_Agent Mappings

Is your feature request related to a problem?
The AWS_ELB dashboard depends on fields contained in url and user_agent schemas that the catalog does not yet have. Other integrations will have more fields that are not in existing schemas.
What solution would you like?
Adding missing schema files required for future integrations.
What alternatives have you considered?
None
Do you have any additional context?

https://www.elastic.co/guide/en/ecs/current/ecs-user_agent.html
https://www.elastic.co/guide/en/ecs/current/ecs-url.html

use the http mapping: https://github.com/opensearch-project/opensearch-catalog/blob/b91f5ba6a869a4e2d5dbdd60da94c88c373beb7f/docs/schema/observability/logs/http.md?plain=1#L10


Build a mechanism for GCing old zookeeper nodes

Currently, we leak a non-ephemeral znode for every version of every database. This isn't that many, but it's kinda annoying and definitely unhygienic.
However, we can't just go around arbitrarily deleting empty znodes, because that's racy when it comes to other nodes; they could be trying to create an ephemeral node rooted at the node we're deleting. To avoid this, this PR adds some retry logic and creating and watching that, if it needs to, also creates the parents of the nodes.
Finally, this PR fixes one possible deadlock I encountered while poking at this code.
r? @kitchen

@kitchen PTAL?

lgtm


Customization of Sysbox yaml installer

Hi,
We are using Sysbox seems some weeks with production workload (CI/CD), we found that most of the docker operation within the sysbox container (Kubernetes) is somehow quite slow.
After talking with @rodnymolina , one solution could be to change the xattr  as described here which require to update the sysbox-mgr config, but this is not practical because we are using autoscaling and so on, so we need a way to chnage the installer script to support those value.

Hi @shinji62, thanks for filing the issue.
As a temporary work-around, you could consider adding the following env-var to the sysbox pod's spec:
SYSBOX_ALLOW_TRUSTED_XATTR=FALSE
The real solution would be to have the sysbox-k8s-deploy daemonset take a configMap that configures sysbox as it's installed on the k8s node, as described in issue 533.

Not sure I understand. ? I am running on kubernetes, so you mean the pod spec of the runner container or not the sysbox pod daemon like
Image:         registry.nestybox.com/nestybox/sysbox-deploy-k8s:v0.5.2

I mean the spec of the pod that you will deploy with Sysbox (not the sysbox-deploy-k8s pod itself).
Background: it's possible to tell Sysbox to not intercept the *xattr() syscalls on a per-container basis. The way this is done is by passing the env var SYSBOX_ALLOW_TRUSTED_XATTR=FALSE to the container. Thus, you want to set up the pod spec for the container such that this env var is set.
Hope that helps!


GSSOC'23 : Volcanic Eruption Prediction

Is your feature request related to a problem? Please describe.
Overview
Detecting volcanic eruptions before they happen is an important problem that has historically proven to be a very difficult.The IGNV  provides the readings from several seismic sensors around a volcano and challenges you to estimate how long it will be until the next eruption. The data represent a classic signal processing setup that has resisted traditional methods.
Describe the solution you'd like
the steps to tackle this problem.
1 . data exploration .
3. feature engineering : since the data  time series readings, we can extract meaningful features from the sensor data to represent the seismic activity.
4. data preprocessing
5. for prediction will use RNN(Recurrent Neural Networks )
6. train and validation of model.
7. Evaluation on test data .
Describe alternatives you've considered
No response
Additional context
@khusheekapoor please assing me this issue . and please give it the label  of GSSOC'23 with appropriate level.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

@shashank1623 - you can go ahead! We are assigning you 21 days for this project, after which it will be assigned to someone else if not completed. All the best!
Name the file as: algorithm_dataset.ipynb and link it in the readme of the labeled directory as algorithm - dataset.


Documentation for covariance estimators

Classes Covariance, ERPCovariances, XdawnCovariances, HankelCovariances have a parameter estimator, with the same description "For a complete list of estimator, see utils.covariance." But module utils.covariance does not provide a documentation about supported estimators.
This PR solves #97, adding the documentation of function utils.covariance.covariances, and making cross-references to it.

@agramfort , can you merge?

done
I gave you write access to repo congrats :)


Backend API to validate BCeID

Describe the task
When retrieving details of a BCeID user from the IDIM web service include the BCeID Business GUID so that business rules based on BCeID organization can be enforced.
Acceptance Criteria

[ ] Update FAM backend calling IDIM web service proxy to return BCeID Business GUID
[ ] Create router to interface with idim-proxy endpoint created as part of (idim-proxy # 72)
[ ] Test API
[ ] Regenerate client code

Additional context

See endpoint creation issue in idim-proxy repo (issue# 72)

Hi Basil @basilv, just wondering does it matter where I add this new api endpoint to? to the new admin management directory where it has all admin endpoints, or to the previous backend directory where it has all regular endpoints?  The current endpoint for searching IDIR user is in the backend directory, maybe I'll add the endpoint for searching bceid at the same place? so it already has the configuration to integrate with IDIM proxy

@MCatherine1994 yes, adding to the same backend makes sense right now.


Dev/1.3.6

These are the changes I tested the recent library update with. I think it makes sense to commit and release this.

@alexjhawk please fix code format errors

@alexjhawk please fix code format errors

Complete.
I need to refine my IntelliJ code style settings because they seem to no longer conform to Google Code Style.

java -jar ./google-java-format-1.17.0-all-deps.jar -r find ./src/ -name *.java

I have Google Code Format enabled in IntelliJ. For some reason, it is just not automatically running today or something.


Feature Request: Support some i18n, e.g. something like polyglot

Hi all,
I am facing difficulties applying internationalization / localization within Franklin.jl
In Jekyll there is a lovely plugin called polyglot. Would it be possible to support something similar for Franklin.jl?
thanks a lot

@tlienart you seem to have used i18n in your projects. Can you share your current approach?

Hello Stephan, the bad: there's no baked in support nor a plugin that you can directly use.
The good: it's reasonably easy to do this manually, and I think I'd like users to try a few versions until we find one that seems to work well that we can make available to other users via some package or baked in functionality.
Below are my thoughts when considering i18n for another user a while back.
i18n with Franklin
Let's say you want your base language to be EN and have some FR for some pages (potentially all but in some cases people can only be bothered to translate some). Let's say that your base url is base (e.g. tlienart.github.io or tlienart.github.io/project) what I'm suggesting is that you'd have:
* base/, base/page1/, base/page2/ ...
* base/fr/, base/fr/page1, base/fr/page2/ ...

so far so good, you could also want base/en/... etc but it's just a small extension of the below. Adding a flag button in your layout that takes the current URL and links to another page with the relevant /fr/ injected is easy as well.
Let's say now that you have the post page1.md.
Manual
You can already do the above by having a copy page1_fr.md and have a slug that indicates the URL for the page e.g.:
page1.md
+++
author = "The Oracle"
+++
# The Title
This is a sentence.

page1_fr.md
+++
author = "The Oracle"
slug = "fr/page1"
+++
# Le Titre
Ceci est une phrase.

This is fine if you need to do it just for one or two pages and are happy with them potentially diverging over time (e.g. the landing page). Of course there are two disadvantages (1) you need to maintain the slug if you want to change the file name and (2) the translation is not in the same file as the original meaning that maintenance if you want to keep the two files 1-1 is that little bit more annoying.
I'm not familiar with the plugin you mention but my impression is that the result would be similar to the above.
With blocks
It might be easier to keep the original and the translation(s) in the same file to make maintenance easier. The idea here is then that a post consists of blocks of text and that, each time, you'll provide several versions of the text. This would require a bit more work to fully work but the gist should be clear:
page1.md
+++
author = "The Oracle"

title = (en="The Title", fr="Le Titre")

block1 = (en="""
# This is the first block
With a first sentence.
""", fr = """
# Ceci est le premier bloc
Avec une première phrase
""")

block2 = (en="""
...
""", fr="""
...
""")

# more blocks

all_blocks = [block1, block2, ...]
+++

{{generate all_blocks}}

So you have to maintain a bunch of blocks which are close to one another, using blocks is convenient for maintenance (smaller bits of text) and the only thing left is to have the function generate_page assemble the full markdown for each language and generate the relevant page. Writing that function generate is not hard, in fact it could simply itself generate the file page1_en.md and page1_fr.md each with the relevant slug, this is probably the easiest way, so you'd have the "parent" (page1) which generates the children page.
I have to go but let me know what you think and if you end up trying one of the version or would like something else

Thank you a lot for your huge help.
I myself would like the second approach, because everything is more self-contained. You could also easily implement a fallback mechanism into the generate function.
Three questions which pop up:

Switching the language

Adding a flag button in your layout that takes the current URL and links to another page with the relevant /fr/ injected is easy as well.

Do you have a snippet illustrating how this could go?

header and footer
If I understood Franklin then you would have to add a couple of {{ispage en/}} {{insert head_en}} {{end}} in addition of creating the individual language versions.

Interaction with other Franklin.jl features
As this approach kind of uses Julia for everything, the doubt comes up, whether all other Franklin features would still be able to work

I came up with another idea as an evolution of your second suggestion with namedtuples (en = "Title", fr = "Le Titre").
It would be nice if Franklin.jl had an option for automatically splitting files with such i18n-namedtuples out to multiple files. We can easily make the interface stable by providing our own wrapper i18n(en = "Title", fr = "Le Titre").
This could go like follows (assignments are just examples):

check if the config flag i18n_enable = true is set to true
read config i18n_languages = ['en', 'fr', 'de']
read config i18n_default = 'en'
go through all pages. For each page, let's call it page_active, and for each language in i18n_languages, let's call it i18n_active, do

parse all variables in the page
create i18n-conform variables by choosing either i18n_active or falling back to i18n_default, or if no i18n is given but a plain value, take the plain value.
create a new page pages/{{i18n_active}}/{{page_active}} with the respective subset of variables
insert redirects as appropriate so that the i18n_default gets visited by default
do page parsing as normal

The only thing which would be needed in addition is the little helper snippets about how to switch between the languages.
As of now, I would actually prefer adding such functionality to Franklin.jl instead of writing a generate function. Sounds about the same amount of work, but the proposed solution is more intuitive and should easily interact with other extensions as well.
What do you think?

sorry if I missed something in your answer but where do the translations live? do you have separate files with translations?

yes, I thought about that:

create a new page pages/{{i18n_active}}/{{page_active}} with the respective subset of variables

so like you suggested for generate, the preparser would just create all the separate translation files

Of course, alternatively you don't have to create the intermediate translation markdown files, but could directly create the translation html files under __site/ respectively.
That would just be an alternative implementation strategy with the same effect, but might be simpler to implement.

could you write what a "base page" would look like in your original idea? specifically:

a post for which a translation exists
a post for which a translation does not exist

just so I understand where you put the text in language_A, language_B, ...

sure.
a base markdown page say pages/simplepage.md
+++
Title = i18n(en="Title", de="Titel")
Body = i18n(en="My Text", de="Mein Text")
Constant = 42
+++
{{ include default_body }}

would get translated to pages/en/simplepage.md
+++
Title = "Title"
Body = "My Text"
Constant = 42
+++
{{ include default_body }}

and  pages/de/simplepage.md
+++
Title = "Titel"
Body = "Mein Text"
Constant = 42
+++
{{ include default_body }}

As an additional feature you could combine this approach with the possibility of providing translation markdown pages directly, like pages/en/simplepage2.md.

The "preparser" would go through all pages/* where * does not start with one of the languages listed in i18n_languages.
The user can write other translation markdown directly themselves
An extra logic would need to implement a fallback logic for all user-provided translation markdown files

Of course, this can stay as a task for later. Just wanted to point out it would be integratable.
In total the functionality would be impressively similar to polyglot, even a bit more intuitive, thanks to i18n(en=...), and the amount of work is not huge.
Easy to understand and flexible, such a i18n support would fit quite well to Franklin it seems to me.

Thanks for your input, I think this all seems reasonable, some notes that we don't necessarily need to solve right now:

this system puts blocks of texts in strings but the highlighting is preserved which is nice so writing for instance

+++
txt = """
foo
```
const x = 5
```
bar
+++

should properly highlight the code in e.g. Atom or VSCode.

I'd still like the possibility to define blocks to facilitate maintenance of translations (shorter blocks of text, the different versions can be seen more readily), but this is just a small extension of what is suggested
the inclusion is probably not going to work like suggested above, some element of page generation will be needed.

all in all I think what you suggested is very close to the generate story except the generate would be on Franklin rather than on the user + some good ideas around the config stuff.
I'll need to think a bit about this, can't promise delivery for it as I'm working on other stuff for Franklin which have higher priority (this is also why I tried to give you paths for how you could do stuff right now so that you're not blocked) but otherwise I think there are good ideas here and it would be a nice addition.

Just understood that Franklin not necessarily puts everything under pages/ top folder. Hence using suffix like ..._en.md as you originally suggested seems more appropriate.

Could you share a snippet about how to switch the language?

Adding a flag button in your layout that takes the current URL and links to another page with the relevant /fr/ injected is easy as well.

Let's say you have a topnav and that it's described in _layout/head.html, somewhere appropriate you'd put something like:
{{flags}}

with the understanding that this will inject something like

if there's several translations of that page available. Here's a sketch of a function that would do some of this:
function hfun_flags()
    rpath = locvar(:fd_rpath) # something like /path/to/page
   # some logic here to check whether there's, at an appropriate location, some translated version
   # corresponding to rpath (this will be different based on what you do)
   has_translation = true
   if !has_translation
        return ""
    end
    s = """

        """
    return s
end

I hope that gives you the idea

yes, that helped, thank you very much

I was motivated to go through the source code and look what would be the easiest way to add this.
Please remark if I got something wrong.
Key Assumption
I assume that the config.md is parsed first, so that as soon as a normal page get's processed, we already know the global config
What needs to be added
Part 1
At the central method process_file_err where the final out path is computed, we would need to add the following

loop over all i18n_languages, use a fallback value, say i18n_languages = [nothing] in case i18n_languages is not defined
set a internal local variable i18n_active which specifies the current element of i18n_languages
if i18n_active !== nothing change the outputpath outp by prepending i18n_active

Part 2
At the method set_vars! add the following

check if the value is of the special type i18n
if so, use something like value = value[something(i18n_active, i18n_default)] to grab the currently active language, or if that value does not exist, grab the default language (the default language could alternatively also be the first language used in the i18n)

Part 3
At the method link_fixer add the following

if i18n_active is not the fallback, add it as a prefix to all the paths in the html

That is it. Very concise, easy to implement, and with full compatibility with everything else so far as I can see.
@tlienart Can you check whether you spot any missing pieces?

Slight update:
I think it would make even more sense if the loop happens before config.md is loaded, so that also in the global config something like myvariable = i18n(en="english", fr="française") would behave just as if you would have written myvariable = "english" for the en case and myvariable = "française" for the fr case.
So the loop would be here right before the global vars gets defined.
The information i18n_active could be stored as a global variable of the specific loop run.

This would imply that also fd_loop somehow needs to loop through the i18n_languages and construct a i18n specific global dict in case only specific watched files changed.


readTableData in ModelicaTest.Tables.CombiTable2D calls external function with wrong number of arguments

Reported by beutlich on 17 Nov 2015 13:11 UTC
ModelicaTest.Tables.CombiTable2D.Test16, Test17 and Test18 call external function ModelicaStandardTables_CombiTable2D_read of readTableData with wrong number of arguments.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1838

Comment by beutlich on 17 Nov 2015 13:25 UTC
Resolved by cc6b561d802d4f04efa19d94851dc1e1a4c8c655.

Changelog modified by beutlich on 17 Nov 2015 13:25 UTC
Fixed readTableData in ModelicaTest.Tables.CombiTable2D


Introduce a shared pagerduty config for account_name, used to generate api/interface urls

Removes hardcoding raised in issue #16
Helper function in lib/pagerduty.rb allows for controllers and views to access the same value.
Reduced down to an account name for ease of configuration, and more control over the base url (which shouldn't ever have a non pagerduty.com domain name, if I'm not mistaken)

The cleanest solution is to rename api_url to pagerduty_url, I think.
Looks good otherwise.

I made a dog's breakfast of my comments on this PR - sorry about that.
There are two options:

Rename api_url to pagerduty_url, which is what it actually is
Add /api/v1 to api_url (so it is the actual API URL), and then gsub it out for the GUI.

Out of those, the first option seems like a better plan to me.

I have renamed the function to pagerduty_url, so, Option 1.

Awesome work, thanks!


Fixes compatibility issues with SQLAlchemy 2.0

This PR fixes compatibility issues with SQLAlchemy 2.0, specifically #167 and #169.
Specifically, as reported in #169  adding assignments to databases was silently failing because they were actually not explicitly added into the database (see changes in ngshare/ngshare.py). Looks like in old versions of SQLAlchemy, all created objects were automatically added to the database.
I also took liberty of switching to some new API of SQLAlchemy 2.0 (in particular, addressing the deprecation warnings of declarative_base). For this, I had to lift the minimal version requirement to 1.4. I hope this is OK. Perhaps one should also limit the maximal version to something like <3.0. But since this was not done consistently for other packages, I did not do that.
If support of python 3.8 is dropped, it is possible to remove the package typing.List and use the standard list in type hints.

@ykazakov there are no maintenance resources for this project, including my time. If you have interest in maintaining this project, I am open to giving you elevated privileges to do so. Is that of interest?

@moorepants not that I have a lot of spare time, but sure, I could do some maintenance for this project as well as for ngshare_exchange, at least for as long we are using it.


Got error with default LFS_SCHEME(https)

Both browser and git lfs client got this error, and by the way, even I didn't set LFS_SCHEME to http,
I can visit the panel via http protocol, is this a bug?
Error for POST https://localhost:8080/temp/test/objects

Post https://localhost:8080/temp/test/objects: tls: oversized record received with length 20527
goroutine 16 [running]:
github.com/github/git-lfs/lfs.Stack(0x0, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/lfs/errors.go:85 +0x89
github.com/github/git-lfs/commands.logPanic(0x7f938c1eac30, 0xc2080aa840, 0x7f938c049a00, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/commands.go:148 +0xf17
github.com/github/git-lfs/commands.handlePanic(0x7f938c1eac30, 0xc2080aa840, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/commands.go:100 +0x6c
github.com/github/git-lfs/commands.LoggedError(0x7f938c1eac30, 0xc2080aa840, 0xc208034040, 0x37, 0x0, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/commands.go:65 +0x89
github.com/github/git-lfs/commands.Panic(0x7f938c1eac30, 0xc2080aa840, 0xc208034040, 0x37, 0x0, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/commands.go:75 +0x68
github.com/github/git-lfs/commands.pushCommand(0x983f80, 0xc208022450, 0x2, 0x3)
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/command_push.go:120 +0x572
github.com/spf13/cobra.(*Command).execute(0x983f80, 0xc208034080, 0x3, 0x4, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/spf13/cobra/command.go:355 +0x17c
github.com/spf13/cobra.(*Command).findAndExecute(0x984680, 0xc20800e010, 0x4, 0x4, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/spf13/cobra/command.go:334 +0xd3
github.com/spf13/cobra.(*Command).Execute(0x984680, 0x0, 0x0)
        /Users/rick/github/git-lfs/.vendor/src/github.com/spf13/cobra/command.go:408 +0x7b0
github.com/github/git-lfs/commands.Run()
        /Users/rick/github/git-lfs/.vendor/src/github.com/github/git-lfs/commands/commands.go:80 +0x2a
main.main()
        /Users/rick/github/git-lfs/cmd/git-lfs.go:8 +0x1a

Yeah, that's kind of a bug. I think we'll remove the LFS_SCHEME portion and just use http. At one point some of this code was deployed with a proper ssl setup and I added LFS_SCHEME to aid local development, but now this is just a test server. Not using ssl will reenforce the notion that it shouldn't be used in production :smile:
Thanks for the report, I'll push out an update :soon:!

:+1:

Fixed in #17 and a new release pushed. Thanks!

Thanks!


Create a POC for VS Code extension telemetry

As the Kiota team, we want to have the ability to collect meaningful telemetry
So we can have insights and make data-driven decision
The first step is to explore how to use the telemetry extension on VS Code . Work on a POC and run it locally.

here is the documentation page for reference
Here is what we're trying to validate:

what does the reporter provide by default?
how much additional instrumentation do we require?

After some testing it doesn't seem to collect anything by default besides maybe crashes
I'll poke around next week with the API to try to log events.

After implementing telemetry manually here is what we get

Application insights looks like it's obfuscating any EUPI. I'm going to submit the pull request this way we'll start receiving telemetry from the next minor onwards. And @RabebOthmani can refine what information and metrics we want to build up.


Allow to report track-specific metrics

Expanding on https://github.com/elastic/rally/issues/1224 which focusses on gathering custom metrics per track, we should also allow to:

Customize aggregating custom metrics
Enable to customize how these custom metrics show up in the command line report

Closing per https://github.com/elastic/rally/issues/1224#issuecomment-1048756577


added Sergio to guestbook.md

Addition of the student Sergio in the guestbook.md file

Thank you!


Best settings for the garden dataset?

Hi again, I have now successfully output a mesh for the mipnerf360 garden dataset, but the mesh quality is very bad, with holes in the floor and many inaccuracies.
Can you please share the settings / command line used to generate the garden mesh in the example images here ?

Thanks!

@antithing Hi, actually I use the code provided in scripts, you may need to change the default rendering options in meshlab (majorly disable their shading) for a better looking.


make test-integration produces an error

Trying to run make test-integration gives me the error below (the Captured stderr section is a long stream of C++ error output).
If I remove src/tests/integration/{test_string.py,test_bytes.py,kllvm} the error doesn't happen anymore and the tests are executed, but one test fails: FAILED src/tests/integration/kore/test_kore_client.py::TestKoreClient::test_add_module[legacy-empty-module] - AssertionError: assert 'HELLO' == 'mc7256206ac7...683a9950f9431'
Installing the current project: pyk (0.1.622)
poetry run pytest src/tests/integration --maxfail=1 --verbose --durations=0 --numprocesses=4 --dist=worksteal
=========================================================================================== test session starts ============================================================================================
platform linux -- Python 3.10.12, pytest-7.4.3, pluggy-1.3.0 -- /home/lucasmt/.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/bin/python
cachedir: .pytest_cache
rootdir: /home/lucasmt/pyk/master
plugins: pyk-0.1.622, mock-3.12.0, xdist-3.3.1, cov-4.1.0
collecting 0 items / 1 error
================================================================================================== ERRORS ==================================================================================================
_______________________________________________________________________ ERROR collecting src/tests/integration/kllvm/test_convert.py _______________________________________________________________________
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/runner.py:341: in from_call
    result: Optional[TResult] = func()
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/runner.py:372: in <lambda>
    call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/python.py:531: in collect
    self._inject_setup_module_fixture()
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/python.py:545: in _inject_setup_module_fixture
    self.obj, ("setUpModule", "setup_module")
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/python.py:310: in obj
    self._obj = obj = self._getobj()
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/python.py:528: in _getobj
    return self._importtestmodule()
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/usr/lib/python3.10/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1050: in _gcd_import
    ???
<frozen importlib._bootstrap>:1027: in _find_and_load
    ???
<frozen importlib._bootstrap>:1006: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:688: in _load_unlocked
    ???
../../.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/lib/python3.10/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
src/tests/integration/kllvm/test_convert.py:7: in <module>
    import pyk.kllvm.load  # noqa: F401
src/pyk/kllvm/load.py:17: in <module>
    KLLVM_MODULE_FILE: Final = compile_kllvm(KLLVM_MODULE_DIR)
src/pyk/kllvm/compiler.py:40: in compile_kllvm
    run_process(args, logger=_LOGGER)
src/pyk/utils.py:427: in run_process
    res.check_returncode()
/usr/lib/python3.10/subprocess.py:457: in check_returncode
    raise CalledProcessError(self.returncode, self.args, self.stdout,
E   subprocess.CalledProcessError: Command '('llvm-kompile', 'pythonast', '--python', '/home/lucasmt/.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/bin/python', '--python-output-dir', '/tmp/tmpcwl_v2gf')' returned non-zero exit status 1.
--------------------------------------------------------------------------------------------- Captured stderr ----------------------------------------------------------------------------------------------
In file included from /nix/store/lkpwjk4kyvylamrv2323nk0qbbhfsz3l-llvm-backend-0/lib/kllvm/python_src/ast.cpp:1:
In file included from /nix/store/lkpwjk4kyvylamrv2323nk0qbbhfsz3l-llvm-backend-0/bin/../include/kllvm/ast/AST.h:4:
In file included from include/boost/container_hash/extensions.hpp:21:
...
========================================================================================= short test summary info ==========================================================================================
ERROR src/tests/integration/kllvm/test_convert.py - subprocess.CalledProcessError: Command '('llvm-kompile', 'pythonast', '--python', '/home/lucasmt/.cache/pypoetry/virtualenvs/pyk-5nh4Q-X9-py3.10/bin/python', '--python-output-dir', '/tmp/tmpcwl_v2gf'...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! xdist.dsession.Interrupted: stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================================= 1 error in 2.15s =============================================================================================
make: *** [Makefile:36: test-integration] Error 2

The first issue is llvm-kompile failing due to missing Python header files. For a kup installed K, you can:
$ poetry env use --no-cache $(k-which-python)

The second issue is looks like a mismatch in K version, having the right version of K (the one specified in deps/k_release) on PATH will probably fix it.

Updating K worked for the failing test, thanks (though I also had to install graphviz, otherwise src/tests/integration/test_pyk.py::TestGraphImports::test_graph_imports also failed).
But if I restore src/tests/integration/{test_string.py,test_bytes.py,kllvm} I still get the original error, even after running poetry env use --no-cache $(k-which-python).

@Baltoli, maybe you can help here.

kup-installed K
poetry env use --no-cache $(k-which-python) has been run
Integration tests are still failing on llvm-kompile

Someone mentioned on Slack that for some reason poetry env use --no-cache didn't work on their system, and they had to instead delete their poetry cache manually. Perhaps try that @lucasmt?

Can you share the long C++ output? That might help narrow it down for me

It's fairly big, here: https://gist.github.com/lucasmt/0efbfac6d53e431b5b53976d6408de24

The final line where it's looking in /usr/include/python3.10/Python.h:8 is still suspicious to me. If you drop into a poetry shell, where does the python3 symlink resolve to?
$ poetry shell
$ ls -al $(which python3)

n.b. on my machine at least, python3 symlinks to python in the same directory, so you might need to follow a couple of hops to get the final result. For me, I eventually see something like:
lrwxr-xr-x@ 1 brucecollie  staff  74 14 Feb 19:38 /Users/brucecollie/Library/Caches/pypoetry/virtualenvs/pyk-7z_Fpy5G-py3.10/bin/python -> /nix/store/c2hpj07z6h30s0rvfzs5rgm8xqr5vqfp-python3-3.10.12/bin/python3.10

which suggests I'm using a Nix Python as is desired.

Hmm for me it points to /usr/bin/python3.10:
lrwxrwxrwx 1 lucasmt lucasmt 19 Feb 14 11:19 /home/lucasmt/.cache/pypoetry/virtualenvs/pyk-RgtkBycG-py3.10/bin/python -> /usr/bin/python3.10

That's your problem, then - hard to say why it's happening like this on your machine but you need to convince poetry to use the Python interpreter pointed at by k-which-python!

Ok, it's working now after deleting the poetry cache again. Now that I think about it, I might have not run poetry env use again after deleting the cache the first time. Sorry about that, and thanks for the help


Errorn on All screen:  "Bad state: no element"

Due to long standing bug in Protonmail I cannot share the log (cannot use send report button).
Here is at least screenshot.

The copy-log button would help to share bug report with you.

Exporting all settings and clearing the apps data and then re-importing solved the issue.


🦄 add prettierrc and format script on package.json

Code formatting with Prettier
This PR will enforce to follow code format as JS community standards using prettierrc.
A config file prettierrc has been added.
Also the a script has been introduced into the package.json.
Running npm run format or yarn format will format all the js file inside of the src directory.
Or you can use prettier plugin (works with most of the code editor) to automatic format your code.

Copy of #41 without Eslint


Webhook challenges

Motivation
This is how I mostly use Faythe today, but I'm tired of maintaining my own fork :)
The change
Extracted the nsupdate exec code and allowed for implementation of other "ChallengeDriver"'s. Then, implemented a webhook challenge driver that sends either a PUT or DELETE-request with payload like:
{
  "records": {
    "_acme-challenge.example.org": {
      "type": "TXT",
      "content": "wGd5vRc5-V6XMgQhjiQ5W5nRk8TldjvK3oJmcx8YZ3Q"
    }
  }
}

Breaking current config
Using the existing nsupdate-driver, configuration has to be changed from:
"zones": {
  "example.com": {
    "server": "ns.example.com",
    "key": "acme.example.com.key"
  }
}

to:
"zones": {
  "example.com": {
    "auth_dns_server": "ns.example.com",
    "challenge_driver": {
      "nsupdate": {
        "server": "ns.example.com",
        "key": "acme.example.com.key"
      }
    }
  }
}

Note that the authoritative dns server is no longer assumed to be the same endpoint to hit with nsupdate.
Future improvements

Write integration tests for this repo, including a dummy webhook receiver
Implement authentication, e.g. Bearer token or Client cert auth. In my setup, I run Faythe and my receiver on loopback, but if you use this over the internet, you should definitely not let Faythe modify your DNS-zones anonymously.

btw, we have seen this PR and made a story for it internally, we're just hit by a lot of vacation... :p

Forgot/missed this review during my vacation. :P Thanks for it!
I basically agree with everything mentioned. See 46acd6da06529ae781adfbe4bbd09a91fe93abc4 .. I can prettify the git history if/when you want.

Rebased with main and refactored to get the vault-test spinning :) The CI should run green now, once it is green-lighted to start running :crossed_fingers:


⚠ BCR Bot has degraded performance

In 94d7bb3, BCR Bot (https://bcr.alternativasinteligentes.com/BCRApi/web/chatbot) experienced degraded performance:

HTTP code: 200
Response time: 1031 ms

Resolved: BCR Bot performance has improved in 9922d9a.


Make global (server) options writable

Option values can only be written at the Scope and Reservation level.
Server-options should also be writable (and is required for #33 as DNS settings are stored as an option).
Just as with scopes and reservations, it would be expected that the API be exposed as Server.Options.[Set|Remove][Default|User|Vendor]OptionValue()

Incorporated into ce5d1e13781a3372c5e3bfec76820b50f055c20f
Server options are now writable in the same way as scope/reservation options.
These changes are available in the 1.0.5-alpha package.


feat: Project transform

Which issue does this PR close?
Closes #264
Rationale for this change
The ability to project row_filter to Transform partition.
This will unblock the Manifest & PartitionEvaluator, which will enable the pruning of manifest files in fn plan_files.
What changes are included in this PR?

add fn project(...) on Transform
mainly based on Java  implementation

Are these changes tested?
Yes. Unit tests are included.

@liurenjie1024 @ZENOTME @sdd PTAL

LGTM, with the caveat that I'm not an expert on this part of the spec, but the PR seems well-structured.
I wouldn't mind seeing more comments in the tests though to explain the "why" aspect of each test.

Thanks for your feedback. If the others approve "the correctness" of the PR - I'll add those comments.

Thanks for picking this up @marvinlanhenke
The most important part of adding projection is making that they are absolutely correct. If rust would generate something different than Java of Python, leads to data incorrectness since it would not correctly evaluate the partition predicates.

@Fokko
Thanks for the extensive review. Not only did I miss some test but the complete implementation for Dates : https://github.com/apache/iceberg/blob/d350c9b8c995a2953aa8b80a0a1fc7cadc4dd16a/api/src/main/java/org/apache/iceberg/transforms/Dates.java#L123 // I was just looking for the transforms for Years, Months, etc. So thank you for hinting me at this - I'll implement this as well - and try to port the Java Testsuite.

@Fokko
Is it correct to assume, as far as I understood the Java implementation, that we support dates projection only for year, month, and day?
@liurenjie1024
I converted this to a draft - since I had to change the design. I'll push this draft, so you can verify. Basically, I got rid of the trait and implemented boundary on Datum itself - which makes more sense to me, now that I have a better overall picture with the dates transformations in mind.

Basically, I got rid of the trait and implemented boundary on Datum itself - which makes more sense to me, now that I have a better overall picture with the dates transformations in mind.

@marvinlanhenke Thanks for this, I also an boundary trait is a little over design, and implementing them directly on Datum seems better to me.

@liurenjie1024
I think I covered most of your suggestions.
PTAL if the overall design and implementation in general is fine?
Unresolved Issues:

[ ] How to handle PrimitiveType::Time and PrimitiveType::Timestamp for Dates projection and boundary adjustment
[ ] Move Transform specific logic into /transform (e.g. logic to handle Transform::Bucket projection -> /transform/bucket.rs)
[ ] Port Java testsuite

to 1) I think we need to take PrimitiveType::Time and convert it to PrimitiveType::Date and then adjust the boundary. If this is correct, I still havent found a way to convert between those types. Perhaps someone can point me in the right direction?

*due to easter-holidays (and my two children) - I can probably do only some minimal work on this over the weekend

Hi, @marvinlanhenke Thanks for your contribution, the overall design looks good to me! Please take your time and enjoy time with family😁

@Fokko @liurenjie1024
I'm having trouble understanding/ verifiying the test-case for timestamps_day_inclusive_epoch for the case greater than.
If I understood correctly timestamps are handled as follows:

call truncateLong -> add +1L, rewrite OP to GT_EQ and apply transformation
then fixInclusiveTimeProjection -> for GT_EQ -> do nothing, simply return

so this would leave me with a predicate with an OP -> GT_EQ and a new literal (+1L) -> "1970-01-02T00:00:00.000000"?
Why would the test then check for "1970-01-01" // I can't find the part I'm missing; Is there some part that adjusts the boundary after the fact? Or is the +1L in truncateLong not applied? This is the last part I need to port.
Thanks for your help.

@Fokko @liurenjie1024
PTAL
I ported all the tests - and fixed #311. Now, all tests are passing and align with the Java implementation.
I think we only can optimize the design/ structure by perhaps moving the test-suite to the respective transforms (e.g. bucket.rs, etc)? Other than that I think we are good to go?

@Fokko @liurenjie1024 PTAL
I ported all the tests - and fixed #311. Now, all tests are passing and align with the Java implementation. I think we only can optimize the design/ structure by perhaps moving the test-suite to the respective transforms (e.g. bucket.rs, etc)? Other than that I think we are good to go?

Hi, @marvinlanhenke Thanks, I'll take a careful look of this pr. About moving the specific logic into respective transforms, do you plan to do it in this pr or in following prs?

@Fokko @liurenjie1024 PTAL
I ported all the tests - and fixed #311. Now, all tests are passing and align with the Java implementation. I think we only can optimize the design/ structure by perhaps moving the test-suite to the respective transforms (e.g. bucket.rs, etc)? Other than that I think we are good to go?

Hi, @marvinlanhenke Thanks, I'll take a careful look of this pr. About moving the specific logic into respective transforms, do you plan to do it in this pr or in following prs?

... I haven made up my mind yet. I think we can merge this if its okay, in order to unblock #253?
Also I'm not so sure anymore we have to move the logic at all? Since most of the helper functions handle logic that is not dependent of the type of transform? And don't know - perhaps you can outline the refactor high-level what you have in mind?

Hi, @marvinlanhenke I skimmed through the code and it seems that we only need to split tests into separate modules to make it easier to maintain and read. But I agree that we can merge it first to unblock following features, so it's up to you.

Hi, @marvinlanhenke I skimmed through the code and it seems that we only need to split tests into separate modules to make it easier to maintain and read. But I agree that we can merge it first to unblock following features, so it's up to you.

Take your time while reviewing in the meantime - I'll open another draft with a possible refactor and we can compare whats best? I 'm thinking of splitting the code into Identity, Bucket, Truncate and Temporal logic - including the tests. This however might introduce some minor code duplication (I'll have to try and see for myself though)

Hi, @marvinlanhenke Thanks for pr, it looks great! I have some small suggestion to restructure the code to make it easier for review. Really greatful for these tests!

Thanks for the review, I'll get to your suggestions - those should be easy to fix.

cc @Fokko Do you have other comments?

Hi, @marvinlanhenke Thanks for pr, it looks great! I have some small suggestion to restructure the code to make it easier for review. Really greatful for these tests!

Thanks for the review - I did some minor fixes according to your suggestions. If no other comments, I think we're good to go.


Improvements ( Todos ? )

Want to add ouple of things missing:

[ ] The generated file inside the build folder is not minified -- this should be configured in rollup.js.
[ ] Unit tests  ?
[ ] Starting the scanning as soon as the class is initialized doesn't seems to be a good pattern. What you think if we create  a start method ( which can accept the callback ) and stop methods.

Those are all amazing ideas @shidhincr
I think they are fantastic things to get sorted out.


[FLINK-2951] [Table API] add union operator to Table API.

Currently, union operation is supported by DataSet/DataStream API, not available in Table API. To union two tables, user has to transform the parameter input to DataSet/DataStream, for example:
val unionDs = left.union(right.toDataSet[Row])
It should be more API friendly to user if add union operation to Table API, like:
val unionDs = left.union(right)

Looks very good, with tests. :smile:
I just had one remark about a test method name.

The code looks good except the tests that write to disk instead of using collect().
Could you also update the Table API documentation for the new operator?

Thanks, @twalthr , i've updated the UT to use collect() instead of writing to disk. Besides, about the documentation, i found there is no other operator description on Table API page as well, so i created a seperate JIRA https://issues.apache.org/jira/browse/FLINK-2955 to add introduction for all supported operators.

@twalthr Do you want to take care of merging this as well as the other Table API PRs? :smile:

By the other I meant the documentation PR.

@aljoscha yes, I'll take care of the two PRs ;)


select2 minimuminputlength doesn't work with input tag

I'm using select2 v4 full version. In my select2 options I have

select2: { data:myData,minimuminputlength:2} and it still shows all the records.
It works fine when with  tag. in my case I can't use select tag because i use third party plugin that uses select2 with input tag.
thank you in advance

Can you create a jsfiddle that reproduces this?

https://jsfiddle.net/4g0c6Lae/

Yup, looks like the issue is that Select2 applies the compatibility decorator for <input /> too late, so the MinimumInputLength decorator never actually gets triggered.

It's a pitty that this is not working for <input>, as the performance is much better than use normal <select>. That is why I monkey-patched some code to be able to limit the number of results:
  maxResults = 200

  inputData = $.fn.select2.amd.require('select2/compat/inputData')

  oldQuery = inputData::query
  inputData::query = (decorated, params, callback) ->
    newCallback = (data) -> callback({ results: data.results.slice(0, maxResults) })
    oldQuery.call(this, decorated, params, newCallback)

Of course, I would prefer using minimuminputlength, but for my application this patch is worth the perfomance gain...