[docs] Point main docs to the docs.loodse.com site

What this PR does / why we need it:
Our main documentation is now live at the https://docs.loodse.com/kubeone/master/
[docs] link to the new docs home

/retest

/retest

please change the URL to docs.kubermatic.com

/retest


Revert "[flutter_tools] only copy cached dill after startup"

Reverts flutter/flutter#58188
TBR @zanderso this broke google3 due to unconditional copy

lgtm


I2D2/GLD Harmonization Across all surveys?

A two-part question/idea,
@alexandraqn @giofsantos11 @gronert-m @Junying-T

Should we remove the value labels that were defined in the incoming/raw data and only leave the value labels that we use? For example, an "urban" variable could be labeled as "0 Rural    1 Urban", but we change it to the label specified in the I2D2 or GLD dictionary:

label define      urban     "1 Urban 2 Rural"

Shouldn't the original urban value label be removed explicitly? The resulting .dta file will now have two urban value labels: one is used in the dataset and one is irrelevant. This could be confusing to the user.
This made me think of another idea:

Since all of our final value labels for I2D2 or GLD should be the same, why could we not have one central place to pull these value labels from and avoid a) retyping them every time, and b) potentially committing errors as we type them? This way we know that every I2D2 or GLD value labels are the same across all datasets. This could be implemented in the form of a central .do or .ado file that literally just defines all the value labels by hand or reads it from the codebook xlsx files -- kept next to our code folders and called in our code (or even just copy-paste). (I guess you could have the script apply the labels as well, since you always know that the "urban" label will be applied to the urb I2D2 variable, you would just run it at the end of your code after all variables are made)

Thoughts?

Hi Tom,
On your first point, I think I understand what you mean. However, I opened my final datasets harmonized (GLD and I2D2) and in both case the value labels were unique. It is true that some of them reference original (raw) data information, especially in the I2D2 but I don't know if we need to  explicitly delete it before moving to the last part of the code that consolidates the variables and keeps only those created and drops others. Please, feel free to correct me if I missed a point here.
Now,  on your second point, I agree, I also found it cumbersome and prone to error to manually code labels. Perhaps there could be a similar template to the check where you call labels from multiple do files (GLD). The only problem I see with this is that we can do this retrospectively and not forward looking because of the possible changes in methodology for labels in some countries (talking about regions for instance).
I would love to hear what others think, thank you for opening this discussion.
-Alexandra

Hi @buscandoaverroes ,
I think Alex's idea of working on the template is the right way forward. First, even if the labels are the same across the datasets (they are GLD and not CCC_YYYY_Survey labels) the overriding logic here is, as said at the beginning, no person is an island - but surveys are! That is, a person, if given the harmonization code should be able to find the whole (or as much as possible of the) process of moving from raw to harmonized. This is in case they want to amend the harmonization to their liking, they do not need a second file with labels to read in.
In terms of the template, we can expand it to drop labels not used after reducing to the variables we want to keep, to clean up unused labels. This can be done in Stata, although it is a bit clunky. At least I have had a look and not yet found it. Below is my proposal.

sysuse auto, clear

* Create an unused label
label define fruit 1 "Apple" 2 "Pear"

* Store all labels in data
label dir
local all_lab `r(names)'

* Store all variables with a label
ds, has(vallabel)
local used_lab `r(varlist)'

* Local to drop
* This is the bit I do not know, I think in Stata I will have to go through loops. In an Stata-R hybrid pseudo code my idea is
local to_drop = all_lab !%in% used_lab
for each (lab in to_drop){
   drop `lab'
}

This could be appended to the template. But I don't know how to do the last part. Anyone wants to take this challenge up?


Multiplying Ah and V results in kNm

When you calculate the capacity of a battery in Wh, the result is returned in a strange kNm number. When you force the correct unit, the result is OK.
2Ah*3V
2Ah*3V|Wh

Hi!
Thank you for your feedback. This is because the way of which unit arithmetic works.
Composite units are internally represented by vectors of basic units (mass, length, time, etc.). So arithmetic operations are actually performed between those vectors. A a result, we obtain a unit like [kg, m^2, s^-2, ...]. After that, Calcpad looks up in a table and composes the resulting unit back. You can read more about that in this blog post:
https://calcpad.blog/2018/01/28/how-units-work/
However, it happens that some units have the same internal representation but different meaning in different engineering/physics fields as it is in your case (torgue - Nm and energy - Wh). But Calcpad does not understand physics and does not "know" what you are trying to calculate. It always looks up in a predefined order - first for mechanical units, then electrical and so on. To be honest, we made it like that for a bit of a selfish reason. We are structural engineers and we made it first to be comfortable for us :).
But we can improve that further of course. We can introduce and option for the user to specify a field (mechanical, electrical, thermal, etc.) and make Calcpad to output the respective units with priority when ambiguous. Even further, it can scan your input units and try to guess what field you are working automatically.

OK, understood. Thanks for the explaination! I guess it's a feature request, then 😊


ISPN-11140 RemoteCache w/near-cache throws InstanceAlreadyExistsException following restart

https://issues.redhat.com/browse/ISPN-11140

Integrated, thanks Paul!


Our stack should have scripts for easier setup and configuration

Is your feature request related to a problem? Please describe.

Our current workflow has private keys in .yaml files, which easily get uploaded to public sites.
Lens is not always the most comfortable way to manage our stacks settings.

Describe the solution you'd like
We should create scripts to easily change kubernetes configuration parameters. (e.g. en/disable services, change service settings, ...)
We also should create a script to download the required private keys, so we don't have to put them in .yaml files anymore.
Describe alternatives you've considered
We could manage the certs with kubernetes.
https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/

Currently working on a commercial plugin to help with that. Not scope for open source


feat: parse BIP-21 addresses

Description

Notice

[ ] Have you followed the guidelines in our Contributing guide?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Pull Request Type

[ ] :bug: Bug fix (Non-breaking Change: Fixes an issue)
[ ] :hammer_and_wrench: Chore (Non-breaking Change: Doc updates, pkg upgrades, typos, etc..)
[ ] :nail_care: New Feature (Breaking/Non-breaking Change)

Issue (if applicable)

closes #
Risk

Testing

Engineering

Operations

Screenshots (if applicable)

Current dependencies on/for this PR:

develop

PR #4216   👈

This comment was auto-generated by Graphite.


OkHttp3-4.3.1

I think it's not published yet.

What is the process to get the nuget published once the PR is merged ?

I don't know, maybe @mattleibow can help with that.

I think this was a typical case of me merging and then going to bed. If all goes well, people get alerts and they hit the button. But, seems a step failed, so nothing got sent out....
Anyway, did a rebuild and now they are out in the wild!!! Go moggy!


Subpixel_contours function does not fail when z_value is not in array and no output_path is provided

Currently, when we provide a z_value that is not in the array, the subpixel_contours function will fail raising a ValueError only if the outputh_path is provided.
This is because the error is in Fiona trying to write a geojson of an empty array.
If we do not provide the output_path parameter, thus, we do not write out a geojson, the function will not raise a ValueError but print a message saying ""Failed to generate contours: 0".
It is not a big issue, but in case we run this function in for or while loops for a lot of scenarios or datasets, it would be useful to make it fail in both cases, so that we can manage its behaviour with Try/Except clauses.
Here is what happens.
Have a look at the highlighted image, obviously "hazy", but still with discernible coastline under the cloud cover.

I compute band indices, here shown is AWEI_ns:

And here, the AWEI_ns distribution, where the ZERO value is represented by the green vertical line.

When running the function:
contours_gdf_tmp = subpixel_contours(da=ds_tidal.isel(time=1)["AWEI_ns"],
                                 z_values=0,
                                 crs=ds_tidal.crs,
                                 output_path=savetxt,
                                 affine=ds_tidal.geobox.transform,
                                 min_vertices=200
                                 )

This error comes up:
Operating in multiple z-value, single array mode
Failed to generate contours: 0
Writing contours to /home/jovyan/dev2/dea-notebooks/my_data/cow_2019-10-23_WI_otsu.geojson
/env/lib/python3.6/site-packages/pyproj/crs/crs.py:53: FutureWarning: '+init=<authority>:<code>' syntax is deprecated. '<authority>:<code>' is the preferred initialization method. When making the change, be mindful of axis order changes: https://pyproj4.github.io/pyproj/stable/gotchas.html#axis-order-changes-in-proj-6
  return _prepare_from_string(" ".join(pjargs))
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-201-2f6deadd530e> in <module>
      4                                  output_path=savetxt,
      5                                  affine=ds_tidal.geobox.transform,
----> 6                                  min_vertices=200
      7                                  )

~/dev2/dea-notebooks/Scripts/dea_spatialtools.py in subpixel_contours(da, z_values, crs, affine, attribute_df, output_path, min_vertices, dim)
    505         print(f'Writing contours to {output_path}')
    506         contours_gdf.to_crs({'init': 'EPSG:4326'}).to_file(filename=output_path,
--> 507                                                            driver='GeoJSON')
    508     if output_path and output_path.endswith('.shp'):
    509         print(f'Writing contours to {output_path}')

/env/lib/python3.6/site-packages/geopandas/geodataframe.py in to_file(self, filename, driver, schema, index, **kwargs)
    531         from geopandas.io.file import to_file
    532
--> 533         to_file(self, filename, driver, schema, index, **kwargs)
    534
    535     def to_crs(self, crs=None, epsg=None, inplace=False):

/env/lib/python3.6/site-packages/geopandas/io/file.py in to_file(df, filename, driver, schema, index, **kwargs)
    177         df = df.reset_index(drop=False)
    178     if schema is None:
--> 179         schema = infer_schema(df)
    180     with fiona_env():
    181         crs_wkt = None

/env/lib/python3.6/site-packages/geopandas/io/file.py in infer_schema(df)
    229
    230     if df.empty:
--> 231         raise ValueError("Cannot write empty DataFrame to file.")
    232
    233     # Since https://github.com/Toblerity/Fiona/issues/446 resolution,

ValueError: Cannot write empty DataFrame to file.

However, without the output_path parameter:
contours_gdf_tmp = subpixel_contours(da=ds_tidal.isel(time=1)["AWEI_ns"],
                                 z_values=0,
                                 crs=ds_tidal.crs,

                                 affine=ds_tidal.geobox.transform,
                                 min_vertices=200
                                 )

No ValueError is raised, and a message is printed:
Operating in multiple z-value, single array mode
Failed to generate contours: 0

I think would be good to make it fail even in the latter case.
Cheers!
Nick

Thanks for the issue @npucino: I think the function needs an error to be raised earlier (before the data is written to file) on if no output contours are produced. That way it will catch the problem regardless of whether users want to export a file.
I'll put in a fix today or tomorrow!

Hey @npucino, this is proving a tiny bit more complex than I'd originally expected: the function has a 'single z-value, multiple arrays' mode that automatically extracts of contours from every time-step in your dataset like this (i.e. without the .isel(time=1)):
contours_gdf_tmp = subpixel_contours(da=ds_tidal["AWEI_ns"],
                                 z_values=0,
                                 crs=ds_tidal.crs,
                                 output_path=savetxt,
                                 affine=ds_tidal.geobox.transform,
                                 min_vertices=200
                                 )

This will automatically apply the function to every array along the "time" axis, and print out any timesteps that failed. This was designed for exactly the kind of scenario you're encountering: to ignore some time-steps that have no valid contours, and continue to extract contours for the remaining time-steps.
Similarly, the other 'single array, multiple z-values' mode will iterate through a list of z-values, and print out any z-value that failed. Because the advantage of these modes is being able to apply the function to a large set of either heterogeneous time-steps, or multiple z-values that may or may not be in the dataset, it's not ideal to raise an exception in the middle of this process otherwise the function will stop prematurely and not process any of the other results that users are interested in.
That said, it's still definitely buggy that an exception is raised only when trying to write the output to disk. I can see a few ways of dealing with this:

Raise an exception if a contour extraction fails only if a single timestep and z-value is being provided (like in your scenario)
Raise an exception only if all timesteps/z-values produced no valid contours. This would fail in your scenario, but not fail if the user supplies a set of timesteps/z-values.
Have a parameter that allows the user to specify if they want to skip invalid timesteps/z-values with just a print statement (like the current approach), or raise an exception instead (so kind of like the errors{‘ignore’, ‘raise’, ‘coerce’} in Panda's .to_datetime()

@npucino I went for both option 2 and option 3, as I think this combination is the most flexible. For your application it should raise an exception by default, but you can also specify errors='raise' to always raise an exception if any single contour fails!
PR here, I've sent you an invite to the repo in case you want to review/accept the PR: https://github.com/GeoscienceAustralia/dea-notebooks/pull/595
You should be able to get the latest version of the code by doing:
git checkout develop
git pull
git checkout --track origin/contour_fix

Closed by #595

Thx @robbibt, adding the parameter was a good idea, so that people can choose to use the function business as usual or managing exceptions if needed. Cheers!


Missing threads #1

Some threads are not captured due to incompatibility with the current methods for finding comments i.e., date_signature regex.
https://github.com/lflage/wiki-talks/blob/556b611920372bcf8b2e7580f7e82a19e8672dc6/src/dict_tree.py#L6

[ ] Check for ways to check multiple regex patterns if first pattern doesn't match
[ ] Create patterns for missing comments

Cases:

There is conversation before a header instance:

https://simple.wikipedia.org/wiki/Talk:Time_Cube

there is no header instance:

https://simple.wikipedia.org/wiki/User_talk:CyberMaus

there is no header instance but there is a different/non-standard separator (mostly with user:Talks

https://simple.wikipedia.org/wiki/User_talk:Anthere


Can I click on the marked out text to print a particular line using OCR ??

I am able to mark out the text in real time using CustomPainter.
Is there any way so that I can tap on particular word or line in camera to print it ??

Hi @anirudhsharma392
This platform is not meant for assistance on personal code.
Please see https://flutter.dev/community for resources for asking questions like this,
you may also get some help if you post it on Stack Overflow.
Closing, as this isn't an issue with FlutterFire itself,
if you disagree please write in the comments and I will reopen it
Thank you


[question] VS Code IntelliSense autocomplete?

Hey @lopezjurip,
Thank you so much for the great library; providing type safety for the translation keys is awesome! 🙌
I just wanted to know if you and folks are enjoying the VS Code IntelliSense autocomplete? In my case, it doesn't work, although I believe it should, since I see the red squiggly lines when I type the translation key incorrectly.
Here is a minimal version for my setup:
index.ts
export interface Locale {
  common: {
    welcome: string;
  }
}

en.ts
import type { Locale } from ".";
export const table: Locale = {
  common: {
    welcome: "Welcome",
  },
};

index.tsx
import { GetStaticProps } from "next";
import { I18nProps, useI18n } from "next-rosetta";
import { Locale } from "../lib/locales";

export default function Home() {
  const { t } = useI18n<Locale>();
  return (
    <div>{t("c")}</div>
  );
}

export const getStaticProps: GetStaticProps<I18nProps<Locale>> = async (
  context
) => {
  const locale = context.locale || context.defaultLocale;
  const { table = {} } = await import(`../lib/locales/${locale}`);
  return { props: { table } };
};

Here is the result when I hit ctrl+space to see the IntelliSense autocomplete suggestions:

Hi @Fghurayri! This is a limitation from VSCode and how TypeScript handles Template literal and Recursive types. It only will autocomplete once the string path is valid:
const foo = t("common.welcome"); // will have type string
const baz = t("c");              // will have type unknown
const bar = t("common.w3lcom");  // will have type unknown

There are some ways to achieve partial autocompletion but it requires to generate types via a script, here is an example of a project but for Tailwindcss: https://github.com/muhammadsammy/tailwindcss-classnames

Thank you for your clarification and the shared link. 👍


remove retry.Attempts(0)

We should not put ourselves in an infinite loop.
Going forward we can set a sane number of retries so we do not block.

I do partially agree with this. The change I made reproduced the existing behavior that we had before changing to the go-retry. Before this the for loop would only exit for two conditions. The context is cancelled, or the expected result is returned. That behavior is still present.


some small fixes

fix simple clock tags
add  drawWidgets()
add color to battery widget

Neat, thanks! Just so you know, new firmwares allow you to setColor with a String like "#123456" which I guess might be more readable?


Fix the line endings problem when downloading code from github

I've been informed of how to fix the problem, so we should finally be able to stop the bug reports about this :P

Fixed by 3a0cebf


[HW]

Name:
Email<EMAIL_ADDRESS>Linkedin Profile: <https://www.linkedin.com/in/sabir-ibrahimov-aa8732182/

Attach the homework screenshots below for both step II and step III:

The snips have been added. Thank you guys!

Hey Sabir Ibrahimov, great job! Congrats! Here is your badge! https://api.badgr.io/public/assertions/LufODiO2R7u9SQVgvZR-xQ


Property or field 'duoAuthenticationService' cannot be found

Encountered this with IDP 3.2 and jetty 9.3 in conjunction with the shib-cas-authn3 plugin. Initially, I thought the problem might be with the Shibcas flow not properly passing off into sub-flow states; but the further I dug, the less likely that appeared. Traced the calling stack as best I could, and I began to think there might have been a problem with my classpath's, but the container was picking up everything but the method call.
I'm not sure if it is related to #12 or not. I'm going to keep stabbing at it and hope I can tease out more information. Attached is an abridged DEBUG trace of the idp and spring webflow (the full trace is too large to attach).
shibb-idp-3.2.1-mfa-duo-auth-error-summary.txt

I ran into the same issue on tomcat 8.  After much digging, I found that the annotations on the DuoAuthenticationService class were removed somewhere between 1.0.1 to 1.1.3:
-@Service('duoAuthenticationService')
 class DuoAuthenticationService {
-    @Value('%{duo.integrationKey}')
     private final String integrationKey

-    @Value('%{duo.secretKey}')
     private final String secretKey

-    @Value('%{duo.applicationKey}')
     private final String applicationKey

-    @Value('%{duo.apiHost}')
     private final String apiHost

I added the following bean to my global.xml file, and the error went away.
    <bean id="duoAuthenticationService" class="net.unicon.iam.shibboleth.idp.authn.duo.authn.DuoAuthenticationService"
        c:integrationKey="%{duo.integrationKey}"
        c:secretKey="%{duo.secretKey}"
        c:applicationKey="%{duo.applicationKey}"
        c:apiHost="%{duo.apiHost}"
        />

So, either the documentation should be updated, or maybe have this bean be incorporated into the default config in META-INF/shibboleth-idp/conf/global.xml?

That worked. Wish I would have thought of that. Many thanks.

Sorry for the late response on this. There's documentation out there on this somewhere, though, you're right that it should be here as well.
The reason for the removal of the annotations was to allow for easier configuration of multiple Duo services, for instance if you need to use Duo against two separate Duo integration configurations (say, one for students that might allow a pass through and another for employees that doesn't).
I do like the idea of defining the bean in the included global.xml file, which if you make the changes as noted to your web.xml, you should be able to easily override in one of the Shibboleth context files. I'll see what I can do about that soon.

This should be fixed in version 1.1.3. Thanks, and let me know if you run into any other problems.


[Transforms] Extract transformFiles call from printFile

To reduce the number of closures created, this moves the call to transformFiles out of printFile and into the main body of printFiles.

This is not related to this change. but just wonder why we still keep getNodeEmitFlags in the TransformationContext since it is just return node.emitFlags? we don't we change every thing to use node.emitFlags. It is just a bit confusing since in the "printers.ts" we use node.emitFlags while in some places (such as destructuring.ts we still use getNodeEmitFlags from the context

Clarification: printer.ts on line 224. the comment above (line 223) should be just
"// Print the souce files" instead of "// Transform and print the source files" because we have done all the transformation in line 150

Also to clarify: this change remove printer from being part of the chain of transformer and become it separate part of the pipeline that take in transformed source files and print them?

we don't we change every thing to use  node.emitFlags
I have some stashed progress on this. The tricky part is ensuring we always read via the property, but write via setNodeEmitFlags. I've considered marking emitFlags as readonly on Node.

Clarification: printer.ts on line 224...
I'll update, thanks.

...this change remove  printer  from being part of the chain...
That is correct.

Gotcha. Others than the comments, the change looks good. :+1:


Enhancing Model Performance and Memory Efficiency in this Project

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description
Hello sit. Arun here. I have worked as ML research intern for AIIMS on behalf of my college and have worked on health research domains. Thus raising this issue. This issue aims to address these concerns and proposes the following improvements to make the model more reliable and efficient.
Handle Random Sampling:
Randomly selecting 80% of the training data may introduce bias and affect model performance. Instead, consider implementing  sampling techniques to maintain the class distribution while selecting a subset of given data.
Optimize Memory Usage:
Use pandas' astype function to downcast numeric columns and consider using sparse data structures where applicable to further reduce memory consumption.
HTML Decoding Function:
Evaluate the performance impact of the decode_html function that decodes HTML-encoded characters. Optimize the function, if necessary, to improve efficiency and minimize processing time.
Missing Value Handling:
Assess the impact of using SimpleImputer for handling missing values and explore alternative strategies such as data imputation based on domain knowledge or techniques like K-nearest neighbors (KNN) or IterativeImputer.
Feature Encoding:
Check the effectiveness of alternative feature encoding methods such as one-hot encoding, target encoding, or entity embeddings to capture complex relationships and improve model performance.
Regularisation
Consider implementing regularization techniques like L1 (Lasso) or L2 (Ridge) regularization in the LinearRegression and LogisticRegression models to handle potential overfitting and improve generalization.
Screenshots
No response
Code of Conduct

[X] I follow Contributing Guidelines of this project.

Hi, I would like to contribute. Please assign the task to me.

i have created this issue to ask the mentor to assign me. You have to create your own issue

Thank You!

@ArunMaramraj Update of your work pls

Hello @Rakesh9100, Sakshi Rathi here.
I am ML enthusiast and exploring this domain. I would like to contribute to enhancing the speed and accuracy by adding another encoding to categorical values, normalizing, handling missing values in other ways and then providing GUI as streamlit code for the user as well as the developer.
Where the developer will be able to see charts, data visualizations, and all working functions, and at the user tab it will directly give prediction using our models with data abstraction.

@tushtithakur Would you like to be assigned?

@Rakesh9100 Sure..I would like to contribute

Pls describe in brief what will you do in this issue @tushtithakur

Pls describe in brief what will you do in this issue @tushtithakur

@Rakesh9100 Hi, I would initially split the data into 70% training and 30% test dataset. Then, I would perform data cleaning and optimize memory usage by utilizing pandas' astype function and sparse data structures. Evaluating the decode_html function's performance and exploring alternative strategies for missing value handling can improve efficiency. Additionally, exploring alternative feature encoding methods and implementing regularization techniques would enhance model performance and address overfitting. Accuracy and evaluation of the model would be conducted throughout the process.

Assigned you issue 11. Pls work on that @tushtithakur

@SakshiRathi77 Do you want to be assigned?

@SakshiRathi77 Do you want to be assigned?

Yes

AS i mentioned in above, with methods they have shared and streamlit for interface.

I want you to work on the Streamlit GUI part as you mentioned and provide every functionalities and visualisations for user as well as developer.
You can leave the speed and accuracy part for now and focus on GUI.
 @SakshiRathi77

@jahnvisahni31 Do you want to work?

Yeah suree

Are you aware what you have to work upon? @Jahnvisahni


Unable to setup in Genymotion Emulator

After installing the dvba.apk in genymotion error is showing
Please view the ss

@rajraman786 It's because the app isn't allowed to run on emulators like genymotion, memu, etc. You will need bypass the checks that block the installation on emulator to use it further.
If you feel stuck, refer to this guide: https://rewanthtammana.com/damn-vulnerable-bank/index.html


Only display the build scan hint when the Gradle Enterprise plugin is not applied

Fixes #18956
This changes the error message at the end of a build to only suggest using --scan when the Gradle Enterprise plugin has not been applied.
One implication of this is that the use --scan suggestion will no longer be printed in scenarios where the GE plugin is applied, but for some reason build scan publishing is disabled.  This is not a situation we could handle without either 1) making Gradle build tool know more about the internals of the GE plugin or 2) allowing the GE plugin to somehow modify the suggestions when there is a failed build.  This seems like an unlikely case given the vast majority of our users configure publishAlways().

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

Yeah, I think turning this into something contextual and dependency injected is the way to go.  I don't see a clear path to it yet, though, since BuildExceptionReporter is needed by things so early in the startup.  I'm sure we can get there, I just don't see all the pieces yet.  I'd prefer to merge this as-is and circle back to refactor it as a second piece of work.

@bot-gradle test and merge

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

Pre-tested commit build failed.

@bot-gradle test RFM

OK, I've already triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

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


Various permissions issues (new project creation, user updates)

Describe the bug
Experiencing a variety of errors around permissions, assuming they are all related. I have created a fresh deployment (using dispatch-docker), using commit 846535a. Loaded sample data, registered a user, and used the documentation to bump them to admin role (docker exec, dispatch user update, etc).
When attempting to create a new project, I receive the error: Project not created. Reason: Forbidden.
web_1        | 2021-06-16T16:44:37.452586143Z INFO:     <IP_ADDRESS>:47280 - "POST /api/v1/default/projects HTTP/1.0" 403 Forbidden

When attempting to edit a user's permissions (i.e. make them an admin), I receive the error: User not updated. Reason: Forbidden
web_1        | 2021-06-16T16:55:15.788880859Z INFO:     <IP_ADDRESS>:47310 - "PUT /api/v1/default/users/1 HTTP/1.0" 403 Forbidden

Running off of commit 846535a.
To Reproduce
Steps to reproduce the behavior:

Settings
Projects
New
Enter project name, hit save.
See error at bottom

Expected behavior
New project is created. User update to admin role (via UI).
Desktop (please complete the following information):

macOS, Chrome v91

There are also a handful of JS errors reported into the console, but I'm not clear that they are related:
TypeError: Failed to execute 'unobserve' on 'IntersectionObserver': parameter 1 is not of type 'Element'.
    at Object.i [as unbind] (index.js:38)
    at a.destroyed (index.js:26)
    at oe (vue.esm.js:1872)
    at zn (vue.esm.js:4244)
    at a.$destroy (vue.esm.js:4027)
    at destroy (vue.esm.js:3187)
    at S (vue.esm.js:6169)
    at S (vue.esm.js:6174)
    at a.__patch__ (vue.esm.js:6522)
    at a.$destroy (vue.esm.js:4025)

TypeError: Cannot read property 'header' of null
    at a.filterDuplicates (VSelect.js:292)
    at allItems (VSelect.js:105)
    at or.get (vue.esm.js:4504)
    at or.evaluate (vue.esm.js:4606)
    at a.allItems (vue.esm.js:4860)
    at a.computedItems (VSelect.js:120)
    at or.get (vue.esm.js:4504)
    at or.evaluate (vue.esm.js:4606)
    at a.computedItems (vue.esm.js:4860)
    at a.virtualizedItems (VSelect.js:203)


The task "ecto.gen.migration" could not be found

Ecto 3.0.3
mix ecto.gen.migration create_table1
** (Mix) The task "ecto.gen.migration" could not be found

Same problem I am facing today when i was trying to generate db migration file. It gives error "(Mix) The task "ecto.gen.migration" could not be found".
Any help will be appreciated.

Do you have ecto_sql dependency installed? This mix task was moved there in v3.0.

@wojtekmach you are right. But for my case it was my mistake as I tried the command from wrong place.  Thanks for the help.


Recursive and unsized enums

It is currently forbidden to have this enum, because it is recursive:
enum Sequence<T> {
    Element { value: T, next: Sequence<T> },
    End
}

However in theory we could accept it by making Sequence unsized.

I think this is a really cool idea, if it can work (I don't momentarily see any reason why it couldn't, but I haven't thought very hard). Reminds me a bit of serialization formats where you have a flat stream of bytes with tags to indicate what comes next.

It could be a little tricky to define how to construct one of these. A similar instance of the same problem exists today: it’s valid to to define a struct whose last field is a non-type-parameter unsized type…
struct Dst {
    x: [u8],
}

…but it’s basically impossible to construct one of these, because there’s no Sized equivalent to coerce from. I believe this proposal suffers from the same problem. The obvious solution would be to somehow allow unsized types in struct initialisers, but I’m not sure about how that would work in practice.

@P1start: Afaik @eddyb has a few ideas how to make that work.

@P1start you would only allow it in an in-place context (&expr, box expr, in place { expr }) and then drag around enough context to save the extra information after (while?) writing the data.
Though panics might be tricky, it should still be possible.

I think this is really a cool idea, and is needed for the sake of consistency.

A useful extension of this is that an unsized enum which is non recursive could also be useful for taking up less space (consider enum BigOrSmall { A([u8; 2000]), B([u16; 10])}). Perhaps a #[repr(unsized)]

I'll just weigh in in favor of this given my internals question where I unexpectedly ran into this same limitation.

There are discussions elsewhere about doing match on "artificial" enums, so another idea might be a trait
trait Match {
    type MatchEnum;
    fn run_match(&self) -> MatchEnum;
    fn run_match_mut(&mut self) -> MatchEnum;
}

so that if impl Match for FakeEnum exists then match fake_enum { .. } becomes match run_match(&fake_enum) { .. } or the mut version depending upon the patterns.
Assuming the trait fields RFC, there is a version with nicer borrowing semantics
trait Match {
    type MatchEnum;
    type EnumField;
    target: EnumField;
    fn run_match(&EnumField) -> MatchEnum;
    fn run_match_mut(&mut EnumField) -> MatchEnum;
}

where  match fake_enum { .. } becomes match run_match(&fake_enum.target) { .. }.
We can maybe do the recursive unwrapping these describe using this approach like
struct Sequence<T>([T]);

enum SequenceEnum<T> {
    Element(pub T, &Sequence<T>),
    End
}

impl<T> Match for Sequence<T> {
    type MatchEnum = SequenceEnum<T>;
    fn run_match(&EnumField) -> MatchEnum {
        if self.0.len() > 0 { Element(self.0[0],Sequence<T>(&self.0[1])) else { End }
    }
}

except with lifetimes and unsafety around the borrowing of self.0.
I donno if this approach might place less nicely with future schemes for type-level numerics though.

To bump this thread: now that we have enums with well-defined memory layout such as repr(u8), repr(C) (ping @eddyb), etc., could we allow at least such enums to contain unsized data as last item of enum payload?
Then it would be possible at least for an unsafe code to construct such enums using same techniques as for any other structs (which such enum is equivalent to), and for other safe code to use it.

@RReverser It helps with the optimization problem, but you still have the issue of the metadata not always being valid, and you also need to read from behind the data pointer to determine the active variant to get e.g. the alignment of the enum, which is needed for an operation like computing the true field offset in a type having that enum as a field (e.g. &pair.1 on (u8, Enum)).
I forget what we did for unions, did we just ban unsized unions? (cc @RalfJung)

@eddyb Unsized unions are in fact banned, playground.

you also need to read from behind the data pointer to determine the active variant to get e.g. the alignment of the enum

Hmm. Isn't that the case for any unsized data structures anyway? E.g. you need to read from behind the data pointer to get alignment of a struct ending with a dyn Trait.

E.g. you need to read from behind the data pointer to get alignment of a struct ending with a dyn Trait.

No, the reference/pointer to the struct contains the data pointer and the vtable pointer, there's nothing behind the data pointer that's not in a version of the struct where the dyn Trait is replaced by the concrete type (this is how unsizing works after all).

Ah, got it, makes sense... And, I suppose, same applies to actual variant vtables.
On a second thought, given that only one variant of the enum can be active and hold unsized data, couldn't &SomeEnum be encoded as a (data_ptr_for_the_entire_enum, vtable_just_for_active_variant)?
Then other parts of the type system could continue reading layout and vtable information as they normally do. The downside is that now you have to read from behind data pointer when taking a reference... but that's probably still fine, because creating a reference to invalid data is a declared UB anyway, and still better than the alternative.

On a second thought, given that only one variant of the enum can be active and hold unsized data, couldn't &SomeEnum be encoded as a (data_ptr_for_the_entire_enum, vtable_just_for_active_variant)?

No
counterexample
enum Foo {
    N,
    C(Foo)
}

Some examples of this type Foo::C(Foo::C(Foo::N)), and Foo::C(Foo::N). Both of these have the same active variant for the outermost wrap, but the inner Foo have different variants. How would that be encoded? (hint, it can't in general). We would have to load from the data pointer. That said, that in itself wouldn't kill this. It would just make this the very first thin pointer DST with language support.

Just to make sure we understand why this isn't possible in general, because the enum above is solvable by just encoding the "length" of the enum, but it only get's more complex from here:
Consider this, (a simple length won't suffice, we also need to know what the last element is, but that's just a bit more metadata that we could store)
enum Foo {
    A,
    B,
    C(Foo)
}

Or even this, (where a length is insufficient)
enum Foo {
    A,
    B(Foo),
    C(Foo),
}

Here is a case that would truly require reading from the data pointer, no other way around it.

Then other parts of the type system could continue reading layout and vtable information as they normally do. The downside is that now you have to read from behind data pointer when taking a reference... but that's probably still fine, because creating a reference to invalid data is a declared UB anyway, and still better than the alternative.

I think this is fine, we should be able to do that.

Sorry, before reading in depth, I'm confused:

No, counterexample: ...

I think this is fine, we should be able to do that.

So which one is it? 😀 (as the comment you referenced had only a single suggestion)

Reading through the counter-examples.

Both of these have the same active variant for the outermost wrap, but the inner Foo have different variants. How would that be encoded? (hint, it can't in general).

I don't see why not. Such enum
enum Foo {
    N,
    C(Foo)
}

would be equivalent to already existing and working struct definition
pub struct Foo_N;

pub struct Foo_C<V: ?Sized>(Foo<V>);

pub struct Foo<V: ?Sized> {
    tag: u8,
    variant_data: V,
}

pub fn dyn_foo() -> Box<Foo<dyn std::any::Any>> {
    let foo = Foo {
        tag: 1,
        variant_data: Foo_C(Foo {
            tag: 1,
            variant_data: Foo_C(Foo {
                tag: 0,
                variant_data: Foo_N
            })
        })
    };
    Box::new(foo)
}

Its construction is already well-defined and works on stable Rust. Godbolt link
All I'm suggesting is for unsized enums to be encoded in the same way.

Sorry, I may have misunderstood what you were proposing, but I thought you meant that

It is possible to encode which variant the enum is in without reading from the data pointer (which isn't possible)

I thought you realized this wasn't possible after I had already written out that portion, so I didn't really want to cut it out

After that realization I may have misinterpreted the second part of your comment to mean

We can allow reading from the data portion, and there wasn't anything wrong with that (this is fine, I think)

would be equivalent to already existing and working struct definition (not exactly equivalent code, just an example for demonstration purposes)

They sure do look the same, but they are very different in a single pivotal way. In the enum example you have just 1 type, but in the struct example you have 3 types FooN, FooC<FooN>, FooC<FooC<FooN>> each of these could have it's own v-table! This is relevant because we can't generate a v-table for every possible combination of the enum, but we can for the struct case. This is fundamental to how enums and traits work: traits offer a open polymorphism, and enum is closed polymorphism.

This is relevant because we can't generate a v-table for every possible combination of the enum, but we can for the struct case.

Now that we're getting there... why not? Note that we wouldn't need to generate it for every possible combination, just for the ones actually constructed in code (and only for unsized enums), which are limited, just like in case with structs.
I believe there was even another long-term RFC going around about allowing to use separate enum variants as individual types, which seems like would intersect quite nicely with this proposal, as this one also suggests to treat enum variants as separate types.

So you are trying to blur the distinction between enums and traits? That sounds interesting. I could see this as a way of implementing a sort of sealed traits. One small problem, how do you construct the vtable (if we are going down that route)?. With traits we can never affect the bare trait object's implementation of the trait, so it is able to just call out using the v-table. But with enums, we are effectively writing that very implementation. What I'm trying to get at is this: We don't have Foo::C's implementation of some method, we only have Foo's implementation. So we can't generate a vtable.

It might be possible to create a Foo::C "version" of Foo-s implementation, where in every destructuring (match, if let, etc.) only the Foo::C branch is taken - effectively encoding the discriminant into the implementation. This does indeed go further in the direction of making each variant a type of its own. But this also sounds like a lot of work in codegen.


Whitespace is not allowing packaging to happen

/home/solaraquarion/build/keybase-git/src/build_dir/binaries/amd64/opt/keybase/resources/app/images/icons/icon-keybase-logo-16 2.png
/home/solaraquarion/build/keybase-git/src/build_dir/binaries/amd64/opt/keybase/resources/app/images/icons/icon-keybase-logo-16@2x 2.png
/home/solaraquarion/build/keybase-git/src/build_dir/binaries/amd64/opt/keybase/resources/app/images/icons/icon-keybase-logo-16@3x 2.png
ERROR: whitespace in filenames! (shown above)

I think we fixed this a few days ago, did you try git pull?


Linking images in the documentation

I can't seem to figure out how to link images into my documentation using relative images links?
Any help would be greatly appreciated!

With simple markdown, relative to the file in which the image is used:
![alt text][image.png]


Link points to old Swift 6 configuration document

Please describe the bug
The last link at the end of this section points to a page that will eventually be retired.
https://swiftpackageindex.com/docs/builds#data-race-safety
old: https://www.swift.org/documentation/concurrency/
new: https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/completechecking
I'm pretty sure it will end up just being a redirect. But, still seems like its worth updating.
Explain the steps needed to reproduce the bug
What was the expected behaviour?
Screenshots
What web browser were you using? (if relevant)
Additional context

Thanks @mattmassicotte. Fixed in #3194!


Add privacy notice display validation to frontend

If you're creating a PrivacyNotice with opt_in consent mechanism, displayed_in_overlay must be True.  displayed_in_privacy_center can be True or False, nothing to check here.

displayed_in_overlay should be toggled ON and disabled so that it can't be changed
all other toggles can be toggle-able

If you're creating a PrivacyNotice with opt_out consent mechanism, either displayed_in_overlay or displayed_in_privacy_center must be True right now.

add validation that either displayed_in_overlay or displayed_in_privacy_center is checked

If you're creating a privacy notice with notice_only consent mechanism, displayed_in_overlay must be True.

displayed_in_overlay should be toggled ON and disabled so that it can't be changed
all other toggles can be toggle-able

See https://github.com/ethyca/fides/issues/3153 for original context

@allisonking  is this work we still need to do?

Yup


Add feature extraction & query strategy options

In a project setup page, users can select a feature extraction technique and a query strategy.

How does this PR deal with non-existing combinations of classifiers and feature extraction techniques?

How does this PR deal with non-existing combinations of classifiers and feature extraction techniques?

When Naive Bayes is chosen, Doc2Vec is disabled. When Doc2Vec is chosen, Naive Bayes is disabled. Any other combination is not feasible?
By the way, do you think an alert is needed when Doc2Vec is chosen? Telling users it requires an additional package, and takes a longer time to train the model?

How does this PR deal with non-existing combinations of classifiers and feature extraction techniques?

When Naive Bayes is chosen, Doc2Vec is disabled. When Doc2Vec is chosen, Naive Bayes is disabled. Any other combination is not feasible?
By the way, do you think an alert is needed when Doc2Vec is chosen? Telling users it requires an additional package, and takes a longer time to train the model?

I think the alert is a good idea.
There are no other impossible combinations, but I think it is good to give a warning when selecting SVM + TF-IDF because it is very slow (and in a lesser sense, also SVM + D2V perhaps).

I propose to add "(default)" to the default options and a pop-up or link to more information why we have chosen these defaults. Should this be rtd or.the website? And we can add the papers with simulation results.
Also, maybe we should delete the sentence with 'skip tgis step..' because there is no option for skipping and you should always select something in this step, right?

@Rensvandeschoot I agree. Maybe like this?

Yes, exactly like this!
@J535D165 do you agree??

For now I'm fine with this solution. However, we talked about making this an 'closed' card by default. The closed card should be the default. I think I like that solution. But, let's stick to this solution right now. It's intuitive and simple to implement.

The closed card should be the default.

Now it is. The select menu will show up once users click on the edit button.

Nice!!


Modular plotting

Made some changes to enhance reusability of some plotting code.

adding the option to pass an existing figure and axes to plot_all. This allows to have multiple axes in one plot and apply plot_all to one of them
breaking down plot_2d into several subroutines similar as is done for the 1d plotting

so I tried running it and it works to make normal 2d plots. I cannot exclude problems if one tries to apply several command line options to customise the plot more, to be honest.
In principle I just reorganised the original code so that it's easier to make new 2d plots without having to copy pasting the entire plot_2d function. The only exception is the possibility to create a figure and axes externally, but that's only in addition. It doesn't change the original behaviour.


Feature: OS.get_version to get OS version string

Godot version:

3.1.1
Issue description:

There should be a way to get platform specific OS version...
Proposed API:
OS.get_version()

There seem to be no workaround for iOS devices (without creating a native module) as to my knowledge its only possible to access this information programmatically via Swift/Objective C..

What would get_version() return? The native version string such as 4.4 for android, or something containing the platform as well (such as Android 4.4 or iOS 3.4.2)?

@bojidar-bg
I think the good idea is for it to return full version string only without platform as there is already  OS.get_name method.

I think the good idea is for it to return full version string only without platform as there is already OS.get_name method.

That's not really sufficient as OS.get_name() returns Linux/X11 on linux distros, so you still need to know which distro that is, e.g.:
$ cat /etc/release
Mageia release 7 (Official) for x86_64

On Linux, I would expect get_version to give me the kernel version; distribution should be listed as well though.

Some linux distros dont even have a version, like Arch Linux in that case I'd consider  Arch Linux (from os_release) as a linux version.. I think, given the diversity, get_version could return strictly formated composed string eg. distro_name + version_if_any...
uname -a gives me
Linux archlaptop 5.2.11-arch1-1-ARCH #1 SMP PREEMPT Thu Aug 29 08:09:36 UTC 2019 x86_64 GNU/Linux
which is not really helpful to get from higher level API in gdscript..

On Windows, Mac, IOS and android it can just return the version number, for windows for example:

Windows XP: "NT 5.1"
Windows Vista: "NT 6.0"
Windows 7: "NT 6.1"
Windows 8: "NT 6.2"
Windows 8.1: "NT 6.3"
Windows 10: "NT 10.0"

Mac:

El Capitan: 10.11.0

IOS:

4.3, 6.1 etc.

Android:

Android Marshmallow: 6.0 to 6.0.1
Android Nougat: 7.0 to 7.1
Android Oreo: 8.0 to 8.1
Android Pie: 9.0

The returned value should be the float value of the version so that you can easily compare it.

The returned value should be the float value

Nope. It would be better to have it similar Engine.get_version_info(), containing major, minor, and patch versions as integers.

The returned value should be the float value

Nope. It would be better to have it similar Engine.get_version_info(), containing major, minor, and patch versions as integers.

But, what is the point of returns the full string of the version? What is the use case of it? If for example, you want to compare it and do some action depending on the version number, you'd have to remove the text and possible do more unnecessary actions. Maybe, return an array for all platforms with os_name, os_version etc..

Hi,
Is there any update on this effort?

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


[Feature Request] Add predefined variable with separator for environment variable PATH (also PYTHONPATH, CLASSPATH etc.)

I would like to request a new predefined variable, e.g. ${searchPathSeparator}, that would be substituted with the separator used in the operating system's PATH environment variable, e.g. : for POSIX or ; for Windows.
Similarly to this feature request regarding ${pathSeparator}, I would also like it to have a shorter alias for improved readability, e.g. ${:}.
The variable could be used for modifications of not only the OS's PATH but also other environment variables that follow the same convention, e.g. Python's PYTHONPATH, Java's CLASSPATH, etc.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_smiling_face: This feature request received a sufficient number of community upvotes and we moved it to our backlog. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

Related: #143289

I think the shorter aliases I propose (${/} for ${pathSeparator} and ${:} for ${searchPathSeparator} or whatever the new variable ends up being called) alleviate the readability concerns raised there, e.g. ${workspaceFolder}${/}path${/}to${/}dir${:}${env:PATH}.
I like the variable name proposed there (${pathListSeparator}) better since it doesn't include the pathSeparator string which is good for case-insensitive search.


ICPSLC24-10NA in 30W dimmer

I just opened a 30W LED dimmer (the larger gray box) and found inside a ICPSLC24-10NA Rev1.0.0 module, which according to your findings would be the 10W LED dimmer. So either the -10NA can also do up to 30W or I got a very "very special" model from my Ikea shop :-)

It is the same module that is both in the 10W and 30W version. So if you just want the module, you can save money and buy the 10W version.
Se also this video: https://youtu.be/qQTJMTNVd40

Ah, good to know, thanks!
I just reported this as an issue since the repository with the pictures and schematics points out the -10 and -30 version as 10W and 30W...


Expiry of AccessToken after its configured life time

Hi,
For automation simulation purpose, We are using a low value of AccessTokenLifetime(5 seconds) instead of the default value. I understood for previous post on idSvr3 is that there is an extra clock skew time of 5 minutes which we need to wait for the token to be not useful.
May i know where can we either disable/configure a low value for MaxClockSkewTime. As I realized there is no more configuration on the IdentityServer to set the ValidationMode
Thanks,
Ram

That's a feature of the MS JWT token handler.


Error with non-English text in .R file

Hi,
When I type non-English characters in the script.R file in VS 2017, I get the Advanced Save Options window and set it as the first figure shows.
Next, when running, I get the error message shown in the last figure.
Could you please help me with the error?
If you have any screenshots demonstrating the issue, please include them as well to help us diagnose it better.

OS Information
Version:       Microsoft Windows 10
RTVS Information:
Assembly: Microsoft.VisualStudio.R.Package, Version=1.2.30905.1244, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Active R URI:
R 3.4.1: D:\Program\R\R-3.4.1

The source command, as seen in the screenshot, expects file on disk to be in UTF-8 encoding. If you do save file in UTF-8, does it work?


Export and Import of modules in JavaScript

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
With the help of ES6, we can create modules in JavaScript. In a module, there can be classes, functions, variables, and objects as well. To make all these available in another file, we can use export and import. The export and import are the keywords used for exporting and importing one or more members in a module.
Fixes #8319

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[x] Frontend Dev HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] JavaScript_#Domain
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[ ] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Ayan-thecodeking please review and merge my pr


Cyclone tf dist

Integration of cyclone use case in compliance with tf distributed strategy

I will take care of fixing the conflicts


arcticles are not getting downloaded

I have created the token and run the instructions as mention but the articles are not getting generated on my RM2

i don't have a remarkable 2, so i cannot test this unfortunately. someone else got this working on remarkable 2?

On my RM2 works without any problems

I have a RM2. I've followed the instructions, and it says in the terminal "pocket2rm successfully installed on your Remarkable". But I don't see any changes in my RM2. How do I know that it is working? Do I need to manually "run" something ?

I have a RM2. I've followed the instructions, and it says in the terminal "pocket2rm successfully installed on your Remarkable". But I don't see any changes in my RM2. How do I know that it is working? Do I need to manually "run" something ?

@charlus : the synchronization is triggered by removing the synchronization file ("remove to sync") inside the pocket folder, which should have been created on your remarkable. does that help?

@charlus : the synchronization is triggered by removing the synchronization file ("remove to sync") inside the pocket folder, which should have been created on your remarkable. does that help?

In my case, despite the prompt 'pocket2rm successfully installed on your Remarkable', there is no 'Pocket' folder on my reMarkable 2.

@sypianski am having this issue as well. pocket2rm has  successfully installed however there is no visible change on my Remarkable2 and no pocket folder. Has any one been able to find a solution?

I was able to get it working by manually running the commands in install.sh. It seems like compilation and file copying had been successful, though I repeated those steps. When I got to the section:
  ssh root@"$REMARKABLE_IP" systemctl enable pocket2rm-reload
  ssh root@"$REMARKABLE_IP" systemctl start pocket2rm-reload

my remarkable finally restarted and the pocket folder appeared. I'm not sure if that is all that was needed or if there had been some issue in moving over the files and binaries prior to that.


Access token expiration being set to NaN

According to the OAuth2 spec, the expiration field is optional in the access token response.
(Almost) all Oauth2 drivers include this line:
https://github.com/adonisjs/adonis-ally/blob/develop/src/Drivers/Facebook.js#L258
Making the token expiration part of the AllyUser being set to Number(undefined) === NaN where I'd expect it to be null.
I propose a fix either in the drivers or in the AllyUser class to make sure this field is null when not provided by the third party.
I'm happy to create a PR after a decision around where to include the guard.

@hugomarisco Yes, I believe the Drivers should make sure to set null and AllyUser can keep on working as it is now.


Fix follow/unfollow

modified schema so we can get the followed users as user entities
add back method deleted by accident

fix #25

All tests pass on both suites


v1.9 backports 2022-04-08

#19310 -- Test runtime cilium in container (take two) (@jrajahalme)
#19358 -- test: Fix whitespace in docker-run-cilium (@jrajahalme)

Once this PR is merged, you can update the PR labels via:
$ for pr in 19310 19358; do contrib/backporting/set-labels.py $pr done 1.9; done

/test-backport-1.9

/test-backport-1.9

/test-backport-1.9

runtime tests failed due to an flake fixed in #16437, which was not backported to 1.9 yet. Picked it up here, testing again.

/test-backport-1.9

(tophat: I have set the backport labels to donetm for all PRs backported by this)


Remove a race condition that caused done to sometimes be executed twice …

…for the same set of input metrics.
Given two threads in a race and an initial count of 2.

t0 - Thread1 calls shortLatch.countDown() (count = 1)
t1 - Thread2 calls shortLatch.countDown() (count = 0)
t2 - Thread1 calls done()
t3 - Thread2 calls done()
t4 - Thread1 calls shortLatch.getCount() (count = 0)
t5 - Thread1 calls shortLatch.getCount() (count = 0)

As you can see in this scenario both threads will execute the body of the if statement in the done().
The below pull request address this issue by looking at what the if statement is actually doing (and what the latch is actually guarding against.)
It appears that aside from stopping actualWriteCtx which should only be done once, the other conditions apply to individual batches and the latch was used just to prevent logging more than one similar event.
I don't think there is very much value in that, so I've moved them inline to the work (thus also removing AtomicBoolean) and moved the stopping of actualWriteCtx to a listener on the aggregate Future.
So it'll only be stopped once when all futures of all batches have a result.

Coverage decreased (-0.02%) to 53.08% when pulling e50249bb7eedda2ddbdfcd5d2ccf3642ec8afd35 on dreid:batchwriter-latch-race into 742cd9501b02cfe853a7c20d03b78cb5ae749943 on rackerlabs:master.

The coverage changes coveralls is complaining about are in files I didn't touch.

I'm confused about the coveralls issue.  Why is it complaining about AstyanaxReader and DataType when you didn't change them?

@GeorgeJahad I'm also confused by it.  I think coveralls might be comparing my branch's coverage against the wrong baseline.

+1


Understanding Config Grouping

Hello, I'm bit of a grunt newbie and I'm not quite understanding how the config grouping feature works.
I've seen the an example in another topic (https://github.com/firstandthird/load-grunt-config/issues/99), and recreated a similar setup:
grunt/scripts-tasks.js
module.exports = {
  watch: {
    files: ['*.js']
    tasks: ['jshint']
  },
  jshint: {
    files: ['*.js']
  }
}

But how do you run the scripts-tasks.js? Do you make an alias for them (then you type something like grunt scripts into the terminal)?

Hi @Moondrop,
above example will create two tasks watch:scripts and jshint:scripts, then if it is needed you can create alias scripts which will execute both tasks. For example:
grunt/aliases.json
{
  "scripts": [
    "jshint:scripts",
    "watch:scripts"
  ]
}

Hi @SolomoN-ua, thanks for the reply! I was able to get the watch:scripts working with config grouping, but for some reason when I try jshint:scripts I get the error:
Running "jshint:scripts" (jshint) task
Verifying property jshint.scripts exists in config...ERROR
>> Unable to process task.
Warning: Required config property "jshint.scripts" missing. Use --force to continue.

Aborted due to warnings.

Here's my folder setup:
- Gruntfile.js
- grunt/
	- aliases.js
	- config/
		- scripts-task.js

Hi @Moondrop, can you show your Gruntfile.js?

Hi @SolomoN-ua, here's how my Gruntfile.js looks:
module.exports = function(grunt) {

	/**
	 *  Load Grunt Config
	 *  Includes load-grunt-tasks and jit grunt
	 */

	require('load-grunt-config')(grunt);

	/**
	 *  Time Grunt
	 *  Find out how long each task takes
	 */

	require('time-grunt')(grunt);

};

I was also mistaken about watch:scripts working. It was only working because I had an existing grunt/watch.js file. With that removed watch:scripts no longer works.

@Moondrop, first rename scripts-task.js to scripts-tasks.js and then try to move all config files from grunt/config/* subfolder to grunt/* folder directly.

Hi @SolomoN-ua, thanks a ton for your help. After moving scripts-tasks.js out of my config folder I was able to get everything working. I thought the -tasks.js file had to be in a config folder since the documentation example shows /config/scripts-tasks.yaml.
On a side note, I also figured out why I was having so much trouble getting jshint:scripts to work. It seems there is an issue with using jshint: { files: ['*.js'] } (https://github.com/tschaub/grunt-newer/issues/54). It kept giving me the error:
Running "jshint:files" (jshint) task
Warning: Cannot use 'in' operator to search for 'src' in Gruntfile.js Use --force to continue.

I had to use jshint: { src: ['*.js'] } instead in order to get jshint:scripts to work.


Usernetes with bypass4netns on multi-node

Hi @AkihiroSuda ! :wave:
I want to introduce you to @lisejolicoeur, who has joined our team this summer (with @milroy) to work specifically on Usernetes networking! We are opening this issue to share our progress, and ask for your expertise for next steps to try.
Specifically, @lisejolicoeur has led us to extend our original setup on AWS to add back bypass4netns with multi-node, and we have taken notes that detail our approach. Lise is leading the work and is experienced with Kubernetes networking, and we are hopeful to start discussion here about next steps we might try. If we work together, we might be able to figure out solutions to some of the current challenges with getting bypass4netns working in this multi-node setup.
Our proposal is that if you might have time, please review our setup, and take note of the points of interest and questions indicated with ❓. Please feel free to comment on or otherwise edit the document - it is a working space for us! We are at the point where we have a control plane running (without bypass) and two worker nodes (with bypass) and can shell into pods on other nodes, but cannot ping from pod to pod. Please let us know if you see anything that sticks out, and what we might try next.
Thank you, and happy weekend! :partying_face:

I didn't read the entire note yet, but etcd is not needed for multi-node.
The acceleration works for Pod-to-Service, not for direct Pod-to-Pod though

See also https://static.sched.com/hosted_files/containerplumbingdays2024/f1/Usernetes Gen2 - Kubernetes in Rootless Docker%2C with Multiple Nodes.pdf


Enable configuration of timeout for unreachable VM's

Currently there is a hardcoded 5 minute timeout for VM's between the time the VM comes up in CloudStack to when it should join the cluster, as defined in https://github.com/kubernetes-sigs/cluster-api-provider-cloudstack/pull/123. In order to make this timeout functional for other environments, we should make the timeout configurable with some environment variable plumbed through to this controller.

We need a way for EKS-A to pass settings through to a place where CAPC can find them.  I wish we could add metadata (possibly annotations) to CloudStackDataCenterConfig and/or CloudStackMahineConfig and have those values passed into the CloudStackMachine objects and/or environment variables in the pods.

We might be able to use CloudStackMachine.Spec.Details instead of an environment variable.  That might make it easier to set and update the value in bulk.  Not sure.


Various: updates to RCON settings

Introduces changes to various templates that use the server's RCON, to make it clearer how the user can configure the RCON password in AMP (and deprecates previous settings that no longer work).

Please clarify your query?

Please clarify your query?

Should the fields that refer to $RemoteAdminPassword be changed to something else to avoid possible future issues?

That's deliberate. In those cases the relevant setting is the conduit for the setting being applied to the relevant config. So while it can't be used to actually set the password, it is the bridge between the kvp and the server config.

Obviously. I overlooked that simple fact. Lol


fix: player-area ios safari compat

The app was a mess on an iPad. Safari is horrible, I had to reimplement how to pinch-zoom works on touch devices... Ended up writing a new PanZoom view. I also reduced the maximum map size, as iPhones and iPads were constantly crashing due to out-of-memory issues. I also removed the zoom animations (when holding the zoom in and zoom out buttons), because it also caused some buggy behavior, I do not think that their absence is that bad.
Also updates react-spring to a 9.0.0 canary version which has a nice feature (SpringValue, basically a two-way data binding for style attributes) that really helped me with keeping the style updates performant.
I tested it on an iPad with iOS 13, Google Chrome (Desktop), Google Chrome (Tablet Mode) and Safari Desktop. Everything seemed to work fine. If anyone else here has an Android Tablet and could double-check I would really appreciate it!.
The plan is to improve this new PanZoom implementation, so it can one day replace the PanZoom implementation in the DM Section (which ultimately would make the DM Section also iPad friendly). However, currently, my motivation is just to provide the players with the possibility to follow the map on an iPad.

Closes #130

As before, feel free to merge when you are ready.


Saving elablite strategy

At the start of the form, the user saves the .elablite to the desired destination (download widget). Remember the file path: in step 3, as soon as you click on save button, the file is updated.
Delete page 4 to download elablite

possible alternative with tkinter : https://medium.com/@kjavaman12/how-to-create-a-folder-selector-in-streamlit-e44816c06afd


Install process fails with timeout in livebook

This code (inside livebook)
Mix.install([{:explorer, "~> 0.1.0-dev", github: "amplifiedai/explorer"}])

Fails with:
* Updating explorer (https://github.com/amplifiedai/explorer.git)
origin/HEAD set to main
* Updating nx (https://github.com/elixir-nx/nx.git - origin/main)

** (exit) exited in: GenServer.call(Hex.Registry.Server, {:versions, "hexpm", "rustler"}, 60000)
    ** (EXIT) time out
    (elixir 1.12.2) lib/gen_server.ex:1024: GenServer.call/3
    (hex 0.20.6) lib/hex/remote_converger.ex:182: Hex.RemoteConverger.verify_package_req/4
    (elixir 1.12.2) lib/enum.ex:930: Enum."-each/2-lists^foreach/1-0-"/2
    (hex 0.20.6) lib/hex/remote_converger.ex:172: Hex.RemoteConverger.verify_input/2
    (hex 0.20.6) lib/hex/remote_converger.ex:42: Hex.RemoteConverger.converge/2
    (mix 1.12.2) lib/mix/dep/converger.ex:95: Mix.Dep.Converger.all/4
    (mix 1.12.2) lib/mix/dep/converger.ex:51: Mix.Dep.Converger.converge/4
    (mix 1.12.2) lib/mix/dep/fetcher.ex:16: Mix.Dep.Fetcher.all/3

I cannot reproduce this issue. The Hex registry should do an HTTP request and it seems that is not returning in 60 seconds, so it would point related to your connection. Can you reproduce this issue consistently?

Also, is there anything else written/logged?

Another question, does Mix.install([{:explorer, "~> 0.1.0-dev", github: "amplifiedai/explorer"}]) inside iex work? Or does it also fail?

Yes, looks like it was on my side. Now it works!
Thanks a lot, @josevalim!
P.S. I am doing several posts about the whole elixir-nx eco-system in https://t.me/opensource_findings I hope it will help you a bit with spreading the word! 👍


PR: Improve skipping imported symbols (Outline)

Description of Changes

The fix in #16111 was not enough to skip all imported symbols from other libraries.
Expand our tests for the Outline to cover those missing cases.
Restore the functionality to update the outline for all files after opening/closing a project (I incorrectly removed that in #16111).

Affirmation
By submitting this Pull Request or typing my (user)name below,
I affirm the Developer Certificate of Origin
with respect to all commits and content included in this PR,
and understand I am releasing the same under Spyder's MIT (Expat) license.

I certify the above statement is true and correct: @ccordoba12

Hello @ccordoba12! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file external-deps/python-lsp-server/pylsp/plugins/symbols.py:

Line 52:80: E501 line too long (80 > 79 characters)
Line 60:80: E501 line too long (90 > 79 characters)
Line 63:80: E501 line too long (83 > 79 characters)
Line 64:80: E501 line too long (85 > 79 characters)
Line 65:80: E501 line too long (83 > 79 characters)

In the file spyder/app/tests/script_outline_1.py:

Line 5:1: E302 expected 2 blank lines, found 1
Line 8:1: E302 expected 2 blank lines, found 1

In the file spyder/app/tests/script_outline_2.py:

Line 8:1: E302 expected 2 blank lines, found 1
Line 11:1: E302 expected 2 blank lines, found 1

In the file spyder/app/tests/script_outline_3.py:

Line 8:1: E302 expected 2 blank lines, found 1
Line 11:1: E302 expected 2 blank lines, found 1


Emulator always shows all joysticks as connected

Pretty sure its a known issue, but there isn't an open one here.

I believe this was a ROM issue closed by https://github.com/X16Community/x16-rom/pull/77
Cannot reproduce with a current ROM/emu combo.


feat: Implement METADATA

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

-29 of 354 (91.81%)  changed or added relevant lines in 8 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.01%) to 92.538%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

imap-types/src/command.rs
0
2
0.0%

imap-types/src/response.rs
2
4
50.0%

imap-codec/src/codec/encode.rs
23
26
88.46%

imap-codec/src/extensions/metadata.rs
262
267
98.13%

imap-types/src/extensions/metadata.rs
28
35
80.0%

imap-codec/src/extensions/binary.rs
0
10
0.0%

Files with Coverage Reduction
New Missed Lines
%

imap-types/src/extensions/sort.rs
2
23.08%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
9884

Relevant Lines:
10681

💛  - Coveralls


why not

adding a gettime and settime to flxvideosprite because i think it can be put to use so why not (plus i found there is time in Video.hx so why not.

Why not use the variables directly? video.bitmap.time

It works the same way

figured I'd use bitmap since it's already declared as a variable using Video but you already got a point.

The idea of seeking and getting time just popped in my head.

So i thought why not add it, it prob can be used.

It's useless to have a function that does the same thing as the variable

I mean you're right but, I thought it would be more safer to use a function logic with a small error handling.
It's up for you to make a decision. I'm just trying to add an Encapsulation and Consistency to both of the functions.

I mean you're right but, I thought it would be more safer to use a function logic with a small error handling.
It's up for you to make a decision. I'm just trying to add an Encapsulation and Consistency to both of the functions.

The error handling is really unnecessary though, I'll close this...


[autopaste] Revert 78acc

I'm not a fan of commit 78acc59395fa5622761c940a16b4c49933a357e5 because if someone wants to use a codeblock to show an example and you forget to add #pre-ignore or !, it gives that prompt and you cannot delete it.

I know that this was merged intentionally, so I propose a compromise: make it so users can either enable deleting the autopaste message or just disable the autopaste message entirely.

I'm not a fan of commit 78acc59395fa5622761c940a16b4c49933a357e5 because if someone wants to use a codeblock to show an example and you forget to add #pre-ignore or !, it gives that prompt and you cannot delete it.

That's why helpers can delete the auto paste message in help threads...

But what if they aren't around? The autopaste message has a timeout after all


Update default calibration version to 10 - [merged]

In GitLab by @wtbarnes on Nov 2, 2020, 12:13
Merges v10-degradation-calibration -> master
This updates the default degradation calibration version to 10 and adds a test. v10 is the most recent version available from the JSOC.

In GitLab by @codecov on Nov 2, 2020, 12:18
Codecov Report

Merging #90 (2be820b) into master (62f262d) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
+ Coverage   97.16%   97.19%   +0.03%
==========================================
  Files          15       15
  Lines         458      464       +6
==========================================
+ Hits          445      451       +6
  Misses         13       13

Impacted Files
Coverage Δ

aiapy/calibrate/util.py
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 62f262d...2be820b. Read the comment docs.

In GitLab by @wtbarnes on Nov 2, 2020, 12:15
added 1 commit
93c09a96 - add changelog
Compare with previous version

In GitLab by @wtbarnes on Nov 2, 2020, 12:28

In GitLab by @wtbarnes on Nov 2, 2020, 12:27
See the built docs here. There still seems to be a problem with the degradation curves queried from the JSOC with the new v10. They do not match those produced from the text file of supposedly the same version.

In GitLab by @wtbarnes on Nov 12, 2020, 16:28
added 1 commit
d7016f8f - better date formatting
Compare with previous version

In GitLab by @wtbarnes on Nov 3, 2020, 20:05
So after some discussion, it seems there is just an issue in the 94 channel. Once this is fixed upstream in JSOC, we can double check the docs and tests and then merge.
Should also fix the x-axis on the degradation curve example.

In GitLab by @wtbarnes on Nov 24, 2020, 12:52
added 1 commit
2be820b6 - cleanup test
Compare with previous version

In GitLab by @wtbarnes on Nov 24, 2020, 12:50
added 17 commits
d7016f8f...62f262db - 12 commits from branch LMSAL_HUB/aia_hub:mastera5410113 - update default calibration version to 1014b47389 - add changelog07eb8b3f - select only most recent epoch1886eb25 - update test for more recent v10 calibration95df523d - changelog
Compare with previous version

In GitLab by @wtbarnes on Nov 24, 2020, 13:17
mentioned in commit 157fcd824f2714073f7f2d4c7c5c511d1a7285ac


Update Stamen example in README

They changed their tile URLs: https://maps.stamen.com/stadia-partnership/
This should work:
var Stadia_StamenWatercolor = L.tileLayer('https://tiles.stadiamaps.com/tiles/stamen_watercolor/{z}/{x}/{y}.{ext}', {
	minZoom: 1,
	maxZoom: 16,
	attribution: '© Stadia Maps © Stamen Design © OpenMapTiles © OpenStreetMap contributors',
	ext: 'jpg'
});

No, that doesn't work either:

I don't think Stamen tiles are available for free any more.

I'll use https://leaflet-extras.github.io/leaflet-providers/preview/index.html#filter=OpenTopoMap as an example instead.

var OpenTopoMap = L.tileLayer('https://{s}.tile.opentopomap.org/{z}/{x}/{y}.png', {
	maxZoom: 17,
	attribution: 'Map data: © OpenStreetMap contributors, SRTM | Map style: © OpenTopoMap (CC-BY-SA)'
});


has license changed

Hi,
Thanks for sharing Trepl. I used (modified a bit) it in an online Lua REPL with torch support, tide (https://github.com/bitRadio/tide). The last time I checked license notification was "Copyright: MIT / BSD / Do whatever you want with it. Clement Farabet, 2013", so I kept it in sources. Should I change it acoording to current one ?
Regards,
Ali Sabri

right now the license is BSD. I think you're okay with licensing Tide under MIT and using a modified Trepl.
Tide looks really exciting, is it ready to try? I see pre-release tag on it.

Hi,
Thanks for the quick response. Yes it is ready to try.
Regards


Issues running the ringtest example

Hi.
I couple of years back, using the script in this page, https://github.com/nrnhines/ringtest ,  i was able to run some test with CoreNeuron.
The last version of the script works except the CoreNeuron step.

To run ringtest i had to change the executable location from "bin" to "apps".
./coreneuron_x86/bin/coreneuron_exec -e 100 -d coreneuron_data

Running the previous command generates this error.
coreneuron_exec: /coreneuron_new/sources/CoreNeuron/coreneuron/nrniv/nrn_setup.cpp:1747: void coreneuron::read_phase2(coreneuron::FileHandler&, int, coreneuron::NrnThread&): Assertion `ps->gid_ > -1' failed.
Aborted

@SteMasoli  : could you tell us NEURON version that you are using?

@pramodk The version is the latest developmental code automatically installed with the CoreNeuron script.

@st4rl3ss : could you take a look at ringtest, run it locally/bb5 and test?

I bellieve the bug is fixed with the latest changeset 78d1fe7cf

thank you Michael. @iomaganaris  has tested latest neuron and it's working fine now.

Thank you.
I have just tested it and everything is fine on my machine too.


Open http links in new window

Discussed in https://github.com/shuding/nextra/discussions/1181

Originally posted by 1nfinite9 January  4, 2023
Is there any way to provide an option to open just a regular Markdown link in a new window? I understand this is currently available for links in the menu and sidebar, but would be quite useful when using the docs theme to create a collection of links, both internal and external.

Thanks!


StackOverflowError for switch expression in JavaVisitor

Hi,
parsing a switch expression leads to a StackOverflowError. Visiting the switch expression in JavaVisitor in line 1043 calls getType of J.SwitchExpression. This function creates a new JavaVisitor which calls visitSwitchExpression during traversing.
Kind regards
Thomas

I encountered the same problem on some of my projects. And I can confirm it's due to the switch expressions. Any ideas how to fix this or to work around it?

Hi @thomaszub, @wjglerum, @fprochazka thank you for reporting the issue!
Our switch parse tests, seem to work fine on java 8, 11, and 17. Do you have an example in the code where this occurs?

Hi @traceyyoshima,
this error occurs in JavaVisitor. Modifying the test in JavaVisitorTest.kt triggers the error:
/*
 * Copyright 2020 the original author or authors.
 *

 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *

 * https://www.apache.org/licenses/LICENSE-2.0
 *

 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.openrewrite.java

import org.junit.jupiter.api.Test
import org.openrewrite.ExecutionContext
import org.openrewrite.java.tree.J

interface JavaVisitorTest : JavaRecipeTest {

    @Suppress("RedundantThrows")
    @Test
    fun javaVisitorHandlesPaddedWithNullElem() = assertChanged(
        recipe = toRecipe {
            object : JavaIsoVisitor<ExecutionContext>() {
                override fun visitMethodInvocation(
                    method: J.MethodInvocation,
                    p: ExecutionContext
                ): J.MethodInvocation? {
                    val mi = super.visitMethodInvocation(method, p)
                    if ("removeMethod" == mi.simpleName) {
                        return null
                    }
                    return mi
                }
            }
        }.doNext(
            toRecipe {
                object : JavaIsoVisitor<ExecutionContext>() {
                    override fun visitMethodDeclaration(
                        method: J.MethodDeclaration,
                        p: ExecutionContext
                    ): J.MethodDeclaration {
                        var md = super.visitMethodDeclaration(method, p)
                        if (md.simpleName == "allTheThings") {
                            md = md.withTemplate(JavaTemplate.builder({ cursor }, "Exception").build(),
                                md.coordinates.replaceThrows())
                        }
                        return md
                    }
                }
            }
        ),
        before = """
            class A {
                void allTheThings() {
                    var val = switch("abc") {
                        case "a" -> 1;
                        case "b" -> 2;
                        default -> 0;
                    };
                    doSomething();
                    removeMethod();
                }
                void doSomething() {}
                void removeMethod() {}
            }
        """,
        after = """
            class A {
                void allTheThings() throws Exception {
                    doSomething();
                }
                void doSomething() {}
                void removeMethod() {}
            }
        """,
        cycles = 2,
        expectedCyclesThatMakeChanges = 2
    )
}

@traceyyoshima

Do you have an example in the code where this occurs?

That's something of a challenge, since the exceptions don't contain any messages and no debug info even with mvn -X is printed, with information on what source file is the plugin processing, so I don't know how to get you the sample easily. I would have to start removing code randomly from the affected maven module and it's quite large.

Hi @thomaszub, @wjglerum, @fprochazka thank you for reporting the issue!
Our switch parse tests, seem to work fine on java 8, 11, and 17. Do you have an example in the code where this occurs?

I could try to extract a little sample from our codebase later today. I have a small project where we only use 1 or 2 switch expressions, so that should be fairly easy to do.

Hi @thomaszub @fprochazka @wjglerum, thank you all for responding so quickly -- The test Thomas shared reproduces the issue. I'll use what he provided to track down the minimal amount of code to cause the SOE and look at this today.

Wow that was quick! I was about to look into a reproducer, but you already managed to provide a fix. Any chance that I could try this out locally already with a new build or version of openrewrite?

You can consume snapshots of OpenRewrite via the sonatype snapshot repository:
https://oss.sonatype.org/content/repositories/snapshots/
We do not publish the recipe bom in snapshots, so you will need to explicitly set the various snapshot versions of the rewrite artifacts.


[Backport] [2.x] [Streaming Indexing] Introduce new experimental HTTP transport based on Netty 4 and Project Reactor (Reactor Netty) (#9672)

Backport of https://github.com/opensearch-project/OpenSearch/pull/9672 to 2.x

URL: https://build.ci.opensearch.org/job/gradle-check/29600/

https://github.com/opensearch-project/OpenSearch/issues/10798

URL: https://build.ci.opensearch.org/job/gradle-check/29612/

https://github.com/opensearch-project/OpenSearch/issues/10798
https://github.com/opensearch-project/OpenSearch/issues/11113
https://github.com/opensearch-project/OpenSearch/issues/9332
https://github.com/opensearch-project/OpenSearch/issues/9332

URL: https://build.ci.opensearch.org/job/gradle-check/29616/

https://github.com/opensearch-project/OpenSearch/issues/10798

URL: https://build.ci.opensearch.org/job/gradle-check/29644/

https://github.com/opensearch-project/OpenSearch/issues/10006

URL: https://build.ci.opensearch.org/job/gradle-check/29668/

https://github.com/opensearch-project/OpenSearch/issues/10006
https://github.com/opensearch-project/OpenSearch/issues/10798

URL: https://build.ci.opensearch.org/job/gradle-check/29670/

https://github.com/opensearch-project/OpenSearch/issues/10798

URL: https://build.ci.opensearch.org/job/gradle-check/29680/

https://github.com/opensearch-project/OpenSearch/issues/10983
https://github.com/opensearch-project/OpenSearch/issues/10154

@dblock @andrross after N flaky builds, got a green one, mind please approving this backport? thank you


Support chars with accents

Somebody knows if Ui-Select support chars with accents ?

ui-select should function similar to any other input so I don't think there would be any problems with special chars.
If anyone is able to test and update this issue, please feel free to.
In the mean time I'm closing this due to a lack of activity.


spirv-fuzz: Fuzzed shader invalidation due missing Float64 capability

spirv-val invalidated a fuzzed shader because a 64-bit float type was declared but the Float64 capability was missing.
error: line 67: Using a 64-bit floating point type requires the Float64 capability.
  %double = OpTypeFloat 64

Debugging spirv-fuzz, I found that TransformationAddTypeFloat adds 16-bit and 64-bit float types without adding the corresponding Float16 and Float64 capabilities.

TransformationAddTypeFloat and TransformationAddTypeInt did not check whether the required capabilities were present when adding 16-bit, 64-bit, and 8-bit types.
#3670 adds the required checks to the transformations.
#3685 fixes FuzzerPassAddEquationInstructions to avoid applying the transformations with types that are not allowed.


chore: refactor startup logic to work without reload

chore: refactor startup logic to work without reload

main:

move extension startup logic into WorkspaceActivator

this is divided into 2 phases:

init/**
* Initialize workspace. All logic that happens before the engine is initialized happens here
* - create workspace class
* - register traits
* - run migrations if necessary
*/

activate/**
* Initialize engine and activate workspace watchers
*/

update trait logic (trait can be injected at runtime), this simplifies the command registration process (we can register all commands on activation vs conditionally registration some commands only when the ws has activated)
nice sideeffect, this removes all circular dependencies
LaunchTutorial command will now launch the tutorial without reloading the workspace

misc

fix issue in describeSingleWS.only function

NOTE: since this is quite a large change, I've held back on adding the auto-init into the tutorial workspace. will be trivial to add once this is merged

fyi: the extension name when accessed during dev looks to be dendron.@dendronhq/plugin-core
in case we need to use vscode.extensions.getExtension() later.

NOTE: since this is quite a large change, I've held back on adding the auto-init into the tutorial workspace. will be trivial to add once this is merged

Just so I'm understanding correctly. What is the current expected behavior when we click on the big green button?
In a non-dendron workspace, ran Dendron: Launch Tutorial to bring up the welcome page, and then clicked the button.
From the logs I can see that a new Dendron-X workspace has been initialized, but nothing happened in the VSCode side.
Is this part what you are referring to be added once merged?

NOTE: since this is quite a large change, I've held back on adding the auto-init into the tutorial workspace. will be trivial to add once this is merged

Just so I'm understanding correctly. What is the current expected behavior when we click on the big green button?
In a non-dendron workspace, ran Dendron: Launch Tutorial to bring up the welcome page, and then clicked the button.
From the logs I can see that a new Dendron-X workspace has been initialized, but nothing happened in the VSCode side.
Is this part what you are referring to be added once merged?

If you click the green button, it should create a native workspace and initialize dendron with this workspace without reloading the window

Just pulled the branch in again to test it locally. Dendron initializes as expected to the tutorial workspace. I must have done something wrong before when building.
One comment about an error thrown when the open VSCode instance is not in a VSCode workspace.
Also, I know we kinda don't want to add a folder to the user's code-workspace without asking, but new users may get confused when they can't see anything in the file explorer.
We do want to nudge users to use the tree view instead of the file explorer, but if we do this we might want to highlight the use of tree view more in the tutorial to avoid confusion.

yeah - we'll need to iterate on the ux. this is why this change doesn't change the current onboarding flow - it just does the refactoring needed to make it happen. its a big enough change by itself, will have a separate change to integrate this with tutorial


chore: zeebe-knative-worker to 0.0.11

chore: Promote zeebe-knative-worker to version 0.0.11

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

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


change：js code

js code
AttestationObject-->attestationObject
clientDataJson-->clientDataJSON

Codecov Report

Merging #289 (6e0cff8) into master (db931bd) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #289   +/-   ##
=======================================
  Coverage   76.86%   76.86%
=======================================
  Files          83       83
  Lines        2356     2356
  Branches      418      418
=======================================
  Hits         1811     1811
  Misses        436      436
  Partials      109      109

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update db931bd...6e0cff8. Read the comment docs.

The propertyname in js should be the same as the propertyname of the c# code


albumentation

Hi
i am getting this error:
File "C:\Users\dell\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 704, in runfile
execfile(filename, namespace)
File "C:\Users\dell\Anaconda3\lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 108, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "E:/MCSS/segmentation_models-master/load_dataset.py", line 292, in
preprocessing=get_preprocessing(preprocess_input),
File "E:/MCSS/segmentation_models-master/load_dataset.py", line 240, in get_preprocessing
A.Lambda(image=preprocessing_fn),
AttributeError: module 'albumentations' has no attribute 'Lambda'
please suggest some solution for this error
Originally posted by @ruchika61 in https://github.com/qubvel/segmentation_models/issues/408#issuecomment-713126589

I don't think this should be here. But try upgrading/downgrading albumentations.

Hi
Solved this error after upgrading
Thanks


Error if multiple emitters are configured.

If multiple emitters are configured, only one is used; the others are
silently ignored. This patch causes the atc to fail if multiple emitters
are configured so that users don't expect that multiple emitters are
supported.
[Closes https://github.com/concourse/concourse/issues/1557]
h/t @jtarchie

thanks!