Not able to publish component - Error: Failed to add branch protection to 'Repo-Name'

The workflow to publish the application from the create catalogue templates fails with the error Error: Failed to add branch protection to 'Repo-Name', HttpError: Not Found
Expected Behavior
Backstage application should publish the template to github repo. (https://github.com/xyzco/backstage-test-app.git)
Current Behavior
Publish step fails with the error Error: Failed to add branch protection to 'Repo-Name', HttpError: Not Found
I am trying to publish to code the github organization (xyzco) https://github.com/xyzco/backstage-test-app1.git but instead it is trying with a different org/url. https://github.com//backstage-test-app.git
abc is the user created the github token.
Steps to Reproduce

Step 1
Click on Create Component  and Select Any component.
Provide below details
name:
description:
owner:
Step 2
Provide these details in the next page
Host: github.com
owner: ravargs
repository name: backstage-test-app
Step 3
In the Next step review details and submit
Name	backstage-test-doc
Description	backstage-test-app
Owner	ravargs
Repo Url	github.com?owner=ravargs&repo=backstage-test-app

Context
Error log
2021-07-08T03:05:55.805Z info: Creating new remote {dir=/tmp/a5d7c67d-110b-4793-a0eb-4af952d0439e,remote=origin,url=https://github.com/xyzco/backstage-test-app.git} {"timestamp":"2021-07-08T03:05:55.803Z"}
2021-07-08T03:05:55.808Z info: Pushing directory to remote {dir=/tmp/a5d7c67d-110b-4793-a0eb-4af952d0439e,remote=origin} {"timestamp":"2021-07-08T03:05:55.806Z"}
2021-07-08T03:05:58.448Z Error: Failed to add branch protection to 'backstage-test-app1', HttpError: Not Found
    at Object.handler (/app/plugins/scaffolder-backend/dist/index.cjs.js:972:15)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)
    at async TaskWorker.runOneTask (/app/plugins/scaffolder-backend/dist/index.cjs.js:2710:11)
    at async /app/plugins/scaffolder-backend/dist/index.cjs.js:2612:9

Your Environment

NodeJS Version (v14.16.0):
Operating System and Version: Ubuntu 20.04
Browser Information: Firefox
Release version : release-2021-06-28

This should be addressed by #6331 set to be released today!

It actually went out just now!

Can we close this now @ravargs?

Going to close, feel free to re-open if there's something we've missed!

@benjaminr - I would like to reopen the issue.
Even though the branch protection is resolved the backstage is trying to publish the repo to incorrect location.
If I provide 'backstage-test-app3' as the repo name to publish, backstage is trying to publish to https://github.com/user1/backstage-test-app3. user1 is the user for the personal access token.
If I provide https://github.com/myorg/backstage-test-app3 as the git repo, backstage is trying to publish to https://github.com/user1/https-github.com-myorg-backstage-test-app3
Review and create
Component Id	backstage-test-app3
Java Package Name	backstage
Description	testing
Owner	ravargs
Repo Url	github.com?owner=ravargs&repo=https%3A%2F%2Fgithub.com%2Fmyorg%2Fbackstage-test-app3

2021-07-13T06:58:17.098Z info: Creating new remote {dir=/tmp/188a62d4-151a-4699-8e26-73eafbf8b165,remote=origin,url=https://github.com/user1/https-github.com-myorg-backstage-test-app3.git} {"timestamp":"2021-07-13T06:58:17.097Z"}
2021-07-13T06:58:17.101Z info: Pushing directory to remote {dir=/tmp/188a62d4-151a-4699-8e26-73eafbf8b165,remote=origin} {"timestamp":"2021-07-13T06:58:17.101Z"}
2021-07-13T06:58:19.981Z warn: Skipping: default branch protection on 'https-github.com-myorg-backstage-test-app3', Not Found {"timestamp":"2021-07-13T06:58:19.980Z"}
2021-07-13T06:58:19.981Z Finished step Publish

2021-07-13T06:58:19.984Z Beginning step Register
2021-07-13T06:58:19.992Z info: Registering https://github.com/user1/https-github.com-myorg-backstage-test-app3/tree/master/catalog-info.yaml in the catalog {"timestamp":"2021-07-13T06:58:19.991Z"}
2021-07-13T06:58:20.027Z Finished step Register

@ravargs so just to confirm, you have something that looks like this:

In the owner field of the choose your location you have only placed in the name? not a full URL?

@ravargs so just to confirm, you have something that looks like this:

In the owner field of the choose your location you have only placed in the name? not a full URL?

In the owner field I was providing username instead of organization name.  If I provide organization name it works.
Thanks.

yeah the owner field is either the name of the organisation or name of the user.

I also ran into this issue when trying to use the name of a user instead of an org in the owner field. I was told this was to prevent another user (the owner of the PAT) from accessing your personal repos. So even if you use some kind of bot account you can't create personal repos for anything other than the bot account if I'm understanding correctly. (For orgs as the owner it works fine)
Can you confirm?

We recommend that you use Github Apps for authentication in production not PAT, but you should be able to enter a user or an organisation, not the full url, only the name in the RepoUrlPicker as shown above and it create repositories there. Don't think theres any special logic being it, it just needs to be the owner of the PAT IIRC.

This might be a separate discussion to have elsewhere but should a user be able to create a personal repo when using Github Apps? We've been unsuccessful there too.
InputError: No token available for host: github.company.com, with owner user1, and repo test-personal-repo-1

Oh sorry nevermind - looks like this is in the works https://github.com/backstage/backstage/issues/5214


added priority (optional) to DNSRecord interface

The response from creating the domain gives the required verification DNS records. The receiving DNS records have a priority section in the MX record part. This is not there for sending DNS records. Hence, added priority as an optional element in the DNSRecord interface

Irrelevant


whypytorch 1.8, still  report RuntimeError: Error compiling objects for extension

i use pytorch1.8, cuda11.1, still report RuntimeError: Error compiling objects for extension

I have no issue with 1.8

@jinfagang I met the same error with python3.6, nvidia driver 460.73, cuda11.1, cudnn8.1.0, cudatoolkit11.1, pytorch1.8.0, gcc5.4.0. So I want to know what version of your other packages?

@sunnyln I have no issue on both pytorch1.8 and cuda11.


Replace setup.py and requirements with pyproject.toml

@amotl suggested to adapt the project to newest standards and this PR is continuing his work and trying to implement the required changes to make it work as suggest with PEP 517

Thanks a bunch for taking over and bringing this into mainline, Benjamin!


Save recent closed tabs for restore

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Show recent closed tab in somewhere and let users to pick which one or bunch of them to reopen.
Additional context
May need to check chrome API.

Not needed since it supports search history now.


During CI test, only node0 is started

Bill of Materials or CLI Version
No response
Execution Environment
JUnit Extensions
Slf4j Logging Implementation
None
To Reproduce
Using test branch test-haproxy

run

export SCRIPT_NAME=direct-install.sh
./ci_test.sh

### Describe the bug

Node1 and node2 did not have any file upload to hedera directory

### Describe the expected behavior

All nodes should have file upload to hedera directory

### Whole JUnit/CLI Logs

```shell
N/A

Additional Context
No response

:tada: This issue has been resolved in version 0.29.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Misc fixes discovered during testing of CI

Collection of fixes. See commit by commit. Part of #118.

You okay with the gitlint failure?


YARN-11488. Handling CONTAINER_EXPIRED event will throw NEP if the reservation is removed from node

In AbstractYarnScheduler::completeOustandingUpdatesWhichAreReserved(), after getReservedContainer(), there is a certain possibility that  the reservedContainer is removed by calling SchedulerNode::setReservedContainer() asynchronously. It will throw NEP and resourcemanager would crash like below trace log.
2023-05-07 02:04:38,201 FATAL [SchedulerEventDispatcher:Event Processor] org.apache.hadoop.yarn.event.EventDispatcher: Error in handling event type CONTAINER_EXPIRED to the Event Dispatcher
java.lang.NullPointerException
at org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler.completeOustandingUpdatesWhichAreReserved(AbstractYarnScheduler.java:725)
at org.apache.hadoop.yarn.server.resourcemanager.scheduler.AbstractYarnScheduler.completedContainer(AbstractYarnScheduler.java:686)
at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.handle(CapacityScheduler.java:1927)
at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.handle(CapacityScheduler.java:172)
at org.apache.hadoop.yarn.event.EventDispatcher$EventProcessor.run(EventDispatcher.java:74)
at java.lang.Thread.run(Thread.java:748)
2023-05-07 02:04:38,201 INFO [SchedulerEventDispatcher:Event Processor] org.apache.hadoop.yarn.event.EventDispatcher: Exiting, bbye..

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 37s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

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
32m 38s

trunk passed

+1 :green_heart:
compile
0m 57s

trunk passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
compile
0m 51s

trunk passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

+1 :green_heart:
checkstyle
0m 54s

trunk passed

+1 :green_heart:
mvnsite
0m 56s

trunk passed

+1 :green_heart:
javadoc
0m 58s

trunk passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 46s

trunk passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

+1 :green_heart:
spotbugs
2m  1s

trunk passed

+1 :green_heart:
shadedclient
21m 20s

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

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
0m 44s

the patch passed

+1 :green_heart:
compile
0m 48s

the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javac
0m 48s

the patch passed

+1 :green_heart:
compile
0m 41s

the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

+1 :green_heart:
javac
0m 41s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 39s

the patch passed

+1 :green_heart:
mvnsite
0m 47s

the patch passed

+1 :green_heart:
javadoc
0m 40s

the patch passed with JDK Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1

+1 :green_heart:
javadoc
0m 37s

the patch passed with JDK Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

+1 :green_heart:
spotbugs
1m 48s

the patch passed

+1 :green_heart:
shadedclient
20m 54s

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

_ Other Tests _

+1 :green_heart:
unit
113m 31s

hadoop-yarn-server-resourcemanager in the patch passed.

+1 :green_heart:
asflicense
0m 39s

The patch does not generate ASF License warnings.

204m 30s

Subsystem
Report/Notes

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

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

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

uname
Linux 1961e1975afd 4.15.0-206-generic #217-Ubuntu SMP Fri Feb 3 19:10:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 57a9fa2ec9cd630946a7aa11e6003805b935e40d

Default Java
Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.18+10-post-Ubuntu-0ubuntu120.04.1 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_362-8u362-ga-0ubuntu1~20.04.1-b09

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

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

modules
C: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager U: hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5627/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.


New package: FLoops v0.1.1

Registering package: FLoops
Repository: https://github.com/JuliaFolds/FLoops.jl
Created by: @tkf
Version: v0.1.1
Commit: 5c449b9b771eb62099ee711caeabfb41974d64db
Reviewed by: @tkf
Reference: https://github.com/JuliaFolds/FLoops.jl/issues/23

Please close this in favor of #18644.


How can I query for unique array elements across DB?

Hi,
Every doc in my database has a tags property which consists of an array of strings. Different docs can contain the same tags.
For example:
    docA: {
      _id: "1234567",
      tags: ["foo", "bar"]
    },
    var docB: {
      _id: "9876543",
      tags: ["bar", "baz"]
    }

What I need to do is to collect all unique tags across all docs.
Should I be using $elemMatch for this instead of a design doc? If so could you please provide an example? @nolanlawson mentioned a while back $elemMatch in #46 so I wanted to check first before I go and create a design doc for this.
Thanks for your help!

$elemMatch is working now and should help you here.

On 28 Jan 2016, at 2:49 PM, Kobe Attias<EMAIL_ADDRESS>wrote:
Hi,
Every doc in my database has a tags property which consists of an array of strings. Different docs can contain the same tags.
For example:
docA: {
  _id: "1234567",
  tags: ["foo", "bar"]
},
var docB: {
  _id: "9876543",
  tags: ["bar", "baz"]
}

Should I be using $elemMatch for this instead of a design doc? If so could you please provide an example? @nolanlawson https://github.com/nolanlawson mentioned a while back $elemMatch in #46 https://github.com/nolanlawson/pouchdb-find/issues/46 so I wanted to check first before I go and create a design doc for this.
Thanks for your help!
—
Reply to this email directly or view it on GitHub https://github.com/nolanlawson/pouchdb-find/issues/152.

Hey @garrensmith I forgot to post my question in the issue. I just updated it.
What I need to do is to collect all unique tags across all docs. Is $elemMatch the operation of choice in such a case? How would I go about using it to query for unique tags across user docs? Thank you.

You cannot do that via pouchdb-find. Best to use a map-reduce view for that.

On 28 Jan 2016, at 3:42 PM, Kobe Attias<EMAIL_ADDRESS>wrote:
Hey @garrensmith https://github.com/garrensmith I forgot to post my question in the issue. I just updated it.
What I need to do is to collect all unique tags across all docs. Is $elemMatch the operation of choice in such a case? How would I go about using it to query for unique tags across user docs? Thank you.
—
Reply to this email directly or view it on GitHub https://github.com/nolanlawson/pouchdb-find/issues/152#issuecomment-176189690.

Okay that's what I suspected. Thank you.


Add a slide on order of evaluation for function arguments

During a discussion in the essentials course we noticed that we never discuss the order of evaluation of arguments.
This might be a topic for the advanced course.

Hey,
I want to contribute into this issue.

Hello @krishnasingh-09,
that's great to hear, go for it!
We will be happy to review once it's done!


Autocomplete and autocorrect

Because I'm working on a math formula editor:
In a lovely editor of your dreams, what would you expect to type to get $$\limsup_{x \to \infty} 2x$$ ?
Here are a few different "shortcut" variants: Do note that they are closer to macros/autocomplete suggestions than they are to conventional shortcuts.
Typing and it automatically applies the shortcut, see https://cortexjs.io/mathlive/ and http://mathquill.com/

Should typing lim followed by hitting the Backspace result in li being typed?

Indicating that you're using a shortcut by typing \lim and then hitting enter

Should that automatically submit the shortcut whenever possible?

Typing lim and then it suggests the shortcut, like VSCode does when you type for. See also https://www.mathicando.com/#!/demo
-- stefnotch

Mathlive autocomplete (accept with space, I guess)
limn[space] turns into lim_{n \to \infin}
limnto-[space] turns into lim n to -infinity
lim[space] turns into lim
liminf is \lim \inf
What shortcut does Mathcad have for infinity? (00 or oo could work?)

Inside a $\lim_{cat \to 42} |$, the word "cat" is very much something that the autocomplete could suggest, if the user provides a parser that tracks variables and such.

Open questions:

What should space do? Accept or reject? Also, should a^2+4 followed by space jump out of the exponent?
Should typing in the next token automatically accept the autocompletion (if it was a perfect match)? e.g. Typing \sum_

Space should simply insert a space   character. We need that for $a\ b$ being two separate symbols. After all, we have a greedy lexer/parser, and thus we need a way to "stop" it.

Oh look at what super smart thing MathICanDo does!

How does autocomplete even work when there are multiple cursors?
Code_2023-07-02-0310.webm
I'm autocompleting lim but I also have a second cursor at an empty place.
Answer: Not sure if there is even an intuitive answer. So doing literally anything[1] is fine.
[1] Anything other than failing horribly.

Regarding autocorrect
/_^ logic is simply

Input symbol()
Check if it's an escaped token after parsing
If it's not an escaped token, do the special thing.

Reasoning is very simple: it'd be annoying if 1_a_b suddenly behaved differently, just because someone implemented a italics parser. Same goes for a^= and other stuff.
That logic is hardcoded, which is fine, I think.

The delayed autocorrect can handle quite a lot. The user can type stuff like inN to get $\in \mathbb{N}$. Notice how there's no space between the $in$ and the N.
That is because $\in$ is the only sensible symbol for in. So the parser picks up on that and makes use of the knowledge.

Rules to follow
https://jeremymikkola.com/posts/2019_03_19_rules_for_autocomplete.html


overwrite files with same content

this is to cover programs that don't respect symlinks and continuously
overwrite files. this change makes it so files whose contents match
their to-be linked target's, should be overwritten by default.
add new files_are_same() function in /lib/fs.sh to perform file
content comparison.
update tests

files_are_same() could be extended to also support logical json comparison via jq:
files_are_same() {
  local f1="$1"
  local f2="$2"

  if command -v jq >/dev/null 2>&1 && jq -en --slurpfile a "$f1" --slurpfile b "$f2" '$a == $b' >/dev/null 2>&1; then
    return 0
  elif command -v cmp >/dev/null 2>/dev/null; then
    cmp --silent -- "$f1" "$f2"
    return $?
  elif command -v diff >/dev/null 2>/dev/null; then
    diff -- "$f1" "$f2" >/dev/null 2>/dev/null
    return $?
  fi

  # if we don't have any supported file comparison tools availabe, return falsey:
  return 1
}

This should probably be opt-in feature though.

No worries, it's not an urgent feature anyways.

The json comparison is definitely too complex for something like homeshick. By relying on jq you introduce a dependency

True, but all the dependencies are handled in a safe way, ie if dependency is not avail or its execution fails, we default back to as-is function.
I'd prefer to make this an opt-in boolean config that most users wouldn't have to ever even think about. Only ones taking their time going through the docs might get interested.

Regarding the original change: Could you give some concrete scenarios where this is necessary?

I've noticed Deluge (a torrenting daemon) do that to its config and some of its plugin config files. Have seen it years before (long-time homeshick customer here), but don't recall the details.
It's by no means a needed feature, just a QoL thing. I know homeshick is way more complex of a program than it sounds, so if you feel uncomfortable piling on a feature few people would be interested in, I absolutely understand.

opt-in boolean config

Yeah, and that's the problem. I've managed to keep homeshick config-free so for now. The reason being that config files introduce a lot of complexity and allow for feature creep. Additionally behavior can be altered based on the config, making troubleshooting much harder. It's powerful of course, but after so many years of maintaining it without, I've come to the conclusion that for this piece of software at least, it's simply not worth the trouble. The simplicity is a strength in this case.
Looking at deluge I can see that they actually use realpath() to resolve the configfile path. This was an issue in an older version (see here). Alternatively you can always convert the directory in which the config resides into a symlink, then deluge can do as many overwrites as it likes while you still track the changes.

I'm closing it for now. The use case is valid, but I'd much rather like the individual programs that are misbehaving to get fixed. This way the issues can eventually become resolved, rather than everybody having to work around them.

(Though I might cherry-pick some of your syntax fixes though, also good job on the tests! This was a solid PR!)


Fixed Bundle Product Btn

BUG
#6953

Fixed Bundle Product Cart Button issue

@akathuria289
Please fix it for grouped products also.

@akathuria289
Any update?

Closing this pull request as no activity from the last 1 months.
Feel free to open a new pull request once done.


jsdoc @typedef reference don't work after a function declaration

From @VitorLuizC on March 24, 2017 14:40

VSCode Version: Code - Insiders 1.11.0-insider (e1d2e7b41c22acf9c3f63123842d5231bfbc2fae, 2017-03-24T09:14:58.926Z)
OS Version: Windows_NT ia32 10.0.14393
Extensions:

Extension
Author
Version

Bookmarks
alefragnani
0.12.0

vscode-eslint
dbaeumer
1.2.8

EditorConfig
EditorConfig
0.6.2

vscode-icon-theme
jtlowe
1.5.0

vetur
octref
0.5.6

vscode-icons
robertohuertasm
7.4.0

vscode-theme-darcula
rokoroku
1.0.13

language-stylus
sysoev
1.6.0

Steps to Reproduce:

Write a JSDOC @typedef comment;
Add a function declaration after that;

PS:

With function expression it work fine;
@typedef only work for the function declaration itself.

My code for test purposes
/**
 * An accent's structure to provide finder and replacer.
 * @typedef {Object} Accent
 * @property {string} literal
 * @property {string} entity
 * @property {(string|undefined)} expression
 */

/**
 * Find an accent by accent expression or literal and replace to entity.
 * @param {string} text
 * @param {Array.<Accent>} accents
 */
function replaceAccent(text, accents) {
  let finder = new RegExp(`(${
    accents
      .map(accent => (accent.expression) ? accent.expression : accent.literal)
      .join('|')
  })`, 'g');

  return text.replace(finder, matched => {
    return accents.find(accent => accent.literal === matched).entity || matched;
  });
}

/**
 * Plugin settings.
 * @typedef Options
 * @type {Object}
 * @property {Array.<Accent>} dictionary
 * @property {boolean} append Append custom dictionary values to default one
 */

/**
 * Default plugin options.
 * @type {Options}
 */
const defaultOptions = {
  dictionary: [],
  append: true
};

Copied from original issue: Microsoft/vscode#23163

I verified this on 2.2.2 and don't see anything suspicious in the VSCode communications with the TSServer

Seems fixed in latest.


User permissions functions

is_manager, is_employee, is_admin
Each function will get a user (not sure if an object or an id) and check if it is one of the three roles (manager, employee, admin) and return a Boolean with the answer. That will be useful to check who is the user that now on the site and showing the right state.

I'm on it @aradz1997


Is there a plan for slog-gorm?

HI @samber
Thanks for your awesome work for slog, is there a plan for slog-gorm? You know, gorm is an famouse ORM framework, it will be wonderful if there is a slog adapter for it.
Thank you.

hi @rts-gordon,
I made no plan for such handler because we cannot predict the attribute the developer wants to inject into dedicated columns vs catch-all jsonb column.
If you have any idea on that point, I suppose we can push it forward.

Hi @samber
Maybe we don't have to think about columns, just think about logs for gorm.
There is another repo about slog-gorm for reference.

Oh! I see. I was thinking about a handler for pushing logs to a SQL database.
What would be the value compared to slog-gorm ?

yes, slog-gorm is good enough.
Just thought it would be better that all slog adapter come from one source. haha :)


Update aeson, attoparsec, dlist bounds

It builds with ghcjs-8.6 and tests almost pass, except e.g.
  [Char]:
    pure_to_from_jsval: [Failed]
*** Failed! Falsified (after 6 tests and 3 shrinks):
"\138423"

i.e. when Chars generated by recent QuickCheck are out out of BMP (don't fit into 16bit).
I think these failures are not related to this PR.

@hamishmack why you ignored this PR. Would been nice to get a comment

This seems to be done in https://github.com/ghcjs/ghcjs-base/commit/6ce697ad75f55e2d59dae017b84bf1945c5e8795


I don't know how to have a valid NC program

Hi Papooch,
Could you share folder has NC program valid to learn more about my error (is not a valid NC program), i see it on 'D:\Ondra\Stuff\OneDrive\VUT\DP\moje\gcode' at your pc when read  wasteoptimiser/main.py.
Thanks.

Oh wow, I didn't expect anyone to actually use this :) I didn't actually touch it after my graduation and it seems the path is hardcoded in the source for some reason. If I remember correctly, if you point it to a folder with planar .gcode files, they will show up in the GUI.

Thanks again, WasteOptimiser is amazing, I'm a mechatronics student at HCMUT, now, I'm learning more about the nesting algorithm for my final thesis - cnc fabric cutter

@tonyteo-git were you able to make it work? If you'll need some further assistance, feel free to hit me up.

I pushed the folder with shapes to github, now the GUI should open with the folder correctly set up #23


fix reinterpret_cast fix length types to int8 is not safe

bp: #35912
Proposed changes
Issue Number: close #xxx

run buildall


Feat: added encryption of shares

Feat: added encryption of shares
I've added AES encryption to the shares generated during the secret splitting process. This ensures that even if someone gets their hands on the shares, they won't be able to access the original secret without the proper keys.
#136
🛠 Type of Change

[ ] 🐛 Bug fix
[x] ✨ New feature
[ ] 🚨 Breaking change
[ ] 📚 Documentation update

✅ Checklist
To ensure a smooth review process, please check off each item as you complete it:

[x] Code Style: My code adheres to the project’s style guidelines.
[x] Self-Review: I have reviewed my own code and made improvements.
[x] Comments: I’ve added comments to explain complex or non-obvious parts of the code.
[ ] Documentation: I’ve updated the documentation to reflect my changes.
[x] Warnings: My changes introduce no new warnings.
[ ] Tests: I’ve added tests to verify that my changes work as expected.
[ ] Passes Locally: All new and existing unit tests pass on my local machine.

We appreciate your contributions! If you have any questions or need further assistance, feel free to reach out.

Hi @lakshayvaishnav why are we not using IV over here ?
would like to know if it was a deliberate decision and if not then we need to use IV while encrypting
IV

Also we have to handle three shares of the private key right now


Added functionality for listen only

Hey @cedricfung - here is the PR for the listen only methods as promised.
The client will call the RPC method 'registerListenOnlyPeer' to create a peer which has a cid set to a listen only identifier. This is in lieu of calling the publish method. The user can then proceed as normal, repeatedly calling the subscribe method.
This code seems to be working but is not substantially tested yet. If you have any suggestions of how to do so, please let me know.

Hey @cedricfung - I just added the changes to reflect the design you had suggested. It's very different (and much simpler) than my last iteration. However, I'm having quite a hard time setting up an environment to make sure it functionally works. I figured I would add the changes for now anyway so we can have a dialogue on it while I'm working on getting it tested.

Hey @cedricfung - I finally got my test environment working and am making some changes. One gnarly issue I'm running into is with the proposal you made here to have a peer not have an SDP.
I tried both:

Adding an empty webrtc.SessionDescription which resulted in a 500305 error from kraken.
Changing the create method so that it skips adding the remote description for a listen only peer, which resulted in a 500306 error from kraken.

Here are some options I see of fixing this:

Going back to the design of creating a separate registerListenOnlyPeer before the subscribe method so that the client can supply a valid session description as a parameter.
Having a new optional subscribe parameter which takes a valid session description as a parameter.
Doing some clever webrtc workaround which I am not experienced to know about.

Let me know what you think if you can in the next couple of days, otherwise I'll just proceed with the plan I see as most sensible.

I decided to revert back to the original design of having a separate registerListenOnlyPeer method, as I believe that is the simplest/cleanest way of adding the functionality without changing too much (almost anything) or what is already written. I was able to test this code in production and it appears to be working just fine.
Please let me know if there are any changes you would like to see here before approving.

Hey @cedricfung - do you have any updates here? I've been using my forked version to test my app for about a month now and everything appears to be working fine with listen-only mode. Is there anything you'd like me to change before approving?

Sorry for the delay. I have tried to merge this and do some code refactor. But found it would make code too complicated. However I am still going to make progress on this, so leave this open.

No worries @cedricfung - certainly don't want to mess up your codebase. But this functionality is critical for my specific use-case, so I'm going to just use my forked branch until it gets rolled in. Let me know when you take another look at it and if you'd like any further help from me.

Hey @cedricfung any news about this? The feature is super hot right now (clubhouse effect) 🥳

@jbenguira I'm working on this feature.


List#sort does not cause {{#each key}} to update

When using the can/list/sort plugin in CanJS 2.2.1.
See http://jsbin.com/cogafezomo/2/edit?html,js,output
It will update a list rendered with {{#key}} but not when rendered with {{#each key}}.

The reason this isn't working is because of additional text nodes in the template (whitespace, new lines, etc).
This will work with those removed.. http://jsbin.com/fomequfosa/1/edit?html,js,output
That said, this issue exposes others at the DOM manipulation layer of the Sort plugin.
@daffl and I will be taking a look later today.


Assert 9.20 binaries

Please rename the file to assertion-nickez2.sig so the name matches the pubkey name.

It's new subkeys so I replaced the old one. I guess that is correct since CI passes?

Please rename the file to assertion-nickez2.sig so the name matches the pubkey name.

It's new subkeys so I replaced the old one. I guess that is correct since CI passes?

Yes new subkeys should be fine, and your old assertions still pass :+1:


Notifications for annotators and reviewers

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues
It is very inconvenient that after setting Job for validation, the reviewer does not receive any notification with a link to the job. Also, assignee is not notified of the end of validation. A large project is difficult to navigate, so a notification with a link to Job would greatly simplify the job evaluation process.

Expected Behaviour
After Requesting a review, the reviwer receives a notification in the GUI or e-mail with information about the assignee, a link to the Job. After the end of the validation, the assignee receives either a message about the successful validation, or about the number of Issues that need to be corrected and link to the Job.
Current Behaviour
No notifications after requesting a review or finishing validation.
Possible Solution
Add notifications either to GUI, or e-mail for both, assignee and reviewer.
Context
It is difficult to navigate in large project, and it slows down the validation process.
 No
Operating System and version (e.g. Linux, Windows, MacOS): GNU/Linux Ubuntu
4.15.0-136-generic
x86_64

Exactly, it's an important function.

Greetings,
Has there been a development regarding this?

I would like to work on this.


[BUG] - Named export 'gfmStrikethrough' not found

Any idea what might be causing this build error? worked fine before
Collecting page data  .file:///home/tyler/Launchpad/MemePad/frontend/node_modules/@mdxeditor/editor/dist/plugins/core/index.js:32
import { gfmStrikethrough } from "../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js";
         ^^^^^^^^^^^^^^^^
SyntaxError: Named export 'gfmStrikethrough' not found. The requested module '../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js' is a CommonJS module, which may not support all module.exports as named exports.
CommonJS modules can always be imported via the default export, for example using:

import pkg from '../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js';
const { gfmStrikethrough } = pkg;

    at ModuleJob._instantiate (node:internal/modules/esm/module_job:134:21)
    at async ModuleJob.run (node:internal/modules/esm/module_job:217:5)
    at async ModuleLoader.import (node:internal/modules/esm/loader:323:24)

> Build error occurred
Error: Failed to collect page data for /Dashboard/CreateListing
    at /home/tyler/Launchpad/MemePad/frontend/node_modules/next/dist/build/utils.js:1268:15 {
  type: 'Error'
}
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

https://github.com/mdx-editor/editor/commit/1bab51b4222194ebdb70ca66155273e00a009850
Seems to come from here, version before this works fine

How can I reproduce this on my side? Just upgraded the sample next project to the latest version, and it runs and builds without issues.


Hi, I am trying to call the python script from Spring boot Java application which is containerized with Google Jib.

I am trying to call a python script for some business purposes which is containerized with Google Jib.  I would like to know how can I copy python into the jib if it's possible , so that it will allow me to call the script from the application itself.

This is just to copy the script file.  How about copy python executable to run python script as a process.

@NitinSharma1991 similar to what was described above, to make Python binaries available to your Java application within the container, you can use Jib's extraDirectories feature to copy them into the desired location.  This Maven and Gradle doc explains how you can add arbitrary files to the jib container (the python binary can be added the same way). By default, the file will be copied onto the src/main/jib directory but the destination can be customized as instructed in the links attached.

Closing as there is no followups from issue reporter.  Feel free to reopen if you still have questions on this topic.


lateinit version due to nodegroup conflict

Description of your changes
This is a followup to PR https://github.com/crossplane-contrib/provider-upjet-aws/pull/977, and adds the version field.

[ ] Read and followed Crossplane's contribution process.
[ ] Run make reviewable to ensure this PR is ready for review.
[x] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

/test-examples="examples/eks/v1beta2/cluster.yaml,examples/eks/v1beta2/identityproviderconfig.yaml,examples/eks/v1beta2/nodegroup.yaml"


ENHANCEMENT: make it easier to extend email

Affected Version
SS 5.0
Description
It is really hard to extend Email.  I have a module that extends the Email Class, but there is no way to get between the compilation of the email body  (updateHtmlAndTextWithRenderedTemplates) and the sending of it.
updateHtmlAndTextWithRenderedTemplates should be a protected function OR there should be a $this->extend at some point. I am happy to code this if this is a good idea. .

This is what I ended up doing:

    /**
     * @param resource|string|null $body
     *
     * @return $this
     */
    public function html($body, string $charset = 'utf-8'): static
    {
        if (null !== $body && !\is_string($body)) {
            $body = self::emogrify_html($body);
        }
        return parent::html($body, $charset);
    }

Your workaround seems like it's very low effort - what use case do you foresee the proposed extension hook allowing you to do that your workaround doesn't allow?

Yes, that is a very fair point.  It just took me a lot of time to even work out where to find that point so it may be better just to improve the docs - e.g.

### extensions
If you, for example, would like to add inline CSS to your email using something like Emogrifier (https://github.com/MyIntervals/emogrifier) then you could look at extending the `html` method.

However, one of the issues is, for example, that this set html method can be called multiple times and that this is hard to control.  So, ultimately, it would still be good to have a justBeforeSending point,  where you can add any extras, etc...

Adding inline CSS sounds like something to handle in your email template, or however else you're defining your HTML body.
A "before sending point" sounds like something you're probably better off handling via symfony/mailer functionality, i.e. by adding an event subscriber to the message event.
In either case I don't think any new extension hooks or changes to method visibility are required in this case.

that all makes sense.  The emogrifier technique is a technique where you merge CSS and HTML for email purposes.  This is done in PHP, so it can't really be done in the template.
I am happy for this one to close and someone can re-open it if they feel the same way.


Weave Net Daemonset fails to restart pod due to existing dummy interface

What you expected to happen?
The Weave Net Daemonset, who controls the weave-net pod in each node, should be able to restart a pod in a node when it fails / stopped for any reason.
What happened?
The weave-net pod gets Error and CrashLoopBack status and unable to function again, until I terminate that node.
How to reproduce it?
SSH into a node, use docker command to kill the weave-net container. Of course, this is just for re-produce. In fact, when on our production cluster, we sometimes meet the situation when weave-net crashes on a node and don't know why.
The logs point out that weave-net fails to create dummy interface:
FATA: 2018/09/26 05:08:04.369497 creating dummy interface: file exists

I have a small investigation, and it looks like the bug comes from net/bridge.go, in function initPrep, at those lines:
	dummy := &netlink.Dummy{LinkAttrs: netlink.NewLinkAttrs()}
	dummy.LinkAttrs.Name = "vethwedu"
	if err = netlink.LinkAdd(dummy); err != nil {
		return errors.Wrap(err, "creating dummy interface")
	}

Before the weave-net starts, it creates a dummy interface object, and when my pod starts, the interface already exists, checked with ip link | grep vethwedu command:
96782: vethwedu: <BROADCAST,NOARP> mtu 1376 qdisc noop state DOWN mode DEFAULT group default qlen 1000

It looks like in the previous session of weave-net, it fails to delete this dummy interface, or it is killed before deleting it. When I delete the dummy manually with ip link delete vethwedu, the pod runs smoothly and back to normal.
Adding a small check and delete if the dummy exists before creating a new one would solve this problem. Is it a good solution for this? If that's okay, I'll open an PR.
	if existingDummy, err = netlink.LinkByName("vethwedu"); err == nil {
            if err := netlink.LinkDel(existingDummy); err != nil {
              return errors.Wrap(err, "deleting existing dummy interface")
	    }
	}
        //...

Anything else we need to know?
I run our Kubernetes cluster on AWS, using KOPS.
Versions:
$ weave version: 2.4.1

$ docker version
Client:
 Version:      17.03.2-ce
 API version:  1.27
 Go version:   go1.7.5
 Git commit:   f5ec1e2
 Built:        Tue Jun 27 02:09:56 2017
 OS/Arch:      linux/amd64

$ uname -a
Linux ip-172-50-52-229 4.4.121-k8s #1 SMP Sun Mar 11 19:39:47 UTC 2018 x86_64 GNU/Linux

$ kubectl version
Server Version: version.Info{Major:"1", Minor:"9", GitVersion:"v1.9.8", GitCommit:"c138b85178156011dc934c2c9f4837476876fb07", GitTreeState:"clean", BuildDate:"2018-05-21T18:53:18Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Logs:
$ kubectl logs -n kube-system <weave-net-pod> weave

DEBU: 2018/09/26 05:08:04.266053 [kube-peers] Checking peer "7a:1f:1c:b2:b7:7e" against list &{[{ea:43:25:46:a3:95 ip-172-50-61-167.ap-southeast-2.compute.internal} {16:ac:8c:71:55:20 ip-172-50-80-215.ap-southeast-2.compute.internal} {3e:af:c2:26:08:00 ip-172-50-110-136.ap-southeast-2.compute.internal} {2e:04:f7:c2:42:71 ip-172-50-32-17.ap-southeast-2.compute.internal} {32:4d:7c:65:31:8d ip-172-50-50-186.ap-southeast-2.compute.internal} {ae:92:06:fd:b3:e7 ip-172-50-93-2.ap-southeast-2.compute.internal} {7e:69:df:8f:8f:17 ip-172-50-41-197.ap-southeast-2.compute.internal} {62:aa:0a:e8:65:96 ip-172-50-109-73.ap-southeast-2.compute.internal} {f6:30:3e:1d:4b:8b ip-172-50-113-192.ap-southeast-2.compute.internal} {7a:1f:1c:b2:b7:7e ip-172-50-52-229.ap-southeast-2.compute.internal} {12:b7:c5:3d:f4:82 ip-172-50-67-61.ap-southeast-2.compute.internal} {aa:0d:6b:9c:56:9b ip-172-50-44-14.ap-southeast-2.compute.internal} {82:e9:f1:ce:c5:29 ip-172-50-58-155.ap-southeast-2.compute.internal} {26:a8:11:0d:76:e2 ip-172-50-33-242.ap-southeast-2.compute.internal}]}
INFO: 2018/09/26 05:08:04.297726 Command line options: map[ipalloc-range:<IP_ADDRESS>/11 port:6783 docker-api: expect-npc:true host-root:/host nickname:ip-172-50-52-229.ap-southeast-2.compute.internal conn-limit:100 db-prefix:/weavedb/weave-net http-addr:<IP_ADDRESS>:6784 metrics-addr:<IP_ADDRESS>:6782 name:7a:1f:1c:b2:b7:7e datapath:datapath ipalloc-init:consensus=14 no-dns:true]
INFO: 2018/09/26 05:08:04.297772 weave  2.3.0
FATA: 2018/09/26 05:08:04.369497 creating dummy interface: file exists

thanks @nguyenquangminh0711 for reporting this issue.
Its strange your cluster ended up in this situation. As you may have seen in the code, dummy interface is created and immediately deleted. Do you happen to see any reason in the weave pod logs why dummy interface failed to get deleted?
Its corner case, but its good to handle gracefully. Please submit the PR. May be you can simplify
if err = netlink.LinkAdd(dummy); err != syscall.EEXIST {
	return errors.Wrap(err, "creating dummy interface")
}

Hi @murali-reddy, thanks for your quick reply, I have just capture the logs of the previous session:
FATA: 2018/09/26 06:41:38.227346 setting dummy interface master: exchange full

It looks like it crashes at these lines, right before the dummy interface is deleted. That's why it is left to the next restart.
	if err := netlink.LinkSetMasterByIndex(dummy, b.bridge.Attrs().Index); err != nil {
		return errors.Wrap(err, "setting dummy interface master")
	}

The LinkDel in that code really should be done in a defer block right after creation. Though we still need to gracefully handle the presence of the interface in any case, since a tiny window will remain where if the process is killed the interface would survive.

FATA: 2018/09/26 06:41:38.227346 setting dummy interface master: exchange full

This indicates that there were 1024 connected veth pairs to the weave bridge. @nguyenquangminh0711 How many pods did you run on the failing node?

@brb Not much, just 41 pods on that nodes. And most of the pods are in ContainerCreating because they can not schedule the pods.

@nguyenquangminh0711 Can you run ip -o link from the node?

@brb When running your command, there are 1023 items. It looks like it exceeds the total number of 1024. The details of the ip links:
https://gist.github.com/nguyenquangminh0711/4dcb3926b6b8e00255e34cf9c5c7bfa6

@nguyenquangminh0711 Thanks. Can you paste kubelet logs?

@brb I fetched the logs from the nodes, including kube-controller-manager, kube-proxy and kube-scheduler of the failing nodes. That's all what I can find in /var/log. Not sure that's what you are asking for? https://gist.github.com/nguyenquangminh0711/39835eedd752986a46dc8554832d2ffc
I observe that there are a lot of failures when the node tries to read from etcd. I don't whether that relates to the issue?

Hi @brb, sorry for my late response. Our logs are centrialized and not indexed properly, so I have to take some actions to extract the logs. Here is the logs of the failed node from start to killed:
https://gist.githubusercontent.com/nguyenquangminh0711/39dceff835e0d39e365c29dc1d958118/raw/fee8fc835cfc71e9fb9e32936b7d0abe8afaf275/Kubelet%2520logs
It looks like before it goes to the situation of CrashLoop, there are tons of logs like this:
2018-09-25 16:49:43 +0700 kernel: [99825.596071] weave: port 379(vethwepla47d508) entered forwarding state
2018-09-25 16:49:43 +0700 kernel: [99826.012090] weave: port 380(vethwepl7c826e6) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.706206] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.713079] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.706206] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.713079] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.706206] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:46 +0700 kernel: [99827.713079] weave: port 391(vethwepl1646259) entered forwarding state
2018-09-25 16:49:48 +0700 kernel: [99829.180077] weave: port 381(vethweplcdc27c4) entered forwarding state
2018-09-25 16:49:48 +0700 kernel: [99829.180077] weave: port 381(vethweplcdc27c4) entered forwarding state
2018-09-25 16:49:48 +0700 kernel: [99829.180077] weave: port 381(vethweplcdc27c4) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.044074] weave: port 382(vethwepl2ca4be2) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.684073] weave: port 383(vethweple32abc0) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.260076] weave: port 384(vethwepl9b74577) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.900134] weave: port 385(vethwepl4101de7) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.044074] weave: port 382(vethwepl2ca4be2) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.684073] weave: port 383(vethweple32abc0) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.260076] weave: port 384(vethwepl9b74577) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.900134] weave: port 385(vethwepl4101de7) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.044074] weave: port 382(vethwepl2ca4be2) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99830.684073] weave: port 383(vethweple32abc0) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.260076] weave: port 384(vethwepl9b74577) entered forwarding state
2018-09-25 16:49:49 +0700 kernel: [99831.900134] weave: port 385(vethwepl4101de7) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.096068] weave: port 386(vethwepl8e2a2b2) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.284074] weave: port 387(vethwepl2e24511) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.096068] weave: port 386(vethwepl8e2a2b2) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.284074] weave: port 387(vethwepl2e24511) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.096068] weave: port 386(vethwepl8e2a2b2) entered forwarding state
2018-09-25 16:49:50 +0700 kernel: [99832.284074] weave: port 387(vethwepl2e24511) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.540077] weave: port 388(vethwepl20f2d0e) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.860073] weave: port 389(vethwepl9d3a07a) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99833.020105] weave: port 390(vethweplb3ecd60) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.540077] weave: port 388(vethwepl20f2d0e) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.860073] weave: port 389(vethwepl9d3a07a) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99833.020105] weave: port 390(vethweplb3ecd60) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.540077] weave: port 388(vethwepl20f2d0e) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99832.860073] weave: port 389(vethwepl9d3a07a) entered forwarding state
2018-09-25 16:49:51 +0700 kernel: [99833.020105] weave: port 390(vethweplb3ecd60) entered forwarding state
2018-09-25 16:49:54 +0700 kernel: [99834.764564] weave: port 392(vethwepl194c895) entered forwarding state
2018-09-25 16:49:54 +0700 kernel: [99834.771644] weave: port 392(vethwepl194c895) entered forwarding state```

@nguyenquangminh0711 Thanks.
I was hoping to see more weave-cni del errors which would explain why there were so many veths attached to the bridge.
Anyway, the entered forwarding state log entries at the bottom indicate that there were new containers starting. Each veth name consists of vethwepl + a container short id. Can you find those containers in your system?

We're experiencing this on 2.4.1 although I think we were on 2.4.0 as well.
From one of the affected worker node:
$ ip -o link|wc -l
1032

I have attached output for both ip -o link and last 15 minutes of sudo journalctl -ru kubelet
ip -o link.txt
kubelet.tar.gz

@iAnomaly Looking at the output you shared for the ip -o link I do see dummy interface which should have been deleted.
222911: vethwedu: <BROADCAST,NOARP> mtu 8912 qdisc noop state DOWN mode DEFAULT group default qlen 1000\    link/ether 02:9a:c1:2b:07:4a brd ff:ff:ff:ff:ff:ff

Kubelet logs indicate weave is not running. I suspect weave pod went into CrashLoopBack on the node where you saw above behaviour?
Nov 21 16:28:04 ip-172-20-60-206 kubelet[10866]: E1121 16:28:04.542329   10866 cni.go:259] Error adding network: unable to allocate IP address: Post http://<IP_ADDRESS>:6784/ip/2c535c623770ff2b389523c3f5aed82d3d76b05e30b88f1bbf1e3284a124221b: dial tcp <IP_ADDRESS>:6784: connect:         connection refused

This is only side-effect. Root cause is dummy interface which should have been deleted after it was created by Weave. By any chance you have old Weave pod logs which can indicate why vethwedu inteface is not deleted?

As pointed out dummy interface deletion should have been in the defer block in below code path.
https://github.com/weaveworks/weave/blob/v2.5.0/net/bridge.go#L332-L343
Let me know if you are still interested @nguyenquangminh0711 to raise a PR. Else I will raise a PR.


Only generates retina source if retina sources should be generated

If you deactivate retina sources, the source-set would contain a url to a non-existing image. With this change the source-set only contains urls to existing images.

Thanks!


Bug: WebUI - Frontend & Backend hostnames get inverted when creating new remote sites

(version: 0.1.7-preview+)
When creating a new remote site in the web ui, the frontend and backend gets inverted on save

This has now been fixed.


[Doc][Module Name] Documentation bug or improvement：3.2.1 adding oceanbase datasource "compatiblemode" parameter

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
When adding Oceanbase as a new data source, there is a "compatiblemode" input, I did some search in both dolphin and oceanbase, but it seems no clear definition about it. Please give some advice.
I have tried to input:

MYSQL
ORACLE
mysql
oceanbase
OCEANBASE
5
6
8
nothing works

ERR LOG
[INFO] 2024-07-02 08:23:10.716 +0800 o.a.d.s.m.r.t.TaskGroupCoordinator:[127] - TaskGroupCoordinator round time cost: 0/ms
[INFO] 2024-07-02 08:23:12.321 +0800 o.a.d.p.d.a.u.DataSourceUtils:[57] - Parameters map:OceanBaseConnectionParam(compatibleMode=MYSQL)
[ERROR] 2024-07-02 08:23:12.322 +0800 o.a.d.p.d.a.d.AbstractDataSourceProcessor:[130] - Check datasource connectivity for: OCEANBASE error
java.lang.ClassNotFoundException: com.oceanbase.jdbc.Driver
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)

Thanks
Documentation Links
No response
Are you willing to submit a PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

ISSUE RESOLVED
doc: https://kkgithub.com/apache/dolphinscheduler/blob/3.2.1-release/docs/docs/en/guide/howto/datasource-setting.md
need to import correct version of oceanbase jdbc driver


Can I use force delete when I intend to re-use Network-Interface card?

[Enter feedback here]
In the "Force Delete for virtual machine scale sets" section, "Force delete should only be used when you are not intending to re-use virtual hard disks" is mentioned.
Can I use force delete when I intend to re-use Network-Interface card?
If the Windows VM gets into a crash when force-delete, does windows write a crash dump file?
What I noticed is, when I force-delete, my windows VM is bugchecking. ErrorCode 239 (0xEF).
If I try to re-use the NIC in another/new VM within 10 mins of force-delete, the deployment is failing.
Please address these issues in this doc.

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

ID: f2f1928d-8e32-a342-e769-81dd5d27ddac
Version Independent ID: 1583936a-4914-ad22-5ab7-527e072cd9ce
Content: Delete a VM and attached resources - Azure Virtual Machines
Content Source: articles/virtual-machines/delete.md
Service: virtual-machines
Sub-service: ****
GitHub Login: @cynthn
Microsoft Alias: cynthn

@oschakravarthi Thanks for reaching out. We will investigate this and provide an update on this thread.

Hi @oschakravarthi
You cannot re-use the NIC if you force delete it with your VM.
Could you please let me the know a few things-
When you mark your windows VM with its NIC for deletion on the Azure Portal, where are you noticing that it is bugchecking? Do you see it on the boot diagnostics? Also, how do you re-use the NIC if the NIC has also been marked for deletion?

#please-close


database migration plan

Summary of changes

Changes introduced in this pull request:

added a proposed database migration plan. I'm open to discussing it.

Reference issue to close (if applicable)

Closes
Other information and links

Change checklist

[x] I have performed a self-review of my own code,
[x] I have made corresponding changes to the documentation,
[x] I have added tests that prove my fix is effective or that my feature works (if possible),
[x] I have made sure the CHANGELOG is up-to-date. All user-facing changes should be reflected in this document.

It's a bit weird to me to use the forest version as DB version since forest has more features than its DB and I would expect most of the version bumps are not DB related.  How about maintaining another DB version?  The CI check in the proposal could still catch when breaking changes are made to the DB but the version is not updated. For local development, one could freely change the DB until they bump the DB version and add a migration script

I'm in favor of not having a separate database version. It's easy to have useless version information. For example, actor and network versions are separate, but there's no benefit to this; it just causes more complexity. I would much rather use Forest versions for the database and have explicit null migrations between versions that do not change the DB layout. The sequence of migrations to get from version A to version B is still linear and unambiguous.

Also a dedicated DB version makes it clear that every DB version bump should have a corresponding migration script, migrating a super old DB from v2 to v10 means running migration v3 to v10 in sequence. It's not very clear to me how to achieve this in the current plan

I tried to portray this in the Checking if migration exists section. While we may need a sequential upgrade (which could take a long time), we could have "shortcut" migrations in our migrations table. So a possible route would be 1--2--5--9--10. A simple graph traversal algorithm would suffice.

I see no other objections; I'll move with the outlined plan to the implementation phase.


Archive News Pages: Carousel not working as expected because of missing JavaScript

Carousel removed from pages, so this is no longer relevant.


Update struct-webserver.go

Same as before add a new setting to threadfin PlexPlayer(true or false) to change ChannelLimit on players that support that

Included in new pull request


bump aiobotocore to 2.1.0

aiobotocore is one of the dependencies of s3fs.
I have updated aiobotocore from 2.0.1 to the latest 2.1.0.
[Background]
boto is used by many different libraries, so it is difficult to lock the boto version.
When I use botocore 1.23.0 or later, I face and opened this issue https://github.com/aio-libs/aiobotocore/issues/905
And this issue has been resolved by this PR https://github.com/aio-libs/aiobotocore/pull/909
Updated version was released with aiobotocore 2.1.0 So I want to use this version from s3fs.
I'll show the log after applying my PR.
Before
>>> import s3fs
>>> fs = s3fs.S3FileSystem()
>>> fs.ls('hayshogo-s3')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/fsspec/asyn.py", line 91, in wrapper
    return sync(self.loop, func, *args, **kwargs)
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/fsspec/asyn.py", line 71, in sync
    raise return_result
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/fsspec/asyn.py", line 25, in _runner
    result[0] = await coro
  File "/Users/hayshogo/repositories/thirdparty/s3fs/s3fs/core.py", line 810, in _ls
    files = await self._lsdir(path, refresh)
  File "/Users/hayshogo/repositories/thirdparty/s3fs/s3fs/core.py", line 578, in _lsdir
    await self.set_session()
  File "/Users/hayshogo/repositories/thirdparty/s3fs/s3fs/core.py", line 420, in set_session
    self._s3 = await s3creator.__aenter__()
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/aiobotocore/session.py", line 37, in __aenter__
    self._client = await self._coro
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/aiobotocore/session.py", line 121, in _create_client
    client = await client_creator.create_client(
  File "/Users/hayshogo/.local/lib/python3.9/site-packages/aiobotocore/client.py", line 45, in create_client
    self._register_lazy_block_unknown_fips_pseudo_regions(service_client)
AttributeError: 'AioClientCreator' object has no attribute '_register_lazy_block_unknown_fips_pseudo_regions'

After
>>> import s3fs
>>> fs = s3fs.S3FileSystem()
>>> fs.ls('hayshogo-s3')
['hayshogo-s3/dist', 'hayshogo-s3/sample.txt', 'hayshogo-s3/src']

Thank you,

In general, we are happy to keep up with the latest aiobotocore , unless of course it needs us to fix something.

Also, feel free to relax the aiohttp<=4

Thank you for your comment!
OK. I'll keep that in mind for future reference.

s3fs depends on aiobotocore~=2.0.1, fsspec==2021.11.1, aiohttp<=4
https://github.com/fsspec/s3fs/blob/main/requirements.txt
aiobotocore~=2.0.1
fsspec==2021.11.1
aiohttp<=4

The latest versions of aiohttp and fsspec are 3.8.1 and 2021.11.1 respectively. So for now, I don't ask for updating other packages. Please let me request to update them in the future if necessary.
https://github.com/aio-libs/aiohttp/tags
https://github.com/fsspec/filesystem_spec/tags

You will also want to change the version in the CI as well

OK. I also updated the version in the CI.
Thanks,

It seems like aiobotocore 2.1.0 has not yet made it to conda-forge. Let's wait until it does!

It looks like it.
OK. I see.
I'll track conda-forge for supporting aiobotocore 2.1.0 https://conda.anaconda.org/conda-forge/noarch/

Waiting for https://github.com/conda-forge/aiobotocore-feedstock/issues/46 to be solved.

Thank you, guenhter,
Now it seems like aiobotocore 2.1.0 has made it to conda-forge.
@martindurant Could you please retrigger CI?

@martindurant Great that this has been merged. When do you think a new version will be available on pip containing this change?

I have been meaning to do it last week, but got busy. So, soon?

I don't want to put any pressure on you :)
Great to hear.


RangeBar not centered and zoom bug

Description
Hi,
I'm new here so if there is any answer for my question - let me know.
I have a bug with rangeBar chart. First of all my first and last three elements are not centered in the middle of the row. Second i cannot define the height of the row. Is it posible to define it? If not let me know. Last but not least, the entry element is zoomed more than should. I have the X values max for 4000 but the chart told me i've got 5000.

Steps to Reproduce

Open example (https://codesandbox.io/s/loving-kapitsa-rd1dq2)
Run Code
See results

Expected Behavior
Actual Behavior
Screenshots

Reproduction Link
https://codesandbox.io/s/loving-kapitsa-rd1dq2

any help?


Load custom components by module & class Name

Issue:
Hi,
On the website (http://bit.ly/2fkn4Ls) it is mentioned that there is currently no ability to integrate custom components, but they do reference the rasa.nlu_components.Component class to already have a look how to do this.
This had me a bit confused: does this mean it is possible or not?
Specifically, we have a lot of other (both NLP and non-NLP) Python components that we need to host, but we are asking ourselves the question if this can all be integrated in Rasa to have one stack.
For example: we would for instance like to implement a scoring algorithm that we have developed in Python, as well as a pre-trained Support Vector Machine model (via sklearn) that we have developed to classify the type of cuisine of a  dish.
Furthermore, we would like to use TreeTagger as the main POS-tagging algorithm.
In your expertises, would you say Rasa can be configured and modified in a way to allow for these extra 'components', or not yet?
Thank you for any help or insight you could provide on this.

@TDehaene alright, so we did a lot of work to make Rasa as modular as possible to allow extensions as you want to do them. Here are a few notes on what is possible right now:

the sentence "there is no ability to integrate custom components" should probably be changed. It references the configuration of the pipeline variable (e.g. pipeline: ["intent_classifier", ...]). It currently isn't possible to add custom components there without changing the framework (the component needs to be added to https://github.com/RasaHQ/rasa_nlu/blob/master/rasa_nlu/registry.py#L41 to allow you to add it to the configuration like this: pipeline: ["intent_classifier", "my_custom_component"]). BUT that is super easy to change which would allow arbitrary class names to be specified as part of that list. I'd be happy to do that if needed.
other than that the only thing you need to do is implement the component interface (a couple of class properties + train, process, persist, load)

Just added that. You should be able to specify your component as part of the pipeline by just providing the module path, e.g.:
"pipeline": ["nlp_spacy", "my_custom.module.MyComponent", "intent_classifier_sklearn"]

Thanks for the feedback, I'll definitely look deeper into the Custom Component class


Trying to self-host, errors on startup preventing launch

I have all the dependencies, but when I run discordBot.py I get the following errors:
Traceback (most recent call last):
File "C:\Users\Max\Downloads\temp\videoEditBot-dev\videoEditBot-dev\discordBot.py", line 8, in
from editor.download import download
File "C:\Users\Max\Downloads\temp\videoEditBot-dev\videoEditBot-dev\editor_init_.py", line 6, in
from videoEditor import videoEdit as editor
File "C:\Users\Max\Downloads\temp\videoEditBot-dev\videoEditBot-dev\editor\videoEditor.py", line 20, in
from AutotuneBot      import autotuneURL
ImportError: cannot import name 'autotuneURL' from 'AutotuneBot' (unknown location)

I recommend cloning this into the AutotuneBot folder.

That worked! Thank you


Parallelize ExpandPlan

Launch recursive ExpandPlans in parallel. Only tested for expand mode AS_A_LIST but should work for either.

Added a const and a display of the current setting


Adjusted WindowImplX11.

Replaced Xlib event names by XCB equivalents.
Removed XCB_CW_OVERRIDE_REDIRECT in order to let the WM handle mapping the window to the full screen.
Fixed mouse grabbing in fullscreen mode. Removed keyboard grabbing to allow the user to "alt+tab" out of the window.
Completely revised fullscreen handling: The screen's resolution is not changed at all anymore. Instead the WM is asked for going fullscreen and the view is scaled.

Related issues: #771, #724, #535, #274

Completely revised fullscreen handling: The screen's resolution is not changed at all anymore. Instead the WM is asked for going fullscreen and the view is scaled.

Does that mean the view is stretched or is it letterboxed?

Completely revised fullscreen handling: The screen's resolution is not changed at all anymore. Instead the WM is asked for going fullscreen and the view is scaled.

So you always stay at desktop resolution? This defeats one of the advantages of the fullscreen mode (ie. taking control on the screen resolution).

On Mac, SFML 1.6 used to perform a hard switch but that's no longer the case for two main reasons: a) performances were not significantly better with a hard video mode switch than with backbuffer/letterboxed view; b) Apple's discourage this practice. See https://github.com/LaurentGomila/SFML/commit/8f0037d84d89d542e3a168f845b2a72dac5642f9 for more details.
While b) might not hold on Linux per se, I think it's also better to avoid messing with the user's desktop settings (with some WM, windows are resized and icons moved on the desktop). However, we could argue that's up to the application developer to choose wisely a fullscreen config...
But I'm pretty sure the first point holds. Could someone confirm it?
@LaurentGomila maybe you see another aspect in favor of hard switch beside UX and perfs?

Mainly performances, yes, even if this point is less important nowadays.

@mantognini
It is stretched, because that's what would happen in classic fullscreen as well.
@LaurentGomila @mantognini
What performance issue are you referring to? The upscaling? If yes, then I doubt it will be an issue on any supported hardware.
If you are referring to some kind of exclusive mode: There is no such thing on Linux/X/GLX.
In fact the new implementation fixes some issues and allows to easily tab out of the window without resolution change parties. ;) Personally I don't see a real reason to change the screen resolution anymore. Quite some games are doing the same on Linux mainly for avoiding issues.

My point was that performance was not an issue, so, for me, your new impl is ok.
Well, up to a point. ;)
I feel, as other users who made me change the impl on OS X (see above commit link), that when you ask for a 800x600 view, full screen or not, you should get a 800x600 view -- not something that is reported as such but is in fact stretched -- for the sake of UX.
Also, on OS X, if you perform a hard video mode change to 800x600 you get a rect with the correct ratio. Isn't that not also the case on Linux? If that's the case, the view the user get through SFML should match that ratio -- whether SFML performs a hard or soft switch. If that not the case, I think it's reasonable to do it anyway.

After shortly experimenting with it, I must say I am definitely in favor of this new implementation, even if it does not really respect the specified video mode. Performance issues can still somewhat be worked around through use of a smaller sf::RenderTexture.
In addition to fixing the mentioned issues, these adjustments also greatly improve support for multi-monitor systems by opening the fullscreen window on the monitor the mouse is currently at (under xfwm4 with TwinView) with the respective monitor's native resolution.
Previously, SFML would show fullscreen windows at an incompatible resolution (1920x1080 on a 1280x1080 monitor) on an arbitrary monitor (probably just the first one returned by xrandr).
However, there is currently a bug on my system (or my code?) where using sf::Style::Fullscreen either in the first call to create() or the constructor of sf::Window silently fails, instead resulting in a regular window with a grabbed mouse cursor:
sf::RenderWindow window(sf::VideoMode(640, 480), "Title", sf::Style::Fullscreen);
It is required to call the create() function one more time to actually make the window full-screen. Can anyone else reproduce this?

@mantognini
You effectively get 800x600 -- in fact it is stretched to 800x600. ;) The result is nearest to the previous behavior when the monitor handled the upscaling, that's why I haven't added anything on top of that. I wasn't aware that it's done differently on OSX.
I'm not sure if I want to enforce a ratio. I can also find nothing about that in the documentation. Remember that if you force a letter box/correct ratio, there's no way for the user to NOT use it, for whatever reason. I think this should at least be an option. I would not expect a ratio correction personally.
@def8x
Yes definitely, I forgot to mention the multi-head advantage. Since I'm using two heads, I was happy to see a resolution of 1920x1080 working on both screens, where the 2nd screen allows a maximum of 1280x1024 only. :)
I will try to reproduce your problem, thanks for reporting.

You effectively get 800x600 -- in fact it is stretched to 800x600.

I'm not sure to get what you mean by it. 800x600 is stretched to 800x600? Put differently, do you use letterboxing or not? Does 800x600 windows fill the whole screen even if it's not a 4:3 monitor?

@BlueCobold has provided example screenshots of the current behavior on OS X and as stated on that thread, I don't agree with the current implementation. Maybe I'm just biased by Windows, but when in fullscreen you really want the full screen.
And since the ratio adjustment isn't really the job of SFML, I'd say it should fully stretch. That would be the behavior on Windows.
But I'm also open for different perspective on that matter. For me it just feels wrong to have a small "window" in fullscreen. :wink:

Maybe I'm just biased by Windows, but when in fullscreen you really want the full screen.

No, you're probably right but since I've got barely no feedback (and I'm no Windows user) such issue can happen. :wink:
As I said in my answer on that thread, maybe we should investigate the addition of another style flag (HardSwitchFullscreen). Even though I would personally discourage people of using it, I'm not against allowing people who love messing with the user desktop settings using it -- their customer will probably complain enough for me. :-P
On the soft switch mode: should it be scaled to fit the screen with the proper ratio (with letterboxing), or just stretched? I'd go for the first since the rendering is better.

But it might not be what the developer or even the user wants. 800*600 is requested, how it's interpreted is then up to the developer. Let's not over-complicate this. ;-)

Oh, a use-case that just came into my mind: Imagine you choose 800*600 because some projector you use doesn't support another mode, but you can easily scale it by pressing some buttons on the hardware. The effective resolution would be smaller if SFML did letterboxing. ;-) Yes, this is probably not a big deal, but it shows that SFML should not interfere, as stretching might indeed be intended.

I agree with @eXpl0it3r here. If the developer/user decides to use a resolution for fullscreen mode, it is exactly what he should get - and it is what both user and developer would expect to happen anyway. If they want a 4:3 ratio on a 16:9 screen, so be it. If they want letterboxing to keep aspect-ratio, the developer can still do it himself. As you noticed with the beamer/projector, the natively requested resolution may have a pretty solid reason (apart from being the thing you asked the system for in the first place). If SFML doesn't change the physical resolution and only renders into a smaller render-target to then scale it to full screen size, the developer could do that himself already while he cannot do the other thing (native resolution instead of faked one) if forced by SFML.

For whatever it is worth … I agree with @eXpl0it3r and @BlueCobold on the resolution issue, but.. I also think that, as @mantognini stated, taking into consideration of supporting both methods is worth while. (I feel like both methods have their merits / use cases).
Cheers!

Thing is that a developer, who's using SFML, can implement the soft-switch ("keep native and stretch it") himself easily for all platforms while he cannot add a hard-switch if SFML already does this soft-switch.

@BlueCobold What are the issues with using a soft switch only?

@TankOs

The device you might want to use to show the game on might not support the soft resolution (attached beamer)
FragmentShaders will see the native resolution while SFML-developers don't (no way the developer could fix problems related to that)
A developer can implement a soft-switch himself if SFML uses hard-switch, but the developer cannot implement a hard-switch if SFML uses a soft-switch
A soft-switch isn't what the developer asked for in the first place
Higher memory footprint, because internally large buffers are used always
More effort internally for SFML - you need to scale various event coordinates (Mouse in/out for example), shape-coordinates, (render)texture-coordinates, etc. Especially coordinates used by Sprites which are used with a TenderTexture will have totally screwed texture-coordinates/textureRects. I don't see how you want to get this thing handled at all, because there's no way to even detect that problem.
Screenshots being taken would be large instead of the resolution you wanted your app to have
Recorded videos would have large resolution instead of the resolution you wanted your app to have - this really impacts performance for screen-capturing and will have messed up quality - imo one of the worst things of all in this list.
Mouse-speed doesn't change as you would expect by using a window with lower resolution
It might interfer (and pretty surely will) with other stuff the developer might want to do by using OpenGL directly additional to SFML
all the other crap I didn't even think of yet

1), 2), 6) and 8) being the worst ones in the list imo. 6) would totally screw up my own SFML-games.

@BlueCobold Very good points, thanks a bunch for that list. I don't get 1 however: Every resolution for soft-switching is supported, since only the view is scaled. You could even use a resolution of 123*456 if SFML would not prevent that in sf::VideoMode::isValid().
Due to the outlined points and generally giving the user the option makes me want to implement both techniques through different sf::Styles.
What do the other SFML team members say? It would affect all platforms.

In case it helps, SDL provides both modes.

@TankOs The ability to use 123x456 is the only thing that is really really neat about soft-switch. Of course I believe both ways getting implemented would be a great thing, but if I had to chose one of the two, I'd always vote for hard-switch.

Since with the current implementation fullscreen mode is broken completely and we've yet to come to a verdict on the whole fullscreen discussion, should I merge this in the meantime or do you, @TankOs, want to update it?
As for the discussion in general, let's keep it on the forum, either in the already on going discussion thread or if someone feels like it, they can open a new thread.
Only comment here further if you're actually referring to the PR.

I will change this PR.

Superseded by #825.


CNDB-11542 add Anti Join plan

Closes https://github.com/riptano/cndb/issues/11542
What is the issue
...
What does this PR fix and why was it fixed
...
Checklist before you submit for review

[ ] Make sure there is a PR in the CNDB project updating the Converged Cassandra version
[ ] Use NoSpamLogger for log lines that may appear frequently in the logs
[ ] Verify test results on Butler
[ ] Test coverage for new/modified code is > 80%
[ ] Proper code formatting
[ ] Proper title for each commit staring with the project-issue number, like CNDB-1234
[ ] Each commit has a meaningful description
[ ] Each commit is not very long and contains related changes
[ ] Renames, moves and reformatting are in distinct commits

I think it also requires some changes to how Plan#optimize method works. With anti joins, we cannot remove anything from the right side of the anti join (remove == replace with Plan.Factory#everything node), as it would cause false negatives.

I think it also requires some changes to how Plan#optimize method works. With anti joins, we cannot remove anything from the right side of the anti join (remove == replace with Plan.Factory#everything node), as it would cause false negatives.

This is currently avoided by having AntiJoin as Leaf and, thus, hiding its subplans. IMHO it's better than implementing a special case in optimize. I will see if I come up with a better approach.

This approach doesn't work. A separate PR will be created to add the test from here.


Transition to treating NULL pointers as errors

During discussion of #2246, the following decision was mentioned:

We did decide quite some time ago now to go away from checking for NULL pointers. The argument was that it was to be considered a programming error and has also helped uncover bugs in our own code.

In addition, the following statement was made to justify this:

Consider the C library which never checks for NULL.

Personally, I find both the decision and its justification suprising. Consider for example the documentation of free(), which is an example of a C library function that does check for NULL:

     The free() function deallocates the memory allocation pointed to by ptr.
     If ptr is a NULL pointer, no operation is performed.

This is one example of a C function that simplifies applications in that they can call free(ptr); also if they know that the pointer is NULL.
In my own application that uses OpenSSL, I rely in several cases on the currently documented behaviour of OpenSSL, which guarantees for example that X509_free() does nothing if the pointer is NULL:

       X509_free() decrements the reference count of X509 structure a and
       frees it up if the reference count is zero. If a is NULL nothing is
       done.

Therefore, if the decision to remove this guarantee is really made, please consider removing such statements from the man pages, since more and more applications will rely on it as long as the documentation itself guarantees this behaviour.
This is also related to #2254, since many applications currently rely on no error being raised when the stack is NULL, which is also guaranteed in the documentation. Thank you!

@triska [writes about free() checking for a NULL argument]

The example of free() is not relevant.  NULL is a valid input to free().  It is not an error to pass NULL to free(). The function free() is not checking for an invalid NULL input and  returning an error indication.

And we extended that behavior of free to all OpenSSL free routines.

The current behavior cannot change until we do an API-breaking release, 1.2.  The earliest that would happen is 2018.

Since I thus may have less than 1 year to adapt my applications, I want to start as early as possible with the then necessary changes. Therefore, please clarify: Will functions like X509_free() also be affected? That is, will they continue to check for NULL and do nothing if NULL is specified? Or do I have to take care to not call such functions with NULL as argument?

All free functions, like C free will be a no-op for NULL.  No other  changes are planned at this time.
Having said that, I am only one member of the team, and I may leave or get out-voted by others. What I can promise is that we are going to try to avoid semantic changes before 1.2, which is unlikely to happen this year.
IMO, the safest thing for you to do is to adapt to what all releases of OpenSSL currently do.

If we make changes related to checking NULL, it would be for cases
where passing that NULL doesn't make sense. For instance if you
call SSL_new(), ctx really shouldn't be NULL. It currently checks
for that NULL and returns an error in that case. Also note that
it's not documented what the behaviour is when you pass a NULL
to SSL_new().
Calling free() with NULL is expected and documented behaviour, we
actually changed it in all functions to work. It seems very
unlikely that we will change that.

There are a mix of views on this topic in the team. I for one am in favour of not dereferencing NULL pointers in library code ever and returning an error indication where possible. The current OpenSSL implementation is inconsistent in its handling of NULL parameters.

Marking as inactive, to be closed at the end of 3.4 dev barring further input

I am closing this issue since I no longer care about this library. Thank you a lot!


Installing stable Windows App SDK extension for Visual Studio 2022 fails with multiple Visual Studio versions installed

Describe the bug
The installation of the stable version of the Windows App SDK extension for Visual Studio 2022 fails with this error:
Modifications failed
Modifications of multiple extensions can only be applied to one product at a time
From the installation log file:
11/27/2021 12:40:21 PM - Searching for applicable products...
11/27/2021 12:40:21 PM - Found installed product - Global Location
11/27/2021 12:40:21 PM - Found installed product - Visual Studio Enterprise 2022
11/27/2021 12:40:21 PM - An extension with a matching Identifier is already installed to this product.
11/27/2021 12:40:21 PM - Found installed product - Visual Studio Enterprise 2019
11/27/2021 12:40:21 PM - Found installed product - Visual Studio Enterprise 2022 Preview
11/27/2021 12:40:21 PM - System.InvalidOperationException: Modifications of multiple extensions can only be applied to one product at a time. ---> System.InvalidOperationException: Sequence contains more than one element
at System.Linq.Enumerable.Single[TSource](IEnumerable`1 source)
at VSIXInstaller.MultipleChangePage..ctor(ExtensionData data)
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)
--- End of inner exception stack trace ---
at VSIXInstaller.MultipleChangePage..ctor(ExtensionData data)
at VSIXInstaller.LoadingPage.<>c__DisplayClass15_1.b__2()
I have Visual Studio 2019, 2022, and 2022 preview installed, as well as .NET MAUI.
Steps to reproduce the bug

Install Visual Studio 2019, Visual Studio 2022, and Visual Studio 2022 preview
Downloaded the stable release from https://aka.ms/windowsappsdk/stable-vsix-2022-cs (as described in https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/set-up-your-development-environment?tabs=vs-2022)
Start the VSIX installation

Expected behavior
Expect to install the SDK successfully
Screenshots
No response
NuGet package version
1.0.0
Packaging type
No response
Windows version
Insider Build (xxxxx), Windows 11 (22000)
IDE
Visual Studio 2022
Additional context
No response

I believe the root issue here is that our VSIX includes the Single-Project MSIX Packaging Tools extension via a Visual Studio Extension Pack. This is why the error message says the VSIX installer is trying to modify multiple extensions.
You should be able to work around this by manually invoking the VSIX installer (vsixinstaller.exe) from a Visual Studio Developer Command Prompt. This way, you can tell it to ignore the extension pack with /noextensionpack and install the MSIX Packaging Tools manually.
I'm looking into ways of improving this experience, but let me know if this workaround unblocks you in the meantime.
PS: vsixinstaller.exe also has some options that purport to let you target a specific instance of VS, but I haven't tested these, so I can't vouch for their effectiveness. Feel free to experiment with /appIdInstallPath, /appIdName, /skuName, and /skuVersion. A full list of vsixinstaller options can be displayed by simply running vsixinstaller from the command line with no arguments.

this unblocks, thanks @DefaultRyan

Solution provided and issue got resolved.


upgrade enhanced cluster - can i know which paramter can be used to upgrade oke cluster to enhanced to enable addon's(CoreDNS, KubeProxy , NativePodNetworking)

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Description

New or Affected Resource(s)

Potential Terraform Configuration

# Copy-paste any Terraform configurations for how the requested feature may be used.

References

As in #673, we are waiting for a new release

You can now use cluster_type to choose between basic or enhanced clusters. See https://github.com/oracle-terraform-modules/terraform-oci-oke/blob/main/terraform.tfvars.example#L183
Note that we haven't implemented addons yet.


Have been ported to Windows Terminal Color Schemes

Just to let you know that Night and Light Owl's have been ported to Windows Terminal Color Schemes

Windows Terminal: https://github.com/edurojasr/Windows_Terminal_Theme_Night_Owl

Love your work! <3
So I took the general color schemas of Night and Light Owl themes and ported to Windows Terminal, Have to tweak some color for the Light version since W. Terminal use white for numbers and I'm thinking of making and other optimization and recommendations for the acrylic feature form Windows Terminal

That's awesome! Great thanks! Can you please PR the readme?

Nevermind, just did. Thanks!


pyairtable.api.params.InvalidParamException: 'return_fields_by_field_id' is not a supported parameter

Why does this crash? print(table.all(return_fields_by_field_id=True))
I've taken it from: https://pyairtable.readthedocs.io/en/latest/api.html#parameters
Running python 3.10 and pyairtable 1.1.0 from pip
Traceback (most recent call last):
  File "script.py", line 56, in main
    print(table.all(return_fields_by_field_id=True))
  File "/home/user/.local/lib/python3.10/site-packages/pyairtable/api/table.py", line 80, in all
    return super()._all(self.base_id, self.table_name, **options)
  File "/home/user/.local/lib/python3.10/site-packages/pyairtable/api/abstract.py", line 127, in _all
    for records in self._iterate(base_id, table_name, **options):
  File "/home/user/.local/lib/python3.10/site-packages/pyairtable/api/abstract.py", line 103, in _iterate
    params = self._options_to_params(**options)
  File "/home/user/.local/lib/python3.10/site-packages/pyairtable/api/abstract.py", line 61, in _options_to_params
    params.update(to_params_dict(name, value))
  File "/home/user/.local/lib/python3.10/site-packages/pyairtable/api/params.py", line 93, in to_params_dict
    raise InvalidParamException(msg)
pyairtable.api.params.InvalidParamException: 'return_fields_by_field_id' is not a supported parameter

Is this somehow a reserved naming schema? all other options seem to work. I even copied it from the source code:
https://github.com/gtalarico/pyairtable/blob/6dbc0edb8044d12601fdf5f2ea72934c0e182283/pyairtable/api/params.py#L88

It seems to be not in version 1.1.0, could you please release a new version? :)

I tried to monkey patch this without success. If anyone know, I am happy to use that workaround in the meantime. But maybe the owner is fast, so no need to do that. :)

It seems to be not in version 1.1.0, could you please release a new version? :)
Sorry haven't been able to release yet.
While I have some automations in place it's currently still requires a few manual steps to release a new version (bump version, change log, tag release).
It may take anywhere from a few days to a few weeks.

If anyone know, I am happy to use that workaround in the meantime

You can install by commit rather than latest version until a new version is released:
pip install git+https://github.com/gtalarico/pyairtable.git@3592deef1b1044d4b9c2b4c85441a57626011840

Released 1.2.0

Nice! thanks!
Is there a changelog anywhere?

https://pyairtable.readthedocs.io/en/latest/changelog.html


update versions in getting started

Will repoint this at nuget.org one the packages make it there.

docs only.


[Error] Downloading stash for Standard, details logged to DebugInfo.log, please open a ticket at https://github.com/Stickymaddness/Procurement/issues

what should i do

I need your debuginfo.log in order to help, but most likely 1.9.7-RC1 will fix the issue:
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.8-RC1


Facebook message

Is any way to sent private message to facebook users?

In the Graph API documentation for the /me/inbox edge you can only read but not send messages.


ModuleNotFoundError: No module named 'spleeter'

I'm running the .exe file but nothing happens. Running the .py file through powershell, I get the following error:
Traceback (most recent call last):
  File ".\spleeterBox.py", line 11, in <module>
    from spleeter.separator import Separator
ModuleNotFoundError: No module named 'spleeter'

Please have a look at this
EDIT: ah sorry, my bad, realized I need spleeter installed to do this :) would u add it to the readme?

Don't worry, In the First Use Section It says it, but It might be not noticeable enough so I added it to the very begging of the Read Me lol, hope the UI helps you :D


Rust API for sampling

Based on your comment line it seems that the tags should be different for llava and phiv but they are the same in the code:

Thanks for finding this! Yes, it was incorrect - it is fixed now.

Perfect, this is easy to use, thanks!


Multi-line text in staticHistory

Is it possible to have multi-line text in staticHistory?

Hello,
With a bit of trickery yes
printf 'a\xA0b\xA0c' > static_history
iconv -f latin1 -t utf-8 static_history > static_history.tmp
iconv -f latin1 -t utf-8 static_history.tmp > static_history
mv static_history ~/.cache/greenclip.staticHistory

\xA0 is a void character used internally by greenclip to replace \n. We inject it with printf instead of \n and convert the file until it is a valid utf-8 file.
After that the \xA0 will be present as a valid utf-8 and will be replaced by \n by greenclip
Not very user friendly but it works...

Great, thank you!

done in version 4.0
static history is now in the config file
static_history = [
 '''¯\_(ツ)_/¯''',
]


Create a walkthrough for Azure

Goals

Enable developers to get quickly started on AKS
Ensure they have an ability to deploy using simple commands. For e.g. helm install a complete e2e with the provider enabled and good defaults for signature validation.
Ensure there is a test image that they can validate and view logs to see the validation results.

Notes from the call -

Strech goal to use the CSI driver to mount certificates from AKV.

https://hackmd.io/@akashsinghal/rkpUeVw8c - starting place.

Also relevant workload identity design guide: https://hackmd.io/@akashsinghal/SJuXIc23t

Moving to RC 1

@sajayantony and @dtzar is this article still needed? If so, I'd like to volunteer to write the documentation for the Azure walk through.

Yes, it's still needed.  @toddysm is now PM on-point here.

Excellent, I'll reach out to @toddysm for more information. Thank you @dtzar.

After I confirmed the timeline with @Duffney for this doc, it's planned to be delivered before the mid of Feb. I can work with @joshuaphelpsms to deliver it. Please assign it to Josh and me. Thanks

This article can be used as a foundation and hopefully replaced by what you're creating.
https://github.com/Azure/notation-azure-kv/blob/main/docs/nv2-sign-verify-aks.md

Assigned to Feynman