Linux to Windows path transformation in bash wrapper and start scripts are erroneous

If you use the bash wrapper script, within msys environment, for example C:\Program Files\Git\usr\bin\bash.exe -l -i from Git for Windows, the translation of paths does not work properly. Most probably it is the same for Cygwin, but I didn't test it, but it is the same code path.
If you for example do ./gradlew -p /bin, then you get ./gradlew: line 152: Files/Git/usr/bin: No such file or directory  and then An empty argument was provided for command-line option '-p'., an inserted declare -p APP_ARGS shows:
declare -- APP_ARGS="'-p' \\
'' \\
 "

I think this is because of the space in the Windows path that is not escaped properly somewhere.
Furthermore on msys environment, the translation for things like class path might be necessary, but the single-argument path translation should just not be done in the script as msys already does that for you unless you disable it.
For example if you do ls -alh / or what the script does find -L / -maxdepth 1 -mindepth 1 -type d, then the Windows drives like /c and so on are not shown, but they can magically be used anyway. So if you for example do ./gradlew -p /c, then the script does not touch it (which you can see from the error when doing MSYS_NO_PATHCONV=1 ./gradlew -p /c which complains that the c directory under the current work directory does not exist) but msys properly translates the path including spaces.
If you comment out the lines that do the single argument path translation (151, 152, 153, 155), then ./gradlew -p /bin properly fails with the message that it couldn't create C:\Program Files\Git\usr\bin\.gradle as now msys did the path translation properly and also escaped the spaces as needed.
So I'd suggest to not do the path translation (or at least the single-argument one) in the msys case, but just in the cygwin case, and if the some translation remains to happen, test that spaces are handled properly.
Expected Behavior
Path with spaces and system drive paths are transformed and forwarded properly.
Current Behavior
They are not
Your Environment
Gradle 7.1.1

@Vampire could you check this again with 7.2? https://github.com/gradle/gradle/issues/17806#issuecomment-885190533

The spaces work properly now, thanks.
What still is to be thought about is, why for msys the path translations are done at all, as msys does it already and there the user is even able to enable or disable the behavior.
Is it better that the script does the translation always, no matter how the user has set the MSYS environment variable, or is it better to let msys do the translation and let the user choose whether the translation should be done or not?

@Vampire This may be a relatively new addition (7.1): https://github.com/gradle/gradle/pull/17241
The special casing of msys has always been there, but we started treating more operating systems (reported by uname) as MSYS because people reported this as broken. MSYS was treated the same as MINGW.
Is it possible that MSYS's automatic translation only works for certain cases, but fails for something like a path list (path/to/jar:path/to/another/jar)?
We don't have exhaustive tests that try different combinations of POSIX-like environments, so I wouldn't be surprised if we're doing something wrong.

Actually I don't see why it shouldn't work except if disabled using environment variable:
$ java -jar /c/Program\ Files
Error: Unable to access jarfile C:/Program Files
$ java -jar /c/Program\ Files:/d/Sourcecode/
Error: Unable to access jarfile C:\Program Files;D:\Sourcecode\
$ MSYS_NO_PATHCONV= java -jar /c/Program\ Files
Error: Unable to access jarfile /c/Program Files
$ MSYS_NO_PATHCONV= java -jar /c/Program\ Files:/d/Sourcecode/
Error: Unable to access jarfile /c/Program Files:/d/Sourcecode/

But I'm also no msys expert, so I might be wrong as well.
How about keeping the cygpath logic in the script template also for msys,
but allowing to disable it on demand with some environment variable like <the built program>_NO_PATHCONV or <the built program>_ARG_CONV_EXCL="*"?
In the MSYS from which Git for Windows is built, it is MSYS_NO_PATHCONV which when set suppresses the conversion completely, in MSYS2 it is MSYS2_ARG_CONV_EXCL where you can configure specific excludes which is better of course and you can disable conversion completely using MSYS2_ARG_CONV_EXCL="*".
This should then though maybe only work on user-given paths and on the internal paths like JAVACMD it should still be done I guess.

Thanks for your interest in Gradle!
@Vampire Sorry for the late reply. While I don't have a good answer for your last question here, since some changes were done in Gradle 7.2, I'm closing this issue as being (partially) solved. Please open a new one with a specific request if you still have some issue with that setup.


Sg/session update model

Modification to include SessionUpdate pydantic model.
~Branch based on branch with unit tests. No there in the list anymore.~
It affects also a few unit tests.
Closes #72

Codecov Report

Merging #78 (a550180) into master (f848cc3) will increase coverage by 0.29%.
The diff coverage is 48.24%.

@@            Coverage Diff             @@
##           master      #78      +/-   ##
==========================================
+ Coverage   69.12%   69.42%   +0.29%
==========================================
  Files          33       34       +1
  Lines         774      811      +37
==========================================
+ Hits          535      563      +28
- Misses        239      248       +9

Flag
Coverage Δ

linux
69.42% <48.24%> (+0.29%)
:arrow_up:

windows
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Update supporters.md

Willing to join in this journey to learn and excel in AI development!

Welcome!


CVE-2020-7774 vunerablity in y18n

PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response.
The google-gax is using
"@grpc/grpc-js": "~1.1.1",
 "@grpc/proto-loader": "^0.5.1",

which is internally referring to yargs and yargs is referring to y18n
`--<EMAIL_ADDRESS>  `--<EMAIL_ADDRESS>    `--<EMAIL_ADDRESS>      `--<EMAIL_ADDRESS>        `--<EMAIL_ADDRESS>
there is a vulnerability reported here https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-7774 with below information.
This affects the package y18n before 5.0.5. PoC by po6ix:

const y18n = require('y18n')();
y18n.setLocale('__proto__');
y18n.updateLocale({polluted: true});
console.log(polluted); // true

Please move to higher version of this libraray so that the vulnerability is addressed

Please see this response from grpc - https://github.com/grpc/grpc-node/issues/1639#issuecomment-733125238

Any update on this. Can this vulnerability be addressed please ASAP?

I think this PR should help us - https://github.com/googleapis/gax-nodejs/pull/934

@braj1999 if you update your package-lock.json, or perform a fresh install, you will get<EMAIL_ADDRESS>which has the fix:
  │ │   ├──<EMAIL_ADDRESS>  │ │   ├──<EMAIL_ADDRESS>  │ │   ├──<EMAIL_ADDRESS>  │ │   ├──<EMAIL_ADDRESS>  │ │   ├─┬<EMAIL_ADDRESS>  │ │   │ ├──<EMAIL_ADDRESS>  │ │   │ ├──<EMAIL_ADDRESS>  │ │   │ └──<EMAIL_ADDRESS>deduped
  │ │   ├──<EMAIL_ADDRESS>  │ │   ├──<EMAIL_ADDRESS>

@braj1999 leaving this open, @alexander-fenster thinks we should explicitly update to version 1.2.0 of gRPC, even though out tree no longer has 4.0.0 of y18n.

I have just merged #934. The updated version of google-gax will be released tomorrow.


Once an ip in an ippool has a conflict, it can neither be deleted nor edited.

Describe the version
version about:

spiderpool v0.3.5

Describe the bug
Once an ip in an ippool has a conflict, it can neither be deleted nor edited.
Expected behavior
A clear and concise description of what you expected to happen.
It should be possible to edit or delete
Screenshots and log
If applicable, add screenshots and log to help explain your problem.
{"level":"ERROR","ts":"2022-12-20T06:40:26.430Z","logger":"IPPool-Webhook.Validating","caller":"ippoolmanager/ippool_webhook.go:199","msg":"Failed to update IPPool: spec.ips: Forbidden: overlap with IPPool v4pool-1357-82636870 in IP ranges [<IP_ADDRESS>], total IP addresses of an IPPool are jointly determined by 'spec.ips' and 'spec.excludeIPs'","IPPoolName":"v4pool-1357-127528110","Operation":"UPDATE"}
{"level":"ERROR","ts":"2022-12-20T06:40:26.434Z","logger":"SpiderIPPool-Informer","caller":"ippoolmanager/ippool_informer.go:354","msg":"encountered ippool informer error 'failed to remove SpiderIPPool 'v4pool-1357-127528110' finalizer: admission webhook \"spiderippool.spiderpool.spidernet.io\" denied the request: SpiderIPPool.spiderpool.spidernet.io \"v4pool-1357-127528110\" is invalid: spec.ips: Forbidden: overlap with IPPool v4pool-1357-82636870 in IP ranges [<IP_ADDRESS>], total IP addresses of an IPPool are jointly determined by 'spec.ips' and 'spec.excludeIPs'', requeue it after '1s'","IPPool_Informer_Worker":"All_IPPool"}

Additional context
Add any other context about the problem here.

Fixed in pr #1200


better way of filtering container disk widgets without using /docker/

Here is the source:
https://github.com/Netflix/vector/blob/master/src/app/datamodels/containerMultipleCumulativeMetric.datamodel.js#L53


Fuse aggregator

This PR adds the fuse() aggregator (with a placeholder name per https://github.com/brimsec/zq/issues/2114).
Upon encountering collisions (columns with same name but different types), it computes the type union of the types rather than the _n suffixes that are used by the fuse proc.
With this it should be straightforward to add "null absorption" (@mccanne 's "nullify"); we'll have to decide if that should be the default or something else.
close #1965

rebased to master with @mccanne's recent changes which allowed reverting the "parsing hack", and added a test for partials that I had forgotten to git add.


Is there any issues if I enable TLS padding extension by default?

Hi,
I find that TLS padding extension(rfc7685) is used to fix some bugs in some implements . And openssl have
SSL_CTX_set_options(ctx, SSL_OP_TLSEXT_PADDING) to enable it.
I want to know:

is there any issue that I enable this extension by default?

which TLS implements has such bug that need padding extension?

Thanks in advance.

is there any issue that I enable this extension by default?

Not particularly. It artificially increases the size of the ClientHello if it would otherwise fall in the problematic range (256 - 511 bytes). Generally speaking you don't want to send more data than you have to for performance reasons, but I think it is unlikely to have much of a discernible effect in most cases. I have no data to say how prevalent the affected implementations are these days. I don't recall seeing a report of a problem recently - and we don't set this option by default, so you might want to try running without it and see if it is actually a problem.

which TLS implements has such bug that need padding extension?

I don't recall what specific implementations had the problem. I think it was some middleware boxes (load balancers or similar).

thanks a lot for the reply

FWIW, the originally discovered culprit was F5 (see links from https://mailarchive.ietf.org/arch/msg/tls/EsIs-iLVlRsSshD9ZNhqZVsGXfU/) but they don't have a "monopoly" on it (see, e.g., https://mailarchive.ietf.org/arch/msg/tls/9MBtOpmP-SOPyQT3qNN_TYb5eu0/)


Dynamically disable/enable swipe/next/prev option

I am trying to dynamically disable/enable swipe by setting rn-carousel-swipe = false. But it is not working.
please let me know if anyone got any solution for this.

rn-carousel-locked doesn't work for me..

rn-carousel-locked didn't work for me either.
However, after looking through the source code I found an rn-swipe-disabled attribute which did work.


hellow，error，why。

Traceback (most recent call last):
File "D:\googleDownload\code\A-Deep-Learning-Model-for-Accurate-and-Robust-Internet-Traffic-Classification-master\datasets\tfc2016.py", line 4, in
from papercandy import *
File "D:\DLsoftware\Anaconda\envs\traffic01\lib\site-packages\papercandy_init_.py", line 1, in
from papercandy.test import *
File "D:\DLsoftware\Anaconda\envs\traffic01\lib\site-packages\papercandy\test.py", line 4, in
from papercandy import network as _network
File "D:\DLsoftware\Anaconda\envs\traffic01\lib\site-packages\papercandy\network.py", line 10, in
from papercandy.core import network as _network, config as _config
File "D:\DLsoftware\Anaconda\envs\traffic01\lib\site-packages\papercandy\core\network.py", line 70, in
class LayerInfoList(object):
File "D:\DLsoftware\Anaconda\envs\traffic01\lib\site-packages\papercandy\core\network.py", line 80, in LayerInfoList
def getitem(self, item: Union[int, slice]) -> Union[LayerInfo, list[LayerInfo]]:
TypeError: 'type' object is not subscriptable
Process finished with exit code 1

Which version of PaperCandy is it?

Hi YuzhiSu,
What was the main script that you ran?

Hi YuzhiSu!
I've reviewed your Traceback. This is likely to be an error caused by an incompatible version of Python. Which version of Python interpreter did you use?


[Q] how to copy runs from on project to another project

Can I copy runs from one project from a team to another non-team project from? I can see all the runs in my wandb folder but I don't know how to sync those runs to another project.
I need this because I have used all free tracked hours provided by weights and biases for the team entity and now I wish to transfer those runs to my personal project. There is an option for moving those runs as mentioned here using GUI, but now I can not access those runs as I am being redirected to billing page because of using all the tracked hours.

Hi I asked the same question in wandb discord channel and I got a reply from their bot  wandbbot and this piece of code worked like a charm! Thank you!
Sharing this piece of code in case someone needs it:
import wandb

# Set your API key
wandb.login()

# Set the source and destination projects
src_entity = "src-entity"
src_project = "src-project"
dst_entity = "dst-entity"
dst_project = "dst-project"

# Initialize the wandb API
api = wandb.Api()

# Get the runs from the source project
runs = api.runs(f"{src_entity}/{src_project}")

# Iterate through the runs and copy them to the destination project

for run in runs:
    # Get the run history and files
    history = run.history()
    files = run.files()

    # Create a new run in the destination project
    new_run = wandb.init(project=dst_project, entity=dst_entity, config=run.config, name=run.name,resume="allow")

    # Log the history to the new run
    for index, row in history.iterrows():
        new_run.log(row.to_dict())

    # Upload the files to the new run
    for file in files:
        file.download(replace=True)
        new_run.save(file.name,policy = "now")

    # Finish the new run
    new_run.finish()

Thank you for your question and your answer!

I filled this out a bit for better functionality. In particular, the .history() returns a default sample size of 500, so I set this to always match the number of steps in the copied run. Also you probably want to grab your system history from the run as well. Tbh I think there should be a way to do this in the UI.
`from argparse import ArgumentParser
import numpy as np
import wandb
def main(args):
if args.names is not None:
    if args.runs is None:
        raise Exception("Renaming copied runs not supported when copying whole project.")
    assert len(args.names) == len(args.runs), "Number of new names must equal number of run IDs"

args.dst_entity = args.dst_entity if args.dst_entity is not None else args.src_entity
args.dst_project = args.dst_project if args.dst_project is not None else args.src_project
same_project = args.src_entity == args.dst_entity and args.src_project == args.dst_project
if same_project and args.names is None:
    name_append = "-copy"
else:
    name_append = ""

# Set your API key
wandb.login()
# Initialize the wandb API
api = wandb.Api()

# Get the runs from the source project
runs = api.runs(f"{args.src_entity}/{args.src_project}")

# Iterate through the runs and copy them to the destination project
for run in runs:
    if args.runs is not None and run.id not in args.runs:
        continue
    # Get the run history and files
    history = run.history(samples=run.lastHistoryStep + 1)
    system = run.history(samples=run.lastHistoryStep + 1, stream="system")
    history = history.join(system, rsuffix="_system")
    files = run.files()

    name = run.name if args.names is None else args.names[args.runs.index(run.id)]

    # Create a new run in the destination project

    # Log the history to the new run
    new_run = wandb.init(
        project=args.dst_project,
        entity=args.dst_entity,
        config=run.config,
        name=name + name_append,
        resume="allow"
    )
    for index, row in history.iterrows():
        new_run.log({k: v for k, v in row.to_dict().items() if v is None or not (v == "NaN" or np.isnan(v))})

    # Upload the files to the new run
    for file in files:
        file.download(replace=True)
        new_run.save(file.name, policy="now")

    # Finish the new run
    new_run.finish()

if name == "main":
parser = ArgumentParser(description="Copies one or all of the runs in a wandb project to another.")
parser.add_argument("-se", "--src-entity", type=str, default="indezera", help="Source wandb entity name.")
parser.add_argument("-sp", "--src-project", type=str, help="Name of the wandb projecet.")
parser.add_argument("-de", "--dst-entity", type=str, default=None, help="Destination wandb entity name.")
parser.add_argument("-dp", "--dst-project", type=str, default=None, help="Name of destination wandb project.")
parser.add_argument("-r", "--runs", nargs="", type=str, default=None, help="List of run IDs to copy. If None will copy all in project.")
parser.add_argument("-n", "--names", nargs="", type=str, default=None, help="List of new names for copied runs (optional).")
main(parser.parse_args())`


Declare prop types as described by FormKit docs

Hello! Great project and I love how organized it is. Adding & using it was a breeze!
Would it be possible to add the types of each component to FormKit as it is described in the docs?

It seems this project cannot be used with FormKit/TypeScript until this is done, as the project will not build (unless strictly using schema)!

Hi, adding types is possible but not on the top of my list. If i have some spare time i will look into it.
Meanwhile if someone is willing to help i am glad to integrate a pull request for that topic.
Stay tuned,
Tom

I started using this library and it is really interesting and useful. When I tried to build, however I ended up with the problem reported in this issue.
I think typescript is almost a must now, I hope for a resolution.

I suggest to install the vue-tsc dependency and try to fix the main errors (not dev or test) given by the command
vue-tsc --build --force
This at least makes it possible to build applications that use this library as a dependency and require type checking

Yes it works, now the build with typechek goes.
I had to apply a few tricks to readjust my code but it works

Hi,
base types for custom inputs / outputs are added.
I will close this for now.
Greetings and thanks to everybody,
Tom


Can you use the name of the build configuration in the Obfuscar XML?

I'm adding a third build configuration to my .NET Framework project, next to Debug and Release. I would like the files to be obfuscated in this configuration, without having to add a nearly identical XML configuration file. Is it possible to use the configuration name as a parameter in the XML?
My attempts:

Adding the ConfigurationName parameter to the XML. This does not work.

Adding the configuration name as a command line argument. But Obfuscar only accepts the XML path as the only argument.

I could create a nearly identical configuration file, but I'd like to avoid it if I can.

Please use MSBuild tasks to generate/manipulate the configuration on the fly, before calling Obfuscar. That literally achieves the same.


Have export command check modified times to determine if exporting is necessary

From @cccntu, originally mentioned here

I also tried the export command, but found they always exports every files. Maybe we can check the modified time and only export the necessary files? (like in Make) So user can add this command in Makefile without generating all the files each time. And add a flag to force regenerating everything.

@cccntu One thing to note that might be helpful (though it doesn't address the feature request itself): if the path you specify is to one notebook file (instead of a directory), it will only export that notebook. So in cases where you know a priori which notebook you want to export, this can save you some unneeded computation.

@cccntu One thing to note that might be helpful (though it doesn't address the feature request itself): if the path you specify is to one notebook file (instead of a directory), it will only export that notebook. So in cases where you know a priori which notebook you want to export, this can save you some unneeded computation.

@jayqi Thanks for the suggestion, I did not know about that.
I was gonna say it would be too much work to add every file to Makefile, then I remembered that you can use wildcard in Makefile.
Though it took me some time to figure it out, I got it working! Here are the lines I added in my Makefile.
nb:$(patsubst notebooks/%.ipynb, notebooks/script/%.py, $(wildcard notebooks/*.ipynb))
notebooks/script/%.py : notebooks/%.ipynb
        nbautoexport export $?

run make nb

@jayqi Thanks for the suggestion, I did not know about that.
I was gonna say it would be too much work to add every file to Makefile, then I remembered that you can use wildcard in Makefile.
Though it took me some time to figure it out, I got it working! Here are the lines I added in my Makefile.
nb:$(patsubst notebooks/%.ipynb, notebooks/script/%.py, $(wildcard notebooks/*.ipynb))
notebooks/script/%.py : notebooks/%.ipynb
        nbautoexport export $?

run make nb


Enabling PVD Plot Legends

Hi all,
I just wanted to share some code here in case it may help anyone else: I've added a legend to the PVDs which shows the Z_val associated with each colour. It assumes that the Z_vals are the same for all biomarkers when creating the legend labels. I'm aware that there's an open issue on PVD colourbars and am not offering a solution to that problem, but simply a fix in the meantime to show clearly which value maps to which colour (I myself found this quite confusing to parse out when using more than 3 Z_vals as there was no documentation showing the mappings). It would be well paired with explanations I've seen used in papers about what the intensity, etc. of each colour indicates.
This requires an extra import from Matplotlib in ZscoreSustain: import matplotlib.patches as mpatches.
To implement it, add the following to plot_positional_var in ZscoreSustain between lines 660 (ax.set_title(title_i, fontsize=title_font_size)) and 661 (# Tighten up the figure). Further customization (i.e. legend size, location, etc) is possible through use of the ax.legend arguments.
                ax.set_xlabel(stage_label, fontsize=stage_font_size+2)
                ax.set_title(title_i, fontsize=title_font_size)

                # Add a legend
                # adding an extra dim to colour mat for RGB reasons
                legend_colour_mat = np.array([[[1, 0, 0], [1, 0, 1], [0, 0, 1], [0.5, 0, 1], [0, 1, 1], [0, 1, 0.5]]])[:N_z]

                patches = [ mpatches.Patch(color=legend_colour_mat[0][i], label=f"Z_val = {zvalues[i]}") for i in range(len(zvalues)) ]

                # put those patches as legend-handles into the legend
                ax.legend(handles=patches, loc = "best" )

            # Tighten up the figure
            #plt.tight_layout()
            fig.tight_layout()

this is an example of the result using the Sustain Workshop data:

I also found it helpful to visualize the general mapping of Z_vals to colours, especially if legends aren't used:

which I generated using:
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import numpy as np
legend_colour_mat = np.array([[[1, 0, 0], [1, 0, 1], [0, 0, 1], [0.5, 0, 1], [0, 1, 1], [0, 1, 0.5]]])
ax = plt.subplot()
ax.imshow(legend_colour_mat)
ax.set_yticks([])
ax.set_xticks(range(6), ["1st Z_val", "2nd Z_val", "3rd Z_val", "4th Z_val", "5th Z_val", "6th Z_val"])
plt.show()

I hope this will be helpful to some! Thanks 😊

Thanks @katrinaCode! I haven't tried this out, so will leave this issue open for now.
Cheers


[SPARK-9050] [SQL] Remove unused newOrdering argument from Exchange (cleanup after SPARK-8317)

SPARK-8317 changed the SQL Exchange operator so that it no longer pushed sorting into Spark's shuffle layer, a change which allowed more efficient SQL-specific sorters to be used.
This patch performs some leftover cleanup based on those changes:

Exchange's constructor should no longer accept a newOrdering since it's no longer used and no longer works as expected.
addOperatorsIfNecessary looked at shuffle input's output ordering to decide whether to sort, but this is the wrong node to be examining: it needs to look at whether the post-shuffle node has the right ordering, since shuffling will not preserve row orderings.  Thanks to @davies for spotting this.

/cc @yhuai and @davies for review; this should be a pretty straightforward cleanup patch.

Merged build triggered.

Merged build started.

Test build #37281 has started for   PR 7407 at commit e866494.

Merged build triggered.

Merged build started.

Test build #37283 has started for   PR 7407 at commit e70be50.

LGTM

LGTM

Test build #37283 has finished for   PR 7407 at commit e70be50.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test build #37281 has finished for   PR 7407 at commit e866494.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Exchange(newPartitioning: Partitioning, child: SparkPlan) extends UnaryNode

Merged build finished. Test PASSed.

Alright, I'm going to merge this into master.  Thanks for looking this over!


Fix image looks cropped In the Preview page

Details

The container height of ImageView is not calculated right. Use onLayout to get the height of view and use the height to get the correct aspect ratio of the image and the container.
To remove the extra space on the Android attachment modal, set shouldAddTopSafeAreaPadding only on iOS.

Fixed Issues

$ https://github.com/Expensify/App/issues/8115
Tests

Open the app
Go to a chat
Click on the "+" sign
Select add Attachment
Select a screenshot (mad from your phone)
Verify that image is not cropped
View the image attachment that already sends
Verify that image is not cropped
On Android verify that the extra space on header is gone

[x] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

[x] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose and it is

[x] If a new CSS style is added I verified that:

[x] A similar style doesn’t already exist
[x] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

QA Steps

Open the app
Go to a chat
Click on the "+" sign
Select add Attachment
Select a screenshot (mad from your phone)
Verify that image is not cropped
View the image attachment that already sends
Verify that image is not cropped
On Android verify that the extra space on header is gone

[x] Verify that no errors appear in the JS console

Screenshots

Web

https://user-images.githubusercontent.com/25520267/165587942-90a73e9d-ac18-4459-8b99-73b69bc20149.mp4
Mobile Web

https://user-images.githubusercontent.com/25520267/165588592-0a5985ee-48aa-4bff-83d4-d06fe15b2036.mp4
https://user-images.githubusercontent.com/25520267/165589224-e1d9b869-b9ce-4045-92e5-ef0031595b15.mp4
Desktop

https://user-images.githubusercontent.com/25520267/165589285-9c36e42a-151a-4057-a9d9-ebad8514c501.mp4
iOS

https://user-images.githubusercontent.com/25520267/165589693-bd03d14f-72a8-4492-bd75-b7e8eeffd9a5.mp4
Android

https://user-images.githubusercontent.com/25520267/165590033-f471b206-5415-4c8b-841f-798369c549c0.mp4

bump @Santhosh-Sellavel @AndrewGable

@mollfpr
Once the requested changes are done, will review this today or by Monday. Thanks
cc: @AndrewGable

@Santhosh-Sellavel
Updated! I'm using CONST.PLATFORM instead, since the getPlatform() returning those variable. Tested on both devices.

Reviewing this now

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

Everything looks good tests well.
Just comment here seems incomplete to me!
cc: @mollfpr @AndrewGable

Sorry I didn't catch this earlier in the proposal but I posted a question in our Slack channel about this PR https://expensify.slack.com/archives/C01GTK53T8Q/p1651544907690039
I thought that the specific platform checks were not allowed, but will discuss with the team and get back to you on this PR.

I just create a function called getShouldAddTopSafeAreaPadding which will be used by android platform and others. I also revert back to the getModalStyles.js file and update to use getShouldAddTopSafeAreaPadding().
cc @Santhosh-Sellavel @AndrewGable

@Santhosh-Sellavel - Happy to defer to you here on specific design of the platform specific design 👍

Hey @Santhosh-Sellavel is my latest commit correct?

@Santhosh-Sellavel Thanks for your suggestion! Yeah, I can’t agree more with you. Let’s wait for @AndrewGable thoughts on that.

Please check the above commit.
I create getModalStyles as a library and move the current getModalStyles.js to the folder. For android I override the object return and other than that I leave it as is.
cc @Santhosh-Sellavel @AndrewGable

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there’s a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn’t already exist
[ ] The style can’t be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

@AndrewGable bump 👆

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @AndrewGable in version: 1.1.63-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by @AndrewGable in version: 1.1.63-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

This PR is partly responsible for a regression here https://github.com/Expensify/App/issues/15288. The containerHeight is mishandled where it's referenced here before being correctly set onLayout i.e. there is no guarantee that containerHeight will be set then referenced, a race condition is to reference containerHeight before being set.


I can't use :GitBlame

E5108: Error executing lua Vim:E903: Process failed to start: no such file or directory: "fish"
stack traceback:
[C]: in function 'jobstart'
...m-data\site\pack\packer\start\git.nvim/lua/git/blame.lua:272: in function 'blame'
[string ":lua"]:1: in main chunk
This is an error i don't know how to fix it. I try to google it but nothing, i need your help @dinhhuy258. Thank you so much.
Fixed!

@infa99 I face the same issue. How did you fix it?

I am on windows and had the same issue. I've used someone else .config and they had
vim.opt.shell = "fish"

If you have the same, just commented/remove it out, your gitblame should works.


Fix capitalization error

Fixed:
Corrected Html to HTML for proper capitalization.
Why it's useful:
This change ensures correct capitalization, improving accuracy and consistency in the text.

This change is


Do not merge? Revert "Implement chickening on specific monsters"

Reverts hectorgimenez/koolo#148

Seems like https://github.com/hectorgimenez/koolo/pull/195 fixes chickening. So if that works properly after testing this PR needs to be declined.


Change The Open API Export JSON Document Title

Is your feature request related to a problem? Please describe.
On Version 1.25, I was using could change the title of Document. I would very appreciate for that feature.
Describe the solution you'd like
If at least I can add title & description to Export JSON that will be helpful.
Describe alternatives you've considered
I thought of using the older version as, our system is using a older PHP & Laravel

The code that needs to be changed is
https://github.com/rakutentech/laravel-request-docs/blob/5c71ac65a04d8872a1269336740e0455466b2833/src/LaravelRequestDocsToOpenApi.php#L17
 $this->openApi['info']['title']           = config('request-docs.open_api.title', 'Laravel Request Docs');

and the add to the config
if you can submit a pull req, I can merge it.

https://github.com/rakutentech/laravel-request-docs/commit/a8f67be057627060ce24aaaac4aa06b597fc734a

Thank for  this update


tests, avro: add test on invalid reference schema

Similar to https://github.com/Aiven-Open/karapace/pull/962, but for AVRO.
Ticket: https://aiven.atlassian.net/browse/EC-460

New PR with the correct base branch: https://github.com/Aiven-Open/karapace/pull/966


[MOBILE] Github link doesn't open in new tab

Description
Same as #2159 but on mobile devices.
Screenshots
Additional information
Browser - Opera Touch
OS - iOS 15.7

Hey @LinuxGamer can I take this issue?

@joeshajan sure, a maintainer can assign you to the issue :)

Hey @joeshajan , are you still working on this issue?

No

Could I get assigned to this issue?

Sure, assigned @LinuxGamer


Fix and optimize logger

Re-opening, due to hanged Travis.

Fixed incorrect switch statement.
Use macro to prevent constructing stream when not needed, should have minor performance improvement.
Add more tests.

Since this is a small PR and contains fix, I'm going to merge it tomorrow if no objection is raised. :)


Console text stays under the keyboard in Android

Using the latest LIKO-12 Android release V0.6.0_PRE_03 on a Samsung Galaxy Tab A tablet (Android 6.0.1), I observe that, once the screen is full (e.g., after help), several bottom lines always stay hidden under the pop-up keyboard. Could you take a look at this?
P.S. As a side note (not sure if this merits a separate issue, since I perhaps simply don't know where to look), does the system font come in several sizes and, if so, how can I switch between them? TIA.

Sorry for replaying late,
No, there isn't any other available fonts, sorry for that, the current 4x5 font is the best for LIKO-12 resolution.
The help lines problem: Try to hold your device in portrait so all the screen shows without being covered by the keyboard, + the help program has a smart feature, once it reaches the last line of the screen, it tells you to press escape to continue, or press q to quit.
How do this play on an Android device: Press escape to close the on-screen keyboard, then press it again to start scrolling again, if you want to quit: touch the screen so the keyboard shows again, and press q

I'll close the issue, if the problem isn't solved yet then feel free to reopen the issue


[PDI-14641] - Unable to rename database connection

@mdamour1976 please review

Build Commands:
Build:

rm -r ~/.kettle; rm -r ~/.pentaho; echo removed hidden folders
ant -Djunit.jvmargs=-XX:PermSize=256m -f ui/build.xml clean-all resolve jacoco jacoco-integration checkstyle publish-local

Cleanup:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/cluster/dialog/ClusterSchemaDialog.java
ui/src/org/pentaho/di/ui/cluster/dialog/SlaveServerDialog.java
ui/src/org/pentaho/di/ui/partition/dialog/PartitionSchemaDialog.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonDBDelegate.java
ui/src/org/pentaho/di/ui/util/DialogUtils.java
Checkstyle violations:
See: https://github.com/pentaho/pentaho-coding-standards
File ui/src/org/pentaho/di/ui/cluster/dialog/ClusterSchemaDialog.java

Message: Line has trailing spaces. at Line: 127 Column: None
Message: '>' is followed by whitespace. at Line: 129 Column: 58
Message: Line has trailing spaces. at Line: 467 Column: None
Message: Line has trailing spaces. at Line: 79 Column: None

File ui/src/org/pentaho/di/ui/cluster/dialog/SlaveServerDialog.java

Message: Avoid nested blocks. at Line: 375 Column: 5
Message: Avoid nested blocks. at Line: 387 Column: 5
Message: Line has trailing spaces. at Line: 527 Column: None
Message: Line has trailing spaces. at Line: 540 Column: None
Message: Line has trailing spaces. at Line: 80 Column: None

File ui/src/org/pentaho/di/ui/partition/dialog/PartitionSchemaDialog.java

Message: Line has trailing spaces. at Line: 111 Column: None
Message: Line has trailing spaces. at Line: 348 Column: None
Message: Line has trailing spaces. at Line: 81 Column: None

File ui/src/org/pentaho/di/ui/spoon/delegates/SpoonDBDelegate.java

Message: '(' is not followed by whitespace. at Line: 93 Column: 11
Message: ')' is not preceded with whitespace. at Line: 93 Column: 139

File ui/src/org/pentaho/di/ui/util/DialogUtils.java

Message: Line has trailing spaces. at Line: 53 Column: None

License header violations:
No violations found
Unit test coverage change:
org.pentaho.di.ui.util.DialogUtils:

instructionPercentCoverageChange :-2.47%
branchPercentCoverageChange :-6.94%
complexityPercentCoverageChange :-4.55%

@mdamour1976 updated

Build Commands:
Build:

rm -r ~/.kettle; rm -r ~/.pentaho; echo removed hidden folders
ant -Djunit.jvmargs=-XX:PermSize=256m -f ui/build.xml clean-all resolve jacoco jacoco-integration checkstyle publish-local

Cleanup:
rm -r ~/.ivy2/local || echo no publish local to remove
Changed files:
ui/src/org/pentaho/di/ui/cluster/dialog/ClusterSchemaDialog.java
ui/src/org/pentaho/di/ui/cluster/dialog/SlaveServerDialog.java
ui/src/org/pentaho/di/ui/partition/dialog/PartitionSchemaDialog.java
ui/src/org/pentaho/di/ui/spoon/delegates/SpoonDBDelegate.java
ui/src/org/pentaho/di/ui/util/DialogUtils.java
ui/test-src/org/pentaho/di/ui/util/DialogUtilsTest.java
Checkstyle violations:
See: https://github.com/pentaho/pentaho-coding-standards
File ui/src/org/pentaho/di/ui/cluster/dialog/SlaveServerDialog.java

Message: Line has trailing spaces. at Line: 537 Column: None

Unit test coverage change:
org.pentaho.di.ui.util.DialogUtils:

instructionPercentCoverageChange : +35.89%
branchPercentCoverageChange : +31.94%
linePercentCoverageChange : +35.29%
complexityPercentCoverageChange : +28.79%
methodPercentCoverageChange : +33.33%

The only violation now is on lines not touched by the commit, I'm going to merge it.


HIVE-26491: Iceberg: Drop table should purge the data for V2 tables.

What changes were proposed in this pull request?
Make external table purge true when migration to  a V2 Iceberg table

As discussed internally let's not move forward with this change as it would come as a surprise the users who create external tables and don't expect the related files to be deleted upon dropping the table.


'AtlasSensor' object has no attribute 'ser'

Installed on a fresh hass.io image on Raspi3:

core-ssh:~# hassio ha logs

Exception ignored in: <function AtlasSensor.del at 0x71ae9d20>
Traceback (most recent call last):
File "/config/custom_components/atlas_scientific/sensor.py", line 118, in del
self.ser.close()
AttributeError: 'AtlasSensor' object has no attribute 'ser'`
EDIT: works after manually restarting hass.io via the command line. Not sure why it doesn’t after normal booting.

I believe you made a small mistake in the sensor wiring diagram, the PH-EZO carrier board also needs to be connected to Ground I assume (in parallel/on the same pin as the ORP-EZO carrier, same as 3.3V pin)

Thanks @sunflowerABB
I think your report is about the first time you install the custom component. I think its a general problem with all components that needs libraries not installed (in this case  the  "requirements": ["pyserial"] in manifest). Home Assistant install proper needed libraries (with pip on same enviroment where it is running), but the first time it starts the component before the lib is sucessfully installed.
Thats the reason why when you restart second time it works fine.
About your report mistake, you are right. I am pending to review some of this pictures and all the code (for bugs)...
I will try to update this picture today...
Thanks again.


AAD Authentication WebHook from Cli

Please add some info about how to create an EventGrid webhook subscription with AAD authentication, using PowerShell or Azure Cli. Can only find info on how to do it using the Azure Portal
TIA
Søren

@smolesen Can you post a link to the doc where it is done from the portal?

It described here, how to do it from the portal:
https://docs.microsoft.com/en-us/azure/event-grid/secure-webhook-delivery

Finally found some documentation about it here:
https://docs.microsoft.com/da-dk/cli/azure/ext/eventgrid/eventgrid/event-subscription?view=azure-cli-latest

@smolesen Looks like this issue was resolved here: Azure/azure-cli-extensions#1572
We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Cannot see some fields in prometheus metrics

Issue workflow progress
Progress of the issue based on the Contributor Workflow

[ ] 1. The issue provides a minimal reproduction available on Stackblitz.

Please install the latest @envelop/* packages that you are using.
Please make sure the reproduction is as small as possible.

[ ] 2. A failing test has been provided
[ ] 3. A local solution has been provided
[ ] 4. A pull request is pending review

Describe the bug
Some prometheus metrics are empty while they shouldn't. With the following plugin configuration:
{
      requestCount: true, // requries `execute` to be true as well
      requestSummary: true, // requries `execute` to be true as well
      parse: true,
      validate: true,
      contextBuilding: true,
      execute: true,
      errors: true,
      resolvers: false, // requires "execute" to be `true` as well @WARNING might have a performance impact on GraphQL runtime
      resolversWhitelist: undefined, // reports metrics als for these resolvers, leave `undefined` to report all fields
      deprecatedFields: true,
      registry: register, // If you are using a custom prom-client registry, please set it here
}

I would expect to see the execute, the context, the request count histograms as well as the request summary but they appear to be empty (see screenshots below).

To Reproduce
I am using node.js 16, express-graphql 0.12 and @envelop/prometheus 7.0.4 and @envelop/core 3.0.4 with the configuration described above for the usePrometheus plugin.
Expected behavior
I'd expect to see my metrics but only the deprecated field, the parse histogram and the validate histogram appear.

Please share a reproduction on CodeSandbox or StackBlitz. Thanks!

Hello @ardatan I just finished to copy my config on StackBlitz and the error keep occuring: https://stackblitz.com/edit/node-g1tdag?file=index.ts
Tell me if something is not clear. I am looking into the source code to see if there is something missing.

contextFactory is missing here. It is usually needed for the plugin's internals;
https://github.com/n1ru4l/envelop/blob/main/examples/express-graphql/index.ts#L28
      const {
        parse: customParseFn,
        validate: customValidateFn,
        execute: customExecuteFn,
        schema: envelopedSchema,
+       contextFactory,
      } = sentryEnvelop({
        req: request,
        res: response,
      });

      return {
        schema: envelopedSchema,
        rootValue: root,
+       context: await contextFactory(),
        graphiql: true,
        customParseFn,
        customValidateFn,
        customExecuteFn,
      };

All right! When using only the contextFactory it works on my side but the thing is that I also have a custom context. I guess I can concatenate them but this does not seem to work. I am still investigating but at least I see that this contextFactory was the missing part.

You can pass your your context to getEnveloped;
getEnveloped({ req, res, myStuff })


remove kubectl overview link repeat

In _index doc the Kubectl CLI about overview link
was add in "[Overview of kubectl]", So remove not
need "[kubectl]" link.
Signed-off-by: Yuanbin.Chen<EMAIL_ADDRESS>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
For 1.11 Features: set Milestone to 1.11 and Base Branch to release-1.11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
NOTE: After opening the PR, please un-check and re-check the "Allow edits from maintainers" box so that maintainers can work on your patch and speed up the review process. This is a temporary workaround to address a known issue with GitHub.>
Please delete this note before submitting the pull request.

/assign @tengqm

/approve


Cannot create image

Hello,
I'm trying to run HELEN after constructing images with MarginPolish.
This is a consensus of an HIV-1 amplicon with length around 1.7 kB assembled with Canu.
These are the commands up to HELEN:

However, HELEN gave this output:
INFO: POLISH MODULE SELECTED
INFO: RUN-ID: 04062021_144058
INFO: PREDICTION OUTPUT DIRECTORY: /yshare2/ZETTAI_path_WA_slash_home_KARA/home/luqrei/work/niid/nishizawa/HIV-1_clones_seq/fastq_pass/deconvolution/bc01-16_canu_corrected_chopped_l1600_ml2000/48k_reads/kmer_binning_k6_n100_d0.5_s50_xi0.05_c0.04_fasta_non_chopped/bins/0/assembly_with_canu_2.1/marginPolish_plus_helen/helen/predictions_04062021_144058
INFO: CALL CONSENSUS STARTING
INFO: OUTPUT FILE: /yshare2/ZETTAI_path_WA_slash_home_KARA/home/luqrei/work/niid/nishizawa/HIV-1_clones_seq/fastq_pass/deconvolution/bc01-16_canu_corrected_chopped_l1600_ml2000/48k_reads/kmer_binning_k6_n100_d0.5_s50_xi0.05_c0.04_fasta_non_chopped/bins/0/assembly_with_canu_2.1/marginPolish_plus_helen/helen/predictions_04062021_144058/consensus_mP_plus_helen
Traceback (most recent call last):
File "/home/luqrei/.local/bin/helen", line 8, in
sys.exit(main())
File "/home/luqrei/.local/lib/python3.6/site-packages/helen/helen.py", line 313, in main
FLAGS.callers)
File "/home/luqrei/.local/lib/python3.6/site-packages/helen/modules/python/PolishInterface.py", line 87, in polish_genome
callers)
File "/home/luqrei/.local/lib/python3.6/site-packages/helen/modules/python/CallConsensusInterface.py", line 153, in call_consensus
callers, threads_per_caller, num_workers)
File "/home/luqrei/.local/lib/python3.6/site-packages/helen/modules/python/models/predict_cpu.py", line 217, in predict_cpu
num_rle_classes=ImageSizeOptions.TOTAL_RLE_LABELS)
File "/home/luqrei/.local/lib/python3.6/site-packages/helen/modules/python/models/ModelHander.py", line 50, in load_simple_model
checkpoint = torch.load(model_path, map_location='cpu')
File "/home/luqrei/.local/lib/python3.6/site-packages/torch/serialization.py", line 529, in load
return _legacy_load(opened_file, map_location, pickle_module, **pickle_load_args)
File "/home/luqrei/.local/lib/python3.6/site-packages/torch/serialization.py", line 692, in _legacy_load
magic_number = pickle_module.load(f, **pickle_load_args)
_pickle.UnpicklingError: invalid load key, '{'.
When I tried to check the images created by MarginPolish using HDF viewer, it seems they do not contain any parameters, thus HELEN seems to fail loading the images due to empty files.
Is there any specific reason as to why MarginPolish cannot create images? Short amplicon sequence? No virus models? Wrong model chosen? Etc?
Thank you.

Hi luqrei, sorry about taking so long to get back to you.  Can you try running the margin command on its own, and add the parameter -a info (to turn on debugging logging) and save the output to a text file: ./margin ... -a info 2>&1 | tee margin.log.  If you look through there you might see the cause of the issue, and if not you can send it to me and I'll take a look.


check_user_settings: pass arg if build is flatpak

Plugin has to know if build is flatpak build to skip some checks.

OSBS-8634

Signed-off-by: Martin Bašti<EMAIL_ADDRESS>Maintainers will complete the following section:

[x] Commit messages are descriptive enough
[x] "Signed-off-by:" line is present in each commit
[ ] Code coverage from testing does not decrease and new code is covered
[ ] JSON/YAML configuration changes are updated in the relevant schema
[ ] Changes to metadata also update the documentation for the metadata
[ ] Pull request includes link to an osbs-docs PR for user documentation updates

no release notes, fixing regression of unreleased feature


HFP AG example error - connect_init: HF AG not initialized (IDFGH-9979)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v5.0.1
Operating System used.
Windows
How did you build your project?
Command line with idf.py
If you are using Windows, please specify command line type.
PowerShell
Development Kit.
ESP32 Wroom DevKit
Power Supply used.
USB
What is the expected behavior?
I tried to run the HFP AG example. Unfortunately the Bluetooth Stack didn't get initialized properly and I was unable to connect to my headset and further test the example.
What is the actual behavior?
Failed to initialize the Bluetooth Stack (being more precise - connect_init: HF AG not initialized
Steps to reproduce.

Get the HFP AG example from ESP IDF 5.0.1.
Enter the menuconfig and change the following:

Component config -> Bluetooth -> Bluedroid Options -> audio (SCO) data path -> HCI
Component config -> Bluetooth -> Controller Options -> BR/EDR Sync (SCO/eSCO) default data path -> HCI

Change the MAC address of the headset you want to connect to in app_hf_msg_set.c:18
Build and run the example.
After booting up I saw the following error log:
E (1316) BT_BTC: btc_hf_cb_handler: Invalid index 31883
Try to connect to your headset using con command.

Debug Logs.
Executing action: monitor
Running idf_monitor in directory c:\projects\hfp_ag_esp_5.0.1
Executing "C:\Users\partyka\.espressif\python_env\idf5.0_py3.10_env\Scripts\python.exe C:\projects\esp-idf-v5.0.1\tools/idf_monitor.py -p COM4 -b 115200 --toolchain-prefix xtensa-esp32-elf- --target esp32 --revision 0 c:\projects\hfp_ag_esp_5.0.1\build\hfp_ag.elf --force-color -m 'C:\Users\partyka\.espressif\python_env\idf5.0_py3.10_env\Scripts\python.exe' 'C:\projects\esp-idf-v5.0.1\tools\idf.py' '-p' 'COM4'"...
--- WARNING: GDB cannot open serial ports accessed as COMx
--- Using \\.\COM4 instead...
--- idf_monitor on \\.\COM4 115200 ---
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ets Jun  8 2016 00:22:57

rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:6940
ho 0 tail 12 room 4
load:0x40078000,len:15500
load:0x40080400,len:3844
0x40080400: _init at ??:?

entry 0x4008064c
I (28) boot: ESP-IDF v5.0.1 2nd stage bootloader
I (29) boot: compile time 14:04:38
I (29) boot: chip revision: v1.0
I (31) boot.esp32: SPI Speed      : 40MHz
I (36) boot.esp32: SPI Mode       : DIO
I (41) boot.esp32: SPI Flash Size : 2MB
I (45) boot: Enabling RNG early entropy source...
I (51) boot: Partition Table:
I (54) boot: ## Label            Usage          Type ST Offset   Length
I (61) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (69) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (76) boot:  2 factory          factory app      00 00 00010000 00100000
I (84) boot: End of partition table
I (88) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=1e928h (125224) map
I (142) esp_image: segment 1: paddr=0002e950 vaddr=3ffbdb60 size=016c8h (  5832) load
I (144) esp_image: segment 2: paddr=00030020 vaddr=400d0020 size=7c760h (509792) map
I (332) esp_image: segment 3: paddr=000ac788 vaddr=3ffbf228 size=02c94h ( 11412) load
I (336) esp_image: segment 4: paddr=000af424 vaddr=40080000 size=18858h (100440) load
I (391) boot: Loaded app from partition at offset 0x10000
I (391) boot: Disabling RNG early entropy source...
I (403) cpu_start: Pro cpu up.
I (403) cpu_start: Starting app cpu, entry point is 0x400813d0
0x400813d0: call_start_cpu1 at C:/projects/esp-idf-v5.0.1/components/esp_system/port/cpu_start.c:142

I (0) cpu_start: App cpu up.
I (419) cpu_start: Pro cpu start user code
I (419) cpu_start: cpu freq: 160000000 Hz
I (419) cpu_start: Application information:
I (424) cpu_start: Project name:     hfp_ag
I (429) cpu_start: App version:      1
I (433) cpu_start: Compile time:     Apr 21 2023 14:31:43
I (439) cpu_start: ELF file SHA256:  40dbeb100f309e93...
I (445) cpu_start: ESP-IDF:          v5.0.1
I (450) cpu_start: Min chip rev:     v0.0
I (455) cpu_start: Max chip rev:     v3.99
I (460) cpu_start: Chip rev:         v1.0
I (465) heap_init: Initializing. RAM available for dynamic allocation:
I (472) heap_init: At 3FFAFF10 len 000000F0 (0 KiB): DRAM
I (478) heap_init: At 3FFB6BF8 len 00001408 (5 KiB): DRAM
I (484) heap_init: At 3FFB9A20 len 00004108 (16 KiB): DRAM
I (490) heap_init: At 3FFC7C88 len 00018378 (96 KiB): DRAM
I (496) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (503) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (509) heap_init: At 40098858 len 000077A8 (29 KiB): IRAM
I (517) spi_flash: detected chip: generic
I (520) spi_flash: flash io: dio
W (524) spi_flash: Detected size(4096k) larger than the size in the binary image header(2048k). Using the size in the binary image header.
I (538) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (588) BTDM_INIT: BT controller compile version [60aae55]
I (598) system_api: Base MAC address is not set
I (598) system_api: read default base MAC address from EFUSE
I (598) phy_init: phy_version 4670,719f9f6,Feb 18 2021,17:07:07
W (1258) BT_BTC: btc_hf_cb_handler: event = BTA_AG_ENABLE_EVT
E (1268) BT_BTC: btc_hf_cb_handler: Invalid index 31899
W (1268) BT_BTC: btc_hf_cb_handler: event = BTA_AG_REGISTER_EVT
I (1278) gpio: GPIO[19]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1288) gpio: GPIO[21]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (1298) gpio: GPIO[22]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
 ==================================================
 |       Steps to test hfp_ag                     |
 |                                                |
 |  1. Print 'help' to gain overview of commands  |
 |  2. Setup a service level connection           |
 |  3. Run hfp_ag to test                         |
 |                                                |
 =================================================

Type 'help' to get the list of commands.
Use UP/DOWN arrows to navigate through command history.
Press TAB when typing command name to auto-complete.
hfp_ag> con
Connect.
W (5738) BT_BTIF: CHECK_HF_INIT: connect_init: HF AG not initialized
hfp_ag>

More Information.
No response

Hi @ypiotrp ,
This commit fixes this issue.
Thanks

Hi @ypiotrp ,
This error occurs because this parameter is modified into a variable-length array.  But I don't think this will affect the use.  If there are other problems, please help to print this event.
Thanks

Hi @xiongweichao,
Thank you for your reply. I added event to error logs I mentioned and they present as follows:

After the startup - E (1290) BT_BTC: btc_hf_cb_handler: Invalid index 31899; event = BTA_AG_ENABLE_EVT
After connection - E (7480) BT_BTC: btc_hf_cb_handler: Invalid index 21812; event = BTA_AG_WBS_EVT

Hi @ypiotrp , Please try this patch.
fix_idx_invalid.txt


Port all adapters for metric aspect to the template model

Please update assignee!

Can we close this?

Statsd and Prometheus are done, Stackdriver is in process, and @redhotpenguin will be moving the Circonus adapter over.

Actually, my mistake, Stackdriver was already merged. Closing this as the Circonus adapter is not yet checked in.


How can I obtain samples?

open access is forbidden. Where can I get it?

creating a free ieee account and downloading should work.

Thanks. After switched a new IP, it works.


feat(MeasureTheory): generalize measure_iUnion_eq_iSup

[x] depends on: #16389

Thanks!
bors r+


rkt fly stage1 misses support for some parameters (mutable, ipc)

stage1-implementors-guide.md defines parameters for the run entrypoints and some of them are not implemented:

--mutable
--ipc (see #3291)

We should implement them, at least to have better error reporting.
This is a follow-up issue to #3787.

I'm looking at this for a first rkt contribution, how long should this take? Where should I look to start? Thanks!

From what I understand, we added the flags --mutable and --ipc without implementing it in the fly stage1, this means the user would just get a warning when trying to use them and they'll be ignored. We should implement them in the fly stage1, most probably returning an error and refusing when it makes sense.
You can start by looking at the architecture doc to get an understanding of the different stages and what mutable and immutable pods are. You'd then need to update the supported interface version in fly's aci-manifest.in and implement the missing flags in fly's main. My current idea is to just refuse with a clear error message when receiving --mutable or --ipc=private, but it's up for discussion.
Since this requires a deep understanding of the rkt architecture and probably some discussion and several review passes, somebody unfamiliar with rkt's code base can probably expect a week or two of work (disclaimer: estimation is hard).
Don't hesitate to ask more questions.

Hi there!
We just submitted a PR for a smaller issue in stage1_fly which we are using
to get used to the codebase (issue #3662
https://github.com/rkt/rkt/issues/3662, PR #3845
https://github.com/rkt/rkt/pull/3845) but we are not sure who to tag as a
reviewer. Could you give me some tips for who usually reviews PRs?
Thanks,
Jo Bridgwater
On Tue, Nov 7, 2017 at 7:01 AM, Iago López Galeiras <
<EMAIL_ADDRESS>wrote:

From what I understand, we added the flags --mutable and --ipc without
implementing it in the fly stage1, this means the user would just get a
warning when trying to use them and they'll be ignored. We should implement
them in the fly stage1, most probably returning an error and refusing when
it makes sense.
You can start by looking at the architecture doc
https://github.com/rkt/rkt/blob/master/Documentation/devel/architecture.md
to get an understanding of the different stages and what mutable and
immutable pods are. You'd then need to update the supported interface
version in fly's aci-manifest.in
https://github.com/rkt/rkt/blob/master/stage1_fly/aci/aci-manifest.in
and implement the missing flags in fly's main
https://github.com/rkt/rkt/blob/master/stage1_fly/run/main.go. My
current idea is to just refuse with a clear error message when receiving
--mutable or --ipc=private, but it's up for discussion.
Since this requires a deep understanding of the rkt architecture and
probably some discussion and several review passes, somebody unfamiliar
with rkt's code base can probably expect a week or two of work (disclaimer:
estimation is hard).
Don't hesitate to ask more questions.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rkt/rkt/issues/3789#issuecomment-342475167, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIejt7ExsGqAPo2GWBL9O_WQ68F5WCQJks5s0FS6gaJpZM4PRIuU
.


Implement LSP didDeleteFiles & make parser aware of sub-nodes

This is a forward port of #47553 and #47338 which were created only for 3.x due to a miscommunication. This prevents double-fixing issues later, as was pointed out by akien. Future changes will be submitted to both 4.0 and 3.x where fitting.
The PR makes the language server implement the didDeleteFiles notification, which LSP clients can implement as of specifications 3.16.0, to clear diagnostics, and fixes the issue where variables being hovered or go-to-definition'ed when they were inside of a sub-block (if statement, for loop, while loop, match statement, etc) were not recognized as local symbols.
This fixes #43133, fixes #43164 and fixes #41449 .

Thanks!


[sw] Fix toolchain substitution for file paths.

This invocation would break:
CC=/opt/lowrisc-toolchain-gcc-rv32imc-20210412-1/bin/riscv32-unknown-elf-gcc make -C examples/sw/led/
because the "-gcc" occurence inside the directory name would also be replaced.
Fix by using pattern substitution.
Signed-off-by: Leon Woestenberg<EMAIL_ADDRESS>

Fix commit message.


End-user telemetry data of odo features

[kind/epic]
[milestone/backlog]
As a developer or product manager on the odo team, I would like to get have some telemetry data to better understand how many users are using individual odo features.
This will help the team prioritize their efforts in the highest impact areas and also to figure out what some areas aren't used as much as expected. This will lead to the end-user having a better overall experience with the too. Of course, the end-user should be able to opt-out of this feature.

This feature is still valid
/lifecycle frozen

is this something we would like to consider @sspeiche

Hello,
I had a quick chat with praveen to understand how they implemented telemetry in crc.
The tools used were

segment.com
https://www.woopra.com
golang library for segmentio

So a gist of it - segmentio is where the telemetry is sent - then woopra has good visualisation built on top of it. We need to ask for access for both of these tools from @gorkem.
Now we need to implement telemetry from our end using golang library from segmentio, basically we are going to capture these things- os related information- commands executed- errors that occurred
This is the link of segment code present in crc - https://github.com/code-ready/crc/tree/master/pkg/crc/segment its quite standard and I can help you out in taking this to fit odo.
And finally this is the segment library doc for go that we have to use https://segment.com/docs/connections/sources/catalog/libraries/server/go/
while we get the access you can use Free version on segment so its not a blocker https://segment.com/pricing.

Also just so its clear we cannot capture any personally identifiable information which means we probably need to clean up the data we capture before sending

Here's the policy around what we collect and not https://developers.redhat.com/article/tool-data-collection

we should have a metric to detect users directly using odo vs people using vscode adapter / che

Let's start with just basic metrics we can always add more later.
What information we should send from start:

odo version
OS information
name of the command that gets executed and if possible its return code
error messages
when user executes odo push we should send an event containing information if the cluster supports Project (to detect if it is OpenShift or not)

Later we can add more:

what type of component is user creating (type of devfile) (java, nodejs, python)

@elsony Are there any other metrics that you would like to track?

/reopen
this is not done yet

@kadel Is it alright if we close this issue now? We closed #4462.
From your https://github.com/openshift/odo/issues/1236#issuecomment-784205444, I missed out on if URL is created is it Route or Ingress, but I think we require this information, we can track it in a separate issue.

yes, we can close this now.
We have all core metrics implemented.
/close


[REEF-540] DriverRestartHandler is not bound correctly to its C# equivalent

This addressed the issue by

Adding InterOp functions for restart-related (DriverRestarted, DriverRestartCompleted) operations.
Adding missing restart configurations to DriverConfiguration and DriverBridgeConfiguration.
Calling the restart handler on driver restart instead of calling the start handler.

JIRA:
REEF-540

@beysims Could you take a look, since this involves InterOp changes?

I'll do a pass, but we need a pass by @beysims for the interop bits.

@afchung I'm done with my syntax level review.

@markusweimer Updated, please have another look. Thanks!

Looks good to me, @beysims ?

@afchung I finished my pass

@markusweimer @beysims Updated and ran tests locally.

@markusweimer @beysims is this ready to merge?

@afchung Did you test it on HDI? If so, +1 from me.

@markusweimer Not sure, been a while since I updated. I'll test again now. Thanks!

@markusweimer Turns out I lost a big chunk of work. Rebased and pushed. Please have another look. Thanks!

Ran Java tests on HDInsight, .NET HelloREEF example on HDInsight, as well as a modified restart example. All work accordingly.

@afchung Thanks! My issues all seem to be addressed in this version.

@markusweimer @beysims I have a mostly-working driver restart branch ready that encompasses changes for REEF-560 and REEF-563. Would be great if this could be merged so I can update my branches and push out new PRs for the 2 other JIRA items. Thanks!

@afchung +1 from me for merging. However, I am no expert in this part of the code. Let's wait for @beysims to do another pass. I can do the mechanics of merging the code once he gave his +1.

looks good. I am done with my pass.

I'll test and merge


saltpack: improvement documentation via live examples

live examples for encrypt/decrypt in stream/fixed
make a new "basic" key/keyring implementation
fix some doc/style issues with existig saltpack

golint again
republicize PublicKeyEqual
Rename SigningSecretKey PublicKey() -> GetPublicKey(), to be consistent with BoxSecretKey

@oconnor663 what do you think?

Awesome! :shipit:


Frontend changes

Okay tidied up my house a bit and moved things into a separate branch to review.
Changes include:

Mobile changes (2 logos side by side)
Swapped out logo files for more consistent sizes / dimensions
Added hover styles to logos / hrefs
Added comparison chart
Fixed a bit of typography
Added alert in blue for fork notice
Added scrollto functionality
Added section wrappers

Like a lot of these changes, but some I am not huge on. I am going to incorporate certain parts immediately, then will discuss the other items with you. Love the new tiles, and the shaded sections!

In the future lets try to limit PR's to one logical layout change and include a screenshot. That way everyone can comment about and see what is going in.

Sounds good! Sorry about the big batch of changes. Future changes will have more commits to sort through and PRs with screens.
If there's any specific tasks you'd like me to tackle on the front-end please just let me know.

Closing this PR as it includes a gigantic amount of files for an alternate site. Lets open up PRs per change, that way everyone can see them and vote on inclusion.


mutt.h:60:10: fatal error: pwd.h: No such file or directory  when compiling mutt 1.8.3 on msys2

mutt.h:60:10: fatal error: pwd.h: No such file or directory  when compiling mutt 1.8.3 on msys2

Do you have packages from the base-devel and msys2-devel groups installed?
$ pacman -Fs pwd.h
...
msys/msys2-runtime-devel 2.6.0-1
    usr/include/pwd.h
...

$ pacman -Fs pwd.h
mingw32/mingw-w64-i686-postgresql 9.6.3-1
mingw32/include/postgresql/server/port/win32/pwd.h
mingw64/mingw-w64-x86_64-postgresql 9.6.3-1
mingw64/include/postgresql/server/port/win32/pwd.h
msys/msys2-runtime-devel 2.8.2-1
usr/include/pwd.h

Do you have packages from the base-devel and msys2-devel groups installed?

yes

Do you have this file? /usr/include/pwd.h
Please post complete steps to reproduce the error, including the build log. If it's large, use a pastebin service.

Thanks for your reply.
here are the output and log
$ ls /usr/include/pwd.h -l
-rw-r--r-- 1 Zhang Zhang 2999 Jul 14 13:39 /usr/include/pwd.h
$ make
make  all-recursive
make[1]: Entering directory '/d/github/mutt-1.8.3'
Making all in m4
make[2]: Entering directory '/d/github/mutt-1.8.3/m4'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/d/github/mutt-1.8.3/m4'
Making all in po
make[2]: Entering directory '/d/github/mutt-1.8.3/po'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/d/github/mutt-1.8.3/po'
Making all in intl
make[2]: Entering directory '/d/github/mutt-1.8.3/intl'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/d/github/mutt-1.8.3/intl'
Making all in doc
make[2]: Entering directory '/d/github/mutt-1.8.3/doc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/d/github/mutt-1.8.3/doc'
Making all in contrib
make[2]: Entering directory '/d/github/mutt-1.8.3/contrib'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/d/github/mutt-1.8.3/contrib'
Making all in imap
make[2]: Entering directory '/d/github/mutt-1.8.3/imap'
gcc -DHAVE_CONFIG_H -I. -I..  -I.. -I../intl -I/include -I../intl  -Wall -pedantic -Wno-long-long -g -O2 -MT auth.o -MD -MP -MF .deps/auth.Tpo -c -o auth.o auth.c
In file included from auth.c:27:0:
../mutt.h:60:10: fatal error: pwd.h: No such file or directory
#include <pwd.h>
^~~~~~~
compilation terminated.
make[2]: *** [Makefile:408: auth.o] Error 1
make[2]: Leaving directory '/d/github/mutt-1.8.3/imap'
make[1]: *** [Makefile:868: all-recursive] Error 1
make[1]: Leaving directory '/d/github/mutt-1.8.3'
make: *** [Makefile:543: all] Error 2
I googled above error, someone said that msys2 can't use POSIX API which pwd.h belong to
I also install mutt from repo by pacman -S mutt, but it can't use because of missing lib
$ mutt
C:/msys64/usr/bin/mutt.exe: error while loading shared libraries: ?: cannot open shared object file: No such file or directory

I cannot reproduce your issue, because you didn't write down all commands. Please include the URL where you got the source code and all commands before make.

my steps
wget ftp://ftp.mutt.org/pub/mutt/mutt-1.8.3.tar.gz
tar tzxv mutt-1.8.3.tar.gz
cd mutt-1.8.3
configure options
 ./configure --enable-imap --enable-pop --with-ssl --enable-smtp --with-homespool=mailspool --enable-hcache --enable-debug --with-mailpath=/d/mail
make

I tried these steps and it worked.  I had to install some packages:
pacman -S --needed base-devel msys2-devel libgpgme-devel libsasl-devel libgdbm-devel ncurses-devel libgnutls-devel libidn-devel openssl-devel

Can you show what which gcc says?

$ which gcc
/mingw64/bin/gcc

That's the problem. How are you starting MSYS2? Instead of using the MINGW64 shell, you need to use the MSYS shell. You can see the current shell in purple color in your prompt. You can also see it using echo $MSYSTEM.
If gcc still points to /mingw64/bin/gcc even in an MSYS shell, then maybe you have changed your PATH variable, in which case you need to change it back to default.

it worked when I change my shell to mingw32, thank you very much

Please note that you are supposed to use the MSYS shell, not any of the MINGW ones.

got it, thanks


Navbar not locking a top of page scroll

The main page navbar is not locking at the top of the page while scrolling.

This will not be fixed. Current operation is preferred to optimize mobile space.


Removing verbose deletion as it breaks helm template functions.

Remove the verbose flags as it breaks anyone trying to use helm secrets template as input to another process, such as argocd.

Similar to #136


Greater control over ability to crop media?

Hi,
Just wondering, is it possible to do the following re media cropping (on a per-image basis):

disable cropping completely
enable cropping ratio but prevent users from being able to adjust the crop size and/or position

Thanks
Seb

Hi Seb,
sorry for the delay here!
It is possible to allow free ratio cropping by specifying 0 as the ratio in $mediaParams or twill.block-editor.crops configurations, which in the end is similar to disabling cropping as it means any ratio could come out of this image field. I definitely see a use case where completely disabling the cropping UI elements in the form would be useful though, we'll think about supporting it!
Your second point is very interesting too and should be easy to support regarding the size by making the cropper only respond to position change, not dimensions. However, I'm not sure I understand what you mean by preventing users from moving position, can you explain? What would be the fixed position, centered?
Thanks!

Hi,
Thanks for clarifying re ratio 0- very useful for my use case.
Re position, yes I'm talking about being able to remove the ability to move the crop around, as well as removing the ability to change the crop size. Maybe the position could be pre-configured in the $mediasparams somehow.
It's not urgent, but for certain use cases I would find it useful to have more control over what users can and can't do re cropping.
Thanks again,
Seb


Move "GetComponentContext" to a util package

In pkg/odo/cli/url, we are calling this method which is in pkg/odo/cli/component.
URLCreateOptions and PushOptions are used interchangeably (as I can see, GetComponentContext is in the method set of PushOptions struct).
Also, this function gets the value which can be used in other CLI packages as well.

It seems like this function belongs to some kind of util package, or other top level file for some component instead of being in pkg/odo/cli/component/push.go.
Besides that, should it be removed from the method set of PushOptions and put somewhere else? Some kind of common options that are common among various different options viz. PushOptions, URLCreateOptions, ComponentOptions, etc.
Originally posted by @dharmit in https://github.com/openshift/odo/pull/4311#discussion_r549645173
/kind discussion
/kind code-refactoring
/good-first-issue

@dharmit If this is ok for you, I may have a look and discuss some ideas before submitting any change.

@dharmit If this is ok for you, I may have a look and discuss some ideas before submitting any change.

@niconosenzo absolutely! Discussing before coding is always welcome! If you'd like to work on this, feel free to assign it to yourself.

/assign

In pkg/odo/cli/url, we are calling this method which is in pkg/odo/cli/component.
URLCreateOptions and PushOptions are used interchangeably (as I can see, GetComponentContext is in the method set of PushOptions struct).

We are using the GetComponentContext() in other packages like cli for URL etc to trigger the push logic for the now flag in other packages.
https://github.com/openshift/odo/blob/e7664393988c11683588232b50e944484fbea999/pkg/odo/cli/url/create.go#L189

Besides that, should it be removed from the method set of PushOptions and put somewhere else?

The fix would be to design a way so that we can trigger Push() from the component package without requiring the dependency of the component CLI code https://github.com/openshift/odo/blob/e7664393988c11683588232b50e944484fbea999/pkg/odo/cli/url/create.go#L10 but that might need a lot of refactoring.


Update ReactiveSwift dependency to 3.0

The latest Moya 10.0 version requires ReactiveSwift 2.0.

This is a duplicate of #1468 but thank you @larryonoff

Sorry! Someone was quicker than I.


elm-format fails to install alongside elm (darwin)

Issue description
Not sure whether this is darwin-specific. I cannot install elm next to elm-format, because both want link /libHStransformers-compat-0.6.2-DR0vsQLKu2k3Tes0C8KQG1-ghc8.2.2.dylib.
It seems wrong for either of the packages to link shared libraries. I suspect this is because e.g. elm-format.nix sets isLibrary: true. I'd be happy to submit a patch to change this, but there seems to be a stack of scripts that's meant to generate this that's too deep for me.
Steps to reproduce
nix-env -iA nixpkgs.elmPackages.elm
nix-env -iA nixpkgs.elmPackages.elm-format

Technical details

system: "x86_64-darwin"
host os: Darwin 18.2.0, macOS 10.14.2
multi-user?: no
sandbox: no
version: nix-env (Nix) 2.1.3
channels(rob): "nixpkgs-19.03pre161900.61c3169a0e1"
nixpkgs: /Users/rob/.nix-defexpr/channels/nixpkgs

Usually we need a justStaticExecutables for these to work currently. Not sure if that is currently possible? You can also set meta.priority to a different number for each (default is 5).
/cc @domenkozar @jerith666

I think this must be darwin-specific; I have these packages happily coexisting alongside each other in environment.systemPackages on NixOS:
$ ls -l /run/current-system/sw/bin/elm*
lrwxrwxrwx 6 root root 62 Dec 31  1969 /run/current-system/sw/bin/elm -> /nix/store/cnl19cwicwlgnzf4fsprvs6z3rlfizmj-elm-0.19.0/bin/elm
lrwxrwxrwx 6 root root 75 Dec 31  1969 /run/current-system/sw/bin/elm-format -> /nix/store/v5dgvj1zms6h4yssg55mh3cvhlrwxpcd-elm-format-0.8.1/bin/elm-format

Yes, looks darwin-specific, via https://github.com/NixOS/nixpkgs/blob/3504cfea6b0f6372df81bd62bb623fa0c3751a18/pkgs/development/haskell-modules/generic-builder.nix#L299

Fixed in https://github.com/NixOS/nixpkgs/pull/53326


Error "Could not find X command"

Gitlab version: 5.0.1 (Turnkey appliance)
Installed via: "gem install gitlab_cli" command
Created config file in home directory.
When I try to run commands like "gitlab project add test_project" or "gitlab groups" I get the error --> "Could not find X command". It's weird that the command "gitlab projects" works fine though. Any ideas what could it be?
I need gitlab-cli tool to code a script which automates the creation of a couple hundreds of projects in gitlab web ui for my job. I've read the docs and I think this tool is awesome but I cannot make it work properly. Please help.

OSX 11,
$ gitlab project help add
Could not find command "add".

I think the gem is failing to put it in PATH.
In cygwin (ruby is native, not via RVM, etc) here's what I did:
Marc-win8:gitlab-cli $ gitlab --version
-bash: gitlab: command not found
Marc-win8:gitlab-cli $ find ~ -name 'gitlab'
/c/Users/myoung/.gem/ruby/gems/gitlab-3.4.0/bin/gitlab
/c/Users/myoung/.gem/ruby/gems/gitlab-3.4.0/lib/gitlab
/c/Users/myoung/.gem/ruby/gems/gitlab-3.4.0/spec/gitlab
Marc-win8:gitlab-cli $ /c/Users/myoung/.gem/ruby/gems/gitlab-3.4.0/bin/gitlab --version
Gitlab Ruby Gem 3.4.0
Marc-win8:gitlab-cli $ ln -s /c/Users/myoung/.gem/ruby/gems/gitlab-3.4.0/bin/gitlab /usr/bin/gitlab
Marc-win8:gitlab-cli $ gitlab --version
Gitlab Ruby Gem 3.4.0

OS X, etc would be similar. To make this a permanent fix you'd want to put something in your ~/.bash_profile file, although I would not recommend linking to that version gem. If you update your gem, then you woulnd't be using the updated version.
Perhaps a real fix should be made, but this might at least get you guys started.

Same here
gitlab project add .. says "Could not find comand "add"."
on Ubuntu 14.04, installed with gem, version 2.0.0


Adds a GBP checker cog

This lets you do a couple things, namely:

findname

Allows you to search for any github username present in the GBP file.

findpos

Allows you to search for users at a specific position.

findgbp

Allows you to search for all the users with the given GBP.

fetchgbp

Fetchest the latest GBP file

🖕


Remove request to add Github labels from CONTRIBUING.md

Only contributors to the Sinon project can modify an issue's labels.

ya I actually read it :eyes:

Is there a way to make it possible for everyone to add labels?

I don't think so, @cjohansen :(


Revendor swarmkit to 5a6df4b07d83e6dbd72e39e354c325dc9b91850f

This fix updates swarmkit to 5a6df4b07d83e6dbd72e39e354c325dc9b91850f.
This fix is needed by #29074 (docker PR),
and is related to
docker/swarmkit#1789 (swarmkit PR)
#29044 (docker issue)
This fix may be needed for 1.13.
/cc @mavenugo @aaronlehmann @aboch @dongluochen
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

LGTM
Can you please open a separate vendoring PR for 1.13?
I've cherry-picked this change to swarmkit's bump_v1.13.0 branch (b5f07ce).
We have some other changes pending on swarmkit for 1.13:
https://github.com/docker/swarmkit/pull/1802
https://github.com/docker/swarmkit/pull/1803
But these are not finished being reviewed yet, so I'm not sure if it makes sense to wait for them.


Fix Login

Login is broken. Its due to the Model changes that have been made to bring the User Module in line with more recent in other modules. Simplifies Model use etc etc.

This issue has been resolved.