Update of scripts

Description:
Updating the scripts so they are consistent and have a known extension.
Added attributes file so scripts are always treated with a LF and GIT will not try and translate them.
This is a inial PR to gather comments from the community, updates are needed in documentation and internally in the scripts but want feedback before I do that work.
Related issue (if applicable): fixes #
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] New dependencies have been added to the REQUIREMENTS variable (example).
[x] New dependencies are only imported inside functions that use them (example).
[x] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

Added attribute to ensure scripts are always LF.
Updated scripts to consitantly have a environment call and extension for clarity.

You will need to update the docker and vagrant scripts too.

Is there a reason to make it #!/bin/sh instead of #!/bin/bash? #!/bin/sh is really ash on Ubuntu, and sometimes doesn't react like people expect (though these seem simple enough that it's probably not a big deal).

Wouldn't then the extension not make sense?
On Thu, Nov 10, 2016, 10:12 Sean Dague<EMAIL_ADDRESS>wrote:

Is there a reason to make it #!/bin/sh instead of #!/bin/bash? #!/bin/sh
is really ash on Ubuntu, and sometimes doesn't react like people expect
(though these seem simple enough that it's probably not a big deal).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/4249#issuecomment-259764517,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYJ2nu8gtg7MmVLhZhGffK62lFNdYZmks5q816RgaJpZM4KqoDW
.

@balloob my experience is that bash is implied for a lot of .sh scripts, .sh doesn't mean strict posix shell to most people.
It's a minor thing, just curious. Shouldn't hold stuff up from merging.

Well I actually asked him to refer to sh because of the extension. Wonder
now if we should aim for bash? But not sure if that will also work on bsd?
On Fri, Nov 11, 2016, 04:01 Sean Dague<EMAIL_ADDRESS>wrote:

@balloob https://github.com/balloob my experience is that bash is
implied for a lot of .sh scripts, .sh doesn't mean strict posix shell to
most people.
It's a minor thing, just curious. Shouldn't hold stuff up from merging.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/4249#issuecomment-259943308,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYJ2nh9ucoIOZo9XIiDxwT3aNBlQXkNks5q9FkMgaJpZM4KqoDW
.

@sdague @balloob If it can be avoided then try to keep the script generic for any potential BSD users. Also some embedded devices don't ship with bash.

I don't think that embedded devices should run Home Assistant development scripts 👍

@sdague I just looked through each one of the changed scripts and don't see a single bashism (Stuff like $PIPESTATUS $(</path/to/file/to/read.txt), etc). Just to be paranoid, I also installed the checkbashisms script that Debian / Ubuntu devs wrote when they defaulted /bin/sh to dash and then to ash some time ago and nothing.
As @Landrash mentioned and as a professional Linux Sysadmin for years, I agree it should be generic bourne shell unless there are specific features you want to use bash for. Then use bash in the shebang.
For proof this is all good:
[jeff@omniscience home-assistant] (dev)$ git pull git@github.com:sytone/home-assistant.git dev
From github.com:sytone/home-assistant
 * branch            dev        -> FETCH_HEAD
Already up-to-date.
[jeff@omniscience home-assistant] (dev)$ git ls-files | grep '\.sh$' | xargs checkbashisms && echo NO BASHISMS YAY
NO BASHISMS YAY

Is anything going to come of this? Shebangs are definitely needed in some of the scripts in the scripts directory. Docker definitely doesn't like the lack of shebangs:
7c89c85ee5d864787506fdf08d29c222f531c8bfb4572e79d8dd462777935983
FATA[0000] Error response from daemon: Cannot start container 7c89c85ee5d864787506fdf08d29c222f531c8bfb4572e79d8dd462777935983: [8] System error: exec format error

@sytone just curious why you closed this? I think we were willing to take the change assuming you fixed things @balloob requested.

I may have done it inadvertently. Will have to review my clone. I'm running in the unix subsystem in windows now which is making things easier.


Add more command hooks

Also see #34 and #35.

@shimikano, I've added some command hooks. I would appreciate your feedback!
I've actually needed more hooks myself for https://medium.com/@webprolific/using-github-pages-the-easy-way-bb7acc46f45b, so that helped :-)

Excellent!
I can confirm that beforeStageCommand covers our use case of wanting to keep the version in our pom.xml in sync with the primary json version file.
Moreover, we use beforeStartCommand to have our tests run again before a release.
Thank you for your work, release-it proved to be a nicely customizable tool (and replacement for npm version) for us.

Thanks a lot for your feedback, appreciate it!


Check for window presence and use appropriate history

This prevents usage of admin-on-rest in SSR scenarios.
We should only setup the devtool if inside a browser. Moreover, we could also use the memoryHistory when not inside a browser too.

Should be much easier in next, now that we use react-router v4

+1

Fixed by #741


feat: add cvssV4 support

Fixes Issue #6746
Description of Change
Add support for CvssV4.
Have test cases been added to cover the new functionality?
no

@chadlwilson and @aikebah - currently this adds support for getting CvssV4 into the database. The report and a few other things still need to be added. Unfortunately, I won't be able to get to this until tomorrow morning (US eastern).

I am still failing to see why this is urgent and why effort is going into supporting CVSSv4, rather than first simpler releasing a 9.2.1 or 9.3.0 version of ODC that at least works without CVSSv4 - which the PR at https://github.com/jeremylong/Open-Vulnerability-Project/pull/165 was sufficient to support on its own, and could have been risked with low risk and no breaking changes.
There's no rush for CVSSv4 support is there?
By contrast, there is (arguably) a rush to fix every ODC installation in the world which is currently broken and has no NVD support at all, due to the parsing leniency for metrics (to make CVSSv4 introduction backward compatible) being mis-applied from the earlier change in https://github.com/jeremylong/Open-Vulnerability-Project/pull/158?

@jeremylong tend to agree with @chadlwilson that getting any 'working with NVD API' release out is more important than getting CVSSv4 reported on. By tomorrow morning US time you'll have a swarm of users from Asia and Europe screaming for a fix as their builds are broken.

After thinking about this a little more, I wonder if perhaps the concern about making a change to fix sync while ignoring CVSSv4 metrics is that people's databases or caches would contain versions of the NVD API responses missing data, and would later need a cache invalidation approach to re-download that data, likely involving mass invalidation if the concern is people having incomplete data for certain entries forever.
Such a mass invalidation sounds like it might have happened for the H2 upgrade anyway, I guess.
The concern hasn't been expressed that way but it probably would lead to the outcome after CVSSv4 support is added of not knowing which entries need updating to fill in CVSSv4 data with either a forced mass invalidation, or users to do it themselves (depending on their caching strategy).

@chadlwilson - correct, the concern is about incomplete databases. We have several users who utilize a centralized database that won't create a new database when the h2 upgrade happens. I'm okay pushing the release without the reporting - I'll make that happen now.

I hate to say I told you so.... but there appear a number of bugs in this (including https://github.com/jeremylong/DependencyCheck/pull/6761 and https://github.com/jeremylong/DependencyCheck/issues/6746#issuecomment-2200034691 ), and now the NVD API is down/under load as well (wouldn't be surprised if that's due to all the constantly retrying ODC clients on old versions), and the thundering herd of users has arrived at GitHub. :-(

I know at least one person used the new version successfully - I just accidentally left debug code in: https://github.com/jeremylong/DependencyCheck/issues/6746#issuecomment-2200966331
Then the API went down from load.

@chadlwilson really appreciate your assistance with this. Other than the NVD API being down, likely due to load, everything else seems kind of minor and had quick fixes (typo in the postgres SQL and left over debug code).

We are using a centralized database and I wonder now, if I can use version 10 of the Maven plugin for updating the database while having clients which are still using version 9. Does the upgrade imply that all clients also have to be updated in order to be able to work with the new DB schema?

Yes - that should work.

But you will need to update the database schema


iOS SIGSEGV (Segmentation fault) Crash

Description
Not able to reproduce it locally, but significant amount of crashes are appearing on new relic.
Steps to Reproduce
Expected Behavior
Relevant Logs / Console output
libobjc.A.dylib
objc_retain_x0 (libobjc.A.dylib)
NewRelic
0x104e40000 + 465560
NewRelic
0x104e40000 + 463344
NewRelic
0x104e40000 + 263884
FBSDKCoreKit_Basics
FBSDKURLSessionTask.m line 30 in -[FBSDKURLSessionTask initWithRequest:fromSession:completionHandler:] (FBSDKURLSessionTask.m:30)
FBSDKCoreKit_Basics
FBSDKURLSession.m line 31 in __55-[FBSDKURLSession executeURLRequest:completionHandler:]_block_invoke (FBSDKURLSession.m:31)
FBSDKCoreKit_Basics
FBSDKURLSession.m line 48 in -[FBSDKURLSession updateSessionWithBlock:] (FBSDKURLSession.m:48)
FBSDKCoreKit_Basics
FBSDKURLSession.m line 34 in -[FBSDKURLSession executeURLRequest:completionHandler:] (FBSDKURLSession.m:34)
FBSDKCoreKit
FBSDKGraphRequestConnection.m line 399 in -[FBSDKGraphRequestConnection start] (FBSDKGraphRequestConnection.m:399)
FBSDKCoreKit
FBSDKServerConfigurationManager.m line 186 in -[FBSDKServerConfigurationManager loadServerConfigurationWithCompletionBlock:] (FBSDKServerConfigurationManager.m:186)
FBSDKCoreKit
FBSDKServerConfigurationManager.m line 122 in -[FBSDKServerConfigurationManager cachedServerConfiguration] (FBSDKServerConfigurationManager.m:122)
FBSDKCoreKit
FBSDKGraphRequestPiggybackManager.m line 164 in -[FBSDKGraphRequestPiggybackManager addServerConfigurationPiggyback:] (FBSDKGraphRequestPiggybackManager.m:164)
FBSDKCoreKit
-[FBSDKGraphRequestPiggybackManager addPiggybackRequests:] (FBSDKGraphRequestPiggybackManager.m:0)
FBSDKCoreKit
FBSDKGraphRequestConnection.m line 376 in -[FBSDKGraphRequestConnection start] (FBSDKGraphRequestConnection.m:376)
FBSDKCoreKit
FBSDKAppEventsConfigurationManager.m line 109 in -[FBSDKAppEventsConfigurationManager loadAppEventsConfigurationWithBlock:] (FBSDKAppEventsConfigurationManager.m:109)
FBSDKCoreKit
FBSDKAppEvents.m line 929 in -[FBSDKAppEvents fetchServerConfiguration:] (FBSDKAppEvents.m:929)
FBSDKCoreKit
FBSDKAppEvents.m line 1269 in -[FBSDKAppEvents flushOnMainQueue:forReason:] (FBSDKAppEvents.m:1269)
libdispatch.dylib
_dispatch_call_block_and_release (libdispatch.dylib)
libdispatch.dylib
_dispatch_client_callout (libdispatch.dylib)
OTHER CRASH STACK TRACE
NewRelic
0x106fcc000 + 465560
NewRelic
0x106fcc000 + 463344
NewRelic
0x106fcc000 + 261764
X
RCTHTTPRequestHandler.mm line 103 in -[RCTHTTPRequestHandler sendRequest:withDelegate:] (RCTHTTPRequestHandler.mm:103)
X
RCTNetworkTask.mm line 75 in -[RCTNetworkTask start] (RCTNetworkTask.mm:75)
X
RCTNetworking.mm line 653 in -[RCTNetworking sendRequest:responseType:incrementalUpdates:responseSender:] (RCTNetworking.mm:653)
X
RCTNetworking.mm line 725 in __38-[RCTNetworking sendRequest:callback:]_block_invoke (RCTNetworking.mm:725)
libdispatch.dylib
0x1a745a000 + 9072
libdispatch.dylib
0x1a745a000 + 16592
libdispatch.dylib
0x1a745a000 + 46808
libdispatch.dylib
0x1a745a000 + 49632
libdispatch.dylib
0x1a745a000 + 94808
Your Environment
React Native Version
0.72.14
ReactNativeAgentVersion
1.3.8
newRelicVersion
7.4.12
Additional context
ex: If appropriate and possible, it would be helpful to add Charles traces.

@gailegurskytedbg are you using Firebase SDK? Please Check this:https://docs.newrelic.com/docs/mobile-monitoring/new-relic-mobile-ios/troubleshoot/firebase-incompatibility/

@ndesai-newrelic
Thank you for quick response!
yes, we are using Firebase.
"Disable some of the functionality of our agent. If this is an option that works for you see our [api guide] for more info."
In Api Guide I can not tell  which of the functions we should disable to make it work.
Maybe you have a configuration example which should work with Firebase, which features should we disable in newrelic?
Thanks!

Could please let us know which functions should we disable to make it work with Firebase.  It would also help if you could provide some working example which works for both NewRelic and Firebase.
Would appreciate if you could expedite and provide us your suggestion ASAP.

@ssaishankar06854 you can disable interactionTracingEnabled: false. you can also start NewRelic agent from AppDelegate and before you configure firebase agent.

@ssaishankar06854 is this still an issue?

@ndesai-newrelic
Thank you for your prompt responses and the initial guidance provided regarding disabling interactionTracingEnabled and configuring on native side before Firebase. While the issue seemed resolved temporarily, after upgrading to version 1.46, the crash has reoccurred despite following the recommended steps.
This ongoing issue is causing significant challenges and hindering progress in our project. We would greatly appreciate it if you could prioritize this and provide a more robust solution or further insights to resolve the problem definitively.
Thank you for your continued support.

@ndesai-newrelic What's the best way to enable NR in AppDelegate? I don't see it done that way in the example app.


Php is not working

Describe the bug
My php is not working
PHP versions
8.2
To Reproduce
Expected behavior
My php is now not working, and don´t know the cause, till yesterday was good
Screenshots/Logs

@andresfdel17
Try running brew upgrade gd.
If that does not solve it, please provide the output of brew outdated

It's solved. Thank you very much


Update sql-server-stretch-database-predicate-function.md

updated ownership

Hi @Antvgski, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (anvang). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;

@Antvgski : Thanks for your contribution to the Azure documentation! The author, @douglaslMS, has been notified to review your proposed change.

#sign-off

Only the author of the article can use the sign off comment to add the ready-to-merge label.

@Antvgski This change should be made in the private repo. For information about accessing the private repository, see https://github.com/Azure/azure-content#use-github-git-and-this-repository.
I'm closing this pull request. Thanks.


Bugs: hide-and-seek

Issue Description:
In the current implementation of the burgerMenu click event listener, event.preventDefault() is missing. This omission may lead to unexpected behavior when handling the click event. It's recommended to include event.preventDefault() to prevent any default actions associated with the click event.
Code Snippet:
burgerMenu.addEventListener('click', () => {
  burgerMenu.classList.toggle('active');
  navMenu.classList.toggle('active');
  navLogo.classList.toggle('active');
  navBar.classList.toggle('active');
  // Missing event.preventDefault() here
});

**Suggested Solution:**
To prevent any default actions associated with the click event, please add event.preventDefault() at the end of the click event listener

The bug in the given code is in the event listener for the .nav_links elements. The code is missing the part to remove the active class from the navLogo and navBar elements.
To fix the bug, you should update the event listener for .nav_links as follows:
Code Snippet:
document.querySelectorAll('.nav_links').forEach((n) => n.addEventListener('click', () => {
burgerMenu.classList.remove('active');
navMenu.classList.remove('active');
navLogo.classList.remove('active'); // Add this line to remove 'active' class from navLogo
navBar.classList.remove('active'); // Add this line to remove 'active' class from navBar
}));


[Question] Roadmap

Is there a roadmap of Bottr?
What are the next coming features?
Is the a plan to support non plain text reply of different platform? i.e. Buttons, Carousel... etc.

for the 3. #79 can help.

@mrredbit so I have started a milestone in the project but here are our list of features we wish to release in 0.2.

Full support for functionality across all platform, #79 will help us here so we can focus on higher level features. Currently we are waiting on some changes to make it easier to integrate as well as a Websocket client.
i81n the ability to localize the stuff sent by your bot with a built in localization system.
Topics the ability to control what the discussion of the conversation i.e Useful for asking for the users age and waiting for the response.
Push Events the ability to push messages from the bot to a conversation if something happens, useful for newsletters or reports.
Traits the ability to change the way the bot communicates to your user depending on the capabilities of the platform, so if you are talking to the user via a non-graphical interface you can have your bot convert the graphics you might of sent into text descriptions.
As well as additional tweaks like making the API naming consistent and adding support for promises etc in our APIs for things like downloading files and sending messages.

Some of these features I'm thinking of breaking into several 0.1.X releases (For example Topics and i81n) as I don't want to slow these down any further.
@mrredbit is there any features you would like ?

@jcampbell05 do you want any change to the Web UI? Right now I am trying to implement a simple chatbot UI on web. Depending on how it works out, I might be able to contribute on the web part in the future, but I couldn't say for sure.
Personally, I have some thoughts about the current web component:

Unlike normal IM bot, which the bot always occupying the full screen, a web bot should be more flexible IMO, sometimes it can occupy the full screen (e.g. in mobile), while sometimes it can be just a component which can be easily plugged into any area of a website or even in a popup.
Developers might want to customise the style of the bot, but the current implementation doesn's allowed that, because the UI of the bot is fixed.

I would suggest making the web UI presentation layer separate from the data layer, while Bottr provide the webhook, developer can decide how to hook up the data to their presentation layer, we can then separate the web UI part as another react component, allowing developer to customize the style by passing parameter into the react component.

@mrredbit I would love some contributions on the web UI, I totally agree and it would make it much easier to maintain if it was split out like that.


Training with one GPU

Hi,
as you explain in the readme, you finetuned the pre-trained checkpoint using 8 A100 GPUs using a distributed package. Unfortunately i have just one GPU, thus i cannot use the distributed package. Thus i change the command from
python -m torch.distributed.run --nproc_per_node=8 train_retrieval.py
--config ./configs/retrieval_coco.yaml
--output_dir output/retrieval_coco
to
python train_retrieval.py
--config ./configs/retrieval_coco.yaml
--output_dir output/retrieval_coco
moreover i set the number of workers to 0 in the create_loader function and set the --distributed args in the main function to False, but i received the error "RuntimeError: Default process group has not been initialized, please make sure to call init_process_group".
Could you give me some hints?
Thanks

Have you tried setting:
python -m torch.distributed.run --nproc_per_node=1 train_retrieval.py

Hi, no. I will try this option! If I want to use this option I have to leave the flag --distributed to True and the configuration understands itself what to do. Right? I will let you know. Thanks

Hi, using your command and leaving --distributed=True the train is started. Thanks. What are the training times for the train_retrieval fine tuning on the coco dataset? My setup uses a GPU TeslaT4 and the training images of the coco dataset are of the order 500k. How long did you take for one epoch with 8 A100s on 500k images?

Sorry, I don't know the answers to these questions.

Hi, using your command and leaving --distributed=True the train is started. Thanks. What are the training times for the train_retrieval fine tuning on the coco dataset? My setup uses a GPU TeslaT4 and the training images of the coco dataset are of the order 500k. How long did you take for one epoch with 8 A100s on 500k images? If I have the ability to use 4 GPUs is it enough to set --nproc_per_node = 4?

Finetuning on COCO with 8 A100s takes a few hours.

Hi,
i try the train with 4 GPU TESLA T4 but i am getting these worning and errors

Rank 0 using best-guess GPU 0 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect.Specify device_ids in barrier() to force use of a particular device. The same for the other four ranks

RuntimeError: NCCL error in: ../torch/lib/c10d/ProcessGroupNCCL.cpp:911, unhandled system error, NCCL version 2.7.8

I am using torch==1.9.1+cu111 and  torchvision==0.10.1+cu111. What version of Torch did you use?

I used pytorch 1.10

Hello, just use torchrun instead: torchrun train_caption.py for e.g.

Hi, as you explain in the readme, you finetuned the pre-trained checkpoint using 8 A100 GPUs using a distributed package. Unfortunately i have just one GPU, thus i cannot use the distributed package. Thus i change the command from
python -m torch.distributed.run --nproc_per_node=8 train_retrieval.py --config ./configs/retrieval_coco.yaml --output_dir output/retrieval_coco
to
python train_retrieval.py --config ./configs/retrieval_coco.yaml --output_dir output/retrieval_coco
moreover i set the number of workers to 0 in the create_loader function and set the --distributed args in the main function to False, but i received the error "RuntimeError: Default process group has not been initialized, please make sure to call init_process_group".
Could you give me some hints? Thanks

for debug , you need to change 'all_gather ' function,  just return input tensor

efault process group has not been initialized, please make sure to call init_process_group".

If you are not using distributed training, changing these two functions to this format can solve this problem.
The specific functions are located in:
blip_retrieval.py

efault process group has not been initialized, please make sure to call init_process_group".

If you are not using distributed training, changing these two functions to this format can solve this problem. The specific functions are located in: blip_retrieval.py

Have you tried setting nproc_per_node to 1?
python -m torch.distributed.run --nproc_per_node=1 train_retrieval.py \
--config ./configs/retrieval_coco.yaml \
--output_dir output/retrieval_coco

Thank you for taking the time to look at my problem！
When I was training train_caption.py on windows, I set nproc_per_node=1 and default=False in main function, but I still got

"RuntimeError: Default process group has not been initialized, please make sure to call init_process_group "

Is there any need to set?
Thank you very much for your help!

Have you tried setting nproc_per_node to 1?
python -m torch.distributed.run --nproc_per_node=1 train_retrieval.py \
--config ./configs/retrieval_coco.yaml \
--output_dir output/retrieval_coco

Thank you for taking the time to look at my problem！ When I was training train_caption.py on windows, I set nproc_per_node=1 and default=False in main function, but I still got

"RuntimeError: Default process group has not been initialized, please make sure to call init_process_group "

Is there any need to set? Thank you very much for your help!

i have same question，May I ask if you have resolved it？


Plasma 5:notification buttons/textbox not working

Describe the bug
If I get a notification with buttons I can't press those buttons to interact with it
Steps To Reproduce
Steps to reproduce the behavior:

Recive a notification from your cell via KDE connect
Click on a button on the notification
See no iteraction, the notification does not even disappear

Expected behavior
The notification disappear and the described action happen
Notify maintainers

@NixOS/qt-kde
Metadata

system: "x86_64-linux"
host os: Linux 5.15.4, NixOS, 22.05 (Quokka)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.4
nixpkgs: /nix/store/3c249himjn7sh3cwnapmh5qgrnmd42xg-source

I am also having this issue

Is this still a problem? I'm able to interact with the notifications just fine.

Closing as it's working fine here.


How is this possible that the app keeps state?

I've been playing with some examples (redux-oidc-examples) and I can't figure out how is that possible that the app somehow keeps state on refresh. Once I logged on I hit the refresh button and I'm still on the same page. This is really good and may help my use case tremendously once I understand how this is done. On refresh, I'd expect the store and state be destroyed and app would go back to its default state of 'please login with google'.

The userManager stores the user in the storage passed in via it's settings. The middleware then checks on startup whether or not the user is present in said storage and passes it in to the reducer if it finds it. Look out for dispatches of redux-oidc/USER_FOUND during startup.

Got it. This makes sense. Thanks for your explanation.

Happy to help.


CORS preflight causes stale data to be recieved

I've the following code(in reasonml, but i think the idea is clear enough):
module GetCurrentUser = [%graphql
  {|
    query {
        currentUser{ name }
    }
|}
];
let request = GetCurrentUser.make();
let ({response}, executeQuery) = useQuery(~request, ~requestPolicy=`NetworkOnly, ());
let prevResponse = ReactHooks.usePrevious(response);
React.useEffect1(()=>{Js.log(response, prevResponse);None;},[|response|]);

This is done on a CORS site(e.g front-end/backend on different domains)
urql version & exchanges:
latest urql, default exchanges.
Expected behavior
I would expect my effect to be called whenever the response actually changes, e.g first time + whenever i call execute mutation
Actual behavior

When Fetch sends an options preflight request, when the result is received, i'm seeing my effect being called with the old data.
When the actual call is made, i'm getting the new data.

This causes a weird behaviour.
The fix i'm currently doing in this case is to use PreferGet option to not cause preflight calls, but this will not hold for a long time.

Closing, seems like the issue was my incorrect(not sure why this is incorrect yet) use of UseEffect to depend on the response.


commands for other box api functionality

Very useful tool.  Loving it.  It is ALMOST perfect.  I had to add the ALMOST in there because I couldn't help but notice that there are some box api features which the tool does not have commands for, like retention policies, legal holds, watermarks, among others.  I was wondering if there were any plans to incorporate all of the api features into the tool.  That would make this tool perfect.

We absolutely want to add complete parity with the API to the CLI! I obviously can't commit to a date quite yet, but our ultimate goal with the tool is to update it along with our SDKs to keep new API functionality accessible as soon as possible. Clearly, we're not there yet, but that's the goal we have in mind, granted that the CLI remains a tool that the Box community values.
To give some insight into the current iteration, we released a subset of API coverage with the initial version of the CLI to get the tool out and see what kind of interest there is within the Box community.
Are there any other missing features or enhancements you'd like to see added to the CLI? We're scoping out work to start adding new features at some point in the near future, so we'd love to get any additional feedback you may have.
I'm also so glad to hear you're loving the CLI! Our plans are to keep making it better over time.

@whiggs We're currently in the process of a major update of the CLI, and adding support for all currently-unsupported API endpoints will happen as a part of that effort.  We'll keep you updated when the new version is released!

@whiggs We recently released v2.0.0 of the CLI, which (to the best of my knowledge) includes support for all API functionality.  You can find the new installers over at https://github.com/box/boxcli/releases/tag/v2.0.0 — please give it a try and let us know if you run into any issues or missing API functionality!


Remove unit8 support from kernels prior to adding new optimized implementations

We would like TFLM to drop support for asymmetric quantization and uint8 support (see https://github.com/tensorflow/tensorflow/issues/44912).
As a result, for new optimized implementations (such as https://github.com/tensorflow/tensorflow/pull/46500) we need to ifdef the uint8 test cases in a way that is not scalable:
https://github.com/tensorflow/tensorflow/pull/46500/files?file-filters[]=.cc#diff-8fb35117d2592a6f74def12c8b12e4d19cec0e9a05f2cd64fcceb84c22d93faaR336-R343
Instead of such ifdefs, we should remove uint8 support from the existing kernel implementations prior to adding in new optimized kernels.
More generally, as we start adding int16 support, it is possible that while the reference kernel has support for int16, some of the optimized implementations will not. In order to keep the tests passing, we will need a more scalable way to filter out specific test cases.
A (potentially sufficient) solution would be to ifdef based on supported types (e.g. DISABLE_INT16). However, this can be a slippery path since there are other 'features' that the optimized kernels may not support, so we will want to limit such ifdefs if we do go down this path.
Already, it is the case that the xtensa kernels only support int8 and not float. As we have other such examples (potentially with the work that the folks at CEVA are currently doing), we should figure out what we want to do here.

@yair-ehrenwald, this came up when @njeffrie and I were discussing the changes from #46500. We'll work with you to figure out a path forward for future PRs that you are working on.

Sounds like this will require some thought. Maybe each implementation specifically defining supported tests somehow?


New tutorial cases

After talking with the new employee that looked at the MAPL tutorials, they had several questions which prompted me that we need an additional tutorial(s) demonstrating the following items that were confusing them. Just putting this here for my record/todo when there is time.

Demonstrate the difference between and how imports and exports propagate and  when you need to use the AddExportSpec with child_id
Add a grandchild relative to the "root" gridded component and demonstrate how to couple an import in the grandchild to an export in a child of "root".
What it does and when/why you would use TerminateImport

We might be able to come up with a better name for TerminateImport.  The current name emphasize what MAPL does with the information, but should instead emphasize what the user expects from it.    So something like SatisfyImport gets a bit closer.  Or I_Will_Satisfy_this_Import(...)   But hopefully something inbetween that.

This is obviously a long-term issue. Long-term'ing.


[ko] add sudo to Red Hat-based distributions

The commands needs to be run using sudo.
Debian-based distributions already include sudo in the documentation, but Red Hat-Based distributions, so I added it.

The en PR (https://github.com/kubernetes/website/pull/30247) is approved and merged  now.
Please proceed this.

/unhold
/lgtm

Thanks !
/approve


feat: add page to upload photo.

Expected Behavior
Add page to upload photo, and later redirect it and display a form containing photo, and fields like Author, Books Title, and other stuffs.

@GrayFlash Can you assign this task to me

sir page is just ready

can you assign me plz.

@Karthik-SIES-GST yes you can work on this task. Meanwhile @Snehpatel007 you can check out the other repos here and take up any unassigned issue. We will have more tasks coming up for this repo.


Cannot compile with picocli-shell-jline3 dependency using Maven

Since the change to Fix gradle warnings, Maven compilation of any project with picocli-shell-jline3 as a dependency is broken, since the artifact published to The Central Repository has a changed the scope of transitive dependencies to jline - see the following changes to scope in the published pom.xml:
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.17.1</version>
      <scope>runtime</scope>
    </dependency>

whereas in former versions of picocli it was
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.16.0</version>
      <scope>compile</scope>
    </dependency>

In order words, the change in how the Gradle dependency is defined has broken the Maven scope, and compilation fails.

@deining - copying you for information too.

@deining - copying you for information too.

@sualeh Thank you for raising this!
Will applications be able to work around this by explicitly adding this dependency to their POM?
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.16.0</version>
      <scope>compile</scope>
    </dependency>

If so, we can try to fix this in the next release, but in the meantime add a note for this to the documentation.

@sualeh Thank you for raising this!
Will applications be able to work around this by explicitly adding this dependency to their POM?
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.16.0</version>
      <scope>compile</scope>
    </dependency>

If so, we can try to fix this in the next release, but in the meantime add a note for this to the documentation.

Here is the way I suggest:
    <dependency>
      <groupId>info.picocli</groupId>
      <artifactId>picocli-shell-jline3</artifactId>
      <version>4.6.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.jline</groupId>
          <artifactId>jline</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.17.1</version>
    </dependency>

Here is the way I suggest:
    <dependency>
      <groupId>info.picocli</groupId>
      <artifactId>picocli-shell-jline3</artifactId>
      <version>4.6.0</version>
      <exclusions>
        <exclusion>
          <groupId>org.jline</groupId>
          <artifactId>jline</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.jline</groupId>
      <artifactId>jline</artifactId>
      <version>3.17.1</version>
    </dependency>

Related issue #1294 is reported by @remal (I will try to expand my PR asap).

Related issue #1294 is reported by @remal (I will try to expand my PR asap).

@remkop  - may I request a point release with this fix?

@remkop  - may I request a point release with this fix?

Yes will do.

Yes will do.

Thanks again for raising this!
This is fixed in the 4.6.1 release.

Thanks again for raising this!
This is fixed in the 4.6.1 release.

@deining - copying you for information too.

Sorry for messing up things here. A huge thanks to everyone involved in ironing this fault out so quickly.

@deining - copying you for information too.

Sorry for messing up things here. A huge thanks to everyone involved in ironing this fault out so quickly.

@deining No worries at all! 😉
I now finally sat down to learn the difference between api and implementation. So thank you! 😄
And I also think it is pretty cool how a whole bunch of people got together to help fix things so quickly. 🙏 Truly grateful!

@deining No worries at all! 😉
I now finally sat down to learn the difference between api and implementation. So thank you! 😄
And I also think it is pretty cool how a whole bunch of people got together to help fix things so quickly. 🙏 Truly grateful!

Don't mention it @deining !  No man is able to be a jack off all trades.. and besides that: you gave us a chance to return something to the community :relaxed:
@remkop feel free to ping me in case of some Gradle related issues :wink:

Don't mention it @deining !  No man is able to be a jack off all trades.. and besides that: you gave us a chance to return something to the community :relaxed:
@remkop feel free to ping me in case of some Gradle related issues :wink:


The key error

May I ask why I reported this error? I used the default code and data set

Thanks for your reply. So the id is ranges from 0 to #vocab size and token is from tokenizer encoding (transfo-xl-wt103) right?

Thanks for your reply. So the id is ranges from 0 to #vocab size and token is from tokenizer encoding (transfo-xl-wt103) right?

Yes, that is right.

Thanks for your reply. So the id is ranges from 0 to #vocab size and token is from tokenizer encoding (transfo-xl-wt103) right?

Yes, that is right.

Thank you.

hey It seems that tokenizer: "transfo-xl-wt103" is only for english, I am using for 'bert-base-multilingual-cased' for spanish. Any idea how to find out the special token ? (to change this line in the config file :word_separator: 3039 # token used for word separator ())
thank you

@meriamOu I think there are lot of unused tokens, just pick one you like.

thank you so much for your prompt reply. To double check, a potential config file will be like this:
dataset_params:
tokenizer: "bert-base-multilingual-cased"
token_separator: "[unused10]" # token used for phoneme separator (space)
token_mask: "[MASK]" # token used for phoneme mask
word_separator: 9  # token used for word separator
token_maps: "token_maps.pkl" # token map path

Yeah I thin that would work, but don't use [MASK], use a single letter for masked token instead.

Hey again, using bert-base-multilingual-cased on wiki.spanish dataset ended up with unique index list of length  around 6 millions (even after eliminating the duplicates ) . Hence creating token_map is taking much longer time.
Will a token_map of 6 millions be a problem for the training? Would you still use bert-base-multilingual-cased ?
Thank you so much

Hey again, using bert-base-multilingual-cased on wiki.spanish dataset ended up with unique index list of length around 6 millions (even after eliminating the duplicates ) . Hence creating token_map is taking much longer time. Will a token_map of 6 millions be a problem for the training? Would you still use bert-base-multilingual-cased ?
Thank you so much

token map with 6m uniq items is too many for trianing. I my case, 500k tokens are already enough big to make the training impossible with 24G of GPU memory (even with a batch size of 16 and maximum text length of 256)

thank you so much for replying! How did you reduce the number of tokens then, or did you use another tokenizer?

thank you so much for replying! It seems that the "transfo-xl-wt103" is only for english and since it a word tokonizer the size of the token map is almost equal to the vocab size.
All other multi language tokenizer use subwords splitting which leads to smaller vocab size but the number of token for the dataset is much much bigger (6 millions for spanish dataset) as we have a list of numbers for every word. @yl4579 how should we adjust the token_map to accommodate sub word tokonizer in order to train on other languages?
Looking forward to hearing back from you

This was the suggestion for supporning subword training:
https://github.com/yl4579/PL-BERT/issues/23#issuecomment-1826536331


Custom commands

I frequently want to pull the latest upstream changes to a branch and then re-apply my own unpushed changes. This is done from the command prompt using git pull --with-rebase.
I’m able to do this with the SublimeGit package using its support for custom commands.

[ ] take an array of args like GitCommand#git
[ ] support string interpolation for arguments for {FILE_PATH} and {REPO_PATH}
[ ] support non-git commands (that nonetheless rely on running in project's root dir)
[ ] support output to panel or new scratch view
[ ] accept flag to run as shell command, to support basic sh capabilities

What is the advantage of an array of args (in this context) vs just a command string?

@yyyc514, what comes to mind:

Consistency across the app.
More explicit arguments without needing to escape spaces and other characters, and having to know how Python, Sublime settings parser, and/or the OS would treat it.
Simpler implementation for special keyword interpolation like REPO_PATH and FILE_PATH.
Only a slight hit to UX.

Why not allow both for simplify and maximum configurability? :-)  Actually I don't think you can stop that... since all you're doing (in the simple case) is simplest case is string concat. :-)  So n/m. :-)

Will I have ability to run sublime shortcut command (actually another plugin) on every commit view? I have plugin that count coding time in Sublime and I want write it to every commit (https://github.com/max-mykhailenko/memTask)

Regarding the command class structure I'm thinking:

ExternalCommand
GitCommand (ExternalCommand)
GsSomeRandomViewCommand (GitCommand, RepoPathMixin)
GsSomeRandomViewCommand (ExternalCommand, CurrentPathMixin)

The thought being you could use ExternalCommand or GitCommand stand-alone (from globals, utils, etc)... and then if you wanted to use them from a view you'd lay in RepoPathMixin or CurrentPathMixin to set the paths properly based on the file you are currently viewing.  Though really GitCommand and ExternalCommand are mixins the way we're using them so perhaps the names should also change to reflect that?
Thoughts?

Here is what I've written and started using until we have something better built-in:
https://github.com/yyyc514/Tint
It opens a virtual terminal inside a Sublime tab.  Similar to Glue (https://packagecontrol.io/packages/Glue) but a little different opinion on UX and trying to appear more like a real console than a command bar at the bottom and an editor window. Not saying we should include anything like this (it's a bit too ambitious I think), but just if any one is looking for a solution that works right now.
I did provide an option to configure a custom command and add it to a menu and then launch it in a Tint terminal window.

@yyyc514 Tint looks really neat!  For inspiration, you could also look at SublimeREPL, which does some really interesting things.  I like the idea of a programmable terminal for Sublime though, beyond what the built-in terminal will do.
@max-mykhailenko - it may be possible to expose certain functionality via specific injection points.  This will be unrelated to this ticket, however, so you could open a new issue with a full explanation of what you'd be looking for?


Add a valid region code for FR

Hi.
Could you please add 'FR' as a valid region code in ng2-validators/src/phone/phone-validators.ts as it is officially supported by google-libphonenumber ?
Thanks for this wonderful lib. :)
Alan

mmm... There seems to be several other missing valid region codes.
In google-libphonenumber/dist/libphonenumber.js, there is a list of country codes in  i18n.phonenumbers.metadata.countryCodeToRegionCodeMap.
Maybe this list could be parsed to build your regionsCode. I'm not good enough at JS yet to provide a usable PR. :/

Thank you for the PR!
The region codes are available in version 2.1.1


Run tests on GitHub Actions against earliest and latest SDK

As discussed at https://github.com/getappmap/appmap-intellij-plugin/pull/553, it would be helpful to not just run tests against the earliest supported SDK.

:tada: This issue has been resolved in version 0.73.0 :tada:
The release is available on:

v0.73.0
GitHub release

Your semantic-release bot :package::rocket:


🐛[BUG]: Order of communicators in comm tree is not in the order as they were added

Version
0.5.0
On which installation method(s) does this occur?
Pip
Describe the issue
I have the following problem: although I am adding process groups in a specific order to the tree, the printed tree, when converted to dict, has the wrong order. The ordering is important because the user wants to influence of how its communicators are laid out, ideally in a fashion so that ranks in communicators instantiated first are closer together.
Minimum reproducible example
from modulus.distributed.manager import DistributedManager
from modulus.distributed.config import ProcessGroupNode, ProcessGroupConfig

leaf_config = {"h": 2, "w": 2, "fin": 1, "fout": 1}

world = ProcessGroupNode('world')
pconfig = ProcessGroupConfig(world)

pconfig.add_node(ProcessGroupNode("data"), parent="world")

pconfig.add_node(ProcessGroupNode("model"), parent="world")

pconfig.add_node(ProcessGroupNode("spatial"), parent="model")
pconfig.add_node(ProcessGroupNode("matmul"), parent="model")

pconfig.add_node(ProcessGroupNode("h", size=leaf_config["h"]), parent="spatial")
pconfig.add_node(ProcessGroupNode("w", size=leaf_config["w"]), parent="spatial")

pconfig.add_node(ProcessGroupNode("fin", size=leaf_config["fin"]), parent="matmul")
pconfig.add_node(ProcessGroupNode("fout", size=leaf_config["fout"]), parent="matmul")

print(pconfig.tree.to_dict())

Relevant log output
This prints:

>>> print(pconfig.tree.to_dict())
{'world': {'children': ['data', {'model': {'children': [{'matmul': {'children': ['fin', 'fout']}}, {'spatial': {'children': ['h', 'w']}}]}}]}}

So although the group "spatial" was added first to its parent "model", the order in the tree view is swapped. I am not 100% sure if that will be the same order in which those communicators will be instantiated but it would be good to verify that nodes which are added first are guaranteed to be instantiated first. The children are stored in a list which has strict ordering. Therefore, it should be easy to fix this.
Environment details
I think this is not relevant for this issue.

According to the documentation, the nodes in treelib should be ordered as they are appended. So if that is the case, I think we should be good.


Fresh install - An error occured while starting the kernel

Issue Report Checklist

[x] Searched the issues page for similar reports
[x] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[x] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[ ] Could not reproduce inside jupyter qtconsole (if console-related)
[ ] Tried basic troubleshooting (if a bug/error)

[x] Restarted Spyder
[x] Reset preferences with spyder --reset
[x] Reinstalled the latest version of Anaconda
[x] Tried the other applicable steps from the Troubleshooting Guide

[ ] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
An error occured while starting the kernel
Kernel won't start, hence i get no console.
What steps reproduce the problem?

starting spyder

What is the expected output? What do you see instead?
Paste Traceback/Error Below (if applicable)

PASTE TRACEBACK HERE

An error ocurred while starting the kernel
The error is:

Traceback (most recent call last):
File "C:\Users\Konrad\Anaconda3\lib\site‑packages\spyder\plugins\ipythonconsole.py", line 1572, in create_kernel_manager_and_kernel_client
kernel_manager.start_kernel(stderr=stderr_handle)
File "C:\Users\Konrad\Anaconda3\lib\site‑packages\jupyter_client\manager.py", line 240, in start_kernel
self.write_connection_file()
File "C:\Users\Konrad\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 547, in write_connection_file
kernel_name=self.kernel_name
File "C:\Users\Konrad\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 212, in write_connection_file
with secure_write(fname) as f:
File "C:\Users\Konrad\Anaconda3\lib\contextlib.py", line 112, in __enter__
return next(self.gen)
File "C:\Users\Konrad\Anaconda3\lib\site‑packages\jupyter_client\connect.py", line 102, in secure_write
with os.fdopen(os.open(fname, open_flag, 0o600), mode) as f:
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Konrad\\AppData\\Roaming\\jupyter\\runtime\\kernel𔂮e03188e16e3.json'

## Versions
<!--- You can get this information from Help > About Spyder...
or (if Spyder won't launch) the "conda list" command
from the Anaconda Prompt/Terminal/command line. --->

* Spyder version: 3.3.6
* Python version: 3.7
* Qt version:
* PyQt version:
* Operating System name/version:

To fix this you need to open the Anaconda Prompt and run there
conda update jupyter_client jupyter_core

@jjhelmus, @mingwandroid, @msarahan, I think you should release a bug fix version for Anaconda 2019.10 because this problem was introduced in jupyter_client 5.3.3 (the version shipped by 2019.10) and fixed in  jupyter_client 5.3.4 and jupyter_core 4.6.0 (as I already mentioned to @jjhelmus).
This is very serious because it prevents Python kernel creation on Windows not only for Spyder but also for the Jupyter notebook and JupyterLab.

it prevents Python kernel creation

Sorry, any kernel creation, because this is a bug in jupyter_client.

Thanks a lot ccordoba12!


Add test for saving with to_netcdf and reading again as binary stream

See https://github.com/ContactEngineering/TopoBank/issues/563.

I think there are test now for all combinations of streams and reading/writing netCDF4.


Wasmtime traps are 300x slower in stack-heavy test with backtraces enabled

When wasm_backtrace is enabled, wasmtime is 300x slower in a specific stack-heavy test-case that:

Pushes slightly less than 2048 stack elements (~300 recursive rust calls).
Calls back out into the host, which recurses back into a new instance of the same module (about 1k times).
Eventually traps and rewinds through all 1k recursive calls.

While I'll admit that this is an unusual load, it can cause wasmtime to basically just sit there for ~20 seconds while bailing out, when it should take milliseconds at most.
Proposed resolution: Keep the option to disable backtraces. While very useful for debugging, the ability to disable them is still pretty useful.
Test Case
It's not quite as simple as a single wasm file. My guess is that there's some form of non-linear cost to keeping track of stack traces.
Steps to Reproduce
I can provide a reduced test-case that would help, it just might take a bit of time.
Non-reduced test-case:

Checkout https://github.com/filecoin-project/ref-fvm/pull/943
Disable https://github.com/filecoin-project/ref-fvm/pull/943/files#diff-f6ca4a1c384bf9a1f911827c3974f3f2b25357d937ce1d529732c09404ed6c92R129
In testing/integration/tests, run cargo test --release native_stack_overflow.

Expected Results
With backtraces disabled, it runs in 0.06 seconds.
Actual Results
With backtraces enabled, it runs in 20 seconds.
Versions and Environment
Wasmtime: 1.0.1
Operating system: Linux (5.19.14)
Architecture: x86_64 (i7-1185G7)
Extra Info
Anything else you'd like to add?

Thanks for reporting this! Digging in a bit here one aspect I believe is that we have quadratic behavior capturing the backtraces with interleavings of host and wasm frames, specifically each time Wasmtime returns with a trap back to wasm a backtrace is recaptured only to get thrown away later, meaning that with N sequences of host stack frames we'll capture a backtrace N times (hence the quadratic behavior). That may be one of the contributing factors to this and would probably be best to fix. @fitzgen would you be up for taking a look at this?
In the meantime @Stebalien would you be able to produce a more standalone example of what's going on? I made a simple reproduction myself but was unable to get more than 600 ish interleavings of host/wasm deep so I'm not sure how to get up to the multiple thousands you describe.

I made a simple reproduction myself but was unable to get more than 600 ish interleavings of host/wasm deep so I'm not sure how to get up to the multiple thousands you describe.

Ah, we run wasmtime on a 64MiB stack to support cases like this. But I'll cobble together a reproducer.

Looking into this.


[Feature] InMemoryDocumentClient

Hello!
For unit testing purposes it would be really nice to have an InMemoryDocumentClient that mostly acts the same as a document client.
Thanks,
Chris

@ChristopherHaws emulator can be leveraged as a workaround meanwhile.

@kirankumarkolli That is what we are using right now, however it does make tests non-atomic (test data might conflict with previous test data). It turns the test into more of an integration test than a unit test.

@ChristopherHaws just want to make sure that you were unblocked. Totally agree its close to 'integration test' part. Marking it as backlog but this will be a low priority.


cannot install in ubuntu 19

So i cannot add the ppa. It takes forever and finally says "Error: retrieving gpg key timed out."

I've searched for similar issues already, and my issue has not been reported yet.
Linux distribution (if applicable): ubuntu 19
Howdy version:

There's quite a height chance that it's not an issue with Howdy, but with Launchpad. Try it again tomorrow.

did and cant find ir during install

FWIW, I am on Ubuntu 19.04 and although I'm having some installation issues with the Howdy package itself, I can add the ppa without any issues.


[FLINK-13864][streaming]: Modify the StreamingFileSink Builder interface to allow for easier subclassing of StreamingFileSink

What is the purpose of the change
This patch makes it easier to extend StreamingFileSink, which adopts the builder pattern as a way to construct a new StreamingFileSink object. It follows the technique of "recurring generic pattern" which is documented in [1] and [2].
Brief change log
StreamingFileSink

Added the builder type as the class signature for BucketsBuilder, RowFormatBuilder and BulkFormatBuilder.
Added a self() method inside BucketsBuilder to return the proper builder type for base classes and subclasses in the path of inheritance.
Change the construction methods to return the builder object (self()), instead of a new instance of the builder.
Removed final for a few variables as they are now set by the construction methods.

Verifying this change
This change is merely an interface change and is already covered by existing tests, such as LocalStreamingFileSinkTest and BulkWriterTest.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (yes) it affects StreamingFileSink but merely an interface change.

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Example subclass interface
public class CustomizedStreamingFileSink<INT> extends StreamingFileSink<INT> {

  private CustomizedStreamingFileSink(
    final BulkFormatBuilder<INT, ?, ?> bucketsBuilder, final long bucketCheckInterval) {
    super(bucketsBuilder, bucketCheckInterval);
    ...
  }

  // Retrieve a new bulk format builder
  public static <INT> StreamingFileSink.BulkFormatBuilder<INT, String,
      ? extends CustomizedBulkFormatBuilder<INT, String, ?>> forBulkFormat(Path basePath, Factory<INT> writerFactory) {
    ...
    return new CustomizedBulkFormatBuilder(...)
  }

  .
  .
  .

  public static class CustomizedBulkFormatBuilder<INT, BucketIDT, TT extends CustomizedBulkFormatBuilder<INT, BucketIDT, TT>> extends StreamingFileSink.BulkFormatBuilder<INT, BucketIDT, TT> {
    public CustomizedBulkFormatBuilder(
        Path basePath, Factory<INT> writerFactory, BucketAssigner<INT, BucketIDT> assigner) {
      super(basePath, writerFactory, assigner);
    }

    public CustomizedStreamingFileSink<INT> build() {
      return new CustomizedStreamingFileSink(this, bucketCheckInterval);
    }
  }
}

One alternative is to make private members in StreamingFileSink.BulkFormatBuilder (or StreamingFileSink.RowFormatBuilder) public or protected, which is more hackish.

PTAL @kailashhd @tweise

PTAL @kl0u

Thanks for the example! I am having a look now @yxu-valleytider and @kailashhd

@yxu-valleytider in the example you present what you want to be able to do with the changes in terms of code. But can you describe the functionality that you think is missing from the StreamingFileSink and makes you want to subclass it instead of providing an alternative rolling policy for example or writer factory?
In general I think that the idea of making the StreamingFileSink extendable is good. I am just wondering what additional functionality users may want.

If you simply want to extend the StreamingFileSink, is it really necessary to also be able to extend the builders?

If you simply want to extend the StreamingFileSink, is it really necessary to also be able to extend the builders?

The primary reason is our use case needs customized bucket assigner to construct the extended class, and we would like to follow the existing construction pattern. The application logic looks like:
CustomizedStreamingFileSink.forBulkFormat(...)
            .withBucketAssigner(new CustomizedBucketAssigner())
            .build();

If we don't override the builder in the way this PR does, withBucketAssigner() would return a StreamingFileSink.BulkFormatBuilder and  build() would return a parent StreamingFileSink class but not the CustomizedStreamingFileSink class.
The linked articles discussed how to perform subclassing for a parent class using the builder pattern. This PR follows suggestions there on the best practice.

PTAL @kl0u

@kl0u could you please comment if this solution is acceptable? We would ideally like to wrap this up and use the same patch in our fork.

I will have a look first thing in the morning.
In general changes look good, but I would like to have another pass. Also I think it is worth adding a test that verifies that we can change the type of the BucketID without problems. Essentially testing the withBucketAssigner() and the corresponding withBucketAssignerAndPolicy() for the rowFormat builder. This is mainly to guarantee that nobody will break it in the future. Such a test should have been added earlier when the initial StreamingFileSink was written :( .

Hi @kl0u thanks a lot for the suggestions.
Did more investigations when writing tests. I suspect there could be potential type clashing if bucketFactory and bucketAssigner have different BucketID type.  For example:
TestBucketFactory<IN, String> bucketFactory;
TestBucketAssigner<IN, Integer> bucketAssigner;

StreamingFileSink.forBulkFormat(path, writer)
			.withBucketFactory(bucketFactory)
			.withBucketAssigner(bucketAssigner)
			.build();

Hence in the new commit I'm putting back the old methods, which construct a new builder when altering the BucketID type.  Changed the function names to reflect that explicitly.  If a subclass also wants this capability, it has to override these methods (to return the correct subclass type).
I can put up a few more tests for the new functions. Do you think they can be in a separate PR ? Thanks.

I will have a look first thing in the morning.
In general changes look good, but I would like to have another pass. Also I think it is worth adding a test that verifies that we can change the type of the BucketID without problems. Essentially testing the withBucketAssigner() and the corresponding withBucketAssignerAndPolicy() for the rowFormat builder. This is mainly to guarantee that nobody will break it in the future. Such a test should have been added earlier when the initial StreamingFileSink was written :( .

Hi @yxu-valleytider , I am reviewing the PR now.
The tests should be also part of the PR as this PR adds a new feature (subclassing the StreamingFileSink).

@kl0u Agree with most of the review comments. Just want to re-iterate the main reason why introducing a third generics parameter in RowFormatBuilder and BulkFormatBuilder is due to the above https://github.com/apache/flink/pull/9581#issuecomment-527534328.

PTAL @kl0u

Thanks a lot @yxu-valleytider . I will have a look.

Hi @yxu-valleytider , I still have the following concerns that make me feel uncomfortable about merging this PR:

The user should know that he has to write his own forRowFormat / forBulkFormat in order for them to return the correct builder, and this can only be "implicit" knowledge.
The user should override the build method of the builder he provides.
It may break user-code, if the user was explicitly stating in his program the return type of the forRowFormat or forBulkFormat. This is because we add a new type parameter.

Also some other issues that can be tackled easily though are:

The constructor should not take a BucketsBuilder but we have to have 2 constructors, one for row and one for bulk. If not, then the user may create an invalid StreamingFileSink.
The user cannot change the type of the BucketID (although this may not be that important).

I think I need more time to see what can be done and how we can find an elegant solution.

This PR seems very contentious because it makes the code of the sink somewhat more complicated.
Taking a step back, could we look at alternative options? You mentioned that the reason for extending this is that you want to extend metrics support. Would a metrics extension point help here, i.e. we add a MetricsExtension (name TBD) that we can provide to the StreamingFileSink and that is invoked at certain points and the implementation can spit out extended metrics.

@aljoscha  The metrics collection needs be done inside notifyCheckpointComplete() and snapshotState().  In addition, we may add customized logic into these two function as well.  Some of the logic are specific to our use cases, and probably better to stay inside our own customized StreamingFileSink.  I'm following the cited articles' suggestion in order to make the builder pattern extensible to the subclasses.

Hi @yxu-valleytider , I still have the following concerns that make me feel uncomfortable about merging this PR:

The user should know that he has to write his own forRowFormat / forBulkFormat in order for them to return the correct builder, and this can only be "implicit" knowledge.
The user should override the build method of the builder he provides.
It may break user-code, if the user was explicitly stating in his program the return type of the forRowFormat or forBulkFormat. This is because we add a new type parameter.

@kl0u I can see  3) is more or less a concern.  This PR does introduce quite a bit of changes to the interface of the StreamingFileSink -- the original hope is there are not so many users of StreamingFileSink yet hence impact is limited.

Also some other issues that can be tackled easily though are:

The constructor should not take a BucketsBuilder but we have to have 2 constructors, one for row and one for bulk. If not, then the user may create an invalid StreamingFileSink.
The user cannot change the type of the BucketID (although this may not be that important).

@aljoscha In terms of a step back, it would something extending this branch.  If you are OK with adding a bunch of getter functions to retrieve the private member fields of the class.

@yxu-valleytider I think we can merge this PR as is for now and re-iterate within this release cycle some of the details that need to be ironed out.

Thanks @kl0u  for the review, much appreciated!   Yes definitely open to further improvements/consolidations around the StreamingFileSink interface.

🚀

@kl0u thanks for working through this. Should the constructor issue be addressed before merging or you prefer to take it up separately?
@yxu-valleytider please rebase your branch and squash.

@tweise It would be nice if it can be addressed before merging. I was thinking that I will be the one to merge this PR so I was planning to do it then but if you are willing to do it, it would be much appreciated if you could add the two separate constructors (one for row and one for bulk) before merging.

@tweise Did rebase and squash
@kl0u Done splitting the constructor into two: one for row-based and the other for bulk-encoded. Feel free to modify in case there's anything missing.

Merged


[designspace] Allow axes to be identified by tag as well as by name

It would be convenient, especially when hacking XML .designspace documents, to be able to refer to an axis by its 4-character tag (e.g. "wdth") rather than its human-readable name (e.g. "Width"). Note that, in practice, axis tags are less likely to change during development than axis names, so if there is a name change, most of the XML can remain unchanged. It also makes code easier to reuse and to write without errors, since axis tags are standardized but axis names are not.
This would apply to (at least):

<sources><source><location><dimension tag="????">
<instances><instance><location><dimension tag="????">
<rules><rule><conditionset><condition tag="????">
<mappings><mapping><input><dimension tag="????">

I do not propose that support for axis names is removed.

The cleanest way to do this, such that the Python API is not changed, would be to convert the tag to name in the Python object...

In retrospect, perhaps the tag should have been the identifier. I think it's too late to change now, and allowing both will cause more confusion than it solves. So -1 from me.

Related: if two axes have identical tags, must they have identical names?


Writer freezes while writing a token

Hello,
I'm trying to generate a token, but it freezes at writing... am I doing something wrong?
I'm using F# with .netcore 3.1 on Mac OS (10.15.4).
printfn "JWT.create ..."
use key = new SymmetricJwk("R9MyWaEoyiMYViVWo8Fk4TUGWiSoaW6U1nOqXri8_XU", SignatureAlgorithm.HmacSha256)
printfn " -> key ok"

let descriptor =
    JwsDescriptor(
        KeyId = key.ToString(),
        JwtId = Guid.NewGuid().ToString(),
        IssuedAt = (DateTime.UtcNow |> Nullable),
        ExpirationTime = (DateTime.UtcNow.AddMinutes(30.0) |> Nullable),
        Issuer = (currentApp |> SoftwareComponent.value),
        Audience = (currentApp |> SoftwareComponent.value)
    )
    |> tee (fun d -> d.ToString() |> printfn " -> descriptor ok \n %A")

printfn " -> writer"
let writer = JwtWriter()
printfn " -> writing token ..."
let token = writer.WriteTokenString(descriptor)
printfn " -> Token:\n%A" token

Output is:
JWT.create ...
 -> key ok
 -> descriptor ok
 "{
  "kid": "{\n  \u0022kty\u0022: \u0022oct\u0022,\n  \u0022alg\u0022: \u0022HS256\u0022,\n  \u0022k\u0022: \u0022R9MyWaEoyiMYViVWo8Fk4TUGWiSoaW6U1nOqXri8_XU\u0022\n}"
}
.
{
  "jti": "2e9996df-b8ca-4e7a-a369-8ae1b8d843ff",
  "iat":<PHONE_NUMBER>,
  "exp":<PHONE_NUMBER>,
  "iss": "sc-eligibilityConfigurator-common-local@dev1-services",
  "aud": "sc-eligibilityConfigurator-common-local@dev1-services"
}"
 -> writer
 -> writing token ...

Hi,
When running on Windows, I have the following exception:
JsonWebToken.JwtDescriptorException: The header parameter 'alg' is required.
I will try to identify the freezing issue with MacOS.
You are not using correctly the key, and the signing algorithm cannot be infered.
You should replace the instruction
let descriptor =
    JwsDescriptor(
           KeyId = key.ToString(),

by
let descriptor =
    JwsDescriptor(
           SigningKey = key,

The KeyId property only the identifier of the key, and written to the kid header parameter.
If you are the owner of the key, I recommend to define the kid on the key instead to specify directly on the descriptor.

Hello and thanks for a quick reply!
It works with a correct key SigningKey = key.
I used a KeyId because of the example, where there is a Key = key, but I couldn't find a Key property, so I though a KeyId is the closest and then I forget about it, so I didn't try a different property.
Thank you for help 👍

Good catch. The example in the readme is updated.


reset annotation styles

closes #562

re CI errors: since I didn't touch the python code, I don't know what went wrong

thx for the hint


Add Bubble as special targets for special run configuration

@domainexpert the extended configuration allow bubble program to run with max time 120s.

@feliciahalim Thank you! I think it would be useful to add a little explanation in the header comment on the various make targets for running with example-specific configurations, such as tr, bubble, echo, and tr_nosyscall.tr0, bubble9.bubble0, echo_small.echo0 (for example)?

@domainexpert Thanks for the suggestion. Do you mean the comment like this "Please run make bubble to run bubble examples including (bubble9.c, bubble12.c) " ?

@feliciahalim Yes, maybe also make bubble9.bubble0 to run just bubble9.c with the specific configuration. ... Just so that we don't forget as things get more and more complex.

@domainexpert I have added some comments on the header file. Thanks.

@feliciahalim It's really awesome: Thank you so much.


Does SenCID support mouse data?

Thank you for developing this algorithm!
I've noticed that the original article seems to include only human samples, and the tutorial doesn't mention anything about species. Could you please let me know if SenCID can be applied to mouse data?

You are right, currently the models are all trained by human datasets. You may convert the gene symbols to the homologs from mouse to human and run SenCID, but the accuracies of the results are not yet validated.


Add more details to the repository structure section in ARCHITECTURE.md

Add more details to the repository structure section in ARCHITECTURE.md

@wipfli thanks for reviewing. I updated the branch per your feedback.


Use verible project for Linting and formatting

[x] #48
[x] #39
[ ] #49
[ ] Run a simple file and check for the work
[ ] Explore other tools of verible
[ ] Use the lowRISC starting file for linting checks
[ ] Try to modify the file to your coding guidelines
[ ] Use this for desing and testing files

Basic tool is working well with alias. Will resume the remaining work later in the last-quarter


ER_BAD_FIELD_ERROR on ghost using latest tag

error log
ghostblog     | [2022-11-03 15:26:39] ERROR "POST /ghost/api/admin/posts/?formats=mobiledoc%2Clexical" 400 210ms
ghostblog     |
ghostblog     | Could not understand request.
ghostblog     |
ghostblog     | Error ID:
ghostblog     |     e9c55980-5b8b-11ed-bfd4-bfb3f919763b
ghostblog     |
ghostblog     | Error Code:
ghostblog     |     ER_BAD_FIELD_ERROR
ghostblog     |
ghostblog     | ----------------------------------------
ghostblog     |
ghostblog     | Error: select `posts`.*, (with `k` as (select `member_id` from `members_subscription_created_events` where posts.id = members_subscription_created_events.attribution_id union select `member_id` from `members_created_events` where posts.id = members_created_events.attribution_id) select count(*) from `k`) as `count__conversions`, `posts`.*, (select count(distinct `members_click_events`.`member_id`) from `members_click_events` inner join `redirects` on `members_click_events`.`redirect_id` = `redirects`.`id` where posts.id = redirects.post_id) as `count__clicks`, `posts`.*, (select COALESCE(ROUND(AVG(score) * 100), 0) from `members_feedback` where posts.id = members_feedback.post_id) as `count__sentiment`, `posts`.*, (select count(*) from `members_feedback` where posts.id = members_feedback.post_id AND members_feedback.score = 0) as `count__negative_feedback`, `posts`.*, (select sum(`score`) from `members_feedback` where posts.id = members_feedback.post_id) as `count__positive_feedback` from `posts` where `posts`.`id` = '6363ddafb005a00001de843f' limit 1 - Unknown column 'posts.id' in 'where clause'

Installed on a VPS with ubuntu 22.04 and docker + docker-compose updated to the latest
and using MariaDB latest as DBMS
but after switching to SQL 8.0 the error disappears

Confirming issue
Related:
https://github.com/TryGhost/Ghost/issues/15729
https://github.com/TryGhost/Ghost/issues/15766
https://github.com/TryGhost/Ghost/issues/15806
https://github.com/TryGhost/Ghost/issues/15813
https://github.com/TryGhost/Ghost/issues/15815


chore: remove commented out code

I'm trying to work out exactly how the VolumeViewer package will look. I think we should set up this repo in such a way that we consolidate the files needed for the package into one place, merge that, and use the consolidated folder to build the package as its own repo. Then we can set up this repo with the published package in a different PR. Let me know if that's a totally bad idea. Just a heads up, I refer to the package-to-be as VV a bunch.
Files
I created a VolumeViewer-package folder within src/ to hold the package files temporarily. React would get mad if I moved some of the needed files outside of src/. Here's what we have:

Aframe/: files used to build the volume viewer itself
assets/config.json: left empty for now. We need to figure out what should go there (see below). The color map images could go here, or should they be in the VV public/?
components/: The actual react components of VV. VolumeViewerWrapper would be App.jsx in VV.
context/controls-context.js: context used within the package. Could change to volume-context.js or just context.js?
libs/: not sure if these files are actually used but they were in the original aframe-react repo
loader/: not sure if these files are actually used but they were in the original aframe-react repo. From what I understand, a .nrrd file is a different way to load 3D data? So these files are how to load a .nrrd file into the project?
misc/: not sure if these files are actually used but they were in the original aframe-react repo.
shaders/: looks to be the shader loaded into loader.js. Could we move the file into Aframe/ to consolidate the folders?

The package will also need it's own:

public/ and other misc. files and folder structure initialized by npx create-react-app
README.md
LICENSE
.gitignore
firebase, would likely need help

Things I'm not sure about:

Dockerfile and .dockerignore - do we need docker for either project?
RE the different subfolders in VolumeViewer-package, I suppose it's safest just to move everything to th VV package for now? Perhaps in the future we could set it up to take either a .png or .nrrd? I don't know enough about the graphics side of things to make a call.

Context
A big thing I'm looking for help on is deciding what state should be contained to the VV package  and what state is specific to this (RIDDC) website. The same is true for what config.json values are pertinent to RIDDC versus the package itself. Below is a list of what we have so far and also some of my thoughts about where they should go.
controls-context
Context for the Volume Viewer controls. This will be within the package itself.

allColorMaps: Constant array of the color maps used in the dropdown menu.
sliderRange: Constant for the minimum and maximum value of the slider. Right now it's 0-1, I think this get's transposed to different x values?
useTransferFunction: Boolean that right now it's always true. Perhaps this should be a prop passed into the VV package? e.g. the opacity controls wouldn't be displayed if it was passed in as false
colorMap: The current color map
transferFunctionNodes: Array of points in the transfer function. What should be the default here?
xSliderBounds, ySliderbounds, zSliderBounds: Current start and end (minimum and maximum?) values of the sliders, used to cut the volume on each axis. Could be consolidated into a single object?

selector-context
Context for the RIDDC website. All of these values will inevitably be passed into the VV package as props.

selection: The values of the three ButtonGroups in ModelSelector.jsx. Used to build the path to the model, which is what actually gets passed into VV
slices: Constant number of slices in the png. As far as I understand, this is specific to each volume which is 55 for every model in RIDDC.
x_spacing, y_spacing, z_spacing: I think this is the spacing between each of the slices in the .png? I'm not really sure. It's definitely tied to each model.

Currently volumePosition, volumeRotation, and volumeScale are read from config.json directly inside of VolumeViewer.jsx. I think they should be read into selector-context.js and passed into VV as props from there. However, if we chose to expose these to the user, then I think we should expose the position of the camera as well. Should we let the user change these variables or is it reasonable to assume the end user will always want the model directly in the middle of the screen?
Volume Viewer config.json
Currently this is left empty but here's what I think should be moved into that file:

colorMaps: Value of allColorMaps in controls-context
range: Value of sliderRange in controls-context
initialTransferFunction: Initial value of transferFunctionNodes in controls-context

RIDDC config.json
This is mostly data about the volumes that is eventually passed into Aframe. It will include the min/max data points from branch #56 once it's merged into master. I know we've talked about this before - should we change this such that there is a .config file for each volume? The data min/max values are already different for each model. We'd have repeated values (e.g. each volume config would have "slices": 55 but it would simplify the structure of the config files for the RIDDC project and the general setup of future projects.

season: Data for the season button group
tide: Data for the tide button group
measurement: Data for the measurement button group
slices: Number of slices in the png, currently 55 for all models
x_spacing: Currently 2 for all models
y_spacing: Currently 2 for all models
z_spacing: Currently 1 for all models
volumePosition: Currently "0 0 0" for all models
volumeRotation: Currently "-55 0 0" for all models
volumeScale: Currently "1 -1 1"

Volume Viewer props
The RIDDC website's specific state should be passed into the Volume Viewer package as props, (right?) so I'm thinking the package schema will look something like:
export default function App(props) {
  const {
    useTransferFunction = true,       // Whether or not to color the model with the transfer function
    path = "",                        // Path to the model
    slices = 55,                      // Number of slices in the png
    spacing = {x: 2, y: 2, z: 1},     // Spacing of the slices, consolidated into 1 object
    position = "0 0 0",               // Position of the model
    rotation = "0 0 0",               // Rotation of the model, default isn't the rotation of the RIDDC models
    scale = "1 1 1",                  // Scale of the models, default isn't the scale of the RIDDC models
    dataRange = {min: 0, max: 0, unit: ""} // Data points used in OpacityControls.js from unmerged branch
  } = props;

  return (
    /* Components */
  )
}

The discussion from before was when we were initially splitting volume-viewer into it's own package. This now uses the npm library


[WIP] Add augmenter Cartoon

Codecov Report

Merging #463 into master will decrease coverage by 0.14%.
The diff coverage is 76.25%.

@@            Coverage Diff             @@
##           master     #463      +/-   ##
==========================================
- Coverage   95.94%   95.81%   -0.14%
==========================================
  Files          34       35       +1
  Lines       11245    11325      +80
==========================================
+ Hits        10789    10850      +61
- Misses        456      475      +19


feature/mx-1555_remove_datetime_validation_format

PR Context

Added

Changes

Deprecated

Removed

date-time format validation for mapping model generation

Fixed

Security

branch is out-of-date, but otherwise good to merge! :shipit:


Find speed taken into account the firmware if specified

Fixes #89
We now can add a list of valid speed-sets, the one in the bottom supersedes the ones on top, only if the firmware version expression (from semver) is valid (if specified).

👍


Scope behind apache2 proxy has nothing to show

Hello Team
.
What you expected to happen?
I want to access to weave scope page behind apache2 proxy
-> it's okay by the direct way  ( without proxy) after opening the port 4040  ( ufw allow)
I m able to access to weave scope page
-> it s  not okay by the proxy way : ( and after  disable ufw 4040 rule  )
scope install method :
sudo curl -L git.io/scope -o /usr/local/bin/scope
sudo chmod a+x /usr/local/bin/scope
scope launch
check install and port
netstat -ntulp | grep 4040
tcp6       0      0 :::4040                 :::*                    LISTEN
curl -I http://localhost:4040
HTTP/1.1 200 OK
Accept-Ranges: bytes
Content-Length: 836
proxy : apache
apache2 -v
Server version: Apache/2.4.29 (Ubuntu)
Server built:   2019-09-16T12:58:48
vim  /etc/apache2/mods-enabled/proxy.conf
ProxyPass "/scope" "http://localhost:4040"
ProxyPassReverse "/scope" "http://localhost:4040"
vim /etc/apache2/sites-enabled/mysite.conf

<VirtualHost *:443>
ServerName mysite.fr
ErrorLog /var/log/apache2/error.mysite.fr.log
CustomLog /var/log/apache2/access.mysite.log combined
RewriteEngine on
SSLCertificateFile /etc/letsencrypt/live/mysite/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysitefr/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

sudo a2enmod proxy proxy_http proxy_wstunnel
sudo systemctl reload apache2
sudo systemctl restart apache2
What happened?
blank page
http://my.site.com/scope --> blank page -> no outputs show in html page
but curl test is ok with a 200 http status :
curl -I http://localhost/scope->ok
curl -I http://my.site.com/scope-->ok
HTTP/1.1 200 OK
Date: Mon, 11 Nov 2019 11:58:06 GMT
Server: Apache/2.4.29 (Ubuntu)
Accept-Ranges: bytes
but endpoint api show output in html page like
http://my.site.com/scope/admin/summary--> ok
Nov 11 11:35:33.112: ;: endpoint:34, process:254, container:8, container_image:8, host:1, overlay:2
Nov 11 11:35:39.106: ;: endpoint:3, process:253, container:5, host:1
Nov 11 11:35:42.126: ;: endpoint:33, process:254, container:8, container_image:8, host:1, overlay:2
Nov 11 11:35:45.109: ;: endpoint:2, process:253, container:5, host:1
Nov 11 11:35:48.106: ;: endpoint:10, process:254, container:5, host:1
http://my.site.com/scope/admin/summary--> ok
http://my.site.com/scope/api --> ok
{"capabilities":{"historic_reports":false},"hostname":"xxxx","id":"13c3ccb75d054430","plugins":[],"version":"1.11.6"}
How to reproduce it?
install apache 2.4 and configure reverse proxy
Anything else we need to know?
no cloud provider : scope install by the direct way
Versions:
Weave Scope version 1.11.6
$ docker version 19.03
$ uname -a   Linux ns377122 4.15.0-50-generic #54-Ubuntu
$ kubectl version --> no k8s install

## Logs:

$ docker logs weavescope
[<IP_ADDRESS>:4040 --> <IP_ADDRESS>:57514], pid=17232, netNS=4026531993)
 DEBU: 2019/11/11 11:22:25.611206 handleConnection(close, [<IP_ADDRESS>:4040 --> <IP_ADDRESS>:38344], pid=17232, netNS=4026531993)
 DEBU: 2019/11/11 11:22:25.611232 handleConnection(close, [91.121.xx.xx:4040 --> 91.121.xx.xx:39360], pid=17232, netNS=4026531993)
 DEBU: 2019/11/11 11:22:26.088013 plugins: scanning...
 DEBU: 2019/11/11 11:22:27.102803 Received report sizes: compressed 9536 bytes, uncompressed 157919 bytes (6.04%)
 DEBU: 2019/11/11 11:22:30.124212 Received report sizes: compressed 24047 bytes, uncompressed 282601 bytes (8.51%)
 DEBU: 2019/11/11 11:22:31.087975 plugins: scanning...
$ journalctl -u docker.service --no-pager
nothing
-->
Many thanks

The main view in a browser needs websockets to be working, whereas the other ones like /summary are plain http.
I see you mentioned proxy_wstunnel - maybe it didn't get configured correctly?  I suggest you focus in that area.

<VirtualHost *:443>
ServerName weavescope..jp
SSLEngine on
ServerAdmin webmaster@localhost
SSLCertificateFile /etc/letsencrypt/live/<your domain>/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/<your domain>/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/<your domain>/chain.pem

ProxyRequests Off
ProxyPreserveHost On

RewriteEngine On
RewriteCond %{HTTP:Connection} Upgrade [NC]
RewriteCond %{HTTP:Upgrade} websocket [NC]
RewriteRule /(.*) ws://localhost:4040/$1 [P,L]

RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

ProxyPass / http://localhost:4040/
ProxyPassReverse / http://localhost:4040/
ProxyPass / ws://localhost:4040/
ProxyPassReverse / ws://localhost:4040/

great response from d.Kingyo

In your configuration,
<VirtualHost *:443>
ServerName mysite.fr
ErrorLog /var/log/apache2/error.mysite.fr.log
CustomLog /var/log/apache2/access.mysite.log combined
RewriteEngine on
SSLCertificateFile /etc/letsencrypt/live/mysite/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mysitefr/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

the line "RewriteEngine On“ is a silent misconfiguration. This means adding it to your system will not change any system behavior.
"RewriteEngine On" is introduced by Apache to explicitly enable all "RewriteRule" and "RewriteCond".
That is to say, unless you include multiple "RewriteRule" and "RewriteCond" parameters in your configuration, then leaving off "RewriteEngine" is a better choice.
More importantly, the default value of “RewriteEngine" is already an "off", so from a security side, deleting “RewriteEngine On” would be ideal.
The related Apache source code snippet:
run_rewritemap_programs(server_rec *s , apr_pool_t *p){
if (conf->state == ENGINE_DISABLED) { // usage of "RewriteEngine"
  return APR_SUCCESS; // early return
rewritemap_program(...); // usage of "RewriteRule"
}


Ctrl-Tab to switch between tabs/files

I wish Ctrl-Tab would let me switch between open tabs/files

I wish Ctrl-Tab would let me switch between open tabs/files

How does this interact with splits? I assume it would. just cycle between the tabs in that split?

@iamnbutler I didn't know about splits to start with 🙃 Nevertheless, I guess "cycling between the tabs in current split, by default" would be a reasonable default. What do you think?

I agree that it would be nice to have this functionality, I would also like there to be a way to reverse the direction of the cycling, with an additional modifier key, or have the command to cycle involve the left and right arrow keys in some way, which already sort of aligns with how other commands work (splitting panes and changing focus to different panes).

Don't forget to add Ctrl+^ for the equivalent behaviour when in vim_mode 👍

+1 for changing tabs with Cmd + number.
Also, almost all tabbed apps like Safari, Chrome, VS Code and Atom also support Cmd + Option + Left and Cmd + Option + Right for tab cycling.
That seems to be the standard thing to do, and is a bit of a must-have for me in Zed.

+1 for changing tabs with Cmd + number (Oh, and skipping straight to the far-right one with Cmd + 9)
Also, almost all tabbed apps like Safari, Chrome, VS Code and Atom also support Cmd + Option + Left and Cmd + Option + Right for tab cycling.
That seems to be the standard thing to do, and is a bit of a must-have for me in Zed.

I didn't know Safari used cmd-opt-left/right, I've always used cmd-shift-left/right; just checked and both commands work to cycle tabs - interesting.

Another thing for vim mode: gt and gT for switching to the next and previous tabs.

I use this extensively in VS Code and other IDEs and probably won't use Zed a lot until it gets added.

Maybe this ticket is about changing the default behavior, but you can set this up already by putting this into your keymap.json:
[
    {
        "bindings": {
            "ctrl-shift-tab": "pane::ActivatePrevItem",
            "ctrl-tab": "pane::ActivateNextItem"
        }
    }
]

Maybe this ticket is about changing the default behavior, but you can set this up already by putting this into your keymap.json:
[
    {
        "bindings": {
            "ctrl-shift-tab": "pane::ActivatePrevItem",
            "ctrl-tab": "pane::ActivateNextItem"
        }
    }
]

This is definitely helpful but not quite what I was looking for. In vscode for example (also IntelliJ), pressing CTRL+TAB brings up this sort of interface:

It is sort of like Windows' alt+tab where the most recently used code windows are higher in the list.
The keybind change just cycles through the tabs from left to right.
I don't know if this issue was created with this 'switcher' idea in mind, or if the intent was simply to easily switch tabs with ctrl-tab. Maybe a new issue should be created for this? I also realize not everyone may prefer this switcher interface.

I don't know if this issue was created with this 'switcher' idea in mind, or if the intent was simply to easily switch tabs with ctrl-tab. Maybe a new issue should be created for this? I also realize not everyone may prefer this switcher interface.

When I created this issue, I wasn't thinking about any additional UI elements. So, https://github.com/zed-industries/community/issues/6#issuecomment-1473828585 definitely solved my "issue".
I think you may consider creating a new feature request, where this can be discussed deeply. What do you think?

Yes I think that would be best, I'll get around to it soon.

@exalted are you fine with me closing this then?

@hovsater @exalted this is totally differs from what VSCode does,
this is simply switching between forward and backward files, not between recently opened files.
I hope we should give users option to switch between recently opened files similar to VSCode.
Anyway i'll open another issue regarding this request

@sheikalthaf feel free to open an issue describing the feature you had in mind. 🙂 We closed this one as @exalted's original request was solved.

@hovsater #1489 created the feature request. FYI


I have used custom filter search with ng2-dnd. Now if i drag an item after filtering wrong items is dragged

This happens probably because [sortableIndex]="i", where i is the 'index'. So after filtering, when one tries to drag an item, it's not the right item is dragged but the one with 'that' index
More details:
https://stackoverflow.com/questions/44344866/ng2-dnd-wrong-item-getting-dragged-and-droppedmulti-sortable-after-applying-fi
I'm using angular 2 to implement multi-sortable d&d with the following package https://www.npmjs.com/package/ng2-dnd.
I'm able to drag and drop items from one container to other and vice versa. However, when i filter and item and then try to drag wrong item is getting dragged and dropped into the other container(the one which generally applies that index and not the one which actually is there). This could be may be because the code uses sortableIndex
Here's the code:

Groups

            Available Groups

{{item.name}}

            Selected Groups

{{item.name}}

listBoxers:Array = [];
listTeamOne:Array = [];
this.listBoxers= [{id:"1",name:"ABC"}, {id:"2", name:"erwxyz"},{id:"2", name:"sdaxyz"},{id:"3", name:"sdxyz"},{id:"4", name:"xyz"}]
Here's the screenshots:
enter image description here
enter image description here
As you can see in the second screenshot, even after filtering 'xyz', I tried to grad this item. Howver, wrong item got dragged and dropped(the one present at that index)

Hi,
Show me the code of your filter DataFilterPipe. It must return the new collection of items to the listBoxers.

Any update?


KAFKA-2915: Fix problem with System Tests that use bootstrap.servers embedded in jinja files

Fixes problems in mirror maker and consumer tests
http://jenkins.confluent.io/job/kafka_system_tests_branch_builder/290/
http://jenkins.confluent.io/job/kafka_system_tests_branch_builder/289/

LGTM. Merged to trunk.


added check for single node and force flag

Fixes #2009
Added check that we are on a single node serving workloads and we do not have a force flag according to @ktsakalozos advice

@ktsakalozos please take a look

Thank you @tripolkaandrey closing this PR in favor of https://github.com/ubuntu/microk8s/pull/2143


Use --config=monolithic for the Android CI build

Avoids building some code for op generation. @av8ramit could you test it?

http://ci.tensorflow.org/view/Experimental/job/experimental-android-2/3/console


Consultations on this paper

Hi, I found this paper very enlightening, taking full advantage of the nature of knowledge graph embedding to complete multi-hop QA.
However, I have some doubts while reading the paper on ACL 2020.
How are the head entities in a natural language question get extracted, did this paper assumes that there is only one head entity in the question?
Thanks.

We are glad that you found the paper helpful.
The paper makes the following assumptions:

The head entity in the question is known.
There is only one head entity in the question.

Please let us know if you something is unclear.


feat(docs): clean up Success Stories header

Cleaned up the language and made a small formatting tweak to the top section of the Success Stories page.

I'm generally a fan of fewer words. @dnilasor?


(Question) Does Firefox support is planned?

Support is not planned in the Beta stage, but it might be included when we release officially.


Feat config airflow BaseOperator

This PR is to address issue mentioned here #263 .
Changes

add Airflow under metadata to allow the user to put config related to pool and queue.

Example
...
dependencies: []
hooks: []
metadata:
  ...
  airflow:
    pool: poolA
    queue: queueA

Fix

fix error message when encountered deployment failure

Note
In order for this PR to be merged, the following has to be done:

[ ] merge PR in Proton required by this PR

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

24 of 36 (66.67%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 74.837%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

store/local/job_spec_adapter.go
10
14
71.43%

api/handler/v1beta1/adapter.go
10
18
55.56%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
5969

Relevant Lines:
7976

💛  - Coveralls

@sravankorumilli , I've tested this in my local, and so far no issue is found and the configuration is passed and used. Please check this if there's any concern or issue.

fixes #290


Make util method(s) that profiles/summarizes a table of data

We want table level summaries

number of rows
number of columns by data type
size in memory

We also want row level summaries

missing values row
if numeric, min, max, std, mean, etc
if categorical, most frequent value, num unique, etc

To discuss

just did first pass of info we'd want in the summary. what else?
is this one or two functions?

Closing in favor of #2391