Note __str__ raises exception if the assigned object's model no longer exists

Environment

Nautobot version (Docker tag too if applicable): Probably goes back to v1.4
Python version:
Database platform, version:
Middleware(s):

Steps to Reproduce
I encountered this when I forgot to re-enable a plugin for development but this could happen if you have a note on a model that gets deleted and the migration doesn't migrate notes. The failure originates from trying to retrieve the object in Note.assigned_object and ContentType tries to retrieve Note.assigned_object_type.model_class()._base_manager. See below
>>> Note.objects.get(id="882a2792-361f-4ddc-9ed8-5e731fd6f1c5").assigned_object_type
<ContentType: softwarelcm>
>>> Note.objects.get(id="882a2792-361f-4ddc-9ed8-5e731fd6f1c5").assigned_object_type.model_class() is None
True
>>> Note.objects.get(id="882a2792-361f-4ddc-9ed8-5e731fd6f1c5")
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/local/lib/python3.11/site-packages/django/db/models/base.py", line 521, in __repr__
    return '<%s: %s>' % (self.__class__.__name__, self)
                                                  ^^^^
  File "/source/nautobot/extras/models/models.py", line 797, in __str__
    return f"{self.assigned_object} - {self.created.isoformat()}"
              ^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/contenttypes/fields.py", line 241, in __get__
    rel_obj = ct.get_object_for_this_type(pk=pk_val)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/django/contrib/contenttypes/models.py", line 175, in get_object_for_this_type
    return self.model_class()._base_manager.using(self._state.db).get(**kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute '_base_manager'

This is an edge case but this edge case prevented my home page from loading because the changelog panel was trying to render a Note and it raised this exception.

Increasing the scope of the investigation to anywhere we have a pattern for content_type.model_class


Move constants to a separate file?

Enhancement Proposal
In itests, if we want to reuse e.g. PROMETHEUS_CONFIG, we could import it directly
from src.charm import PROMETHEUS_CONFIG

But without including requirements.txt in the deps of the tox integration env, this won't work:
tests/integration/test_upgrade_charm.py:7: in <module>
    from src.charm import PROMETHEUS_CONFIG
src/charm.py:15: in <module>
    from charms.alertmanager_k8s.v0.alertmanager_dispatch import AlertmanagerConsumer
lib/charms/alertmanager_k8s/v0/alertmanager_dispatch.py:32: in <module>
    import ops
E   ModuleNotFoundError: No module named 'ops'

because charm.py has a ton of deps which are not installed for itests.
Having constants in a separate, dependencies-free file could be beneficial.
(In our case, *.py is probably more practical than a conf/ini/toml file.)

Tests should not be dependent on runtime code for their definition, much as the earlier conversation about using factories from library code inside unit tests. It creates a coupling between the expected behavior (the tests) and the actual behavior (the code which is being tested), and it's a dangerous antipattern. A separate QA team, even an internal one, would never pursue this strategy, and that's telling.
The "dependency injection" (mocking/magicmocking in Python, generally) case where unit tests must exercise code which has side effects (network/disk/database access, authorization to an external service, etc) is typically the only time this is used, and that would be more of "construct an object which has the same methods+signatures but doesn't actually exercise the destructive parts"
Is there a meaningful use case for introducing this rather than defining them as test-level constants (in conftest.py or other)? Particularly for what is, in actuality, two short strings?

Tests should not be dependent on runtime code for their definition

True, in general. However, we already have a pretty big exception: the vast majority of our tests use a "runtime" metadata.yaml instead of hardcoding it again.
Hard coding some things in tests is useful. Not sure about file paths (such as PROMETHEUS_CONFIG).

We do use a "runtime" metadata.yaml as scaffolding. I think some is a little unavoidable inside the charming ecosystem.
Even if there were a method which returned the value of this (src/config.get_config_path() or something) which was mocked out/overridden in tests, it would be less concerning. Importing runtime code directly to use it rather than using it to exercise some specific workflow is a slippery slope which could give us unreliable test results. Once it's done in one place, it becomes a pattern that new/unfamiliar authors see and may use, and then some future PR doesn't have an additional "from ... import ... stanza at the top, because it's already there.
It's annoying, duplicated boilerplate to avoid it. But picking prometheus_scrape.DEFAULT_JOBS|ALLOWED_KEYS as other annoying, duplicated boilerplate constants, those also aren't imported into unit tests at present, and we probably wouldn't want them to be. In a perfect world, where every reviewer has 100% attention to every PR, it would nominally be ok, because a typo or mistake in some constant would be noticed, and not just scrolled past as "probably ok, the tests are green".
I'm not that perfect, and I imagine a future issue where we create an accidental bug/regression when a user sends some relation data which is more complex or differs from the stanzas we test in such a way where it slips through in a way that's invalid. Spending the extra time and to keep "constants" in sync across both areas is a worthwhile tradeoff to me, at least.

Agreed, except there won't be a from src.charm import whatever, but rather a carefully scoped from src.consts import whatever.
I think that changes made to consts.py would be obvious enough in a PR.

"Thou shalt not depend on the code under test" is as close to a commandment as it gets no matter how carefully scoped.
Lots of the reason that writing tests is onerous is that there's a ton of duplication. Python can't really enforce whether or something is constant or not anyway, but it's not important. This is like double-entry accounting. It's a little more work for a lot more safety, and if we're "carefully scoping" what constants would make it into consts.py, then it's worth the extra bit of effort to just carefully scope it into tests/integration/consts.py instead. We want an immediate, clear warning if the test data doesn't match what we expect. Not how the code expects to behave, or whether it just kinda happens to pass the tests (you can only test the bugs you know about), but about how we expect it to behave, and we can't make those kinds of assertions if changing runtime code silently adjusts the expectation.

I think we are still in agreement and in no contradiction to the proposal.
This enhancement proposal is not important enough to continue though.
Closing.


[0.29.0] react-native init broken?

$ react-native --version
react-native-cli: 1.0.0
react-native: n/a - not inside a React Native project directory

$ cd /tmp
$ react-native init TestApp
This will walk you through creating a new React Native project in /private/tmp/TestApp
Installing react-native package from npm...
module.js:327
    throw err;
    ^

Error: Cannot find module 'yeoman-environment'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/private/tmp/TestApp/node_modules/react-native/local-cli/generate/generate.js:14:16)
    at Module._compile (module.js:409:26)
    at loader (/private/tmp/TestApp/node_modules/babel-register/lib/node.js:158:5)
    at Object.require.extensions.(anonymous function) [as .js] (/private/tmp/TestApp/node_modules/babel-register/lib/node.js:168:7)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)

/tmp/TestApp/package.json
{
  "name": "TestApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start"
  },
  "dependencies": {
    "react-native": "0.29.0"
  }
}

$ npm --version
3.8.8

Just came across this as well. Looking into it

Same here when trying to build the iOS application, packager breaks.

I also got failures when trying to upgrade an existing app, so I figured "lets start with a fresh one and go from there" :wink:

I had this as well. I'm on a PR.

Its probably upstream? My yeoman-environment folder is empty (no lib). Trying an older version.

Seems it was updated today

Seems that 1.6.1 has a lib directory.

Ya just noticed that as well. Trying to install the latest manually doesn't work for me either.

Same thing for react-native upgrade

react-native upgrade worked for me after manually installing<EMAIL_ADDRESS>(note this will only work if on npm>=3 since it flattens everything).

Works for me when adding "yeoman-environment": "1.6.1" to package.json

npm install<EMAIL_ADDRESS>cp -R node_modules//yeoman-environment/ node_modules/react-native/node_modules/

worked for me to upgrade

I'm on a PR that fix the version to 1.6.1.

@tychota Or even just lock it to ~1.2.7 (instead of ^1.2.7). Since that's the last version that was explicitly updated to.

I created an issue with yeoman-environment, as 1.6.2 tarball has no source files. The best solution would be for them to upload a fixed version

Oki @cpsubrian will do this.

Agree with @kageurufu, hopefully they are prompt :smile:

https://github.com/facebook/react-native/pull/8614

Pr done : hopefully reviewed really fast and released as soon as possible.
For those who can't init a new project.
npm install -g rninit
rninit init [Project Name] --source react-native@tychota/react-native#dee78a73aa815e59f29d8de1bfc3851363652c9c


Findbugs fixes

As of the today's source, findbugs found the following
8 scary
3 troubling
2 of concern
at least the 8 scary issues must be fixed!

Makes sense.  Is there also a way to integrate this tool in Travis CI to keep the code clean once we make it clean?

We can use finbugs mojo in the reporting part of the pom.xml, and this will fail the build during verify if any bugs are found.

fixed a few issues. could need some input on the following scary that is harder to fix
      timestamp = String.format(WSSecurityBasedCredentials.wsuTimeStampFormat, utcNow, utcNow);

protected static final String wsuTimeStampFormat =
    "<wsu:Timestamp>" +
        "<wsu:Created>{0:yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'}</wsu:Created>" +
        "<wsu:Expires>{1:yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'}</wsu:Expires>" +
        "</wsu:Timestamp>";


Race condition in ssyrk causing deadlock

Using ssyrk with multiple threads eventually causes openblas to deadlock and not return.
Sample stack traces:
https://gist.github.com/matthewfl/455d86676034fccce0dc2a41766602a2
This seems to be related to one of these lines, but I haven't narrowed it down further yet:
https://github.com/xianyi/OpenBLAS/blob/develop/driver/level3/level3_syrk_threaded.c#L361
https://github.com/xianyi/OpenBLAS/blob/develop/driver/level3/level3_syrk_threaded.c#L469
https://github.com/xianyi/OpenBLAS/blob/develop/driver/level3/level3_syrk_threaded.c#L267
This takes my program about ~5 hours to hit this race condition.  I am guessing that it requires at least 10,000 calls of this method with ~300^2 matrix to cause it to deadlock.
This is also on the release v0.2.19

Probably similar to #1071 - you could try if "make USE_SIMPLE_THREADED_LEVEL3=1" works around it here as well. (If it does, the problem goes back to GotoBLAS2-1.08 or even earlier)

I tried the USE_SIMPLE_THREADED_LEVEL3=1 and it at least did not deadlock through one run of my program, so atm it seems that this is a work around around.

can you attach gdb to deadlocked process and upload backtrace?
i.e:
$ script
$ gdb
> attach <pid>
> thread apply all backtrace
> detach
> ^d
$ ^d
file is typescript...

I noticed that wernsaar has a possible bugfix for the stride calculation in syrk_thread.c in his development fork, if you have time for experimenting you could try to cherrypick that.

@brada4 I will get all the threads, however all of the threads had a similar stack track which I copied in the original post. https://gist.github.com/matthewfl/455d86676034fccce0dc2a41766602a2
@martin-frbg  I will try @wernsaar 's branch out and see if that works

@brada4 http://sprunge.us/ZMWK
I also have been running wernsaar's patch overnight and it still hasn't crashed

Thanks for checking, sounds like good news (assuming that you did that build without the USE_SIMPLE_THREADED_LEVEL3=1 workaround still in place :-) )

@martin-frbg so with the v0.2.19 release I tried that flag and it at least worked at least once, with wernsaar's code I did not use that flag and it hasn't crashed letting it run in a loop overnight.

Thanks for the clarification. So really looking good (though maybe I should have a bad conscience for picking fruit in the neighbor's garden)

Thank you for backtrace:
You use multiple python pthreads, probably not knowing that, USE_OPENMP=1 is another option to try (there is no sign 2nd python thread called BLAS but anyway option worth exploring)

@brada4 there is only one python thread here.  The second python thread is python's GC background thread, but that is never going to call blas.
fyi: the arguments that I compiled openblas with were: make FC=gfortran USE_OPENMP=0 USE_THREAD=1 NO_LAPACK=0 BUILD_LAPACK_DEPRECATED=1 DYNAMIC_ARCH=1 NUM_THREADS=64 libs netlib shared, and when starting the program, I set OMP_NUM_THREADS=16

Filtering redundant options (see Makefile.rule for defaults)
make DYNAMIC_ARCH=1 NUM_THREADS=64
OpenMP version is certainly thread-safe, i.e if it works (with current code) it clearly points to a problem with pthreads, if it does not - with assembly kernels involved or something else.


[Bitmex] NullPointerException in create when there are unlisted assets

xchange is unable to initialize with BitMEX when there are unlisted (new but not yet tradeable quarterly futures added), as is currently the case (see announcement here)
At the moment, the following is sufficient to reproduce the issue:
import org.knowm.xchange.ExchangeFactory;
import org.knowm.xchange.bitmex.BitmexExchange;

public class BMTest {

    public static void main(String[] args) {
        var spec = new BitmexExchange().getDefaultExchangeSpecification();
        ExchangeFactory.INSTANCE.createExchange(spec);
    }

}

Which throws the following NPE, since it expects the assets to have a price available, which they do not have in this case.
11:40:37.066 [main] DEBUG org.knowm.xchange.ExchangeFactory - Creating exchange from specification
11:40:37.069 [main] DEBUG org.knowm.xchange.ExchangeFactory - Creating default exchange from class name
11:40:37.069 [main] DEBUG org.knowm.xchange.ExchangeFactory - Creating default exchange from class name
11:40:37.506 [main] DEBUG org.knowm.xchange.bitmex.BitmexExchange - ExchangeMetaData [currencyPairs={XBT/USD=CurrencyPairMetaData [tradingFee=null, minimumAmount=1, maximumAmount=null, baseScale=null, priceScale=1, amountStepSize=null, tradingFeeCurrency=null], ETH/USD=CurrencyPairMetaData [tradingFee=null, minimumAmount=1, maximumAmount=null, baseScale=null, priceScale=2, amountStepSize=null, tradingFeeCurrency=null]}, currencies={XBT=CurrencyMetaData [scale=null, withdrawalFee=0, minWithdrawalAmount=null, walletHealth=null], XRP=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], BCH=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], ADA=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], EOS=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], TRX=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], ETH=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], LTC=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null], USD=CurrencyMetaData [scale=null, withdrawalFee=null, minWithdrawalAmount=null, walletHealth=null]}, publicRateLimits=[RateLimit [calls=150, timeSpan=300, timeUnit=SECONDS]], privateRateLimits=[RateLimit [calls=300, timeSpan=300, timeUnit=SECONDS]], shareRateLimits=true]
11:40:37.521 [main] DEBUG si.mazi.rescu.Config - Configuration from rescu.properties:
11:40:37.521 [main] DEBUG si.mazi.rescu.Config - httpConnTimeout = 30000
11:40:37.523 [main] DEBUG si.mazi.rescu.Config - httpReadTimeout = 30000
11:40:37.523 [main] DEBUG si.mazi.rescu.Config - proxyHost = null
11:40:37.523 [main] DEBUG si.mazi.rescu.Config - proxyPort = null
11:40:37.523 [main] DEBUG si.mazi.rescu.Config - ignoreHttpErrorCodes = false
11:40:37.559 [main] INFO org.knowm.xchange.bitmex.BitmexExchange - Calling Remote Init...
11:40:37.570 [main] DEBUG si.mazi.rescu.HttpTemplate - Executing GET request at https://www.bitmex.com/api/v1/instrument/active
11:40:38.462 [main] DEBUG si.mazi.rescu.HttpTemplate - Request http status = 200
Exception in thread "main" java.lang.NullPointerException
	at org.knowm.xchange.bitmex.BitmexExchange.lambda$getPriceScale$3(BitmexExchange.java:153)
	at java.base/java.util.Optional.map(Optional.java:258)
	at org.knowm.xchange.bitmex.BitmexExchange.getPriceScale(BitmexExchange.java:153)
	at org.knowm.xchange.bitmex.BitmexExchange.lambda$updateExchangeMetaData$1(BitmexExchange.java:116)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1507)
	at org.knowm.xchange.bitmex.BitmexExchange.updateExchangeMetaData(BitmexExchange.java:110)
	at org.knowm.xchange.bitmex.BitmexExchange.remoteInit(BitmexExchange.java:79)
	at org.knowm.xchange.BaseExchange.applySpecification(BaseExchange.java:107)
	at org.knowm.xchange.bitmex.BitmexExchange.applySpecification(BitmexExchange.java:43)
	at org.knowm.xchange.ExchangeFactory.createExchange(ExchangeFactory.java:128)
	at BMTest.main(BMTest.java:15)

Setting spec.setShouldLoadRemoteMetaData(false) is a workaround for this problem (as long as one is only trading the assets listed in the default metadata).

Hi,
same kind of issue here due to BCH/USD symbol that has no last price.
Thank you for the workaround it works fine.
Something has to be done in BitmexExchange class and more specifically getPriceScale method
        .map(ticker -> ticker.getLastPrice().scale()) that is not NPE proof.

We should be ok to close this.


add role to move PVs from one AZ to another

this includes an ansible module that handles the EC2 side of things
extend oc_edit module to allow editing PV objects

👍 #1668 in stg


feat: Create lightweight status api

Description
This PR brings those changes:

Creates a new API to know whether there are any uncommitted changes or not
Creates a new API to compare the local branch with remote
Adds an optional parameter to the status API so that we can skip the git fetch

PR fixes following issue(s)
Fixes #24340
Media
Type of change

New feature (non-breaking change which adds functionality)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[x] Manual
[x] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/build-deploy-preview

/ok-to-test sha=5b002f5

/ok-to-test sha=2c4a8f4


filter-with-deps does not include "pre-depends"

Depends is not the only absolute dependency defined by debian control files. Pre-Depends requires that another package be installed prior to the other package even attempting installation. filter-with-deps should get both but only gets Depends.
It would also be useful for a separate command filter-with-recs as the default behavior of apt-get is to install Recommended packages. (WOOPS, it exists!)

@tpdownes just double-checked, and aptly should always include Pre-Depends. Do you have any example that it doesn't do that?

I found that
aptly mirror create -filter="zfs-dkms" -architectures="amd64" -filter-with-deps zfs-jessie http://my.mirror/debian jessie-backports main contrib

Was not bringing in spl-dkms unless I specifically filtered for zfs-dkms | spl-dkms. This is running with 0.9.7 from your debian repo.


Fixed #111 -- allow the actor defined within URL configuration to be a Group.

Thanks for creating this. I'm sure @brianjmiller will want to review this, but just one quick comment from me: I'm personally not keen on the approach of trying to create an agent from the json and then trying group if that fails. I'd prefer to decode the object and get the objectType then try the appropriate one.

+1 to what @garemoko said.


mem_pool_threadsafe sporadic failures impacting CI

sanitycheck -p qemu_x86_long -T tests/kernel/mem_pool/mem_pool_threadsafe

is failing intermittently but often enough that it failed both retests in
https://app.shippable.com/github/zephyrproject-rtos/zephyr/runs/52828/5/console
It can also be reproduced by hand on Ubuntu 19.04 using the above command.
ESCcESC[?7lESC[2JESC[0mSeaBIOS (version rel-1.12.1-0-ga5cab58e9a3f-prebuilt.qemu.org)
Booting from ROM..***** Booting Zephyr OS build zephyr-v2.0.0-1080-g0bb8ec86d776 *****
Running test suite mpool_threadsafe
===================================================================
starting test - test_mpool_threadsafe
ASSERTION FAIL [!sys_dnode_is_linked(&to->node)] @ ZEPHYR_BASE/kernel/timeout.c:86
E: ** CPU Exception 6 (code 0/0x0) **

E: RIP=0000000000107a71 RSP=000000000010baa0 RFLAGS=0000000000000017

E: RAX=0000000000105047 RBX=0000000000106230 RCX=00000000000003f8 RDX=00000000000003f8

E: RSI=000000000000000a RDI=0000000000000000 RBP=0000000000000015 RSP=000000000010baa0

E: R8=00000000ffffffff R9=0000000000000001 R10=0000000000000202 R11=000000000010ba88

E: R12=00000000001026ff R13=0000000000000d20 R14=0000000000105b48 R15=0000000000000008

E: >>> ZEPHYR FATAL ERROR 0: CPU exception
E: Current thread: 0x00106200 (unknown)
E: Halting system
PASS - test_mpool_threadsafe
===================================================================
Test suite mpool_threadsafe succeeded
===================================================================
PROJECT EXECUTION SUCCESSFUL
~

Further bisecting indicates this is a result of 3eb1a8b59a641666287503ccd9735fb3a1b981d9 from #19458.

I just pushed #19715 which apparently makes this issue disappear.
I ran 6500 iterations of the test overnight without a single failure.
I'm not convinced the fix in #19715 is actually fixing the issue here
entirely, as I can't explain how that would make a difference. I may
simply suppose that some race possibility still exists but that #19715
makes it much less likely.

I've also put up #19719, which simply disables the SMP scheduler for qemu_x86_long.
There is no reason why the use of SMP scheduler with only 1 CPU should exhibit different behavior than the legacy scheduler does, but tests fail sporadically when it's enabled.  The arch-specific code for x86 changes only trivially when SMP is on, so I suspect these are latent problems in the scheduler.

OK, both #19715 and #19719 "fix the test".  I think #19715 isn't the correct fix but it narrows down the problem.
_MPOOL_MINBLK is 16 on this platform.  The master version produces this parameter set and struct sys_mem_pool_base initialization:
BLK SIZE MIN 8 MAX 32 ALIGN 8
max_sz = 32,
n_max = 2,
n_levels = 1,
max_inline_level = 0,

where the test fails.
The effect of #19715 is to change it to this initialization:
BLK SIZE MIN 16 MAX 64 ALIGN 8
max_sz = 64,
n_max = 2,
n_levels = 2,
max_inline_level = 1

where the test passes.
If I take #19715 and change it like this:
-#define BLK_SIZE_MAX (4 * BLK_SIZE_MIN)
+#define BLK_SIZE_MAX (2 * BLK_SIZE_MIN)

I get:
BLK SIZE MIN 16 MAX 32 ALIGN 8
max_sz = 32,
n_max = 2,
n_levels = 1,
max_inline_level = 0

and the failure recurs.
So my hypothesis is that something's wrong with the mem_pool infrastructure when n_levels is one.

On Wed, 9 Oct 2019, Peter A. Bigot wrote:

If I take #19715 and change it like this:
-#define BLK_SIZE_MAX (4 * BLK_SIZE_MIN)
+#define BLK_SIZE_MAX (2 * BLK_SIZE_MIN)

I get:
BLK SIZE MIN 16 MAX 32 ALIGN 8
max_sz = 32,
n_max = 2,
n_levels = 1,
max_inline_level = 0

and the failure recurs.

Yes, because at that point you basically reverted things to the previous
state.
The basic thing to understand here is that the mempool allocator code
splits memory blocks into 4 sub-blocks for small allocations.
The test is built around this mempool internal behavior to allocate 4
blocks of BLK_SIZE_MIN out of the initial block of BLK_SIZE_MAX. If this
factor is not respected, then the allocator cannot split the original
block into 4 sub-blocks, and then it will only allow for a single block
of BLK_SIZE_MIN, meaning that in the test the allocation will hit the
wait queue 4 times more often with a timeout of 200.

So my hypothesis is that something's wrong with the mem_pool infrastructure when n_levels is one.

I disagree. There is in fact much more mempool code solicitation when it
can split its initial block i.e. when n_levels > 1. When it can't, it is
the scheduler that gets more solicited instead, exposing a race with a
timeout instance that gets queued twice.

OK.  Then I would ask that you update #19715 to make that relationship more clear in the test where the bounds are given, or in the commit description.  I interpreted the change as being related to increasing the minimum supported block size, rather than the need to ensure that more than one level was being provided.

On Wed, 9 Oct 2019, Peter A. Bigot wrote:

OK.  Then I would ask that you update #19715 to make that relationship more clear in the test where the bounds are given, or in the commit description.  I interpreted the change as being related to increasing the minimum supported block size, rather than the need to ensure that more than one level was being provided.

Sure. OTOH maybe we should keep it as it is for now so that the actual
race keeps being investigated?

Sure. OTOH maybe we should keep it as it is for now so that the actual race keeps being investigated?

No, because it causes CI to fail for any PR that happens to cause this combination of platform and test to be invoked.  If this is truly due to SMP failures then somebody (@gnuless?) should identify or create an issue to ensure the problem is fixed rather than hiding it.  That issue should have some link back to this.
BTW: When I said "update #19715" I didn't mean add a comment in the PR, I meant make the justification clear in either the code (preferably) or the commit message that makes the change.  Nobody's going to look at the PR after it's closed.  Somebody might look at the commit message.

BTW: When I said "update #19715" I didn't mean add a comment in the PR, I meant make the justification clear in either the code (preferably) or the commit message that makes the change.  Nobody's going to look at the PR after it's closed.  Somebody might look at the commit message.

I will. I just replied to your comment before even seeing your request
for clarification.

On Wed, 9 Oct 2019, Peter A. Bigot wrote:

Sure. OTOH maybe we should keep it as it is for now so that the actual race keeps being investigated?

No, because it causes CI to fail for any PR that happens to cause this combination of platform and test to be invoked.  If this is truly due to SMP failures then somebody (@gnuless?) should identify or create an issue to ensure the problem is fixed rather than hiding it.  That issue should have some link back to this.

If that may help investigating:
The wrapper function k_mem_pool_alloc() calls z_pend_curr_unlocked()
when no memory is available and a timeout is specified. It looks like
this is the only location in the whole tree z_pend_curr_unlocked() is
used, and without #19715 applied, this would get used a lot on 64-bit
targets during this test.
This is a wrapper around z_pend_curr_irqlock(z_arch_irq_lock(), ...)
that calls pend() --> z_add_thread_timeout() --> z_add_timeout().
Concurrently, we have k_mem_pool_free_id() using a local lock with a
suspicious comment that says: "Note that this spinlock only exists
because z_unpend_all() * is unsynchronized.  Maybe we want to put the
lock into the * wait_q instead and make the API safe?". So, after taking
this lockwith k_spin_lock(), it calls z_unpend_all() which,
incidentally, is also the only location in the whole tree where it is
used. This calls z_unpend_thread() and z_ready_thread().
In z_unpend_thread() we have z_unpend_thread_no_timeout(), followed by
z_abort_thread_timeout() where the timeout instance is unlinked.
So, is there a way for execution to return from z_pend_curr_unlocked(),
quickly figure out that there is still no memory available, and loop
back into z_pend_curr_unlocked() while another CPU is in the middle of
z_unpend_thread() making the first thread runable before it had a chance
to unlink that first thread's timeout instance?
I'm not familiar enough with Zephyr SMP implementation to
say for sure, but the above locking scheme looks somewhat iffy to me.

I'm not familiar enough with Zephyr SMP implementation to say for sure, but the above locking scheme looks somewhat iffy to me.

Probably best to go straight to the source, which I believe in this case would be @andyross ...

With the merge of #19715 this test no longer fails.  Nonetheless https://github.com/zephyrproject-rtos/zephyr/pull/19715#issuecomment-540056705 specifies that this issue is not fixed.
Since the test passes the criteria of the issue have been addressed.  Another issue should be opened, including reproduction instructions, for any remaining concerns.

I think I've isolated this. Appears to have something to do with setting CONFIG_TIMESLICE_SIZE. See details in #13813.


Improvements on submissions view

[x] Limit width of the feature information div

[x] Make the map occupy all the page height

[x] Add a button to Minimize/Maximize the feature colouring / legend div

[ ] Filter/clear buttons should have the same size of the other buttons and input fields

All issues solved by:
https://github.com/hotosm/OpenMapKitServer/commit/e6caf8b9fcfaff0948cfa9e86dec83b0ea228ed5
https://github.com/hotosm/OpenMapKitServer/commit/0bd5bab51a0c7665e2af602525a4c0fc4fb3877a
https://github.com/hotosm/OpenMapKitServer/commit/118632c429b9e2105c8092463fbd9fc2698f31bb


replace pyinvoke with tox

Pull Request check-list

[X] Do tests and lints pass with this change?
[ ] Do the CI tests pass with this change (enable it first in your forked repo and wait for the github action build to finish)?
[ ] Is the new or changed code fully tested?
[ ] Is a documentation update included (if this change modifies existing APIs, or introduces new ones)?
[ ] Is there an example added to the examples folder (if applicable)?

Description of change
This change replaces invoke with tox

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 61.44%. Comparing base (42a9c44) to head (b79a1ce).

:exclamation:  There is a different number of reports uploaded between BASE (42a9c44) and HEAD (b79a1ce). Click for more details.
HEAD has 120 uploads less than BASE

Flag
BASE (42a9c44)
HEAD (b79a1ce)

128
8

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #106       +/-   ##
===========================================
- Coverage   75.18%   61.44%   -13.75%
===========================================
  Files         132      132
  Lines       34480    34447       -33
===========================================
- Hits        25925    21166     -4759
- Misses       8555    13281     +4726

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

Just realized the packaging was done via invoke as well. Converting to draft until I decide how to handle this properly.


Setting audience by withAuthenticationParameters configuration option doesnt return JWT access token

I have setup "audience" parameter by using withAuthenticationParameter configuration, but it still doesnt return JWT access_token as expected. It only returns CwXmS*m8TF_g like token.

@rushi216
On your Auth0 instance call setOIDCConformant(true) before creating the provider.
Auth0 auth0 = new Auth0("clientId", "domain");
auth0.setOIDCConformant(true); //Must be set to true to request audience
AuthenticationAPIClient client = new AuthenticationAPIClient(auth0);
provider = new FacebookAuthProvider(client);


The devcontainer templates apply command hangs

I'm attempting to test a new dev container template I'm creating.  When using the devcontainer templates apply --template-id 'ghcr.io/mcollier/logic-app-dev-container-template/logic-app-standard'  command, the command appears to hang (doesn't exit successful . .. . just hangs).  I can use CTRL+C to exit.  The files in the folder look correct, and thus seems like the template was applied correctly.
Could there be something wrong with my template?  Or a bug in the devcontainer templates apply command?

The template appears to apply and exit for me on MacOS.
To make sure I understand, are you seeing the src folder create, but the command itself is not exiting?

Could you please share some info on the OS/platform you're running?

I'm running from WSL2 (running Ubuntu 20.04.6 LTS) via Windows Terminal.
My OS is Windows 11.

Thanks for the reply.  I don't have a windows machine super handy to test, but it seems like the CLI is getting stuck here on your machine. Since I didn't repro on my Mac it doesn't seem to be an issue with your template :)
I'm curious if other commands in the CLI behave the same way (devcontainers up, ...).  Also, if you have the devcontainers extension installed on your machine, does it hang if you Add a dev container with the wizard?  That picker uses the apply command under the hood.

I tried devcontainer up and seems to exhibit the same behavior.

I also tried using the VSCode extension.  It worked as expected.

Any update on the status of this bug?
I'm using version 0.62.0 of the devcontainer CLI and both devcontainer --help or devcontainer --version hangs after printing their respective messages.  Need to type Ctrl-C to return to the WSL2 prompt.
Windows 11 with the devcontainer CLI installed through the VSCode option.


Feature: Add support loadLogic for *.teal program and SCParam

Currently, only teal in python can be compiled with smart contract params but was not possible to compile teal with smart contract params. I have now added support for this to compile teal file along with smart contract params.
This resolves: https://github.com/scale-it/algo-builder/issues/662

@sczembor @thdailong Please review the PR.

Could you provide some description about the task you are doing. I am a bit confused about you are gonna do

Check description.

I recommend you to put those 2 it into a describe under describe ("Logic Signature", that describe can be like Load logic for teal program

Done @thdailong

Sorry I let misunderstand my idea. I would like to have the describe("Load logic for teal program") in the describe("Logic Signature") Cause your crow funding app use logic signature

Done @thdailong


citrix_adc_nitro_request with count - missing 1 required positional argument: 'success_status' (Traceback)

Dear Developers!
Dear GitHub Community!
I would like to ask for a little support regarding the citrix_adc_nitro_request Ansible module when operation: count is used.
I have been trying to run the following code with Ansible:
      - name: "Count"
        citrix.adc.citrix_adc_nitro_request:

            nsip: "{{ nsip }}"
            nitro_protocol: "{{ nitro_protocol }}"
            validate_certs: "{{ validate_certs }}"
            nitro_user: "{{ nitro_username }}"
            nitro_pass: "{{ nitro_password }}"

            operation: count
            resource: server

        register:  count_nsapp_lb_server_result

Unfortunately, I'm getting the following error message:
TypeError: edit_response_data() missing 1 required positional argument: 'success_status'
Please find below my environment details:
$ ansible --version
ansible [core 2.12.4]
  config file = /home/ansible/.ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/ansible/ansible/lib/python3.9/site-packages/ansible
  ansible collection location = /home/ansible/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/ansible/ansible/bin/ansible
  python version = 3.9.7 (default, Sep 21 2021, 00:13:39) [GCC 8.5.0 20210514 (Red Hat 8.5.0-3)]
  jinja version = 3.0.3
  libyaml = True

Does anybody have the same experience with this?
Thank You very much in advance for the support and help!

@giorgos-nikolopoulos - Pls look into this.

Fixed with #230


Unwanted patches appear when using exprt_fig ..... -append :

Hi.. Actually i used this code last year to save fig as pdf and append the same, and it worked great..
but now when I try to use '-append', unwanted patches appear on the appended pdf file. I am using MATLAB 2014b. Will you be able to help me out.??
otherwise, the code works great.!! superb job!!
Thanks,
Lavanya

Lavanya - you need to be much more specific if you wish me to look into this issue. What do you mean "unwanted patches" ??? upload an image and/or code to show what you mean; specify your OS/platform etc.
Also, ensure that you are using the latest version of both export_fig and ghostscript.

Dear Yair Altman,
Kindly find the attached file in which the 1st page is correct, whereas the
appended pages have some problem(unwanted patches).
Hope the attachment will make the situation clear.
Awaiting your valuable reply.
Thanks & Regards,
Lavanya.
On Mon, Jun 29, 2015 at 2:10 PM, Yair Altman<EMAIL_ADDRESS>wrote:

Lavanya - you need to be much more specific if you wish me to look into
this issue. What do you mean "unwanted patches" ??? upload an image and/or
code to show what you mean; specify your OS/platform etc.
Also, ensure that you are using the latest version of both export_fig and
ghostscript.
—
Reply to this email directly or view it on GitHub
https://github.com/altmany/export_fig/issues/81#issuecomment-116464154.

Actually the file is confidential, that why sent the file to you as attachment through mail. Hope you received it.
Also, I am using the latest version of export_fig and ghostscript.
Thanks,
Lavanya.

no attachment received. email me directly (altmany at gmail)

Attachment sent to<EMAIL_ADDRESS>Thanks,
Lavanya.

I see no problem in your PDF. If you want me to look into this you need to invest more effort in explaining exactly what is wrong, marking it on the image itself etc. I am not a prophet so I cannot read your mind and understand exactly what is wrong.


Doubleclick on Debugged file does't run

Greetings,
I'm using VScode to edit Fusion360 postprocessors but since yesterday the link to the post line with a double click no longer works.
at first I got a notification (see image). Now I don't get that notification anymore but the feature doesn't work.
I tried uninstalling and reinstalling both visual sudio code and the plugin, or going back to a previous version but nothing, it doesn't work.
I'm desperate... can you help me please?
Thanks in advance.
Daniele.

i have the same problem.. does anything changed or got solved for this problem?
i need this function to double click on the debugged file and jump to the definition of it otherwise it would be horrible to work on PP for fusion360.

I have debugged a little bit on @TilNicolai's pc. Enabling Show Debugged Code we found, that there are some !DEBUG lines in the debugged file, but none with line numbers, from where the extension reads the line number to jump to. Compare output on my pc:
!DEBUG: command:{"name":"onOpen"}
!DEBUG: onOpen()
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:433
; %_N_1001_MPF
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:447
* - --------------------
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:455
; NC erzeugt am 24.05.2024 - 11:17 Uhr
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:456
; Benutzer: tnicolai
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:457
; CAD-Datei: PP_Test_01 (v3~recovered)
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:459
; Maschine: UNITECH HSM IC
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:460
* - --------------------
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:486
;  Werkzeugliste
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:501
;  T1 | SF_6mm | D=6 | flat end mill
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:501
;  T2 | SF_3mm | D=3 | flat end mill
!DEBUG: 1 MTH-MT - HSM IC - Siemens-840d inspection.cps:501
;  T4 | Plan_16mm | D=16 | ER=0.5 | face mill

and on Til's pc:
!DEBUG: onOpen()
; NC erzeugt am 24.05.2024 - 14:25 Uhr
; Ursache allen Uebels: tnicolai
; CAD-Datei: PP_Test_01 (v2~recovered)
; Maschine: Spinner US-629 Siemens-840d

; Werkzeugliste
;  T1 | SF_6mm | D=6 | flat end mill
;  T2 | SF_3mm | D=3 | flat end mill
;  T4 | Plan_16mm | D=16 | ER=0.5 | face mill

We have the same version of Fusion and post.exe installed. Where is the problem? Where to get support?


Clear the optimistic secondary login report when there is a preexisting report

Details

Currently, if there is a preexisting report found, the secondary login report isn't cleared, lingering on the app. This PR fixes it.
Fixed Issues

$ https://github.com/Expensify/App/issues/42692
PROPOSAL: https://github.com/Expensify/App/issues/42692#issuecomment-2135256108
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Press FAB > Start chat
Search for a secondary login of a user and choose it
Verify you will be navigated to the primary login email
Send any message
Open the chat finder page
Verify the primary login is shown at the top of the list

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/bee28c80-00e8-48ab-b711-17cbe540b04c

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/bede2ac0-38b9-4702-a2b1-3f43b345f675

iOS: Native

https://github.com/Expensify/App/assets/50919443/3ec68de8-9833-4d71-8511-1cc669b4aa4d

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/893af12d-3c62-483c-bdd8-6dcfac2ccf4e

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/95b7e129-58ce-476c-950f-4328311d788a

MacOS: Desktop

https://github.com/Expensify/App/assets/50919443/bfdb1b50-e1ff-4739-aa26-07e257ba6fe4

Done

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/dangrous in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/dangrous in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/dangrous in version: 1.4.86-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 9.0.0-9 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Delta Lake and AQE on Databricks 10.4 workaround [databricks]

fixes https://github.com/NVIDIA/spark-rapids/issues/6539
Databricks 10.4 has a bug where even when AQE is off it still uses it. We started to support AQE on databricks in https://github.com/NVIDIA/spark-rapids/pull/6461, but that causes issue when we hit this databricks bug.  In order to work around this we key off the AQE setting and when its off we have to not convert certain operations.
Tested on Databricks 9.1 and 10.4 using customer notebook that reproduced the issue.

build


Fix ssh key in configmap for GCP

What does this PR do?
Fix GCP e2e tests by passing ssh key information in the configmap
Motivation
Describe how to test/QA your changes
Possible Drawbacks / Trade-offs
Additional Notes
I do not like the current local behavior, because we can only retrieve the ssh information that we have in the aws section and we use them to run tests on Azure and GCP which is not what should be expected by the user. I will work on a follow-up PR to refactor that

Agree we should have separate params for each cloud providers


Indicator keyword for performing calendar conversion

xclim version: master
Python version: any

Something that has come up in the process of using xclim to calculate indices that are then fed to R is the incompatibilities of some calendars, specifically the notorious 360_day calendar. If non-standard calendars are not supported in the environment that uses this indicator data, problems ensue. While this is fine (users should be aware of calendar idiosyncrasies), I wonder if we could introduce a feature to make this a bit easier.
The specific case I want to address is when we perform a temporal aggregation (e.g. xclim.atmos.tg_mean(freq="MS")) with non-standard calendar data. Due to the way that the calendar is written (days since xxxx-yy-zz), we treat the first day of each month as the month itself. With non-standard calendars, this can lead to years in which we can see multiple values in a month or the slipping of dates backwards in time (especially with 360_day). None of this is new, and I don't suggest change this behaviour.
What I would like to see is a keyword in the calculations of indicators that allows for outputs to assume a standard calendar (ie: convert calendar being called). I understand that this already is triggered when performing ensemble analysis, but being able to change the calendar (called like xclim.atmos.some_indicator(freq="QS-DEC", to_calendar="proleptic_gregorian")) would make manual comparison of data much simpler.

Documentation of the new xarray methods to be added while implementing #1010.


[FEAT] - Implement relationship between ChurnModeBulkSync and LedgerStateJudgement

Internal
Describe the feature you'd like
It would be ideal that ChurnModeBulkSync to be related to LedgerStateJudgement. E.g. It would be nice if TooOld meant BulkSync. Currently BulkSync is when we are more than 1000 slots from the tip.

I have implemented it at: https://github.com/IntersectMBO/ouroboros-consensus/commit/43898dce6831ee6768ed49c376ea7f57bae54926 and integrated it at https://github.com/IntersectMBO/ouroboros-consensus/commit/43898dce6831ee6768ed49c376ea7f57bae54926

I have implemented it at: 43898dc and integrated it at 43898dc

I guess you didn't intend to link to the same commit twice?

Right, I have fixed that

Would you open a Consensus PR using the commit you made? The basic logic in it seems appropriate to me.


build in linux error

vendor.bd702cd3.js:3 [Vue warn]: Failed to resolve component: form-item
If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.
  at <Anonymous onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< undefined > >
  at <RouterView>
  at <ElConfigProvider locale= {name: 'zh-cn', el: {…}} >
  at <App>

in linux, resolvers option is ok, while dirs not

found the reason: the project path on linux contains '(xxx)'
so it must be about the path handling


Cannot read property 'getCurrentContent' of null

I'm not advanced in react , just trying to build myself a blog and found that megadraft will do amazing job for me. I just tried to implement it following the Overview section, but it returns

Cannot read property 'getCurrentContent' of null

Not sure if this is bug or not :/
I'm using following dependencies: Webpack, React, React Router, React DOM and following code:
`
export default React.createClass({
getInitialState: function () {
    return {
    	editorState: null,
    }
},
onChange(editorState) {
	this.setState({editorState: editorState});
},

render() {
    return (
            <Megadraft
                editorState={this.state.editorState}
                onChange={this.onChange}/>
    );
}
});`

Hi @gstoyanov90!
It is great to know that you liked Megadraft.
Looks like our sample code is wrong, we'll try to fix it.
In the mean time, you could try using the editorStateFromRaw function, it will should work with null or a raw json state object.
https://github.com/globocom/megadraft/blob/master/src/utils.js#L24
Here is how it is used on our website:
https://github.com/globocom/megadraft/blob/master/website/components/example.js
But note that your import should be different:
import {editorStateToJSON, editorStateFromRaw} from "megadraft/lib/utils";

Please let us know if this works for you.

Now everything is working, also I've just found a way to "fix" (probably it's workaround) of original overview example - just importing EditorState from draftjs + editorState: EditorState.createEmpty().
Sadly I just get that : https://s32.postimg.org/nx8d3z285/megadraft.jpg
Buttons are working great, think that there is something with css styles (that toolbar elements shouldn't be displayed like this and there's no place to add text), I'll try to find and will be great if you have idea how to fix it :)
Thanks for the support!

Great!
You should probably include the dist/css/megadraft.css stylesheet in your page.
We'll try to improve our docs to point that out.

It's ok now. I really like it, when I finish this little blog, I'll try to support you guys :)

That's great @gstoyanov90! I'm glad you liked it.
Thanks! We could use some support! :)


CI:  Policies Across Namespaces test failed

Build link: https://jenkins.cilium.io/job/Ginkgo-CI-Tests-Pipeline/2040/
Relevant output:
18:56:46 Summarizing 1 Failure:
18:56:46
18:56:46 [Fail] K8sValidatedPolicyTestAcrossNamespaces [It] Policies Across Namespaces
18:56:46 /home/jenkins/workspace/Ginkgo-CI-Tests-Pipeline/src/github.com/cilium/cilium/test/k8sT/Policies.go:815
18:56:46
18:56:46 Ran 22 of 274 Specs in 2447.342 seconds
18:56:46 FAIL! -- 21 Passed | 1 Failed | 0 Pending | 252 Skipped --- FAIL: TestTest (2447.35s)
18:56:46 FAIL
18:56:46
18:56:46 Ginkgo ran 1 suite in 41m37.626251091s
18:56:46 Test Suite Failed

Logs: test_results_Ginkgo-CI-Tests-Pipeline_2040.tar.zip

Assigning to myself for triage.

Step where tests actually failed:
18:51:33 STEP: running curl <IP_ADDRESS>:80 from pod frontend-zhzxd (should work)
18:51:33 time="2018-04-10T18:51:32Z" level=debug msg="running command: kubectl exec -n qa frontend-zhzxd -- curl -s --fail --connect-timeout 5 --max-time 5 http://<IP_ADDRESS>:80/"

It would be nice if the test output on Jenkins right when it failed to console so that we do not have to hunt for the exact time that the test failed.

I wrote the test poorly. The resources that are created are deleted as part of the It itself, which means that the bugtool output will not be useful :( . I'll get a patch out which fixes this.

The file 17-/K8sValidatedPolicyTestAcrossNamespacesPoliciesAcrossNamespaces/cilium_logs.txt in the attached log archive basically has nothing in it:
2018-04-10T18:51:35.239705239Z level=warning msg="Error while getting Kubernetes labels" error="pods \"client-cannot-connect\" not found" subsys=containerd-watcher
2018-04-10T18:51:35.755008322Z level=warning msg="Unable to inspect container, retrying..." containerID=73dff7d4b3 error="unable to inspect container '73dff7d4b3fa7a85fac0e63d60d8db836bf37c9efc902a4f85b36db75499fc5b': Error: No such container: 73dff7d4b3fa7a85fac0e63d60d8db836bf37c9efc902a4f85b36db75499fc5b" maxRetry=20 retry=14 subsys=containerd-watcher
2018-04-10T18:51:38.666041438Z level=warning msg="Error while getting Kubernetes labels" error="pods \"backend-zccs3\" not found" subsys=containerd-watcher
2018-04-10T18:51:42.831693816Z level=warning msg="Error while getting Kubernetes labels" error="pods \"server\" not found" subsys=containerd-watcher
2018-04-10T18:51:42.858554037Z level=warning msg="Unable to inspect container, retrying..." containerID=d1557bcdd0 error="unable to inspect container 'd1557bcdd095aa1be0ed2302c59b20cc6a7916b26cb077c48bcab05562fdbf52': Error: No such container: d1557bcdd095aa1be0ed2302c59b20cc6a7916b26cb077c48bcab05562fdbf52" maxRetry=20 retry=14 subsys=containerd-watcher
2018-04-10T18:51:42.924736512Z level=warning msg="Error while getting Kubernetes labels" error="pods \"server\" not found" subsys=containerd-watcher
2018-04-10T18:51:44.67110818Z level=warning msg="Error while getting Kubernetes labels" error="pods \"backend-zccs3\" not found" subsys=containerd-watcher
2018-04-10T18:51:49.242888275Z level=warning msg="Error while getting Kubernetes labels" error="pods \"client-cannot-connect\" not found" subsys=containerd-watcher
2018-04-10T18:51:49.899702269Z level=warning msg="Unable to inspect container, retrying..." containerID=04176ba6ce error="unable to inspect container '04176ba6cec628fcc5851f75e850703b4e299605c65e152ffb870c8c5a184a4e': Error: No such container: 04176ba6cec628fcc5851f75e850703b4e299605c65e152ffb870c8c5a184a4e" maxRetry=20 retry=19 subsys=containerd-watcher
2018-04-10T18:51:50.755682909Z level=warning msg="Unable to inspect container, retrying..."  containerID=986b614d76 error="unable to inspect container '986b614d764aa5df616a07cab22ebf64d0df330dcdd115cfd3b164fc57d8108e': Error: No such container: 986b614d764aa5df616a07cab22ebf64d0df330dcdd115cfd3b164fc57d8108e" maxRetry=20 retry=18 subsys=containerd-watcher
2018-04-10T18:51:34.620491174Z level=warning msg="Ignoring error while deleting endpoint" endpointID=27280 error="unable to delete element 27280 from map /sys/fs/bpf/tc/globals/cilium_policy_27280: []"
2018-04-10T18:51:39.410662123Z level=warning msg="Unable to inspect container, retrying..." containerID=88a4ebd84c error="unable to inspect container '88a4ebd84c62aee81835bfc3e18c2d6e2ad0049bca3b09b6b13174b5f7b68bbd': Error: No such container: 88a4ebd84c62aee81835bfc3e18c2d6e2ad0049bca3b09b6b13174b5f7b68bbd" maxRetry=20 retry=18 subsys=containerd-watcher

Also see this output in test-output.log:
time="2018-04-10T18:51:34Z" level=debug msg="running command: kubectl exec -n kube-system cilium-zbpkv -- [cilium service list cilium endpoint list]"
cmd: "kubectl exec -n kube-system cilium-zbpkv -- [cilium service list cilium endpoint list]" exitCode: 126
 OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"[cilium\": executable file not found in $PATH": unknown

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"[cilium\": executable file not found in $PATH": unknown

StackTrace Ends

Unable to really triage this. We need logs with timestamps for each Cilium pod, as well as the fix in #3626 to be merged for any meaningful, productive debugging. I'll keep this open and assigned to myself.

Removing myself from assignment here as I have done all triage I can think of. If this test fails again in CI, we can link it here.

Closing this as we don't have enough logs. #3636 fixed that, if we encounter again we can open a new issue.


CheckIn Alfworld

Check in Alfworld gpt agent notebook
Check in Alfworld additional opinion analysis notebook
Add controller in autogpt.py to adopt Alfworld IL predictor
Add prefix webshop for run_gpt_agent and additional_opinion_analysis

LGTM


Language/Message bundle updates

Attempt to update language bundles with the most recent translations based on the default English bundle. This preferably needs to be the last item to resolve before the actual release, so as to make sure there aren't any dangling changes.
@leleuj and @mmoayyed and @robertoschwald  may be able to help with some of the language bundle texts.

@leleuj are there any messages that could be translated to french?

Yes, certainly, I'll take a look and see if there is some missing translation.

PR for French language: https://github.com/Jasig/cas/pull/1041

Changed milestone to target the next release.

Closing this. We'll do this in an ad-hoc fashion on demand.


Resize generated tiles

When the desired magnification is not available, we read from a higher magnification and set 'factor' < 1.
Resizing as part of the tile streaming pipeline would benefit users. Anti-aliasing should be applied since factor < 1 always. This likely needs to be performed on the CPU, as the GPU kernels for anti-aliasing are not available. The easiest and best way may be to use large_image. TileSource.getRegion defaults to Lanczos (which uses PIL). We can provide a binary flag "resize" that defaults to true when building a study.
In the example notebook we can show the alternative approach with resize=False and resizing the tiles after they are popped.

Excellent plan.  We may wish to rename resize because it could be a little confusing.  If "size" is interpreted in terms of the number of pixels then there is (1) a requested size, (2) a natively available size, and (3) the size put into the tensorflow Dataset.  By resize==True we mean that the second and third don't have to be the same number of pixels, but others might think that we mean that the first and third don't have to be the same number of pixels -- which is the opposite of our meaning.

I propose: Currently the constructor for the histomics_stream.FindResolutionForSlide class takes three arguments, study, desired_magnification, magnification_tolerance.  Currently that third argument is a value like 0.02 which tells histomics_stream to choose the nearest native magnification among those that are at least 98% of the requested magnification.  I propose that we change the magnification_tolerance argument to instead take one of these values:

"objective": histomics_stream will use the highest native magnification available.
"native": histomics_stream will use the lowest native resolution available among those that are at least 98% of the requested magnification.
"exact": histomics_stream will use the "native" resolution but will resample the pixels to be the requested magnification.  factor will be 1.0 in this case.

In all cases, factor will be set to the ratio of the requested magnification to magnification that is used.

Maybe replace "objective" with "scan" or "scanning". Some people refer to a 5X derived from a 20X scan as "5X objective".
For "exact" users need to be able to determine that the magnification of returned tile is not present in the WSI, and that it has been resized. Capturing this mode in the dict would suffice. Related to #54 , we should capture the scan, read, and returned magnification as fields in this dict. Currently I use 'factor' for this purpose but this name is vague.


in docker:No route to host executing

machine1:

machine2:

machine3:

error:

code:
https://github.com/search?q=user%3ADreampie+cloud

Duplicates #769?


Import python relatively on macOS

What does this PR do?
Allow python to be imported relatively on macOS
Motivation
Since we support custom build directory on macOS now #29692, we are using RPATH instead of true paths and we need python variables to be relative as well.
Describe how to test/QA your changes

If running, shut your agent down datadog-agent stop
Get the dmg generated from this PR's pipeline
Install it
Move /opt/datadog-agent folder to AnyPath/datadog-agent
Run AnyPath/datadog-agent/bin/agent/agent -c AnyPath/datadog-agent/etc/datadog.yaml run
Check the run log to see if the agent run as expected

Possible Drawbacks / Trade-offs
Additional Notes

I have done the QA steps myself but I'd like someone else to do them as well before I'm putting the qa/done tag

/merge

/merge --cancel

/merge


Issue with base response type

I try to implement validation behavior in asp.net core 2.1 application.
My controller:
[HttpPost]
public async Task<CommandResponse<Application>> Post([FromBody] CreateApplicationCommand command)
{
    var response = await _mediator.Send(command);
    return response;
}

ValidationBehavior:
public class ValidationBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse>
    where TResponse : CommandResponse
{
    private readonly IEnumerable<IValidator> _validators;

    public ValidationBehavior(IEnumerable<IValidator<TRequest>> validators)
    {
        _validators = validators;
    }

    public Task<TResponse> Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate<TResponse> next)
    {
        var failures = _validators
            .Select(v => v.Validate(request))
            .SelectMany(result => result.Errors)
            .Where(f => f != null)
            .ToList();

        return failures.Any()
            ? Errors(failures)
            : next();
    }

    private static Task<TResponse> Errors(IEnumerable<ValidationFailure> failures)
    {
        var response = new CommandResponse();

        foreach (var failure in failures)
        {
            response.AddError(failure.ErrorMessage);
        }

        return Task.FromResult(response as TResponse);
    }
}

Response:
public class CommandResponse
{
    private readonly IList<string> _errorMessages = new List<string>();

    public void AddError(string errorMessage)
    {
        _errorMessages.Add(errorMessage);
    }

    public bool IsSucceed => !_errorMessages.Any();

    public IReadOnlyCollection<string> Errors => new ReadOnlyCollection<string>(_errorMessages);
}

public class CommandResponse<TModel> : CommandResponse where TModel : class
{
    public CommandResponse(TModel model)
    {
        Result = model;
    }

    public TModel Result { get; }
}

Container registration (Asp.Net Core DI with Scrutor):
public static void AddMediator(this IServiceCollection services)
{
    services.AddScoped<ServiceFactory>(p => p.GetService);
    services.AddScoped<IMediator, Mediator>();

    services.Scan(scan => scan
        .FromAssemblies(Assembly.GetExecutingAssembly())
        .AddClasses(classes => classes.AssignableTo(typeof(IRequestHandler<,>)))
            .AsImplementedInterfaces()
            .WithScopedLifetime()
        .AddClasses(classes => classes.AssignableTo(typeof(IValidator<>)))
            .AsImplementedInterfaces()
            .WithScopedLifetime());

    services.AddScoped(typeof(IPipelineBehavior<,>), typeof(ValidationBehavior<,>));
}

If CreateApplicationCommand is valid everything works fine. When validation failure occures I expect to receive an instance of  CommandResponse class with error messages. However response in controller in this case is null. What I am doing wrong?

You've verified that your validation behavior is actually executing?

Hi,
My best bet would be that you get null because of this part in ValidationBehavior:
return Task.FromResult(response as TResponse);
And the reason is that the actual type of TResponse is CommandResponse.
So you basically end up with this:
return new CommandResponse as CommandResponse<Application>

@MaciejWierzchowski save my day! Great thanks!

@AlexanderSysoev  If it's not a problem, please let me know how you end up fixing this! I'm trying to do something similiar, i.e. return a subtype of TResponse from IPipelineBehavior<TRequest, TResponse>, but then I actually get an exception from Mediator.

24/02/2020 - Any updates on how to short-circuit the pipeline and properly handling validation results instead of throwing exceptions?

I end up implementing like this, I don't know if there's something "native" on MediatR by this time.
public class RequestValidationBehavior<TRequest, TResponse> : IPipelineBehavior<TRequest, TResponse>
       where TRequest : IRequest<TResponse>
    {
        private readonly IHttpContextAccessor httpContextAccessor;
        private readonly IEnumerable<IValidator<TRequest>> _validators;

        public RequestValidationBehavior(IHttpContextAccessor httpContextAccessor, IEnumerable<IValidator<TRequest>> validators)
        {
            this.httpContextAccessor = httpContextAccessor;
            _validators = validators;
        }

        public Task<TResponse> Handle(TRequest request, CancellationToken cancellationToken, RequestHandlerDelegate<TResponse> next)
        {
            var context = new ValidationContext(request);

            var failures = _validators
                .Select(v => v.Validate(context))
                .SelectMany(result => result.Errors)
                .Where(f => f != null)
                .ToList();

            if (failures.Any())
            {
                this.httpContextAccessor.HttpContext.Response.StatusCode = StatusCodes.Status400BadRequest;
                this.httpContextAccessor.HttpContext.Response.ContentType = "application/json";
                this.httpContextAccessor.HttpContext.Response.WriteAsync(JsonConvert.SerializeObject(new { ErrorMessages = failures.Select(x => x.ErrorMessage) }));
            }

            return next();
        }
    }

I don't think mediator has validation as a particularly implemented behavior, as you've shown you can short circuit the rest of the pipeline simply by not calling "next()" when applicable.  In our use cases we return a ValidationFailedResult from the pipeline, and don't call "next()".  Then we handle the http response from the controller.

@lilasquared actually I was wondering if by this time MediatR could have something out-of-the-box, but the approaches to short-circuit are fine. In your case, how do you distinguish the ValidationFailedResult when the TResponse is expected to be returned? Casting?

I don't think you can't, unless your return nodels all derive from a generic class that has validation properties. Then you check if the return is valid or not (or if it has errors).
Very similar to what you have there, but instead of outputting it directly to the response, adding it to the return (that like I said would be something of Validated<TResponse>

Yep, basically what @joaomatossilva said.  A base class of that can be Success or Failure, and the Failure result has properties for validation failure messages or any other metadata needed.  All handled by a pipeline behavior that injects IValidators similar to what you have above.  All request responses are wrapped in the particular Result response type and we have custom interfaces to help simplify this as well when creating commands, queries and handlers.


MID descriptions in other languages

Hello,
Just wondering if its possible to provide short descriptions of the mid's in other languages?
For example an entry in dict could like:
"/m/06z6r","swimming"  -> "/m/06z6r","swimming","natación", "Schwimmen"
As freebase api is no longer available and there is strict quota on Google Knowledge graph if you could provide short descriptions in other languages it would be great. I'm currently looking for Spanish and German.
Or if there is a easier way to get the labels in other languages please let me know.
Spandana

Hi @spandanagella,
generally, something like that makes sense to implement at some point. Right now, I believe the dataset development has other priorities, like reducing noise in the annotations or adding images with rare entities.
As a somewhat helpful datapoint, I would like to point out that Freebase RDF dumps are still available in various places, like on Archive.org

Hi @krasin
Thank you for getting back. I have figured out a way to do this for now using wiki data mappings with freebase.  However, I see some of the mid's do not have mappings.
spandana

Yes, there could be some entities missing from FreeBase, because its development stopped, but hopefully not too many.
By the way, why do you need this localized mids? I can think of several potential uses, but most of them felt theoretical to me.


AddingPowerSupport_For_golang-github-robfig-cron

Adding power support.
Adding power support ppc64le.
This is part of the Ubuntu distribution for ppc64le. This helps us simplify testing later when distributions are re-building and re-releasing. For more info tag @gerrith3.
The build is successful on both arch: amd64/ppc64le, please find the Travis Link below.
https://travis-ci.com/github/santosh653/cron
Please let me know if you need any further details or If I am missing any?
Thank You !!

@robfig, If all the checks are successful, Can you please process this PR?

Hello, In case there are no further checks to be verified, Can we have this PR approved? It is open from quite sometime now.

If ll the checks are successful, Can you please Approve?

@robfig Can you Please check & approve this PR? It's been open from long time.,

@robfig Herewith Checking if you have any further questions on this
Thank you!!

A gentle nudge, Checking if you have any questions on this PR!!

A gentle reminder to Let us know if you have any further queries on this PR?

Checking herewith if there are any further queries here?

Are there any queries open on this PR?


When will the release for ver 2.0 be carried out?

Hi, I'm preparing to start a project with tauri 2.0 and sveltekit. I'm trying to configure a login using Oauth, and that plug-in seems to be the most appropriate. According to the most recent commit, I have 2.0, and I wonder when the version-up plan will be. (I want to contribute, but I haven't really figured out the tauri ecosystem yet.)

You can use the v2 branch for now:
[dependencies]
tauri-plugin-oauth = { git = "https://github.com/FabianLars/tauri-plugin-oauth", branch = "v2" }

I am currently out of office due to sickness but once i have access to my computer i'll release new versions.


Volume for service

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
Hi,
I just need to store photos in my service inside a docker container to a VOLUME,
sample code;
var vipasx = builder.AddProject<Projects.VipasX_Api>("vipasx-api")
.WithVolume(name, value)
.WithMount(name, value)
.WithVolumeMount(name, value)
.WithExternalHttpEndpoints()
.WithReference(rabbitmq)
.WaitFor(rabbitmq)
.WithHealthCheck();
We can't volume and/or mount mostly to our service ?
PLS NEED SOME LITTLE ASSISTANCE.
Expected Behavior
No response
Steps To Reproduce
No response
Exceptions (if any)
No response
.NET Version info
V8
Anything else?
No response

Not possible today, dupe of https://github.com/dotnet/aspire/issues/4359


fix: use lts node in gitpod

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

I would prefer not to use a custom Dockerfile, if we can avoid it. From my experience, it adds a lot of overhead to the startup time.

Sorry, Shaun, I meant to say that you'd tested it and it was only a few seconds slower.

Yeah - I have had the same experience with a custom Dockerfile. It makes the startup a bit slower. But I think it is fair to have the version pinned, which is more critical.


enhanced setQueryData to update multiple queries

This is a little example implementation of the requested feature of Issue https://github.com/tannerlinsley/react-query/issues/135.
I basically just copied the logic from refetchQuery. Haven't tested it fully yet, will add some tests and an example usage later.

This is nice :) I'll merge this when I get a break from the next branch.

After some thought, and the decision for the same API question in v1 (in the next branch), I've decided to keep this api as a single-query function. You can always loop over individual queries keys to update their data and I don't believe that functionality is something I want to make possible out of the box.
Thanks for your input!


Timestamps

Closes #204
Based on uppfinnarn work
Just replace the Parser pattern by the time pattern of RFC3339

The merge destination branch was not the good one.


Fixed syntax deprecations in string variable interpolation

${...} string interpolation has been deprecated in 8.2 https://wiki.php.net/rfc/deprecate_dollar_brace_string_interpolation
This PR changes interpolation to an equivalent {$...} syntax that is backwards and forward compatible.

Great fix! Thanks!


F-Droid

Please add this app to F-Droid.

Maybe you can download Amarok from IzzyOnDroid, an F-Droid Repository maintained by @IzzySoft.

Yes, I came across this app through IzzyOnDroid. But I want the app to be added in the main repository.

Hmm... That's somehow embarrassing... :thinking:
I put it on IzzyOnDroid just recently (#2), and it seems that if the app is added to the main repo, IzzyOnDroid has to take it down from its repo according to their removal principle.

If you put your app in the main repository, more people will see it because your app is in F-Droid by default and you don't need to add a repository.
There are also several apps that are in both repositories:
1. LibreTube
https://f-droid.org/en/packages/com.github.libretube
https://apt.izzysoft.de/fdroid/index/apk/com.github.libretube
2. IzzyOnDroid
https://f-droid.org/packages/in.sunilpaulmathew.izzyondroid
https://apt.izzysoft.de/fdroid/index/apk/in.sunilpaulmathew.izzyondroid

Well, in that case, I'll put Amarok in the main repository as soon as possible.
Thanks for your work!

Thank you.

Hey @xmha97 :clap:
Done! See here.

Thanks.
Why is this app signed by you?

All F-Droid apps signed by F-Droid.
For example, see the F-Droid version of the Wikipedia app.

Why is this app signed by you?

F-droid just introduced Reproducible Builds recently.

Thanks for saying that, that's a good thing.

Close the issue then.


NOT WORKING..  Add-RdsAccount -DeploymentUrl giving error on Powershell

When going through the step: Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Getting the following error:
Add-RdsAccount : One or more errors occurred.
At line:1 char:1

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

  + CategoryInfo          : NotSpecified: (:) [Add-RdsAccount], AggregateException
  + FullyQualifiedErrorId : System.AggregateException,Microsoft.RDInfra.RDPowershell.Context.AddRdsAccount

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

ID: eab4b2c4-29d9-d759-066f-f7cf633260ca
Version Independent ID: 05c8b237-2c9e-6453-9cbf-9c7a3b7f8b07
Content: Create a tenant in Windows Virtual Desktop Preview  - Azure
Content Source: articles/virtual-desktop/tenant-setup-azure-active-directory.md
Service: virtual-desktop
GitHub Login: @Heidilohr
Microsoft Alias: helohr

Thanks for the question. We are currently investigating and will update you shortly.

Hi Team,
Any update on this issue. We are trying to test out this service in preview but stuck at this critical step.
Please advise.
Thanks!

@ChristianMontoya Can you please share your insights on this? Thanks :)

@Karishma-Tiwari-MSFT
Thanks. We have exhausted all the steps listed on the forum you mentioned but still getting the same error. Would request if you could get someone from the AD team to look into this as it seems to be an AD related error.

@ChristianMontoya Can you please share your insights on this issue? It seems like multiple customers are seeing this issue. Thanks. :)

@Jez85 : Did you also assign the TenantCreator role to the user you're attempting to login with?

@ChristianMontoya
Yes the tenant creator role has been assigned to the user for Windows Virtual Desktop application in the AD tenant.
We have followed this guide down to the word for each step until the "Add-RdsAccount" step which is returning an error. Our corporate user accounts have MFA enabled. When I run the Add-RdsAccount cmdlet in powershell, I get the interactive login and the MFA completes but right after that we get the error.

@ChristianMontoya @Karishma-Tiwari-MSFT
Any updates on this issue?
Thanks!

@ChristianMontoya Did you get a chance to take a look. The customer has replied with the information you requested. Thanks :)

@Jez85 : One more thing to confirm...is the user sourced from the Azure Active Directory you're trying to make a tenant from? Or is it a guest user (sourced from another directory)?

I am experiencing the same issue. If I could answer on behalf of the OP - yes the user with the TenantCreator permissions is from the same AAD.
I have also tried from a Global admin user, without MFA, and specified the TenantCreator Role.
The WVD powershell module installs correctly.
The error remains the same. I have tried powershell on local PC and Azure Shell. Error is the same.
We are not able to setup WVD for testing until this is resolved.

@ChristianMontoya Yes it is sourced from the same directory.

This road block error is keeping us from testing the service.

@Jez85 @zimbonz : Apologies for the delay. This is something I'm not accustomed to seeing. I'm circling back with the team to see if there are common configurations that would cause this, so I can provide more immediate resolution. If not, it is something we'll have to investigate.

I ran into this same issue, and the root of the problem was that I was trying to use pscore/PowerShell 7. As soon as I went back to PowerShell 5 and followed the instructions again, everything worked.
Per https://docs.microsoft.com/en-us/powershell/windows-virtual-desktop/overview#supported-powershell-versions
The Windows Virtual Desktop module is not built on .NET Core, so it cannot be run on macOS, Linux, Azure Cloud Shell, and wherever PowerShell Core 6.0 is supported.

I have the same issue:
PSVersion                      5.1.17763.592
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.592
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
PS C:\WINDOWS\system32> Install-Module -Name Microsoft.RDInfra.RDPowerShell
PS C:\WINDOWS\system32> Import-Module -Name Microsoft.RDInfra.RDPowerShell
PS C:\WINDOWS\system32> Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"
Add-RdsAccount : One or more errors occurred.
At line:1 char:1

Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com"

  + CategoryInfo          : NotSpecified: (:) [Add-RdsAccount], AggregateException
  + FullyQualifiedErrorId : System.AggregateException,Microsoft.RDInfra.RDPowershell.Context.AddRdsAccount

If I try a personal account I get a lot more information:
AADSTS50020: User account<EMAIL_ADDRESS>from identity provider 'live.com' does not exist in tenant 'MS Azure Cloud' and cannot access the application 'fa4345a4-a730-4230-84a8-xxxxxxxxxxxx'(Windows Virtual Desktop Client) in that tenant. The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account.
I suspect that although I'm running a trial, I need a current Microsoft 365 E3 or similar license - my Office 365 E3 is not sufficient and there is no grace period.  If so a better error message would save time.

@stuholden : Definitely acknowledge better error messaging. By chance, did you already grant consent to the Windows Virtual Desktop Azure AD apps listed here: https://docs.microsoft.com/en-us/azure/virtual-desktop/tenant-setup-azure-active-directory ?

I was getting this error as well. In the link above I noticed this "This process doesn't support Azure Active Directory B2B (guest) accounts." I was using a guest account. As soon as I switched to a member account that was a global admin with user admin privileges and a tenant creator role (same roles as the guest acct) it worked.

I'm getting the same error, I noticed that I can run this "add-rdsaccount -DeploymentUrl …." before rolling out the host pool, then after the rollout to do the rest of the steps I'm getting this error. Now I'm  stock testing the service.

@lelandvelasco : so you're saying that you were able to create a tenant in WVD? We recently published a newer edition of our PowerShell. Can you try before and after installing that?

I'm also getting this error, latest module version,  PS version 5.1.14409.1005. Note: this happens before I even get the chance to sign in. Add-RdsAccount -DeploymentUrl "https:rdsbroker.wvd.microsoft.com" throws the error, not when I try to sign-in.

@lelandvelasco : Which version of PowerShell are you running? Our module requires PowerShell 5.0 or 5.1 .

@dsyorkd : The URL should be "https://rdbroker.wvd.microsoft.com".

As Powershell Core 7.0 is now in GA, more and more users will receive this error. At least, a notice should state that for now, this module requires using Powershell 5.1

Sure, it's a matter of stating PowerShell 5.1 The challenge is that we do specify to download the module where we say this matter, but we could try to highlight this more.

Sure, it's a matter of stating PowerShell 5.1 The challenge is that we do specify to download the module where we say this matter, but we could try to highlight this more.

My bad, I missed that (and you are right, this limitation is obviously the first point of the cmdlet install page).

Just ran into this issue attempting to provision WVD, using PowerShell 7.0 via snapd on Linux.

Just noticed the supported PowerShell versions notification via https://docs.microsoft.com/en-us/powershell/windows-virtual-desktop/overview#supported-powershell-versions
I agree with @tbolon that it could be made more verbose from within PowerShell, though.

@Jez85 : Did you also assign the TenantCreator role to the user you're attempting to login with?

How so i assign "TenantCreator" role it doesn't exist in my azure subscription's set of available role assignments.  Its also not a role i see within the linked Azure AD environment.
Until i can get this working my wvd host pool template deployments are going to keep failing on VM has reported a failure when processing extension 'dscextension'. Error message: "DSC Configuration 'CreateHostPoolAndRegisterSessionHost' completed with error(s).


How do I install this plug in?

Not necessarily an issue, but a note to update the documentation.
I tried to follow installation step 2.

Install the plugin:
pip install 'git+git://github.com/ioos/cc-plugin-ncei.git'

>pip install 'git+git://github.com/ioos/cc-plugin-ncei.git'
Invalid requirement: ''git+git://github.com/ioos/cc-plugin-ncei.git''
Traceback (most recent call last):
  File "c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages\pip\req\req_install.py", line 82, in __init__
    req = Requirement(req)
  File "c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages\pip\_vendor\packaging\requirements.py", line 96, in __in
it__
    requirement_string[e.loc:e.loc + 8]))
InvalidRequirement: Invalid requirement, parse error at ""'git+git""

Was able to install it using the following:
>pip install cc-plugin-ncei
Collecting cc-plugin-ncei
  Downloading cc-plugin-ncei-2.0.1.tar.gz (90kB)
    100% |################################| 92kB 280kB/s
Requirement already satisfied: compliance-checker>=2.2.0 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (fro
m cc-plugin-ncei)
Requirement already satisfied: isodate==0.5.4 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from cc-plugin
-ncei)
Requirement already satisfied: OWSLib>=0.8.3 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from compliance
-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: lxml>=3.2.1 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from compliance-c
hecker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: cf_units>=0.1.1 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from complian
ce-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: requests>=2.2.1 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from complian
ce-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: python-dateutil>=2.2 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from com
pliance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: Jinja2>=2.7.3 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from compliance
-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: setuptools>=15.0 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages\setuptools-20
.6.7-py2.7.egg (from compliance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: pygeoif==0.6 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from compliance-
checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: netCDF4>=1.2.2 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from complianc
e-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: arrow>=0.7.0 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from compliance-
checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: pytz in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from OWSLib>=0.8.3->comp
liance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: pyproj in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from OWSLib>=0.8.3->co
mpliance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: six>=1.5 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from python-dateutil
>=2.2->compliance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: MarkupSafe in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from Jinja2>=2.7.3
->compliance-checker>=2.2.0->cc-plugin-ncei)
Requirement already satisfied: numpy>=1.7 in c:\users\mbiddle\appdata\local\continuum\anaconda\lib\site-packages (from netCDF4>=1.2.
2->compliance-checker>=2.2.0->cc-plugin-ncei)
Building wheels for collected packages: cc-plugin-ncei
  Running setup.py bdist_wheel for cc-plugin-ncei ... done
  Stored in directory: C:\Users\mbiddle\AppData\Local\pip\Cache\wheels\c6\50\50\a31c48b690aba9da853a40d0c275864959e044d93b8d04964d
Successfully built cc-plugin-ncei
Installing collected packages: cc-plugin-ncei
Successfully installed cc-plugin-ncei-2.0.1

@mbiddle-nodc  - Thanks for opening an issue here.
@lukecampbell  - As I have begun writing documentation for the Compliance Checker, I am interested in folding in the connection between the main checker and it's plug-ins.  I noticed the other day that the documentation for the NCEI plug-in could use some clarification.

Just updated the README


Update xml-rs to 0.4

Updated the dependency on xml-rs to 0.4.
Compile is successful.
Test suite passes.

apologies somehow I lost track of this PR, thanks for your contribution!


Is it possible to modify the configuration parameters to achieve silky rendering filters?

static Future<Uint8List?> brightness(Uint8List imageData,double value) async {
final texture = await TextureSource.fromMemory(imageData);
final configuration = BrightnessShaderConfiguration();
configuration.brightness = value;
final image = await configuration.export(texture, texture.size);
final bytes = await image.toByteData(format: ImageByteFormat.png);
return bytes?.buffer.asUint8List();
}
I want to modify the value through Slider to achieve a silky filter effect, but the UI is very laggy. Is there any good way to achieve it?

@jiangchengze there is specific widget for making live preview https://github.com/nikolaydymura/flutter_image_filters?tab=readme-ov-file#imageshaderpreview-example
or view this repository https://github.com/nikolaydymura/image_filters_example . It's a big sample of all our packages.


ebiten: add DrawTrianglesOptions.AntiAlias and DrawTrianglesShaderOptions.AntiAlias

Now anti-aliasing of vectors are achieved by using a big offscreen images (see examples/vector and examples/lines). This is a primitive solution but there are some issues:

This is not frinedly.
It is hard to provide a utility function with anti-aliasing vectors. Using an offscreen in a utility function would split draw commands. For example, if there is DrawLineAntiAlias function, this function would have a big offscreen internally, but successive calls of DrawLineAntiAlias would create separate draw calls due to the offscreen.

Instead, what about letting ebiten.Image (or internal/ui.Image) have a big offscreen, rendering commands onto it, and flushing it when needed?

A potential problem with internal big offscreens is that composite modes might not work expectedly.


Can git-flow be implemented?

It would be good to implement the git-flow to develop in a more organized and standardized way, you could say that it is the standard way of working in the git world.

I don't quite understand what you want to express.
What is the connection between git-flow and this project?

I mean to have a work structure based on git flow, in order to better organize new implementations, features, bug fixes, etc.
Here I leave a reference:
https://danielkummer.github.io/git-flow-cheatsheet/
It is not about the git-flow software as it is described in the reference page but about the way to handle the branches.


[Query] Amount of Memcached connections

Hello,
This is a query and not a bug report.
On a busy website (500+ users simultaneously all the time), I'm using persistent connections to Memcached with PHP and php-memcached client.
I'm not sure if I'm doing it right, but the persistent connection ID is always the same.
I only open a connection per PHP request.
Two things I noticed is that "curr_connections" is always around ~10.
I believe this is the number of PHP requests that are running at a given "time snapshot". Once the PHP request has finished, I'd say the connection is being closed.
However, when I check "netstat", I see loads of TCP connections open on port 11211, in a "TIME_WAIT" state. And it seems to be both ways.
Example (2 lines):
tcp        0      0 <IP_ADDRESS>:11211             <IP_ADDRESS>:9699              TIME_WAIT
tcp        0      0 <IP_ADDRESS>:5065              <IP_ADDRESS>:11211             TIME_WAIT
.
At the moment, there are 7513 connections open in this state. I've been monitoring in the past 24 hours and it's been always around a number like this.
.
Any ideas if this is the expected for a healthy server, or am I doing something wrong?
In relation to persistent connections - is it ok that I'm always using the same persistent ID, or should I be having, say, 20 persistent connections that are chosen randomly when creating a Memcached object?
Thank you very much,
Nuno

Hey,
The TIME_WAIT connections means you're closing connections constantly and not actually using persistent connections. I'm not really familiar with php-memcached's semantics, you might have better luck on PHP support forums or digging through some code examples.
In the stats counters you should see "total_connections" increasing, if you're successfully using persistent connections curr_connections will probably be a bit higher and total shouldn't be growing very quickly.
If you're using something like php-fpm it's also possible your processes are dying off after requests and thus unable to reuse connections.

Thanks very much Dormando.
Not using php-fpm (yet). My PHP processes do close after every request.
Well - I guess that's my answer then. A persistent connection would only make sense if my PHP processes stayed alive at the same time. If my PHP processes are killed after every request, then the connections are closed as well. It's not up to Memcached to keep those connections alive, if the other side has gone away.
Am I thinking correctly here?
Thank you,
Nuno

Hmm mostly. Some forms of PHP (like apache mod_php) have mechanisms for holding persistent connection objects inbetween requests, so it depends on how you're running PHP and if you (or the client library) are properly using that API. It's been too long since I've looked so, again, apologies.

This was greatly improved/reduced after installing PHP-FPM and then enable persistent connections.


Trojan:Win32/Wacatac.B!ml detected in processhacker-3.0.4021-bin

Both 32 and 64 bit

Duplicate of #454