[2.6.4] improve the error message for encryption key rotation error.

Issue: https://github.com/rancher/rancher/issues/36333
Problem:
RKE has the limitation that we cannot enable the Encryption Key Rotation and Secrets Encryption at the same time when editing an existing cluster. Rancher UI shows the following message that lacks details when we do that.

Solution:

The error message returned from the underlying RKE is now appended to the message, so users can see exactly what goes wrong and how to resolve the error.
We need bump the rke dependent after  https://github.com/rancher/rke/pull/2854 is merged

Tests:
Steps:

provision a one-node RKE1 cluster
wait for the cluster to be ready
edit the cluster -> edit as YAML -> set rotateEncryptionKey: true and secretsEncryptionConfig.enable: true

Results:
the following message shows in Rancher UI:
Encryption key rotation failed, please restore your cluster from backup if needed: can't rotate encryption keys: Secrets Encryption needs to be enabled first. Please disable Key Rotation and update the cluster

Closed in favor of a better solution.


Create project from database dialog should show loading indicator

When launching the Create project from database dialog from the context menu of a database, the server and database dropdown are already populated, but sometimes the database dropdown is blank for a few second while waiting for the list of databases to load.

It would be nice if there was a loading indicator like this:

I think this issue is fixed in #14511, I can no longer reproduce in latest ADS release. @kisantia can you verify?

yup this is already fixed. Sorry I forgot about this issue when I sent out that PR.


chore(deps): upgrade some indirect Pod dependencies for privacy policy

Description
There were some libs that we indirectly depend on that were flagged by this tool. This PR bumps the pod versions so that the privacy manifest is included.
Test plan
n/a
Related issues

Related to RET-1058

Backwards compatibility
Y
Network scalability
If a new NetworkId and/or Network are added in the future, the changes in this PR will:

[x] Continue to work without code changes, OR trigger a compilation error (guaranteeing we find it when a new network is added)

This isn't strictly necessary anymore after #5334


OptimizedLocking not enabled by default

Duplicate of unresolved closed issue
https://github.com/MicrosoftDocs/sql-docs/issues/8957
If we create a new DB in US East 2 and place that directly in our existing elastic pool, optimized locking is not enabled.
If we create a new db in the same region using serverless compute the property is on as expected.
Opened a ticket late last year or so on this which MS support closed after we had a workaround...
Here I am 6 months later and it's still a problem.

My previous writeup for support. This seemed to be tied at the time to VBS (https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-enclaves?view=sql-server-ver16#supported-enclave-technologies) enabling by default.
During our recent deploys that isn't happening. (creating the DBs via the Azure UI, VBS is not enabled so isn't part of the problem here).
A few updates. We were able to work around this issue.

VBS seems to be enabling on the newly deploy DBs when deploy via the Az Portal as a serverless DB.
If we deploy directly to the pool via the Az portal or bicep, the resulting DB has OptimizedLocking disabled (which again, should not be the case)
a.	This happens on our xxxxx which is a business critical tier pool
b.	If we try our dev server using a GP pool OptimizedLocking is enabled as it should be (xxxxx)
When we manually deploy using bicep
a.	Serverless – the resulting DB does NOT have VBS enabled
b.	Pool – the resulting DB still has OptimizedLocking disabled (as explain above in #2.a)

Our full workaround for both issues was to deploy via Bicep to serverless (to ensure the OptimizedLocking was enabled). After this we are able to successfully move that DB into the pool without errors (because bicep was able to create the DB without VBS enabled).

We closed that issue because the person who opened it never responded.

@PhilM-IT You should follow up with Microsoft support. Any documentation updates as the result of a known issue or incident notes would flow from the product group.


Spatial Transform Input: build() takes exactly 1 argument (2 given), Keras 1.0

The easiest code example is below but the ipython notebook does not work either with keras 1.0.3
import numpy as np
from keras.layers import Input
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation, Flatten
from keras.layers.convolutional import Convolution2D, MaxPooling2D
from seya.layers.attention import SpatialTransformer
def build_locnet(input_shape):
    locnet = Sequential()
    locnet.add(MaxPooling2D(pool_size=(2,2), input_shape=input_shape))
    locnet.add(Flatten())
    locnet.add(Dense(50))
    locnet.add(Activation('relu'))
    # initial weights for spatial layer
    b = np.zeros((2, 3), dtype='float32')
    b[0, 0] = 1
    b[1, 1] = 1
    W = np.zeros((50, 6), dtype='float32')
    weights = [W, b.flatten()]
    locnet.add(Dense(6, weights=weights))
    return locnet
test_shape = (1,64,64)
simple_locnet = build_locnet(test_shape)
st_layer = SpatialTransformer(localization_net=simple_locnet, downsample_factor = 3)(Input(shape=test_shape))

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-15-b747048206f2> in <module>()
----> 1 st_layer = SpatialTransformer(localization_net=simple_locnet, downsample_factor = 3)(Input(shape=input_shape))

.../anaconda/lib/python2.7/site-packages/keras/engine/topology.pyc in __call__(self, x, mask)
    456                                     '`layer.build(batch_input_shape)`')
    457             if len(input_shapes) == 1:
--> 458                 self.build(input_shapes[0])
    459             else:
    460                 self.build(input_shapes)

TypeError: build() takes exactly 1 argument (2 given)

Checked keras1 branch and it works fine!

The keras1 branch doesn't handle the learning_phase properly and so dropout layers cannot be used in the model (https://github.com/fchollet/keras/issues/2430)
Error message (on model.fit or model.predict)
("An input of the graph, used to compute DimShuffle{x,x}(keras_learning_phase), was not provided and not given a value.Use the Theano flag exception_verbosity='high',for more information on this error.", keras_learning_phase)

you mean if you have dropout on your locnet it crashes?

yea, it won't build the layer. You can make it but as soon as you add it to a model (sequential) or call it with another layer it throws the message

The same issue occurs if you add weight regularization in the locnet. (I'm guessing the Input layer in the locnet is what is causing this).

a friend of mine was having trouble trying to build models that were not called before hand. We build the  locnet here:
https://github.com/EderSantana/seya/blob/keras1/seya/layers/attention.py#L43
Do you guys think that if we compile the locnet before the passing it to the SpatialTransfomer we can solve the problem?
@rburt were you having similar problems the last time you played with SpatialTransfomer?

Yeah, I've had this problem too.  I think it comes from the learning_phase parameter that the dropout and regularization layers require: when the locnet has these but the main model does not, the parameter isn't passed when during the build.
I was able to get around this error by adding a dropout layer in my model like below:
locnet = Sequential()
locnet.add(MaxPooling2D(pool_size=(2,2), input_shape=input_shape))
locnet.add(Convolution2D(20, 5, 5))
locnet.add(MaxPooling2D(pool_size=(2,2)))
locnet.add(Convolution2D(20, 5, 5))

locnet.add(Flatten())
locnet.add(Dense(50))
locnet.add(Dropout(.5))
locnet.add(Activation('relu'))
locnet.add(Dense(6, weights=weights))

model = Sequential()
model.add(SpatialTransformer(localization_net=locnet,
                             downsample_factor=3, input_shape=input_shape))
model.add(Convolution2D(32, 3, 3, border_mode='same', input_shape= input_shape))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Flatten())
model.add(Dense(256))
model.add(Dropout(.01))  # Added Dropout here to fix error
model.add(Activation('relu'))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

Obviously it isn't the most elegant solution but it works as a quick fix for me.

Hello,
I'm also trying to use the spatial transformer code available on the following link (https://github.com/EderSantana/seya/blob/master/examples/Spatial Transformer Networks.ipynb)
On executing the code, I'm getting following error in the line where we add SpatialTransformer layer :
Traceback (most recent call last):
File "STN.py", line 74, in
model.add(SpatialTransformer(localization_net=locnet, downsample_factor=3, input_shape=input_shape))
File "/usr/local/lib/python2.7/dist-packages/keras/models.py", line 114, in add
layer.create_input_layer(batch_input_shape, input_dtype)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 341, in create_input_layer
self(x)
File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 458, in call
self.build(input_shapes[0])
TypeError: build() takes exactly 1 argument (2 given)
Version of Theano that I'm using is 1.0.5
Kindly help me solve this issue.
Thanks in advance!

@innovator1108 check if your version of keras is > 1.0, if so, use Seya's keras1 brach

@kmader @EderSantana  I met the same problem if adding dropout in the locnet. Has any of you solve the problem?

Unfortunately, it seems the keras-1 branch does not support many of the features I'm using.  Deconvolution2D doesn't seem to be implemented, and ModelCheckpoint doesn't support save_weights_only (although I could get around that one).
I wouldn't mind using a Dropout(), as I was planning on doing that anyway; however, back at the main Keras branch, I still do get the error, even with Dropout.  Also, the error happens at the addition of the SpatialTransformer, before Dropout.  How does the Dropout resolve the problem for others?
(I'm really not advanced enough in this to move the Deconv2d and ModelCheckpoint features into the Keras-1 branch.  Nor fix the build() argument errors in the master branch. :)
242     locnet = Sequential()
243     locnet.add(MaxPooling2D(pool_size=(2,2), input_shape=input_shape))
244     locnet.add(Convolution2D(20, 5, 5))
245     locnet.add(MaxPooling2D(pool_size=(2,2)))
246     locnet.add(Convolution2D(20, 5, 5))
247     locnet.add(MaxPooling2D(pool_size=(2,2)))
248     locnet.add(Convolution2D(20, 5, 5))
249
250     locnet.add(Flatten())
251     locnet.add(Dense(50))
252     locnet.add(Dropout(.5))
253     locnet.add(Activation('relu'))
254     locnet.add(Dense(6, weights=weights))
255
256     model = Sequential()
257     model.add(SpatialTransformer(localization_net=locnet, downsample_factor=1, input_sha    pe=input_shape))
258     model.add(Flatten())
259     model.add(Dense(dim*dim))
260     model.add(Dropout(.01))
261     model.add(Activation('relu'))
File "./keras_stn_imgtransform.py", line 834, in
model = create_nn_stn()
File "./keras_stn_imgtransform.py", line 257, in create_nn_stn
model.add(SpatialTransformer(localization_net=locnet, downsample_factor=1, input_shape=input_shape))
File "/home/jaggz/.local/lib/python2.7/site-packages/keras/models.py", line 294, in add
layer.create_input_layer(batch_input_shape, input_dtype)
File "/home/jaggz/.local/lib/python2.7/site-packages/keras/engine/topology.py", line 398, in create_input_layer
self(x)
File "/home/jaggz/.local/lib/python2.7/site-packages/keras/engine/topology.py", line 543, in call
self.build(input_shapes[0])
TypeError: build() takes exactly 1 argument (2 given)

hey , @EderSantana  what do you exactly mean by " use Seya's keras1 brach" if keras version is>1 .Since I am getting same error and I want to know what change should I make in the code https://github.com/EderSantana/seya/blob/master/examples/Spatial%20Transformer%20Networks.ipynb) or should i clone seya once again to my anaconda can you make it clear please?

@rammadhav987   @EderSantana meant cloning the keras1 branch, instead of the default master branch which is causing the error. You can do that with
git clone -b keras1 https://github.com/EderSantana/seya.git
I did the same, and it works fine now.


LDCs model grid can be user-defined

Hey @hover2pi,
Turns out that currently even if you change the model_grid string when creating any of the TSO objects, the only grid that is used is ACES. This is because that string is not being passed to the SOSS LDCs calculator --- this one-liner fixes that.
Let me know if you have any questions!
N.

Coverage remained the same at 56.912% when pulling 5132bb2a802c45a6522b80b0ff4f2d0e8d41e929 on nespinoza:lds-fix into e2a7b9250f38486b955b2ceb3695db20213267b0 on spacetelescope:master.


DropdownWidget 下拉挂件没有当关闭时可供使用的api

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.
No response
Describe the solution you'd like

如上图所示，在关闭这个界面时，没有回调可供使用，希望大佬加一下
https://www.blazor.zone/dropdown-widget
Additional context
No response

@lw1807190350 增加 OnItemShownAsync OnItemCloseAsync 两个回调参数


webui: inline display for code in alerts and facets

#2536 changed our s from display: block to display: inline and added
s to get newlines.
However, it failed to change display for s in the alerts or facets pane, so now those are double-spaced.
These should probably all be one css class, but I don't think the week before kubecon is the right time for a css refactor.

This is a bigger problem than I realized. Will repost later with more fixes.


Convert to runtime module

The current module mode only runs in build, this forces the ID used in build time, even if you replace on runtime.
In order to allow usage of runtimeConfig (#52), the module should be runtime, as noticed in https://github.com/nuxt-community/gtm-module/pull/53#pullrequestreview-445459552

i still cannot use gtm by using runtime config

@bagaskarala could you provide more information about your environment? That would help us to understand better your problem.

Nuxt version
Module version
Node version
A snippet of your config file


Use more informative assertions in some py tests

This just replaces assertions with equivalent ones that can give a better error message.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Ping! (this is an easy one)

Is this waiting on a review from @robertwb or can it be merged?

I think I was delaying because Python seems very unhealthy on master, just as a matter of discipline. This does seem unlikely to break anything...


Replace Google Analytic by Matomo(Piwik)

Note that timings in SDK are not sent to Matomo. The priority on it is low as it has been never used.
That could be done in a separate PR.

@manuroe:SGTM


Create onboarding for features of Studio

Reason/Context
I think the Studio could use an onboarding process where there are a few steps for new users to go through to get started in Studio, especially if coming from Playground. I think it could be a modal with 3-5 simple steps to getting started, perhaps explaining that you can start from a template, show the visualizer, etc. I think we could also use highlighting at each step in the area where the user would take an action.
I don't feel like this is a super urgent thing to work on, but thought of it when reviewing PR #282 where I was thinking of ways that we could reduce the amount of text content in the "New features" modal.
Some examples for inspiration:

Dropbox has a good example for what I am thinking about -> See this article

Hey @mcturco If nobody is working on it feature then I'd love to work on it.

Yes @yashsehgal !!! Please go for it, and I will be here for assistance/feedback as well 😄
Get with @magicmatatjahu to pin point what major things we want new users to know when first opening Studio. He should know what the major differences are vs the old Playground, but I would also focus on the features that seem to be the most useful, like "Start from a Template", "Event Visualiser", "Generate code/docs", etc.
Then, once you have all these ideas, I would suggest starting with sketches to quickly ideate through possible solutions for the onboarding process window. (Don't worry about UI just yet) Feel free to upload your sketches to this issue so we can all give feedback and maybe select the best option out of them to move forward with.
I hope this helps you get started, but let me know if you have any questions 😄

Sure @mcturco Thanks for the explanation, made a lot of things clear for me to get started.
@magicmatatjahu Please provide an idea on what potential steps/things we need to add in the onboarding flow.

Get with @magicmatatjahu to pin point what major things we want new users to know when first opening Studio. He should know what the major differences are vs the old Playground, but I would also focus on the features that seem to be the most useful, like "Start from a Template", "Event Visualiser", "Generate code/docs", etc.

Sounds nice, I can try creating a rough flow as a sketch to implement the steps you've mentioned. Will share here soon. 🚀

@mcturco @yashsehgal Hi!
I just have a question in which direction we want to go, is it in highlighting relevant elements with hints or rather a modal that will describe various functionalities with pictures of how to do something? Personally I always preferred the second option.

Please provide an idea on what potential steps/things we need to add in the onboarding flow.

Modals are currently available, we just need to add left and right scrolling functionality. As for that first option with highlighting, it's much more difficult. First let's wait to see how you see it and then we can think about implementation in code.

My original idea was that we would have a step by step modal that would highlight the features of Studio if it is your first time opening it. Like a "Hi! Welcome to AsyncAPI Studio. Get started in just a few steps" kind of thing. The modal may move around the screen as you cycle through the steps to highlight the features. Is that something that you think is possible, @magicmatatjahu?
It might be easier if @yashsehgal could sketch out some quick ideas on ways we might be able to approach this first, and then we can talk about what is possible 😄

I have created a very basic UX Flow for the onboarding process.
What's happening in this diagram?

At the very first step, when a user is going to go to studio.asyncapi.com we can check if the user is new or an existing user by utilizing local-storage feature. We can maybe create a new item in local-storage called "isUserNew" and set the value as true/false, accordingly. The data in "isUserNew" can be used to check whether we need to show the onboarding modal or not.

If we're showing the onboarding modal, I'd love to proceed with @magicmatatjahu's approach of having a single modal for everything with a sliding left/right functionality. We can first add a welcoming content with a welcome statement. I am also thinking to add a welcoming GIF (not mandatory but can work as a fun element for the product.)

After the welcoming content, we can one-by-one show the features (most common and frequently used features) in asyncapi/studio with proper screenshots and description. Something like shown below:

All the slides in the modal which are going to be added will be having a Next, Previous and Skip button. (Only the first slide will not have a previous button, of course)
And, we can add a "Get Started" button on the last step of onboarding, just like an initiating action.

Let me know, what do you all think about this?
CC: @magicmatatjahu @mcturco

@yashsehgal 🎉  🎉  🎉  This looks stunning!
Okay yes, I agree the single modal would be a good idea as long as we have screenshots of the main features.
I love it overall, so I am going to say move forward with this idea keeping in mind the following questions that I have:

Wondering if we should group the "Previous" button next to the "Next" button? I wonder if that makes more sense as they have relating actions: move to the next slide, move to the previous slide, vs the "Skip" button that is to exit the experience.
Should we include slide number indicators? I am thinking about the dots that tell you how many slides there are total and what slide you are on. Or perhaps we consider something like: "page 1 of 5" or something?
Do we need an "X" icon in the top right as well in case someone wants to exit the experience and goes to the top right first looking for a way out?
Should we just show 1 full image in each step versus showing the overlap of each next image?

Also we should change colors from dark/blue to white/pink as currently we have in studio's modal.

I am actually LOVING this blue and I think this could be applied to the tooling design system since we will want all AsyncAPI tools to have a similar interface. I think that if we use a different color for each tool we will lose consistency across UI tools (I know that Studio is the only one right now, but we should think of how to scale the UI so we do not have to reinvent the wheel every single time we are ready to make a new tool). I think the UI would be stronger with the blue buttons, so perhaps we use this project to change all UI buttons in Studio to either this blue or this gray shown above. Plus, the blue matches the background colors of studio a bit better than the pink does. But we can definitely try out different UI options so as not to limit ourselves.
Keep going!!! 🚀

Thanks for your feedbacks @mcturco @magicmatatjahu
I have followed your points and tried to implement a basic UI flow for our onboarding feature.
Hope you are going to like my work.

Demo deployment of the component: https://onboarding-flow.vercel.app/
Check out the React code here: https://github.com/yashsehgal/onboarding-flow

@mcturco

Should we include slide number indicators? I am thinking about the dots that tell you how many slides there are total and what slide you are on. Or perhaps we consider something like: "page 1 of 5" or something?

Yeah, we can also show bullets and the highlighted bullet would show which slide we are currently on. I think this is a more common solution because every time I think about slides in web applications the order is determined by bullets.

Do we need an "X" icon in the top right as well in case someone wants to exit the experience and goes to the top right first looking for a way out?

Yeah, atm we don't have that icon in normal modals - we should fix it.

Should we just show 1 full image in each step versus showing the overlap of each next image?

What do you have in mind about "overlap"? Do you have some examples (it can be simple image) - maybe I understand but maybe not 🤣 .

I am actually LOVING this blue and I think this could be applied to the tooling design system since we will want all AsyncAPI tools to have a similar interface. I think that if we use a different color for each tool we will lose consistency across UI tools (I know that Studio is the only one right now, but we should think of how to scale the UI so we do not have to reinvent the wheel every single time we are ready to make a new tool). I think the UI would be stronger with the blue buttons, so perhaps we use this project to change all UI buttons in Studio to either this blue or this gray shown above. Plus, the blue matches the background colors of studio a bit better than the pink does. But we can definitely try out different UI options so as not to limit ourselves.

Changing colors is not a problem at all. I choose pink because I thought (when I started writing Studio) that it fit perfectly with that "dark grey" that we have in navigation etc, but yeah, blue is better. It's more "neutral".
We can create PR with colors change before adding this new functionality. The question is what about the logo, will it still be pink?

@yashsehgal Hi! I like it very much. Of course there are different animations/styles that we have currently in Studio, but overall we should go in this direction. Also as I wrote in my previous comment, we should have also something like "tabs" or list of features that people will have easy mode to "switch" between tutorials - having everything in one carousel can be problematic in the future.
However, I don't understand one thing:

What is the bar at the bottom? The progress bar? Because it doesn't show correct progress percentage in implementation.

@yashsehgal Hi! I like it very much. Of course there are different animations/styles that we have currently in Studio, but overall we should go in this direction. Also as I wrote in my previous comment, we should have also something like "tabs" or list of features that people will have easy mode to "switch" between tutorials - having everything in one carousel can be problematic in the future.

Thanks, I am glad you liked it.
Alright, so I can add a tab feature to switch between general carousel flow and tutorials list. Thanks for mentioning this point, I forgot about it before.

However, I don't understand one thing:

What is the bar at the bottom? The progress bar? Because it doesn't show correct progress percentage in implementation.

Oh, this is actually the scroll-bar I have styled for scrolling images. In case we want to add multiple images, the user slide scroll horizontally to see all the photos/screenshots.

@yashsehgal Hah, ok 😄  I don't think so that we should add multiple images for single slide, one pic - one slide should be good.
Also about indicators, we should try implement dots indicators like in these examples:
https://tympanus.net/Development/DotNavigationStyles/

@magicmatatjahu

Should we just show 1 full image in each step versus showing the overlap of each next image?

What do you have in mind about "overlap"? Do you have some examples (it can be simple image) - maybe I understand but maybe not 🤣 .

I think @yashsehgal was showing a bit of the next image (must be to indicate the horizontal scrolling images), so that's what I was questioning whether we needed that. I think we can create an illustration/image that can represent each slide

Yeah, atm we don't have that icon in normal modals - we should fix it.

Yeah, I think that is something that could be resolved via a PR for this issue, unless you think we should resolve that in a separate issue first?

We can create PR with colors change before adding this new functionality. The question is what about the logo, will it still be pink?

Yeah, so we do have a project open for a design system for tools in which @yashsehgal is going to work on as well, and Studio is the only tool so far that this design system will be applied to. But think of the UI as something that we are going to apply to future UI tools. This is why I think the blue is a good neutral color that all the tooling logos can share. The logo will still be pink! 😄
@yashsehgal, I am thinking that we need to focus on the user experience first and foremost. Don't get too caught up in applying visual design styles at this stage. It might be smart to first apply the UI styles that already exist in Studio and focus on creating a good experience flow. Then later when we start working on the design system we can begin to apply the new components in a draft PR and then launch the new styles all at once. What do you think?

@yashsehgal Hah, ok 😄 I don't think so that we should add multiple images for single slide, one pic - one slide should be good.

Agreed with @magicmatatjahu on this one! 😄

Also about"navigation", we should try implement dots like in these examples:

https://tympanus.net/Development/DotNavigationStyles/

YES! Exactly what I had in mind. I think any of these implementations could work 😄

Hey,
Sorry for taking a pause on this feature, I was having my final exams.
I have added a small feature to show the progress of the onboarding steps in the component.
I tried to add the dots-concept that @magicmatatjahu shared at https://tympanus.net/Development/DotNavigationStyles/
But I was not able to implement it properly, was getting some logical issues.
Thus, I tried to add something like a progress bar that we can show at the top of the onboarding modal itself. Showing the completed steps of onboarding. Some as shown below.

On Step 3/4

On Step 2/4

On the final step (last slide)

You can check the updated deployment for this at: https://onboarding-flow.vercel.app/
If this looks good, we can move forward with this. Waiting for your response.
CC: @magicmatatjahu @mcturco

@yashsehgal I want to challenge your decision of using a progress bar instead of the step indicator.
In UX design, a status bar indicator design pattern is expected more often in a loading screen where a percentage is also shown to illustrate how much longer in the process there is left before the user can expect the application to be loaded. While I have seen this progress bar used in things like blog post length and form progress, I am wondering if it is the best solution for this use case. 🤔
Using dots to show slide progress is a design pattern we expect on things like image sliders (Instagram) where the user knows where they are in the process and how much longer they can expect until they complete the process. Have you ever read a book and counted the pages left until the next chapter to see when you can expect to reach your stopping point for that reading session? I think we need to provide the same type of indicator in this scenario.
Do not feel like you have to sacrifice good UX because there are issues with the code implementation. These things can almost always be resolved with a little help!! 😄
Also - for UI design, I would go back to the previous style you had as I feel like it is more neutral so that we can use it in future UI tools as well, but don't get super caught up in UI, let's make sure the UX is the best choice for this component 😄

@mcturco @yashsehgal yeah, I agree with Missy, status bar indicator in our case isn't good approach, we should go with dots indicator, of course as you said, there is a some problems with implementation so I can help you with this.
However, I insist that you start developing the code for the new modal in Studio's source code and not in a separate project - if you were planning to make the modal available as a separate component in npm, I have to say sorry, we will not accept this, for now it should be in our project, then we can think about extracting it in separate studio-u-kit :)
Maybe it will be funny, and from some days I'm playing Sims3 😆 and there is nice tutorials panel like below (it's from sims4, but it's very similar in sims3):

So on left we have list of available tutorials and on right we have pictures with given description and indicators. What do you think on that structure?

Got your points @mcturco and @magicmatatjahu
So, I can start implementing the dots and slider-count feature instead of the progress bar.

However, I insist that you start developing the code for the new modal in Studio's source code and not in a separate project - if you were planning to make the modal available as a separate component in npm, I have to say sorry, we will not accept this, for now it should be in our project, then we can think about extracting it in separate studio-u-kit :)

Of course not @magicmatatjahu, I have created a separate repository just to properly learn and implement this feature then I will code the final component "confidently" in the main studio's project repository.
Also, just got a thought of it, I am gonna make a react-package to provide the progress-bar feature to components. Will work on that soon.

@yashsehgal Awesome! One thing that we should improve: Dots should be clickable, so it means that people can go to appropriate slide without reclicking next/prev.
Of course you can start implementation in Studio. Let me know if you will have any problems with setup dev env and with code!
Also @mcturco Could you refer to that comment https://github.com/asyncapi/studio/issues/284#issuecomment-1155030264 What do you think about that list of tutorials?

@yashsehgal However, I wonder if we should use some existing libraries for such a things, like a http://react-responsive-carousel.js.org/ What do you think? I know some of your work will be wasted, but by using the library we will have mobile support as well (I mean swap behaviour).
cc @mcturco

Yeah, I don't have any issues with that. If there's already a library/package supporting this feature. We can go for it, for sure.
I will try to implement a similar component using the react-responsive-carousel and will let you know, when I am comfortable to start with the main studio repository.

Sounds good to me! As long as we can still customize the layout using this react slider, I am cool with it!
@yashsehgal as far as styles go, I would reference the Popover component that we just added to the Studio for the onboarding window. Look at border radius, padding, type styles, button styles and use as much of what is there for this new component.

@yashsehgal as far as styles go, I would reference the Popover component that we just added to the Studio for the onboarding window. Look at border radius, padding, type styles, button styles and use as much of what is there for this new component.

For sure @mcturco I will keep the existing design patterns in my mind, while implementing this feature.

I have tried implementing the same onboarding component using react-responsive-carousel but was finding it a little complex to work with. I have tried with multiple ways and looked on the internet too but the stylings that they've shown on their website is not working while implementing those features.
Also some features are very different from what we want in a slide-based carousel. Things that they were providing like external slide-navigation control and mobile-view responsiveness, I have added all of them from scratch using all the base logics and TailwindCSS stylings and I found it promising to go ahead with. But I want your opinions as well. If we need to try react-responsive-carousel and some of their additional features then I can try more things to implement that as well.
Here's the latest deployment: https://onboarding-flow.vercel.app/
Things that are added/improved

Added local-storage logic to check that if a user is new to the website or existing and showing the onboarding feature, accordingly.
Added mobile screen support and responsiveness for nearly all the possible screen sizes.
Added arrow-based external slide-navigation control.

Referenced PRs

https://github.com/yashsehgal/onboarding-flow/pull/4
https://github.com/yashsehgal/onboarding-flow/pull/6

Looking forward to your views.
CC: @magicmatatjahu @mcturco

@yashsehgal Implementing such a component from scratch is not a good idea. On our website we try to use swiper https://swiperjs.com/react and it's really great - you can check code here https://github.com/asyncapi/website/blob/471053260bf0346f1db6e728fbfa8649824abe54/components/newsroom/NewsroomBlogPosts.js#L33! Could you test it in your case?

Added local-storage logic to check that if a user is new to the website or existing and showing the onboarding feature, accordingly.

I don't think it's good idea. People should have possibility to always check guides. Of course we can show some welcoming modal with information about "new" tutorials but it's all.
Could you start implementation in Studio? :)

@yashsehgal Implementing such a component from scratch is not a good idea. On our website we try to use swiper https://swiperjs.com/react and it's really great - you can check code here https://github.com/asyncapi/website/blob/471053260bf0346f1db6e728fbfa8649824abe54/components/newsroom/NewsroomBlogPosts.js#L33! Could you test it in your case?

Yeah sure, I think swiper is good for a feature like this. Thanks for sharing the code for reference as well.

Added local-storage logic to check that if a user is new to the website or existing and showing the onboarding feature, accordingly.

I don't think it's good idea. People should have possibility to always check guides. Of course we can show some welcoming modal with information about "new" tutorials but it's all.

Yeah, that's right. What my idea was is if the user is using studio for the first time, we can use that information to highlight the onboarding feature (so that if the user is new, they'll open it)
And if the user is existing, then also the button for see the onboarding features will be there but will not be highlight. Hope this is a good explaining.

Could you start implementation in Studio? :)

Yeah sure, I can start working on it, will create a new branch and update here :))

One more thing I had to discuss @magicmatatjahu @mcturco
As I am going to start implementing this feature in the main studio repository now, where should I add the action/button to start showing onboarding features.
Should I create an icon action-button in the bottom left, as @magicmatatjahu suggested in this comment

As I am going to start implementing this feature in the main studio repository now, where should I add the action/button to start showing onboarding features.
Should I create an icon action-button in the bottom left, as @magicmatatjahu suggested in https://github.com/asyncapi/studio/issues/284#issuecomment-1127704407

I'm in favour of action-button in the bottom left above settings (gear) icon.

Still needed.

@mcturco @magicmatatjahu Is someone still working on this issue ?

Hi @Amzani, if no one else has resolved the issue yet, can I work on it?

Hello @Amzani  @magicmatatjahu Should I take this issue up and pickup from the PR that @yashsehgal made https://github.com/asyncapi/studio/pull/396?

Hi @helios2003, @fillingtothemomo
I suggest to start working on this after NextJS migration, I'll update this issue

bounty/candidate

/bounty

Bounty Issue's service comment
Text labels: bounty/2024-Q3, bounty/medium, bounty/coding
First assignment to third-party contributors: 2024-06-21 00:00:00 UTC+12:00
End Of Life after: 2024-07-31 23:59:59 UTC-12:00
@asyncapi/bounty_team
The Bounty Program is not a Mentorship Program. The accepted level of Bounty Program Participants is Middle/Senior.
Third-party contributors should coherently articulate how they are going to approach the resolution process when expressing a desire to work on this Bounty Issue.

I would love to take this issue.
I think we can implement this using this library : )
https://driverjs.com/

@aialok could you please elaborate regarding how are you planning to implement it. Please take note regarding the discussion preceding this as well.

Sure, I will be coming with complete details.
Thank u : )

Hi @Shurtu-gal , I would like to work on these features. This is how I will approach to build the feature

Verify the first user, I will store whether the user is new or not in the window.localStorage
Modal is very similar to AsyncApi template feature, so I will use the same Headless UI for this one
Carousel, for this one, I will go with Tailwind CSS Carousel - Flowbite because it's compatible with TailwindCSS, just install it as TailwindCSS plugin and we got all the functionality we needed, left/right button for swipe, indicator with dots and animation

How I'm integrating custom description and carousel from Flowbite?
Based on Flowbite docs, they provide options for us to configure:

Default Position, I will match this with useState default value which will trigger the update of the description based on an index
onNext, I will trigger increment +1 with useState and update the description
onPrev, I will trigger decrement -1 with useState and update the description

Hey @Shurtu-gal !!
I created a simple demo how this is going to work. we can twick this to get our desired result.
Here is snapshot :
Screencast from 2024-06-19 20-17-46.webm
If this demo looks good then I will go with actual implementation.
Thank you : )

@aialok this looks cool. Instead of having a carousel, this looks much better.

Should I go with this implementation?
I have few question to start with : )
Thank you @KhudaDad414

@jerensl I am assigning this issue to @aialok as he approached first and had a better implementation idea as well.

Bounty Issue's Timeline

Complexity Level
Assignment Date (by GitHub)
Start Date (by BP Rules)
End Date (by BP Rules)
Draft PR Submission
Final PR Merge Start
Final PR Merge End

Medium
2024-06-21
2024-07-01
2024-08-11
2024-07-14
2024-07-28
2024-08-11

Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.

Hey team : )
I have discussed with @Shurtu-gal on slack about the steps to add  :

New file ( it shows a bunch of template )
Sharing feature
The terminal part where all errors are being shown
Generation of code and docs (currently broken)
Conversion b/w json and yaml
Importing from file
Settings
about async api studio [ Logo ]
Code editor and Preview Tab
Information Tab

Is there anything missing? or this is too much please provide your feedback on this.
Also what should be styling of card like color, font etc?
Thank you : )

We can store it in both local storage as well as cookies just for safety. Don't want to annoy users. Furthermore, some more things from the top of my mind:

Have a button in settings or some other place so that user can view tutorial anytime he wants.
Have a skip feature for people who already know it.

We can store it in both local storage as well as cookies just for safety. Don't want to annoy users. Furthermore, some more things from the top of my mind:

Have a button in settings or some other place so that user can view tutorial anytime he wants.
Have a skip feature for people who already know it.

Sure, I will be take care of these things.

I will be putting one button on top of setting button in side bar.
For skipping feature when we you click anywhere in the screen apart from the card and selected component. It will get skipped.

Thank you : )

PR https://github.com/asyncapi/studio/pull/1120 that resolves this Bounty Issue was ready to merge on 2024-08-09, but it is still waiting for the final review.

Just need a final review from @Amzani and disabling of SonarCloud check and we are good to go.

Response, critical for technical resolution of this Bounty Issue (final PR merge) was delayed for six periods of three consecutive working days
https://github.com/asyncapi/studio/pull/1120#issuecomment-2278235403
https://github.com/asyncapi/studio/pull/1120#issuecomment-2368162922
so all remaining target dates of the Bounty Issue's Timeline are extended by seven calendar weeks.
Bounty Issue's Timeline Extended

Complexity Level
Assignment Date (by GitHub)
Start Date (by BP Rules)
End Date (by BP Rules)
Draft PR Submission
Final PR Merge Start
Final PR Merge End

Medium
2024-06-21
2024-07-01
2024-09-29
2024-07-14
2024-07-28
2024-09-29

Please note that the dates given represent deadlines, not specific dates, so if the goal is reached sooner, it's better.
Keep in mind the responsibility for violations of the Timeline.


Patterns for removing white space

@MrTheSoulz
Since your test didn't seem to work I thought I'd write up some patterns for removing whitespace from the CR. Here's what I arrived at:
test = "talent(4,2) & {action(Fire Blast).charges < 0.2 & {cooldown(Combustion).remains > 65 || target.boss_time_to_die < cooldown(Combustion).remains}}"

return test:gsub("%b()", function(s) return s:gsub(" ", "replacementforspace") end):gsub("%s", ""):gsub("replacementforspace", " ")

Output:
talent(4,2)&{action(Fire Blast).charges<0.2&{cooldown(Combustion).remains>65||target.boss_time_to_die<cooldown(Combustion).remains}}    1

This is awesome!
Gonna test it and send, thanks

sent in: https://github.com/MrTheSoulz/NerdPack/commit/0b56f117c24fbd2c4b43a0295f46a3688127544f


[DataLoader] Inject the service container

Hey!
This PR fixes #184 by injecting the container in the data loader.

Thanks for it @egeloen, some small changes and this can be merged :)

@theofidry All comments have been applied :)

@theofidry PR ready to merge :)

Nice! Thanks very much :)


add new portfolio button with drop down, remove old one

IT WORKED FINALLY
no one truly understands how many nights I have tossed and turned over thoughts of how to fix this dropdown menu

This is a moment to be remembered


[web][feature_request] Scroll when middle mouse scroll key is clicked

Use case
Activate scroll when the middle mouse scroll key is clicked on the web page.
Proposal
Switch the cursor icon to the pointer icon. Scroll up or down depending on the position of the cursor from when it was clicked.

This is a general Windows scrolling issue, which should be fixable purely on the framework side. So I'm removing the web label. However, if the framework needs some API from the engine, we can add the label back and discuss what API would be needed to implement this.
/cc @goderbauer

This looks like it is a duplicate of https://github.com/flutter/flutter/issues/66537

Duplicate of https://github.com/flutter/flutter/issues/66537.


SemanticallyEqual: Fix bug in visitFieldAccess()

When comparing J.FieldAccess instances, the targets also needs to be compared.

The fix I made is not quite right yet. I will look into it next week.


1.0.9 dev final merge

make everything up to date with anibal's changes

pulling in anibal's updates


data-urlencode HTTP Post  Event Handler

will be possible to send a HTTP request to Twilio HTTP API with the Post Event Handler ?
var trigger = data
    |alert()
        .crit(lambda: "value" >= crit)
        .message(message)
        .post()
		.endpoint('twilio')
		.captureResponse()

i configured twilio as endpoint in my kapacitor.conf file like this:
[[httppost]]
        endpoint = "twilio"
        url = "https://api.twilio.com/2010-04-01/Accounts/XXXXXXXXXX/Messages.json"
        basic-auth = { username = "ZZZ", password = "YYY" }
        alert-template-file = "/templates/twilio.tmpl"

But Twilio supports requests with the following format( in curl):
curl -X POST https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Messages.json \
--data-urlencode "From=+15005550006" \
--data-urlencode "Body=Do. Or do not. There is no try." \
--data-urlencode "To=+14108675310" \
-u ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:<token>

But i don't have idea how to set the --data-urlencode properties with the current version of the Post Event Handler or if it is supported at leats. I tried with alert-template-file in my kapacitor.conf file  like this:
"Body"="{{.Message}}"
"From"="+11111111"
"To"="+11111111111"

but im not sure if that's the way. Twilios responded with 400 ( From number is required )

+1


Implement public dns MVP

Based off of review of current public dns, here are the requirements for the MVP:

Support standalone containers

Might require coding against wagyu branch.
Should follow same naming convention as services but use container name instead of service name.

Change FQDN format to: myservice-6s3ifh.38r73f.a.foo.com (service)-(stack random).(env random).(shard in the future).(TLD)

stack random  should be derived from stack uuid. env random should be derived from environment uuid

Work with @cloudnautique to ensure it is deployable in the new environment

Create a private catalog to deploy this in the new environment. Will need to work with @cloudnautique to ensure we are setting up keys properly
Use a non-rancher domain ( @cloudnautique )
Obtain 1 hosted zone to start. WIll need to be configured as part of deployment scripts

Other requirements that came up but are not in scope for MVP:

Support sharding

Administrative UI for managing shards and hosted zones (if we switch from route53, we should make sure this solution works there too)

Research moving to a different dns provider. Analysis should include the cost and the sharding requirements (ie right now route53 caps a hosted zone at 10k entries)
Add Rancher installation ID as a a column in the DB that is recorded for each entry so that we can identify where requests are coming from
Implement garbage collection

Periodically check for entries from installations that have not been touched/updated in some configurable amount of time

Add validation for container/service in Cattle to ensure the name in the stack is unique.  Currently a service foo and a standalone container named foo can both exist, hilarity will ensue.
Change service name length limit to 50 chars in Cattle.
If external-dns driver sees a name >50 chars, log an error and ignore the record (to handle existing records that may exceed).
If external-dns sees more than one record with the same (name, stack, env) tuple, log an error and ignore the record (again to handle possible existing data)
(Just a note) The reason for the naming being service-stack.env.[tld] is so that a single wildcard cert can cover anything in the environment later.
I'd like to see moderate load testing to ensure this isn't going to immediately hit some unknown AWS rate limit and blow up in our face.

Add validation for container/service in Cattle to ensure the name in the stack is unique. Currently a service foo and a standalone container named foo can both exist, hilarity will ensue.
How does backpopulation affect this?

@vincent99  Will the first deployment have an actual shard component to the fqdn or is the lack of a shard component the first shard?

Need to circle back on how we are generating the radom bits based off of uuids

@cjellick  @vincent99 About generating stack and env random:
Should we use a random number generator ("github.com/moby/moby/pkg/random") and pick a fixed number of characters from stack/env uuid using a random index generated?
stack_uuid[random.Rand.Intn(len(stack_uuid))] picks a character randomly from the stack_uuid

Break-down of tasks per component:

rancher-public-dns Service

Might require coding against wagyu branch.
Change current API POST /v1-rancher-dns/rootdomaininfo {external-dns service token}
Remove the code to generate the uuid of form (random adjective- random noun)
API should take in the env_uuid along with the token and return a root domain of format (env-random).(shard in the future).(TLD)
Changes to db to add a columns to store (token, env-uuid, env-random)
Changes to Connect to amazon route53 using IAM profile instead of keys
Generate new public-dns-client for changes in API

external-dns provider

Read env-uuid along with the metadata/self/service/token and pass to POST /v1-rancher-dns/rootdomaininfo
Implement fixed FQDN format (do not expose FQDN format in catalog as a parameter):  (service/container name)-(stack random).(root domain returned by above POST API
Look at standalone containers in metadata along with service containers and CRUD dns records for these containers as well.
Figure out how to differentiate the standalone containers from the containers that are part of service [check if some field in metadata distinguishes them]. Add dns records for these containers as well.
Find out what labels should be put by cattle on standalone containers so that external-dns picks them up (ref: services with exposed ports only are picked up by external-dns since they have a system label on them “io.rancher.service.external_dns”)
Implement checks:

If external-dns driver sees a service/container name >50 chars, log an error and ignore the record (to handle existing records that may exceed).
If external-dns sees more than one record with the same (name, stack, env) tuple, log an error and ignore the record (again to handle possible existing data)

Since looking at services in metadata is common code for all external-dns providers, will we be supporting the stand-alone container dans record generation for all current providers? Or do we do this change only for rancher-public-dans provider?

cattle:

Place labels needed by external-dns on standalone container having exposed ports
Add a field FQDN to instance table
Change the external-dns event handling to populate the FQDN for standalone containers as well
Add validation for container/service in Cattle to ensure the name in the stack is unique. Currently a service foo and a standalone container named foo can both exist. {follow-up on container back population and k8s service back population}
Change service name length limit to 50 chars in Cattle.

catalog:

Create a catalog item in a private catalog for external-dns provider

Tests:

Validation tests for service and stand-alone containers
Load tests

external-dns change to look for standalone containers in metadata along with service containers and CRUD dns records for these containers as well:

Loop over metadata.GetContainers(), for containers that have:

If service_name is "" && service_index is "", but stack_name and stack_uuid is set [then this is a standalone container], then check:

has "running" State and "healthy"/"updating-healthy"/"" HealthState
If has (label "io.rancher.service.external_dns" = "auto" (default value is "auto") and ports exposed) ||  (label "io.rancher.service.external_dns" == "always"), then:

Check for Host Label: io.rancher.host.external_dns  = true
DNS IP = "io.rancher.host.external_dns_ip" OR container.Ports.IP OR host.AgentIP
form the FQDN by (container_name)-(stack random).(rootDomain)
add DNS record

How to generate the FQDN:  (service)-(stack random).(env random).(shard in the future).(TLD)
Example: myservice-6s3ifh.38r73f.a.foo.com
Part:  (shard in the future).(TLD)
Component Involved: rancher-public-dns service
Specs:

(TLD)

is the Rancher's hosted zone domain on AWS route53. Provided to the rancher-public-dns service via ENV variables/ command parameter.

(shard in the future)

ENV variable to rancher-public-dns service
Start with no shard? OR use a shard value as "a" to denote the first shard?

Part:  (env random)
Component Involved: external-dns provider, rancher-public-dns service
Specs:

external-dns Provider:

Read the self "token" from metadata - will uniquely identify the environment the provider is launched for. Call rancher-public-dns to generate a root domain for the token.
will store this {token, (env-random)} to file and use for auth for subsequent rancher-public-dns API calls

rancher-public-dns Service

Use the current API POST /v1-rancher-dns/rootdomaininfo {external-dns service "token" from metadata}
Remove the current code to generate the uuid of the form (random adjective- random noun)
API should generate a random 6 char string for (env-random)  and return a root domain of format (env-random).(shard in the future).(TLD)
Store (token, env-random) mapping in rancher-public-dns DB and use "unique" constraint over env-random
Should we also store the env_uuid in the DB along with this "token", for information purpose only?

Part: (service)-(stack random)
Component Involved: external-dns provider
Specs:

external-dns Provider:

From metadata, for each service/standalone container with exposed port:

Generate the (stack random) from stack_uuid - 6 chars [Need to always return the same random for a give uuid ] Any recommendations for this algorithm?
Truncate the service/container name such that (service)-(stack random) <= 63 chars
Program this FQDN { (service)-(stack random).(rootDomain) } via rancher-public-dns on aws route53.
Here (rootDomain) = (env random).(shard in the future).(TLD) returned by rancher-public-dns on the provider init.

Cattle: (requirements added From Vince)

Limit container/service name to 50 chars
Add validation for container/service in Cattle to ensure the name in the stack is unique. [Currently a service foo and a standalone container named foo can both exist in same stack.]
How will back population affect the name unique requirement?

Container names will have to be valid DNS names.

1-50 characters long (it can be 63 but we will limit to 50 to avoid truncation while creating fqdn)
Consisting only of A-Z, 0-9, and hyphen
Can't start of end with a hyphen
Can't contain 2 consecutive hyphens

About not having "underscore" in container names:
from @vincent99
Underscore is weird; it's not allowed by the DNS spec (for the kind of records we're creating), but it works fine in most, but not all places.  There are a few common clients (like one of the monitoring apps, not sure which) that have problems with them
Some DNS tools care a lot about it.  According to issues: Datadog, Webspehere, Solr, ActiveMQ, Gluster, Hadoop, Netflix Zuul.  Most of those are no longer an issue because service containers are named stack-service-num instead of using underscore like we used to, but Datadog looks at all the things on the host
So Darren and I think underscore shouldn't be allowed on container, and the agent should substitute them when back-populating containers

For this issue to be fixed, we also need to take care of:
https://github.com/rancher/rancher/issues/9180

The PRs on this ticket are marked WIP just to indicate they depend on cattle:master code and not applicable to 1.6.x

We are not going to do this for 1.6


possible correction for quick start guide

It says degit halfnelson/svelte-native-template myapp.
Shouldn't that start with npx?

The current one works if you have degit installed globally https://github.com/Rich-Harris/degit#usage
but you have a point, it may not be the case and npx will work for all the time.

I have updated the quickstart and tutorial with npx. Thanks!


Add complete_info()

I have added complete_mode() API.
It returns current ctrl_x mode as string.
It is useful for auto completion plugin.

I would also be interested in this patch.
I do see Bram's comment on

I wonder if other completion state would be useful.

One option would be to have complete_info() that returns the following. Feel free to suggest better names.
{
    "mode": "omni",
    "items": [],
    "selected": -1, // index of items
    "height": 10,
    "width": 20
}

For start we could only return {"mode": "omni" } and add others as needed. We can add docs that says to check of key before accessing it.

I have renamed complete_mode() to complete_info().

Patch to add complete_mode().  Shougo - #3866.  Alternate patch by Hirohito
Higashi, 2019 Jan 27, included now?

@brammool I have already included Higashi's patch.

@Shougo
Do NOT use my patch.
I'll Pull Request for a few days
--
Best regards,
Hirohito Higashi (h_east)

I think this is enough to merge.

Verified that this patch works for asyncomplete v2 to ignore processing autocomplete if it is open due to vim's builtin completions. :shipit:

https://github.com/vim/vim/pull/4106#issuecomment-473615543

I sent a patch that was almost completely rewritten on # 3866.
Despite the reviews I have repeatedly made, he kept subtle.
(and he has never said thanks-word)

OK.  Thank you for your review.
I know your patch is better.
But you have said in other place "Your patch implementation is very bad. My patch should be included instead".
So I was stubborn sorry.
I will close the PR.
Note:  He have blocked me in github.  So I cannot comment the issue.


Reliability test coverage

Create an initial reliability test suite.
Look for things that can make Electric break make a test and make it pass.

Simulate database and server crashes
Delete the storage; delete the replication slot
Artificially saturate different parts of the system (e.g. connection pools)

Some of this will fit better into load-testing

We've covered some of this — @balegas is there anything left? Want to create issues for each specific thing we still need to test?


Unknown: input/output error

When running my training script, I encounter this error inconsistently for different tfrecords (in the run below it was 11, but this number changes). I don't think it's an issue with the particular file mentioned below as I've been able to read every tfrecord I'm using with a separate script.
Unknown: dataset-train.tfrecord-00011-of00032; Input/output error
[[{{node MultiDeviceIteratorGetNextShard}}]][[RemoteCall]][[while/boy/_1/IteratorGetNext_1]][[while/body/_1/replica_1/mod/y/_39]]
Does anyone have thoughts on what is triggered this inconsistency?

@slala2121 Could you please fill the issue template.Also Please provide the simple standalone code/ colab link to reproduce the issue at our end.Thanks

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


VSCode >= 1.13 greys out audio controls in previewHTML?

VSCode Version: >= 1.13
OS Version: OSX, Ubuntu

Steps to Reproduce:

Use any extension that will allow you to preview HTML (e.g. Jupyter or HTML Preview)
Render:
<audio controls autoplay src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga"></audio>
Observe that the controls are greyed out and the audio does not play

This is broken from 1.13 on, before that previewing audio just worked.

Reproduces without extensions: unknown

I get the above when opening a markdown as html; probably due to this.
The markdown code has a few options to disable the security options; maybe something like that has to be implemented in the extension to?

I don't think it's CSP related, the following renders the image ok:

Oh, from the same version on, it seems that video is also not working (still using the HTML preview to check the rendering)?
<audio controls autoplay src="http://media.w3.org/2010/07/bunny/04-Death_Becomes_Fur.oga"></audio>
<video controls autoplay>
    <source src="http://media.w3.org/2010/05/sintel/trailer.mp4"
         type='video/mp4; codecs="avc1, mp4a"'>
    <source src="http://media.w3.org/2010/05/sintel/trailer.ogv"
         type='video/ogg; codecs="theora, vorbis"'>
</video>
<img src='http://www.w3.org/html/logo/downloads/HTML5_Logo_128.png'/>

Yes, the markdown preview would block http video by default but the previewHtml content should not have any Content Security policy set. Looking at the network requests for the webview, I do see the video file being requested successfully but there seems to be some error with the playback inside the webview. I'll investigate further

This appears to be fixed in VS Code 1.20 insiders builds:

Let me know if you are still seeing this in html previews

Actually, I just learned that we strip out ffmpeg and other media support from our release builds. This is by-design and something we will not change, but it does mean that many types of media playback will never be supported in webviews inside vscode


Fix Meltano Transformations link on documentation pages

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1276
Originally created by @iroussos on 2019-11-07 14:07:37

The title of the Meltano Transformations Section on the Architecture documentation page has recently changed from Meltano Transforms to Meltano Transformations.
That caused the link to it to change but there are references to that Documentation Section that have still the old anchor.
Fix all those references and update the link to point correctly the Meltano Transformations section.

View 2 previous comments from the original issue on GitLab


💡 [FEAT] Time support in due date

Option for choosing time along with due date.
Like - 13:00 10-10-2022
Would help in managing multiple due tasks  on the same day.

Nice... Maybe I can a binding t just like we have d for changing date which will allow us to edit time in hh:mm format :)

Is there also a way to show the overdue/late tasks in different colour/pane

No, I'm afraid not.
But you can sort the tasks according to their urgency and the overdue/late tasks will be at the top :smile:

Implemented!


Revamped .gitignore

Migrated from GitLab: https://gitlab.com/meltano/sdk/-/issues/72
Originally created by @aaronsteers on 2021-03-31 13:57:30

From !39, the .gitignore was imported from a template and may contain unneeded entries.

[ ] @DouweM started a discussion:

Most taps shouldn't need the vast majority of this stuff :) Can we stick to gitignores we actually know will be relevant in the project in question?

View 4 previous comments from the original issue on GitLab


How to view all sent historical messages

How to view all sent historical messages
I want to be a message batch deletion tool, but it seems that I can only see recent messages.

From SkypeChat.getMsgs():

This method can be called repeatedly to retrieve older messages.


Numerical instability problem

First want to thank the creator of this repo, although simple it is a great and convenient implementation of MDN for the community.
During training, there is numerical instability problems arising from the multiplication of the probability that can be changed to addition.

https://github.com/sagelywizard/pytorch-mdn/blob/bb8152902ae628a136e6038913d012e1583609ca/mdn/mdn.py#L78
agreed. if the target's dimension is large. it will be problematic when multiplying all the probabilities. maybe we torch.mean() can be used instead of torch.prod().

I can confirm this behaviour for a 31 dimension output, and that torch.sum() works (and I assume torch.mean() too). Perhaps a sanity check after the torch.prod() and fallback to the above methods if it fails.

I can confirm this behavior even for a 5 dimension input and 1 dimension output. My solution is to use
from torch.distributions.normal import Normal
to rewrite the function mdn_loss(pi, sigma, mu, target) with:
def mdn_loss(pi, sigma, mu, target):      model_dist = Normal(mu, sigma)      target = target.unsqueeze(1).expand_as(sigma)       log_prob = model_dist.log_prob(target)       weighted_log_prob = torch.log(pi).unsqueeze(1).expand_as(sigma) + log_prob       return -torch.logsumexp(weighted_log_prob, dim=1).mean()
Since the built-in function `.lob_prob()' and 'torch.logsumexp' is much more stable than self-implemented functions.

Yeah, I eventually arrived at the same solution...

def gaussian_probability(pi, sigma, mu, target):
    """Returns the probability of `target` given MoG parameters `sigma` and `mu`.

    Arguments:
        sigma (BxGxO): The standard deviation of the Gaussians. B is the batch
            size, G is the number of Gaussians, and O is the number of
            dimensions per Gaussian.
        mu (BxGxO): The means of the Gaussians. B is the batch size, G is the
            number of Gaussians, and O is the number of dimensions per Gaussian.
        target (BxI): A batch of target. B is the batch size and I is the number of
            input dimensions.

    Returns:
        probabilities (BxG): The probability of each point in the probability
            of the distribution in the corresponding sigma/mu index.
    """
    target = target.unsqueeze(1).expand_as(sigma)

    # old version....
    # ret = ONEOVERSQRT2PI * torch.exp(-0.5 * ((target - mu) / sigma)**2) / sigma
    # probs_old = pi * torch.prod(ret, 2)

    log_ret = math.log(ONEOVERSQRT2PI) - 0.5 * ((target - mu) / sigma)**2 - torch.log(sigma)
    log_prob = torch.log(pi) + log_ret.sum(2)

    probs = torch.exp(log_prob)

    return probs

def mdn_loss(pi, sigma, mu, target):
    """Calculates the error, given the MoG parameters and the target

    The loss is the negative log likelihood of the data given the MoG
    parameters.
    """
    prob = gaussian_probability(pi, sigma, mu, target)
    nll = -torch.log(torch.sum(prob, dim=1))
    return torch.mean(nll)

In case anyone else comes across this issue, just another note for training stability.
For most applications where the target variable isn't a clean and defined distribution, you will most likely want to add a small epsilon value to sigma when computing gaussian_probability. SGD may result in the model trying to produce Gaussians with a variance close to zero, which will cause the loss to explode.


JavaScript setTimeout infinite loop without recursion

https://stackoverflow.com/questions/51953379/javascript-settimeout-infinite-loop-without-recursion/52100787
I cannot use Obfuscator.io(https://obfuscator.io/)
to uglify my JS script because it contains a setTimeout within a function that calls itself.
MCVE:
function repeater() {
    // DO SOME STUFF...
    setTimeout(repeater, 100);
}
repeater();

Custom obfuscation settings required to reproduce:

Identifier Names Generator: Mangled
Reserved Names: $ - jQuery

Obfuscator.io's error message:
Error: @postConstruct error in class t: @postConstruct error in class t: Maximum call stack size exceeded
I've read a few other Stack Overflow questions about this. I understand that calling setTimeout(func) inside func is not actually recursion.
But still, Obfuscator.io's algorithm can't handle a self-invoking setTimeout delay.
How do I make a repeatedly-executing function using setTimeout without calling it in the function itself? I don't want to use setInterval because I want the delay to begin each time after the function's code has run. setInterval ignores that.

Hi, i'll look into this issue but currently i take a 1-2 months timeout with this project to doing renovations on my flat. So, until october i'll have no time to look into this.
If i'll have time - i'll fix it.

@sanex3339  do you have any updates?

No, i don't support this project anymore.

It's not a bug at all and it's not connected with setTimeout function.
The option reservedNames is an array of regular expressions. '$' matches all variable names and name generator goes to infinitive loop. You need to escape dollar sign as '$'

@zamotkin i can add you to the project team. Do you want?

@sanex3339 yes, thank you, I have now a time to help this project.

Done. Thank you for your fixes!

@odykyi I'm going to close this issue. If you still have question feel free to re-open it.


Set up

Hello, I was asked to make this work for my organization. Where do I start? Does the azureai need to be deployed into a web app before this software can integrate? I tried filling out the appsettings.json for dev use, but I am seeing errors related to the .509 certificate that I'm unsure how to resolve.

This is the same issue I am facing as well. Any suggestions how to resolve this?


Allow to store only the length of ARGS values in ARGS_COMBINED_SIZE

Allow to store only the length of ARGS values in ARGS_COMBINED_SIZE.
The default is to also store length of ARGS names.
This can be a problem, especially with JSON with deep nesting, where ARGS_COMBINED_SIZE may be huge while the total of the ARGS values is low.
This change implements a configuration option to choose between both behaviours.

I'm currently using that, and it introduces a big delay with a lot of ARGS

This is not a good candidate for a compiler flag.
Even if we did want to include an additional builtin sum like that (and I'm far from clear that that is needed), choosing which sum occurs based on a compiler flag would not be the way to do this.
For example, what is to stop someone six months from now saying that sometimes they want to test ARGS_COMBINED_SIZE including the names (and other times without the names per your interest here) -- and both options need to be available in the same executable?

Your argument is "I refuse it because someone could want more?".
I cannot understand this.
Currently, ARGS_COMBINED_SIZE is totally unusable in many setups; why not allowing someone who doesn't currently use it to use it for their needs?

@marcstern ,
It is much broader than that.
First consider that there is little positive reason to favour a compile flag as a functionality mechanism for something like this. Compiler flags are an excellent choice if the functionality difference results in different build dependencies -- for example with pcre1 v2. pcre2. For other situations, such a selection is usually more questionable.
Second is consistency. The existing ModSecurity code base includes many different types of controls, and it's important to strive to make new changes fit within the existing framework. I struggle to think of a good set of examples where variant functionality of this type is currently implemented with compiler flags.
On the other hand, there are many examples of variant functionality where something other than compiler flags have been used. For example with a perceived need for something slightly different from t:base64Decode, variant behaviour was not implemented via a compiler flag, but with t:base64DecodeExt. Likewise with t:normalisePath/t:normalisePathWin and t:urlDecode/t:urlDecodeUni. Want to change from the default audit log format? We don't use a compiler flag to select that, but a separate runtime configuration item.
Thirdly is indeed extensibility. If some foreseen 'stage 2' implementation is a likely need/want in the future, an intermediate 'stage 1' implementation might be ok if the 'stage 2' implementation builds on 'stage 1'. But that is not the case in this PR.

Hi Martin,
I'm usually in favor of having a config-type mechanism instead of a compile flag, as it allows the admin to choose instead of the developer. I already proposed several PR with a compile flag because the change (that you call stage 1 if I understand well) is smaller and it was easier to accept in the past.
I'm also usually in favor of having multiple possibilities instead of havingto choose one (think here about ARGS_COMBINED_SIZE  vs. ARGS_VALUES_COMBINED_SIZE). Here, it would, from a functional point of view, an excellent solution obviously. However, from a performance point of view (which is definitely a critical points currently in many environments where we introduce ModSecurity), it would add some treament (instead of removing it with my PR). Because of the current performance problems, I definitely wouldn't favour an extra-functionality in this case. The example of the transformations cannot be compared as, here, the calculation would always be done even if you don't use that feature. Unless you add a run-time flag to disable these calculations (both ARGS_COMBINED_SIZE  & ARGS_VALUES_COMBINED_SIZE), which may be an option.
This PR may potentially be enhanced in the future (last point above), but doesn't have any negative side-effect (as you may not use the new compile flag) and it has two positive effects for the people wanting that functionality.
In these conditions, I don't understand why it should be refused.


Spanish Translation

Hi, I would like to collaborate with the translations into Spanish, are they already done or is there still to be translated?

https://github.com/bcit-ci/codeigniter3-translations


dev: loosen the timestamp comparison for the CSS parser files

What problem is this PR intended to solve?
This often needlessly runs after a git checkout.
Closes #2771

Pushed a fix for the rubocop warning, will merge in a moment.


Check IDatabaseTable spec

Check the table instance is reusable or not.

Consider locking mechanism on distributed nodes.


Data has disappeared

Good morning!
We have Grafana 5.1.3 with the Zabbix plugin 3.10.2.  Everything was running great but now we can't see any data prior to July 16.  We're not sure what happened.  But we're hoping we can figure out how to get to the data prior to this time.  The data is in Zabbix but it doesn't show in Grafana (see screenshot).

As a side note, the data does show up in Zabbix prior to that date.  Any help is appreciated.

Hi! Probably you have to enable "Trends" checkbox on datasource configuration. It seems to be the root cause of your issue regarding the dates that grafana is displaying data (7 days - normal history time on zabbix)
Please enable trends an let us know if it fix your issue
Regards

Thank you so much for your help!!!  This has been bugging me for a few weeks.  That fixed the issue.
Best regards,
Steve
On Friday, July 26, 2019, 8:04:50 AM EDT, silveraignacio<EMAIL_ADDRESS>wrote:

Hi! Probably you have to enable "Trends" checkbox on datasource configuration. It seems to be the root cause of your issue regarding the dates that grafana is displaying data (7 days - normal history time on zabbix)
Please enable trends an let us know if it fix your issue
Regards
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Fix #6477 controller login + fix dashboard layout

Service endpoints should be on own column, cut off smaller screen
Controller login not working due to 404 error
This is due to a breaking API change
We have requested fixes to help mitigate need for cluster name,
but for now have a default value for this

Finally, modified code so it's easier to update swagger API
and also added instructions on how to update in future
Dialog UI

Dashboard UI

Is url + username combination still enough information to specify a certain node when search and delete? Should we update the combination to cluster name + url + username to indicate a certain node? Other than this, all looks good to me.

#6482, #6481, #6480 opened to address issues Gene raised & cover testing & UI improvements. Will address separately due to time constraints


Add validation for query parameters

Similar requests

[X] I have searched and found no existing similar requests

How are you using Studio?
Legend Studio
What problems are you trying to solve?
Add validation for parameter names.
No Duplicate parameter names and no empty parameter names
Describe the solution you would like to see implemented
Add validation for parameter names. Disable adding new parameter with same names or empty names
Describe alternatives you have considered
No response
Documentation, Design, Adoption, Migration Strategy
No response
Contribution

[ ] I would like to work on this feature

@MauricioUyaguari - do we have a video walkthrough for this feature enhancement as well?


[DE-108] Fix use of TemporaryDirectory in civis.io.file_to_civis

We talked about this offline, but this looks like it's breaking because of the (unrelated) bare Exception linter error.  Are you planning to add the noqa to this PR or a different one?

I ran into the same linter error. I opened #164 to fix it.

great. thanks!

@jkulzick , if you merge the master branch into this PR, your tests should pass.

@stephen-hoover has the api spec been updated under civis/tests/civis_api_spec.json?
i don't see endpoints in there for files/multipart/post or files/multipart/{id}/complete

I haven't updated the spec. I didn't realize this PR was waiting on that. If that's the case, then I guess it's not ready yet.

This PR doesn't look like it needs an updated API spec. Are you thinking of #160 ?

This PR needs the updated spec b/c I fixed the test for multipart-upload, test_large_file_to_civis, so that is actually using the new code and the new multipart API endpoint.
As a result, that test now fails b/c of the spec
The reason we didn't catch this 2.7 compatibility issue was b/c the test_large_file_to_civis was not actually testing what I thought it was

@jkulzick , the new API spec is in. You can continue with this PR now.

@stephen-hoover +1 i'll update it today

@keithing @stephen-hoover
Ready for your review!

fixed changelog

removed CivisFutureTests cassettes per ^^


[Support: awi-ciroh staging] Add image choice to each profile

For https://2i2c.freshdesk.com/a/tickets/1387
When deployed will look like:

Before merging I need to double check that they're ok with not being able to use the configurator anymore (will probably need to disable it too) and if it looks ok.

Thanks @sepehrkrz's! Per your comment above, I've updated this PR to:

update the admin list
update image tags

Also, I've only added the image choice to the profile list to the staging hub so that merging this PR will only deploy to staging for now, per @arpita0911patel's request in https://2i2c.freshdesk.com/a/tickets/1387 and deploy to prod after testing on staging is done.


add dark mode in website

I want to add dark mode in website ;
I want to work on it under GSSOC23;

Hii @VaibhavTalkhande  We are not looking for a light/dark theme functionality in the website for now.
Please explore other issues to contribute to .
Feel free to raise more issues , we will review them and assign them to you
Thank you


Never implement Iterator for a collection!

Implement IntoIterator instead. This is what allows for loop, and should be implemented for iterables (As opposed to Iterator which should be implemented for iterators).
Here is a rewrite of your example, including non-consuming iterators:
struct Metropolis {
    cities: Vec<String>,
    population: u32
}

impl IntoIterator for Metropolis {
    type Item = String;
    type IntoIter = IntoIter;
    fn into_iter(self) -> Self::IntoIter {
        IntoIter(self)
    }
}

pub struct IntoIter(Metropolis);
impl Iterator for IntoIter {
    type Item = String;
    fn next(&mut self) -> Option<Self::Item> {
        if !self.0.cities.is_empty() {
            Some(self.0.cities.remove(0))
        } else {
            None
        }
    }
}

Yeah...the thing is though, this book is intended to be a simple easing into one language for users of the other (we're not trying to scare the Fsharpers away). Examples should be simple like the one in here:
https://doc.rust-lang.org/book/ch13-02-iterators.html
impl Iterator for Counter {
    type Item = u32;

    fn next(&mut self) -> Option<Self::Item> {
        if self.count < 5 {
            self.count += 1;
            Some(self.count)
        } else {
            None
        }
    }
}

I don't think we can expect someone new to the language to implement IntoIterator with two associated types, followed by yet another implementation.
The same goes with the "".to_string() example elsewhere which is maybe not idiomatic but keep in mind that the reader has probably only just learned what the difference between a &str and a String is. Following that up with String::new() String::default() (and .into() or .to_owned() no less depending on the context!) is certainly frightening.
Although for that .to_string() example I think I can just rewrite it to avoid the "".to_string().

Though on second thought maybe I should change the example to something that implements Copy. Hmmm

In .NET land there are also System.Collections.Generic.IEnumerable<'T> (seq<'T>) and System.Collections.Generic.IEnumerator<'T> which seem to parallel this.

@ChayimFriedman2
Does this look good?
type Metropolis = {
    cities: string ResizeArray
    population: uint
} with
    interface seq<string> with
        member this.GetEnumerator() = new Iterator(this) :> _
    interface System.Collections.IEnumerable with
        member this.GetEnumerator() = new Iterator(this) :> _
and Iterator(metropolis) =
    let mutable current = Unchecked.defaultof<_>
    interface System.Collections.Generic.IEnumerator<string> with
        member _.Current = current
        member _.Dispose() = failwith "No equivalent"
    interface System.Collections.IEnumerator with
        member this.MoveNext() =
            if metropolis.cities.Count > 0 then
                current <- metropolis.cities.[0]
                metropolis.cities.RemoveAt 0
                true
            else false
        member _.Reset() = failwith "No equivalent"
        member _.Current = current :> _


Display: flex;  Not updating working

A Udemy instructor has a bin that works in his tut, but not on jsbin!  Check the attached screenshot and tell me how I'm screwing up...seems like it should show the output as an inline flex container...but doesn't?!
JSBin is infallible...where's my error?

looks fine - do you have the link? Unless that Safari version is <9 it should work :)


Keys are hard to read due to low contrast color scheme

All the black keys are almost impossible identify, due to the low contrast of the color scheme.
Maybe the color scheme could be updated to match the official Android keyboard (Gboard)?
Especially with low screen brightness or on small screens, this causes significant usability issues.

I tried all available drawing methos. I didn't see any changes.
Also, the color looks the same on all off my Android devices (various android versions).

This should be improved as of v1.40.1 / commit ca39f3a7d5bec077c8ebd5cc95503f5b99129a3c .


KAFKA-15479: Remote log segments should be considered once for retention breach

When a remote log segment contains multiple epoch, then it gets considered for multiple times during breach by retention size/time/start-offset. This will affect the deletion by remote log retention size as it deletes the number of segments lesser than expected. This is a follow-up of KAFKA-15352
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

I had a comment to fix this/similar problem in original PR - https://github.com/apache/kafka/pull/13561#discussion_r1293305304
I am curious, why didn't the test which was added to resolve the comment fail? Is it because the test only checked for eligibility of a segment for calculation of size and didn't actually check if same segment is being counted twice?

I had a comment to fix this/similar problem in original PR - #13561 (comment)
I am curious, why didn't the test which was added to resolve the comment fail? Is it because the test only checked for eligibility of a segment for calculation of size and didn't actually check if same segment is being counted twice?

We don't have a test for the scenario mentioned in the comment. And, there was a regression after #14349. I have added couple of tests to verify the deleted segment count and log-start-offset.

I will review this in a couple of hours, apologies for the delay

@kamalcph TS related tests are failing such as https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14407/2/testReport/junit/org.apache.kafka.server.log.remote.metadata.storage/TopicBasedRemoteLogMetadataManagerTest/Build___JDK_20_and_Scala_2_13___testRemoteLogSizeCalculationWithSegmentsOfDifferentEpochs__/
Please check.

@kamalcph TS related tests are failing such as https://ci-builds.apache.org/job/Kafka/job/kafka-pr/job/PR-14407/2/testReport/junit/org.apache.kafka.server.log.remote.metadata.storage/TopicBasedRemoteLogMetadataManagerTest/Build___JDK_20_and_Scala_2_13___testRemoteLogSizeCalculationWithSegmentsOfDifferentEpochs__/
Please check.

The test failures are unrelated to this PR.

@clolov @divijvaidya @showuon @satishd
Test failures are unrelated. Please take another look!

I will wait for other reviewers on this PR (cc: @satishd @clolov) to provide an approval in the next few days before merging this.

@satishd do you have any additional comments on this PR? @clolov (the other reviewer in this PR) has already approved and we are waiting for you.

Merging it to trunk as the failed tests are not related to the changes introduced in this PR.


Auto Away misbehavior

My Setup

Operating System: Windows 10 1909
App Version: 3.0.6
Installation type: EXE

[X] I have tested with the latest version
[X] I can simulate the issue easily

Description

Current Behavior
User Presence (Auto Away) doesn't turn status back to "online"
Expected Behavior
When user AFK for X time limit, turn status to "away" and when user interacts, turn back to "online".

Confirm that, but it's duplicate of https://github.com/RocketChat/Rocket.Chat.Electron/issues/1812

@ankar84 thanks, as it is duplicated, I'm closing and watching the #1812


rustfmt removes trailing ::{self} but not trailing ::self in import

The import line use std::io::{self}; is converted to use std::io;, but the line use std::io::self; is left unchanged.

Ideally both would remove, but I guess this should be supported by an option.


Fix function signature of save_template (closes #55)

Reverts bug introduced in 4613d53c with release 2.2.1. See https://github.com/sailthru/sailthru-python-client/issues/55

+1


Question: Sign xml using React Native

I'd like some insight about if would be possible to sign local xml using your library through an React Native app, do you see that being possible?

This is blocked by #87, essentially. Marking as such.
Duplicate of #87


Handling static library depencies

I'd like to start a discussion on possible ways to handle transitive dependencies of
static libraries, and see if a standarized solution can be found for vcpkg. I'm only considering the cmake
build perspective here, because I don't have experience using the vcpkg Visual Studio integration.
As an example, consider an application wanting to statically link against libcurl. libcurl depends on libssh2,
but the static libcurl.lib will not record this dependency. So the dependency needs to be recorded
externally, so that an application linking against libcurl can know about it.
I know of two commonly used mechanisms which try to address this issue:

pkg-config
Exporting targets into cmake config files

I think the latter would be the best fit for a cmake based build, as in contrast to the pkg-config solution
this might work transparently (because find_package will look for config  files before invoking the
FindXXX script).
For pkg-config to work in a cmake-based build, the individual FindXXX.cmake
modules would need to be adapted to use pkg-config (most do not).
So what would be needed to make cmake imported targets work generically?
At the very least, I think we would need a standarized location for the cmake config files.
Currently, some ports already install their cmake config files, but I don't know how  these
can be picked up automatically.
Exporting targets into cmake config can only be easily implemented for cmake based ports,
this could be addressed by implementing helper scripts which

convert pkg-config information into a cmake config file
write "hand-crafted" cmake configs

Unforuntately, I was mistaken in assuming that cmake would first look for a config file before
using the FindXXX.cmake module. So the config-based solution wouldn't be completely transparent either.

You can force config with find_package(${PKG} CONFIG).

This issue hasn’t been updated in two year, if it is still an issue, please reopen.


Properly decode plus character in URLS

Currently, the + character is not decoded from URL params, since decodeURIComponent cannot do that. MDN suggests a solution for that:

decodeURIComponent cannot be used directly to parse query parameters from a URL. It needs a bit of preparation.

Ok thanks

I did a preview for this feature, please test: https://www.npmjs.com/package/oidc-client/v/1.11.0-beta.1


Support SvelteKit

The main problem was, that cosmiconf could not import ESmodules within the svelte.config.js from SvelteKit. SvelteKit requires these imports (e.g. adapter) to be in ESM format. That's why the preprocess file has to be in ESM format as well. All other files still have to be commonJS, because otherwise jest won't be able to call them from the transformer (this might change in jest next).
To support ESmodules I had to bump the node version to 14+. It might be possible to call node with some experimental flags, if someone needs to use and old version of node. I thought v10 is deprecated and v14 is the current LTS version, so it is okay to require v14.
Jest won't understand ESM natively and so we need to transform ESmodules files with esbuild/babel. For this to work, I had to introduce a jest config file. I used jest-circus as the new runner and added v8 as a provider which understands ESM as well.
Since the config files from Svelte and SvelteKit differ so much, I had to duplicate all tests to cover both scenarios.
notable changes:

added vscode extension recommendations and settings
renamed js files to cjs
duplicated tests for svelte and sveltekit (moved test suite into a base file)
removed cosmiconf (node can import them dynamically)
extract compiler from transformer to be able to reuse more code for the async transfomer #25

I hope it still works for all people and settings out there. The tests run and our project with SvelteKit does as well.
This is also a preparation for #25 where we can try to convert all files to ESM and then use the async transformer from the next jest version.
Fixes #44 and #6

This is awesome, thanks @sebastianrothe! I'm out of the loop on all of this so if I understand correctly this will only work with Jest 27+? I'm considering releasing it as a breaking change so major bump.

This is awesome, thanks @sebastianrothe! I'm out of the loop on all of this so if I understand correctly this will only work with Jest 27+? I'm considering releasing it as a breaking change so major bump.

No, this has been tested with Jest v26.

LGTM!

Thanks again for the PR @sebastianrothe. I've released everything in 1.6.0 👍

Thanks again for the PR @sebastianrothe. I've released everything in 1.6.0 👍

Thanks! If there are any issues, I will gladly provide some support.

I upgraded from 1.5.0 to 1.6.0 and am having my very simple Hello component test failing now. Here is the error and my jest config is seen at https://github.com/HVSBible/hvsb/blob/main/tests/jest.svelte.cjs#L20 - note that I'm using a workaround dummy svelte config. Using that with 1.6.0 or also the preprocess: true option both throw the same error.

I upgraded from 1.5.0 to 1.6.0 and am having my very simple Hello component test failing now. Here is the error and my jest config is seen at https://github.com/HVSBible/hvsb/blob/main/tests/jest.svelte.cjs#L20 - note that I'm using a workaround dummy svelte config. Using that with 1.6.0 or also the preprocess: true option both throw the same error.

No problems for me with your repo on Node 16. What version of node do you have ?

I upgraded from 1.5.0 to 1.6.0 and am having my very simple Hello component test failing now. Here is the error and my jest config is seen at https://github.com/HVSBible/hvsb/blob/main/tests/jest.svelte.cjs#L20 - note that I'm using a workaround dummy svelte config. Using that with 1.6.0 or also the preprocess: true option both throw the same error.

I see. Will have a look tonight.

@jwrunner If i run your repo with preprocess: true, it works for me (node 16). Btw, I think you don't need your https://github.com/HVSBible/hvsb/blob/main/tests/jest-config-hack/svelte.config.js anymore. 1.6.0 supports EMS config files.

Discussion continues in #47

@jwrunner Can you try again with version 1.7.0, please ?

@jwrunner Can you try again with version 1.7.0, please ?

That fixed things. Thanks! I was traveling.


When to capture Provenance

Question came up in the context of do we want "provenance" info for a simple resource retrieve.

This issue was moved to sul-dlss/sdr3-planning#44


"Method not found" When trying to use getAccountInfo

I set up an rpc using this script for the validator, but when i try to getAccountInfo it return "Method not found"

I solved it, need to add the arg --full-rpc-api
Now i cant use the getAccountInfo, but any transaction that i send dont hit, they not even show on transaction history. someone know what is happening?

Kindly open this live chat link to talk to the customer service directly on your issue  https://direct.lc.chat/14232768/


HTTP request to toggle Pause / Play

Is it possible to toggle playback via HTTP request? I recently got hold of a couple of flics https://flic.io/ and there is a HTTP request option out of the box.
I'm assuming that this isn't currently possible?

For Mopidy: yes see http://mopidy.readthedocs.org/en/release-0.19/api/http/
For airplay: I don't know.

@kingosticks Thank you so much for your quick response. So polling curl with:
curl -d '{"jsonrpc": "2.0", "id": 1, "method": "core.playback.get_state"}' http://musicbox.local:6680/mopidy/rpc

works as expected. Yet the UI for the flic is fairly limited:

Only allowing for a 'body' field to be sent. I'm assuming they are expecting you to use a REST call.
So I assume this wouldn't work?

Can't you just post {"jsonrpc": "2.0", "id": 1, "method": "core.playback.get_state"} as the body?

@kingosticks Seems like a limitation their side: http://ideas.flic.io/forums/283403-flic-ideas/suggestions/7178865-http-calls-post-get-and-rest-api-flic-will-bec Thank you for your help!

Indeed it does, hopefully they will improve.


Add 0.12.0 release document

Description
Add 0.12.0 release document in InLong website
Use case
No response
Are you willing to submit PR?

[ ] Yes, I am willing to submit a PR!

Code of Conduct

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

I will handle this task

@bluewang ok


Fix for front link. Not sure what happened?

Front page has What is Agones? An open source, batteries-included, mulitplayer dedicated game server scaling and orchestration platform that can run anywhere [Kubernetes](https://kubernetes.io) can run. displaying :man_facepalming:

It's strange that the opencensus link works fine as markdown but the k8s one doesn't.
There aren't many snapshots of agones.dev in the waybackmachine, but from what I can tell this has been broken for at least a few weeks (e.g. not new with the 0.10 release).

I wonder if it was when I upgraded hugo a while back - and it had this strange effect? :man_shrugging:

lgtm
also, needs rebase

Not quite sure why this is failing. Fixing locally and force pushing back up.

Not quite sure why this is failing. Fixing locally and force pushing back up.

It seems that the failure is a bug that is pushed in. All PRs are failing.

I restarted consul, see if that is the issue. Very confusing, because there doesn't seem to be anything in the logs indicating what is the actual issue. Consul is the only thing I could think of.

So I have seen this specific error in a few e2e tests failing
--- FAIL: TestAllocator (37.12s)
    allocator_test.go:74:
        	Error Trace:	allocator_test.go:74
        	Error:      	Expected nil, but got: &url.Error{Op:"Post", URL:"https://<IP_ADDRESS>:443/v1alpha1/gameserverallocation", Err:(*net.OpError)(0xc00062f590)}
        	Test:       	TestAllocator

I'm wondering if there is a race condition in there - or maybe there should be a backoff.

Adding a test for flakiness,  and seeing if I can find the root cause over here:
https://github.com/GoogleCloudPlatform/agones/pull/789