WIP: Intermediate GPU kernel

In this PR the elasticity and thermal evaluation and gradient kernels run on the GPU. The work is an amalgam of work between @samuelpmishLLNL , @joshessman-llnl , and @jonwong12 .
Notable changes:

serac::tuple implementation
Introduces the notation of cpu_policy and gpu_policy
Separates CPU and GPU kernels.
Methods are separated into several files. Some are shared between boundary and domain integrals. Some are shared between CPU and GPU implementations of domain_integrals, and etc.
Hardcoded indexing for derivatives_ptr has been abstracted in case we need to change the access pattern consistently on the GPU.
GPU kernels have two implementations: element-based, and quadrature-based implementation. Both kernels use the same underlying quadrature method.

Caveats:

There is an incorrect answer for the Hcurl case that needs to be investigated.

TODO:
I think most of the work that needs to be done is just in tidying up the code in it's current state.

Better comments and documentation.
Deleting unnecessary debugging calls.
Reconsolidating quadrature calls into a SERAC_HOST_DEVICE to help with consistency and maintainability.
Make sure all tests pass

Codecov Report

Merging #523 (c1d9fea) into develop (00aea4b) will increase coverage by 0.00%.
The diff coverage is 99.46%.

@@           Coverage Diff            @@
##           develop     #523   +/-   ##
========================================
  Coverage    94.99%   95.00%
========================================
  Files           98      100    +2
  Lines         5938     5964   +26
========================================
+ Hits          5641     5666   +25
- Misses         297      298    +1

Impacted Files
Coverage Δ

.../serac/physics/utilities/functional/functional.hpp
97.11% <ø> (ø)

src/serac/physics/utilities/functional/tensor.hpp
99.59% <94.73%> (+<0.01%)
:arrow_up:

src/serac/infrastructure/profiling.hpp
100.00% <100.00%> (ø)

...cs/utilities/functional/detail/metaprogramming.hpp
100.00% <100.00%> (ø)

...c/physics/utilities/functional/domain_integral.hpp
100.00% <100.00%> (ø)

...cs/utilities/functional/domain_integral_shared.hpp
100.00% <100.00%> (ø)

src/serac/physics/utilities/functional/dual.hpp
100.00% <100.00%> (ø)

...hysics/utilities/functional/integral_utilities.hpp
100.00% <100.00%> (ø)

...ties/functional/tests/functional_comparison_L2.cpp
100.00% <100.00%> (ø)

...lities/functional/tests/functional_comparisons.cpp
97.48% <100.00%> (-0.52%)
:arrow_down:

... and 8 more

Continue to review full report at Codecov.

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


404

Pretty sure this mirror got closed so all thats required is a new default mirror most likely.
https://dl.fedoraproject.org/pub/fedora/linux/releases/30/Container/x86_64/images/Fedora-Container-Base-30-1.2.x86_64.tar.xz curl: (22) The requested URL returned error: 404 Not Found

Update: change https://dl.fedoraproject.org/pub/fedora/linux/releases/ to `http://archives.fedoraproject.org/pub/archive/fedora/linux/releases

Update: change https://dl.fedoraproject.org/pub/fedora/linux/releases/ to `http://archives.fedoraproject.org/pub/archive/fedora/linux/releases

So in installer/fedora/defaults change the mirror to http://archives.fedoraproject.org/pub/archive/fedora/linux/releases and their will be no issues.

So in installer/fedora/defaults change the mirror to http://archives.fedoraproject.org/pub/archive/fedora/linux/releases and their will be no issues.


406 Not Acceptable with version 0.2.13

I'm loading UI router from jsdelivr version 0.2.13 and I get 406 Not Acceptable on angular's
 xhr.send(post || null);
The same goes for 0.2.12 but everything works fine with 0.2.11.

Not going to get involved in the flame war here, just want to add my two cents.
I ran into the exact same issue thanks to web.config settings recommended by H5BP so thanks @brgrz for figuring that one out. I agree with @brgrz here as well that the charset should be sent since this seems to be the general recommendation out there. It's unlikely that the requested change will cause any problems for existing users, however, changing the header to one without a charset certainly does.

I ran into this yesterday, I actually created a http interceptor that checked the url path for where our template html files live and modified the Accept header to /. It is a hack but I thought some one else who ends up here after a search might find the information useful.
I did try to set the accept header to "text/html; charset=UTF-8" but that caused IIS to keep returning 406's unclear why.  using "/" for our path checked url land ending in html did not seem to risky

I also ran into this issue guys so thanks to everyone in the thread for pointing me in the right direction!

I put this inside my module's config:
.config(["$httpProvider",
function($httpProvider) {

  //$httpProvider.defaults.headers.common["Content-Type"] = "application/json";

  $httpProvider.interceptors.push(function() {
    return {
      "request": function(config) {
        if (config.url && config.url.endsWith(".html")){
          config.headers["Content-Type"] = "text/html; charset=utf=8";
          config.headers["Accept"] = "text/html; charset=utf=8";
        }
        else{
          config.headers["Content-Type"] = "application/json";
          config.headers["Accept"] = "application/json";
        }
        return config;
      }
    };
  });

};

This is also a problem in 0.2.18


feat: Zoom controls are pushed to the right edge for Right-To-Left la…

Zoom controls are now pushed to the right edge.
image

closes #2021

Thank you!

Sorry for the confusion. Was a pleasure.


config: Honor transport_api_version for non-ADS xDS services

Commit Message:
This patch makes sure the chosen endpoint is controlled by the specified transport_api_version. For transport_api_version that equals envoy::config::core::v3::ApiVersion::AUTO, the endpoint will be inferred from the type_url.
Additional Description:
Risk Level: Low (no behavior change)
Testing: Unit.
Docs Changes: N/A
Release Notes: N/A (no behavior change)
Fix #10650
Signed-off-by: Dhi Aurrahman<EMAIL_ADDRESS>

/azp run envoy-presubmit

/azp run envoy-presubmit

Interesting errors on Windows CI:
2020-06-28T05:49:18.1334404Z   C:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.26.28801/bin/HostX64/x64/cl.exe @bazel-out/x64_windows-opt/bin/test/common/common/_objs/assert_test/assert_test.obj.params
2020-06-28T05:49:18.1335808Z Execution platform: @rbe_windows_msvc_cl//config:platform
2020-06-28T05:49:18.1336807Z test/common/common/assert_test.cc(60): error C2220: the following warning is treated as an error
2020-06-28T05:49:18.1342922Z test/common/common/assert_test.cc(60): warning C4003: not enough arguments for function-like macro invocation '_ENVOY_BUG_VERBOSE'
2020-06-28T05:49:18.1344513Z test/common/common/assert_test.cc(60): error C2059: syntax error: ')'
2020-06-28T05:49:18.1693784Z test/common/common/assert_test.cc(66): warning C4003: not enough arguments for function-like macro invocation '_ENVOY_BUG_VERBOSE'
2020-06-28T05:49:18.1695674Z test/common/common/assert_test.cc(66): error C2059: syntax error: ')'
2020-06-28T05:49:18.1696843Z test/common/common/assert_test.cc(68): warning C4003: not enough arguments for function-like macro invocation '_ENVOY_BUG_VERBOSE'
2020-06-28T05:49:18.1698599Z test/common/common/assert_test.cc(68): error C2059: syntax error: ')'

@dio re: the macros on Windows, I know that MSVC is much more picky about interleaving of macros and control flow. @wrowe can probably explain the fully story, but I know there were a number of macro fixups during the Windows port.

@dio re: the macros on Windows, I know that MSVC is much more picky about interleaving of macros and control flow. @wrowe can probably explain the fully story, but I know there were a number of macro fixups during the Windows port.

Correct, this covered at line 66 of the proposed porting doc.  https://github.com/envoyproxy/envoy/pull/11721/files#diff-d437a64a5901ee0232b3ba2fc7edff7aR66
In short we aren't talking c++ but K&R CPP, and although GCC and CLang make provisions to entangle line parsing and macro invocation, this still isn't part of the spec.

@dio PR looks good now. I guess one question I have is whether we are technically breaking behavior here (taking a step back). Honoring transport API version makes sense, but the default for AUTO was set as v2, see https://github.com/envoyproxy/envoy/blob/master/api/envoy/config/core/v3/config_source.proto#L27. Do we need a semantically breaking API change as well?
CC @envoyproxy/api-shepherds

@htuch that's interesting. I missed that part. Before this in, the behavior was defaulting to v3 so that's why I chose this path for AUTO.

@lizan @markdroth interested if you have any opinions on this as API shepherds.  This PR moved the default transport version when AUTO to that of the resource version. Is this a breaking change? Is it preferable?

Since gRPC hasn't yet implemented v3 support, there are no backward-compatibility issues for us; it's just a question of what behavior we actually want.
Given that both Envoy and gRPC are going to support receiving a different resource version than the one we requested, I am wondering if setting the transport version from the resource version is actually a bit backwards.  It seems like what we actually want is the other way around: we should by default set the resource version from the transport version, so that what we send is always consistently within a particular version.  What we receive is completely independent of that, so setting the resource version differently from the transport version should be extremely rare.  (I don't think we would even bother supporting that ability in gRPC.)
If we do go with setting the transport version from the resource version, the description here will need to be more nuanced, since there are cases where there is no resource version -- e.g., when using SelfConfigSource (see #11754 and #11824).

It seems like what we actually want is the other way around: we should by default set the resource version from the transport version

Interesting. Since the way of writing config for envoy is by specifying the resource type_url which includes version information and we can skip setting up the transport version (fallback to AUTO).

I think going forward, it would be ideal to have explicit versions specified, so we eliminate ambiguity during versions transitions. So, really, we want to discourage use of AUTO. That would lend itself to having this just be v2 as the default and should simplify the implementation. @dio sorry I didn't catch this earlier, I'm happy to be argued out of this position.

Sounds good.


Move configurations from YAML to PHP

Probably we should use configuration written in native PHP instead of YAML for core, plugins, themes and etc..
Advantage of migration from YAML configs to PHP configs:

Zero performance impact.
Mostly no need to cache.
No YAML parsing fore core, plugins and themes.

but need more research on this theme, and to do not make things too much complicated.

After the research was decided to stay with YAML Configs but with implementing PHP Array File Cache to boost the performance.


Use color functions (like SASS 'scale' to lighten and darken)

I see support for aliases like 'rgba($colors.brand, 0.5)' and I think it's awesome!
Thinking of ways to expand on aliases, I would love a way to manipulate the hue, saturation, lightness, and alpha of a specified color. For example:
{
"colors": {
"primary": {
"base": "hsla(219, 99%, 53%, 100%)",
"hover": "scale($colors.primary.base, lightness: 8%)",
"active": "scale($colors.primary.base, lightness: -6%)",
"selected": "scale($colors.primary.base, lightness: 10%)",
},
etc.
}
https://sass-lang.com/documentation/modules

I like that! I have no experience manipulating colors via Javascript, but after quick research I think that should be easy to implement! I think we might have to refactor the way we transform values currently to offer more flexibility for these sort of functions (I imagine there could be other use cases like this one in the future)

@bzupancic - I've been able to achieve what you want by using this approach:
       "secondary": {
            "hue": "176",
            "base": "#2AC9BE",
            "contrast-text": "#ffffff",
            "text-dark": "hsl($colors.secondary.hue, 90%,43%)",
            "main": "hsl($colors.secondary.hue, 76%,39%)",
            "light": "hsl($colors.secondary.hue, 89%,82%)",
            "dark": "hsl($colors.secondary.hue, 92%,25%)",
            "background": "hsla($colors.secondary.hue, 90%, 54%, 0.08)",
            "selected": "hsla($colors.secondary.hue, 90%, 54%, 0.08)",
            "border": "hsla($colors.secondary.hue, 90%, 54%, 0.5)"

@mpaiva - thank you for the reply. Conceptually the model you use is close to what I am looking for. In fact I experimented with that model prior to posting an issue. There are a  few limitations though, that I don't know how to overcome:

Setting the 'hue' on secondary creates an 'blank' color token, that if clicked would actually resolve to '#117766' (from your example of "hue": "176") in Figma. So after every update to my styles I would have to go through and manually remove any utility tokens.
Math isn't possible on the hue/saturation/lightness values, so there isn't a way to set a base color and then have fine grain control over the lightness for different states.
(While I could set "hover-lightness": "8%" and "selected-lightness": "10%", etc. I don't use the same values across hues, so it would create more work and make the JSON much less readable.)

@six7 - totally agree! I imagine being able to build out color palettes in the future using math, similar to the way I build type scales, and I like that idea a lot.

That would be so cool. Being able to create styles dynamically is where a lot of opportunity is hidden I believe. Especially when it comes to creating color and type scales.

I am using this structure successfully with the Material UI library. It is not as scalable as SASS, but the HSL support was a good addition to this plugin.

Would be great to be able to apply something like this '$Primary + rgba (0,0,0,0.5)' for it to then work across multiple themes. This would be used for an instance of a hover state.

@six7, is it possible to do interpolated math inside of color fields? For instance, I'm able to multiply and call roundTo in my typography tokens to build a modular scale. I'd love to be able to set individual base values for HSL and add/subtract saturation/lightness for hover or active states or manipulate the base hue to generate secondary and accent colors.

Math currently works on the whole token, so math inside a hsla() string likely won't work, what would work however is if you'd extract each of the parts into their own token, perform math there, and then combine them with references: hsla({hue}, {saturation}, {lightness}, 1) - however that is probably super cumbersome. i don't want to bloat the ui with individual controls for hue, saturation and lightness, but maybe there's something there in the future to treat color tokens not just as a simple string but break it up into RGBA parts, HSLA parts which can all be using different values or even math.
feels like a different topic than this issue, though.

That makes sense. Congrats on v97! 🎉

This is exactly an issue I was facing and wanted to work out.
Seems like I'll have to wait until it's implemented.
It would be a killer feature, one thing that would be great is if there was an integration with the great geenes plugin.

@six7 Hello! How does it work?

I captured our plan on how we want to tackle this in https://github.com/six7/figma-tokens/issues/1166 - would love your feedback on it!

Closing this issue, we'll work on this in #1166.


Flaky STAKE_POOLS_SMASH_01 - Waited longer than 90s to resolve action: "metadata is fetched"

Context

Seen once so far, but think the test case is new too.
Test Case

https://github.com/input-output-hk/cardano-wallet/blob/a604358b6c204fe495a082f1c8f0634bdacd5220/lib/core-integration/src/Test/Integration/Scenario/API/Shelley/StakePools.hs#L1101-L1139
Failure / Counter-example

  | src/Test/Integration/Scenario/API/Shelley/StakePools.hs:1119:25:
  | 2) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_SMASH_01 - fetching metadata from SMASH works with delisted pools
  | While verifying (Status {statusCode = 200, statusMessage = "OK"},Right [ApiStakePool {id = ApiT {getApiT = PoolId {getPoolId = "\236(\243=\203\230\214@\n\RS^3\155\208d\|\ts\202l\f\249\194\187\230\131\141\198"}}, metrics = ApiStakePoolMetrics {nonMyopicMemberRewards = Quantity {getQuantity =<PHONE_NUMBER>6999325}, relativeStake = Quantity {getQuantity = Percentage {getPercentage = 7 % 2000}}, saturation = 1.0487592957486117e-2, producedBlocks = Quantity {getQuantity = 343}}, metadata = Just (ApiT {getApiT = StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "GPA"}, name = "Genesis Pool A", description = Nothing, homepage = "https://iohk.io"}}), cost = Quantity {getQuantity = 0}, margin = Quantity {getQuantity = Percentage {getPercentage = 1 % 10}}, pledge = Quantity {getQuantity =<PHONE_NUMBER>000}, retirement = Nothing, flags = []},ApiStakePool {id = ApiT {getApiT = PoolId {getPoolId = "\187\DC1L\179}u\250\ENQ&\ETX(\194\&5\163\218\226\149\163=\v\166t\165\235\RS>V\142"}}, metrics = ApiStakePoolMetrics {nonMyopicMemberRewards = Quantity {getQuantity =<PHONE_NUMBER>1815986}, relativeStake = Quantity {getQuantity = Percentage {getPercentage = 23 % 10000}}, saturation = 6.760052819161956e-3, producedBlocks = Quantity {getQuantity = 198}}, metadata = Just (ApiT {getApiT = StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "GPD"}, name = "Genesis Pool D", description = Just "Lorem Ipsum Dolor Sit Amet.", homepage = "https://iohk.io"}}), cost = Quantity {getQuantity = 0}, margin = Quantity {getQuantity = Percentage {getPercentage = 1 % 10}}, pledge = Quantity {getQuantity =<PHONE_NUMBER>000}, retirement = Just (ApiEpochInfo {epochNumber = ApiT {getApiT = EpochNo {unEpochNo = 1000000}}, epochStartTime = 2022-02-24 12:29:18 UTC}), flags = []},ApiStakePool {id = ApiT {getApiT = PoolId {getPoolId = "\ESC=\193\156j\184\158\175\252\133\SOH\243u\187\ETX\193\ESC\248\237]\CAN76\177\216\EOT\DC3\214"}}, metrics = ApiStakePoolMetrics {nonMyopicMemberRewards = Quantity {getQuantity =<PHONE_NUMBER>1815986}, relativeStake = Quantity {getQuantity = Percentage {getPercentage = 23 % 10000}}, saturation = 7.022136204613442e-3, producedBlocks = Quantity {getQuantity = 204}}, metadata = Just (ApiT {getApiT = StakePoolMetadata {ticker = StakePoolTicker {unStakePoolTicker = "GPB"}, name = "Genesis Pool B", description = Nothing, homepage = "https://iohk.io"}}), cost = Quantity {getQuantity = 0}, margin = Quantity {getQuantity = Percentage {getPercentage = 1 % 10}}, pledge = Quantity {getQuantity =<PHONE_NUMBER>000}, retirement = Just (ApiEpochInfo {epochNumber = ApiT {getApiT = EpochNo {unEpochNo = 100000}}, epochStartTime = 2021-01-03 20:29:18 UTC}), flags = []}])
  | Waited longer than 90s to resolve action: "metadata is fetched".
  | expected: [PoolId {getPoolId = "\180Wh\193\162\218K\209>\188\170\RS\165\DC4\b\237\163\GS\204!v\\\203\212\a\205\169\242"}]
  | but got: []
  |
  | To rerun use: --match "/API Specifications/SHELLEY_STAKE_POOLS/STAKE_POOLS_SMASH_01 - fetching metadata from SMASH works with delisted pools/"

Resolution

QA

Seen again in https://hydra.iohk.io/build/14522213.

Seen again:
https://github.com/input-output-hk/cardano-wallet/pull/3313#issuecomment-1148333772

Heinrich suggested that many of the recent failures of SMASH_01 really might have been #3440 in disguise.
This might be right, it seems like this is also a failure on its own (time will tell how frequent, after the #3444 fix). This is a failure from https://github.com/input-output-hk/cardano-wallet/pull/3362 before the Babbage cluster setup rework.
  src/Test/Integration/Scenario/API/Shelley/StakePools.hs:1227:25:
  1) API Specifications, SHELLEY_STAKE_POOLS, STAKE_POOLS_SMASH_01 - fetching metadata from SMASH works with delisted pools
       While verifying value:
         ( Status
             { statusCode = 200
             , statusMessage = "OK"
             }
         , Right
             [ ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "ì(ó=ËæÖ@
                         \x1e^3\x9bÐd|\x9sÊl\xcùÂ»æ\x83\x8dÆ" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity<PHONE_NUMBER>1473
                     , relativeStake = Quantity
                         ( Percentage
                             ( 377 % 1250 )
                         )
                     , saturation = 0.90479930298334
                     , producedBlocks = Quantity 746
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPA" }
                             , name = "Genesis Pool A"
                             , description = Nothing
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity<PHONE_NUMBER>000
                 , retirement = Nothing
                 , flags = []
                 }
             , ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "»\x11L³}uú\x5&\x3(Â5£Úâ\x95£=\xb¦t¥ë\x1e>V\x8e" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity<PHONE_NUMBER>9350
                     , relativeStake = Quantity
                         ( Percentage
                             ( 2201 % 10000 )
                         )
                     , saturation = 0.6604486193611492
                     , producedBlocks = Quantity 549
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPD" }
                             , name = "Genesis Pool D"
                             , description = Just "Lorem Ipsum Dolor Sit Amet."
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity<PHONE_NUMBER>000
                 , retirement = Just
                     ( ApiEpochInfo
                         { epochNumber = ApiT
                             ( EpochNo
                                 { unEpochNo = 1000000 }
                             )
                         , epochStartTime = 2023-02-17 18:41:05 UTC
                         }
                     )
                 , flags = []
                 }
             , ApiStakePool
                 { id = ApiT
                     ( PoolId
                         { getPoolId = "´WhÁ¢ÚKÑ>¼ª\x1e¥\x14\x8í£\x1dÌ!v\ËÔ\x7Í©ò" }
                     )
                 , metrics = ApiStakePoolMetrics
                     { nonMyopicMemberRewards = Quantity<PHONE_NUMBER>6603
                     , relativeStake = Quantity
                         ( Percentage
                             ( 3603 % 10000 )
                         )
                     , saturation = 1.0809649015941327
                     , producedBlocks = Quantity 725
                     }
                 , metadata = Just
                     ( ApiT
                         ( StakePoolMetadata
                             { ticker = StakePoolTicker
                                 { unStakePoolTicker = "GPC" }
                             , name = "Genesis Pool C"
                             , description = Just "Lorem Ipsum Dolor Sit Amet."
                             , homepage = "https://iohk.io"
                             }
                         )
                     )
                 , cost = Quantity 0
                 , margin = Quantity
                     ( Percentage
                         ( 1 % 10 )
                     )
                 , pledge = Quantity<PHONE_NUMBER>000
                 , retirement = Just
                     ( ApiEpochInfo
                         { epochNumber = ApiT
                             ( EpochNo
                                 { unEpochNo = 100000 }
                             )
                         , epochStartTime = 2022-07-24 10:41:05 UTC
                         }
                     )
                 , flags = []
                 }
             ]
         )

       Waited longer than 300s to resolve action: "metadata is fetched".
       expected: [PoolId {getPoolId = "\180Wh\193\162\218K\209>\188\170\RS\165\DC4\b\237\163\GS\204!v\\\203\212\a\205\169\242"}]
        but got: []

We see "Genesis Pool C" is there, with metadata and pool id matching "\180Wh\193\162\218K\209>\188\170\RS\165\DC4\b\237\163\GS\204!v\\\203\212\a\205\169\242". The problem is that the pool isn't delisted.
The comment here  https://github.com/input-output-hk/cardano-wallet/blob/c047261e9cd552e000951df9dcb72a126b536726/lib/core-integration/src/Test/Integration/Scenario/API/Shelley/StakePools.hs#L1212-L1213 suggests that flakiness previously was reduced by increasing the eventually timeout. Would increasing it again help?
And looking here https://github.com/input-output-hk/cardano-wallet/blob/c6a4dc157d09441d48a013fdd69b0ef8e00a33f0/lib/shelley/src/Cardano/Wallet/Shelley/Pools.hs#L1024
it seems like refetching of the delisted pools can only happen every six hours? The test obviously passes most of the times, but perhaps looking closer into the implementation at some point would help.


Tier 4 furnace recipe bug

I note the green furnace (tier 4) requires tier 5 loaders. Is this a mistake or by design?

Interesting, no this is not by design. must've missed that somehow

I will upload the fix to the Factorio website later today. Currently at work just doing a simple untested fix


Search loads very long on staging server

The deployed backend on the staging server needs very long to respond to a search query.
The local version is very fast (at least for me and @maxammann )

@Schedulaar is this tested, should I redeploy this?

I'm not sure whether I actually deployed it, but I could reproduce the slow loading behavior locally and fixed it locally


Allow comparing anything with null or undefined even when strict null checks are enabled

TypeScript Version:
1.9.0-dev.20160503
Code:
export function safeLibraryFunction1(arg: string) {
	if (arg == null)
		throw new TypeError(`Hi JS Consumer, I checked, it turns out the argument you
							 gave was a null or undefined`);

	if (typeof arg !== "string")
		throw new TypeError(`Hi JS Consumer, I checked, the argument you gave me wasn't a string..
							 seems like something went wrong in your program?..`);
	// ..
}

interface SomeType {
	a: number;
}

export function safeLibraryFunction2(arg: SomeType) {
	if (arg === undefined)
		throw new TypeError(`Hi TS Consumer, it turns out the argument was undefined.
							 I don't assume you're using strict nullability checks,
							 I know that could be a bit difficult thing to introduce
							 or you haven't even heard about it
							 so I also check at runtime :)`);
	if (arg === null)
		throw new TypeError(`Hi TS Consumer, it turns out the argument was null,
							 maybe you had an unsafe cast somewhere in your program
							 or you're not using strict nullability checks?
							 I already thought of that so I checked anyway ;)`);
	// ..
}

export function safeLibraryFunction3(arg: SomeType) {
	if (arg != null) {
		//.. do something
	}
	else {
		throw new TypeError(`Hi JS Consumer, I think about you all the time
							 that's why I put many safeguards in my program
							 to make sure that everything goes smoothly..
							 c'ya later..`);
	}

}

Expected behavior:
The comparisons work.
Actual behavior:
Operator `==` cannot be applied to type X and null

Operator `===` cannot be applied to type X and null

Operator `===` cannot be applied to type X and undefined

Operator `!=` cannot be applied to type X and null

(My projects are full of these errors when strictNullChecks is enabled)

Yup, this one is already on our list.


[Bug]: csrf token returns everywhere

ODC version
4.2.4
OB version
not related
What happened?
clear all cookies and visit any api that need login

as you can see, the api returns a xsrf token which is not expected~
What did you expect to happen?
we expect that only login and csrf token api can return this token
How can we reproduce it (as minimally and precisely as possible)?
follow 'what happened'
Anything else we need to know?
No response

'returns everywhere' was expected, we use cookie based csrf token repository.
the real problem was API csrfToken does not resutn xsrf token in cookie, fixed in odc v4.2.4bp2.


Quickfix: make fields in event subscription accessible publicly

Non-elegant quickfix: makes all event subscription fields pub s.t. they can be accessed and processed.
close #308

[ ] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[ ] Updated all code comments where relevant
[ ] Wrote tests
[ ] Updated CHANGES.md

Codecov Report

Merging #312 into master will not change coverage.
The diff coverage is 0.0%.

@@          Coverage Diff           @@
##           master    #312   +/-   ##
======================================
  Coverage    30.5%   30.5%
======================================
  Files         127     127
  Lines        4580    4580
  Branches     1416    1416
======================================
  Hits         1398    1398
  Misses       2215    2215
  Partials      967     967

Impacted Files
Coverage Δ

tendermint/src/rpc/event_listener.rs
0.0% <0.0%> (ø)

Continue to review full report at Codecov.

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


Keyboard navigation not working in UI menus

What happened?
Bug
When using the avatar settings menu and the ai model switcher menu, keyboard arrows and enter are not working as expected.
in the settings menu (accessible by clicking the avatar on the bottom left), arrows can navigate up and down correctly, however pressing enter on a highlighted option will not trigger the action. The only way to trigger the action is to click on it with the mouse.
In the ai model switcher arrow keys don’t move the focus to a model in the list and there’s no real way to select a model with arrows / or tab and enter.
Expected behaviour
What should ideally happen in both cases is that users are able to select things with the keyboard and activate them with enter.
For the settings menu, moving up and down works, enter just needs to trigger the item that’s selected.
For the model switcher there are two ways that this could be fixed:

Approach 1 - arrows similar to google search box: When the model switcher is open, default focus should be on the search bar, using arrow keys can select and highlight a model. The user can navigate up and down using the arrows to select a model. Pressing enter would activate the selected model, typing would enter text inside the search bar. If search returns no results, enter should do nothing. This is similar to how Google search works
Approach 2 - tab to shift system focus between list and search bar: When the picker is open, default focus is on the search box.  Pressing tab will transport focus from search box to list of models, from here the user could use arrows to select a model and press enter to confirm the selection and close the picker.

Steps to Reproduce
Settings menu:

Click the avatar on the bottom left to bring up the menu actions
Use arrow keys to highlight an option
Press enter to try to activate an item
Observe menu has dismissed, however action has not been activated

model switcher:

Click the button to select a ai model to bring up the picker
Press arrows or tab to try to move system focus
Observe how system focus doesn’t always highlight a model
Observe how enter does not activate a selection

What browsers are you seeing the problem on?
Firefox, Chrome
Relevant log output
No response
Screenshots
No response
Code of Conduct

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

Settings menu:

This is now working as intended, as is no longer reproducible

model switcher:

The issues you highlighted can no longer be observer
@thienautran We've been tackling some of these issue piecemeal, it would be helpful if you could help us track what's missing still in scoped issues
Please visit the a11y issues to view and maybe add anything you see missing, or even review the closed issues to see they are indeed resolved.
https://github.com/danny-avila/LibreChat/issues?q=is%3Aissue+is%3Aopen+label%3Aa11y


Update hello_world template

This patch updates the hello_world example to use gradle (and updates its Xcode
project file to match the current template).

@Hixie @jakobr-google

Blocked on https://github.com/flutter/flutter/issues/8178


fix the issue #973

Issue
WYSIWYG: When text is set to bold, it is not possible to change its color. #973
Pull Request Description
Summary
This pull request addresses the issue #973 where, after applying bold formatting to text in the WYSIWYG editor, users were unable to change the color of the bolded text.
Changes Made
Updated the text formatting logic to allow color changes to be applied to bolded text.
Ensured that the editor state correctly reflects both the bold and color attributes simultaneously.
Steps to Test
1.Open the WYSIWYG text editor.
2.Select some text and click the Bold button to apply bold formatting.
3.Then select the same text, click the Text Color button, and choose a color.
4.Verify that the text remains bold while the selected color is applied.
5.This fix ensures that users can now change the color of bold text without losing the bold formatting.
Outcome Screenshots
https://github.com/user-attachments/assets/d0124ac6-0fa8-4859-acb2-36c97004ed3a
Additional note
1.This modification allows the text font to change its color while being bold, fixing the previous bug
2.Please review the changes and let me know if any further modifications are needed.
Thank you for considering this update!

@zoltanszogyenyi

Original, it will show like the above Screenshots
https://github.com/user-attachments/assets/2681a9ef-68f2-48c3-b9e0-592077920992

This is a good fix for an edge case. Thanks for contributing! <3


fix: move ctor for command help class to its own function

@W-9708749@

Review comments captured in slack: https://platformcloud.slack.com/archives/C01U75RNU1G/p1631567124234900?thread_ts=1631553503.228700&cid=C01U75RNU1G


Roll engine 7dfdfc6faeb6..d0698f275e5a (1 commits)

git@github.com:flutter/engine.git/compare/7dfdfc6faeb6...d0698f275e5a
git log 7dfdfc6faeb6..d0698f275e5a --no-merges --oneline
2019-08-13<EMAIL_ADDRESS>Roll src/third_party/skia f99631100372..6ef31815a694 (3 commits) (flutter/engine#10976)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (stuartmorgan@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/4742593567522816 , https://cirrus-ci.com/task/6449035613831168

Commit queue failed; closing this roll.


"Unknown error occurred" and HA crashes when adding new device in Dreame Vacuum beta

After entering the credentials for the Dreame App, my device is shown (see attached), but when I "send" the info, the error "Unknown error occurred" is thrown. HA restarts (the extension crashes HA).
To Reproduce
Install Dream Vacuum Beta 2.0.0b14
Register L10s Pro Ultra Heat with the Dreame App in iOS (in Europe)
Use the eu Dreame server in the extension to register the device in HA
Expected behavior
Registration is successful
Screenshots

Additional Information (please complete the following information)

Model Name [e.g. dreame.vacuum.p2028]: L10s Pro Ultra Heat
Firmware Version [e.g. 1156]: 4.3.9_1524
Home Assistant Version:
Core 2024.5.4
Supervisor 2024.05.1
Operating System 12.3
Frontend 20240501.1
Configuration Type [With or without map support]: With map support
Errors or warnings shown in the HA logs (if applicable):

No, unfortunately, there are no logs to be found in the system log.

It should. No indication of memory problem in the logs.
It's a RaspberryPi 4 2GB.
System Information: ~78% memory utilisation (1.4/2GB)


Low priority of recipe-led-tests builders causes TIMED_OUT

Now recipe-led-tests is with a lower priority when scheduling builders, and this will cause TIMED_OUT:
https://ci.chromium.org/p/flutter/builders/try/recipes-with-led/b8866966661549953824?
https://chromium-swarm.appspot.com/task?id=4f234cd1eda1ad10&o=true&w=true

@mohrr do you know why we get different priorities from the led-tests?

See http://crbug.com/438394. Basically this is by design in led, but they're open to options to change it. I fixed it in Fuchsia with https://fuchsia-review.googlesource.com/c/infra/recipes/+/438394.

Does the -10 needs to get decreased to -20? the original builds have a priority of 30 but the ones triggered by led tests have a priority of 40.
As your change is in the recipe module flutter recipe led tests should be already using your change.

My change went into Fuchsia after this issue was filed. It's probably no longer an issue for you.

ok, I'll fork the module to flutter recipes to give it a try

I haven't seen this issue in a very long time. Closing as obsolete.


Ways on different layers flagged because they cross but don't share a node

Description
When two highways with different layer tags cross but don't share a node Rapid is indicating that this is an issue. For many highways this is perfectly acceptable. Maybe the logic is expecting a bridge or tunnel??? in parking building with multiple layers people end up just adding tags to all the ways to indicate the layer.
Version
2.0.3
What browser are you seeing the problem on? What version are you running?
Chrome v115.0
The OS you're using
mac
Steps to reproduce
go here and look at the "issues"
https://rapideditor.org/rapid#background=NC_Latest_Ortho_Natural&datasets=fbRoads,msBuildings&disable_features=boundaries&id=w759921673&map=20.61/35.82127/-78.62064
The browser URL at the time you encountered the bug
https://rapideditor.org/rapid#background=NC_Latest_Ortho_Natural&datasets=fbRoads,msBuildings&disable_features=boundaries&id=w758004645&map=20.44/35.82125/-78.62064
The auto-detected useragent string for your browser (leave blank if you're manually filling this form out)
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36

@atiannicelli there are a LOT of issues displayed in the UI at this location, so I'd like confirmation of your issue.  Let me know if this is the kind of thing you mean:

Two parking aisles:

one aisle at level 2, shown selected, way id w758004645
one at level 0, not selected, way id w759921673, perpendicular to the first but not connected

Confirm that you think this shouldn't be called out as a warning, as ways on different levels may or may not connect with one another.
@bhousel what do you think about this one?

I agree that ways with different level tag shouldn't be flagged for crossing without a connection 👍
Sounds like a regression!

I just re-tested this on rapid v1, and it did the same thing there. I wonder how long this has been a regression for...

This should be the case for probably all things right?  not just highways?

This should be the case for probably all things right? not just highways?

Great question. I'm currently reading about levels, layers, bridges, tunnels, etc.  and thinking about this a bit more to see what cases I'm missing.

yeah watch out
layer is for the road/bridge/tunnel arrangement
level is for what floor inside a building the feature is on.
I guess this issue is about level in a parking garage.  (Sorry, I was confused and read too quickly!)

Hopped on a quick call with @atiannicelli  to show him the new validation behavior- he approves.

Hopped on a quick call with @atiannicelli to show him the new validation behavior- he approves.

Awesome!  thanks for the quick fix!   🙌


adjust pipeline env usage as example and verify/test new approach

detais:
https://github.com/zebrunner/pipeline-ce/issues/240
we have to remove all jenkinsPipelineEnvironments params from sute xml files. Also we have to review and adjust matrix for those cases where this particular param was used as a filter.

merged to master. to test we have to run using ZEBRUNNER_VERSION=develop pipeline all our cron regression jobs. All jobs should be started and executed as earlier without any exceptions on launch

Verified, fixed.


lm:install, credential helper not configured when using ~/.config/git/config

Describe the bug
Running netlify lm:install did not install correctly since I am using ~/.config/git/config for my global config. I manually added it to my config but was unable to use LFS (kept getting a credential prompt) before doing so.
To Reproduce
Steps to reproduce the behavior:

Use ~/.config/git/config for global git config.
Run netlify lm:install
See that the credential helper is not installed

Expected behavior
Credential helper is installed.
Additional context
I think this line is the culprit. A baked in assumption about where the git config lives.
https://github.com/netlify/cli/blob/bc47458f32bffe14e5ecf90d1a30b150931e907d/src/utils/lm/install.js#L163
See the git reference manual for valid global git config locations: https://www.git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

Large Media is being deprecated


Enchanment New Bot

Web Automation Absensi With Node JS
Author : https://github.com/afdipratama

Done


XEP-0114 Added XMPP component support.

Why do you close this?

it was not complete and not working properly. Will PR later.


Expose channel_arg  "grpc.compression_level" in core.

I think most wrapped languages will want to only expose compression_level enumeration (and not compression_algorithm) in the public API (otherwise things get unnecessarily complicated). This works fine until the point when user wants to set compression for a server/channel - which is done by a channel argument. Currently core only exposes channel argument "grpc.compression_algorithm", which is somewhat unfortunate.
If given wrapped language exposes the channel arguments API directly (I think most of them do, C# definitely does), there is no way of hiding the fact that channel argument actually sets compression algorithm instead of compression level (because user has control over the channel arguments he is passing down) and I think attempts to wrap the compression_algorithm arg to look like it's actually compression_level arg will just result in ugly code. If I could set grpc.compression_level arg instead, the user could happily use the enum CompressionLevel as the argument value and things would make more sense.

We will get to this, but there's no chance of a sensible implementation before beta, and I'm not keen to expose a broken implementation as our only api.

Ok, does that mean I need to come up with a workaround for now (and remove that workaround from the API once the right channel argument is available)? Probably yes.
Btw, it looks like C++ currently exposes  API to set compression level (or compression algorithm) for ClientContext and ServerContext  but is doesn't really look like the values set there are actually used anywhere. Does that mean we don't support disabling compression for Unary request and unary response calls? (For streamed responses, you can use the WriteOptions argument when writing a message, but for "unary write", it seems like you cannot).

@dgq is this done now?

yes


Graphics Menu Error

Describe your problem here.
While trying to compile the mod, test it and test the options menu, I found out that pressing GRAPHICS instantly give me an error and closes the game.
To be more specific:
options/BaseOptionsMenu.hx (line 262)
flixel/FlxState.hx (line 203)
flixel/FlxState.hx (line 212)
flixel/FlxGame.hx (line 747)
flixel/FlxGame.hx (line 677)
flixel/FlxGame.hx (line 545)
openfl/events/EventDispatcher.hx (line 402)
openfl/display/DisplayObject.hx (line 1399)
Uncaught Error: Null Object Reference
Please report this error to the GitHub page: https://github.com/ShadowMario/FNF-PsychEngine

Crash Handler written by: sqirra-rng

I know this doesn't look like much but is there any suggestions/fixes I can do in order to actually "get into" the graphics menu? Because for instance if people wanted to turn off shaders for the mod, they'll come complaining to me with the error.
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Shaders.Hx, Freeplay.Hx, PlayState.hx and GraphicsSettingsSubState.hx

wtf a shaders.hx

BaseOptionsMenu.hx checks in line 262 if boyfriend isn't null so you probably deleted the bf.json file

Looks like the error's called because boyfriend.animation.curAnim is null, are you sure you've called an animation?

I got it fixed, thanks.


urldecode accepts /

Google will return code that contains /. e.g.
code=4/cTNtTyH3Z4I9bZ-PB-evnAi3W4MGOvRD3_diE-sdQ-Q

why did you close this?


Issue with Strong Parameters??

I love this gem and have successfully used it for several years.  For some reason, I just started getting this error:
ActionController::UnpermittedParameters in Admin::PostsController#create
I tried adding :_wysithml5_mode as a permitted param, but that did not work.
I'm running:
activeadmin 1.0.0.pre2
Rails 4.2.4
Ruby 2.2.3
Thanks in advance.

What parameters are you sending?
I'm loading this up in a similar configuration as we speak. I'll touch back with what I find.

Reporting back:
I can't reproduce this out of the box. Here are the parameters I'm sending,
Parameters: {"utf8"=>"✓", "authenticity_token"=>"YaNEO9yK5082BhkcPZvwnxhffhUZjyV9+RgoFs5j8mwA08EdGMKEXEz7gMX8Ws62BmXdacDajv6KQ0l4TOqEwQ==", "news_item"=>{"title"=>"cool man bro", "content"=>"
asdf
", "donators"=>"1"}, "_wysihtml5_mode"=>"1", "commit"=>"Create News item"}
I don't think you'll need to pass _wysihtml5_mode as a param unless I'm missing something very obvious.

Sorry for the delayed reply.  I am seeing the following:
{"utf8"=>"✓",
 "authenticity_token"=>"96WVpfxuZyqHvWlkNUuznYoyS/zal1xy2nrTM6SEi4yqJILK6UWKKCuTYXGWmmCH4UYUAUPwzB4ZUlh3WoqmSg==",
 "post"=>{"author"=>"test author",
 "title"=>"test title",
 "body"=>"
test rich text editor
"},
 "_wysihtml5_mode"=>"1",
 "commit"=>"Create Post"}

+1 on this. Works perfectly on one of my apps but error just started appearing on the other.

Anyone have another solution for this?  Another HTML editor for AA?  This is a blocker for me.

This workaround works.
module ActiveAdmin
  class ResourceDSL < DSL
    def permit_params(*args, &block)
      resource_sym = config.resource_name.singular.to_sym
      controller do
        define_method :permitted_params do
          params.permit :_method, :_wysihtml5_mode, :authenticity_token, :commit, :id, :utf8,
                        resource_sym =>
                        block ? instance_exec(&block) : args
        end
      end
    end
  end
end


Create Python template for Networking Standard

Should include;

Data model
Base class
Base class for connectivity provider should be separate, not included by default
Images

Done


flatland: 1.3.2-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository flatland to 1.3.2-1:

upstream repository: https://github.com/avidbots/flatland.git
release repository: https://github.com/avidbots/flatland-release.git
distro file: noetic/distribution.yaml
bloom version: 0.11.2
previous version for package: null

New package (previously attempted in  https://github.com/ros/rosdistro/pull/36005 ).


AttributeError: 'Cursor' object has no attribute 'callproc'

Driver version

Redshift version

PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.29551
Client Operating System

Windows 10
Python version

Python 3.7.3
Table schema

create or replace procedure stage.sp_truncate(tables character varying)
language plpgsql as $plpgsql$
Problem description

Expected behaviour:
Actual behaviour:
Error message/stack trace:
cursor.callproc('stage.sp_truncate', tables)
AttributeError: 'Cursor' object has no attribute 'callproc'
Any other details that can be helpful:

Python Driver trace logs

Reproduction code

It seems the callproc() method is currently un-implemented. The team will work to add this functionality to the Cursor class. thank you for bringing this issue to our attention!

@dburtsev -- support for callproc() will be included in our next release, scheduled for August 30th.

@dburtsev , release v2.0.886 has been made and contains support for this method. Please open a new issue if you experience any issue using callproc(). Thanks!

@dburtsev -- support for callproc() will be included in our next release, scheduled for August 30th.

how can i solve this problem??


How about adding dotenv to benthos

Not sure if this is go thing or not ... but it might be nice to add a dotenv parser to the project (eg. https://github.com/joho/godotenv)
We are building a rather large project with a number of ENV vars that need to be set (mostly hostnames, credentials, etc).
During production these vars are injected automatically, during development it would be nice to have them read out from a local .env file (which is not commited to git)

That would be a great feature :) I've been battling with setting up the environment for the past day, it would be nice if it was a file we could pass to benthos during it's startup.

Done https://github.com/Jeffail/benthos/commit/c58f76e313b6ec147bcc270323e87a25c261a655


Change to NPM configuration today maybe causing issues

Hey, so starting today, vanilla Cookie Consent started misbehaving in a few ways that I suspect are related to the changes in the way it is being distributed via NPM.
We are using version 2.7.0, and on every deploy, we pull the code down from npm via yarn, and deploy the code from the dist directory. After a deploy earlier today, we got reports of issues from users, which you can read in the following discussions:
https://boardgamegeek.com/thread/2891715/pages-not-displaying-older-apple-oss
https://boardgamegeek.com/thread/2891626/your-privacy
Since we hadn't changed anything related to Cookie Consent, it was pretty confusing, until I tried loading up the site in firefox 78, and saw that now the minified js was using the logical OR assignment (||=), even in the version 2.7.0 code. This was not supported by Firefox until version 79.
The problems reported in the second thread did not seem to be directly related to users using incompatible older browsers--the site was working, but they were having trouble saving the consent preferences. I don't know exactly what caused this issue, but it can't be a coincidence that this bug came up at the same time as the other one.
For now, we are solving this problem by compressing the js from src ourselves, and deploying it. But there is definitely some issue with the way this package is being distributed.
I hope this is a helpful report. Let me know if you have any other questions about it.

Thanks for letting me know!
Looks like there was an issue with the minification tools' config. parameters. I'll make sure the minified output is in es5 format and that it runs in IE9-IE11.
Will release a minor revision soon.

OK, just to give you a quick correction on my initial report, I was inadvertently using the "latest" version of Vanilla Cookie Consent.
When version 2.8.1 went out yesterday, two things happened. As reported in
https://boardgamegeek.com/thread/2891715/pages-not-displaying-older-apple-oss, the code stopped working entirely on old browsers, probably due to minimization. I fixed that by deploying src instead.
However, there was a separate issue, https://boardgamegeek.com/thread/2891626/your-privacy, that was NOT fixed by deploying src. I think that this may be a legit bug in 2.8.1, separate from the minimization, that occurs for users in modern browsers, but I cannot reproduce it myself.
For now, I'm rolling back to 2.7.2 on production to try to avoid this other bug. Sorry I don't have more details about it, but perhaps by reading that thread, you may get some idea of what the issue might be.

v2.8.2 fixes the minified files.
I was not able to reproduce the issue described in the second thread. If v2.7.x works fine for you, you might as well stay with it. v2 will no longer receive feature updates, only bug fixes — as I'd like to focus on v3.


[Question] - In memory files

Is it possible to provide the files to madge from an in-memory store rather than it going off to disk?
UPDATE: tracking status of dependencies here before work on madge could begin:

[x] Precinct - PR https://github.com/dependents/node-precinct/pull/52
[ ] Cabinet PR - https://github.com/dependents/node-filing-cabinet/pull/68
[ ] node-dependency-tree

Hey! Interesting question. You might be able to use mock-fs and invoke madge programmatically. As in, invoke mockfs then use madge in a node script. I'm not sure how you'd do it via a cli invocation of madge.

Thanks I will take a look at mock-fs.
Other libraries I have integrated with so far, like rollup and requirejs have plugins for this use case. For example: https://github.com/rxaviers/requirejs-memfiles or https://www.npmjs.com/package/rollup-plugin-hypothetical - however if this mock-fs will do the job without any special effort on the part of madge then so much the better :-)

Actually, perhaps there is something that lets me create a virtual filesystem, with in memory files layered on top of physical files. Let me try: https://www.npmjs.com/package/memfs

Nope, so I managed to do some interesting stuff with https://github.com/streamich/unionfs like create a virtual filesystem (object implementing fs API) that is backed by multiple sources such as mem-fs as well as node's physical fs. However I have no way to pass this union-fs instance to madge. The mock-fs shadows nodes own fs implementation meaning there is no need to pass an instance to madge - but that has the side effect that all dynamic imports then fail, as node_module dependencies can't be loaded, and this is just too much to mock up just to be able to provide a couple of module file contents from memory.
I think at this point, the nicest change would be to allow an fs instance to be provided via options and if it is, then madge can use that for file system access rather then node's default fs. This will provide great flexibility by allowing union-fs instances to be passed in that blend files from various sources if need be.. What do you think?

Thanks for trying a few solutions. What's the reason for needing the in memory version of the files? Can you provide a bit more context that led to the need?
Curious if it's super custom or a generic use case that we're just encountering. Thanks in advance.

Thanks a ton for the context. That's helpful info to reason about the need.
I think support is required at many layers for this. Madge may have some fs interactions, but the core of it is likely done at deeper layers like node-dependency-tree, node-precinct, and node-filing-cabinet. I'd start reading through dependency-tree and you'll probably need to pass an fs object as an option to the call to precinct.paperwork(). Then submit a patch to node-precinct to use that fs object instead of the default fs import. That may be all that you need in core changes; changes to madge and dependency-tree would be accepting and propagating the fs option down.
Happy to review PRs for dependency-tree all the way down. You'll need @pahen's blessing for the madge proper changes.
As a last part towards your previous workarounds, you can try using https://www.npmjs.com/package/rewire to theoretically replace the fs used all the way down. Maybe worth a try before you have to go deep.

Thanks a lot for the Rewire suggestion, if I can get that working it shpulf be a much easier path, I'll give that a go first ;-)

Interesting use case for Madge. I'm gladly accepting a PR to support this option :)

@mrjoelkemp rewiring the various modules is a bit tricky. Some of the require(fs) calls are themselves in functions, making them hard to replace with rewire (based on my novice skill level anyway!)
So I am starting my journey through the stack like you mentioned, have started with precinct paperwork  :-)

Is this something you still work on @dazinator ? Or can we close this issue?

Still going.. progress stopped for a while whilst waiting on downstream dependency but that's unblocked now so I intend to resume this in the near future.

Ok, cool :)

Hi @iddan - no I am no longer actively working on this.
I got quite far with it, including getting a bunch of the underlying dependencies changed to support the feature and then building upon them, with tests.
I was still working in completing node-filing-cabinet however, as per this issue here - much of it was working but there were some remaining tasks: https://github.com/dependents/node-filing-cabinet/pull/68
Also the file-exists dependency the author never replied. I forked it and made changes to allow a custom fs to be supplied, published my fork to npm and built on that version: https://github.com/dazinator/file-exists
For me, the original use case is not pressing, - would have been a nice to have, but I have now moved on. If someone did want to pick this up, I could provide info, otherwise, it could be dropped.


Event aggregator sample deprecated

Q
A

Bug fix?
yes

New feature?
no

New sample?
no

Related issues?
fixes #X, partially #Y, mentioned in #Z

What's in this Pull Request?
Deprecation message added to the README file and the web parts as well. Recommendation added for dynamic data to be used instead.

Good approach as code might be useful for SP2016 or SP2019 environments where the dynamic data is not available.


Slightly unexpected tab stop behaviour

Testing #116559
This was probably done for a reason because we used to stop at very action but maybe we should revisit this now?

Agree 100%, however I already filed an issue for this https://github.com/microsoft/vscode/issues/116454
fyi @JacksonKearl would be cool if we find time next milestone for this


Cups server slow and unresponsive every 90 seconds or so

Centos 7.6
Cups 1.6.3
Hello, I've noticed a weird issue with my cups server recently. The cups daemon and cups commands are very unresponsive after cups has been running for around 90 seconds or so. If I try to get to the cups GUI, that'll be unresponsive. If I try to run simple commands like lpstat -d, that will also be very slow and unresponsive. This is making it so if I want to print I need to restart cups  every single time.
A couple of things I've noticed:
Whenever I run lpstat -d after I restart cups it will tell me the default printer I have set, but when cups starts bugging out it will just say "no system default destination"
On my linux workstations, no printers will populate in the printer settings unless I restart cups and then after 90 seconds they will disappear again.
I know this issue doesn't have to do with harddisk space or memory as those seem to be fine. I spun up a new server and installed cups on there, it worked fine for about a week before it started bugging out again.
I've done some searching online, it seems like this was an issue that was resolved in later versions of cups, but 1.6.3 is the latest version available for Centos 7 afaik
I've checked the logs and they keep looping over and over again like this:
D [14/Sep/2020:13:28:44 -0700] Get-Notifications /printers/ D [14/Sep/2020:13:28:44 -0700] Get-Notifications client-error-not-found: Subscription #290 does not exist. D [14/Sep/2020:13:28:44 -0700] Returning IPP client-error-not-found for Get-Notifications (/printers/) from <IP_ADDRESS> D [14/Sep/2020:13:28:44 -0700] cupsdSetBusyState: newbusy="Not busy", busy="Active clients" D [14/Sep/2020:13:28:45 -0700] [Client 88] POST / HTTP/1.1 D [14/Sep/2020:13:28:45 -0700] cupsdSetBusyState: newbusy="Active clients", busy="Not busy" D [14/Sep/2020:13:28:45 -0700] [Client 88] No authentication data provided. D [14/Sep/2020:13:28:45 -0700] [Client 88] 1.1 Get-Notifications 5767
Any help is appreciated

This is an old bug in the GNOME printer status monitor.

What's the fix? I've upgraded my server to CentOS 7.9 and I'm still having this problem

Hi,
please consider the following points:

This is a former upstream issue tracker, not CentOS bug tracker - if the issue is closed here doesn't mean it is fixed in CentOS
consider filing an issue on CentOS bug tracker under RHEL component.


WIP: batched jobs with subclassed worker

@Tapjoy/eng-group-services
@StabbyCutyou
Here's the beginnings of an implementation of batched job handling using a subclassed worker. To use this, simply configure your chore consumer/worker process with the new batched strategy, and implement the perform_batch method on your jobs.
Looking for feedback on the approach here.
Todo:

specs
docs (comments and otherwise)
partial failure handling (maybe #perform_batch should accept a map of job id => body, and return a report of job_id => status?)
maybe some more refactoring around #perform_batch
maybe Job should be subclassed to BatchJob with better primitives around partial failure/success handling?

makes sense to me

General feedback - is there a way to make the BatchedConsumer inherit more from the original worker, so we don't need to re-define the entire thing? Or do you think that makes it too complex to implement?
One thing I never liked about this was the overloading of the term "batch". We technically now have it twice - Once for the original use (the "batcher" in the forked worker) and now here. Worth the 5 minutes to think of a name that still expresses the same intent, but isn't overloading the term "batch"?

This is instead being written as a "plugin".


[YOM-592] incomplete files is slowing down performance. Make an option for run on edit and run on save.

null
YOM-592

It is reanalysing the file on every edit. This is unnecessary.

this is done


Add a link to astropy tutorials

Does anyone else know of other examples of spectral-cube in use in the wild?  Besides things like cubeviz...

Coverage remained the same at 77.461% when pulling f7a57a2f6542af0d82fd29895f475b47e26ff69c on keflavich:link_astropy_tutorials into 3d071dac6c11e6a8b0bace4ea2898478b5409a01 on radio-astro-tools:master.


Reminder in google calendar extension doesn't work with google keep

What steps will reproduce the problem?

Create note item in google keep with reminder event

What is the expected result?
I want to see the reminder event in google calendar extension
What happens instead?
I don't see the event in extension, but I see directly in google calendar
System Information:

Version: Google Chrome for Windows x64 version 62.0.3202.94
Gogle calendar(by Google) extension for chrome versione 2.8
Language: Italian
Timezone Offset: +1

Same here 😢


Set DT refresh cycle to 10 seconds

@ammendonca Did a quick test and looked like it still worked ok - is it ok with you?

Sure. Possibly in the future this should be configurable


ReadOnly stuffs make many troubles

When I use captured list or dict by sacred, they often make troubles. (Using pickle, for example.)
I saw a few issues like that, but it seems that they have not solved yet, because of config overriding issues which can be caused by removing ReadOnly stuffs completely.
I think it just can be solved by copying. I think it can be implemented easily, by just modifying capture function only. I mean, when list or dict is used as captured arguments, just copy them and pass to functions, if config overriding issues are critical. In fact, for all cases causing troubles as above, I'm using deepcopy for troubleshooting.
I'm not sure it is a nice solution as I don't know much about core codes of sacred. And I'm not sure if there are other troubles caused by ReadOnly stuffs. If so then this issue cannot be solved completely by modifying capture function.
So, it is a just weak suggestion. I hope you kindly consider it.

Hey @tatari-p, I strongly agree that the current situation with the read-only stuff makes a lot of trouble, and we have to do something about it!
When we tried to solve the issue that modifications to the local config could alter the global config we had long discussions about this in #472. We didn't expect the read-only stuff to cause this many troubles, and I currently actually always disable them by setting SETTINGS.CONFIG.READ_ONLY_CONFIG = False. We decided against copying on every function call because people might be capturing frequently called functions, and with large configs this can cause unnecessary overheads.
Looking at the current situation, the read-only types are often basically unusable as they are. It might be worth taking a look at what doesn't work with them:

pickling (#499, #492)
apparently, deepcopy fails in some cases (#498)
Sometimes they cause additional "message" keys to show up in the config (#756)

Solutions that I can think of:

Fix read-only types to support deepcopy and pickling
Add an option to deepcopy on every captured function call instead of using the read-only types

I would like to have some solution to this before pushing the next version to PyPi, but I don't want to decide what to do on my own.

@thequilo Thanks for your great effort.
I think there is some nice solution somewhere solving those problems with avoiding config-override problem but maybe it is not easy anyway.

Fix read-only types to support deepcopy and pickling
Add an option to deepcopy on every captured function call instead of using the read-only types

Either solution would work fine for my use case (I don't pass around any humongous objects around with Sacred capture so overhead is minimal).
Just to flag @shwang made a PR that addresses the pickling aspect of the first one in https://github.com/IDSIA/sacred/pull/737 I think he's probably happy to polish that off -- if not I'm also happy to work on it if that's the solution we settle on.

@AdamGleave @shwang Would be great to see pickling support and I would be happy to accept a PR for it! We just have to be very careful not to introduce any more troubles with the read-only types. Especially, I'm not sure if it makes sense to pickle the type (i.e., load as a read-only container) because after pickling we already made sure that the global config is not modified.

@AdamGleave @shwang Would be great to see pickling support and I would be happy to accept a PR for it! We just have to be very careful not to introduce any more troubles with the read-only types. Especially, I'm not sure if it makes sense to pickle the type (i.e., load as a read-only container) because after pickling we already made sure that the global config is not modified.

I'm not sure I understand the concern, could you elaborate? For context, the main case where I've ended up wanting to pickle ReadOnly{Dict,List} is when performing distributed execution, where a natural pattern is to pickle the relevant parts of the configuration and send it to other workers.

This really depends on the use-case. If you perform distributed processing, I agree that the type should be kept. Otherwise, in the worst case, we could end up with different configs in different processes.
I first thought of saving the configuration in pickle files (e.g., you can store custom data into a PyTorch model, which uses pickle). And when that config is loaded, you most of the time don't want it to be read-only. But we can argue that it's the user's fault to not copy it before saving.

I first thought of saving the configuration in pickle files (e.g., you can store custom data into a PyTorch model, which uses pickle). And when that config is loaded, you most of the time don't want it to be read-only. But we can argue that it's the user's fault to not copy it before saving.

I see, that makes sense. We could also provide some convenience method save() with a flag for whether or not to preserve type. But I'm not sure it's worth it when copying is so simple.

yaml representation could be fixed by adding the following code. Not sure if this is too hacky, but munch does a similar thing. This saves as list and dict types:
def read_only_dict_representer(dumper, data):
    return dumper.represent_dict(data)

def read_only_list_representer(dumper, data):
    return dumper.represent_list(data)

yaml.add_representer(ReadOnlyDict, read_only_dict_representer)
yaml.add_representer(ReadOnlyList, read_only_list_representer)
yaml.SafeDumper.add_representer(ReadOnlyDict, read_only_dict_representer)
yaml.SafeDumper.add_representer(ReadOnlyList, read_only_list_representer)

yaml representation could be fixed by adding the following code. Not sure if this is too hacky, but munch does a similar thing. This saves as list and dict types:

I'd be in favor of this change. I don't have much reason to use YAML with Sacred configs personally but it seems nice to have support. The only alternative I'm aware of is making ReadOnly* inherit from yaml.YAMLObject which seems more hacky.

I believe that the issues here are resolved, so this issue can be closed!

I believe that the issues here are resolved, so this issue can be closed!


FIRST & LAST do not work for string values

Bug report
InfluxDB 0.12.1
Ubuntu 14.04 LTS (Amazon Web Services)
Steps to reproduce:

Add some measurements that have both string and floating-point values...
`
target,id=1 position="1283.002N 0213.2293E",speed=12.02
target,id=1 position="1283.002N 0213.2293E",speed=12.05
target,id=1 position="1283.003N 0213.2294E",speed=12.14

Run a query to get the latest values...
SELECT LAST(speed), LAST(position) FROM target GROUP BY id
SELECT LAST(speed) FROM target GROUP BY id;
SELECT LAST(position) FROM target GROUP BY id
`

Expected behavior:
In the three queries, I'd expect to see...
a) Both the most recent speed and the most recent position
b) The most recent speed
c) The most recent position
Actual behavior:
a) The 'position' column is empty (unexpected)
b) The most recent speed (expected)
c) No rows returned (unexpected)
Additional info:
I of course understand why aggregation functions such as MEDIAN, MEAN etc. don't work on strings, as that makes no sense. Even some selectors have little practical purpose on strings. However, since there's no need to perform any actual calculations on the string values in a FIRST or LAST query, they really should work return the expected values.

Both first() and last() seem to work on strings for me.
> create database mydb
> use mydb
> insert target,id=1 position="1283.002N 0213.2293E",speed=12.02
> insert target,id=1 position="1283.002N 0213.2293E",speed=12.05
> insert target,id=1 position="1283.003N 0213.2294E",speed=12.14
> SELECT LAST(speed), LAST(position) FROM target GROUP BY id
name: target
tags: id=1
time    last    last_1
----    ----    ------
0       12.14   1283.003N 0213.2294E

I had a similar issue; it would sometimes and sometimes not... i doubted my very sanity until i found how to make it work and make it not work. Your case is based on tags, so its different, but the pain i share
https://github.com/influxdata/influxdb/issues/6446

It looks like this may have been the same as #6495 and would have been fixed by #6539. If this problem still exists after upgrading to 0.13, please comment here so I can reopen the issue. Thanks.


CSS Not Applying on Donate Module

ZIP and postal code field should be shorter.

Because we switched back to Paypal (https://github.com/DoSomething/phoenix/issues/4838#issuecomment-135792333) I'm going to assume this is low priority for now @mikefantini ?

yup definitely. thans @deadlybutter

going to close until/if we switch back to stripe


Only compress conjugations.json?

The only file that ever gets used in its compressed form is conjugations.json.gz. The data files are compressed but the software only reads the uncompressed version.
I suggest we change wordweaver compress to only compress conjugations.json and that we remove the other *.json.gz files from the repo.

Current partial solution: we compress everything, but the only compressed file that's not excluded by .gitignore is congations.json.gz. Same effective result in the end.


list.eo:62-67: Wrong order of the attributes of object...

The puzzle 181-fed906c0 from #181 has to be resolved:
https://github.com/objectionary/eo-collections/blob/d1ff03e4933b8549713b6b640aafe38feac61c0f/src/main/eo/org/eolang/collections/list.eo#L62-L67
The puzzle was created by @maxonfjvipon on 01-Jun-23.
Estimate: 30 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

@0pdd the puzzle #189 is still not solved.

@0pdd 2 puzzles #189, #194 are still not solved.


Add ProductHunt.app (1.0)

Adding a new cask

[x] Checked there aren’t open pull requests for the same cask.
[x] Checked there aren’t closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] Commit message includes cask’s name.
[x] brew cask audit --download producthunt is error-free.
[x] brew cask style --fix producthunt left no offenses.
[x] brew cask install producthunt worked successfully.
[x] brew cask uninstall producthunt worked successfully.

Fixed as comments. I thought no dash would make more sense since it matches their domain name.

I thought no dash would make more sense since it matches their domain name.

The token reference is very explicit why opinions can’t be taken into account and instead we have strict rules. It’s the way to prevent duplicates, which used to be a huge issue.


ScheduledTask: Synchronize across time zone support

Pull Request (PR) description
The ScheduledTask resource currently has no support to set the "synchronize across time zone" checkbox which is available in the Scheduled Task GUI. To make matters worse, the behaviour is also different between operating systems. When the scheduled task resource executes on W2012R2 this option is disabled by default, but when executed on W2016 the option in suddenly enabled.
As the issue that is open for this problem mentions, this also impacts the time the scheduled task is executed when there are daylight savings time changes, like the upcoming one the end of October. Would be great if we can merge this one for the next DSC Resource Kit Wave release (24th of October).
This Pull Request (PR) fixes the following issues

Fixes #109

Task list

[X] Added an entry under the Unreleased section of the change log in the CHANGELOG.md.
Entry should say what was changed, and how that affects users (if applicable).
[ ] Resource documentation added/updated in README.md in the resource folder.
[X] Resource parameter descriptions added/updated in schema.mof
and comment-based help.
[X] Comment-based help added/updated.
[X] Localization strings added/updated in all localization files as appropriate.
[X] Examples appropriately added/updated.
[X] Unit tests added/updated. See DSC Resource Testing Guidelines.
[X] Integration tests added/updated (where possible). See DSC Resource Testing Guidelines.
[X] New/changed code adheres to DSC Resource Style Guidelines and Best Practices.

This change is

Codecov Report

Merging #185 into dev will increase coverage by <1%.
The diff coverage is 87%.

@@         Coverage Diff         @@
##           dev   #185    +/-   ##
===================================
+ Coverage   90%    90%   +<1%
===================================
  Files        7      7
  Lines      724    739    +15
===================================
+ Hits       657    671    +14
- Misses      67     68     +1


fix docs for async-pattern.md

Fixes and expands on the docs for the async pattern.
fix: template
enh: guide for CLI and curl

can you point me to what is failing?
i couldn't really understand

See details in https://github.com/argoproj/argo-workflows/actions/runs/4586747576/jobs/8099799966?pr=10806
You also deleted the template in your PR description. It has instructions: https://raw.githubusercontent.com/argoproj/argo-workflows/master/.github/pull_request_template.md

cleaned up the loose ends (retested stuff)
no idea how git diff --exit-code is supposed to produce a 0 for a change that DID happen for docs
something else is failing within the build checks
so what do we do guys?

no idea how git diff --exit-code is supposed to produce a 0 for a change that DID happen for docs

The diff is run on top of your commit. It runs on every PR and does work correctly. This is also a fairly common CI pattern.
Per the logs, it runs make docs and then git diff --exit-code. If it fails, that means that make docs produced a diff, meaning it hadn't been run locally. In this case, it looks like lint errors from markdownlint were not fixed


Use migration instead of schema for installs to ensure compatibility with structure.sql

Hey @northeastprince, we purposely switched from migrations to a new DB schema, and aren't planning to revert this. More info at https://github.com/rails/solid_queue/issues/329#issuecomment-2338666058.
If you need to run a migration for any reason (like to have Solid Queue tables in the same database as your main app), you can do that on your app, copying the schema into a migration for your app.


Ask support for sodium 0.5.11

Confirmation

[x] I have tested the bug without Sodium and Indium.
[x] I have kept all my mods up to date.

Bug Description
Sodium's newest version is 0.5.11 now and Indium doesn't support it.
Steps to Reproduce
No response
Mod Version
No response
Minecraft Version
No response
Attach latest.log
No response
Attach Crash Report
No response
Additional Information
No response

you can change the sodium version in fabric.mod.json i tested it and it works. {temp solution} until indium updates.

Don't wanna be rude but how inpatient can you be? cant you see the button in opening a issue about Sodium New Versions?

Where does one find fabric.mod.json? I can't find it anywhere in the config folder.

you can change the sodium version in fabric.mod.json i tested it and it works. {temp solution} until indium updates.


Content-type not set to application/json  when  type=json

When you make a json (type:json) post request the Content-type header is set to text/html.

Manually merged in 577d959c2a77a221282f6c067d44970b885d29b3 - sorry it took so long!


Why it asks to Connect Wallet for some pairs:

Screencast_from_07-04-24_100731(1).webm

if you are unable to reproduce, pass and comment

could not reproduce


Make the CST serializable

I thought this might enable some useful optimizations, on the assumption that parsing is expensive.
However a quick test showed that deserializing a serialized CST is considerably slower than parsing.
Specifically, I grabbed the gibberish CST I generated before and ran:
// crates/ditto-cst/examples/parsing_vs_deser.rs
use ditto_cst::Module;
use std::path::Path;

fn main() {
    let module = read_and_parse("gibberish.txt");
    let file = std::fs::File::create("gibberish.json").unwrap();
    serde_json::to_writer(file, &module).unwrap();
    deserialize_json("gibberish.json");
}

fn read_and_parse<P: AsRef<Path>>(path: P) -> Module {
    let start = std::time::SystemTime::now();
    let input = std::fs::read_to_string(path).unwrap();
    let module = Module::parse(&input).unwrap();
    let end = std::time::SystemTime::now();
    println!(
        "reading and parsing took: {:?}",
        end.duration_since(start).unwrap()
    );
    module
}

// Also tried this with CBOR and the result was the same
fn deserialize_json<P: AsRef<Path>>(path: P) {
    let start = std::time::SystemTime::now();
    let file = std::fs::File::open(path).unwrap();
    let reader = std::io::BufReader::new(file);
    let _: Module = serde_json::from_reader(reader).unwrap();
    let end = std::time::SystemTime::now();
    println!(
        "cbor deserialization took: {:?}",
        end.duration_since(start).unwrap()
    )
}

cargo run -p ditto-cst --release --example parsing_vs_deser

deserialize_json hung for ages and then crashed due to recursion limits.

Yeah let's not do this.


Tool Repeatedly loading incomplete data

Having a very strong network, this tool repeatedly loads incomplete data!!

Resolve #Duplicate


Better math.cases function

Fixes #1767.
This PR renames the math.cases function to math.group, and adds a new math.cases function that lets you create case distinctions. This is more or less was was suggested in https://github.com/typst/typst/issues/1767#issuecomment-1657109071.
Description
The new math.cases function accepts the same parameters as math.group, as well as an optional separator parameter. The elements of the variadic cases parameter go by pair: even elements correspond to values, while odd elements correspond to their conditions. There must be an even number of arguments.
$
  cases(
    x, "if" (x dot y)/2 <= 0,
    x + y, "if" x divides 2,
    x / y, "if" x in NN,
    0, "else",
  )
$

#set math.cases(separator: [ ])
$
  abs(x) := cases(
    x, "if" x >= 0,
    -x, "if" x < 0,
  )
$

Backward compatibility
This change is obviously backward incompatible, and will break a lot of documents. Although this is problematic, it must be noted that Typst is still in beta, and it is better making backward incompatible changes now than having to stick with poor decisions in the future.
With that said, any name idea that would allow us to keep math.cases for the current math.cases function (what this PR calls math.group) is welcome.
Open questions
What should the default separator be? For now, I chose $,quad$. Other options include $quad$, [ ] and [, ].

With that said, any name idea that would allow us to keep math.cases for the current math.cases function (what this PR calls math.group) is welcome.

I strongly disagree. Given that it's also used for

function definitions
systems of equations
which have nothing to do with case distinctions.

Other than that, here is my honest reaction to reading this PR:

As an initial opinion, I believe the separator should default to whitespace, as it is currently, as that'd be the most flexible and consistent option in respect to other math functions (where , means separating function arguments and not necessarily a literal comma, which can be inserted with \,). Also, would be nice to use the suggested , ; syntax similar to mat so that you can have arbitrarily many clauses (or even just 1 instead of 2).

I changed the default separator to a space and updated my original comment.
I'm not sure how useful the semicolon syntax would be, though. If you need to layout things like in a matrix, why not using mat? If math.cases is meant to be used for case distinctions, I don't think there is a need for more than two clauses.

I changed the default separator to a space and updated my original comment.

Thanks.

I'm not sure how useful the semicolon syntax would be, though. If you need to layout things like in a matrix, why not using mat? If math.cases is meant to be used for case distinctions, I don't think there is a need for more than two clauses.

Hmm, that's a fair point. I mostly just wanted the grouping to be more explicit (even if only allowing up to 2 clauses), i.e. to make it clear that a, b; are in the same line instead of using a, b, c, d which can lead to some confusion. But this is just an opinion, and I'd love to hear what others think about this.

using a, b, c, d which can lead to some confusion
We already have the same thing with grid and table, so I don't think it's that confusing.

If the , ; syntax is used, there is no need for two distinct functions group and cases...

using a, b, c, d which can lead to some confusion

We already have the same thing with grid and table, so I don't think it's that confusing.

True, great point.

If the , ; syntax is used, there is no need for two distinct functions group and cases...

Also true! It could be a way to quickly specify columns without having to resort to a grid-like columns parameter.

Note that there's also the possibility of just staying with status quo and using alignment for different columns.

Note that there's also the possibility of just staying with status quo and using alignment for different columns.

I think staying with the status quo (optionally renaming math.cases to math.group) is better than introducing a new function that does the same thing with a different syntax (& --> ,, , --> ;).
But adding a function that is made specifically for case distinction is the best idea imo.

Hmm, that's a fair point. I mostly just wanted the grouping to be more explicit (even if only allowing up to 2 clauses), i.e. to make it clear that a, b; are in the same line instead of using a, b, c, d which can lead to some confusion. But this is just an opinion, and I'd love to hear what others think about this.

I totally agree @PgBiel! I also prefer a, b;. Out of all the ideas (a & b;, a & b \, a , b;, a , b) I still like the initial one the most. Having that visual distinction between every line and following the already existing mat syntax just makes sense to me.

If the , ; syntax is used, there is no need for two distinct functions group and cases...

Yes I think so too! a , b; is just very versatile. The separator option makes it perfect! You can easily group equations with eqn1; eqn2; eqn3, do the regular cases function with a, x<3; b, x>= 3 and go beyond with something like a,b,c;. Now the questions is just what to call this function. I think group would be more accurate but cases might still be the better choice.

Having that visual distinction between every line and following the already existing mat syntax just makes sense to me.

I agree that the absence of visual distinction is a drawback of the comma only syntax, but, as mentioned earlier by @T0mstone, this is already a problem with grid and table.
I have two problems with the , ; syntax. First, if group uses the same syntax as mat and does pretty much the same thing (displaying content in a grid), why not use mat instead (if necessary, we could allow its delim parameter to accept a dictionary with left and right keys)?[^1] Second, it makes the most common use of group (that is, simply having multiple rows grouped with a brace) awkward, as you now have to separate arguments with semicolons instead of commas.
[^1]: Although I guess group does something more: there is a separator property that does not exist on mat.
Basically, (as of the current state of this PR) we have four functions that are very similar:

mat arranges math content in a grid (could be expressed as a vec with alignment points);
vec arranges math content in a column (could be expressed as a mat with a single column);
group arranges math content in a column, with a brace on the left (could be expressed as a vec with a brace on the left, and nothing on the right);
cases arranges math content into two columns, with a brace on the left (could be expressed as a vec with a brace on the left and nothing on the right, using alignment points; or as a mat with two columns).

My reasoning is that we often want to layout the following things:

matrices,
vectors,
case distinctions,
rows of math text grouped by braces.

Each of those things should have a function that is specifically made for this purpose (in the current state of this PR, respectively, mat, vec, cases and group).

If the , ; syntax is used, there is no need for two distinct functions group and cases...

There is no need for vec when mat is a thing either. Having a separate function is just more convenient.
An argument in favor of , ; that was not mentioned is that this syntax is "special" and cannot be recreated by the user. If we keep the PR as is, it will not be possible to recreate the , ; syntax. But if we instead implement , ;, users will be able to create their own, cases function that uses the comma only syntax.
TL;DR: No matter what syntax we choose, I think there should be four distinct functions in the end, each optimized for one of the four use cases mentioned above. We already have those for 1., 2. and 4.. We need to create one for 3.. Any other use case is uncommon enough that we should not sacrifice anything for it (but we can still try to make it not too annoying to do). I don't know which of the proposed syntax is best, although I prefer the current one.

@MDLC01, It is currently possible to use , ; in user defined functions:
https://typst.app/project/rhjKoozJQJV2NyVEXBtDh7
But it only works in math mode

I was not aware this was possible at all, thanks!

I think another important point for having separate functions (even if they are all implemented on top of a common base function) is semantics. It helps both when reading the equations in source code and for semantic export (PDF, HTML) to know whether something is a vector, matrix, or case distinction.


Use sport exposure mode, to reduce blurring caused by fast move.

With this fix, the NN is learning much more effective.
More information about exposure mode are available at:
http://picamera.readthedocs.io/en/release-1.10/api_camera.html#picamera.camera.PiCamera.exposure_mode

Codecov Report

Merging #282 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master     #282      +/-   ##
==========================================
- Coverage    39.1%   39.08%   -0.02%
==========================================
  Files          27       27
  Lines        2056     2057       +1
  Branches      226      226
==========================================
  Hits          804      804
- Misses       1228     1229       +1
  Partials       24       24

Impacted Files
Coverage Δ

donkeycar/parts/camera.py
24.07% <0%> (-0.23%)
:arrow_down:

Continue to review full report at Codecov.

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

Closing because camera code now lives in this repo.. https://github.com/autorope/donkeypart_picamera


Different tracks cover

App puts song cover from played album, however it would be awesome if app could show different covers if song has one.

Thanks for this. It's correct that the album image is displayed when the track is part of an album. The thing I was wondering is about the use case. Are there albums of songs that have individually different album covers? I couldn't find any in my music library.

For my use case I have album with various songs, different artists, different songs.

Are those commercially available albums or ones you've created yourself? Just so I'm clear there isn't a mixup between albums and playlists.

Yeah I've created album by myself. Couldn't find any way to create playlist the way I create albums (importing song to folder when there is a new song available, that way the song appears in the album).

Ah right. In that case I will leave the current setup as is, because I want to ensure an album cover is in cache in case an entire album is downloaded. In the future, I need to refactor the downloading feature so that it also downloads album covers. In that case, support for individual cover images should be feasible.


RefreshIndicator needs to support a different color for armed state

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
Right now when you pull down from the top of the screen to force a refresh, via RefreshIndicator, the only indication you get that the refresh action is armed is that the floating indicator stops animating (stops moving vertically, and stops spinning), even when you keep dragging down past the maximum drag position. This is a very unsatisfying way to tell the user that something new will happen on touch-up.
Proposal
Really the refresh indicator should also take an armedColor parameter, and the indicator should show this color when the refresh action is armed.
I tried adding this in PR #139016, but it didn't work properly, so I closed that PR. I don't know how to properly implement this, because I don't understand Flutter's animation framework well enough yet. See #139016, although that PR doesn't actually work properly.

This is an interesting idea. If we were to support an explicit "armed" state developers might reasonably want other ways to indicate the armed state than changing the refresh indicator's color. If it were (much) easier to build refresh indicators from parts, then custom visuals wouldn't need to be factored into additional RefreshIndicator API.
I've labeled this P3 because we're not planning to work on it in the near term. Happy to review PRs though.

I looked at how the Android native refresh indicator shows armed state. It has a drag distance to arm the indicator, and the indicator shows as gray until that drag distance is reached. Subsequently, the refresh indicator turns white, and the indicator can be dragged a further distance in armed state. Flutter does not have any of this behavior. I cover this in detail in this comment:
https://github.com/flutter/flutter/pull/139535#issuecomment-1874650957


Feature idea: shift + space for previous slide

Hey @markdalgleish, do you have any interest in a shift + space keybinding to navigate to the previous slide, or is that out of scope for this plugin?
I can submit a PR if you think it would be a good fit.

I like the idea. Feels very natural.


[0.24] Commits to cherry pick and bugs to fix

Known issues:

[x] Hot module reloading raises an error: https://github.com/facebook/react-native/issues/6798
[x] response.json() hangs when Chrome debugging is enabled: https://github.com/facebook/react-native/issues/6679 (fix in fcc89e9d923)
[x] Unable to require images under node_modules: https://github.com/facebook/react-native/issues/6638 (fix in d0566d8bc304e9a2be1be9918b988df1f8a19594)
[x] RefreshControl broken on iOS: https://github.com/facebook/react-native/issues/6929 (fix in https://github.com/facebook/react-native/commit/03c1688ce6fa5a6a77b25a19c1dda1a1fe62bcc3)

Cherry-picking some fixes for iOS:

Touch handling: https://github.com/facebook/react-native/commit/8efc098646f08efa7215c8b4368ea3438435d0e1 and https://github.com/facebook/react-native/commit/3874c012920647c63dac5a806f7faf1b7d00e5d2
UIExplorer image demo: https://github.com/facebook/react-native/commit/a10c1b5a309586ac6b8977ccfd71ac41fd51c513

Fix HMR on Windows: https://github.com/facebook/react-native/commit/c61100d0ceb4b71c86f01f35d7464d2d8a02b342
(I'm being a little more generous with cherry picks since these are bug fixes and there is still a lot of time until the release.)

0.24.0-rc2 (planned)

Fix HMR by updating r-n-preset: https://github.com/facebook/react-native/commit/40f13742b32aac5a58e5f618b74eafebc6e4c14d
Fix requiring images under node_modules: https://github.com/facebook/react-native/pull/6822

0.24.0-rc3 (planned)

[x] Use version of "react" under peerDependencies when setting up a new project: https://github.com/facebook/react-native/pull/6846

0.24.0-rc4 (planned)

0.23.0-rc5 (planned)

You have a typo. 0.23.0-rc5 should be 0.24.0-rc5 i think.

Oops, thanks

When are we releasing the stable version? ;p

on monday

Yes, I am doing that now BTW - will be up in 3/4 hours max.

I went ahead and pushed 0.24.0. Release notes: https://github.com/facebook/react-native/releases/tag/v0.24.0. Release progress: https://circleci.com/gh/facebook/react-native/5408.

No compatible version found<EMAIL_ADDRESS>NPM is showing version 0.23.1 as the latest but showing next as 0.25.0-rc.

@Benmidi: It seems the released failed at the CI.

The Android dependency hasn't been deployed correctly. The version should be 0.24.0.

@ide, this commit https://github.com/facebook/react-native/commit/fcc89e9d923893229dae11edb59bd3df082fafad shows only in 0.25 branch but not in 0.24.
Although in the list above it is checked.
Any ideas? Maybe GitHub just does not show the branch

disregard the deleted comment, I figured it out

Is this fixed ?
response.json() hangs when Chrome debugging is enabled: #6679 (fix in fcc89e9)
I still have this issue in 0.24.1


Update dependencies: Current GoDep doesn't capture CoreOs build.

Godep also upgraded yaml to v2.

Can you try building with the new deps @rjnagal ?

godep go build ./... was failing before the update. Works fine after adding CoreOs deps.

Ok. LGTM. Thanks for the fix @rjnagal :+1:


kubefed join breaks with aws cluster

 Issue by henriquetruta
Monday Jul 17, 2017 at 18:23 GMT
Originally opened as https://github.com/kubernetes/kubernetes/issues/49041

Joining a cluster from AWS fails in kubefed 1.7. The AWS cluster is also k8s 1.7
The federation is running in a GKE cluster 1.7.0.
$ kubefed join aws --host-cluster-context=gke --context=fed
Error from server (Forbidden): clusterroles.rbac.authorization.k8s.io "federation-controller-manager:fed-aws-gke" is forbidden: attempt to grant extra privileges: [PolicyRule{Resources:["*"], APIGroups:["*"], Verbs:["*"]} PolicyRule{NonResourceURLs:["/healthz"], Verbs:["get"]}] user=&{admin admin [system:authenticated] map[]} ownerrules=[] ruleResolutionErrors=[]

This same command works in kubefed 1.6.6
I'm able to access the AWS cluster using its context.
/kind bug
How to reproduce it (as minimally and precisely as possible):
1 - Create a GKE cluster
2 - Create an AWS cluster (I used conjure-up)
3 - kubefed (1.7) init on GKE cluster
4 - Join the AWS cluster
5 - It should fail
If kubefed 1.6 is used, it works.
Joining a GKE or On-prem cluster also works as expected

 Comment by henriquetruta
Monday Jul 17, 2017 at 18:34 GMT

/sig federation

 Comment by quinton-hoole
Saturday Sep 02, 2017 at 00:35 GMT

cc @madhusudancs

 Comment by GabrielSVinha
Wednesday Sep 20, 2017 at 17:45 GMT

I believe this is solved in 1.7+ where RBAC is default for all providers.

cc @henriquetruta