New platform enigma2 for media_player component

Description:
Related issue (if applicable):  No
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):
media_player:
  - platform: enigma
    host: <IP_ADDRESS>
    port: 80
    name: Dreambox Room
    timeout: 20
    icon: mdi:satellite-variant
    username: root
    password: !secret enigma_password
    bouquet: '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe1e.tv" ORDER BY bouquet'
   picon: screenshot

notify :
  - platform: enigma
    host: <IP_ADDRESS>
    port: 80
    name: Gigablue
    icon: mdi:satellite-variant
    username: root
    password: !secret enigma_password

Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

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

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

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

[X] New dependencies have been added to the REQUIREMENTS variable (example).
[X] New dependencies are only imported inside functions that use them (example).
[X] New or updated dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[X] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

Hi @cinzas,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

@fabaff this implementation (two platforms) is very similar to the kodi (also two platforms). Does it really need to be a component ?

@fabaff this implementation (two platforms) is very similar to the kodi (also two platforms). Does it really need to be a component ?

Does it really need to be a component ?

Yes. Old integrations don't always follow the guidelines as they were implemented before the guidelines were in place and we don't/didn't have the resources to port every integration at once.

Unerstood. I already solve the problem for the media player. I create the enigma component and I'm loading then the platforms i need (media_player and notify).
For media_player it works perfectly. I'm able to create the platform for each devices I configure
enigma:    devices:     - host: <IP_ADDRESS>       port: 80       name: Gigablue       timeout: 20       username: root       password: root bouquet'      - host: <IP_ADDRESS>       port: 80       name: Dreambox       username: root       password: root       timeout: 20       bouquet: '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe1e.tv" ORDER BY bouquet'        picon: picon
The problem is to do the same thing for the notify component.
Before i added both entries also in the notify.yaml (host,port,user and password). But now I want the component to load the notify platform for each of the devices, and that's where I'm having problems.

This is how I'm loading the platform from the component
for domain in SUPPORTED_DOMAINS:
        hass.async_create_task(
            discovery.async_load_platform(hass, domain, DOMAIN, {}, config))

to create the multiple media_player I'm using the async_add_devices funtion
async def async_setup_platform(hass, config, async_add_devices,
                               discovery_info=None):

But for the notify component, I can't :(. I'm using
async def async_get_service(hass, config, discovery_info=None):

According to the date you provided the configuration should look like this with a component.
enigma:
    host: <IP_ADDRESS>
    port: 80
    name: Dreambox Room
    timeout: 20
    username: root
    password: !secret enigma_password

media_player:
  - platform: enigma
    bouquet: '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe1e.tv" ORDER BY bouquet'
    picon: screenshot

notify :
  - platform: enigma
    icon: mdi:satellite-variant

It's easier to get implementation approved if they only cover the basic functionality. Single device support would be enough for the MVP.

This is how I'm loading the platform from the component

The classical approach doesn't load platforms as the component doesn't know what platforms should be loaded. In a model approach (aka using a config flow) all existing platforms would be setup.

This is how I'm loading the platform from the component

The classical approach doesn't load platforms as the component doesn't know what platforms should be loaded. In a model approach (aka using a config flow) all existing platforms would be setup.

I'm telling the component what platforms to load :)
I'm using this approach because was the one i saw on other components (e.g.: fritzbox).
Is it ok to submit the PR with multiple media_player and not use the notify component ? this one could be used stand alone (as of today).

Using this configuration:
enigma:
  devices:
    - host: <IP_ADDRESS>
      port: 80
      name: Gigablue
      timeout: 20
      username: root
      password: ash6379
      picon: screenshot
    - host: <IP_ADDRESS>
      port: 80
      name: Dreambox
      username: root
      password: root
      timeout: 20
      bouquet: '1:7:1:0:0:0:0:0:0:0:FROM BOUQUET "userbouquet.dbe1e.tv" ORDER BY bouquet'
      picon: picon

notify:
  - platform: enigma
    host: <IP_ADDRESS>
    port: 80
    username: root
    password: root
    name: Dreambox

Everything is working well.
And for notification, it is also working, invoking, for example:
{ "message" : "Test 123",
  "data" : {
      "displaytime" : "10",
      "messagetype" : "2"
      }
}

Ping 😉

@fabaff Can you review ?


Implementing an interface with Partial params in the class are not throwing an error

TypeScript Version:  3.1.0-dev.20180921

Search Terms: Implement interface Partial
Code
type Person = {
    name: string
    lastName: string
}

interface MyInterface {
    method(person: Person)
}

class MyClass implements MyInterface {
    method(person: Partial<Person>) {}
}

Expected behavior:
Throws an error Property 'method' in type 'MyClass' is not assignable to the same property in base type 'MyInterface'. since method It's implementing a partial Person instead of a Person.
Actual behavior:
It's not throwing an error. It throws an error when we try to call the interface method with a partial type.

class App {
    constructor(myClass: MyInterface) {
        const person: Partial<Person> = { name: 'Joe' }
        myClass.method(person) // Error Argument of type 'Partial<Person>' is not assignable to parameter of type 'Person'.
    }
}

Playground Link: link

This is how subtyping works - subtypes are allowed to take parameters of a corresponding supertype


--experimental-loader breaks in Node 18.19

Hello ya'll. You broke something and I'm back again =)
I have the following --experimental-loader that worked great pre node v18.19.0.
However as of that version it breaks. Since I have no idea what changed and the (changelog) documentation is somewhat sparse, I would much appreciate if someone could help with what to investigate and how to fix it.
This loader is used in a test framework that is used by hundreds of repositories. So it breaking is rather inconvenient.

Expand
import assert from 'assert';
import crypto from 'crypto';
import fs from 'fs';
import { URL } from 'url';

const lookup = {};
let envVars = {};
const port = {}; // dummy variable, not used

/* serialized and passed into main process */
function createListener() {
  /* communicate process.env to loader process */
  process.env = new Proxy(process.env, {
    set(target, key, value) {
      // eslint-disable-next-line no-param-reassign
      target[key] = value;
      port.postMessage(target);
      return target[key];
    },
    deleteProperty(target, key) {
      if (!(key in target)) {
        return true;
      }
      // eslint-disable-next-line no-param-reassign
      delete target[key];
      port.postMessage(target);
      return true;
    }
  });
}

export function globalPreload({ port: p }) {
  if (process.versions.node.split('.')[0] < 20) {
    /* Skip listener, since process shared before node 20 */
    envVars = process.env;
    return '(() => {})()';
  }
  // eslint-disable-next-line no-param-reassign
  p.onmessage = ({ data }) => {
    envVars = data;
  };
  return `(${createListener})()`;
}

export const resolve = async (specifier, context, defaultResolve) => {
  const result = await defaultResolve(specifier, context, defaultResolve);
  const child = new URL(result.url);

  if (
    child.protocol === 'nodejs:'
    || child.protocol === 'node:'
    || child.pathname.includes('/node_modules/')
    || context.parentURL === undefined
  ) {
    return result;
  }

  const parentPath = new URL(context.parentURL).pathname;
  const childPath = child.pathname;

  [childPath, parentPath].forEach((p) => {
    if (!(p in lookup)) {
      lookup[p] = {
        parents: [],
        reload: false
      };
      const content = fs.readFileSync(p, 'utf8');
      if (content.includes('/* load-hot */')) {
        lookup[p].reload = true;
      } else if (content.includes('process.env.')) {
        lookup[p].reload = [...content.matchAll(/\bprocess\.env\.([a-zA-Z0-9_]+)\b/g)].map((e) => e[1]);
      }
    }
  });
  const isNewParent = !lookup[childPath].parents.includes(parentPath);
  if (isNewParent) {
    lookup[childPath].parents.push(parentPath);
    // mark all parents as reload
    if (lookup[childPath].reload !== false) {
      const stack = [parentPath];
      while (stack.length !== 0) {
        const ancestor = lookup[stack.pop()];
        if (ancestor.reload !== true) {
          if (lookup[childPath].reload === true) {
            ancestor.reload = true;
          } else {
            assert(Array.isArray(lookup[childPath].reload));
            ancestor.reload = [
              ...(Array.isArray(ancestor.reload) ? ancestor.reload : []),
              ...lookup[childPath].reload
            ];
          }
        }
        stack.push(...ancestor.parents);
      }
    }
  }

  if (!('TEST_SEED' in envVars)) {
    return result;
  }

  if (lookup[childPath].reload === false) {
    return result;
  }

  if (Array.isArray(lookup[childPath].reload)) {
    const hash = lookup[childPath].reload.reduce(
      (p, c) => p.update(c).update(envVars[c] || '<undefined>'),
      crypto.createHash('md5')
    ).digest('hex');
    return {
      url: `${child.href}?id=${hash}`
    };
  }

  return {
    url: `${child.href}?id=${envVars.TEST_SEED}`
  };
};

Appreciate all your hard work and really looking forward to loaders being stable ;-)
Cheer, L~

It’s probably one of these: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#esm-and-customization-hook-changes
These changes landed more than a year ago on the newer release lines, so reverting them isn’t possible without breaking everyone using v20 and later. The API has changed significantly since you last used it; the recommended approach now is to use --import and register().

Thanks for the quick reply!

It’s probably one of these: https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md#esm-and-customization-hook-changes
Yeah I had already read through that, but it wasn't very useful wrt solving my use case.

These changes landed more than a year ago on the newer release lines, so reverting them isn’t possible without breaking everyone using v20 and later. The API has changed significantly since you last used it; the recommended approach now is to use --import and register().
Gotcha, I'll check it out. We use Aws Lambda and the lts versions only just updated to that version and started breaking our test. The 20.x must still be on an older minor version, there this still works.

Are there any complete examples anywhere how one would do import hot reloading like the above loader does?

 See what people have been cooking up recently. Man I miss cjs...

Looks like this thread is a never ending saga lol

That thread is about avoiding gradual memory leaks when hot reloading (since there’s no way to garbage-collect the replaced module). Simply implementing hot reloading itself is a solved problem: Vite has been doing it for years. See https://dev.to/giltayar/mock-all-you-want-supporting-es-modules-in-the-testdouble-js-mocking-library-3gh1 for instructions on implementing it yourself, and links to lower-level libraries that implement just that part.
I’m going to close this since there’s no clear request or bug presented, but if you find one I’m happy to reopen.

Thanks for pointing me in the right direction.  Much appreciated!


Use go-digest to replace manual assembly of the digest

This fix changes the manual assembly of the digest (sha256) in schema/manifest_backwards_compatibility_test.go, as go-digest is already in place in github.com/opencontainers.
This fix fixes #513.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

lgtm

lgtm


0.29

Codecov Report

Merging #440 into develop will decrease coverage by 0.01%.
The diff coverage is 20.31%.

@@            Coverage Diff             @@
##           develop    #440      +/-   ##
==========================================
- Coverage    22.71%   22.7%   -0.02%
==========================================
  Files           60      61       +1
  Lines         6741    6863     +122
  Branches      1613    1638      +25
==========================================
+ Hits          1531    1558      +27
- Misses        3674    3743      +69
- Partials      1536    1562      +26

Flag
Coverage Δ

#rnvunittests
22.7% <20.31%> (-0.02%)
:arrow_down:

Impacted Files
Coverage Δ

packages/rnv/src/config.js
13.92% <0%> (-0.64%)
:arrow_down:

packages/rnv/src/platformTools/android/index.js
13.25% <0%> (ø)
:arrow_up:

packages/rnv/src/projectTools/projectParser.js
16.75% <0%> (ø)
:arrow_up:

packages/rnv/src/platformTools/apple/index.js
11.14% <0%> (ø)
:arrow_up:

packages/rnv/src/constants.js
100% <100%> (ø)
:arrow_up:

packages/rnv/src/pluginTools/index.js
10.44% <100%> (-0.89%)
:arrow_down:

packages/rnv/src/configTools/configParser.js
31.77% <100%> (+0.21%)
:arrow_up:

packages/rnv/src/platformTools/runner.js
20.49% <14.28%> (+0.49%)
:arrow_up:

packages/rnv/src/platformTools/web/webNext.js
23.07% <23.07%> (ø)

packages/rnv/src/common.js
27.88% <33.33%> (-0.46%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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

Closes https://github.com/pavjacko/renative/issues/114


Choose to submenu is not working

Describe the bug
I have a list of product and I want to show their details in a submenu, I'm using choose to submenu for that but when I tap on an item, it reload the list again (instead of going to detail submenu).
I another path of same bot, I have a list of categories and I want to show related products in submenu and same happens there too!
Versions
Did you updated telegraf and telegraf-inline-menu to the latest version?
"telegraf": "^3.38.0",
"telegraf-inline-menu": "^5.2.1",
What version of NodeJS (and TypeScript) do you use?

Version of NodeJS: v12.16.1

To Reproduce
Steps to reproduce the behavior:
here is the related code section:
products list:
productList.chooseIntoSubmenu(
  "pList",
  async ({ match, session }) => {
    const { plPage, searchTerm } = session;
    const { list } = await getProductsList(plPage, searchTerm);
    console.log('reload')
    return list;
  },
  productInfo,
  { columns: 1 }
);

product info:
const productInfo = new MenuTemplate('test");
productInfo.manualRow(createBackMainMenuButtons("Back", "Home"));

Expected behavior
It should open productInfo menu but reloads productList (It logs 'reload' twice, every time I tap on an item).

Havnt tested anything there yet but it sounds like the check if the chosen key is still there.
The idea there is that you can only do something in a submenu as long as its still available.
Does your result of getProductsList has different results on each call?
Does it work if you supply something static like ['A', 'B', 'C'] instead of your own choice function?
You can disable this behaviour with setting disableChoiceExistsCheck like this:
productList.chooseIntoSubmenu(…, productInfo, {
  columns: 1,
  disableChoiceExistsCheck: true
})

Not sure if thats what stops you from opening your submenu but that's my first guess.
Hope it helps. If not we'll investigate further :)

Thanks for you response,
I disableChoiceExistsCheck: true temporary and I'm able to get to submenu. although correct match is exist there as seen in this log (from productInfo message body function):
path: /cats1/products/pList:17964/
match: [
  '/cats1/products/pList:17964/',
  '17964',
  index: 0,
  input: '/cats1/products/pList:17964/',
  groups: undefined
]

and without disableChoiceExistsCheck: true,(eg. whet it reloads products list instead of going to submenu) get this log from productList menu:
path: /cats1/products/
match: [
  '/cats1/products/',
  index: 0,
  input: '/cats1/products/pList:17871/',
  groups: undefined
]

which case selected item ID in its input, but nothing in match array.
I hope this info helps you to find source of issue since I don't think disabling "choice existing check" is a good permanent solution.

almost forgot to say that my products list is from an api and it usually won't change unless they add new product on their site.
And it works fine when I use a hard coded list (in both array and object format).

not sure how to reproduce. I assume the list is an array of numbers? Just supplying a hard coded array of numbers or function returning the hard coded array of numbers works fine.
As its solved with disableChoiceExistsCheck the issue has to be somewhere where we are looking currently.
does something like this work?
let {list} = await getProductsList(…);
list.sort();
list = list.slice(0, 10);
return list;

The arguments of the getProductsList take page and search Term. When the search term changes the old items are gone and new ones are there. If that changes the old items shouldn't be clickable anymore. But I assume you don't change page / search term in between.

List is in object format (ie. {1: 'product1', 2: 'product2'}). I get the page number from your pagination method and search term is an empty string (= show all products). it returns only first 10 products sorted by their ID and nothing changes while reloading.
Also as I said before, I have same problem in another section of my bot which suppose to show products list baed on selected category. In that part I have 3 exact menu for 3 level of categories (ie. users selects Food>Main course>Fast food>[productsList] and it does not shows the product list.

I'm not sure how to reproduce this as I dont have that API. When I use a function returning the object like your API seems to return it works for me:
const someMenu = new MenuTemplate<TelegrafContext>((_, path) => path);
someMenu.manualRow(createBackMainMenuButtons());

function choices() {
	return {
		1: 'product1',
		2: 'product2',
		1337: 'another product'
	};
}

menu.chooseIntoSubmenu('some', choices, someMenu);

Any ideas?

Here is a tree diagram of my current implementation:

Only those 2 levels which I marked with bold squares have this problem and others are working fine!!!

tis hardcoded list is working for me as well. But I don't think it's related to API since in products list case, I have problemonly in first level and in subcategories case, it works fine in first 2 level and I have problems only in third one!

Can you reproduce it without your API?
For this library it doesn't matter where the values come from, it only uses the object / array that is returned.
Something there has to be strange, either in the API or in the evaluation of it in this library.
Maybe inspect the exact return value of the API each time it returns its result. (For example on your console.log('reload'))
As it works in some cases of the API and not in others there might be something fishy in that specific data there but not in general. But as I don't know the exact data there I can not check if its something in the API or this library.

I changed it to return only one product in each page (for troubleshooting). now I get this object on my console.log('reload'):
{ '17974': 'کلید و پریز ویرا مدل آلفا ( نقره ای)' }
Do you see anything fishy there?
It's not working in first level, but when i go down to second level and find same product. it goes to productInfo submenu!
P.S: If you think working with bot may help, I can share bot's link with you (in PV).

I dont think the value has any impact and the key is a number which also shouldnt be a problem.
Have you tried to use Object.keys(list) and only returned the array of keys? Should have the same result besides having different button labels.

I'll just close this due to inactivity. If you have any questions feel free to ask ahead!

I'll just close this due to inactivity. If you have any questions feel free to ask ahead!


Not working for Xcode 7.2 (7C68)

@antonjn Any fixes? =)

Same here just downloaded and build it, not showing in toolbar xCode editor section.

It works on my Xcode 7.2 (7C68) so I need more information.
e.g.

Do you use Alcatraz or not
Swift or Obj-C
How many strings files are contained in your project
Which function do you use to localize string

Hi,

Do you use Alcatraz or not
No i am not using it. Using the manual process.
Swift or Obj-C
Objective-C
How many strings files are contained in your project
300+
Which function do you use to localize string
NSLocalizedString

@raheelahmad786
Thanks.

Same here just downloaded and build it, not showing in toolbar xCode editor section.

Does this mean that the auto-completion popup is not shown?
Or the popup is shown but there are no correct items?

@questbeat If I may speak for him, the auto-completion popup is not showing at all.

Just upgraded to Xcode 7.2.1(7C1002) and it seems to be working again =)
Closing this issue.


Issue with k8s.io/docs/reference/access-authn-authz/certificate-signing-requests/

Conducted the certificate issue process step by step - the CSR is approved, but there is no status.certificate.
Guess the "Sign" has not been done, please provide example for Sign process
kubernetes v1.21
Regars.

https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/ is a reference page
Perhaps, as a feature request, we could add a new task page that shows an example of getting a certificate signed by a CSR signing controller? Is that similar to what you're asking for @svetoslav-vodenicharov ?
/triage needs-information
/language en

I don't think this warrants a new task page. The approve/deny operation is very simple and the operation is not one heavily used.
$ kubectl certificate --help
Modify certificate resources.

Available Commands:
  approve     Approve a certificate signing request
  deny        Deny a certificate signing request

Usage:
  kubectl certificate SUBCOMMAND [options]


Missing instruction for dnf update

File: engine/install/fedora.md
After adding the docker-ce repository, the end user should launch a
sudo dnf update
This instruction is missing in the doc

I misinterpreted the errors.
Sorry for the noise


unable to install or update wsl extension by microsoft

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.79.2
OS Version: windows 11 22H2

Steps to Reproduce:

try to install wsl extension

Error log:

2023-07-01 13:08:01.720 [error] CorruptZip: end of central directory record signature not found
    at gt.download (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:141)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async j.y (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:20937)
    at async j.h (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:19006)
2023-07-01 13:08:01.761 [error] end of central directory record signature not found: CorruptZip: end of central directory record signature not found
    at gt.download (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:141)
    at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async j.y (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:20937)
    at async j.h (c:\Users\Ryan-WLT\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\code\node\sharedProcess\sharedProcessMain.js:82:19006)

Can you please check if you can reproduce when you launch VS Code in a new user data dir and extensions dir. Run following command from terminal
code --user-data-dir <new_folder_1> --extensions-dir <new_folder_2>

vs code new update 1.80 solved the issue
now i can install uninstall and update without problem


Empty trans-units since 2.0.0

Hello, thanks for your effort! Great library!
I figured out on my project that since version "2.0.0" it generates empty file with all <trans-unit></trans-unit> in it.

Yeah I'm having the same issue. it's gives me a success message and I end up with a minified xml file that has a whole lot of trans units and ids but no actual translated text. Is there any way to fix that?


fix: move type export up

Description
There is a warning displayed when starting Storybook indicating that the types being exported will not be used because TypeScript will resolve to using one of the JavaScript exports before it since they technically match:
▲ [WARNING] The condition "types" here will never be used as it comes after both "import" and "require" [package.json]

    ../../@lightningjs/ui-components/package.json:16:6:
      16 │       "types": "./dist/lightning-ui-components.d.ts"
         ╵       ~~~~~~~

  The "import" condition comes earlier and will be used for all "import" statements:

    ../../@lightningjs/ui-components/package.json:14:6:
      14 │       "import": "./dist/lightning-ui-components.min.mjs",
         ╵       ~~~~~~~~

  The "require" condition comes earlier and will be used for all "require" calls:

    ../../@lightningjs/ui-components/package.json:15:6:
      15 │       "require": "./dist/lightning-ui-components.min.cjs",
         ╵       ~~~~~~~~~

This PR just moves the types to the top of the exports in relevant package.json files.
References
N/A
Testing
Start Storybook and confirm that they above error does not show in your console.
Checklist

[x] all commented code has been removed
[x] any new console issues have been resolved
[x] code linter and formatter has been run
[x] test coverage meets repo requirements
[x] PR name matches the expected semantic-commit syntax

:tada: This PR is included in version @lightningjs/ui-components-v2.24.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @lightningjs/ui-components-test-utils-v1.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


TX Response

How long do you wait before you get a TX ID back from using this package? Just installed it and it appears to be 10 seconds before I get the TX ID back, does anyone else face a similar experience?

The client code in the package would have little impact on response time.
I think Tx will be affected by network latency or node response time, etc.


Update docs for Azure CNI subnet requirements

What this PR does / why we need it: Improves documentation for subnet reserved IPs with Azure CNI (specifically, Azure CNI reserves 1 IP + as many IPs as the max-pod value of that node for each node). TODO: add validation to prevent deployment if subnet is too small.
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #2897
Special notes for your reviewer:
If applicable:

[ ] documentation
[ ] unit tests
[ ] tested backward compatibility (ie. deploy with previous version, upgrade with this branch)

Release note:

/lgtm

/approve


Hotfix/attendee duplicates

Fixes duplication of boughtitems and attendees, with tests to prove it.

Looks gr8


Storage Account Requirements for Ingestion

Greetings,
It would be helpful to have a statement on this page that states that storage account type General Purpose v1 is not supported for use with blob ingestion. The error message that occurs when you try to target this kind of account in a data connection from the Azure  Portal points to this doc - https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-event-overview. But putting 2 and 2 together for the customer at the start will save time and frustration.
And come to think of it, checking for a Gen Purpose v1 storage account from the UI and not allowing it  would help also.
Thanks
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ddf4599f-0e80-47fc-c919-be4434dcdffd
Version Independent ID: 8ef468be-2c25-d37c-be11-23f0ad8d5c3c
Content: Ingest Azure Blobs into Azure Data Explorer
Content Source: data-explorer/ingest-data-event-grid.md
Service: data-explorer
GitHub Login: @orspod
Microsoft Alias: orspodek

@Craigmeister68 -

Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can update the document accordingly.

@Craigmeister68 - thanks for your feedback.
@kerend and @LeaShallev - can you please review the feedback?

@Craigmeister68 - thanks again for the feedback.
The following statement was added as prerequisite for article: "*Event Grid notification subscription can be set on Azure Storage accounts for BlobStorage, StorageV2, or Data Lake Storage Gen2."
@orhasban will be addressing your suggestion: "checking for a Gen Purpose v1 storage account from the UI and not allowing it would help also."
I will now close this issue. Feel free to reach out by @mention me with any additional questions.


Suggestion: Admonitions - Collapsible blocks

I would like to suggest if it is possible to include some Admonitions notation with Collapsible blocks

https://squidfunk.github.io/mkdocs-material/reference/admonitions/#collapsible-blocks

Thank you for the suggestion!
I think that is a task for a theme developer. You can design collapsable notes in the theme for some or for all admonitions.
It is not possible to integrate features like that in typemill core because typemill uses a different syntax for admonitions and that syntax does not support classes. You can see the discussion about the syntax here: https://github.com/typemill/typemill/issues/33

I solved with theme


Prep of ISED Issuer(s) sequence

We need to adjust the ISED Business Banking Initiative verifiable credential issuers.  The model has changed a little, so here is the sequence that I would like to issue.  @esune -- please review and let me know what we have in place and what we need to change.  @alexgmetcalf , I'd appreciate it if you can do the words at the landing page (what to do) and post-issue page (what to do next).  This issue covers what is in place, what has changed in the demo, what minimum changes that we need to do.  I was going to add a thing about being able to minimize the QR codes in use, but I don't think that's realistic.
What Is In Place?
A sequence of three issuers:

Issuer: https://bcreg-issuer-dev.pathfinder.gov.bc.ca/

Authentication is Test Services Card, issue is of a "Verified Person" credential from BC Registries

Issuer: https://bcreg-registration-issuer-dev.pathfinder.gov.bc.ca/

Authentication is "Verified Person" credential, issue is of a "Verified Registration" credential from BC Registries

Issuer: https://bcreg-relationship-issuer-dev.pathfinder.gov.bc.ca/

Authentication is "Verified Person" and "Verified Registration" credential from BC Registries

Verifier: https://bcbank-verifier-dev.pathfinder.gov.bc.ca/

Authentication is all three issued credentials.

What is Changing
The first credential is going to be issued by IDIM -- Citizen Services -- instead of BC Registries.  As well, there will be no unique identifier associated with the verified person -- just as there is no identifier in the DIACC/Peter Watkins verified person implementation.
@esune -- will use the site listed above updated, or will you use the DIACC/Peter Watkins site?  I see pros and cons for both.
As well, the contents/attribute names in the credentials have changed and will be provided.
Minimum Changes
Change the first issuer to be from BC Citizen Services, the identifier removed, and change all of the subsequent authentications to use that credential. As such, there needs to be a different DID from the BC Registries DID. As well, change the value of the "identifier" for the "verified person" in the "verified relationship" credential to be the full name, since there is no longer a number to use.
Documentation:
Here is the flow I'm thinking we should follow:

We give the person the URL for the BC Registries "Verified Organization" landing page.  On that, we tell them that they need a "Verified Person" credential to proceed and a link to that site to open a new page/tabl, leaving the existing one open.  The instructions should tell the user to come back to this site when done.

Alternatively, we should have a landing page for the whole process

The verified person should have instructions to get that, including about the need to use the Services Card mobile app.

In an inside voice -- we can explain how to do this on the dev/test site with the test BC Services Card IDs that we have.

The "Verified Person" "post issue" page should not be specific to the ISED Business Banking Initiative use case, but generic, so the user will have to remember to go back to the BC Registries page...
The user will continue through the issuing process on the "Verified Organization" Issuer.
On the "post-issue" page, the instructions should say that "Normally, the Verified Relationship credential should be automatically issued, but for this we have to do another authentication and issue process" and put in a link to the "Verified Relationship" issuer.
On the Verified Relationship issuer page, explain the rest of the process and that there should not be extra QR codes.
On the "post-issue" page, talk about using the credentials now held to open a bank account, and provide a link to the sample verifier.
On the landing page for the verifier, make it like you are on a website to create a bank account.

We should probably have that site create a bank account and issue a credential for the bank account....
@alexgmetcalf -- could you please do the text for the examples -- using language that is helpful to business owners.  The whole "verified relationship" thing is not needed.
Also worthwhile is going through the issuance of the last two creds twice to simulate a person that has more than one company.  What does the holder experience look like when you have credentials for multiple companies?
See the bottom of this document for the new attributes in the credentials and how to populate them.
The Verifiable Credentials
The following cover the new attributes and how to populate them.  I have put "blank" to indicate the field is not populated.  Ideally, that will be either "" or null (which I think might be implemented -- at least in Aries Cloud Agent Python).  If it has to have a value, please put "Not Issued".
Verified Person

verifiedPersonKey - blank
givenName - from Services Card
additionalName (Optional) - middle name from Service Card (if any) or  "Not Issued"
familyName - from Services Card
streetAddress - from Services Card
city - from Services Card
province - from Services Card
country - from Services Card
postalCode - from Services Card
dateOfBirth - "Not Issued"
phoneNumber - "Not Issued"
alternatePhoneNumber (Optional) - blank
email - blank
gender (Optional) - blank
issuer - "BC Citizen Services"
issueDate - date of issue from Services Card
expirationDate - date of expiration from Services Card (or  "Not Issued")
credentialStatus - "Issued"
levelOfAssurance (Optional) - blank

Verified Organization

verifiedOrganizationKey - generate per BC RegID format
businessNumber - generate - 9 digits
entityType - BC Corp
registeredLegalName - let the user type in the name
homeJurisdictionLegalName (Optional) - blank
alternateLegalName (Optional) - blank
operatingName (Optional) - blank
streetAddress - allow user to enter full address (autocomplete??? :-) )
city
province
country
postalCode
legislation (Optional) - blank
registeredJurisdiction (Optional) - "BC"
homeJurisdiction - "BC"
director001FullName (Optional) - user entered
director001StreetAddress (Optional) - blank
director001City (Optional) - blank
director001Province (Optional) - blank
director001Country (Optional) - blank
director001PostalCode (Optional) - blank
director001CanadianResident (Optional) - blank
registrationDate
director002FullName (Optional) - user entered
director002StreetAddress (Optional) - blank
director002City (Optional) - blank
director002Province (Optional) - blank
director002Country (Optional) - blank
director002PostalCode (Optional) - blank
director002CanadianResident (Optional) - blank
registrationDate - today() or today() - random(1500)
registrationExpiryDate (Optional) - registrationRenewalEffectiveDate + 1 year
registrationRenewalEffective (Optional) - today() or today() - random(60)
registeredLegalNameEffective - registrationDate
homeJurisdictionLegalNameEffective - registrationDate
entityStatus - "Active"
entityStatusEffective - registrationDate
issuer - "BC"
issueDate - today()
expirationDate - registrationExpiryDate
credentialStatus - "Active"

Verified Relationship

verifiedPersonKey - blank
verifiedPersonIssuer - "BC Citizen Services"
verifiedOrganizationKey - from Verified Organization
verifiedOrganizationIssuer - from Verified Organization
registeredLegalName - from Verified Organization
relationship - "Director"
relationshipDescription - blank
relationshipStatus - "Active"
relationshipStatusEffective (Optional) - registrationDate  from Verified Organization
issuer - "BC Registries"
issueDate - today()
expirationDate - blank
credentialStatus - "Active"

For reference on what attributes are available through BCSC: https://selfservice-demo.pathfinder.gov.bc.ca/help/help-dev

Deployed Services
Ministry of Citizens' Services issuer:

DEV: https://bcgov-citz-issuer-dev.apps.silver.devops.gov.bc.ca
TEST: https://bcgov-citz-issuer-test.apps.silver.devops.gov.bc.ca
PROD: https://bcgov-citz-issuer.apps.silver.devops.gov.bc.ca

BC Registries Verified Organization issuer:

DEV: https://bcreg-registration-issuer-dev.apps.silver.devops.gov.bc.ca
TEST: https://bcreg-registration-issuer-test.apps.silver.devops.gov.bc.ca
PROD: https://bcreg-registration-issuer.apps.silver.devops.gov.bc.ca

BC Registries Verified Relationship issuer:

DEV: https://bcreg-relationship-issuer-dev.apps.silver.devops.gov.bc.ca
TEST: https://bcreg-relationship-issuer-test.apps.silver.devops.gov.bc.ca
PROD: https://bcreg-relationship-issuer.apps.silver.devops.gov.bc.ca

Business Bank Verifier:

DEV: https://business-bank-verifier-dev.apps.silver.devops.gov.bc.ca
TEST: https://business-bank-verifier-test.apps.silver.devops.gov.bc.ca
PROD: https://business-bank-verifier.apps.silver.devops.gov.bc.ca

Once this PR is merged, changes to the pages with wording can be PR'd directly to this repo - @alexgmetcalf. Tag me in it and I'll take care of merging and updating deployments.

What Changed
All the issuers and verifiers were reconfigured from scratch, including all of the integrations with vc-authn and Keycloak, in each environment. PR #6 contains all of the changes currently deployed (165 files, yikes!).

Final Notes
The schemas used are very big, and have a number of claims that are named the same (e.g.: issuer). This means that:

the wallet apps are slow at building/displaying the proof-request on a VERY recent mobile device, I am not sure what it will be on older devices. Additionally, it is impossible to see clearly everything that is being requested on-screen as there is just not enough space.
because of the verbosity of the schemas, the verifier is not showing all of the requested claims as verified: I suspect it is because of the payload being too big, but will need to investigate more to understand what's up.
the forms in the issuer webapps are a first cut of what they could look like and be, they could be improved and cleaned up more once the requirements are finalized.
the PROD environment will require a working BC Services Card to sign-in the first issuer. DEV and TEST use test credentials.


chore: Bump version to 1.6.2-SNAPSHOT

Fixes upgrade e2e tests on 1.6.x branch.
Release Note
NONE

This requires #2901.

Is 1.6.x LTS, so it should be marked that way in the docs?  Since I’m asking, is 1.4.x LTS?

On Jan 21, 2022, at 3:45 AM, Antonin Stefanutti @.***> wrote:
This requires #2901 https://github.com/apache/camel-k/pull/2901.
—
Reply to this email directly, view it on GitHub https://github.com/apache/camel-k/pull/2900#issuecomment-1018434592, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAELDXVXQYZZNHX45LBR2PLUXFBPLANCNFSM5MO5YEPA.
You are receiving this because you are subscribed to this thread.


[AutoPR containerregistry/resource-manager] [ACR] Add 2018-02-preview version to Java SDK

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3303

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2129


Font texture (texture unit 0) corrupted

Font texture (texture unit 0) is sometimes still corrupted due to unknown reason when r_wsurf_detail set to 1

Fixed in dd2ecc2362804da102f6491aabd7cd457be79b90


README.Rmd vs README.md

In analysis_skeleton() and package_skeleton(), (and further down the stack in add_readme()), if the rmarkdown = TRUE, then both a README.md and README.Rmd are added to the directory - Is this necessary, or should just the .Rmd be added? @boshek @stephhazlitt

Relevant code here: https://github.com/bcgov/bcgovr/blob/master/R/add_meta.R#L33-L41

I think only add the .Rmd. I think that was my oversight.

Cool, thanks. I'll fix that.

Agreed. So the default will be a README.md file, and if user adds rmarkdown=TRUE the folder will be populated with the README.Rmd only?


Custom tsconfig path throw "Cannot find module" error (compilerOptions.paths)

Question

Hello,
I'm trying to add stryker to my current typescript project, but I'm unable to run the tests, it seems that the custom compilerOptions.paths present in my tsconfig.json is ignored.
this is the error
14:16:01 (21772) INFO DryRunExecutor Starting initial test run. This may take a while.
14:16:03 (21772) ERROR DryRunExecutor One or more tests resulted in an error:
	Error: MODULE_NOT_FOUND (undefined) Error: Cannot find module '@server/services'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
    at Function.Module._load (internal/modules/cjs/loader.js:562:25)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/test/project/.stryker-tmp/sandbox1527714/test/testlib/onboarding.ts:2:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Module.m._compile (/home/test/project/node_modules/ts-node/src/index.ts:858:23)
    at Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/home/test/project/node_modules/ts-node/src/index.ts:861:12)
    at Module.load (internal/modules/cjs/loader.js:653:32)
14:16:03 (21772) ERROR Stryker Error: Something went wrong in the initial test run
    at DryRunExecutor.validateResultCompleted (/home/test/project/node_modules/@stryker-mutator/core/src/process/3-dry-run-executor.js:59:15)
    at DryRunExecutor.timeDryRun (/home/test/project/node_modules/@stryker-mutator/core/src/process/3-dry-run-executor.js:69:14)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Stryker environment

├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ ├─┬<EMAIL_ADDRESS>│ │ ├──<EMAIL_ADDRESS>deduped
│ │ ├──<EMAIL_ADDRESS>deduped
│ ├─┬<EMAIL_ADDRESS>├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>deduped
│ ├──<EMAIL_ADDRESS>deduped
├─┬<EMAIL_ADDRESS>│ ├──<EMAIL_ADDRESS>deduped
│ ├──<EMAIL_ADDRESS>deduped

"mocha": "^7.1.2"
"ts-mocha": "^7.0.0"
"typescript": "^3.8.3"

Additional context

I'm using ts-mocha to run the tests with this command:
 "test:unit": "ts-mocha --project test/tsconfig.json -r tsconfig-paths/register 'test/**/*.spec.ts' --exit --timeout 15000",

test/tsconfig.json contains the following
{
  "extends": "../tsconfig.base.json",
  "compilerOptions": {
    "baseUrl": "./",
    "paths": {
      "@server": ["../src"],
      "@server/*": ["../src/*"]
    }
  },
  "include": [ "." ]
}

this is my stryker config
{
  packageManager: "yarn",
  reporters: ["html", "clear-text", "progress"],
  testRunner: "mocha",
  commandRunner: {
    command: "yarn test:unit",
  },
  coverageAnalysis: "off",
  mutate: ["src/**/*.ts"],
  mochaOptions: {
    spec: ["test/**/*.spec.ts"],
    require: ["ts-node/register", "tsconfig-paths/register"]
  },
  tsconfigFile: "test/tsconfig.json"
};

Hi nya1, you probably want to use --inPlace mode, since you're heavily relying on exact paths, this is why we added this new feature.
When you've got it working, you're probably unhappy with the performance at first (dependent on the size of your project). Speed thinks up drastically by enabling the mocha test runner. I see you already have some configuration for it. However, you're using mocha-ts in your normal unit test flow, which is currently, so you should try to recreate that with regular old mocha (which shouldn't be too dificult).

Hi @nicojs,
I'm encoutering the same issue.
I have some generated code placed inside a specific directory at project root. Those files are excluded from git (and as such are not copied into Stryker sandbox directory).
It would be nice to have an option to copy additional files into sandbox (instead of the existing files option which would overwrite default - and require to have a very long list...)
Do you think it would be possible?
Thank you!

Thanks. Does the current workaround (--inPlace) help you for now?

Thanks. Does the current workaround (--inPlace) help you for now?

I've tried with --inPlace but I get the same error, it seems that my test/tsconfig.json configuration is ignored, because the '@server' imports are done in my test files but the path alias is not loaded

Same problem here. Using --inPlace doesn't help.

I just realized that the issue is actually module lazy loading
https://angular.io/guide/lazy-loading-ngmodules
The line
    loadChildren: () => import('./items/items.module').then(m => m.ItemsModule)

is the problematic one.
If tell stryker not to mutate app-routing.module.ts then everything works fine!

inPlace did not resolve this for me either... I have the following in my tsconfig.json:
"paths": {"@api/*": ["src/openapi/*"]}

When I run Stryker I get an error that modules starting with @api/ cannot be resolved in the initial test run. So I am not even getting to the point of being able to mutate "in place".

SOLVED Here's an update... In my Angular project we have a set of code under src/openapi which contains angular services. Stryker was not including that directory in the sandbox, and by adding a files config to include it this issue went away.

Ahhh... Now I have dug in more deeply I realize it was because my generated code under src/openapi was being ignore via .gitignore. By default, Stryker will not copy ignored items into the mutation sandbox.

@InfoSec812  @EmmanuelRoux
Thanks for your comments. As of<EMAIL_ADDRESS>we no longer rely on .gitignore files (they caused a bunch of edge cases to "not work"). So please, try to upgrade and let me know if it worked. See https://stryker-mutator.io/blog/announcing-stryker-js-5-brave-new-dimension.md
@Zialus thanks for your remark about module lazy loading
@nya1 can you confirm that (1) upgrading to v5 solves this issue? Or (2) you can confirm that this has to do with lazyloading?

@nicojs Thanks for letting us know... I am not sure when I will have time to get back to testing this, but I will try to remember to report back here with my results.

@nicojs files with module lazy loading are still able to make stryker fail

@Zialus would you be able to create a small reproduction project? Would love to take a look! Please upload it in a new issue

@nicojs I created the new issues with the reproduction example. Let me know if you need anything else ;)


Added Get-ScriptTasks as in issue #153

I realized that I screwed with my merge/rebase. I restarted the work in a brand new clean branch.


Better variable viewer and plotviewer for jupyter notebooks

hello,
I would like to see a better variable viewer and plot viewer for Jupyter notebooks in vscode. The current data viewer does not support complex data types and only displays the values as [object].
Also, the plots generated are unscalable.

/extPython


shims: Unify syscall handlers

feat(untrusted): Add untrusted crate
Adds a crate to validate

const *T
mut *T
const *[T]
mut *[T]

by checking the alignment and calling out to a shim specific
validator method, which should check, if the referenced memory
is in a valid address space.
Resolves: https://github.com/enarx/enarx/issues/630
Related: https://github.com/enarx/enarx-keepldr/issues/78

feat(syscall): Add syscall crate
This crate unifies the syscall infrastructure in a common trait shared
between shims. An implementation of the SyscallHandler trait has to
implement the empty syscalls and can overwrite pre-implemented syscalls
with an optimized version.
This crate also should hold any Enarx specific syscall constants and type
definitions.

refactor(shims): Use untrusted and syscall crates
Let shim-sgx and shim-sev make use of the untrusted and syscall crate,
which removes duplicate code and unifies the syscall handling across shims.

feat(shim-sev): Implement missing arch_prctl operations
This patch implements the missing arch_prctl operations:

ARCH_GET_FS
ARCH_SET_GS
ARCH_GET_GS

Rebased and integrated the get_attestation syscall.
@lkatalin I renamed getatt() and get_att() to get_attestation()


ENH: seperate xpdAcq profile

It might be good to have an xpdAcq profile. This way we can symlink the DAMA supported profile over and add the xpdAcq files on top. This would prevent some of the issues from today about commenting out xpdAcq code.
Can we do this without ipython balking?

@mrakitin

That may be not a bad idea. However, if something is not working in 999*-.py, it makes a little difference between renaming the files to .999-*.py and removing the symlinks in the profiles. Also, now you will have to make sure that everything is in sync on all the beamline machines, which adds more complexity in maintaining two separate profiles (tagging may become out of sync easily). I invite @danielballan and @tacaswell to discuss.

How often is the xpcacq profile changed interactively? Composing (in the sense of "combining") profiles seems like we are starting to stretch what profiles are meant for. I think it would be easier to maintain something like:
import xpdacq
xpdacq.configure(get_ipython.user_ns)  # adds objects to namespace

akin to what we do with nslsii.configure_base. What do you think of that design, @CJ-Wright?


fix: update minimum provider, deletion_protection

Fixes issues in #183
Updates Cloud Run service to use new deletion_protection field, without which testing and solution deletion fails.

/gcbrun


Add support for configurable documentation title

Work for this issue will begin begin on branch work-liquid-labs/dmd-readme-api/18.


clicking split close button can result in the remaining split not having a focused input

if you close a split with exit/ctrl+d, then the other split gets focused. but if you use the new split close buttons, then the Active input in the remaining split is not focused

hmm, i can't reproduce this one


Query times out after 10 seconds

Driver version
redshift-connector==2.0.904
Redshift version
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.35649
Client Operating System
Docker running Amazon Linux
Python version
3.0
Table schema
N/A
Problem description
Queries timeout after 10 seconds. I am calling Redshift from Airflow 2.2.2 running in Docker.
Same query works fine from Query Editor in AWS Console.
Python Driver trace logs
redshift_connector.error.ProgrammingError: {'S': 'ERROR', 'C': 'XX000', 'M': '\n  -----------------------------------------------\n  error:  timeout expired\n\n  code:      25300\n  context:   \n  query:     0\n  location:  pgclient.cpp:535\n  process:   padbmaster [pid=24962]\n  -----------------------------------------------\n', 'F': '../src/external_catalog/external_catalog_api.cpp', 'L': '926', 'R': 'localize_external_table'}
[2022-02-23, 23:55:21 UTC] {{taskinstance.py:1280}} INFO - Marking task as FAILED. dag_id=dashboard_kpis.media_public, task_id=task_insert_data, execution_date=20220223T235504, start_date=20220223T235509, end_date=20220223T235521
[2022-02-23, 23:55:21 UTC] {{standard_task_runner.py:91}} ERROR - Failed to execute job 60 for task task_insert_data
Traceback (most recent call last):
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1513, in execute
ps = cache["ps"][key]
KeyError: ("\n            INSERT INTO dashboard_kpis.media_public (\n                WITH public_rolls AS (\n                    SELECT \n                        id AS roll_id,\n                        CASE special_feature WHEN 'personal' THEN TRUE ELSE FALSE END AS is_personal\n                    FROM dispo_prod.dispo_roll\n                    WHERE _public=TRUE\n                ), public_media AS (\n                    SELECT\n                        media_id,\n                        BOOL_AND(is_personal) is_personal_max,\n                        BOOL_OR(is_personal) is_personal_min,\n                        TRUE AS is_public\n                    FROM dispo_prod.dispo_rollmedia public_media\n                    JOIN public_rolls ON public_rolls.roll_id=public_media.roll_id\n                    GROUP BY media_id\n                )\n                SELECT\n                    DATE(created) AS date,\n                    SUM(CASE is_public AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS public_only_count,\n                    SUM(CASE is_public AND is_personal_min WHEN TRUE THEN 1 ELSE 0 END) AS personal_only_count,\n                    SUM(CASE is_public AND is_personal_min AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS personal_and_public_count,\n                    SUM(CASE is_public WHEN TRUE THEN 1 ELSE 0 END) AS public_any_count,\n                    COUNT(*) AS total_count\n                FROM dispo_prod.dispo_media media\n                LEFT JOIN public_media ON public_media.media_id=media.id\n                GROUP BY date\n                ORDER BY date\n            )\n            ", ())
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/airflow/task/task_runner/standard_task_runner.py", line 85, in _start_by_fork
args.func(args, dag=self.dag)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/cli_parser.py", line 48, in command
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py", line 92, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 292, in task_run
_run_task_by_selected_method(args, dag, ti)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 107, in _run_task_by_selected_method
_run_raw_task(args, ti)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 184, in _run_raw_task
error_file=args.error_file,
File "/usr/local/lib/python3.7/site-packages/airflow/utils/session.py", line 70, in wrapper
return func(*args, session=session, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1332, in _run_raw_task
self._execute_task_with_callbacks(context)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1458, in _execute_task_with_callbacks
result = self._execute_task(context, self.task)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1509, in _execute_task
result = execute_callable(context=context)
File "/usr/local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/redshift.py", line 73, in execute
hook.run(self.sql, autocommit=self.autocommit, parameters=self.parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 205, in run
self._run_command(cur, sql_statement, parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 229, in _run_command
cur.execute(sql_statement)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/cursor.py", line 231, in execute
self._c.execute(self, operation, args)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1583, in execute
self.handle_messages(cursor)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1851, in handle_messages
raise self.error

Hey @justinmann ,
Thanks for reaching out. As a sanity check, are you able to connect to Amazon Redshift from your docker container using a CLI tool such as PSQL or RSQL? This can help narrow down if there is a connectivity issue here. If you're unable to connect using a CLI tool, you can find some troubleshooting guides here in the Amazon Redshift docs, something may need to change in the permissions for your cluster.
Otherwise, can you execute any basic query via Airflow + the Amazon Redshift provider? e.g. select 1;. This can help us see if there is issue with the specific query you want to run.
If this issue is still seen, could you please provide logs using the instructions noted here so our team can research this issue more.

Could you please provide logs as described above so we can look into this further?

Also, have you tried setting the timeout for your DAG as discussed here? https://stackoverflow.com/questions/57823172/increase-timeout-for-a-particular-dag-in-airflow

I added this to my code:
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(filename = "logfile.log",
stream = sys.stdout,
filemode = "w",
format = Log_Format,
level = logging.DEBUG)
logger = logging.getLogger()
Here is the output:
*** Reading local file: /usr/local/airflow/logs/dashboard_kpis.media_public/task_insert_data/2022-02-24T18:33:01.785736+00:00/1.log
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1035}} INFO - Dependencies all met for <TaskInstance: dashboard_kpis.media_public.task_insert_data manual__2022-02-24T18:33:01.785736+00:00 [queued]>
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1035}} INFO - Dependencies all met for <TaskInstance: dashboard_kpis.media_public.task_insert_data manual__2022-02-24T18:33:01.785736+00:00 [queued]>
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1241}} INFO -
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1242}} INFO - Starting attempt 1 of 1
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1243}} INFO -
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1262}} INFO - Executing <Task(RedshiftSQLOperator): task_insert_data> on 2022-02-24 18:33:01.785736+00:00
[2022-02-24, 18:33:06 UTC] {{standard_task_runner.py:52}} INFO - Started process 922 to run task
[2022-02-24, 18:33:06 UTC] {{standard_task_runner.py:76}} INFO - Running: ['', 'tasks', 'run', 'dashboard_kpis.media_public', 'task_insert_data', 'manual__2022-02-24T18:33:01.785736+00:00', '--job-id', '67', '--raw', '--subdir', 'DAGS_FOLDER/warehouse/dashboard_kpis/media_public.py', '--cfg-path', '/tmp/tmpy6ekdix7', '--error-file', '/tmp/tmprdfy8ucd']
[2022-02-24, 18:33:06 UTC] {{standard_task_runner.py:77}} INFO - Job 67: Subtask task_insert_data
[2022-02-24, 18:33:06 UTC] {{logging_mixin.py:109}} INFO - Running <TaskInstance: dashboard_kpis.media_public.task_insert_data manual__2022-02-24T18:33:01.785736+00:00 [running]> on host dca860dc325a
[2022-02-24, 18:33:06 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/xcom.py:323 SAWarning: TypeDecorator UtcDateTime(timezone=True) will not produce a cache key because the cache_ok attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
[2022-02-24, 18:33:06 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/renderedtifields.py:126 SAWarning: TypeDecorator UtcDateTime(timezone=True) will not produce a cache key because the cache_ok attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
[2022-02-24, 18:33:06 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/renderedtifields.py:162 SAWarning: Coercing Subquery object into a select() for use in IN(); please pass a select() construct explicitly
[2022-02-24, 18:33:06 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/renderedtifields.py:163 SAWarning: TypeDecorator UtcDateTime(timezone=True) will not produce a cache key because the cache_ok attribute is not set to True.  This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions.  Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf)
[2022-02-24, 18:33:06 UTC] {{taskinstance.py:1429}} INFO - Exporting the following env vars:
AIRFLOW_CTX_DAG_OWNER=
AIRFLOW_CTX_DAG_ID=dashboard_kpis.media_public
AIRFLOW_CTX_TASK_ID=task_insert_data
AIRFLOW_CTX_EXECUTION_DATE=2022-02-24T18:33:01.785736+00:00
AIRFLOW_CTX_DAG_RUN_ID=manual__2022-02-24T18:33:01.785736+00:00
[2022-02-24, 18:33:06 UTC] {{redshift.py:71}} INFO - Executing statement: ['set statement_timeout to 600000', 'BEGIN TRANSACTION', 'DELETE FROM dashboard_kpis.media_public', "\n            INSERT INTO dashboard_kpis.media_public (\n                WITH public_rolls AS (\n                    SELECT \n                        id AS roll_id,\n                        CASE special_feature WHEN 'personal' THEN TRUE ELSE FALSE END AS is_personal\n                    FROM dispo_prod.dispo_roll\n                    WHERE _public=TRUE\n                ), public_media AS (\n                    SELECT\n                        media_id,\n                        BOOL_AND(is_personal) is_personal_max,\n                        BOOL_OR(is_personal) is_personal_min,\n                        TRUE AS is_public\n                    FROM dispo_prod.dispo_rollmedia public_media\n                    JOIN public_rolls ON public_rolls.roll_id=public_media.roll_id\n                    GROUP BY media_id\n                )\n                SELECT\n                    DATE(created) AS date,\n                    SUM(CASE is_public AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS public_only_count,\n                    SUM(CASE is_public AND is_personal_min WHEN TRUE THEN 1 ELSE 0 END) AS personal_only_count,\n                    SUM(CASE is_public AND is_personal_min AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS personal_and_public_count,\n                    SUM(CASE is_public WHEN TRUE THEN 1 ELSE 0 END) AS public_any_count,\n                    COUNT(*) AS total_count\n                FROM dispo_prod.dispo_media media\n                LEFT JOIN public_media ON public_media.media_id=media.id\n                GROUP BY date\n                ORDER BY date\n            )\n            ", 'COMMIT TRANSACTION']
[2022-02-24, 18:33:06 UTC] {{base.py:79}} INFO - Using connection to: id: redshift_default. Host: dispo-redshift.cgtsokzvp48s.us-east-1.redshift.amazonaws.com, Port: 5439, Schema: warehouse, Login: awsuser, Password: *, extra: {}
[2022-02-24, 18:33:07 UTC] {{dbapi.py:225}} INFO - Running statement: set statement_timeout to 600000, parameters: None
[2022-02-24, 18:33:07 UTC] {{dbapi.py:225}} INFO - Running statement: BEGIN TRANSACTION, parameters: None
[2022-02-24, 18:33:07 UTC] {{dbapi.py:225}} INFO - Running statement: DELETE FROM dashboard_kpis.media_public, parameters: None
[2022-02-24, 18:33:07 UTC] {{dbapi.py:233}} INFO - Rows affected: 0
[2022-02-24, 18:33:07 UTC] {{dbapi.py:225}} INFO - Running statement:
INSERT INTO dashboard_kpis.media_public (
WITH public_rolls AS (
SELECT
id AS roll_id,
CASE special_feature WHEN 'personal' THEN TRUE ELSE FALSE END AS is_personal
FROM dispo_prod.dispo_roll
WHERE _public=TRUE
), public_media AS (
SELECT
media_id,
BOOL_AND(is_personal) is_personal_max,
BOOL_OR(is_personal) is_personal_min,
TRUE AS is_public
FROM dispo_prod.dispo_rollmedia public_media
JOIN public_rolls ON public_rolls.roll_id=public_media.roll_id
GROUP BY media_id
)
SELECT
DATE(created) AS date,
SUM(CASE is_public AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS public_only_count,
SUM(CASE is_public AND is_personal_min WHEN TRUE THEN 1 ELSE 0 END) AS personal_only_count,
SUM(CASE is_public AND is_personal_min AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS personal_and_public_count,
SUM(CASE is_public WHEN TRUE THEN 1 ELSE 0 END) AS public_any_count,
COUNT() AS total_count
FROM dispo_prod.dispo_media media
LEFT JOIN public_media ON public_media.media_id=media.id
GROUP BY date
ORDER BY date
)
, parameters: None
[2022-02-24, 18:33:18 UTC] {{taskinstance.py:1703}} ERROR - Task failed with exception
Traceback (most recent call last):
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1513, in execute
ps = cache["ps"][key]
KeyError: ("\n            INSERT INTO dashboard_kpis.media_public (\n                WITH public_rolls AS (\n                    SELECT \n                        id AS roll_id,\n                        CASE special_feature WHEN 'personal' THEN TRUE ELSE FALSE END AS is_personal\n                    FROM dispo_prod.dispo_roll\n                    WHERE _public=TRUE\n                ), public_media AS (\n                    SELECT\n                        media_id,\n                        BOOL_AND(is_personal) is_personal_max,\n                        BOOL_OR(is_personal) is_personal_min,\n                        TRUE AS is_public\n                    FROM dispo_prod.dispo_rollmedia public_media\n                    JOIN public_rolls ON public_rolls.roll_id=public_media.roll_id\n                    GROUP BY media_id\n                )\n                SELECT\n                    DATE(created) AS date,\n                    SUM(CASE is_public AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS public_only_count,\n                    SUM(CASE is_public AND is_personal_min WHEN TRUE THEN 1 ELSE 0 END) AS personal_only_count,\n                    SUM(CASE is_public AND is_personal_min AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS personal_and_public_count,\n                    SUM(CASE is_public WHEN TRUE THEN 1 ELSE 0 END) AS public_any_count,\n                    COUNT() AS total_count\n                FROM dispo_prod.dispo_media media\n                LEFT JOIN public_media ON public_media.media_id=media.id\n                GROUP BY date\n                ORDER BY date\n            )\n            ", ())
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1332, in _run_raw_task
self._execute_task_with_callbacks(context)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1458, in _execute_task_with_callbacks
result = self._execute_task(context, self.task)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1509, in _execute_task
result = execute_callable(context=context)
File "/usr/local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/redshift.py", line 73, in execute
hook.run(self.sql, autocommit=self.autocommit, parameters=self.parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 205, in run
self._run_command(cur, sql_statement, parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 229, in _run_command
cur.execute(sql_statement)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/cursor.py", line 231, in execute
self._c.execute(self, operation, args)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1583, in execute
self.handle_messages(cursor)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1851, in handle_messages
raise self.error
redshift_connector.error.ProgrammingError: {'S': 'ERROR', 'C': 'XX000', 'M': '\n  -----------------------------------------------\n  error:  timeout expired\n\n  code:      25300\n  context:   \n  query:     0\n  location:  pgclient.cpp:535\n  process:   padbmaster [pid=14049]\n  -----------------------------------------------\n', 'F': '../src/external_catalog/external_catalog_api.cpp', 'L': '926', 'R': 'localize_external_table'}
[2022-02-24, 18:33:18 UTC] {{taskinstance.py:1280}} INFO - Marking task as FAILED. dag_id=dashboard_kpis.media_public, task_id=task_insert_data, execution_date=20220224T183301, start_date=20220224T183306, end_date=20220224T183318
[2022-02-24, 18:33:18 UTC] {{standard_task_runner.py:91}} ERROR - Failed to execute job 67 for task task_insert_data
Traceback (most recent call last):
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1513, in execute
ps = cache["ps"][key]
KeyError: ("\n            INSERT INTO dashboard_kpis.media_public (\n                WITH public_rolls AS (\n                    SELECT \n                        id AS roll_id,\n                        CASE special_feature WHEN 'personal' THEN TRUE ELSE FALSE END AS is_personal\n                    FROM dispo_prod.dispo_roll\n                    WHERE _public=TRUE\n                ), public_media AS (\n                    SELECT\n                        media_id,\n                        BOOL_AND(is_personal) is_personal_max,\n                        BOOL_OR(is_personal) is_personal_min,\n                        TRUE AS is_public\n                    FROM dispo_prod.dispo_rollmedia public_media\n                    JOIN public_rolls ON public_rolls.roll_id=public_media.roll_id\n                    GROUP BY media_id\n                )\n                SELECT\n                    DATE(created) AS date,\n                    SUM(CASE is_public AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS public_only_count,\n                    SUM(CASE is_public AND is_personal_min WHEN TRUE THEN 1 ELSE 0 END) AS personal_only_count,\n                    SUM(CASE is_public AND is_personal_min AND NOT is_personal_max WHEN TRUE THEN 1 ELSE 0 END) AS personal_and_public_count,\n                    SUM(CASE is_public WHEN TRUE THEN 1 ELSE 0 END) AS public_any_count,\n                    COUNT(*) AS total_count\n                FROM dispo_prod.dispo_media media\n                LEFT JOIN public_media ON public_media.media_id=media.id\n                GROUP BY date\n                ORDER BY date\n            )\n            ", ())
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/airflow/task/task_runner/standard_task_runner.py", line 85, in _start_by_fork
args.func(args, dag=self.dag)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/cli_parser.py", line 48, in command
return func(*args, **kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/utils/cli.py", line 92, in wrapper
return f(args, kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 292, in task_run
_run_task_by_selected_method(args, dag, ti)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 107, in _run_task_by_selected_method
_run_raw_task(args, ti)
File "/usr/local/lib/python3.7/site-packages/airflow/cli/commands/task_command.py", line 184, in _run_raw_task
error_file=args.error_file,
File "/usr/local/lib/python3.7/site-packages/airflow/utils/session.py", line 70, in wrapper
return func(args, session=session, kwargs)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1332, in _run_raw_task
self._execute_task_with_callbacks(context)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1458, in _execute_task_with_callbacks
result = self._execute_task(context, self.task)
File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 1509, in _execute_task
result = execute_callable(context=context)
File "/usr/local/lib/python3.7/site-packages/airflow/providers/amazon/aws/operators/redshift.py", line 73, in execute
hook.run(self.sql, autocommit=self.autocommit, parameters=self.parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 205, in run
self._run_command(cur, sql_statement, parameters)
File "/usr/local/lib/python3.7/site-packages/airflow/hooks/dbapi.py", line 229, in _run_command
cur.execute(sql_statement)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/cursor.py", line 231, in execute
self._c.execute(self, operation, args)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1583, in execute
self.handle_messages(cursor)
File "/usr/local/lib64/python3.7/site-packages/redshift_connector/core.py", line 1851, in handle_messages
raise self.error
redshift_connector.error.ProgrammingError: {'S': 'ERROR', 'C': 'XX000', 'M': '\n  -----------------------------------------------\n  error:  timeout expired\n\n  code:      25300\n  context:   \n  query:     0\n  location:  pgclient.cpp:535\n  process:   padbmaster [pid=14049]\n  -----------------------------------------------\n', 'F': '../src/external_catalog/external_catalog_api.cpp', 'L': '926', 'R': 'localize_external_table'}
[2022-02-24, 18:33:18 UTC] {{local_task_job.py:154}} INFO - Task exited with return code 1
[2022-02-24, 18:33:18 UTC] {{local_task_job.py:264}} INFO - 0 downstream tasks scheduled from follow-on schedule check
[2022-02-24, 18:33:18 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/dag.py:1076 SADeprecationWarning: Query.value() is deprecated and will be removed in a future release.  Please use Query.with_entities() in combination with Query.scalar() (deprecated since: 1.4)
[2022-02-24, 18:33:18 UTC] {{logging_mixin.py:109}} WARNING - /usr/local/lib/python3.7/site-packages//models/dag.py:1076 SADeprecationWarning: Query.values() is deprecated and will be removed in a future release.  Please use Query.with_entities() (deprecated since: 1.4)

I have tried:

execution_timeout=timedelta(seconds=600) in the DAG operator
"set statement_timeout to 600000" in the SQL commands sent to Redshift

Hi @justinmann ,
Following up to see if you're still experiencing this issue.

I'll be closing this out as I haven't heard back. Please re-open if you're still seeing issue here.


maxChips count seem not clear when remove chip on keyboard

ChipsInput(maxChips: 1)
I've assigned maxChips value to 1 then it actually work, but when the chip was remove by keyboard and I try to add a new one, it's not showing the suggestion box.

I'm facing the same issue. Have you found any resolve?

I'm facing the same issue. Have you found any resolve?


create marker_tag attribute for container_push

Modify the container_push() rule to add an attribute marker_tag. The attribute will be optional.
The marker_tag attribute will take the name of a tag. This will be in addition to the tag passed in the tag attribute.
When marker_tag is specificed, the following needs to happen:

When pushing the image, the marker_tag is added in addition to the tag to the container image.
Change behavior of skip_unchaged_digest, when it is set to is true:

Current Behavior
Currently the rule checks the docker repo for a matching image given the sha of the current image. if there is a matching image present, the rule ignores pushing. Code
New Behavior
If a matching image is found in docker repo, check image tag. If image tag == marker_tag then ignore pushing, else push anyway (cause its not the latest image)
Subtasks:

[ ] add marker_tag optional attribute
[ ] add marker_tag while pushing
[ ] change behavior of skip_unchaged_digest

sha= sha256 of image.
markerTag = "latest"

targetTag = "{GIT_COMMIT}-{BUILD_TIMESTAMP}"

//container_push() ensures sha exists in registry

current_tags = getTagSet for sha

if current_tags.contains(targetTag) {
	current_tags.add(markerTag)
} else {
	if !current_tags.contain(markerTag) {
		current_tags.add(markerTag)
		current_tags.add(targetTag)
	}
}

change 1  - sha1
{
	var x = 2+2
}

change 2 - sha2
{
	var x = 2+2
	println("hello")
}

change 3 - sha1
{
	var x = 2+2
}


regression: fix close channel and then send

LGTM
On Fri, Mar 27, 2015 at 8:18 AM, Hongchao Deng<EMAIL_ADDRESS>wrote:

You can view, comment on, or merge this pull request online at:
https://github.com/taskgraph/taskgraph/pull/42
Commit Summary

regression: fix close channel and then send

File Changes

M example/regression/master.go
https://github.com/taskgraph/taskgraph/pull/42/files#diff-0 (1)
M example/regression/slave.go
https://github.com/taskgraph/taskgraph/pull/42/files#diff-1 (2)

Patch Links:

https://github.com/taskgraph/taskgraph/pull/42.patch
https://github.com/taskgraph/taskgraph/pull/42.diff

—
Reply to this email directly or view it on GitHub
https://github.com/taskgraph/taskgraph/pull/42.


connected factory solution accelerator in the architecture diagram

Is your feature request related to a problem? Please describe.
No. But I do confused with what is the connected factory solution accelerator in the https://github.com/Azure/Industrial-IoT/blob/main/docs/media/IIoT-Diagram.png and the project https://github.com/Azure/azure-iot-connected-factory.
Describe the solution you'd like
Is there any examples of how to deploy a connected factory solution accelerator specified in the https://github.com/Azure/Industrial-IoT/blob/main/docs/media/IIoT-Diagram.png
Describe alternatives you've considered
Additional context

Please see https://www.azureiotsolutions.com/Accelerators.

I believe this the link you are provided is only an automated deployment for this  project.  The last update of this project is 17 month ago, and the project has use quite a few libraries which is obsoleted and heavily coupled with time series insights v1, I don't think there is a easy way to connected to Industrial-IoT project as described in the architecture.
Could you help to direct me the right way to link Connected factory accelerator/web based deployment  to Industrial-IoT


HDFS-17079. Fix inccorect extraction of removeChildBool

Description of PR
In OfflineImageReconstructor#removeChildBool, the value will always be recognized as "true" if the node is not null.
How was this patch tested?
Not tested, quite simple bug.
For code changes:

[x] Does the title or this PR starts with the corresponding JIRA issue id (e.g. 'HADOOP-17799. Your PR title ...')?
[ ] Object storage: have the integration tests been executed and the endpoint declared according to the connector-specific documentation?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE, LICENSE-binary, NOTICE-binary files?

Found out it's not a bug, the presence of the record indicates true, no need the record to be with "true" content.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 38s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

+1 :green_heart:
mvninstall
49m 56s

trunk passed

+1 :green_heart:
compile
1m 29s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
1m 19s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
checkstyle
1m 14s

trunk passed

+1 :green_heart:
mvnsite
1m 33s

trunk passed

+1 :green_heart:
javadoc
1m 16s

trunk passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
1m 43s

trunk passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
3m 23s

trunk passed

+1 :green_heart:
shadedclient
37m 39s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 19s

the patch passed

+1 :green_heart:
compile
1m 19s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
1m 19s

the patch passed

+1 :green_heart:
compile
1m 14s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
javac
1m 14s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  4s

the patch passed

+1 :green_heart:
mvnsite
1m 18s

the patch passed

+1 :green_heart:
javadoc
0m 59s

the patch passed with JDK Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
1m 34s

the patch passed with JDK Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

+1 :green_heart:
spotbugs
3m 23s

the patch passed

+1 :green_heart:
shadedclient
38m  7s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

-1 :x:
unit
221m 35s
/patch-unit-hadoop-hdfs-project_hadoop-hdfs.txt
hadoop-hdfs in the patch passed.

+1 :green_heart:
asflicense
0m 55s

The patch does not generate ASF License warnings.

373m 11s

Reason
Tests

Failed junit tests
hadoop.hdfs.server.namenode.ha.TestObserverNode

hadoop.hdfs.tools.offlineImageViewer.TestOfflineImageViewer

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5831/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5831

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 30fd603b2c4d 4.15.0-212-generic #223-Ubuntu SMP Tue May 23 13:09:22 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / d11c6c980e09b45c290acf6866063beba86a8f19

Default Java
Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.19+7-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u372-ga~us1-0ubuntu1~20.04-b09

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5831/1/testReport/

Max. process+thread count
3426 (vs. ulimit of 5500)

modules
C: hadoop-hdfs-project/hadoop-hdfs U: hadoop-hdfs-project/hadoop-hdfs

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5831/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Add formatting and linting

Description
This PR adds formatting and linting tools for markdown files and a CI workflow to run them. The motivation for this is that we're going to add more material to this repo, so it would be nice to have a consistent style and avoid variation in formatting.
It also formats the extant markdown files; the changes are minimal.
Drive-by: delete empty markdown files (these seemed confusing).

I don't know if we need both of these tools. Given prettier does both check and fix, do we need a markdown specific linter?

We discussed offline but just for the record here, it turns out that prettier doesn't check for or fix certain markdown-specific syntax issues like incorrect headers (e.g. #Header instead of # Header), so we need to use both prettier and markdownlint.


Support displaying vimtabs when statusline display is enabled

When g:wintabs_display is set to statusline, I'd like a way to surface the vimtabs display as part of the tabline. Currently, vimtabs are not displayed anywhere.
More specifically, I'm using airline and can add a custom addition to the statusline (I'm okay with doing some configuring work). Not sure if this is possible, but I'd like a function I can call to render the vimtabs display (customized with g:wintabs_ui_vimtab_name_format, in my case) inside of airline. Is it possible?
P.S. Thanks for your great extension, it's exactly what I've been looking for!

I added the vimtabs fragment as a publicly accessible function: wintabs#ui#get_vimtabs_fragment().
I'm not too sure how well it works with airline, as this fragment contains highlight groups and some other special tokens. If it doesn't work, you'll have to do some manual regex work to remove its special tokens. Do a quick :echo wintabs#ui#get_vimtabs_fragment() to see what it actually returns with your configuration.
You can see how I use it in my own vimrc: https://github.com/zefei/dotfiles/blob/master/.vimrc#L144-L162

Thank you! I was able to get it working in airline, using their plugin API. Here's my vimrc.


Copy from sheet to excel don't include styling

When copy data from the sheet and past in excel the copied data include just the test and not include the styling
For example if has color background the colored is lost
or if has border to copied cell the border not copied
in the revers direction it's work (if copied from excel to fortune-sheet)

hi, thanks for opening this issue. can you please verify this behaviour once with google sheets too? i dont have a local copy of excel to verify this, but i can see style like border/color are copied from google sheets without issues. including a demo video would be very helpful.

the issue occurs also in google sheets, the issue is when copy to google sheet no when copy from. the background are not copied. also the ward wrap and rotate
https://github.com/ruilisi/fortune-sheet/assets/30986221/03c93e9e-b6bd-4fbf-b600-b70cebe67766

ah i misunderstood your statement. i had verified that formatting is pasted from google to fortunesheet, and not vice versa.
i am keeping this issue open, but this would be more of a new feature request and would require some investigation into how google sheets expects the pasted text to be, in addition to testing this on excel too. might be interesting to study how pasting works between google and excel. would you be willing to contribute to the codebase?


Fix spelling of VIVOTEK in manifest

Proposed change

See: https://www.vivotek.com/
Type of change

[ ] Dependency upgrade
[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New integration (thank you!)
[ ] New feature (which adds functionality to an existing integration)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Example entry for configuration.yaml:

# Example configuration.yaml

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:
Link to documentation pull request:

Checklist

[ ] The code change is tested and works locally.
[ ] Local tests pass. Your PR cannot be merged unless tests pass
[ ] There is no commented out code in this PR.
[ ] I have followed the development checklist
[ ] The code has been formatted using Black (black --fast homeassistant tests)
[ ] Tests have been added to verify that the new code works.

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

[ ] Documentation added/updated for www.home-assistant.io

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

[ ] The manifest file has all fields filled out correctly.
Updated and included derived files by running: python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt.
Updated by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

The integration reached or maintains the following Integration Quality Scale:

[ ] No score or internal
[ ] 🥈 Silver
[ ] 🥇 Gold
[ ] 🏆 Platinum

I think this makes it a breaking change?

I don't think it's a breaking change since the entity ID is not impacted?


When FlexboxLayout has a margin value, child will accumulate the value, and make a wrong layout

When FlexboxLayout has a margin value, child will accumulate the value, and make a wrong layout

This can fix bug#36, and i had verified it.

Hi,
Thanks for the pull request.
Actually I think this fix isn't enough considering other justifyContent values other than flex_start.
The issue #36 should be closed by #41.
So I'm closing this PR for now.
Thanks!


Can't get php-language-server working

I've installed the https://github.com/roxma/LanguageServer-php-neovim plugin and set these variables:
let g:ale_php_langserver_use_global = 1
let g:ale_php_langserver_executable = globpath(&rtp,'vendor/felixfbecker/language-server/bin/php-language-server.php',1)
let g:ale_completion_enabled = 1

When opening a php file I get the following error
continuing in function <SNR>244_NeoVimCallback[4]..ale#util#JoinNeovimOutput[2]..<SNR>245_HandleCommandMessage[3]..ale#lsp#HandleMessage[20]..ale#lsp_linter#HandleLSPResponse[5]..<SNR>240_HandleLSPErrorMessage

Error detected while processing function <SNR>244_NeoVimCallback[4]..ale#util#JoinNeovimOutput[2]..<SNR>245_HandleCommandMessage[3]..ale#lsp#HandleMessage[20]..ale#lsp_linter#HandleLSPResponse[5]..<SNR>240_HandleLSPErrorMessage[9]..ale#lsp#response#GetErrorMessage:
line   24:
E712: Argument of get() must be a List or Dictionary

I'm pretty sure I'm missing something. Would love some help

I've checked to see what processes are running and I can't see php-language-server in there. I can see that phpcs runs fine.

Hey deevus,
The plugin you've installed seems to be an extension of the LanguageClien-neovim plugin, not ALE.
I'll test this and come back to you with the result of my tests

Thank you. I haven't installed the base plugin.
I had trouble installing php-language-server globally (due to dependency conflicts), and I didn't want to install it as part of projects where I'd be the only user of it.
I figured this plugin should work since all it does is bring php-language-server with it and I could configure ALE to use it.
I appreciate your help with this. I'm still searching for the best php experience in vim.

Have a look at :ALEInfo at see what it's trying to run.

@Luxed Can you share your ale config to make it work with php-langserver?
I finished installing felixbecker/language-server on global. But don't know where to go next.
Thanks.

@rawaludin I unfortunately had to reformat my laptop, so I lost the tests I made.
But, you can still do :h ale-php-languageserver to get the information on the 2 lines needed for the config to work on a global installation :p

The GitHub issue template now recommends asking for help with configuring ALE on Stack Exchange or Reddit instead.

Np thanks @w0rp

I also set up a Gitter, which is just about ready now, so people can talk on there too.


Circular Reference in Util package

Description
There is a circular reference that is causing the build to fail.  Looks like this is one of the problems:

Int256 references Bytes32 and Bytes32 references Int256

Acceptance Criteria

bytes and uint need to belong to the same package

Steps to Reproduce (Bug)

./gradlew clean build test

Never completes.  It just hangs

Adding to the mystery, I ran a git bisect, and it looks like f453180354ee903a078758e5cf9bec1aabb2ad91 is the first bad commit. No clue why that's causing gradle to lock up, but that's a task for tomorrow.


Code Review: fix cocoascript created blocks getting released one too many times (#19076)

Resolves BohemianCoding/Sketch#19076
Fix #210

Warnings

:warning:

This pull request may need a CHANGELOG entry.

:warning:

Source/dom/components/Document.js changed, but not its tests. That's OK as long as you're refactoring.

:warning:

Source/dom/components/Library.js changed, but not its tests. That's OK as long as you're refactoring.

  Generated by :no_entry_sign: dangerJS


Question: Does ecode support ARM architecture?

https://github.com/brechtsanders/winlibs_recipes/issues/41

Ecode does have aarch64 builds under releases and I have a build of ecode from this discussion on my phone.
Not sure if it's possible to build it for windows on arm tho


Crawler is not a function

Hi, I am trying to setup a basic crawler script but I am getting an error:
 new Crawler().configure({depth: 3}) ^ TypeError: Crawler is not a function     at Object.<anonymous> (/var/www/user/test2.js:3:1)     at Module._compile (module.js:410:26)     at Object.Module._extensions..js (module.js:417:10)     at Module.load (module.js:344:32)     at Function.Module._load (module.js:301:12)     at Function.Module.runMain (module.js:442:10)     at startup (node.js:136:18)     at node.js:966:3
test2.js
`var Crawler = require("js-crawler").default;
new Crawler().configure({depth: 3})
.crawl("http://www.google.com", function onSuccess(page) {
console.log(page.url);
});`
What I am doing wrong?

Am getting the exact same thing. I am using Typescript as well, but still the same error message.

remove .default, you will be fine

I was getting TypeError: Crawler is not a constructor and removing .default worked for me 👍


Suggestion: have an option which disable rendering the file

So I am trying out vanilla gan on a ssh server, and it is telling me there are no display.
I can simply hack around it by commenting out some line, but it is hacking, and I think it is better to have a option which turn it off.

Wait, I get a linux desktop, ssh -X into it, and it is not giving any display (I thought display is needed because the png are displayed as the model run).
It seems like it is another instance of https://stackoverflow.com/questions/2801882/generating-a-png-with-matplotlib-when-display-is-undefined
Closed.


Message limits

Name
Description

limits.message.rateLimits[].period
Rate limit period in milliseconds.

limits.message.rateLimits[].rate
Maximum number of messages during period.

limits.message.ipWhitelist
List of IPs (IPv4 or IPv6) to ignore rate limits.

Merge into #29


2021 grid icon update

Updated the developers.cloudflare.com products page to use new icons from brand and to use icons coming from per product folders instead of the brand-assets repo (cc and thank you @gganch and @dcpena).
Products currently with placeholders:

API security
BYOIP
Firewall Rules
Magic Firewall
Waiting Room

Old:

New:

I can't find the PR, but the icons were updated to the most recent version just a month or two ago. Closing this as a duplicate of completed work.


Cleanup code currently not run for plUpload

The following needs to run when the scope is destroyed to clean up the plUpload instance.
                scope.$on("$destroy", function ()
                {
                    uploader.destroy();
                });

Merged to master


SAMZA-1929: Automatically adjust changelog topic level settings, when RocksDB TTL is set

When TTL is set on RocksDB, the default usage of log compacted topic for changelog isn't appropriate. Ideally, it should match the behavior with a TTL.
So we would adjust changelog topic setting, when

TTL is set for RocksDB and
Changelog is enabled
User has not set them

And we would

Disable log compaction on Kafka changelog topic
Set topic TTL to be slightly larger than RocksDB TTL

User should be able to override this behavior through TableDescriptor.withConfig()

Thanks for adding this. Would prefer to not tie changelogs to Kafka, esp. in the API. Also, now that we have StreamDescriptors, I think it'll be better to accept a StreamDescriptor for the changelog (i.g., withChangelog(OutputStreamDescriptor). This way users can configure these system specific properties (replication.factor, cleanup.policy etc) on the stream itself, which makes more sense. What do you think?

@prateekm Updated based on our discussion

Confirmed with @nickpan47


Revamp Config Structs

Config options should align better with the Argument Type they affect instead of being crammed into cova.ParseConfig.

Added via:

https://github.com/00JCIV00/cova/commit/67f06c91cc0c989781c685d984423cff86ce256b


Moved: ByteDance.DouyinIDE version 3.0.9

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?


Unable to add rules

Describe the bug
Unable to add rules, save button reports no issues, no logging output.
To Reproduce
Steps to reproduce the behavior:

Connect Plex/Radarr/Sonarr/Overseerr
Click on Rules
Click on Add Rule
Complete with any combination of settings.

Expected behavior
Rule is created.
Device (please complete the following information):

OS: Official Docker
Version 2.2.0

Additional context
Rolled back to 2.1.2 and was able to create rule following same procedure.

When you say no logging output, did you check the browser console?

My apologies, I missed the console error, no network request is made since it is erroring on a null value here
tautulliWatchedPercentOverride: "" != D.current.value ? +D.current.value : void 0,

I just faced this bug after I installed Maintainerr for the fisrt time and was excited to try it out.
I'm glad you already have fixed it! @benscobie
Looking forward to see a merge soon