Implement cli methods for Payments section of eclair API

The commands implemented are:

[x] CreateInvoice
[x] DeleteInvoice
[x] ParseInvoice
[x] PayInvoice
[x] SendToNode
[ ] SendToRoute
[ ] GetSentInfo
[ ] GetRecievedInfo
[ ] ListReceivedPayments
[ ] GetInvoice
[ ] ListInvoice
[ ] ListPendingInvoices

In the createinvoice command, the field amountMsat is given as optional. However if I do not pass it in the command, the field amount is missing from the apiResponse. For example, kindly refer this log:
claddy@claddy:~/Documents/eclair-cli$ eclair-cli.kexe createinvoice -p password --description IfeelSleepyy
error: api response could not be parsed: {"prefix":"lnbcrt","timestamp":1692055179,"nodeId":"03c5b161c16e9f8ef3f3bccfb74a6e9a3b423dd41fe2848174b7209f1c2ea25dad","serialized":"lnbcrt1pjd4d5tpp5mxm5rtarp9smkfcxar9w3qg8yc5ye5czw2e095cpnf0grmag8uesdq5f9nx2etv2dkx2ets09ussp5k2mulaqks4us7y3vmef2y7lr8gz55gh28jrfelgvdvx0qan7mwgqmqz9gxqrrsscqp79q7sqqqqqqqqqqqqqqqqqqqsqqqqqysgqw4mfpuckdnnhjj80kvqzph6f89dutuv0dvmv2fh5s7ccat3xjae9rmc22ugzzqz8ccm2dgw7q680alfl88t8c3l65ealmdxh39y3x8cptwvjp0","description":"IfeelSleepyy","paymentHash":"d9b741afa30961bb2706e8cae8810726284cd30272b2f2d3019a5e81efa83f33","paymentMetadata":"2a","expiry":3600,"minFinalCltvExpiry":30,"features":{"activated":{"trampoline_payment_prototype":"optional","payment_secret":"mandatory","basic_mpp":"optional","option_payment_metadata":"optional","var_onion_optin":"mandatory"},"unknown":[]},"routingInfo":[]} (code=1)

And when I pass the value of  amountMsat then it works fine,
claddy@claddy:~/Documents/eclair-cli$ eclair-cli.kexe createinvoice -p password --description IfeelSleepyy --amountMsat 999
{
  "type": "types.Invoice",
  "prefix": "lnbcrt",
  "timestamp":<PHONE_NUMBER>,
  "nodeId": "03c5b161c16e9f8ef3f3bccfb74a6e9a3b423dd41fe2848174b7209f1c2ea25dad",
  "serialized": "lnbcrt9990p1pjd4wz0pp5j4vn0usn95n2rapus3ltxytr6sum5lrah2hq6yhphsxnaujz9m3qdq5f9nx2etv2dkx2ets09ussp58wudf374k2ntpyel7kmhnfyklnfrfep977ax75z9g50rnsfa2hpsmqz9gxqrrsscqp79q7sqqqqqqqqqqqqqqqqqqqsqqqqqysgq79wmpuhf20ha3z6f55sg0dje7k62w8vyn84zne5k9v8lm2vf6k2q792v7kgf4ch7rs2an3q33yks2gyfavdl7pejhqklr48mwar8l2cpnzek3g",
  "description": "IfeelSleepyy",
  "paymentHash": "955937f2132d26a1f43c847eb31163d439ba7c7dbaae0d12e1bc0d3ef2422ee2",
  "paymentMetadata": "2a",
  "expiry": 3600,
  "minFinalCltvExpiry": 30,
  "amount": 999,
  "features": {
    "activated": {
      "trampoline_payment_prototype": "optional",
      "payment_secret": "mandatory",
      "basic_mpp": "optional",
      "option_payment_metadata": "optional",
      "var_onion_optin": "mandatory"
    },
    "unknown": [
    ]
  },
  "routingInfo": [
  ]
}

In the createinvoice command, the field amountMsat is given as optional. However if I do not pass it in the command, the field amount is missing from the apiResponse.

That simply means you should make the amountMsat field optional in the response as well, doesn't it?

In the createinvoice command, the field amountMsat is given as optional. However if I do not pass it in the command, the field amount is missing from the apiResponse.

That simply means you should make the amountMsat field optional in the response as well, doesn't it?

Yes, that surely works. I just wanted to check it once, because the amountMsat is given as optional in the parameters section. So, I thought that if we don't enter it, then also the response would follow the same format as given in documentation.

I've made the changes requested and ammend them into the last commit 7ef806613aae3cdbcccda713fd899e8e43fd7f78


helpers.startConditionalTag can not appear inside Section or Container

Hi!
Please consider the following code inside my custom component render function.
<Container padding="0" key="icons">
  <Section { ...this.props } key="icons-desktop-mso">
    { helpers.startConditionalTag }
      { columnsDesktop }
    { helpers.endConditionalTag }
  </Section>
</Container>

It gives me this output.
{ TypeError: Cannot read property 'mjml' of undefined
    at node_modules/mjml-core/lib/decorators/MJMLElement.js:137:26
    at Array.filter (native)
    at MJMLElement._this.renderWrappedOutlookChildren (node_modules/mjml-core/lib/decorators/MJMLElement.js:136:37)
    at Container.render (node_modules/mjml-container/lib/index.js:111:9)
    at node_modules/react-dom/lib/ReactCompositeComponent.js:796:21
    at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
    at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (node_modules/react-dom/lib/ReactCompositeComponent.js:795:25)
    at ReactCompositeComponentWrapper._renderValidatedComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:822:32)
    at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-dom/lib/ReactCompositeComponent.js:362:30)
    at ReactCompositeComponentWrapper.mountComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:258:21)
  name: 'TypeError',
  message: 'Cannot read property \'mjml\' of undefined',
  stack: 'TypeError: Cannot read property \'mjml\' of undefined\n    at node_modules/mjml-core/lib/decorators/MJMLElement.js:137:26\n    at Array.filter (native)\n    at MJMLElement._this.renderWrappedOutlookChildren (node_modules/mjml-core/lib/decorators/MJMLElement.js:136:37)\n    at Container.render (node_modules/mjml-container/lib/index.js:111:9)\n    at node_modules/react-dom/lib/ReactCompositeComponent.js:796:21\n    at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)\n    at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (node_modules/react-dom/lib/ReactCompositeComponent.js:795:25)\n    at ReactCompositeComponentWrapper._renderValidatedComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:822:32)\n    at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-dom/lib/ReactCompositeComponent.js:362:30)\n    at ReactCompositeComponentWrapper.mountComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:258:21)',
  showStack: false,
  showProperties: true,
  plugin: 'MJML' }

However, if I wrap conditional tags into Text - it compiles without errors, but brakes the layout in Outlook 2010 and 2013, making columns stack.
<Container padding="0" key="icons">
  <Section { ...this.props } key="icons-desktop-mso">
    <Text>
      { helpers.startConditionalTag }
        { columnsDesktop }
      { helpers.endConditionalTag }
    </Text>
  </Section>
</Container>

Any idea how I can use conditional tags to show or hide the entire Container or Section?
Thanks!

Hey !
You have to put those comments in a Post Render. React doesn't like mso conditionnals

On 2 Apr 2017, at 13:31, Igor Tatarintsev<EMAIL_ADDRESS>wrote:
Hi!
Please consider the following code inside my custom component render function.

    { helpers.startConditionalTag }
      { columnsDesktop }
    { helpers.endConditionalTag }

It gives me this output.
{ TypeError: Cannot read property 'mjml' of undefined
at node_modules/mjml-core/lib/decorators/MJMLElement.js:137:26
at Array.filter (native)
at MJMLElement._this.renderWrappedOutlookChildren (node_modules/mjml-core/lib/decorators/MJMLElement.js:136:37)
at Container.render (node_modules/mjml-container/lib/index.js:111:9)
at node_modules/react-dom/lib/ReactCompositeComponent.js:796:21
at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (node_modules/react-dom/lib/ReactCompositeComponent.js:795:25)
at ReactCompositeComponentWrapper._renderValidatedComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:822:32)
at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-dom/lib/ReactCompositeComponent.js:362:30)
at ReactCompositeComponentWrapper.mountComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:258:21)
name: 'TypeError',
message: 'Cannot read property 'mjml' of undefined',
stack: 'TypeError: Cannot read property 'mjml' of undefined\n    at node_modules/mjml-core/lib/decorators/MJMLElement.js:137:26\n    at Array.filter (native)\n    at MJMLElement._this.renderWrappedOutlookChildren (node_modules/mjml-core/lib/decorators/MJMLElement.js:136:37)\n    at Container.render (node_modules/mjml-container/lib/index.js:111:9)\n    at node_modules/react-dom/lib/ReactCompositeComponent.js:796:21\n    at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)\n    at ReactCompositeComponentWrapper._renderValidatedComponentWithoutOwnerOrContext (node_modules/react-dom/lib/ReactCompositeComponent.js:795:25)\n    at ReactCompositeComponentWrapper._renderValidatedComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:822:32)\n    at ReactCompositeComponentWrapper.performInitialMount (node_modules/react-dom/lib/ReactCompositeComponent.js:362:30)\n    at ReactCompositeComponentWrapper.mountComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:258:21)',
showStack: false,
showProperties: true,
plugin: 'MJML' }
However, if I wrap conditional tags into Text - it compiles without errors, but brakes the layout, making columns stack.

      { helpers.startConditionalTag }
        { columnsDesktop }
      { helpers.endConditionalTag }

Any idea how I can use conditional tags to show or hide the entire Container or Section?
Thanks!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@PickRelated and you can take look at mj-section to see how we're using it: https://github.com/mjmlio/mjml/blob/master/packages/mjml-section/src/index.js

Well this is a React limitation indeed, you can adds custom div as we do and then just replace them in a postRender. It's way more safe than Text workaround.
Yeah this is the purpose of #532 and we're working to merging this ASAP! I'm closing this one because we have no other workaround than adding a placeholder div.

I just can't stop being surprised by the speed you help mjml users. Thank you for all your suggestions and for merging that PR! I will probably refactor my code to use new functionality at a later point.


merge from template-node-app

README.md

docs(README): update from template

.github/workflows/ci.yml

chore: add ${{ secrets.PKGBUILD_PUBLISH }} (jobs.release.steps.env.PKGBUILD_PUBLISH)

:tada: This PR is included in version 2.1.9 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add support for MLIR-based expression evaluation

Description
Add a new expression evaluation backend to the IDAKLU solver. MLIR expression evaluation is now supported by lowering PyBaMM's Jax-based expressions into MLIR, which are then compiled and executed as part of the IDAKLU solver using IREE.
To enable the IREE/MLIR backend, set the (new) PYBAMM_IDAKLU_EXPR_IREE compiler flag ON via an environment variable and install PyBaMM using the developer method (by default PYBAMM_IDAKLU_EXPR_IREE is turned OFF):
export PYBAMM_IDAKLU_EXPR_IREE=ON
nox -e pybamm-requires && nox -e dev

Expression evaluation in IDAKLU is enabled by constructing the model using Jax expressions (model.convert_to_format="jax") and setting the solver backend (jax_evaluator="iree"). Example:
import pybamm
import numpy as np

model = pybamm.lithium_ion.SPM()
model.convert_to_format = "jax"
geometry = model.default_geometry
param = model.default_parameter_values
param.process_model(model)
param.process_geometry(model.default_geometry)
mesh = pybamm.Mesh(geometry, model.default_submesh_types, model.default_var_pts)
disc = pybamm.Discretisation(mesh, model.default_spatial_methods)
disc.process_model(model)

solver = pybamm.IDAKLUSolver(
	root_method="hybr",  # change from default ("casadi")
	options={"jax_evaluator": "iree"}
)
solution = solver.solve(model, np.linspace(0, 3600, 2500))

print(solution["Voltage [V]"].entries[:100])

Note that IREE currently only supports single-precision floating-point operations, which requires the model to be demoted from 64-bit to 32-bit precision before the solver can run. This is handled within the solver logic, but the operation is performed in-place on the PyBaMM battery model (we display a warning when run). Operating at lower precision requires tolerances to be relaxed for convergence on larger [e.g. DFN] models, and leads to memory transfers and type casting in the solver which are currently causing slow-downs (at least until 64-bit computation is natively supported).
Comparative performance on the above SPM problem on an Apple M2 Macbook Pro (with events=[] to allow comparison to the JaxSolver):

IDAKLU-IREE took 1.4 secs (1.3 secs to demote and compile the expressions; <0.1 secs for each subsequent solve).
IDAKLU-Casadi: took 0.14 secs (<0.1 secs setup; <0.1 secs for each subsequent solve).
JaxSolver [BDF]: took 1.0 secs (0.9 secs compilation; 0.1 secs for each subsequent solve).

Substituting a DFN model (and reducing atol = 1e-1) the times become:

IDAKLU-IREE took 12.1 secs (8.7 secs to demote and compile the expressions; 3.4 secs for each subsequent solve).
IDAKLU-Casadi: took 0.6 secs (0.3 secs setup; 0.3 secs for each subsequent solve).
JaxSolver [BDF]: took 22.8 secs (7.6 secs compilation; 15.2 secs for each subsequent solve).

There is a noticeable performance deficit for the IDAKLU-MLIR solver compared to Casadi, due to 1) initial compilation of MLIR to bytecode, 2) demotion strategies, and 3) memory transfers casting between types in the solver. We anticipate improvements in the second and third points with native 64-bit IREE support, and as our IREE approach compiles on the model expressions (not the solver) compilation times quickly out-perform the JaxSolver with increasing model complexity / time steps (while also taking full advantage of the capabilities already provided by the IDAKLU solver, such as events). The IREE/MLIR approach offers a pathway to compiling expressions across a wide variety of backends, including metal and cuda, although additional code adjustment (principally host/device transfers) will be required before those can be supported.
Resolves #3826
Type of change
Please add a line in the relevant section of CHANGELOG.md to document the change (include PR #) - note reverse order of PR #s. If necessary, also add to the list of breaking changes.

[X] New feature (non-breaking change which adds functionality)
[ ] Optimization (back-end change that speeds up the code)
[ ] Bug fix (non-breaking change which fixes an issue)

Key checklist:

[X] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[X] All tests pass: $ python run-tests.py --all (or $ nox -s tests)
[X] The documentation builds: $ python run-tests.py --doctest (or $ nox -s doctests)

You can run integration tests, unit tests, and doctests together at once, using $ python run-tests.py --quick (or $ nox -s quick).
Further checks:

[X] Code is commented, particularly in hard-to-understand areas
[X] Tests added that prove fix is effective or that feature works

Note: Codacy seems to be struggling with the template / inheritance structures in C++, hence the inclusion of additional // cppcheck-suppress comments in the IDAKLU solver.

ccing @cringeyburger here because this PR will be adding and modifying a lot of compiled code, we shall need to make a few adjustments in the migration to scikit-build-core as needed. Though, as long as the wheels builds pass (@jsbrittain, could you please trigger them on your fork?), it should be fine.

@agriyakhetarpal Wheels build fine: https://github.com/jsbrittain/PyBaMM/actions/runs/9665563143

thanks @jsbrittain this looks excellent. I've made a few suggestions below, see what you think. also, is jax_evaluator="iree" needed for the options, it there a case where you want to convert to jax but not use the jax_evaluator?

@martinjrobins yes, there is actually an existing python-idaklu interface that will run if we don't redirect using the (new) jax_evaluator option. I think it's a legacy item (idaklu/python.cpp) (it can be quite slow, even on these toy examples).

that reminds me, we should get rid of python-idaklu, I don't think it serves a useful purpose anymore. I'll add an issue

Hi again, @jsbrittain – https://github.com/pybamm-team/PyBaMM/pull/4205 is trying to migrate PyBaMM's package structure to an src layout from the current flat one, which will move all the files from pybamm/ into src/pybamm/. It has a lot of potential for delays because of inevitable merge conflicts across several PRs, so we plan to merge it as soon as stable v24.5 hits next week, just a heads up :)


Remove Local Path Provisioner

What this PR does / why we need it:
This PR removes the code added for Local Path Provisioner addon
Story: sc-56355
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Steps to reproduce
Does this PR introduce a user-facing change?
Yes
Removed the Beta support for Local Path Provisioner addon. The Local PV usecase can still  be addressed using the existing  [OpenEBS](https://kurl.sh/docs/add-ons/openebs)

Does this PR require documentation?

can you run ?
make -C kurlkinds schemas

Thanks - Removed the associated schema changes for the Installer spec. Made a new commit https://github.com/replicatedhq/kURL/pull/3340/commits/59e4fc031d4701c335a1c675b60a3d4ad5d2ac3f


Regex in setvar variables

Context:
Currently, (unescaped) backslashes are forbidden in variables content.
In msre_parse_generic():
if (*p == '\\') {
   if ((*(p + 1) == '\0') || ((*(p + 1) != '\'') && (*(p + 1) != '\\'))) {
      [error & return]
   }
   p++;

The only case a backslash is accepted is when it escapes a single quote or a backslash.
Problem:
You cannot store a regex in a variable: setvar:'tx.var=\babc\b'
When doing this manually, you can escape the string obviously: setvar:'tx.var=\babc\b'
But when you use a macro like the following:
<Macro MyMacro $regex>
 SecAction ...,setver:'var=$regex',...
 SecRule ARG "$regex" ...
</Macro>

there's no way to call the macro with a parameter compatible with both directives
Solution:
We could be lax (and still compatible with the current behaviour):

If it's followed by a quote or a backslash, accept and "eats" the escaping backslash
In all other cases, accept and don't "eat" the backslash
the code change is trivial

Does somebody see any other solution?

Hi @marcstern ,
There are a couple of ways to work around that current limitation:

It is often possible to rework a regular expression by using posix character classes instead of backslash specifications. For example, I believe your sample setvar:'tx.var=\babc\b' could be specfied with (^|[^[:word:]])abc([^[:word:]]|$) .

One technique I have used a couple of times in the past is to use a lua script to populate the variable instead of directly via setvar. That way you aren't restricted by some of the limitations in the rule syntax.

Hi @martinhsv,

Indeed, some escape sequences could be replaced by posix character classes, but I'm pretty sure we can find some that cannot.
Using LUA is only possible if LUA support is enabled, which isn't the case on high security environments, like military ones.

So my propositionis still valid. As I said, it's fully compatible with the existing behaviour.

Hi @marcstern ,
Whether there is a fully-functional workaround or not, a change can always be considered.
But I'm not entirely clear on what you are proposing. Could you describe it more fully? What do mean by "eats"? At what stage are you proposing that that happen?

Hi @martinhsv ,
Here is my proposal:

replace
if ((*(p + 1) == '\0') || ((*(p + 1) != '\'') && (*(p + 1) != '\\'))) {
by
if ((*(p + 1) == '\0')) {
To allow anything after a backslash

replace the line
p++;
that "eats" (deletes) the backslash
by
if ((*(p + 1) == '\'') || (*(p + 1) == '\\')) p++;
So it only deletes the backslash when preceding a single quote or a backslash (same behaviour as now)


Openssl.NET - SSL_get0_alpn_selected() returns NULL

SSL_get0_alpn_selected(IntPtr ssl, out IntPtr data, out int len); returns null. I’m using standard openssl console client and my own server ( with ManagedOpenSsl.dll)
The exception thrown – "Cant get selected protocol. See if ALPN was included into client/server hello");
In Native.cs, this function is defined as below,
public static extern void SSL_get0_alpn_selected(IntPtr ssl, out IntPtr data, out int len);
Here is below the code for SSL_get0_alpn_selected() call, out ptr is always returns NULL.
public string AlpnSelectedProtocol
{
get
{
var ptr = new IntPtr();
var len = 0;
			Native.SSL_get0_alpn_selected(Handle, out ptr, out len);

			if (ptr == IntPtr.Zero)
				throw new AlpnException("Cant get selected protocol. See if ALPN was included into client/server hello");

			var buf = new byte[len];
			Marshal.Copy(ptr, buf, 0, len);
			return Encoding.ASCII.GetString(buf, 0, len);
		}
	}

Here is my client hello commands, that I tried.
C:\OpenSSL-Win32\bin>openssl s_client -servername MyServer –connect x.x.x.x:443  -alpn tls
C:\OpenSSL-Win32\bin>openssl s_client -servername MyServer –connect x.x.x.x:443  -alpn tls1_1
C:\OpenSSL-Win32\bin>openssl s_client -servername MyServer –connect x.x.x.x:443  -alpn “tls1, tls1_1, tls1_2”
Thanks
Arun

@IArun74 Please use this forum for topics relating to Brackets application. From what you have posted above, it seems to be not related to anything to do with Brackets. I am closing this issue and feel free to open if at all it is relating to Brackets application (in which case please be a little more descriptive). Thanks!


Should add a well footer from mitrecyberacademy.org to registration

It will provide some padding at the bottom of the page, and will make pages end less abruptly.

Closed by cd52411e683fb23b312b0ef0987cdbefc4ceda07


Clean-up controller

Proposes an idea for a clean-up controller for Kyverno.

Implementation detail:  It may be better to use labels rather than annotations so we can configure a rule with an object selector for specifically those labels while not tampering with other rules in the same webhooks.

@realshuting see latest updates in the Implementation section. I tried to capture ideas proposed up to this point.

@realshuting I've resolved conversations. If all looks good, will you approve?


ListItem theme Prop not extending ListItemText typing

I've tried to set theme to an ListItem component with ItemText styles with Typescript and type checking in Theme props for ListItem component does not recognize itemText propertie.
I've found in source that theme prop in ListItemText.d.ts does not catch ListItemTextTheme interface even though in RT documentation says that ListItemText propertie in ListItem theme exists.
https://github.com/react-toolbox/react-toolbox/blob/e1f320c580a503f0f780a6d87ea743fd72c667df/components/list/ListItem.d.ts#L32
Maybe should theme prop in this interface be extended with ListItemTextTheme interface?

#1670


node_modules checked into git

The node_modules/ folder is huge and shouldn't be checked into version control, since people who want to work on the repository can simply do npm install and download everything themselves! I will work on fix and push PR.

So I actually just used this boilerplate from a tutorial I've been going through as the purpose of just having something to build on my React skillz for now.  I actually got an Udemy course on webpack and plan on refactoring the code myself as part of the learning process once I have a better understanding of it :)


Braintree: make sure we use an appropriate merchant account

A single Braintree account can have multiple merchant accounts, each for a different settlement currency. It seems the current implementation of the Braintree gateway does not pass a merchant account ID which means that Braintree will use the default account, which may not be the one we want.
We should either let the user configure an explicit account ID for any given currency, or fetch the list of merchant accounts and see if there is one matching the checkout's currency before attempting to use the gateway, then pass the appropriate merchant account ID when authorizing or charging.

I'll close this one since the Braintree plugin won't be developed anymore and apps are recommended way of handling payments. See https://github.com/saleor/apps.


New Users Page

Update the current /user/ page to display more information, including inventory, hero, gems, and a new contribution tab.
Also, for fun, I fixed the contributor badges.

[x] Display Gems
[x] Display CodePoints
[x] Display Levels Complete
[x] Right table for contribution stats
[x] Display Inventory incl. pose
[x] Display heroes unlocked.
[x] Fix sync'ed poseImage to non-sync
[x] Contributor badges fixed below inventory menu
[x] Add i18n strings

@nwinter I've finished with the changes!

Also, since we're determining the contributor badges through the number of contributions made on that certain category, we could 100% implement some "tier" system. For example, the adventurer badge unlocks at 100 levels completed.
So at 100 levels, it would be Adventurer I. At 200, Adventurer II. At 500, Adventurer V, and so on.
Currently, I have 696 completed levels, so it would display Adventurer VI.
A preview:

Thoughts?


Invalid Arg Type error

Hi,
I've tried this action on two of my repositories. My new test repository is working flawless, but I keep getting this error message on my older repo do you know what the issue could be?
Run h-nystrom/checkout-files@v2
with:
files: Plugins
token: ***
node:internal/errors:464
ErrorCaptureStackTrace(err);
^
TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at new NodeError (node:internal/errors:371:5)
at Function.from (node:buffer:322:9)
at saveContent (/home/runner/work/_actions/h-nystrom/checkout-files/v2/index.js:34:32)
at /home/runner/work/_actions/h-nystrom/checkout-files/v2/index.js:28:13
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
code: 'ERR_INVALID_ARG_TYPE'

Hi, thanks for the report.
Looking at the error, checkout-files/v2/index.js:34:32, it seems that data.content is have no data.

Is Plugins a folder and/or empty folder?
Is Plugins an empty file, if a folder, does it content an empty file?

Ok, interesting. I have the same folder structure in my other repo:
./Plugins/PluginA/File1.h
./Plugins/PluginB/File2.h
...
I basically want to checkout all files in that folder.
Could the issue be that it doesn't find the folder in the root of my old repo?
Thanks for the help! :)

It doesn't appear to support subfolders :(


Update netty-all to 4.1.72.Final

Updates io.netty:netty-all from 4.1.71.Final to 4.1.72.Final.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "io.netty", artifactId = "netty-all" } ]

labels: library-update

Codecov Report

Merging #631 (b14c883) into main (4685f2b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #631   +/-   ##
=======================================
  Coverage   58.54%   58.54%
=======================================
  Files          59       59
  Lines        1399     1399
  Branches       52       52
=======================================
  Hits          819      819
  Misses        580      580

Continue to review full report at Codecov.

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

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 436899.22

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 433554.68

🚀🚀🚀 Benchmark Results
Concurrency: 256
Requests/sec: 435285.16


Build faild

+ git submodule update --init --recursive
+ cp scripts/pre-commit .git/hooks
[Gradle] - Launching build.
[Sponge] $ /var/lib/jenkins/tools/hudson.plugins.gradle.GradleInstallation/Gradle-2.1/bin/gradle
****************************
Powered By MCP:
http://mcp.ocean-labs.de/
Searge, ProfMobius, Fesh0r,
R4wk, ZeuX, IngisKahn, bspkrs
MCP Data version : snapshot_20141001
****************************
Found AccessTransformer in main resources: sponge_at.cfg
FAILURE: Build failed with an exception.
* What went wrong:
Could not resolve all dependencies for configuration ':runtime'.
> Could not resolve :forgeBin:1.8-<IP_ADDRESS>0-1.8.
Required by:
org.spongepowered:Sponge:1.8-<IP_ADDRESS>0-SNAPSHOT
> Could not GET 'https://libraries.minecraft.net//forgeBin/1.8-<IP_ADDRESS>0-1.8/forgeBin-1.8-<IP_ADDRESS>0-1.8.pom'. Received status code 403 from server: Forbidden
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
like a depency error?

You haven't run gradle setupDecompWorkspace.

Please don't make issues on the github for build/support problems. We have
the Sponge forums for this sort of thing.
On Thu, Jan 29, 2015 at 11:03 AM Minecrell<EMAIL_ADDRESS>wrote:

Closed #154 https://github.com/SpongePowered/Sponge/issues/154.
—
Reply to this email directly or view it on GitHub
https://github.com/SpongePowered/Sponge/issues/154#event-226919298.


Roll out full IAM interface to artifact registry module

Describe the bug
The current implementation of the artifact-registry module is using an iam_binding resource to set the permissions, which is dropping any IAM permissions that has been set by another module.
Environment
Terraform v1.7.4
on darwin_arm64

c2780fa

To Reproduce

Create a repository using the artifact-registry module in a Terraform module A. Add some IAM permissions on the repository (service account for instance)
In a second Terraform module B, add some permissions to the repository (to add the service agent of another project to read artifacts)
Apply again the Terraform module A.

Expected behavior
The permissions set by the Terraform module B should be kept, alongside the one set by the module A
Result
The permissions set by the Terraform module B are dropped when applying the module A
Additional context
More insights on my current use case: I'm creating a Terraform module that creates a Virtual repository, but also creates the permissions in the remote GCP projects where the upstream repositories live.
In that context I have permissions set at:

at the creation of the upstream repository (allow some service accounts for the CI)
at the creation of the virtual repository

The IAM interface used across all our modules supports both authoritative and additive bindings. Artifact registry is the exception and has never been updated to the new interface. I changed the title to reflect what actually needs to be done.

I've opened this PR, please let me know if that was the right way to implement the new interface

Ah sorry, we basically did the same thing. I'll close mine.

This has been merged, closing this (and thanks for flagging and taking care of it).


Support for conditional no-return

Version and Platform (required):

Binary Ninja Version: 3.4.4102-dev
OS: Arch Linux
OS Version: -
CPU Architecture: x86_64

Bug Description:
Displaying/using a wrong edge between two basic blocks, where the last instruction of the first basic block has a non zero status call to error(x,...).
Steps To Reproduce:
Use the graph view on main in  a.out.zip in any IL.
Or for the API: Iterate over the outgoing_edges of MediumLevelILBasicBlock in the block (or any other IL) where the error(1,...) call is.
Expected Behavior:
As described in the error map page a non zero status call of error will call exit instead of continuing.
Therefore the edge between the two edges should not exists, if a constant non zero value is used for error.
Screenshots:

Additional Information:
If the compiler optimization level is aggressive enough it will account for the different behavior of the status field of error and place the code accordingly resulting in this problem.

Current work around for this deficiency is to do a over ride the call type and add __no_return to the end of the call.

Changing the title to reflect the underlying feature request. Ultimately the way I suppose we'd fix this is to have a callback on the Platform class which passes the call site in. The same type of feature would be needed for handling stuff like
TerminateThread(GetCurrentThread(), 0)


Docs move keyless info to overview

Summary

Release Note

Documentation

@olivekl  Please review.
I didn't change the name of the keyless.md file, but did change it's purpose.   Should we create a whole new file with the same content and get rid of keyless.md?

I wonder where the "non-Fulcio keyless" use case (the one with short-lived keys and provided certificate-chain) would be documented, thinking of https://github.com/sigstore/cosign/pull/2845 and https://github.com/sigstore/docs/pull/153?

@Hayden Blauzvern @.***>  to clarify.   You want
overview.md to remain completely the same as it was, and keyless.md to be
as edited, but renamed?   What about the ttl.sh info that is now in
overview.md?   Don't we want that information someplace?   Or do you feel
that people should know how to use ttl.sh and crane enough such that they
can figure this out for themselves?   I think we should have some sort of
quickstart container build for people to test with.
On Wed, Apr 26, 2023 at 8:44 AM Hayden B @.***> wrote:

@dmitris https://github.com/dmitris - In verify.md, as you proposed.
"keyless.md" and "openid_signing.md" are being cleaned up to remove
duplication.
—
Reply to this email directly, view it on GitHub
https://github.com/sigstore/docs/pull/156#issuecomment-1523643438, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A5CUIOL2ZDNUEKNBFTKZXPLXDE7HDANCNFSM6AAAAAAXLTI5ZQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I would love for someone else to chime in too, but my thought is that ttl.sh is just for testing and not something someone should do for real-world usage. crane is already discussed in the signing docs too. I was thinking either we'd remove ttl.sh entirely, or we have a dedicated subsection in the quickstart guide showing its uagae, but make it clear this is just an example.

I was thinking either we'd remove ttl.sh entirely
I learned about ttl.sh from the examples currently in https://docs.sigstore.dev/cosign/keyless/#quickstart and it seems great for ad-hoc testing, it would be too bad if that pointer disappear completely

Thanks for the input. I believe Jon will be moving it into a dedicated section in the QuickStart.

Yes, I'm going to create a section wit ttl.sh as an example so we don't
lose this information.
On Thu, Apr 27, 2023 at 8:16 AM Hayden B @.***> wrote:

Thanks for the input. I believe Jon will be moving it into a dedicated
section in the QuickStart.
—
Reply to this email directly, view it on GitHub
https://github.com/sigstore/docs/pull/156#issuecomment-1525882603, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/A5CUIOMNIK3PKSSUY6YSYGDXDKEU7ANCNFSM6AAAAAAXLTI5ZQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Looks great!

A few comments / suggestions / questions here. Thanks!

changes implemented

@ltagliaferri Can you take another look?

Bumping for review


Should I use single instance AmazonS3Client for whole web application or per web request create new instance

The Question
Should I use single instance AmazonS3Client for whole web application or per web request create new instance.
We are using AWS S3 SDK to upload objects inside our ASP.NET Core web application.

Is AmazonS3Client thread safe to use across requests processing in ASP.NET core Web application?
Should we use single instance of AmazonS3Client or create per request new instance ?
Should we register AmazonS3Client  in the ASP.NET DI system as transient, scoped or singleton ?.

Environment

SDK Version: AWSSDK.Core    <IP_ADDRESS>, AWSSDK.S3         <IP_ADDRESS>
Package Version:
OS Info: Linux
Build Environment : Visual Studio
Targeted .NET Platform:  .NET Core 2.1

This is a :question: general question

Hi @madhub,
As a general guidance, using the Singleton instance of AmazonS3Client class is a better approach as opposed to creating instance every time, since the credentials and profile resolution are done once. Also, if you use the AWSSDK.Extensions.NETCore.Setup to configure AWS services (example here), it creates the service client as Singleton.
Hope this provides some guidance.
Thanks,
Ashish

@ashishdhingra: I am using a single instance of AmazonS3Client for one of my web applications. It is noticed that if I make a concurrent request to PutObjectAsync, it throws an intermittent error. Below is the stack trace
InnerException StackTrace    at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
at System.Net.FixedSizeReader.ReadPacketAsync(Stream transport, AsyncProtocolRequest request)
at System.Net.Security.SslState.ThrowIfExceptional()
at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
at System.Net.Security.SslStream.<>c.b__47_1(IAsyncResult iar)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
at System.Threading.Tasks.ValueTask1.get_Result()    at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask1 creationTask)
at System.Threading.Tasks.ValueTask1.get_Result()    at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
at Amazon.Runtime.HttpWebRequestMessage.GetResponseAsync(CancellationToken cancellationToken)
at Amazon.Runtime.Internal.HttpHandler`1.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.RedirectHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.Unmarshaller.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.S3.Internal.AmazonS3ResponseHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.ErrorHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.EndpointDiscoveryHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.CredentialsRetriever.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.RetryHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.CallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.S3.Internal.AmazonS3ExceptionHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.ErrorCallbackHandler.InvokeAsync[T](IExecutionContext executionContext)
at Amazon.Runtime.Internal.MetricsHandler.InvokeAsync[T](IExecutionContext executionContext)
Any input is really appreciated.

@ArchanaNeog Could you please share code snippet to investigate further? I'm not sure if this is an issue with the SDK since it appears to be SocketException. Also confirm of instantiating client for every request gives the same intermittent error.
Also note that objects which are Disposable should be disposed properly.

The Question
Should I use single instance AmazonS3Client for whole web application or per web request create new instance.
We are using AWS S3 SDK to upload objects inside our ASP.NET Core web application.
* Is AmazonS3Client thread safe to use across requests processing in ASP.NET core Web application?

* Should we use **single instance** of **AmazonS3Client** or create **per request new instance** ?

* Should we register **AmazonS3Client**  in the ASP.NET DI system as **transient, scoped or singleton** ?.

Environment
* SDK Version: AWSSDK.Core    <IP_ADDRESS>, AWSSDK.S3         <IP_ADDRESS>

* Package Version:

* OS Info: Linux

* Build Environment : Visual Studio

* Targeted .NET Platform:  .NET Core 2.1

This is a ❓ general question

Hi @madhub,
As a general guidance, using the Singleton instance of AmazonS3Client class is a better approach as opposed to creating instance every time, since the credentials and profile resolution are done once. Also, if you use the AWSSDK.Extensions.NETCore.Setup to configure AWS services (example here), it creates the service client as Singleton.
Hope this provides some guidance.
Thanks,
Ashish

What if we have use temporary credentials ? then single instance  created in the beginning won't work right ?.
Our application is Asp.net Core web API stores data to into S3 , it receives temporary S3 credentials and bucket from another service.  What is the recommendation  for this use case ?.
Currently we create AmazonS3Client instance for   temporary S3 credentials and bucket  combination  and when token  expires we dispose AmazonS3Client instance . Is it right approach ?.
Madhu

@ashishdhingra
Thanks for the reply.
What if we have use temporary credentials ? then single instance  created in the beginning won't work right ?.
Our application is Asp.net Core web API which stores data to into S3 , it receives temporary S3 credentials and bucket from another service.  What is the recommendation  for this use case ?.
Currently we create AmazonS3Client instance for   temporary S3 credentials and bucket  combination  and when token  expires we dispose AmazonS3Client instance .  In this approach we may have multiple instance of AmazonS3Clients (temp creds+bucket combination) in single ASP.NET core process , Is it right approach ?.  Is their better way to handle this ?
Madhu

@madhub The use of single instance versus instance per request depends on your application scenario, where single instance has added benefit of executing initialization tasks only once. In case your AmazonS3Client requests temporary credentials from another service, then using instance per request is recommended. In this case, if you decide to use single/shared instance, then extra step to refresh the credentials, if expired, is required. Hope this helps.
Thanks,
Ashish

One observation was if AmazonS3Client.PutObjectAsync function times out , API was throwing "OperationCanceledException/TaskCanceledException ." even though we did not use the cancellation tokens, after further investigation found that issue is due to .NET HttpClient behavior . It good to document this behavior in the API.
For information about the HttpClient API behavior here
https://github.com/dotnet/runtime/issues/21965
https://github.com/dotnet/runtime/pull/2281
Update MSDN documentation on this issue https://docs.microsoft.com/en-us/dotnet/api/system.net.http.httpclient.sendasync?view=net-5.0


Support for TypeScript 4.8

TypeScript 4.8 is now released.
It looks like the types were made stricter, as TSTL will no longer compile my game's type definitions:

We will update tstl with TS 4.8 but just a heads-up: those errors in your screenshot seem to be problems with your code, not TSTL.

Nevermind, seems we were missing a --strict in our language-extensions test pipeline, causing this error to go unnoticed.

This issue was closed 2 days ago, but after upgrading to the latest version of TypeScript, language-extensions still throws errors:
$ ./build.sh
../../node_modules/typescript-to-lua/language-extensions/index.d.ts(669,33): error TS2344: Type 'K' does not satisfy the constraint 'AnyNotNil'.
../../node_modules/typescript-to-lua/language-extensions/index.d.ts(669,63): error TS2344: Type 'K' does not satisfy the constraint 'AnyNotNil'.
../../node_modules/typescript-to-lua/language-extensions/index.d.ts(675,39): error TS2344: Type 'K' does not satisfy the constraint 'AnyNotNil'.

Thus, I believe this issue should be reopened.

This change is merged into master but has not yet been released, it will be part of 1.10.0


Bitwise operators are referred to as logical operators

Operators on this page, such as |, &, and ^, are referred to as logical OR, logical AND, logical XOR in the headings. In the text, it's said with the combination, e.g. "bitwise logical exclusive OR".
I haven't heard "bitwise logical" as a term together, and I think it should be just "bitwise", both in headings and text.
I opened as an issue instead of PR to discuss first, as I might be mistaken.
cc: @pkulikov

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

ID: 02b8f7c2-379e-7876-0d36-25b06a294baa
Version Independent ID: 2410c828-0c66-9efe-ae87-9b07708aa731
Content: Bitwise and shift operators - C# reference
Content Source: docs/csharp/language-reference/operators/bitwise-and-shift-operators.md
Product: dotnet-csharp
Technology: csharp-language-reference
GitHub Login: @pkulikov
Microsoft Alias: wiwagn

@Youssef1313 The spec refers to those operators as "logical" (and uses "bitwise logical" wording):
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/expressions#logical-operators

@pkulikov So the spec was the source of this wording right?
Can the spec be inaccurate in this wording?
It's said everywhere as just bitwise operators.

@Youssef1313 I don't think it's inaccurate wording. It's explicit wording: "logical AND", not any other "AND". Though I guess "logical AND" and "AND" are treated as synonymous by many. I think that explicit wording is fine here, especially if it's supported by spec.
"Bitwise" here means that operation is performed on a bit level. "Logical AND" states which operation is performed.

I see your point, and yes I think there is no problem with the combination of "bitwise logical OR" (although the wording isn't common), but it's explicit about that the operator applies logical OR on the bit level.
However, I still think the headings need an update. They just say "Logical OR operator" without any mention of "bitwise".
I believe anyone reads "Logical OR operator" will get it as || (which only applies to boolean, not integers).

Also, it's very confusing if you opened both of these docs:
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/bitwise-and-shift-operators#logical-or-operator-
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/boolean-logical-operators#logical-or-operator-

It may even be incorrect to call | as bitwise logical OR operator. Generally, | is called "logical OR operator" (at least, in the spec), It performs bitwise operation on integer operands. In C#, bitwise operators are the ones that perform bitwise operations on integer operands.
So, "bitwise" refers not to operator, but to the operation it performs.

However, I still think the headings need an update. They just say "Logical OR operator" without any mention of "bitwise".
I believe anyone reads "Logical OR operator" will get it as || (which only applies to boolean, not integers).

The heading also includes | sign, so it's not to be mixed with ||. Also, the section is in the "Bitwise operators" article and the first sentence clears all the confusions.

I think it's more simple if | is explained on integers.

Not to me. I think it's more simple if | is explained on Booleans. I assume it's 50/50 division: some catch it on Booleans and "extrapolate" to integers; others  - vice versa. Depends on the background people are from, I believe. That's why it's worth to explain both behaviors.

The bitwise logical OR operator | can also be applied to operands of type bool, which will be treated as if they were integers of values 0 and 1

That would be confusing:

Bitwise operators are applied to integer types.
Why to refer to integers at all while talking about Boolean operands? That makes definition more complex. For example, I learned about bitwise operators long time after I had known Boolean operators. And when I think about 0 | 1, I treat 0 and 1 as if they were Booleans false and true.

Also, it's very confusing if you opened both of these docs:

What is confusing to you? Different operands - different behaviors. If one operator is to be explained based on another, then I would define Boolean logical OR and explain bitwise logical OR from it. For example, {Wikipedia article](https://en.wikipedia.org/wiki/Bitwise_operation#AND) does that: it explains bitwise AND based on logical AND.

the same operator is explained twice but in different contexts

That's fine. People are different, they come from different backgrounds, they develop in different contexts. I think it's completely fine to have two separate sections, each describing the operator behavior in its own context.

Operators on this page, such as |, &, and ^, are referred to as logical OR, logical AND, logical XOR in the headings

@Youssef1313 yes, after some thought I think it would be incorrect to put "bitwise" into the section headings. An individual operator is called "logical" (logical OR, logical AND, logical XOR). On integral operands, it performs bitwise logical operation. The set of those operators, though, can be referred as bitwise operators in a sense of "operators that perform bitwise operations"

Hmm... Probably my confusion comes from what I was taught 😄
Strictly speaking, I learnt that:

Logical operators apply to booleans only and results in a boolean value.
Bitwise operators apply to integers or booleans (in that case they are treated as 0 or 1, as if they were integers). They do the logical operations on the bit level (bit by bit), and for sure they evaluate both sides to do that.

That's exactly the background I've in this area. Probably it's correct but things get different depending on the language (or specifically, the language specification)? Or that terminology I know is just incorrect?
In practice, all just boils to the same thing, just different "terminology".

I looked at the VB reference
https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/operators-and-expressions/logical-and-bitwise-operators#binary-logical-operators
and based on my previous background from college, matches the terminology I know and is clearer IMO. But I haven't yet checked the VB spec.

Logical operators apply to booleans only and results in a boolean value.

Maybe, that's the case in some (a lot even?) languages, but it looks like that not in C#. C# calls |, &, and ^ as logical operators, regardless of the operand type. Then, depending on the operand type, there are integer logical operators and Boolean logical operators. Integer logical operators perform logical operations bit-by-bit and are part of bitwise operators (that set also includes ~).
As for the VB reference, note that it doesn't call operators "bitwise". These are operations that are bitwise.

Also, the very first paragraph from VB reference:

Logical operators compare Boolean expressions and return a Boolean result. The And, Or, AndAlso, OrElse, and Xor operators are binary because they take two operands, while the Not operator is unary because it takes a single operand. Some of these operators can also perform bitwise logical operations on integral values.

Note, there are no bitwise operators. The first sentence mentions "logical operators". The last sentence refers to them ("these operators") and basically claims that logical operators can be applied to integral values.

As for the VB reference, note that it doesn't call operators "bitwise". These are operations that are bitwise.

The VB spec mentions "bitwise operators":

In other languages, Not, And, and Or may be overloaded both as logical operators and bitwise operators. Upon import from an external assembly, either form is accepted as a valid overload for these operators. However, for a type which defines both logical and bitwise operators, only the bitwise implementation will be considered.

(I actually couldn't get what's meant by this statement in the spec, but just quoting it as it mentions "bitwise operators".

Logical operators compare Boolean expressions and return a Boolean result. The And, Or, AndAlso, OrElse, and Xor operators are binary because they take two operands, while the Not operator is unary because it takes a single operand. Some of these operators can also perform bitwise logical operations on integral values.

Note, there are no bitwise operators. The first sentence mentions "logical operators". The last sentence refers to them ("these operators") and basically claims that logical operators can be applied to integral values.

When I first read this, I thought "these" refers to "binary operators". Not sure what the original author intended to refer to.

Maybe, that's the case in some (a lot even?) languages, but it looks like that not in C#.

I think the whole thing is just about "terminology", nothing more, and the problem seems to be from the spec not the article. The spec is basically not using the "common terminology" from other languages.
I checked the C standard (ISO/IEC 9899:TC2) Section 6.5 (Expressions) clearly mentions "bitwise operators". However, the C# spec seems to use the word "bitwise" only as operations.
Can the spec be more clear describing this area? specially that VB spec uses "bitwise operators". I don't know if this could be part of (https://github.com/dotnet-foundation/projects/issues/90)? Not sure about what changes are acceptable to the spec and what are not.

I think a bit of history will help us reach a resolution.  The C# standard uses the terms "logical operator" and "conditional operator" to distinguish & from && (and | from || etc.) based on rules for overloading.  Any type may overload the logical operators. But, the conditional operators cannot be overloaded. Instead, the compiler-generate code for any conditional operator calls the associated logical operator if and only if short circuiting deems it necessary.
The term "bitwise" sneaks in because integral types are the most common example, and in those cases the logical operators are bitwise operators. But, for any user defined type that overloads logical operators, the computation may not be a "bitwise" operation.
I'll propose that we continue to follow the standard text in this area, although I agree we may want to de-emphasize the use of "bitwise".
I'll also check with the other members of the standard committee on any updates planned here, but I doubt this change will be above the bar while we work to update the standard from V5. Getting to the current version is considerably more important.

Question for @pkulikov
Do you think we need to make any changes, or should we close this?

Given that the doc matches the spec, I think close. If this diverged from the spec, it will probably be more confusing.
I can't think of any improvement that won't diverge from the spec, but will wait if @pkulikov has ideas.

@BillWagner @Youssef1313 I see only the minor possible improvement. In the following sentence

The & operator computes the bitwise logical AND of its operands

explicitly mention argument type: "its integral operands". What do you think? If agree, I'll submit PR.

@pkulikov

What do you think? If agree, I'll submit PR.

I like it.


Import styles in Next Js

Hi, I have a problem that the styles are not loaded in next js. According to the official documentation, I can import css or scss files to next Js. But when I add reactstrap and bootstrap to the project, the components work for me without problem, but not bootstrap styles. I hope you can help me with that. Thanks.

I have the same problem with next version 8

There is no special requirement for reactstrap around importing bootstrap's styles. You just need to include them in your project the same way you would if you were not even using reactstrap.
If you have an issue importing bootstrap's styles, I recommend opening an issue with next js or bootstrap itself.
At the bare minimum, you can add <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> to your index.html and not even use an import statement within your code.

Hey, that really worked thanks! Is the same also possible with JQuery.js and Waypoint.js ? Or generally, with every other javascript library, does the import work the same simple way?

@Fred12 you can certainly import everything via HTML tags. Things like jQuery and waypoint will expose their instances on the global scope. But you should be able to use import (or require('...')) statements to import them (this does depend on having you development environment properly configured though).

Hi guys, I tell you how I solved the problem, for some reason it does not work to import the bootstrap css file like this:
import 'bootstrap / dist / css / bootstrap.css';
I had to do the one direct import from the node_modules folder, like this:
import '../node_modules/bootstrap/dist/css/bootstrap.css';
This way I could import the bootstrap style to Next js.
This also applies to scss styles:
@import '../node_modules/bootstrap/scss/bootstrap.scss';


Error: MikroORM config file not found in ['./mikro-orm.config.js']

Describe the bug
after installing @mikro-orm/cli and running mikro-orm debug got the following error:
Stack trace
Current MikroORM CLI configuration
 - dependencies:
   - mikro-orm 5.0.2
   - node 17.5.0
   - typescript 4.5.5
 - package.json found
 - searched config paths:
   - /server/mikro-orm.config.js (not found)
- configuration not found (MikroORM config file not found in ['./mikro-orm.config.js'])

Expected behavior
load mikro-orm.config.js from the dist folder
Additional context
is there a way to tell the cli to look inside the dist folder or provide a flag in the cli something like --config-path=./dist/mikro-orm.config.js ?
Versions

Dependency
Version

node
17.5.0

typescript
4.5.5

mikro-orm
5.0.2

your-driver
@mikro-orm/mariadb

From the [docs] (https://mikro-orm.io/docs/installation#setting-up-the-commandline-tool) you can configure the config locations.

As said, you can use configPaths in the package.json, or MIKRO_ORM_CLI env var. Default location is in the baseDir.
https://mikro-orm.io/docs/installation#setting-up-the-commandline-tool

thank you so much its working now i'm excited to try this ORM


Maintainers circle page in contribute.cncf.io is outdated

cc @thedevelopnik
https://contribute.cncf.io/about/maintainers-circle/  is outdated. The "Schedule" talks about an event from 2020.
I thought https://github.com/cncf/tag-contributor-strategy/pull/415/ is changing this page but it doesn't.
It is your call @thedevelopnik , but my opinion is that we remove the schedule from https://github.com/cncf/tag-contributor-strategy/blob/main/maintainers-circle/README.md and have those entries in https://contribute.cncf.io/about/maintainers-circle/#schedule

@aliok sir can u assign this issue to me i am beginner i would love yo contribute

cc @thedevelopnik

Hey @aliok I didn't even realize that page existed! I think I'd like to have it in both places because:

I've been regularly pointing people to the README and I think it's now basically "in production"
It's a historical record, where that page only has the newest one.

I can just add it to the flow for having a new one to update both, with that page always having the next one on deck.
Thoughts?

Side note: it has not been in my regular workflow to check Github notifications for to-dos as I never had any, but is now! Sorry for the delay in responding.

Hey @aliok I didn't even realize that page existed! I think I'd like to have it in both places because:
I've been regularly pointing people to the README and I think it's now basically "in production"
It's a historical record, where that page only has the newest one.
I can just add it to the flow for having a new one to update both, with that page always having the next one on deck.

How about removing the schedule section in https://contribute.cncf.io/about/maintainers-circle/#schedule and saying "to see the next/past events, go and see the README"?
It might be hard to maintain both IMO.

Side note: it has not been in my regular workflow to check Github notifications for to-dos as I never had any, but is now!

👍  I wouldn't go and check Github for notifications. If you haven't enabled mail notifications, I would go that way.

Sorry for the delay in responding.

No problem.

Closing this issue as https://github.com/cncf/tag-contributor-strategy/pull/475 is merged


feat: implement seqvars presets editor (#1763)

@Gregoor FYI - this also includes my take on the "gene filter settings" UI in the presets. Also, this includes the latest and greatest consequences enum which I ported over to your existing code.
We should coordinate merging and conflict resolution.


Add linesegment_relationship demo

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 97.62%. Comparing base (758b9d2) to head (7a36b09).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   97.62%   97.62%
=======================================
  Files           6        6
  Lines        2186     2186
=======================================
  Hits         2134     2134
  Misses         33       33
  Partials       19       19

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Add expression to build with the nix package manager

On top of #1111

FWIW, we have a lean package in nixpkgs, and you can override it to build current master:
nix-build -E 'with import <nixpkgs> {}; lean.override { src = ./.; }'

However that doesn't work on the lean3 branch as src/cmake/Modules/CompBase.cmake tries to fetch something from github.  In any case, the NINJA_PATH is definitely nicer than the wrapper.

@gebner I prefer building packages without (recent) official releases directly from source checkouts, rather than adding them to nixpkgs and periodically updating them. If this is merged here I'll try to get it working on lean3 as well :smile:

My point was that you can easily use the nixpkgs expression to build a local checkout.  But of course, this only works as long there are no new dependencies or build system changes.

@gebner,

However that doesn't work on the lean3 branch as src/cmake/Modules/CompBase.cmake tries to fetch something from github. In any case, the NINJA_PATH is definitely nicer than the wrapper.

There is a workaround. Copy src/cmake/Modules/cpp14_lang directory in master branch to lean3 branch. FYI, here is a link.

We are currently working on a new version (branch lean3). It does not depend on ninja anymore.


TOR auto-publish-enabled property not honored

Expected behavior
Setting org.tbk.tor.auto-publish-enabled=false should disable auto publishing.
Actual behavior
Setting org.tbk.tor.auto-publish-enabled=false has no effect.
Application fails to configure.
Steps to reproduce the problem

Set property org.tbk.tor.auto-publish-enabled=false
Run Application
Fail

Specifications

Version: 0.3.0
Platform: MacOS
Module: spring-tor-autoconfigure

implementation("io.github.theborakompanioni:spring-tor-starter:0.3.0")
Kotlin 1.6.21
Spring Boot 2.7.4
Gradle 7.5
Additional context
Log:
Caused by: java.lang.IllegalStateException: Cannot publish hidden service for application. Please specify 'server.port' or disable auto publishing with 'org.tbk.tor.auto-publish-enabled=false'
	at org.tbk.tor.spring.config.TorHiddenServiceAutoConfiguration.applicationHiddenServiceDefinition(TorHiddenServiceAutoConfiguration.java:42) ~[spring-tor-autoconfigure-0.3.0.jar:0.3.0]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.23.jar:5.3.23]
	... 84 common frames omitted

Debug autoconfiguration output:
   TorHiddenServiceAutoConfiguration#applicationHiddenServiceDefinition matched:
      - @ConditionalOnBean (types: org.springframework.boot.autoconfigure.web.ServerProperties; SearchStrategy: all) found bean 'server-org.springframework.boot.autoconfigure.web.ServerProperties'; @ConditionalOnMissingBean (names: applicationHiddenServiceDefinition; SearchStrategy: all) did not find any beans (OnBeanCondition)

It looks like @Conditional(OnAutoPublishEnabledAndServerPortSpecified.class) is not evaluated at all.

It looks like @Conditional(OnAutoPublishEnabledAndServerPortSpecified.class) is not evaluated at all.

Thank you for the report and the detailed information! :orange_heart:
The test did not really cover the intended behaviour..
Problem has been reproduced and fixed in #34.
Would you be able to test it?

Thanks for a quick fix. I tried it locally and now it works as expected.
Can you produce a release with these changes?
Mitigation:
Kotlin:
@SpringBootApplication(
    exclude = [TorHiddenServiceAutoConfiguration::class]
)

Java:
@SpringBootApplication(
    exclude = {TorHiddenServiceAutoConfiguration.class}
)

Can you produce a release with these changes?

v0.4.0 released.


Error: undefined method `impressionist_counter_caching?' for Media:Module

Hello,
I am having issues adding impressionist to the top of the controller in Rails 4 as shown below
class IyaekoController < ApplicationController
impressionist
def myaction
end
end
The error is
undefined method `impressionist_counter_caching?' for Media:Module
However when I use it in an action like below it works
def image
@image = Media.find(params[:id])
@views = @image.impressions_count
impressionist(@image)
end
My model has
is_impressionable :counter_cache => true
And my Media db has
t.integer  "impressions_count", default: 0
I am interested in applying impressionist to the whole controller so that I can save only unique impressions using the command
impressionist :unique => [:impressionable_type, :impressionable_id, :session_hash]
Please you have any suggestions on this?
Thanks

I just started using the gem and got this exact error right off the bat. This is my error trace. Like @aoredo I have impressionist called out at the top of my controller, but my controller doesn't have a corresponding model tied to it.

How to fix it? override impressionist?

I too am seeing this error trying to call impressionist from the application_controller on a controller that doent have an assoc model.   did you guys happen to find out anything? @tedma4 @qx ?

Just ran into this issue under the same circumstance--controller without an associated activerecord model.  The quick fix I used was to put
Impressionist::CounterCache.class_eval do   def counter_caching?     impressionable_class.       impressionist_counter_caching? if impressionable_class.respond_to? :impressionist_counter_caching?   end end
in config/initializers/impression.rb.

This issue seems to happen when you have a controller with a correspondingly named class, but the class isn't db backed (for instance, a PORO object)
I basically did the same thing as @devonbush (thank you!)
Impressionist::CounterCache.class_eval do
  def counter_caching?
    return false if !impressionable_class.respond_to?(:impressionist_counter_caching?)
    impressionable_class.impressionist_counter_caching?
  end
end


ideas for a new Rules abstraction?

tag @7andrew7 @bmyerz
I know we have all had some issues dealing with the way rules are run in the past. In particular, I think we have been frustrated over the lack of control -- rules are always run recursively, and top down. Since rules are objects rather than factory functions, we can't use state in a rule itself. Etc.
I was thinking it might soon be time to try to abstract the rules better. Some candidate steps that seem likely good to me:

add a .get(**kwargs) method to each rule, so that rule behavior can be controlled at invocation time.
enable rules to control their execution. E.g., rules can extend abstract classes that imply how they are run: PreOrderRecursiveRule, a PostOrderRecursiveRule, a RunOnceRule (that presumably controls tree traversal internally) etc.

Equality Saturation avoids the need to decide on the order rewrites are applied. I have a demo of it for the Raco algebra.

Wow!!  I will run this tonight....
On Thursday, February 4, 2016, Brandon Myers<EMAIL_ADDRESS>wrote:

Equality Saturation
http://www.cs.cornell.edu/~ross/publications/eqsat/ avoids the need
to decide on the order rewrites are applied. I have a demo of it for the
Raco algebra https://github.com/uwdb/PolyPEG/tree/master/clothespin.
—
Reply to this email directly or view it on GitHub
https://github.com/uwescience/raco/issues/339#issuecomment-180154504.


application cannot start because of contradictory default settings

Chart Name
vaultwarden
Chart Version
0.9.1
Bug Description
When trying to run the vaultwarden chart with default settings it is unable to run because  in default settings http-port is set to port 80 but podSecurityContext is set to run as non-root user. The vaultwarden rocket server will fail to start with a permission denied error and pod will go into a restart-loop because ports up to 1024 can only be bound by root user. In favor of a secure setup the default http-port should be changed to a port > 1024. See https://github.com/dani-garcia/vaultwarden/issues/411#issuecomment-466673242.
values.yaml
No response
Relevant log output
[2023-07-28 08:49:37.872][vaultwarden::api::notifications][INFO] Starting WebSockets server on <IP_ADDRESS>:3012
Error: Rocket.
[CAUSE] Bind(
    Os {
        code: 13,
        kind: PermissionDenied,
        message: "Permission denied",
    },
)

@HendrikSchrieber It's interesting that this is causing an issue for you. In my personal Kubernetes cluster, net.ipv4.ip_unprivileged_port_start always seems to be set to 0, so Vaultwarden is able to bind to 80 without issue. That being said, it would be safer to bind to a non-privileged port. I'll go ahead and update the chart!

Also, a quick note. My Vaultwarden chart will automatically set the ROCKET_PORT env to match the value of service.main.ports.http.port. So, while I'm researching and releasing this update, you can go ahead and set something like this in your values.yaml:
service:
  main:
    ports:
      http:
        port: 8080

@HendrikSchrieber Ok I just released v0.10.0 which removes the WebSocket port, and sets the default HTTP port to 8080. Can you try again with that version?

Works for me, thanks for the fix :+1:


[#59] Don't force indentation when setting custom slapd server options.

@jof Do you have a particular reason for not using the indentation for arrays?

Closing due to lack of response. Feel free to open this back up later