blacklisting

"So the evilginx2 blacklist is a totally different blacklist than the Apache2 blacklist mentioned in the README, that message appears to be coming from evilginx2? This repo doesn't contain/modify the /$HOME/.evilginx/blacklist.txt file either. If this message is from evilginx2, you have made modifications to /$HOME/.evilginx/blacklist.txt, this project would never blacklist the localhost IP address as it is mandatory for the project to work properly."
<IP_ADDRESS> is in main.go when blacklist unauth is turned on <IP_ADDRESS> gets blacklisted and url stops working.  and all sessions remote ip comes from <IP_ADDRESS> maybe removing <IP_ADDRESS> from main.go to "" can fix this problem. I will try that.

The entirety of this tool relies on evilginx2 listening locally and that change would break everything. Tracking would no longer work as any victim who requests the tracking URL will be added to the blacklist. The tracking URL technically is seen as an unauthorized request. Use the project how it was intended. There is already a Apache blacklist, add your IP addresses to that.


a couple typos on Figure1_HazardMap_GP.png

Great looking materials!
I spotted a couple typos on Figure1_HazardMap_GP.png
It looks like both Municipalities and Transverse are misspelled? Perhaps the result of QGIS Print Composer not having a spell check function?

Ha, good catch! I'll correct that later this week. You are exactly right. I rely on spell check far too much and without that functionality in the print composer, I'm lost. I really appreciate the feedback.


[request] react-redux

Hello,
We have definition for redux in this repo, but a proper parameterized definition for connect  would enforce the type in HOC wrapped component.
the behavior seems straightforward, but I am not sure how to parameterize mapStateToProps, mapDispatchToProps, mergeProps to maintain the typing.
currently
const mapDispatchToProps = (dispatch, ownProps) => {
  return {
    onClick: (data: MyType) => {
      dispatch(doSomething(data))
    }
  }
}

when using onClick, in the wrapped component, I am losing the the parameter information.
 const { onClick } = this.props;
  ....
  render() {
     onClick();
     onClick([]);
      onClick({});
       .....
  }

If I get help with this one function, I will create a pull request to make it into a proper module.
thanks,
bsr.

typescript def is here https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/react-redux/react-redux.d.ts
// Type definitions for react-redux 4.4.0
// Project: https://github.com/rackt/react-redux
// Definitions by: Qubo <https://github.com/tkqubo>, Sean Kelley <https://github.com/seansfkelley>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped

/// <reference path="../react/react.d.ts" />
/// <reference path="../redux/redux.d.ts" />

declare module "react-redux" {
  import { ComponentClass, Component, StatelessComponent, ReactNode } from 'react';
  import { Store, Dispatch, ActionCreator } from 'redux';

  interface ComponentDecorator<TOriginalProps, TOwnProps> {
    (component: ComponentClass<TOriginalProps>|StatelessComponent<TOriginalProps>): ComponentClass<TOwnProps>;
  }

  /**
   * Decorator that infers the type from the original component
   *
   * Can't use the above decorator because it would default the type to {}
   */
  export interface InferableComponentDecorator {
    <P, TComponentConstruct extends (ComponentClass<P>|StatelessComponent<P>)>(component: TComponentConstruct): TComponentConstruct;
  }

  /**
   * Connects a React component to a Redux store.
   *
   * - Without arguments, just wraps the component, without changing the behavior / props
   *
   * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior
   * is to override ownProps (as stated in the docs), so what remains is everything that's
   * not a state or dispatch prop
   *
   * - When 3rd param is passed, we don't know if ownProps propagate and whether they
   * should be valid component props, because it depends on mergeProps implementation.
   * As such, it is the user's responsibility to extend ownProps interface from state or
   * dispatch props or both when applicable
   *
   * @param mapStateToProps
   * @param mapDispatchToProps
   * @param mergeProps
   * @param options
   */
  export function connect(): InferableComponentDecorator;

  export function connect<TStateProps, TDispatchProps, TOwnProps>(
    mapStateToProps: MapStateToProps<TStateProps, TOwnProps>,
    mapDispatchToProps?: MapDispatchToPropsFunction<TDispatchProps, TOwnProps>|MapDispatchToPropsObject
  ): ComponentDecorator<TStateProps & TDispatchProps, TOwnProps>;

  export function connect<TStateProps, TDispatchProps, TOwnProps>(
    mapStateToProps: MapStateToProps<TStateProps, TOwnProps>,
    mapDispatchToProps: MapDispatchToPropsFunction<TDispatchProps, TOwnProps>|MapDispatchToPropsObject,
    mergeProps: MergeProps<TStateProps, TDispatchProps, TOwnProps>,
    options?: Options
  ): ComponentDecorator<TStateProps & TDispatchProps, TOwnProps>;

  interface MapStateToProps<TStateProps, TOwnProps> {
    (state: any, ownProps?: TOwnProps): TStateProps;
  }

  interface MapDispatchToPropsFunction<TDispatchProps, TOwnProps> {
    (dispatch: Dispatch, ownProps?: TOwnProps): TDispatchProps;
  }

  interface MapDispatchToPropsObject {
    [name: string]: ActionCreator;
  }

  interface MergeProps<TStateProps, TDispatchProps, TOwnProps> {
    (stateProps: TStateProps, dispatchProps: TDispatchProps, ownProps: TOwnProps): TStateProps & TDispatchProps;
  }

  interface Options {
    /**
     * If true, implements shouldComponentUpdate and shallowly compares the result of mergeProps,
     * preventing unnecessary updates, assuming that the component is a “pure” component
     * and does not rely on any input or state other than its props and the selected Redux store’s state.
     * Defaults to true.
     * @default true
     */
    pure?: boolean;
    /**
    * If true, stores a ref to the wrapped component instance and makes it available via
    * getWrappedInstance() method. Defaults to false.
    */
    withRef?: boolean;
  }

  export interface ProviderProps {
    /**
     * The single Redux store in your application.
     */
    store?: Store;
    children?: ReactNode;
  }

  /**
   * Makes the Redux store available to the connect() calls in the component hierarchy below.
   */
  export class Provider extends Component<ProviderProps, {}> { }
}

cc @samwgoldman who has done some thinking about the machinery needed to make this kind of thing work

thanks @jeffmo and @samwgoldman . Even some guidance to do it manually would greatly help me. thanks again.

Please also see https://github.com/flowtype/flow-typed/pull/96


ts/ts_rsp_sign.c: Add the check for the EVP_MD_CTX_get_size()

Add the check for the return value of EVP_MD_CTX_get_size() to avoid invalid negative numbers.
Fixes: c7235be6e3 ("RFC 3161 compliant time stamp request creation, response generation and response verification.")

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

This pull request is ready to merge

Merged to the master branch. Thank you for your contribution.


An Exekube project inside gpii-infra, round 2

The main thing this introduces is a pattern for installing helm charts using the latest exekube conventions. If this is useful to you, feel free to merge this branch so you can work from master.
The biggest problem right now is that release_namespace is ignored, so couchdb is deployed into the default namespace. --namespace worked with the couchdb chart when I installed it using manual  helm. I'll fix this next.
I also need to run the finish_cluster command and disable admin 🎉mode.
Other notes:

Uses latest exekube, including the new helm-template-release which deploys helm charts without a tiller
Replaced my k8s-namespace module with administration-tasks, per Ilya's suggestion
It is no longer necessary to use my fork of exekube. Please rebuild your local image from upstream master, as described in the README
Cleans up some incorrect use of variables at the live/ (environment-specific) vs modules/ (environment-agnostic) levels

I think that we should have our own controlled exekube repository

Filed as https://issues.gpii.net/browse/GPII-2974

I haven't use the CoudhDB helm chart yet, and I'm worried about...

Added to https://issues.gpii.net/browse/GPII-2599

Hmm, I got distracted in the middle of this and never merged it. Oops.
I cleaned up this branch to make it work again with the changes in exekube 0.3.1.
It deploys a CouchDB via chart, but the work is incomplete. See https://issues.gpii.net/browse/GPII-2960, where that work will continue.
I added the official RtF Organization and Billing Account to the README so that folks can use that account when they're ready. Feel free to keep using your Free Trial credits until you need the official account :). See https://issues.gpii.net/browse/GPII-2963 for more details.
I'm merging this to clear the decks, but as always feel free to comment on anything and I'll clean it up here or in a follow-up PR.


Remove address-of calls in std.array

I have no idea why these were added in the first place.

Ahh, I see now. appender accepts a pointer. Closing this.


fs.rename() should normalize paths before using, dir vs. dir/

We hit a bug in Brackets where renames are using dir paths like this: fs.rename("/old-path/", "/new-path/", ...) and Filer is using the trailing slash as part of the path.  We fixed something like this in issue #105 but seem to have missed the rename case.

r+ looks great

@modeswitch I need a grunt publish to get this change on npm.  Can you do that please?

@humphd grunt publish appears to be broken in Node v0.12. I'll need to investigate when I have a sec, unless @sedge has time.

Lovely :(  fwiw, I'm not blocked on this, since we're using it via submodule.  But it would be nice if it was uptodate on npm too.


use it with wordpress?

Can this be used with wordpress actually? I've integrated gentelella into my wordpress site and everything looks fine, but the sidebar is not working unfortunately. It seems that it's not active, I mean it shows up but when I click the items on the sidebar, there is just no response and there is also no response when I clicked the collapse btn on the nav bar.
I've believe that I followed the instruction very strictly, so does it mean that it is not suitable using this with wordpress? Sorry for asking questions like this.

It can be used with WordPress if you have the skills to convert it. It is an HTML template with no dependence to some platform.


Release v2.3.0

arcgis cookbook split into multiple cookbooks:

arcgis-server
arcgis-geoevent
arcgis-desktop
arcgis-pro

Added esri-tomcat cookbook that wraps tomcat v2.X.X cookbooks.

@jonathanan, @JoAlvarez Please review the changes.


[BUG] Cloze card not working while using callouts

Describe the bug
I'm using callouts to be able to have multiple cards on a single note with cloze. If I use "-" to make a list, the card reviewing shows the entire note. This way I get to have the linter working, and the note creation process is easy.
It wasn't happening before, even though I have not updated it. Don't know what changed.
To Reproduce
Create a note with multiples callouts, with close cards inside and using the repetition informations on the same line as the card.
Expected behavior
I should only see my callout with the cloze, note the whole note with a buggy callout.
Screenshots

Versions (please complete the following information):

OS: Android 13
Obsidian version: 1.4.1
Plugin version: 1.8.0

Additional context
Maybe it was because I used to have cards store informations at the end of the note and not at the end of the cloze line. I'm looking into it.

This is a parser bug and relatively easy to fix and I'm open to mentor anyone who wants to attempt this. Roughly, we first need to add a couple of tests in the parser tests and then we need some mock data that reproduces this behavior. Once that's down and correctly captures cases like these, we can write some code against this to add the feature for better cloze parsing.

I think I got around by rebuilding manually every single cards to make them work with in-line informations. I'll keep this post updated if it evolves.


Add Emojis to Automation

It's looking might bland without the cool emojis.

See: https://gist.github.com/rxaviers/7360908


Login URL

Hey,
Forgive my noobness, just trying out this nice piece of code to try to understand JWT authentication better, and I see in your test project that when trying to access a protected route I get redirected to /Account/Login?ReturnUrl=%2Fapi%2Fvalues%2F5, where is that set? I'd like to set a custom URL there...
Thanks :)

I've found that the following can be used for cookies
        app.UseCookieAuthentication(` new CookieAuthenticationOptions
        {
            LoginPath = "/mycustompath"
        } );

But what if I don't want to use cookies, can I redirect to a custom URL?

Hi @Sn3b! You're right, that redirect behavior is associated with the cookie authentication middleware.
How are you using tokens in your application? If you are passing tokens in headers, you typically would return a 401 Unauthorized response rather than doing a redirect. (In fact, that's exactly what the JwtBearerAuthentication middleware does)

Yes that's what I did, works fine, thanks! :)


Fix Node16 tests (port proposal-temporal/#2064)

Fix Node 16 Intl test data. Port of https://github.com/tc39/proposal-temporal/pull/2064

No worries, I wanted to merge another PR so jumped the gun. 😄


Revert "remove unused samples (#1026)"

This reverts commit 57db7488d5970cec7c0c14241dfff98bc60e3f79. (PR is #1026)
Despite all my text searching, several of these samples are in use.  Let's revert the changes.

Sorry, I also was searching by function names, but I guess they are referenced by filename only

@nschonni I was searching by filename and snippet name, and I still missed them. No worries, we'll move forward.


Add return scope to realloc

Split off from https://github.com/dlang/phobos/pull/8113
Since realloc could return the input if there is enough capacity, it should be return scope. While in practice realloc is all @system and @trusted code, it does seem to trip up issue 20150.

Turns out that std.internal.cstring: tempCString is tricky, since it dynamically switches between stack and heap memory, which trips up scope.

Turns out that std.internal.cstring: tempCString is tricky, since it dynamically switches between stack and heap memory, which trips up scope.

I now split up the stack-logic and heap-logic into two functions, so that the former can be scope while the latter return scope.

Please rebase to restart circleCI

@RazvanN7 maybe you could rebase for the author? The ping, rebase, wait for auto-merge label to be re-added cycle seems a bit inefficient.

@wilzbach Of course I can do the rebase myself, however, I think it's better to keep the PR author engaged.

Having to rebase my PRs over and over again because of CI issues is not very engaging though 😬


[OCPQE-16445]support nightly build for image consistency check job

if no -c option , default using stable build to test:
$oar -r 4.12.28 image-consistency-check

if -c option, use nightly build to test:
$oar -r 4.12.28 image-consistency-check -c

if has -n option and -c option, will give error info:

@rioliu-rh  when you are free, review it, thanks

/lgtm

/approve


add prelease-token in github action.sh

Problem
The github action doesn't translate the prelease_token option from the action.yml into the corresponding command line parameter.
Fix
Add the parameter to ARGS in action.sh.

@glichtner, thanks!


Add dynamic template support to Twilio Sendgrid binding

Thank you for helping make the Dapr documentation better!
Please follow this checklist before submitting:

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Read the contribution guide
[x] Commands include options for Linux, MacOS, and Windows within codetabs
[x] New file and folder names are globally unique
[x] Page references use shortcodes instead of markdown or URL links
[x] Images use HTML style and have alternative text
[x] Places where multiple code/command options are given have codetabs

In addition, please fill out the following to help reviewers understand this pull request:
Description
Documentation for the PR: https://github.com/dapr/components-contrib/pull/2844/
Adding support for dynamic templates. This includes allowing to provide a template id and template JSON data.
Issue reference
https://github.com/dapr/docs/issues/3421
https://github.com/dapr/components-contrib/issues/2412

@yannart - Is this targeting the v1.12 release ( in the code). If so then can you point this to the v1.12 docs branch?

@yannart - Is this targeting the v1.12 release ( in the code). If so then can you point this to the v1.12 docs branch?

Yes, the code is tagged to be in v1.12. However I do not see such doc branch.

@msfussell Thanks for the review, I attended your suggestions. Please just le me know how I can target the branch v1.12 (or feel free to modify the PR)

@msfussell Thanks for the review, I attended your suggestions. Please just le me know how I can target the branch v1.12 (or feel free to modify the PR)

I believe the 1.12 preview branch will be ready once 1.11 is released - correct me if I'm wrong @greenie-msft

Changed target to v1.12. @msfussell @ItalyPaleAle Please check if ok for you.


Josh doc updates

Updated the following in the data-infrastructure Project Setup page:

Set up python virtual environment section: there was an extra numbered bullet which I removed.
Install Python dependencies section: updated poetry install code to include --with dev --no-root and specified the user should be in the data-infrastructure repo folder
Installing pre-commit hooks section: specified the user should be in the data infrastructure repo folder

Also I could not get the third bullet in the "Set up python virtual environment" section to go to a new line successfully in the preview doc. This was already happening in the original version.

Thanks @jkarpen!


ISPN-4077 REST endpoint homepage should point to the correct docs

https://issues.jboss.org/browse/ISPN-4077

Integrated


fix failing test cases

replaced relay addresses with nos.lol and fixed failing test cases

The tests are flaky because relying on external relays for them is wrong, but they often work. Changing here won't help as they will eventually fail with nos.lol too.
A better approach could be to run the tests inside a docker thing that also spins up a nostr-rs-relay or something and then uses that. I don't know, I don't think it's that important.

they won't fail with nos.lol.
by the way, I'm trying to implement mock websocket. will send a PR once it's ready.

Why won't they fail with nos.lol?

I tested and it passed. it's about the response time of the relay. nos.lol is fast enough to pass the tests in our desired time.


Using VK_LAYER_KHRONOS_timeline_semaphore on android with renderdoc

I wanted to use VK_LAYER_KHRONOS_timeline_semaphore to port my existing renderer which uses timeline semaphores heavilly to android. However I've faced on issue where renderdoc is unable to open any capture since the layer isn't globally visible. Does any method exist to make these extension layers visible to renderdoc and other applications in general?

@spencer-lunarg I'm not very familiar with Android usage. Do you have advice?

So I am going to argue that unless we messed up the way the layer is hooked up, this is not a [Vulkan-ExtensionLayer](https://github.com/KhronosGroup/Vulkan-ExtensionLayer) issues

So I am going to argue that unless we messed up the way the layer is hooked up, this is not a Vulkan-ExtensionLayer issues.

since the layer isn't globally visible.

I guess I am not sure what that means, if you are packaging the layer with your app (in the same APK) when you run the app (to capture it) it should be visible
How are you enabling the extension in your app? If you are explicit enabling it at VkInstance creation time, I am not sure why RenderDoc would not be able to see it when it runs

this is not a Vulkan-ExtensionLayer issues

I guess that's true but I asked the same question on the renderdoc side and didn't receive a concrete answer. Also since the layer is supported on android there should be a method to perform renderdoc captures even on rooted devices only.

if you are packaging the layer with your app (in the same APK) when you run the app (to capture it) it should be visible

This is what I'm doing (put the compiled layer library in jniLibs). Renderdoc doesn't see it

If you are explicit enabling it at VkInstance creation time, I am not sure why RenderDoc would not be able to see it when it runs

I'm adding the layer name in ppEnabledLayerNames not sure if there's a more explicit way.

I guess that's true but I asked the same question on the renderdoc side and didn't receive a concrete answer.

Is this a public issue you asked, can you link it, or if it was a private message put the response here, it might be a valid answer, just might assume more deeper understanding of the Android Layer system

I'm adding the layer name in ppEnabledLayerNames not sure if there's a more explicit way.

That is the explicit way, just making sure!

Closing due to inactivity. If more assistance is needed please visit the vulkan discord.

@James2022-rgb (記事を読めた）
One question, is the org.renderdoc.renderdoccmd.arm64 a debug app, can you run-as it as described in
https://developer.android.com/ndk/guides/graphics/validation-layer
@mark-lunarg how is this done with Gfxrconstruct, if you trace an app that is using a VEL layer, how does the gfxrecon-replay app work?

@spencer-lunarg
Thank you.
org.renderdoc.renderdoccmd.arm64 indeed has android:debuggable="true" but the run-as method doesn't seem to work,
which I think is because of this piece of code for RenderDoc:
https://github.com/baldurk/renderdoc/blob/52cfb0e08394b9e95cbbae774644a1271750397a/renderdoc/android/android.cpp#L634-L643
Android::adbExecCommand(deviceID, "shell setprop debug.vulkan.layers :", ".", true);
Android::adbExecCommand(deviceID, "shell settings delete global enable_gpu_debug_layers", ".",
                          true);
Android::adbExecCommand(deviceID, "shell settings delete global gpu_debug_app", ".", true);
Android::adbExecCommand(deviceID, "shell settings delete global gpu_debug_layer_app", ".", true);
Android::adbExecCommand(deviceID, "shell settings delete global gpu_debug_layers", ".", true);
Android::adbExecCommand(deviceID, "shell settings delete global gpu_debug_layers_gles", ".", true);

That is, it undoes all the GPU debug layer settings outlined in the Android Developers article.
(confirmed with adb shell settings list global)

it undoes all the GPU debug layer settings outlined in the Android Developers article.

Wow, ok so clearly this is Renderdoc in a "trust no one" situation
Curious if you have raised this as a concern on the Renderdoc issue yet (curious on Baldur thoughts)

Curious if you have raised this as a concern on the Renderdoc issue yet (curious on Baldur thoughts)

Not on the GitHub repo.
But another person was asking Baldur on the RenderDoc discord on 2022-12-27 whether it was possible to package the layers inside the renderdoccmd APK,
and his answer was that that was not something he was going to do officially.
I mentioned then that I might do some further research into this, but I've only managed to get it working this month.
So I think that's the last time Baldur has ever heard of this issue?


cli.py:31-33: Add support for --repositories and --out...

The puzzle 1-5b932efb from #1 has to be resolved:
https://github.com/h1alexbel/samples-filter/blob/3993e0c109802c61c5674dc4f753053ad39cb3be/objects/cli.py#L31-L33
The puzzle was created by @h1alexbel on 16-Apr-24.
Estimate: 45 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd 2 puzzles #18, #19 are still not solved.

@0pdd 4 puzzles #18, #22, #23, #24 are still not solved; solved: #19.

@0pdd 3 puzzles #18, #22, #24 are still not solved; solved: #19, #23.

@0pdd 2 puzzles #18, #22 are still not solved; solved: #19, #23, #24.

@0pdd 3 puzzles #18, #22, #43 are still not solved; solved: #19, #23, #24.

@0pdd 2 puzzles #18, #22 are still not solved; solved: #19, #23, #24, #43.

@0pdd 2 puzzles #62, #63 are still not solved; solved: #18, #19, #22, #23, #24, #43.

@0pdd the puzzle #63 is still not solved; solved: #18, #19, #22, #23, #24, #43, #62.


fatal: Remote branch 1.0.0 not found in upstream origin

Hey guys I'm trying to install this great library via Cocoapods and I'm getting a fatal error that says, "fatal: Remote branch 1.0.0 not found in upstream origin" below is the full log
Could yo be so kind to tell me if there is a work around for this issues?
Thanks in advance!

Installing SystemServices (1.0.0)
[!] Error installing SystemServices
[!] /usr/bin/git clone https://github.com/Shmoopi/iOS-System-Services.git /var/folders/r2/g26_5z3x19j23dv81rmpyycc0000gn/T/d20151201-51770-jtmznl --single-branch --depth 1 --branch 1.0.0
Cloning into '/var/folders/r2/g26_5z3x19j23dv81rmpyycc0000gn/T/d20151201-51770-jtmznl'...
warning: Could not find remote branch 1.0.0 to clone.
fatal: Remote branch 1.0.0 not found in upstream origin

Hey @dnamicandresg,
Thanks for the heads-up!
For some reason the tag didn't get pushed.  I'll fix it and let you know when it works.  Sorry about that!
Thanks,
Shmoopi

@dnamicandresg,
We've pushed the new tag and it appears to be working.  Let me know if you have any other issues.
Thanks,
Shmoopi


Solves pull/145

https://github.com/danielstjules/Stringy/pull/145/

Appreciate the PR! But I think we'll stick to the current method logic. Thanks!

Oh! Look at me trying to support<EMAIL_ADDRESS>😆
Thanks for not accept that.


Introducing IAwsClientFactory, and WithAwsClientFactory option

This PR addresses issue #131 .
JustSayingFluently  has got a new option WithAwsClientFactory, which allows to pass in custom IAwsClientFactory implementations. This lets control credentials and even service URL by directly configuring SNS and SQS clients.
public class AwsClientFact : IAwsClientFactory
{
        private BasicAWSCredentials credentials;
        public AwsClientFact()
        {
            credentials = new BasicAWSCredentials("keyId", "secret");
        }

        public IAmazonSimpleNotificationService GetSnsClient(RegionEndpoint region)
        {
            AmazonSimpleNotificationServiceConfig config = new AmazonSimpleNotificationServiceConfig();
            config.ServiceURL = "http://localhost:8080/sns/";
            return new AmazonSimpleNotificationServiceClient(credentials, config);
        }

        public IAmazonSQS GetSqsClient(RegionEndpoint region)
        {
            var config = new AmazonSQSConfig();
            config.ServiceURL = "http://localhost:44334/sqs/";
            return new AmazonSQSClient(credentials, config);
        }
    }

Sorry for the longish PR, bulk of the changes are around due to the fact that ISqsClient got deprecated, and Region property was moved from ISqsClient to SqsQueueBase. Otherwise, no functional changes apart from introduction of sqs/sqs factory.

This needs a rebase following the merge of your earlier PR.

This needs a rebase following the merge of your earlier PR.

@dariusdamalakas Out of curiosity, what's your use case for overriding ServiceURL?

@dariusdamalakas Out of curiosity, what's your use case for overriding ServiceURL?

@payman81, sure, rebased.
With modified ServiceURL it is possible to direct JustSaying to a moceked SNS/SQS instances. Not sure whether this is practical, as that would require knowledge of SNS/SQS protocol, but certainly this is an option.
One important feature this PR gives is ability to mock out both SNS and SQS clients, and assert on them. Here's an example from PR 134

@payman81 , i've added one more extra commit - this consolidates all AWS client creation throughout integration tests. Additionally, it is now possible to change the profile under which integration tests are being run by chaning IntegrationTestConfig.AwsProfileName. Currently it is still left as 'default', but I would consider changing this to something custom, such as 'JustSaying.IntegrationTests' or similar.
I have a number of AWS profiles, and I need to switch default profile every time I want to run JustSaying integration tests.


Investigate ways to reduce memory usage

Rust analyzer uses quite a bit of ram, what can we do about it?
Part of https://github.com/rust-analyzer/rust-analyzer/issues/7325
The goal here is to understand where all the bytes go.
Steps:

verify that heavy ItemTrees are reasonable. It still seems to me that item tree shouldn't weight much more that the sourece code. It is less compact, but it stores only items. What is the ratio of text.len() vs total_size_of(item_tree) for each file?
quantity the impact of macros. It feels that macros create a lot of small item trees, how much smaller we'd get if we just don't expand derives/top-level macros which don't include mods?
are there any low hanging fruits?
try spilling item trees to disk. Do not integrate with salsa just yet, only use some quick hack to put them to disk? Maybe just encode and compress in memory? Do we need abomination-friendly item tree structere?
how does the size of IntelliJ indexes(on-disk repr) compares with rust-analyzer's ram

cc @jonas-schievink

cc @jonas-schievink

A significant amount of ItemTree memory is used by path data stored within TypeRefs. I've added simple per-ItemTree interning of TypeRefs, but they still take up considerable space. We should investigate:

Global Arc-based interning outside of salsa
Interning Paths, not just TypeRefs
Optimizing space usage for common usage patterns

For example, single-segment paths without any extra data are very common
Given that expanding macros in type position will likely require duplicating TypeRef, that might be a good way to limit the fallout of the changes to just ItemTree and the code to convert to the HIR TypeRef

Most of my suggestions in https://github.com/rust-analyzer/rust-analyzer/issues/7330#issuecomment-776927543 have now been implemented in https://github.com/rust-analyzer/rust-analyzer/pull/8284

https://github.com/rust-analyzer/rust-analyzer/pull/8433 by @flodiebold

This uses the new interning infrastructure for most type-related things, where it had a positive effect on memory usage and performance. In total, this gives a slight performance improvement and a quite good memory reduction (1119MB->885MB on RA, 1774MB->1188MB on Diesel).

Got curious about how we compare to other similar tools. So I tried comparing rust-analyzer memory usage with running cargo check and with JetBrains on-disk caches of the rust-analyzer project itself. So I did:
rm -rm target && cargo check && cat target/** > target
rm -rf ~/.cache/JetBrains && open CLion and wait for indexing && cat ~/.cache/JetBrains/** > jbcache
cat "rust-analyzer memory with https://serverfault.com/questions/173999/dump-a-linux-processs-memory-to-file" > ramem

Then I compressed each one of those with snappy:
Here's the result:
144M  jbcache
117M  jbcache.sz

1.0G  ramem
142M  ramem.sz

613M  target
316M  target.sz

So it seems like in terms of actual data we store, we are roughly on the right order of magnitude. However, the image of data in memory is really inefficient.

Just for fun, here's memory image of CLion
1.8G  clmem
516M  clmem.sz

It compresses much worse than our image.

Just for fun, here's memory image of CLion
1.8G  clmem
516M  clmem.sz

It compresses much worse than our image.

What's *.sz? Is it some new compression format like *.gz or something?

I guess snappy.


[Vent] Prometheus

We need to output more prometheus metrics from vent like we do in burrow.

We can reopen a more specific ticket if we would like some particular metrics


External loss function raises error on incompatible types

On TensorFlow 2.0 (OS Ubuntu 16.04), when I've an external loss function, the tf.keras.model fit() function call raises an error of incompatible types, whereas the same code on TensorFlow 1.15 does not raise any error and works fine.  The function fit() fails with:
(...)
/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/framework/op_def_library.py in
_apply_op_helper(self, op_type_name, name, **keywords)
    561                   "%s type %s of argument '%s'." %
    562                   (prefix, dtypes.as_dtype(attrs[input_arg.type_attr]).name,
--> 563                    inferred_from[input_arg.type_attr]))
    564
    565           types = [values.dtype]

TypeError: Input 'y' of 'Mul' Op has type float32 that does not match type uint8 of
argument 'x'.

The minimal code to reproduce is:
import tensorflow as tf
from tensorflow.keras.utils import to_categorical
from tensorflow.keras import backend as K

def loss_func(y_true, y_pred):
    y_true_f = K.batch_flatten(y_true)
    y_pred_f = K.batch_flatten(y_pred)
    intersection = K.sum(y_true_f * y_pred_f, axis=1, keepdims=True)
    union = K.sum(y_true_f, axis=1, keepdims=True) \
            + K.sum(y_pred_f, axis=1, keepdims=True)
    return -(2. * intersection + K.epsilon()) / (union + K.epsilon())

(Xtr, Ytr), (Xva, Yva) = tf.keras.datasets.cifar10.load_data()
Xtr, Ytr, Xva, Yva, nc = Xtr[:1000], Ytr[:1000], Xva[:100], Yva[:100], 10
Xtr, Xva = Xtr.astype('float32') / 255, Xva.astype('float32') / 255
Ytr, Yva, ins = to_categorical(Ytr, nc), to_categorical(Yva, nc), Xtr.shape[1:]

model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Input(ins))
model.add(tf.keras.layers.Conv2D(8, (3, 3)))
model.add(tf.keras.layers.Activation('relu'))
model.add(tf.keras.layers.Conv2D(8, (3, 3), activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(tf.keras.layers.Dropout(0.25))
model.add(tf.keras.layers.Conv2D(16, (3, 3), activation='relu'))
model.add(tf.keras.layers.Conv2D(16, (3, 3), activation='relu'))
model.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))
model.add(tf.keras.layers.Dropout(0.25))
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(32, activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(tf.keras.layers.Dense(nc, activation='softmax'))
opt = tf.keras.optimizers.RMSprop(lr=0.0001, decay=1e-6)
model.compile(loss=loss_func, optimizer=opt, metrics=[])

Ytr, Yva = Ytr.astype('uint8'), Yva.astype('uint8') # (1)

model.fit(x=Xtr, y=Ytr, batch_size=32, epochs=1, validation_data=(Xva, Yva))

If I remove line (1) it works on TensorFlow 2.0.

I have tried on colab with TF version 1.15, 2.0, 2.1.0-dev20191124 and was able to reproduce the issue.Please, find the gist here. Thanks!

@andmax
This was resolved in ``tf-nightly(!pip install tf-nightly). Please check the gist here.
You could use tf-nightly for now and in the next couple of months new stable version will be released.Can you please confirm whether we can close this issue as this was resolved.
Thanks!

It has been 14 days with no activity and the awaiting response label was assigned. Is this still an issue?

Looks like it has been resolved


2018 edition

port to 2018 edition
tidy and update code
move module directory structure to 2018 edition style

This is now passing on all the same toolchains as master

Maybe it's duplicate to #408 ?

Maybe it's duplicate to #408 ?

Not really. #408 introduces breaking changes, this pull request is only a refactor with no change to the public API.
Personally I don't think #408 is the way forward anyway, given the way the ecosystem is going, I think when the next breaking changes are introduced, this package should be "async-first", with only the blocking components behind a sync:: facade.

what are your thoughts @seanmonstar?


Android wallet for BCH - balance tab

yo guys!
I can see my balance at any currency in electrum wallet for BTC and it is very useful.
for BCH i use electrum, but it is very hard to understand, how much money in USD or other currency in my wallet.
Every time i want to see my balance in USD, i have to go at "send" tab, select "amount" and push"max" button.

Definitely sounds painful.  I recall this being fixed in the new Android app that is coming.  The existing app will be replaced by the new app.   Closing this because the old app won't be getting changed.  Hope you won't be waiting too long.


Add Fuzz-testing

Is your feature request related to a problem? Please describe.
Fuzz testing or Fuzzing is a Black Box software testing technique, which basically consists in finding implementation bugs using malformed/semi-malformed data injection in an automated fashion.
Describe the solution you'd like
Integrate the project with OSS-Fuzz by following the instructions here.
From fluentd maintainer:
Some input plugins receive data online, so it may be a good idea to add a fuzz test for them first.

https://docs.fluentd.org/input/forward
https://docs.fluentd.org/input/udp
https://docs.fluentd.org/input/tcp
https://docs.fluentd.org/input/http
https://docs.fluentd.org/input/syslog

Describe alternatives you've considered
N/A
Additional context
Part of #4601

/assign

There are some input plugins, but it is good starting point try to tackle from above plugins.
https://docs.fluentd.org/input

There are some concerns integrates with OSS-Fuzz:

No appropriate formal contact e-mail address to reach committers.

It was required: https://google.github.io/oss-fuzz/getting-started/accepting-new-projects/.

Ruby is out-of-scope in this project

https://google.github.io/oss-fuzz/getting-started/new-project-guide/

If I am missing the point, correc me.


missing parameter in DataArray.str.get

While working on #4286 I noticed that the docstring of DataArray.str.get claims to allow passing a default value in addition to the index, but the python code doesn't have that parameter at all.
I think the default value is a good idea and that we should make the code match the docstring.

Similarly str.wrap does not pass on its kwargs
https://github.com/pydata/xarray/blob/7daad4fce3bf8ad9b9bc8e7baa104c476437e68d/xarray/core/accessor_str.py#L654


HTTP Trailers

The 1.1 version of HTTP adds chunked encoding and with it the support to send some headers after the response body.

I'd also like to see this added if anyone has the data...finding a lot of conflicting info out there and I'm looking to use it in some libraries.

Firefox supports HTTP trailers but only for Server-Timing. (Related to #3674)
Chrome supports trailers only on HTTP/2.

I think Chrome supports trailers only to a degree that it ignores them and that they do not break things. They are not available over HTTP2 at all, nor Sever-Timings over HTTP2 trailers appear in DevTools.


cli: Additionally build a "Fat JAR" for the CLI (ON HOLD)

This is useful to get a single JAR file that bundles all dependencies
which an be directly run without any scripts that adjust the classpath:
$ java -jar cli/build/libs/ort-0.1.0-SNAPSHOT.jar

Signed-off-by: Sebastian Schuberth<EMAIL_ADDRESS>

/cc @deeplook

Please consider putting such a fat jar for stable releases into the the GitHub releases section! This would be infinitely more convenient to fetch than anything from JitPack.io.

Please consider putting such a fat jar for stable releases into the the GitHub releases section! This would be infinitely more convenient to fetch than anything from JitPack.io.

That's a different topic, also see https://github.com/heremaps/oss-review-toolkit/issues/1901.

Never to happy with Fat JARs as they miss the required metadata to resolve sources or are missing the licenses. If we add this would it mean we start distributing possibly license incompliant Fat JARs via JitPack.io?

If we add this would it mean we start distributing possibly license incompliant Fat JARs via JitPack.io?

Good point, potentially yes. As the Fat JAR also distributes the dependencies, we'd need to include some kind of disclosure document / NOTICE file into it.

One would assume it should be possible to wrap the fat jar with some meta data and even checksums into some archive, isn't it?

The problem here is not to attach the meta-data but to create the meta-data. Basically, we'd need to run ORT on ORT when building the Far JAR, and use the results to make them part of the Fat JAR (or some wrapping distribution).

Or create the fat jar as part of a "regular" build and then strip unnecessary stuff away for a distributable archive?

Well, I thought your goal is to have the Fat-JAR-CLI downloadable from somewhere, e.g. JitPack. If we let JitPack build (and host) the Fat-JAR-CLI, that's already distribution, and we would need to make it legally sound.

The "regular" build wold still be on your side. But extracting a Jar from an archive is a no-brainer.

If we add this would it mean we start distributing possibly license incompliant Fat JARs via JitPack.io?

Good point, potentially yes. As the Fat JAR also distributes the dependencies, we'd need to include some kind of disclosure document / NOTICE file into it.

@tsteenbe I've worked around this now by not referencing the fatJar task in archives, so JitPack will not create a Fat JAR but users need to run the task explicitly.

@tsteenbe I've worked around this now by not referencing the fatJar task in archives, so JitPack will not create a Fat JAR but users need to run the task explicitly.

@sschuberth  Could you share the details on how this would work?
Not seeing any docs in your commit ... so how could users learn about this?

so how could users learn about this?

I've added a task description so the tasks shows up in the standard ./gradlew tasks. I did not add docs to the README.md as I believe a fat jar is rather an edge case, and the README.md already mentions two ways to run the CLI, so I did not want to add a third one.


Add compression

Looks good, could you correct the alignment issues. Rubocop can fix it automatically. https://github.com/bbatsov/rubocop

Should be re-aligned and squahed.
I couldn't get rubocop working (quickly)...

Superb work :), i squashed your commits.

They were not squashed?

nope, i squashed them on merge. It was easy to do :+1:

Yes but I thought I squashed them before last push ... Have to find out what went wrong then!

I do see only one single commit here: https://github.com/puppetlabs/puppetlabs-netscaler/pull/186/commits
Care to explain what 'squashing' means? Maybe I'm confused :-)

https://github.com/puppetlabs/puppetlabs-netscaler/commit/977daad148aa53fc56e3b8259abbd44ad349695f is the commit hash, i merged the commits into one. I took the 2 commit message into one.
There is no issue. Try it again for #181

https://git-scm.com/book/en/v2/Git-Tools-Rewriting-History#Squashing-Commits

Yes, that is what I did ... Anyway, I'll try again with the others :-)
I'm writing scripts to generate the type+provider from Citrix' documentation. Another tool to generate puppet manifest files from 'show run' output. Should I include those with this repo? If so, where?


Failed tests logged to stderr?

We use this module a lot. Thanks for making it!
Would it be possible to log failed tests to stderr? If yes, then I will happily make a pull request, otherwise I'll do our own fork. But I would rather do it here.

@ebdrup Do you still need this? i feel like a change like this would need to be option controlled (off by default), since people probably expect errors to be printed on stdout

Yep still need it 😀

Den 25. feb. 2018 kl. 08.52 skrev Jamie Sherriff<EMAIL_ADDRESS>@ebdrup Do you still need this? i feel like a change like this would need to be option controlled (off by default), since people probably expect errors to be printed on stdout
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Merged into 2.3.0 release by #42


Fixed typos

Coverage remained the same at 56.726% when pulling 6a1f5d2d7565c682fadd8af4718fde1ba92337c9 on radarhere:master into 76509a1011fa4da6644ec2a1627dc58853569378 on arthepsy:master.

Hehe, this is what happens when one types fast. Thanks for the typo fixes!


Bring styles and javascript into django

This PR relates to the Trello Ticket "Bring all SASS/CSS and JavaScript into Django"
The tasks are:

[x] Bring SASS/CSS across
[x] Populate title tag (using a configuration value for the service name)
[x] Fix breadcrumbs
[x] Introduce WebFonts that are used in the Flask app
[x] Introduce level 1 heading in search results page
[x] Add jQuery as dev dependency for Node
[x] Add service name to heading on home page
[x] Add updated header to HTML for static pages (Terms of use and Open Justice License)

@gtvj A tip: run pre-commit run --all-files to run the linter locally, it should auto-fix any errors!

The current approach to page titles and breadcrumbs feels pretty sub-optimal (just thinking from the longer term maintenance perspective). It feels like:

Page titles should be passed through to the template from the view, and the value should be shared by both the <h1> and interpolated into the <title> (with "- Find case law" appended)
"Find case law" should be a configuration value - it's currently replicated across multiple templates twelve times
The page-header__breadcrumb component should be extracted to an include that can be shared across templates (that makes use of the "Find case law" configuration value and Page title, conditionally showing the third item).

I did consider having a go at this but found TemplateView.as_view wasn't keen on taking variables.
Would be good to know what @lozette @LewisDaleUK @Floppy @LornaHarwood think about these proposals (they could be picked up in a separate PR / Trello ticket if everyone agrees).

@gtvj Happy for have those bits put into a new card! We definitely need to configure some general site settings.

Thanks @lozette - I've created a card in Trello here: https://trello.com/c/hq8jIu50


quick fix for issue #60887

This fixes #60887 although is does not fix the underlying problem that the TileSetAtlasSourceEditor does not work if it has no source. Right now there is no way to properly remove the tile_set_atlas_source of TileSetAtlasSourceEditor. I think it would be better to change TileSetAtlasSourceEditor so that the tile_set_atlas_source_id can be set to -1 to indicate that no source is selected. Since this would require a lot of functions to be changed I think it would be better if somebody else did that because this is my first issue.

What do I have to do to pass these static checks?


It should be possible to hide the select row and select column buttons

Experienced users would benefit because you can already click on  the cell containing these buttons and it has the same effect, just less clutter and more space on the screen.

They should not be shown at all. Selecting row/column by clicking on the header is a common UX choice that everyone is familiar with.

It's now a setting (although in code)


Translate Cart and Checkout Pages

Can you reproduce this issue on default Wordpress theme (eg Storefront)?
Can you reproduce this issue when all other plugins are disabled except WooCommerce, Polylang and Hyyan WooCommerce Polylang Integration?
What product versions and settings are you using when this issue occurs?

PHP: 7.2
WordPress: latest
WooCommerce: latest
Polylang: latest
Hyyan WooCommerce Polylang Integration: latest
Browser: not relevant

Steps to Reproduce

visit my site
switch to spanish
go to checkout

What I Expected
All test is on spanish
What Happened Instead
Lots of text is on english
WordPress Environment

```
Copy and paste the system status report from **WooCommerce > System Status** in WordPress admin here.
```

Please include the version numbers and the WooCommerce status report.
Please answer the first two questions

Actually, the problem was solved by itself. It is working now. I do not know, what did the trick.


Looking forward to code, please

+1, please

+1 please

+1 please

+1 please

Will the code be provided soon?

+1 please

+1 please


Move main block from partials to view templates

Description
main block is general for all pages.
It should be moved to general templates.
This also will provide the ability to re-use form partial for the modal dialog
at task list view.
DoD

[ ] main block is removed from all partials
[ ] main block add to {type}_view templates

Would not be fixed.


[backup] smoke test

Motivation
Smoke test the DB backup toolchain.
Have you read the Contributing Guidelines on pull requests?
Y
Test Plan
 cargo x test -p testsuite -- --test smoke_test::test_db_restore --nocapture
Related PRs

/land

:lock: Merge Conflict

/land


Adding "self_video" and "self_video" to VoiceState in structs.go

Currently it is not possible for the user to retrieve camera or go-live activity in a guild's voice channel (by using .Guild.VoiceStates), although discord allows this as documented here.
This PR should  fix that.

done although the spacing is weird now since selfstream is so long

You should run gofmt to adhere to Go formatting conventions.

you should run go fmt

You should explain in your PR description what this change does and why it necessary, as pointed out by our contributing guidelines.

Added the PR's description, but the commits do indeed have descriptions


Correct Netcdf variable attributes

The netcdf attributes do not match those given by @jbladant scripts

closed with #98


Support font color in theme

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
https://docs.ensembleui.com/theme-and-styling/theme#text-styles-are-automatically-inherited-unless-overriden
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@amin-nas can you help provide @sagardspeed2 with some examples YAML for setting global text color?


Tired Gremlin Nob - Add three random sets of debuffs at battle start for him

The Art of War book recognizes nine varieties of ground. A fight in one situation is a done puzzle, a fight in three different situations is three done puzzles.
Because of it, adding a random element choosing one of three different debuff sets the Tired Gremlin Nob has at start would be cool to improve the amount of surprises and thinking that that fight calls for.

At this point, it's also not thematic and too much work.


Typo in code

"DeviceInformation devInfo = deviceInformationCollection[midiOutPortListBox.SelectedIndex];"
While going over input devices it refers to the 'midiOutPortListBox'. I believe this shoudl be 'midiInPortListBox'.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 90265caf-b1af-f015-674a-a015e3a35d65
Version Independent ID: bf193eb6-cd09-7538-12ef-da3cd0188e8d
Content: MIDI - UWP app developer
Content Source: windows-apps-src/audio-video-camera/midi.md
Service: unspecified
GitHub Login: @drewbatgit
Microsoft Alias: drewbat

Thank you for catching this error. This has now been corrected.


[DOC] Add OpenSearch Dashboards index pattern and scripted field documentation

What do you want to do?

[ ] Request a change to existing documentation
[x] Add new documentation
[ ] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request and all versions that are affected.
Index patterns are a fundamental OpenSearch Dashboards concept, because they're the primary method for specifying how to fetch data. Index patterns can be created and managed through the UI: https://playground.opensearch.org/app/management/opensearch-dashboards/indexPatterns
This index pattern management UI contains many links to documentation that doesn't exist and that we should create.
1. A documentation page about how to add data to OpenSearch from OpenSearch Dashboards
(docLinks.links.noDocumentation.addData)
The link appears in the initial index pattern management prompt when no data has been loaded.
https://user-images.githubusercontent.com/1679762/228623243-56212619-7aa0-46d1-aead-cbb6b52312f1.mov
2. A documentation page that introduces the concept of index patterns
(docLinks.links.noDocumentation.indexPatterns.introduction)
One link appears in the initial prompt for index pattern management when no index patterns exist, but multiple datasource feature is enabled.
https://user-images.githubusercontent.com/1679762/228623222-fe27939f-ed37-4bd0-a25e-f6e8f09c84dd.mov
Another link appears on the form for creating a new index pattern

https://user-images.githubusercontent.com/1679762/228623253-a03b19b3-4c76-4bcb-9a10-fef11453348a.mov
3. A documentation intro page about scripted fields
(docLinks.links.noDocumentation.scriptedFields.painless)
Subtopics or subpages should cover

3a. The concept of scripted fields (docLinks.links.noDocumentation.scriptedFields.scriptFields)
3b. Limitations of scripted fields in aggregations (docLinks.links.noDocumentation.scriptedFields.scriptAggs)

Links appear when editing or creating a scripted field
https://user-images.githubusercontent.com/1679762/228623265-8bdf8790-33b2-4b29-a944-525145f154c4.mov
4. A documentation intro page about the Painless scripting language
(docLinks.links.noDocumentation.scriptedFields.painless)
Subtopics or subpages should cover

4a. The Painless Java API (docLinks.links.noDocumentation.scriptedFields.painlessApi)
4b. The Painless syntax (docLinks.links.noDocumentation.scriptedFields.painlessSyntax)
4c. Lucene expressions (docLinks.links.noDocumentation.scriptedFields.luceneExpressions)

Links appear in flyout when clicking "Get help with the syntax and preview the results of your script." when editing or creating a scripted field
https://user-images.githubusercontent.com/1679762/228623268-3fd5d226-9a33-4437-8f76-4da8d4b0f530.mov
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
Customer request: https://github.com/opensearch-project/OpenSearch-Dashboards/issues/3309
Part of https://github.com/opensearch-project/documentation-website/issues/1853

From https://github.com/opensearch-project/documentation-website/issues/1853#issuecomment-1464798590, @vagimeli proposed:
scriptedFields: {
scriptFields: https://opensearch.org/docs/latest/api-reference/script-apis/index/,
scriptAggs: https://opensearch.org/docs/latest/aggregations/pipeline-agg/,
painless: https://opensearch.org/docs/latest/api-reference/script-apis/exec-stored-script/,
painlessApi: https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/,
painlessSyntax: https://opensearch.org/docs/latest/data-prepper/pipelines/expression-syntax/,
luceneExpressions: https://opensearch.org/docs/latest/search-plugins/knn/filter-search-knn/,
}

But none of these docs are really sufficient or appropriate for providing the info a user would be looking for in these cases.

@joshuarrrr: Would index patterns and scripted fields be specific for Dashboards or is it relevant for OpenSearch core as well?

My understanding is that index patterns are a dashboards-specific concept. But I believe scripted fields are more general and can be used from the CLI and directly with OpenSearch. But I'm only familiar with the Dashboards-specific content for them.

Another related forum question: https://forum.opensearch.org/t/how-to-create-index-pattern-through-dashboards-api/13928/2


Phpunit tests fail on master branch

I'm submitting a ...

[x] bug report
[ ] feature request
[ ] support request
[ ] other (Please specify)

Before submitting a PR for #356, there is an issue to be fixed, otherwise the PR for #356 would make the build failing on Travis.
If we follow these steps locally, the build fails on phpunit and returns this error:
git clone https://github.com/jadjoubran/laravel5-angular-material-starter.git
cd laravel5-angular-material-starter
composer install
// set database env in .env
php artisan clear-compiled
php artisan optimize
php artisan key:generate
php artisan jwt:generate
npm install -g gulp bower && npm install && bower install
php artisan migrate --force && gulp
vendor/bin/phpunit

Phpunit will comlain:
Warning: Uncaught exception 'ErrorException' with message 'require(../angular/critical.css): failed to open stream: No such file or directory' in /private/tmp/laravel5-angular-material-starter-compposer/storage/framework/views/299651b84c1d7e1a724e97a14846d9c6a4d554e7.php:17

On Travis, the build passes because the "../angular/critical.css" refers to the Travis cloned repo and not the composer create-project repo inside it ! So, the file is found in the upper folder and so the build passes ! These two directory levels on Travis build will be removed after #356 fix.
The fix is to be made on that line I suppose (index.blade.php: 17)
<style><?php require("../angular/critical.css") ?></style>
Important: even if phpunit fails, the applications runs well (with php artisan serve).
I'll submit the PR on #356 once all phpunit tests run successfully.
Question:
How do you tell Packagist that the current stable version is tagged 3.2.1 ? (and not the one on master branch)

Laravel & Angular version: master branch

Are you sure it's failing on master? It's all green here
Packagist considers the latest tag to be stable (unless it had a beta or alpha in it). It never considers master as stable

@jadjoubran, it is all green for the reason I've explained:

On Travis, the build passes because the "../angular/critical.css" refers to the Travis cloned repo and not the composer create-project repo inside it ! So, the file is found in the upper folder and so the build passes ! These two directory levels on Travis build will be removed after #356 fix.

We have something like this:

laravel5-angular-material-starter (git clone)
angular

critical.css

server.php
...
laravel5-angular-material-starter (composer create-project, phpunit is run here !)

angular

critical.css

server.php

require("../angular/critical.css") inside laravel5-angular-material-starter/laravel5-angular-material-starter finds critical.css inside laravel5-angular-material-starter/angular/critical.css and not laravel5-angular-material-starter/laravel5-angular-material-starter/angular/critical.css as it "should".
So the test passes !
Try to run phpunit on your locally cloned repo, it will fail.
The require("../angular/critical.css") has to be fixed.
I hope it is clear now

I probably overcomplicated things on my application.. but I created a whole new task for my critical .scss file and compile it first into public/css... then I require it inside of my index file using:
This way I can use sass in my critical CSS... and I don't have a random *.css file sitting inside of my angular directory all by itself.
<!-- Critical CSS (Applied Immediately) -->
<style type="text/css">
<?php require( public_path( "css/critical.css" ) ) ?>
</style>

@chihab okay it makes sense now, thanks!
@hackur what you're mentioning is actually quite interesting..
being able to use sass is useful mainly because they give us access to the variables.. (mainly for theming)
and it seems this also solves the issue mentioned by @chihab
Would you be able to send a PR for that? Or just open a new issue and describe the process so I can replicate it

@jadjoubran, could you please explain what is the purpose of that critical.css and its require ? I see that it includes some app-shell style definitions, probably related to pwa then..

@chihab yes indeed, this is concerned with the app shell
It is inlined so that it doesn't block critical path rendering
That's also why the main script is loaded with async and the main styles are dynamically injected
this allows to display the app shell in under than 1s (under 300ms on fast connections)

@jadjoubran why not simply inline app-shell css in the html ? Without an external critical css file and a need to require it in some way.
    <style>
    body{
        margin: 0;
    }
    #app-shell-header{
        background-color: white;
        height: 64px;
    }
    #app-shell-header img{
        padding: 13px 0;
        margin-left: 5%;
    }
    #app-shell-content{
        background-color: #00A4C6;
        min-height: 600px;
    }
    </style>

If there is really a need to make it external, for design purpose, maybe using a gulp css inlining task like https://www.npmjs.com/package/gulp-inline-css would solve the problem I guess.

@chihab yeah it used to be simply inlined in the HTML, but I thought about moving it to a different file for the developer experience.. especially when the shell code goes slightly larger than this
gulp-inline-css wouldn't help because that's mainly useful for emails.. we don't need to change the "style" attribute of elements
btw wouldn't @hackur's suggestion work? using public_path() helper
and then I liked his idea because converting this critical.css file into scss will allow us to use the same variables that we have (mainly the color variables)

Okay @jadjoubran  it makes sense. :)
Following @hackur 's solution, we would have this then on gulpfile (along with the public_path on require)
        .sass('./angular/**/*.scss', 'public/css')
        .sass('./angular/critical.scss', 'public/css/critical.css')

The critical would be renamed to critical.scss.
If we'd like to move critical.scss to material folder we would have to the some wildcard playings to exclude it from the first .sass call.
If that solutions suits you, I'll make a PR on that issue.
Really want to send a PR for Travis issue #356 , the current CI builds are confusing.

Yes looks great 😄 except for one issue, it seems that crucial.scss will be processed with the regular sass task.. which is not what we want
critical css should be only inlined, and not included in the final.css
So even without moving the critical to the material folder, we need some way to exclude it.. !angular/critical.scss might work
Thanks for your contribution 😄 Your PR is more than welcome

Oh yes, I see, I'll try to send the two PRs today. :)

re-opened to fix issues discussed in #356


Error when compiling sample app using Spring-boot 2.4.9 and Spring-cloud 2020.0.3: 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-security:jar is missing. @ line 32, column 21

Description:
When compiling micro services sample app, change of maven libs from:
spring-boot: 2.3.8.RELEASE -> 2.4.9
spring-cloud-dependencies: Hoxton.SR10 -> 2020.0.3
error is thrown:
[ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-security:jar is missing. @ line 32, column 21
Based on the compability matrix spring-boot 2.4.x should work with spring-cloud 2020.0.x (https://spring.io/projects/spring-cloud).
Github:
https://github.com/SaiUpadhyayula/springboot-microservices-project
Steps to reproduce:

clone & compile
git clone https://github.com/SaiUpadhyayula/springboot-microservices-project
cd springboot-microservices-project/api-gateway-service/api-gateway-service/
mvn clean install # no error while compiling

change spring-boot version from 2.3.x to 2.4.x
FROM
<version>2.3.8.RELEASE<version>
TO
<version>2.4.9<version>

change spring-cloud-dependencies version from Hoxton.x to 2020.0.x
FROM
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
TO
<spring-cloud.version>2020.0.3</spring-cloud.version>

compile changed project
mvn clean install #error while compiling
[INFO] Scanning for projects... [ERROR] [ERROR] Some problems were encountered while processing the POMs: [ERROR] 'dependencies.dependency.version' for org.springframework.cloud:spring-cloud-starter-security:jar is missing. @ line 32, column 21@

Workaround:
add version to spring-cloud-starter-security:
<version>2.2.5.RELEASE<version>
No more compile error.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.


Fix comment in unittest for std.array.Appender

This unittest originally checks the UFCS hijacking problem between object.clear function and Appender.clear method but the former was removed in D-Programming-Language/druntime#1202.
Now it only checks that Appender.clear is not supported for immutable and const element types.

Auto-merge toggled on

Thanks!


Needed #include  to fix compile error on "std::isnan(value)".

I also get two compiler warnings:
moving a local object in a return statement prevents copy elision [-Wpessimizing-move]	cpc_sketch.hpp	/sketches-core-cpp/cpc/include	line 385	C/C++ Problem
moving a local object in a return statement prevents copy elision [-Wpessimizing-move]	cpc_sketch.hpp	/sketches-core-cpp/cpc/include	line 483	C/C++ Problem
Please check.

But clang is what the makefile specifies: config.mk line 5.

Yes, and you can fairly trivially modify it to use g++ instead. We'll ultimately want to have a configure script that auto-detects the default compiler, I suspect.

This seems to be outdated. I think we are good in master now


nvdiffrast_plugin

i have installed nvdiffrast==0.3.1,
while runing error:
ImportError: DLL load failed while importing nvdiffrast_plugin: 找不到指定的模块
i use glctx = dr.RasterizeCudaContext() instead of dr.RasterizeGLContext()
my env is:
win10 +py3.9+torch1.13+cuda11.7+cudnn8.5+ A6000

i have installed nvdiffrast==0.3.1, while runing error: ImportError: DLL load failed while importing nvdiffrast_plugin: 找不到指定的模块
i use glctx = dr.RasterizeCudaContext() instead of dr.RasterizeGLContext() my env is: win10 +py3.9+torch1.13+cuda11.7+cudnn8.5+ A6000

I think this is an issue related to nvdiffrast, please refer to the original repository for installation guidance.


Kubernetes / containers: Advise adjusting GOMAXPROCS based on cpu requests/limits

Currently, our docs on using Cockroach with Kubernetes mention CPU requests and limits:
https://www.cockroachlabs.com/docs/v20.2/kubernetes-performance#resource-requests
The same knobs also exist in all cases of running Cockroach in cgroup-driven clusters (eg. Docker), but for simplicity I'm going to use k8s as an umbrella term to refer to all container-based setups with CPU resource limiting in this issue.
Our docs make little reference made to the need to adjust the GOMAXPROCS environment variable based on either setting. The Cockroach process has visibility into CPU limits when it reports CPU usage percentages (since cockroachdb/cockroach#56461), however it doesn't adjust GOMAXPROCS on its own based on CPU limits. Furthermore, the cockroach process cannot calculate the percentage of all CPU shares in the parent cgroup that it has access to, as it doesn't have visibility into the shares given to other sibling cgroup controllers / k8s pods.
If GOMAXPROCS is higher than the CPU limit set, then some goroutines will get scheduled for execution by the Go runtime but will then have to block for one of the (fewer) available cpus to be ready to execute it, resulting in degraded concurrent performance.
Similarly, for CPU requests, let's say if there are 8 CPUs on a machine, and there are 4 pods that all request the same CPU request amount, each pod would get 25% of CPUs (so ~2 cores or core-equivalent runtime) when all pods are maxing out CPU utilization. If such a workload persists for a while, and GOMAXPROCS is greater than 2, then it's possible for performance to be less ideal than if GOMAXPROCS was right at 2.
The ideal GOMAXPROCS setting is going to vary based on the workload, but it's probably a good idea to advise setting it to something like this:
GOMAXPROCS = floor(num_cores * min(cpu_limit_ratio_for_this_container, 2 * cpu_share_ratio_for_this_container))

The 2 * is there to allow for some burst utilization, in cases where cpu requests are much lower than cpu limits.

Assigning @taroface for now, feel free to re-assign as appropriate

Discussed offline - @itsbilal to fish out how this is computed in CC, as an example best practice.

Had a conversation with CC engineers, seems like I was mistaken on CC adjusting for this. cockroachdb/cockroach#57390 is what they expect Cockroach to do in this situation, so I've gone ahead and implemented it. The advice outlined in this issue would still be necessary for all users of containers, especially those that use cpu weights/shares.


Aletr message when uppercase letters are given

@titay2 you can add closes #64 to the description of this pull request. When we merge the PR, then #64 gets closed automatically :)


Allow specifying glottolog repos dir with environment variable

This would be very helpful
export GLOTTOLOG=/home/simon/data/glottolog

I'd vote for GLOTTOLOG_REPOS or even GLOTTOLOG_REPOSITORY. Ok?

Yep, may as well be most specific  e.g. GLOTTOLOG_REPOSITORY

I think, I'll do this by adding a __envvar__ attribute to clldutils.apilib.API, so that the mechanism is then also availabe for other repository APIs.

Ideally, the name of the environment variable could be inferred somehow - but we already have some inconsistency here with glottolog, concepticon-data and Grambank. So I guess explicit is better than implicit - and we don't even provide a fallback name.

OTOH, isn't adding
alias myglottolog='glottolog --repos=/home/simon/data/glottolog'

to .bashrc somewhat equivalent to defining an environment variable?

_REPOSITORY?
Re alias vs env var, that's true and I can use that to save you work, but an env variable is more flexible e.g.
export GLOTTOLOG_REPOSITORY=.../3.4 && glottolog newick utoa1244 > utoa1244-3.4.nwk
export GLOTTOLOG_REPOSITORY=.../3.3 && glottolog newick utoa1244 > utoa1244-3.3.nwk

....although my example may have just talked me out of it -- it's just as easy as:
glottolog  --repos=..../3.3 newick utoa1244 > utoa1244-3.4.nwk
glottolog  --repos=..../3.4 newick utoa1244 > utoa1244-3.4.nwk

Yes, I think this is really just about ad-hoc shell usage convenience. As soo as you write something in a script, I'd prefer explicitly including repository locations in the script as well.

And in your particular case, you could also have just one repos location and
git checkout vX.Y

in between newick runs.

And the problem with making ad-hoc shell usage more convenient is that for just occasional use, being explicit is even more important. E.g. after experimenting with environment variables, aliases and config files for this kind of thing, I always got confused - in particular when things just seemed to work, but not quite.

yeah ok, I'll close and reopen if it bothers me enough in the future.


Multi-Threading NOT working properly

So, I noticed it has the AmountOfAssetsToProcess but all that does is omit the amount of files assigned to that value but it also passes them to the Imported folder which is a False Positive since they didn't import, also the last File on my Filename Array didn't import … I'm trying to see if I can fix all of this issues my self and send you a pull request, but if you know how to fix those issues or maybe have a local change to fix them please let me know
-Fernando

thanks, Ill let you know if I find a solution, really powerful tool you made

Should be resolved now. Closed.


Adds Valkey

After talking with @byroot at RailsWorld last week, I thought I'd add an explicit mention to this client about Valkey support.
Not sure if we need to do anything more meaningful to back this up, but I'm glad to do it myself or find the resources if we do.

There's also DragonflyDB, KeyDB, and several others. I would suggest something more like "anything that quacks like Redis".

Yep, I'm currently editing the changes to do something along those lines.

Thanks @stockholmux !


Java code giving error

I was using these API for automaticaly place orders. But today start getting following error.
java.lang.RuntimeException: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type com.studerw.tda.model.account.RequestedDestination from String "C2": not one of the values accepted for Enum class: [NASDAQ, CBOE, C_2, ISE, NYSE, BATS, AMEX, PHLX, BOX, AUTO, INET, ECN_ARCA]
at [Source: (BufferedInputStream); line: 9265, column: 28] (through reference chain: java.util.ArrayList[235]->com.studerw.tda.model.account.Order["requestedDestination"])

Hi @ajaythukral
Can you make sure you're on the latest release i.e. change to 2.4.2.
This issue was likely fixed a few years ago. See this issue 48.
Let me know if that works, and I can close this issue. Otherwise, we can investigate further.

I will close this issue soon if you aren't still getting errors after upgrading.

I am not getting any errors. Its closed
On Sun, Jun 18, 2023 at 1:45 PM William Studer @.***>
wrote:

I will close this issue soon if you aren't still getting errors after
upgrading.
—
Reply to this email directly, view it on GitHub
https://github.com/studerw/td-ameritrade-client/issues/61#issuecomment-1596235045,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACSA7UWDUAHT5Q5V35QOXVDXL5EF3ANCNFSM6AAAAAAY7XWZOE
.
You are receiving this because you were mentioned.Message ID:
@.***>


Custom pos & len calculation

I am using progress bar like so:
const COUNT: usize = 200;

let count = /* ... */;
for offset in (0..count).step_by(COUNT).progress_with_style(
    ProgressStyle::with_template(
        "[FOR {elapsed} / ETA {eta}] {wide_bar} {pos}/{len} ({percent}%) {msg}",
    )
    .unwrap(),
) {
    send_request(..., offset, ...);
}

I am sending requests to an API with pagination mechanic with offset and count, so that I can retrieve COUNT items each response. (0..count).step_by(COUNT) is helping with that. But this way progress bar displays numbers COUNT times smaller. It would be very helpful if I could set custom pos & len calculation for ProgressStyle. Maybe like so:
    ProgressStyle::with_template(
        "[FOR {elapsed} / ETA {eta}] {wide_bar} {pos}/{len} ({percent}%) {msg}",
    )
    .unwrap()
    .with_pos(|pos| pos * 200)
    .with_len(|len| len * 200),

So this seems pretty specific to the iterator-based API, since the underlying ProgressBar API makes it pretty easy to initialize len and use inc() to increase the position in larger steps.
Do you want to submit a PR for this? I'm afraid this is a bit too niche for me to spend much time on.

Sure, if you're fine with API I proposed.

Seems okay.


Transfer user data to associated coach

Data from individual users on the mobile app should be transferred to the coaching dashboard so the coach can view them

Successful push notifications from coaching dashboard to mobile app.
Works when app is foreground, app is background, and app is killed.
Update Expo to 51 and other dependencies.
Removed expo/webpack-config that wasn't being used and caused errors during expo update
Modified app.json

To Do:

Add link to invite notifications to enable permissions to coaches.


fix resourcedetail params

Removing $route.params from the list page was causing all the data in that page dependent on params to be computed incorrectly e.g. hasCustomListComponent always returns false
The create/edit routing bug appears to be from doneParams in ResourceDetail — used to redirect after cancel/create/save in create-edit-view —  which was computed using the current page's route params, including namespace and id. Filtering these out ensures that the router action to return to list view does not include any create/edit/view-specific params

I didn't really get how the previous change still functioned but @codyrancher said it worked.  Can you two test this and convince each other it works and solves both the previous & current problems?

So it appeared to only be breaking custom list pages which I hadn't verified. It was doing so because I didn't redefine resources.
The reason the rest of the pages work is because vue-router will pull the current route's params based on the params defined in the current route's definition.
I thought Nany's solution was totally appropriate so I merged it.


[IMP] flake8: Add F401 ignore configuration directly in .flake8

As flake8 > 3.7.0 supports per-file-ignores options, use it directly
in .flake8 configuration file

@sbidoul

Nice simplification.


Bug in RefineNestedAccess and SDFGState._read_and_write_sets()

During the implementation of the new MapFusion transformation it became necessary to reimplement _read_and_write_sets() there several bugs were discovered and fixed. However, one bug could not be fixed that is related to how the read set is cleaned.
If the following patch is applied
From f61d4e142b2b2097250b77e5b56b636b67ac9219 Mon Sep 17 00:00:00 2001
From: Philip Mueller<EMAIL_ADDRESS>Date: Fri, 6 Sep 2024 15:23:59 +0200
Subject: [PATCH] Undo the compatibility mode in _read_and_write_sets

---
 dace/sdfg/state.py | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/dace/sdfg/state.py b/dace/sdfg/state.py
index 23ac2f763..0c912d4d1 100644
--- a/dace/sdfg/state.py
+++ b/dace/sdfg/state.py
@@ -791,16 +791,6 @@ class DataflowGraphView(BlockGraphView, abc.ABC):
                 # Filter out memlets which go out but the same data is written to the AccessNode by another memlet
                 for out_edge in list(out_edges):
                     for in_edge in in_edges:
-                        if out_edge.data.data != in_edge.data.data:
-                            # NOTE: This check does not make any sense, and is in my view wrong.
-                            #   If we consider a memlet between two access nodes, to which access
-                            #   node the `data` attribute of the memlet refers to is arbitrary and
-                            #   does not matter. However, the test will filter _some_ out but not
-                            #   all. See also the tests inside `tests/sdfg/state_test.py` for the
-                            #   wrong behaviour this check induces.
-                            #   This check is is retained for  compatibility with `RefineNestedAccess`,
-                            #   see `tests/numpy/ufunc_support_test.py::test_ufunc_add_accumulate_simple`.
-                            continue
                         if in_subsets[in_edge].covers(out_subsets[out_edge]):
                             out_edges.remove(out_edge)
                             break
--
2.46.0

then tests/transformations/move_loop_into_map_test.py::MoveLoopIntoMapTest::test_apply_multiple_times will fail with an invalid SDFG error. The bug is probably located somewhere inside RefineNestedAccess.
Since the regression test (see below) respect the bug it will also fail, in addition tests/transformations/move_loop_into_map_test.py::MoveLoopIntoMapTest::test_more_than_a_map will also fail, because now a transformation, that was previously classified as not applicable, became applicable (actually here I am not sure, but since my regression tests show that the old implementation is not correct, I am pretty positive).

Commit introduced the backward compatibility
Commit introducing regression tests

After I merged master into the new-map-fusion branch some tests that were previously failing (if the bug described here is fixed) no longer failed, thus in commit 5c49eee66 I removed the check, the tests should now still pass.

See also commit e1f2bf6 for an example where this behaviour is kicking in.

Prune connectors is one of the transformations that has repeatedly caused problems and I believe is not currently used because of it. Maybe we should deprecate or fix @phschaad ?

Do you mean RefineNestedAccesse or PruneConnectors.
My comment about the commit was that now PC was behaving the old way, i.e. should an input connector be pruned or not.

Prune connectors is one of the transformations that has repeatedly caused problems and I believe is not currently used because of it. Maybe we should deprecate or fix @phschaad ?

If PC is indeed the issue, I would vote for fixing since I understand that it still serves a purpose, but to be honest I am not very familiar with either PC or RNA..

@lukastruemper Has made some fixes to the transformation, he can probably give more insights.


Create RestockRigidLegs.netkan

Add RestockRigidLegs to the NetKAN repository.

Would the URL to the .netkan be better as:
https://raw.githubusercontent.com/PorktoberRevolution/ReStocked/master/CKAN/ReStockRigidLegs.netkan ?
If so, would it also be better to then change ReStock and ReStockPlus to this style of URL rather than those that they currently have?

The problem wasn't the form of the URL, it's that it was a 404.

Thanks for the update!


Documentation field Roadmap?

is there any roadmap for the documentation field?
Thinking: support of Markdown, multi-line/CDATA?
Is there any preference to storing Documentation directly in the BPMN file or storing in external files and have a link inside of the BPMN?
Thanks

State of the union: The documentation field is accessible / editable for all BPMN elements.
We do not have any any Roadmap evolving the documentation beyond that point. Depending on your use case it might make more sense to store the documentation in an external place and simply link it from the documentation field.
Markdown support for documentation sounds like an interesting feature because it solves simple layouting / external links nicely.
A few issues I can think of here:

users should be able to use markdown on an opt-in basis (default should remain plain text)
users should be able to switch between view / edit mode
footprint should remain small

We appreciate a PR on this.
Closing this ticket for now, as we do not plan to do anything here in the near future.


[AIRFLOW-219][AIRFLOW-398] Cgroups + Impersonation support

Submitting on behalf of @plypaul
Please accept this PR that addresses the following issues:

https://issues.apache.org/jira/browse/AIRFLOW-219
https://issues.apache.org/jira/browse/AIRFLOW-398

Testing Done:

Running on Airbnb prod (though on a different mergebase) for many months

@plypaul @artwr @mistercrunch @bolkedebruin
Credits:
Impersonation Work: @georgeke did most of the work but @plypaul did quite a bit of work too.
Cgroups: @plypaul did most of the work, I just did some touch up/bug fixes (see commit history, cgroups + impersonation commit is actually @plypaul 's not mine)

Current coverage is 66.24% (diff: 65.02%)

Merging #1934 into master will decrease coverage by 0.31%

@@             master      #1934   diff @@
==========================================
  Files           135        138     +3
  Lines         10181      10333   +152
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           6776       6845    +69
- Misses         3405       3488    +83
  Partials          0          0

Powered by Codecov. Last update 2306892...f46acbc

Hey great work on this, but at the moment it does not seem very clean. It seems to contain multiple functional changes and it misses documentation. As running as another user has security implications I would expect some thoughts on the approach.
Maybe it is smart to split up between the cgroups and impersonation?
That being said, I'm really excited that this is getting traction.

@bolkedebruin
There were a lot of merge conflicts rebasing the changes on master so this might be a bit tricky to split into two PRs though I agree with you in principle. Would be very happy filling in any missing gaps in the PR though.
As for documentation there is this:
Airflow has the ability to impersonate a unix user while running task
 instances based on the task's ``run_as_user`` parameter, which takes a user's name.

 *NOTE* For impersonations to work, Airflow must be run with `sudo` as subtasks are run
 with `sudo -u` and permissions of files are changed. Furthermore, the unix user needs to
 exist on the worker.

 Subtasks with impersonation will still log to the same folder, except that the files they
 log to will have permissions changed such that only the unix user can write to it.

 *Default impersonation* To prevent tasks that don't use impersonation to be run with `sudo` privileges,
 you can set the `default_impersonation` config in `core` which sets a default user impersonate
 if `run_as_user` is not set.

But I can add any pieces you think are missing, or more verbosity/detail.

@bolkedebruin I agree that it'd be nice to have these 2 distinct features as 2 PRs, but having overseen the work here they fit very nicely together since they hook in at the same spot (wrapping the subprocess execution) and have common requirements (elevating the permissions of the user running the main process)
It'd be quite a surgery to cut this and I feel like it'd be more risky. Keep in mind this has been running for months in production at Airbnb, so cutting it in pieces brings in more risks across the board then the simpler one-at-a-time surgery (as opposed to 2 surgeries).

@mistercrunch gotcha. I fully appreciate the extensiveness of your testing. My worry is more in the area when we do find issues it is very difficult for someone else to find out what is going on. Ie. these code base changes are so large it completely shifts understanding of it to a select group of people. E.g. we have this issue now with master not doing retries for failing tasks - it is hard to debug as the flow has completely changed. Just need you guys to be responsive when finding issues here and guide us through if needed I guess.
Nevertheless as you know I really like the functionality! Will review further

You're right let me fix that (readable to all, writeable by user and group).
On Sun, Dec 18, 2016 at 12:44 PM, bolkedebruin<EMAIL_ADDRESS>wrote:

@bolkedebruin commented on this pull request.
In airflow/bin/cli.py
https://github.com/apache/incubator-airflow/pull/1934:

     if not os.path.exists(directory):

         # Create the directory as group writable using custom mkdirs
         # as os.makedirs doesn't set mode properly.
         mode = 0x775

       mkdirs(directory, 0o775)

       mkdirs(directory, 0o777)

Does it need to have these broad permissions. World readable is something
else than world writable/executable.
I won't be able to run the code as is in our environment (not allowed). It
will be caught by security monitoring right away.
Maybe we should make this change dependent on making backfills use the
scheduler (ie that fixes the subdagoperator)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-airflow/pull/1934, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ABhNysYAb0NMDIWymy04t52q7tVsDLGwks5rJZssgaJpZM4LIfaA
.

@aoen it might be smarter to make it configurable. Ie set a umask or permission set in the config. People that don't use subdagoperators can then further limit the permissons

@aoen it might be smarter to make it configurable. Ie set a umask or permission set in the config. People that don't use subdagoperators can then further limit the permissons
@bolkedebruin I'm a little bit hesitant to add another flag (increased complexity/testing, potential need to maintain backwards compatibility once subdag operator is fixed/removed for other reasons, etc), there are plans to fix the subdag operator at which point I would be happy to remove the broken permissions logic myself.

@bolkedebruin addressed/responded to comments, thanks for taking the time to review! PTAL when you have a minute.

Can you eventually also squash the merge (maybe distinguish as much as possible between cgroups and impersonation)

Yes, will certainly do this at the end when merging. If it's hard to review now I can try too but it's hard because it requires rebasing which can be a bit time consuming.

No needed for now

Just came to my mind: I think we should add a config option whether to support "run_as". Some might want to disable it.
@aoen do you need help to finish this? I am planning to start testing (integration) now all other things for 1.8 are in (or in PR test state) and we seem not to have any blockers

I'm not sure that help will get this out any faster, it's just a tad slow to test at the moment, in that I need to run the impersonation tests through the travis environment to make sure they are compatible and there is no way to do this without running the CI suite. I guess there are some parts that can be parallelized (e.g. documentation), but I don't really think it's fair to push those things onto others. I think once the travis compatibility work is completed, the other issues are much smaller (pending yak-shaving).
Airbnb is more than willing to help test (which I think is quite helpful for the release considering our extensive staging environment), so I think it's worth it for the community to wait for this to get this merged in before releasing.

@aoen I agree that it would be great to have it in. I am planning to release the beta of 1.8.0 later today. I will keep the beta open to this change until more or less half way the beta period.

The impersonation tests are up and running now, I will get to work on the remaining issues shortly.

Just came to my mind: I think we should add a config option whether to support "run_as". Some might want to disable it.

Do you mean to prevent user error? If so this can be done in a company's CI processes if necessary (e.g. check if DAGs have run_as set and fail if so). run_as is always more restrictive than the current airflow user so it should be strictly safer, and users can bypass this flag with a BashOperator that does a "sudo su". I like to avoid adding configuration unless it is really necessary to reduce complexity (for both users and maintainers). What do you think?

Do you mean to prevent user error? If so this can be done in a company's CI processes if necessary (e.g. check if DAGs have run_as set and fail if so). run_as is always more restrictive than the current airflow user so it should be strictly safer, and users can bypass this flag with a BashOperator that does a "sudo su". I like to avoid adding configuration unless it is really necessary to reduce complexity (for both users and maintainers). What do you think?

I'm looking from the perspective of a corporate policy. Ie. I might want to disable the functionality entirely because I don't trust my users. "run_as" is pretty powerful.

Without run_as users would be running their tasks at the highest airflow privilege , so couldn't they still accomplish this run_as behavior even with the policy by having a BashOperator with something like "sudo su -u SomeOtherUser"?

Without run_as users would be running their tasks at the highest airflow privilege , so couldn't they still accomplish this run_as behavior even with the policy by having a BashOperator with something like "sudo su -u SomeOtherUser"?

Haha that makes sense. Good point. The sudoers policy should prevent it (or make it possible). That needs to be documented well!

Haha that makes sense. Good point. The sudoers policy should prevent it (or make it possible). That needs to be documented well!

What should the sudoers policy prevent?

What should the sudoers policy prevent?

By default it prevents "sudo" rights you need to configure it to allow elevating rights or to become someone else.

@bolkedebruin I think I have addressed the comments and am ready to do a final round of manual testing (e.g. with the sudoers file) before merging, let me know if I missed anything (I'm blocking this PR on your LGTM).

@aoen Seems that we are pretty close! Would you mind squashing the commits? I'm starting to read change on change and that is getting kind of confusing.
Secondly, I see the code now is elaborately commented - can the relevant bits also be added to the user documentation? Lastly, there are some TODO items can these be added to the TODO (although that place seems a bit dated).

@aoen

@bolkedebruin I think I have addressed the comments and am ready to do a final round of manual testing (e.g. with the sudoers file) before merging, let me know if I missed anything (I'm blocking this PR on your LGTM).

I'm +1 from visual code inspection, I would like to do a final review of reading it when it is squashed. User documentation / TODO should be in as well before merge.
My plan would be to merge it to master test it locally let it rest for a bit and then merge it to v1-8-test. Are you guys running vanilla 1.8 yet? In other words if you have this running in your environment is it part of the Apache 1.8 or a fork?

@bolkedebruin
Squashed the commits
I previously added documentation for the sudoers file and such, but would be happy to add more. Can you tell me the specific areas you feel could use some detail?
I think TODO should be deprecated and we should use Jira/Confluence going forward. I will file a JIRA for these TODOs once this change is merged:

   # TODO(aoen): Make log dirs and logs globally readable for now since the SubDag

   # operator is not compatible with impersonation (e.g. if a Celery executor is used

   # for a SubDag operator and the SubDag operator has a different owner than the

   # parent DAG)

   # TODO(plypaul) Monitoring the the control file in the cgroup fs is better than

   # checking the return code here. The PR to use this is here:

   # https://github.com/plypaul/airflow/blob/e144e4d41996300ffa93947f136eab7785b114ed/airflow/contrib/task_runner/cgroup_task_runner.py

   # but there were some issues installing the python butter package and

   # libseccomp-dev on some hosts for some reason.

   # I wasn't able to track down the root cause of the package install failures, but

   # we might want to revisit that approach at some other point.

We are still running off of the old release (1.7.1), I will run this change through staging before the final merge however. If there are issues after that in 1.8beta, I will be responsible for fixing them.

Apart from some small nits, I am +1.

I think TODO should be deprecated and we should use Jira/Confluence going forward. I will file a JIRA for these TODOs once this change is merged:

I'm fine with inline todo's as well. Jira can be a bit unclear and I foresee we might move away from it again.

Addressed comments.

LGTM, merging to master.

Wait, let me do a quick round of staging first on the Airbnb staging env.

Sure.

I hit some issues but they look unrelated. Will further test and debug in the beta. Going to merge this.

@bolkedebruin If you cut a new beta with this change (or provide me with the process to a cut a new beta myself) I can get started on staging the changes.

@aoen new beta will be out tomorrow per planning to allow the first beta to settle a bit and allow people to report issues. ETA in 12 hours.


[Beta React Docs] New Albanian Translation Progress

⚠ Beta Website⚠
All the ongoing translations for the current docs will be suspended, as it only makes sense to focus on the new website content now. Dan Abramov suggested not to put extra energy into translating the current content.
Maintainer List

theringsofsaturn

For New Translators
To translate a page:

Check that no one else has claimed your page in the checklist and comments below.
Comment below with the name of the page you would like to translate. Please take only one page at a time.
Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and style guide to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know, so they can assign the page to someone else.
For Maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

[ ] Home Page (@theringsofsaturn) #48

When PRs are merged, make sure to mark that page as completed!
What is ok to translate now?
The new docs aren't fully written yet, and some parts will definitely change. However, a lot of the pages are already "stable". It is suggested to use this checklist for the beginning. ✅ means "ok to translate", 🔴 means "don't translate yet".
(Updated on Feb 12: more pages ok to translate.) Ref: (https://github.com/reactjs/reactjs.org/issues/4135)

[ ] ✅ Installation (note: a lot of content here is similar to old website) ✅ FINISHED theringsofsaturn

[ ] ✅ Start a New React Project ✅ FINISHED by theringsofsaturn
[ ] ✅ Add React to a Website ✅ FINISHED by theringsofsaturn
[ ] ✅ Editor Setup ✅ FINISHED by theringsofsaturn
[ ] ✅ React Developer Tools ✅ FINISHED by theringsofsaturn

[ ] ✅ Quick Start ✅ FINISHED by theringsofsaturn

[ ] ✅ Thinking in React ⚠ Work in progress by theringsofsaturn

[ ] ✅ Describing the UI

[ ] ✅ Your First Component
[ ] ✅ Importing and Exporting Components
[ ] ✅ Writing Markup with JSX
[ ] ✅ JavaScript in JSX with Curly Braces
[ ] ✅ Passing Props to a Component
[ ] ✅ Conditional Rendering
[ ] ✅ Rendering Lists
[ ] ✅ Keeping Components Pure

[ ] ✅ Adding Interactivity

[ ] ✅ Responding to Events
[ ] ✅ State: A Component's Memory
[ ] ✅ Render and Commit
[ ] ✅ State as a Snapshot
[ ] ✅ Queueing a Series of State Updates
[ ] ✅ Updating Objects in State
[ ] ✅ Updating Arrays in State

[ ] ✅ Managing State

[ ] ✅ Reacting to Input with State
[ ] ✅ Choosing the State Structure
[ ] ✅ Sharing State Between Components
[ ] ✅ Preserving and Resetting State
[ ] ✅ Extracting State Logic into a Reducer
[ ] ✅ Passing Data Deeply with Context
[ ] ✅ Scaling Up with Reducer and Context

[ ] 🔴 Escape Hatches (not written yet)

[ ] ✅ Referencing Values with Refs
[ ] ✅ Manipulating the DOM with Refs

API

[ ] ✅ React APIs (ok to translate, but incomplete)

[ ] ✅ useState

[ ] ✅ React DOM APIs (ok to translate, but incomplete)

[ ] ✅ render

How to translate?
Currently, the beta website is in the beta folder. So all existing translation repos should have it synced (if the sync script is working). So you can follow the existing process. If something doesn't work, please comment here, so we can ask then to Beta translation upstream (#4135)
If we are able to translate at least three pages, we can ask the team to setup a deployment for us.
Something unclear?
Please comment here with concerns or suggestions.

I'm currently translating "Start a New React Project" and "Add React to a Website".

It looks like this translation has stalled, and is now outdated.
I'm going to archive this repo, but if someone wants to pick up, please start a new effort.