server / client mint

seems to use a different contract address ie the actual local contract, not the deployed contract...
tried to update and use deployed address
the yarn mint tx will go through
but the items still don't show up in the client user's wallet.

yarn mint output
🎫 Minting to 0xcF2ab8d5d15A4B58fb5c263fFA88Ba2Cb930038a
contractAddress 0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82
creates tx
eth_blockNumber (194)
web3_clientVersion
eth_chainId
eth_accounts
eth_blockNumber
eth_chainId
eth_estimateGas
eth_gasPrice
eth_sendTransaction
  Contract call:       YourCollectible#mintItem
  Transaction:         0xaa704f01e4692577ddb4fd09a0b2e35e786327ea5cd5bfb5680b528bda4625c4
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0x0dcd1bf9a1b36ce34237eeafef220932846bcd82
  Value:               0 ETH
  Gas used:            211122 of 211122
  Block #24:           0x903f0ab5b933b93713d0f560b9a5c833de727d138f61921bcf845e5005599178

eth_chainId
eth_getTransactionByHash
eth_blockNumber
eth_chainId
eth_blockNumber
eth_getLogs
eth_getBalance (2)
eth_accounts (2)
eth_call
  Contract call:       YourCollectible#balanceOf
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_blockNumber
eth_getBlockByNumber
eth_blockNumber (10)
web3_clientVersion
eth_chainId (3)
eth_getBalance
eth_chainId
eth_getTransactionCount
eth_chainId (2)
eth_getBalance
eth_chainId
eth_getTransactionCount
eth_blockNumber (50)

deployer 0x4519d570f9bee8adbe0d84ec536ed325f4ba3dd6

client mint works but chain tx log is a LOT noisier
eth_blockNumber (102)
eth_estimateGas
eth_getCode
eth_gasPrice
eth_blockNumber
eth_getBalance (2)
eth_call
  WARNING: Calling an account which is not a contract
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0x44691b39d1a75dc4e0a0346cbb15e310e6ed1e86

eth_getTransactionCount
eth_blockNumber
eth_sendRawTransaction
  Contract call:       YourCollectible#mintItem
  Transaction:         0xde35f55c1f25b0ba8f8063790098dcfec16f3342b1bc590b97b768152f168f34
  From:                0xcf2ab8d5d15a4b58fb5c263ffa88ba2cb930038a
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9
  Value:               0 ETH
  Gas used:            211122 of 211122
  Block #28:           0xeea6c035532d2a067d286855b5dc604cffd2cbc3781a1cfcb2d6b3ee599cca2c

eth_blockNumber
eth_getLogs
eth_getBalance (2)
eth_accounts (2)
eth_call
  Contract call:       YourCollectible#balanceOf
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_blockNumber
eth_getBlockByNumber
eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenOfOwnerByIndex
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_accounts (2)
eth_call
  Contract call:       YourCollectible#tokenURI
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

eth_blockNumber (3)

comparing
client mint
eth_call
  WARNING: Calling an account which is not a contract
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0x44691b39d1a75dc4e0a0346cbb15e310e6ed1e86

eth_getTransactionCount
eth_blockNumber
eth_sendRawTransaction
  Contract call:       YourCollectible#mintItem
  Transaction:         0xde35f55c1f25b0ba8f8063790098dcfec16f3342b1bc590b97b768152f168f34
  From:                0xcf2ab8d5d15a4b58fb5c263ffa88ba2cb930038a
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9
  Value:               0 ETH
  Gas used:            211122 of 211122
  Block #28:           0xeea6c035532d2a067d286855b5dc604cffd2cbc3781a1cfcb2d6b3ee599cca2c

server mint
eth_sendTransaction
  Contract call:       YourCollectible#mintItem
  Transaction:         0xaa704f01e4692577ddb4fd09a0b2e35e786327ea5cd5bfb5680b528bda4625c4
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0x0dcd1bf9a1b36ce34237eeafef220932846bcd82
  Value:               0 ETH
  Gas used:            211122 of 211122
  Block #24:           0x903f0ab5b933b93713d0f560b9a5c833de727d138f61921bcf845e5005599178

eth_chainId
eth_getTransactionByHash
eth_blockNumber
eth_chainId
eth_blockNumber
eth_getLogs
eth_getBalance (2)
eth_accounts (2)
eth_call
  Contract call:       YourCollectible#balanceOf
  From:                0xf39fd6e51aad88f6f4ce6ab8827279cfffb92266
  To:                  0xcf7ed3acca5a467e9e704c703e8d87f634fb0fc9

now workign for me, i think the publish step we added has fixed something.


Missing default export

When use this with Next.js TypeScript config, this module cannot be found.
By add one line in package.json fixes this problem.
  "exports": {
    ".": {
      "types": "./types/index.d.ts",
      "import": "./dist/index.mjs",
      "default": "./dist/index.mjs",
    }
  },

See discussion on PR https://github.com/slevithan/oniguruma-to-es/pull/8

Next.js has recently started supporting next.config.ts.
The same thing happens to me when I use next.config.ts.


set limit and paging/cursor in horizon operation_request

What problem does your feature solve?
You cannot get all of your claimable balances through the Stellar Go SDK.
This is just an example; many operations seem affected by this.
What would you like to see?
limit and paging/cursor supported within all operations, starting with horizonclient/operation_request
What alternatives are there?
You can create your own http.Get() request with a url you parsed yourself.

i added a fix for this here: https://github.com/stellar/go/pull/4248 in https://github.com/stellar/go/pull/4248/commits/3d84568c8b94d83288887685f6503f5dfd455c64


Set RUN_TO_POSITION target to the current position

When entering RTP, if no target is set, set the target to the position the motor is currently at when the method is called. This way, you don't need to throw the error where target isn't set before RTP and it wouldn't have any odd behavior as it would simply stay at the position it currently is in.
In addition to that, there is a legitimate bug where the error persists even after one uploads the correct code.

RTP as it is right now is kind of janky, especially with that bug. The TargetPositionNotSetException is slightly off-putting. I would recommend internally checking to see if the user has ever set a target position before the runmode was set to RUN_TO_POSITION. If the user hasn't, then set the target position to the current position so that it doesn't move if some form of setPower() is called. Once the user does set a target position, update the target.
In pseudocode it might look something like this:
has_target_set = False

if not has_target_set:
  target_pos = get_current_pos()

def set_target_pos(val):
  has_target_set = True
  target_pos = val

An alternative could be to fix that bug where the/an exception persists even when the robot has been shut off and turned back on. I think this might have something to do with the LynxNack standard reason code 50 and the way the exception is specifically handled, but I'm not too sure.

The exception doesn't persist when the entire rev hub has been turned off. It persists between app launches though. If you were to upload code that threw that exception, closed the app, and then uploaded working code, the error will persist. Power cycling the rev hub fixes the issue.

I was referring to this error report:

every time we turn the robot completely off and then back on again, we get an error for a motor

Perhaps they meant Restart Robot instead of "completely off?"

The exception doesn't persist when the entire rev hub has been turned off. It persists between app launches though. If you were to upload code that threw that exception, closed the app (once the exception is thrown), and then uploaded working code, the error will persist. Power cycling the rev hub fixes the issue.

Hmm, what do you mean by working code? Can you provide 2 example opmodes?

So I cannot figure out how to reproduce that error. My personal encounter was very early in the season so I tried downgrading both the SDK and firmware and it did not suffice. I've seen two other identical reports in the FTC discord server but I have no idea what their configuration was.
Although, one inconsistent behavior is that running a new opmode doesn't seem to clear the target position. So if you run working code(setting target position then RTP, opmode 1), then fire up an opmode (opmode 2) that shouldn't work (setting RTP then target position), the opmode 2 still works and doesn't throw an error. Opmode 2 breaks if you don't run opmode 1 first.
Even though I cannot reproduce the original issue mentioned, I do still think the default target suggestion would rid of the need for the exception in the first place and make the API more user friendly.

Although, one inconsistent behavior is that running a new opmode doesn't seem to clear the target position.

That sounds like a possible firmware bug... Since looking at the StopRobot opmode, (which is what is run when no user opmode is running) it continually puts the RevHub into failsafe mode, which one would think would clear everything in the firmware.

I was able to reproduce the exact same thing as Noah. Unfortunately I couldn't get it to do what we were talking about originally. Here are the OpModes I was working with. When I ran TestRTPNotWorkingOpMode.java, I had to restart the robot (press the Restart Robot button). This then allowed TestRTPWorkingOpMode.java to work. When I ran TestRTPWorkingOpMode.java first, it worked as intended. Then, when I ran TestRTPNotWorkingOpMode.java, it also worked (as in, no exception was thrown).

Okay so we are now having an issue with the error showing up on code that should work.
motor.setMode(DcMotor.RunMode.STOP_AND_RESET_ENCODER);

motor.setTargetPosition(5000);

motor.setMode(DcMotor.RunMode.RUN_TO_POSITION);

This throws the "must set target position before calling RUN_TO_POSITION." The error persists even after power cycling, resetting the phones, reuploading the code, breaking and fixing the code. I don't know if this is a single test case, but this just happened to a team I mentor.

The possible firmware bug is being tracked internally.
As to setting the target position to the current position if no target position is set and the run mode is RTP, this is a topic that comes up occasionally with the tech team.   There are two approaches here.  1) What's being advocated for, which I'll call fail silently but gracefully, and 2) the existing implementation, fail fast and loud.   There are legitimate arguments for both approaches.  However as a mentor I've seen teams struggle for extended periods of time when their robot does nothing and they think it should be doing something and they can't figure out why it's doing nothing because there's no user feedback.   Both approaches are, in the end, failures in software.  Only one approach tries to alert the user as to why the failure is happening.   The other approach, especially among inexperienced teams, will produce head scratching.   The decision has been, over the years, to try to minimize head scratching at the expense of a more intrusive failure.  And so, at present, we have fail fast, fail loud.


failure to validate regex schema format containing '/' character

In FormatConstraint::validateRegex() method, '/' character has used for delimiter of preg_match()  function.
If regex format contains '/' character, then schema validator always fails.
It seems to escape '/' character before preg_match() function call.

See #649


Migrate to multidex for Android 4.4.1 build

https://developer.android.com/studio/build/multidex.html

Didn't need this in the end, but we may need it in the future. The necessary build.gradle options are still in there but comments out. Will also need to do the following if we need multidex
public class MyApplication extends MultiDexApplication


Typeguard method not working for class members

TypeScript Version:  3.8-Beta (on Playground)

Search Terms: typeguard class member
Code
class Foo {
  constructor(prop: number | number[]) {
    this.prop = prop;
  }
  prop: number | number[];

  isNumberFoo(): this is NumberFoo {
    return typeof this.prop === "number";
  }

  isArrayFoo(): this is ArrayFoo {
    return Array.isArray(this.prop);
  }

  method() {
    // using typeguard methods
    if (this.isNumberFoo()) {
      this.prop; // (✓) correctly narrowed to number, but the type display is unnecessarily complicated
    } else {
      this.prop; //  ✗  not narrowed at all, but TS should know that prop is not a number
    }

    // using direct typeguards
    if (typeof this.prop === "number") {
      this.prop; // ✓ number
    } else {
      this.prop; // ✓ number[]
    }
  }
}

type NumberFoo = {
  prop: number;
}

type ArrayFoo = {
  prop: number[];
}

Expected behavior:
In the if branch, prop is narrowed to number. In the else branch, prop is narrowed to number[].
Actual behavior:
In the if branch, prop is narrowed to number & (number | number[]), which works but looks confusing.
In the else branch, prop is not narrowed at all.
Playground Link: here
Related Issues: https://github.com/microsoft/TypeScript/issues/26212 describes the exact same issue, but was closed without a proper solution.

this isn't a union, so we don't have any available type to narrow to it in the else branch. This isn't something CFA is capable of producing without some notion of negated types

Could it work if there was a way to narrow the property directly instead of the this type? Something along the lines of
  isNumberFoo(): this["prop"] is number {
    return typeof this.prop === "number";
  }

Could there be some syntax like
isNumberFoo(): this is NumberFoo else this is ArrayFoo {
    return typeof this.prop === "number";
}

That lets the programmer explicitly set the "else" type?
I guess if that existed, the compiler could just do it automatically:
isTypeX(): this is TypeX else this is Exclude<typeof this, TypeX>;

I'm hitting this issue in a related situation where the generic type is a union:
class Box<T> {
    constructor(private val: T) {}

    public containsArray(): this is Box<Extract<T, any[]>> {
        return Array.isArray(this.val);
    }

    get value(): T {
        return this.val;
    }
}

const box: Box<string | string[]> = new Box("foo");

// Type 'string | (string | string[])[]' is not assignable to type 'string[]'.
//  Type 'string' is not assignable to type 'string[]'
const stringArray: string[] = box.containsArray() ? box.value : [box.value];

I have come across this issue while trying to implement a Rust-like Result type, i.e., a discriminated union with two variants (Ok and Err) and a number of methods, directly callable on the Result instance via the dot operator.
const Ok<T> = { tag: 'ok', val: T }
const Err<E> = { tag: 'err', err: E }

export class Result<T, E> {
    private constructor(readonly repr: Ok<T> | Err<E>) { }
    static Ok<T, E>(val: T): Result<T, E> { ... }
    static Err<T, E>(val: E): Result<T, E> { ... }
    isOk(): this is { readonly repr: Ok<T> } { ... }
    isErr(): this is { readonly repr: Err<E> } { ... }
    getVal(this: { readonly repr: Ok<T> }: T { ... }
    getErr(this: { readonly repr: Err<E> }: E { ... }
    // various adapters like map, mapErr, and, or, etc...
}

This should allow writing code like so:
type AppError = { reason: IoError | ... }
declare function read_file(path: string): Result<Buffer, IoError>

function do_something(): Result<void, AppError> {
    const res = read_file(...)
    if (res.isErr()) {
        // narrowed to { repr: Err<E> }
        return Result.Err({ reason: res.getErr() })
    }
    // else branch, narrowed to { repr: Ok<T> }
    const file = res.getVal()
}

I've tried a different approach defining Result like this:
export type Result<T, E> = (Ok<T> | Err<E>) & ResultMethods<T, E>
export interface ResultMethods<T, E> {
    isOk(): this is Ok<T>,
    isErr(): this is Err<E>,
    // ...etc
}

This feels unnecessarily convoluted though, because each result instance needs to have a bunch of arrow functions created along-side it each time it is constructed.
To me it seems that such thin wrapper classes/types (i.e., no base class, only a single non-function member) should be treated exhaustively by type guard checks.

A simple example of this problem:
abstract class Color {
    isRed(): this is Red { return false }
    isBlue(): this is Blue { return false }
    isGreen(): this is Green { return false}
}

class Red extends Color {
    isRed(): this is Red { return true }
}

class Green extends Color {
    isGreen(): this is Green { return true }
}

class Blue extends Color {
    isBlue(): this is Blue { return true }
}

let c: Color = new Blue()

if(c.isRed()) {
    c // c: Red
} else if(c.isGreen()) { // Property 'isGreen' does not exist on type 'never'
    // c: never (Green expected)
} else if(c.isBlue()) { // Property 'isBlue' does not exist on type 'never'
    // c: never (Blue expected)
}

c // c: Red (Blue expected. if all conditions false, then Color expected)

Another simple example.  This type-guard doesn't work, am I missing something?
class Example {
  asset: Asset | null = null;

  get isAssetAvailable(): this['asset'] is Asset {
    return this.asset != null;
  }
}

Another simple example.  This type-guard doesn't work, am I missing something?
class Example {
  asset: Asset | null = null;

  get isAssetAvailable(): this['asset'] is Asset {
    return this.asset != null;
  }
}

@roborich how about this?
declare class Asset {};

class Example {
  asset: Asset | null = null;

  isAssetAvailable(): this is this & {asset: Asset} {
    return this.asset != null;
  }
}

const foo = new Example();
foo.asset.toString(); // error here
if (foo.isAssetAvailable()) {
    foo.asset.toString(); // ok
}

You'd have to turn the property getter into a method though
https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEkoGdnwIKpAF3gbwF8BuAKBKVXgFEAPKAWwAcIE8T54VkcAuDLXAB94AOwCuECPAC8oiRFLt4AS2SZu2dADcoy6ACMWACgCUfbAAtVKtJesAyfF178NBfEo5xsYmCPh2yAB0zrgAhLLikqQcBCRx5AD2Isi4AGaJiTKiIADu1HRMxiakGYkhAkHYiQDK2DDKIgDmpqTKafBGZUGq6jjaugbFJh4cHN2hVbX1jS0l8UA

@roborich how about this?
declare class Asset {};

class Example {
  asset: Asset | null = null;

  isAssetAvailable(): this is this & {asset: Asset} {
    return this.asset != null;
  }
}

const foo = new Example();
foo.asset.toString(); // error here
if (foo.isAssetAvailable()) {
    foo.asset.toString(); // ok
}

You'd have to turn the property getter into a method though
https://www.typescriptlang.org/play?#code/CYUwxgNghgTiAEkoGdnwIKpAF3gbwF8BuAKBKVXgFEAPKAWwAcIE8T54VkcAuDLXAB94AOwCuECPAC8oiRFLt4AS2SZu2dADcoy6ACMWACgCUfbAAtVKtJesAyfF178NBfEo5xsYmCPh2yAB0zrgAhLLikqQcBCRx5AD2Isi4AGaJiTKiIADu1HRMxiakGYkhAkHYiQDK2DDKIgDmpqTKafBGZUGq6jjaugbFJh4cHN2hVbX1jS0l8UA


Handle empty entries in the stratigraphy list

If user puts empty entries in the stratigraphy in global_variables, e.g.:
MyFormation:
  stratigraphic: True
  name: My Fm. Top
  alias:
    - MyFormation
    - OtherAlias
    -                   # <-- PROBLEM!
  stratigraphic_alias:
    - Some GP. Top
    - SomeOther GP. Base
    -                   # <-- PROBLEM!

---> This will currently export with null in outgoing metadata. In validation, it is expected to be string hence not validated. Tricky to debug. fmu-dataio should catch this and either warn or ignore or both.
Originally posted by @perolavsvendsen in https://github.com/equinor/fmu-dataio/issues/373#issuecomment-1782763705
Suggested solution:

fmu-dataio gives warning when empty entries are detected, then ignores them

Partial (?) solution in #386. However, does not ignore them - just warns.
A reflection: The whole validation of the config should probably be improved. This seems like a task for jsonschema or Pydantic or similar, and do proper validation of the config.
I tried jsonschema, but abandoned it for two reason:

The nature of the "stratigraphy" block, with the custom keys, is not ideal for jsonschema
The error messages coming out of json schema are too sparse to be informative to end user. E.g. if an empty entry is detected, it will not validate with a message that looks something like: "null is not a string".

Instead of validating the whole config in one go, we can create schemas for each entry, and check them one-by-one. That will enable us to add more meaningful information to the error messages.

Closed in lieu of having completed the move to Pydantic which does this sort of validation.


mds: move mds fs pools creation

When collocating mds on monitor node, the cephpfs will fail
because docker_exec_cmd is reset to ceph-mds-monXX which is
incorrect because we need to delegate the task on ceph-mon-monXX.
In addition, it wouldn't have worked since ceph-mds-monXX container
isn't started yet.
Moving the task earlier in the ceph-mds role will fix this issue.
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1578086
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

jenkins test luminous-ansible2.4-ooo_collocation

jenkins test luminous-ansible2.4-docker_cluster

jenkins test luminous-ansible2.4-centos7_cluster

jenkins test luminous-ansible2.4-centos7_cluster


feat: Add interface index (#11)

Hey there, 👋
I'm writing my own project that needs network interfaces, and this crate looks pretty good for my needs.
My only problem is that I need the interface index as well. I saw that there's a currently open issue (#11) for this but no PR,
so I thought I'd give it a go.
Testing

[x] Works on MacOS
[x] Works on Linux
[ ] Haven't tested Windows, but I think it should work fine...

Let me know if there's any changes you think I should make.

Hi @YuiYukihira!
Thanks so much for opening this PR, it looks like the changes are not compiling for Windows.
Looks related to not passing the new index param to mostly.
Otherwise looks great!

Hey @EstebanBorai,
I've added a new commit to resolve the windows issues,
I also had to add a new error type because winapi uses u32 sized errors codes, instead of i32.
Let me know before you merge anything and I'll squash this into a single commit.

Sorry about that, should all be fine this time.

Sorry about that, should all be fine this time.

No worries!

Great, thanks!
Btw, do you have an idea when you might make a new release that incorporates this?


InvalidOperationException calling ServiceSerializer.Serialize method

Describe the bug
We use the DatasyncClient.Serializer in our custom implementation of the old InvokeApiAsync methods (https://github.com/Azure/azure-mobile-apps/issues/808), it works fine, but sometimes we see this exception in our logs when we call the Serialize method:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.

To Reproduce
It does not happen very often, so it is hard to reproduce, it seems to come from a concurrent access to the tableNameCache dictionary.
Expected behavior
Not exception is thrown.
What platforms?

Client:

Version of dotnet being used to compile: net8
.NET Runtime Environment: WinAppSDK, iOS, Android
Library versions 6.1.0

Additional context
The issue only happens when we call the Serialize method from our custom implementation of the InvokeApiAsync methods. Perhaps using a lock to query the tableNameCache dictionary in the DatasyncContractResolver.CreateProperties method would be enough to make this work fine.
lock (tableNameCache)
{
  if (!tableNameCache.ContainsKey(type) && !tableNameCache.Keys.Any(t => t.GetTypeInfo().IsAssignableFrom(typeInfo)))
  {
    return properties;
  }
}

Thanks for the report - I've been thinking of switching this all to ConcurrentDictionary types anyhow, so this is an impetus for it.

But the ConcurrentDictionary's Keys collection is thread-safe? Another option is to make a copy of the Keys collection before querying it:
  if (!tableNameCache.ContainsKey(type) && !tableNameCache.Keys.ToList().Any(t => t.GetTypeInfo().IsAssignableFrom(typeInfo)))
  {
    return properties;
  }

Fixed in 6140ab3


Fix stopListening when changing a prop of type "state"

We used to just call this.stopListening on a property of type
"state" whenever we changed it out for some other object. However,
this also unbinds any other listeners on that object, unexpectedly.
Instead, we should keep a reference to the handler, which we do by
changing _getEventBubblingHandler into
_getCachedEventBubblingHandler and saving it for the propertyName.
This way, we can unbind just the handler we just set, and leave other
event listeners untouched.

Looks good to me, just one comment. :+1:


Error: nw_host_stats_add_src recv too small

What do you want to achieve?
I'am making app in swift for iOS so add the realm by cocoapods...and i run everything well.
So the next thing that i did was to add in UITableViewController:
let realm = try! Realm()
I run and huge error, then i comment that line and try again and zero errors.
I already look for the error on internet but i didn't find anything
For a few days I'm stuck in it and i am not finding solution solutions
Console error:
`
2016-12-28 18:47:06.884829 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.885659 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.887494 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.889218 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.891734 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.895523 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.900187 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.905372 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.910760 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.917383 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.921059 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.927289 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.933955 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:06.997762 Kakebo[1614:17537] [] nw_host_stats_add_src recv too small, received 24, expected 28
2016-12-28 18:47:07.009874 Kakebo[1614:17537] [] ____nwlog_simulate_crash_inner_block_invoke dlopen CrashReporterSupport failed
2016-12-28 18:47:07.011018 Kakebo[1614:17537] [] __nwlog_err_simulate_crash simulate crash failed "nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available"
2016-12-28 18:47:07.014285 Kakebo[1614:17537] [] nw_socket_set_common_sockopts setsockopt SO_NOAPNFALLBK failed: [42] Protocol not available, dumping backtrace:
[x86_64] libnetcore-856.20.4
0   libsystem_network.dylib             0x000000010d807682 __nw_create_backtrace_string + 123
1   libnetwork.dylib                    0x000000010dae4932 nw_socket_add_input_handler + 3100
2   libnetwork.dylib                    0x000000010dac24f4 nw_endpoint_flow_attach_protocols + 3768
3   libnetwork.dylib                    0x000000010dac1511 nw_endpoint_flow_setup_socket + 563
4   libnetwork.dylib                    0x000000010dac0270 -[NWConcrete_nw_endpoint_flow startWithHandler:] + 2612
5   libnetwork.dylib                    0x000000010dadb44d nw_endpoint_handler_path_change + 1261
6   libnetwork.dylib                    0x000000010dadae7c nw_endpoint_handler_start + 570
7   libnetwork.dylib                    0x000000010daf2ae5 nw_endpoint_resolver_start_next_child + 2240
8   libdispatch.dylib                   0x000000010d584980 _dispatch_call_block_and_release + 12
9   libdispatch.dylib                   0x000000010d5ae0cd _dispatch_client_callout + 8
10  libdispatch.dylib                   0x000000010d58be6b _dispatch_queue_serial_drain + 236
11  libdispatch.dylib                   0x000000010d58cb9f _dispatch_queue_invoke + 1073
12  libdispatch.dylib                   0x000000010d58f3b7 _dispatch_root_queue_drain + 720
13  libdispatch.dylib                   0x000000010d58f08b _dispatch_worker_thread3 + 123
14  libsystem_pthread.dylib             0x000000010d9574de _pthread_wqthread + 1129
15  libsystem_pthread.dylib             0x000000010d955341 start_wqthread + 13
`
Realm version: Realm 2.1.2 and RealmSwift 2.1.2
Xcode version: 8.1
iOS/OSX version: 10
Dependency manager + version: cocoapods (last version)

Those errors don't look related to Realm. Please try the instructions here to turn off the extraneous logging, and try again.

It work, now i can see the results of realm interaction.
But realm was the one responsible for generating that error logs.
Any way thank you for the help 👍


Fixed search for many module names (production)

Compare:
https://staging.build.cfengine.com/modules/?query=ansible
https://build.cfengine.com/modules/?query=ansible


Changes to a user profile are not persisted

If a user has its initial profile set as "Administrator", when we try to edit this user by changing the profile to "User", this new profile is shown as successfully changed on the GUI.
Then, if we leave the users page and then come back to it, that change is lost and the user profile is back to "Administrator"

The auth service is being deprecated and we won't put any further effort on it. Soon, the dojot will be released with Keycloack IAM instead of the auth service.


False positive on UnreachableCode

Using detekt 1.20.0-RC2
The following code results in 2 UnreachableCode violations on lines 2 and 4, but I don't see how those are unreachable:
private suspend fun transitionToState(mode: Tab) {
    val (arrow, search) = searchBoxDrawables

    when(binding.root.currentState) {
      mode.stateId -> mode.fraction.let { fraction ->
        search.alpha = fraction.searchInterpolation
        arrow.alpha = fraction.arrowInterpolation
      }

      else -> suspendCancellableCoroutine { continuation ->
        val listener = object : TransitionAdapter() {
          override fun onTransitionChange(motionLayout: MotionLayout?, startId: Int, endId: Int, progress: Float) {
            search.alpha = progress.searchInterpolation
            arrow.alpha = progress.arrowInterpolation
          }

          override fun onTransitionCompleted(motionLayout: MotionLayout?, currentId: Int) {
            binding.root.removeTransitionListener(this)
            continuation.resume(Unit)
          }
        }

        continuation.invokeOnCancellation { binding.root.removeTransitionListener(listener) }
        binding.root.addTransitionListener(listener)
        binding.root.transitionToState(mode.stateId)
      }
    }
  }

Same issue with lines 4, 11, 16, 27, and 34:
override suspend fun findMapPinCluster(latLng: Point): MapPinCluster? {
    val map = binding.mapView.getMapboxMap()

    val cluster =
      binding
        .mapView
        .findFeatures(latLng, Map.Layers.MapPinClusters.id)
        .firstOrNull { feature -> feature.feature.getBooleanProperty("cluster") == true }
        ?: return null

    val zoom = binding.mapView.findGeoJsonClusterExpansionZoom(
      id = Map.Sources.MapPins.id,
      cluster = cluster.feature
    ) ?: return null

    val features = if(map.cameraState.zoom == map.getBounds().maxZoom) {
      binding.mapView.findGeoJsonClusterLeaves(
        id = Map.Sources.MapPins.id,
        cluster = cluster.feature,
        limit = cluster.feature.getNumberProperty("point_count").toLong()
      ) ?: listOf(cluster.feature)
    }
    else {
      listOf(cluster.feature)
    }

    val point =
      cluster
        .feature
        .geometry()
        ?.cast<Point>()
        ?: return null

    return MapPinCluster(
      features = features,
      zoom = LatLngZoom(
        lat = point.latitude(),
        lng = point.longitude(),
        zoom = zoom.toDouble()
      )
    )
  }

Is this a regression?

This issue, as well as the other ones I filed today, are not present in 1.19.
I'm not sure type resolution was working fully in 1.19 and earlier because it finds no violations in my project. After updating to 1.20.0-RC1/2 I get hundreds of violations.
Some of them are false positives (i.e. the ones that I filed issues for), but a large majority of them are actually violations (i.e. false negatives in 1.19 and earlier.

🤔 That's odd, I can't reproduce it on my project... But it seems something related with the compiler doesn't know about what binding is.

Is it possible that something like https://github.com/detekt/detekt/pull/4684 is needed to fix it?

It seems so.

Well, the test code for this is really short:
        @Test
        fun `test`() {
            val code = """
                fun test(): Boolean {
                    binding.undeclaredVal ?: return false
                    return true
                }
            """

            assertThat(subject.lintWithContext(env, code)).isEmpty()
        }

But I really don't know how we can fix it. For the compiler it seems like binding.undeclaredVal is null (because it's undeclared) and with this assumption the return true-part is really unreachable.

Why does the compiler think that it's undeclared though? The class and field are both present in the generated code.

Why does the compiler think that it's undeclared though? The class and field are both present in the generated code.

That's a known issue/known limitation that detekt have right now. We need to move to a kotlin plugin to fix that. We have something here: https://github.com/detekt/detekt-compiler-plugin but in kotlin 1.7/1.8 they will break all of that so we are waiting for that breaking change and the api stability to implement it properly. But I must say that you can use that repo, it works but the edges are a bit sharp.

So what's the proper solution in the interim, considering compiler plugins probably won't be stable for another year or two? Something was definitely broken with type resolution pre 1.20.0, so I don't want to be stuck there.
I tried using the detekt-compiler-plugin but ran into a bunch of issues (probably because it's an old build). I can always suppress these rules because they're not showstoppers for me, but if this issue grows to affect other rules that I rely on I'd be stuck.

@eygraber could you check the detekt SNAPSHOT to see if you can reproduce the same issue after we merge #4723?

The issue is resolved in SNAPSHOT


Clicking enter with text of type h1 or h2 doesn't  make cursor enter next line

It only adds br-tag after the cursor position. This doesn't happen on paragraphs, only on h1 and h2. Try it here:
https://wangzuo.github.io/react-medium-editor/

I'm having this issue even with paragraphs =(
<Editor
  tag="pre"
  text={this.state.texto}
  onChange={this.handleChange}
  options={{toolbar: {buttons: ['bold', 'italic', 'underline','anchor', 'h1', 'h2', 'quote']},
  autoLink: true,
  placeholder: {text: 'Conte sua hist\ória..'}}}
  />

Any idea why?

This is mainly caused by the the editor text which was passed to the parent component and then passed in as the changed property that result state change and ui update. I'll try to make a pr to fix this.

The same situation with orderedlist and unorderedlist


Could not load PropertiesLauncher

When running sudo ./devicestarter.sh I get the error:
Error: Could not find or load main class org.springframework.boot.loader.PropertiesLauncher

Which is from this line:
java -cp $CP -Djava.library.path=$LIB_PATH -XX:ErrorFile=$POSSUM_LOG_PATH/CrashLog/hs_err_pid%p.log -XX:ReplayDataFile=$POSSUM_LOG_PATH/CrashLog/replay_pid%p.log -Dlog4j2.formatMsgNoLookups=true -Dloader.main=com.target.devicemanager.DeviceMain org.springframework.boot.loader.PropertiesLauncher

This may be user error.

What were you trying to do when running the devicestarter.sh?  Were you trying to run Possum locally?  If so, there are steps detailed in the ReadMe to assist with this process here.  We are trying to make our ReadMe more detailed, so if these steps are unclear, please reach out and we will try to update them accordingly.
Usually when running locally, we don't run the devicestarter.sh because it is meant to be used on a physical register with devices attached.  As detailed in our Sequence Overview Diagram the devicestarter.sh defines classpaths and libraries and then starts Possum.  When running locally, we bypass this setup step by starting Possum with gradle instead of the script.  Hope this helps!

Thanks for the reply! Yes, I was trying to run the script locally, but it is being run on a physical register with the devices attached.

Do you have a register that you are running devicestarter.sh on that is not working?  Were you able to get Possum up and running on your local machine?

I have possum running, but it isn't picking up any of the attached devices:
023-11-07T09:50:57.269-07:00  INFO 151066 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2023-11-07T09:50:57.551-07:00  INFO 151066 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2152 ms
2023-11-07T09:50:57.792-07:00 DEBUG 151066 --- [           main] c.t.d.configuration.ApplicationConfig    : Application Version - PACKAGE_VERSION
2023-11-07T09:50:57.793-07:00 DEBUG 151066 --- [           main] c.t.d.configuration.ApplicationConfig    : Is Simulation Mode - false
jpos/res/jpos.properties file not found
jpos/res/jpos.properties file not found
jpos/res/jpos.properties file not found
2023-11-07T09:50:58.657-07:00  INFO 151066 --- [           main] o.s.b.a.e.web.EndpointLinksResolver      : Exposing 3 endpoint(s) beneath base path ''
2023-11-07T09:50:58.773-07:00  INFO 151066 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2023-11-07T09:50:58.800-07:00  INFO 151066 --- [           main] com.target.devicemanager.DeviceMain      : Started DeviceMain in 4.108 seconds (process running for 4.489)
2023-11-07T09:50:58.865-07:00 DEBUG 151066 --- [           main] com.target.devicemanager.DeviceMain      : Setting default log path for POSSUM.
2023-11-07T09:51:04.880-07:00  INFO 151066 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2023-11-07T09:51:04.883-07:00  INFO 151066 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 3 ms
2023-11-07T09:51:04.939-07:00 ERROR 151066 --- [nio-8080-exec-1] c.t.d.common.DeviceAvailabilityService   : JSON is in wrong format
2023-11-07T09:51:07.291-07:00 ERROR 151066 --- [nio-8080-exec-2] c.t.d.common.DeviceAvailabilityService   : JSON is in wrong format

And when hitting the peripherals endpoint, there is an error in the output of the possum run that the format is incorrect

When you run the simulator, are you using the command ./gradlew run -DuseSimulators=true?

I'm not running the simulator, I have peripherals that I want to verify control of. I have the env variable set to local for SPRING_PROFILES_ACTIVE
I am running the command as:
cd $POSSUM_DIR
sudo -E ./gradlew run

Where POSSUM_DIR is set to the cloned repository base. I already ran sudo -E ./gradlew build and I have the drivers for my peripherals installed (NCR, HP and Zebra)


Feature: Support defaultCurrency

Is your feature request related to a problem? Please describe.
I need to change the default currency of the whole app. Our application only supports EUR even if the user connects from the US. It's a bit cumbersome to have to force it on all pipes and services or map everything in localeToCurrencyMapping.
Describe the solution you'd like
I would like to be able to pass a value in the module configuration as the default.
Describe alternatives you've considered
Currently I have a large mapping to force all locales to EUR. Also, the file locale-currency.ts is not exported by the library and if I add localeToCurrencyMapping it does not combine them. In this way I have to rewrite the entire file and not modify what interests me.
Current behavior
    TranslocoLocaleModule.init({
      defaultLocale: 'es-ES',
      langToLocaleMapping: {
        en: 'en-US', // We support English lang
        es: 'es-ES'
      },
      localeToCurrencyMapping: {
        'en-US': 'EUR',
        'es-ES': 'EUR',
        'ca-ES': 'EUR', // I need to rewrite this again
        'eu-ES': 'EUR',
        'gl-ES': 'EUR',
      }
    })

Expected behavior
    TranslocoLocaleModule.init({
      defaultLocale: 'es-ES',
      langToLocaleMapping: {
        en: 'en-US',
        es: 'es-ES'
      },
      defaultCurrency: 'EUR'
    })

Contribution
I want to make a pull request for this feature:
Yes! 🚀

@seravifer would you like to create a pr for that?


hx711: implement analog.PinADC

Add minimal testing.

@davidsansome  what do you think?
@bezineb5 FYI, to try to figure out the best analog.PinADC interface.
https://periph.io/x/periph/experimental/conn/analog

Codecov Report

Merging #335 into master will increase coverage by 0.05%.
The diff coverage is 74.13%.

@@            Coverage Diff             @@
##           master     #335      +/-   ##
==========================================
+ Coverage   71.59%   71.65%   +0.05%
==========================================
  Files         100      101       +1
  Lines        9034     9119      +85
==========================================
+ Hits         6468     6534      +66
- Misses       2399     2411      +12
- Partials      167      174       +7

Impacted Files
Coverage Δ

experimental/devices/hx711/hx711.go
77.64% <74.13%> (ø)

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 ab4baba...b1420a4. Read the comment docs.

I incorporated the suggestion by @bezineb5 to rename Reading to Sample.


Update plot utils and point_clouds notebook.

Regarding saving images and converting them to GIF:
For the purpose of animating plotting, there are two approaches considered:

Use of saved images, and by extension, use of PIL to convert images to GIF. (one in current PR)
Use of matplotlib.animation.FuncAnimation (one @olivierteboul suggests)

Although (2.) would sound more natural for matplotlib, I would suggests (1.) over (2.) for now since:

(1.) allows a more separation between plotting and animation.

Often, the user plot animation along the user's optimization loop. If using (2.), there would be another loop driven by matplotlib.animation.FuncAnimation that need to be taken care of (by providing an appropriate callback) and thus things become more complex.
Also, this allows larger flexibility as the user may want to have access to individually saved plots for further investigation / putting into publications, etc.

If users want to use matplotlib.animation.FuncAnimation anyway, users could write theirs own callback.

Minor issues
They are fixed in place.

Discussed the choice of animation. Fixed minor issues.

Thanks a lot Yingtao for this great PR. After some discussions, we ended up using this route instead:
https://github.com/google-research/ott/commit/f2ba7b68dc97881bb6d9280eeccc74a44283e19a
Thanks in any case for the great inspiration for this, it's great!


Reference example for gRPC java client

What this PR does:
Adds java examples and documentation to the README.md in the gRPC module.
Checklist

[x] Documentation added/updated

I was more expecting a runnable project with examples in addition to documentation. Like CQL driver examples.

@mpenick I have my local project but on a separate repo. Do we want to add a new module in the Stargate repo called grpc-examples? If yes, I can move it here.

grpc-examples sounds reasonable to me. Anyone else have an opinion?

grpc-examples sounds reasonable to me. Anyone else have an opinion?

Ok, I created a new module with runnable examples and docs. Please take a look.


Fix a crash when enabling multi-line editing and help menu

This is an attempt to fix a crash when enabling multi-line editing and help menu.
Related #602 nushell/nushell#9627
PS: Can't reproduce nushell/nushell#9627 on linux after this change.

Seems the root cause is https://github.com/nushell/nushell/blob/0b1e368cea8fe921716ac3bd6353cbe29d46c700/crates/nu-cli/src/menus/description_menu.rs#L648-L650, when start != 0, offset may be greater than lb.len()  @sholderbach
PS:  Maybe we can add debug_assert in set_insertion_point to check whether the insertion point is valid.

A possible quick fix:

diff --git a/crates/nu-cli/src/menus/description_menu.rs b/crates/nu-cli/src/menus/description_menu.rs
index 5f7434bb0..26db0afb7 100644
--- a/crates/nu-cli/src/menus/description_menu.rs
+++ b/crates/nu-cli/src/menus/description_menu.rs
@@ -646,7 +646,10 @@ impl Menu for DescriptionMenu {
                 |lb| {
                     lb.replace_range(start..end, replacement);
                     let mut offset = lb.insertion_point();
-                    offset += lb.len().saturating_sub(end.saturating_sub(start));
+                    offset += lb
+                        .len()
+                        .saturating_sub(end.saturating_sub(start))
+                        .saturating_sub(start);
                     lb.set_insertion_point(offset);
                 },
                 UndoBehavior::CreateUndoPoint,

Mhh the fix for nushell in nushell/nushell#9784 seems pretty subtle (still need to wrap my brain fully around it :D) I think we should keep some protections on the reedline side. Maybe debug_assert! is to lenient :P Either full assert to panic early or a return value that forces you to think about it.


How can I use Google Fonts with Kanboard?

Hello,
First, many thanks to Frédéric Guillot for this great tool, it's very usefull.
I installed the Css and Theme plugins, but unfortunately I'm unable to get Google Fonts to work :-/
It works if I place the html code in the head of the main index.php ( for example), but then it provocs blank pages when I create or delete a task or a project...
I tried to put the code in many other files, including app/Template/layout.php, but the font doesn't load. However, the code appears in the page source code when I check it.
Could someone help me with that issue please?
Thanks!

If you are loading the fonts from an external web server, you are probably blocked by Content Security Policy: https://github.com/fguillot/kanboard/blob/master/doc/plugin-overrides.markdown#override-http-content-security-policy
You probably need to add font-src.

Thank you for the answer, I succeeded to use Google Fonts.
The way to do it, for others facing the same issue...

Download the google fonts package (https://github.com/google/fonts) and upload on your server the .ttf files of the polices you wish to use
Call the police with the font-face rule (http://www.w3schools.com/cssref/css3_pr_font-face_rule.asp)
Apply on elements within your CSS code.

Kind regards


Extension does not activate in VS Code

I’ve installed the extension in VS Code, but it has not activated yet as I do not see the Einstein icon in the side bar. I have enable “Einstein for Developers” in the sandbox I am connected to in my sandbox org. I am using the latest version of VS Code 1.82.1 and have the latest version of the SF CLI installed as well. The other SF extensions load just fine.

Same exact issue. I have a feeling that there will be a lot of folks trying this out today as Dreamforce has ended.

Howdy!
A few questions to help us track down why the extension isn't activating.

If you run in the command pallet Developer: Show Running Extensions do you see the Einstein for Developers extension listed?

Do you see the small Einstein icon in the lower right  of the status bar?

We've added the ability to see debug logging.  If you open the settings you can turn on the debug logging with the following setting

After that reload VSCode and open the Developer tools with Developer: Toggle Developer Tools. If you right click the console from there you can save the log file.  Please email it to<EMAIL_ADDRESS>

It seems to be stuck in 'Activating'.
I do not see that small Einstein icon in the bottom right.

I'll work on getting the debug log to export.

Thanks for the Log @leefranke.  I can see where the Einstein extension is failing to activate b/c it can't find a dependency from the Salesforce CLI Integration extension.  Can you verify what version of the CLI extension you have currently installed? (The latest is v58.14.2).  You will find the extension version in both the Running extensions view and if you find the extension in the extensions panel.

I'm running 57.15.0. I'll update and see if that works.

That sort of worked. It is now running but it threw and error (at least I think it is that extension throwing the error):
Error loading webview: Error: Could not register service worker: InvalidStateError: Failed to register a ServiceWorker: The document is in an invalid state..
I'll send the logs.

Nice.  I created a ticket to detect the version of the CLI extension and provide guidance at activation.  I did a quick google on the webview error and it seems to be an inconsistent VSCode issue.  https://github.com/microsoft/vscode/issues/128649. Can you try a restart and see if it goes away?

@bbarlow-knauf can you check the version of the CLI extension you have installed when you get a few?   I just want to verify it was the same issue Lee was seeing.

The icons appear but the Einstein Sidebar does not have the prompt. I can start a different post for that issue.

@gbockus-sf I had an older version of the Salesforce Extension Pack. I updated all of the installed extensions and now Einstein for Developers is working for me. Thanks for the troubleshooting steps!

Closing this one as we found the issue 👍

@gbockus-sf my CLI version is "cliVersion"<EMAIL_ADDRESS>how are you getting v58.14.2 for CLI? I'm using sfdx version


Kubernetes (helm)

With a released image, it would be another way for people to QuickStart, using a helm chart to install the compose parts (with optional Grafana). You can get a free k8s cluster on Oracle or use something else locally.

Once we have the image published, would you mind writing a guide for this as well?
I am thinking we can get the image published to Docker as early as next week.


Improve/partners request spec

Description

Improve partners request spec and add spec to recertify partner
Type of change

Improve

Thanks for the tests!


"non admin users cannot access the system..." message appears for the admin user

The message appears as a warning when login as admin - is this the intention to warn admins, or the message should appear only for non admin users?

cc @chessbyte @dclarizio
@miq-bot add_label ui

@kbrock Is this additional cleanup from PR #4547?

This is a bug. mine.


Show Logs button does not work in Ubuntu 20

One of our users submitted this bug, I will try to reproduce and debug it

on my linux (ubuntu) and @i1i1's linux (arch), we were not able to reproduce this. Also checked the logs in detail, everything seems solid. Will close the issue for now.


Instagram Videos download error

I'm using the latest version - youtube-dl is up-to-date (2017.04.17)
Here's the output I'm getting:
--verbose https://www.instagram.com/p/BRi4BX-AsTL/?taken-by=nba
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'--verbose', u'https://www.instagram.com/p/BRi4BX-AsTL/?taken-by=nba']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2017.03.20
[debug] Python version 2.7.10 - Darwin-15.6.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
[Instagram] BRi4BX-AsTL: Downloading webpage
WARNING: unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "./vydl/main.py", line 19, in
File "./vydl/youtube_dl/init.py", line 464, in main
File "./vydl/youtube_dl/init.py", line 454, in _real_main
File "./vydl/youtube_dl/YoutubeDL.py", line 1884, in download
File "./vydl/youtube_dl/YoutubeDL.py", line 761, in extract_info
File "./vydl/youtube_dl/extractor/common.py", line 428, in extract
File "./vydl/youtube_dl/extractor/instagram.py", line 206, in _real_extract
UnboundLocalError: local variable 'comments' referenced before assignment

Duplicate of #12777. This is fixed in git and the fix will be included in the next version.


can't disable autoIndex

Is it possible to disable autoIndexing?
> http-server -h
...
  -i                 Display autoIndex [true]

> http-server -i false # does not work

Am I passing -i the wrong value?

@lanterndev how did you solve?

I guess it was with a -i 'false' instead


[manuf] Extract device_id from CP stage.

Extract device_id from CP to inject it into the FT stage. The individualize firmware is expected to  handle this at the device level as well.

Merge changes in #25469.


404 On hyper.is on Download Hyper for Linux

I didn't find how to contact anyone from team so posting it here:
Download link for Linux on the index page gives 404 error:
https://github.com/zeit/hyper/releases/download/1.2.0/hyper-1.3.1-x86_64-linux.AppImage

downloading for other os isnt possible either

for the meantime, you can get the AppImage file for other Linux distro from the release page.


Solution scalability

We have encountered an issue with how this solution scales as voicemail traffic increases.
The handleRequest method of KVSProcessRecordingLambda is looping through all records returned from the stream and processing each one serially.  Most of the time, the work being done in this Lambda is short-lived.  Not all CTR records on the stream are voicemails that need to be processed, and often time the batch is small.
However, each time that a voicemail does get processed, that takes a significant amount of time that scales with the length of the voicemail message.  Eventually under the right load conditions, this Lambda function will time out.  When that happens, this solution will retry that same batch of work again and end up in a spiral, getting further behind until other action is taken.
We have engaged with AWS enterprise support on this issue and have a temporary workaround, but the correct long term solution is to separate the concerns and break apart KVSProcessRecordingLambda.  One function should process a batch of work from the stream and quickly determine if additional work is needed.  A separate Lambda function can then take care of the work of storing a recording and can be invoked as needed.  This can be done through async Lambda invocation, or for more resiliency and processing control writing to an SQS queue that the second Lambda can pick work up from.

Hi NickAtSentry, thanks for the feedback. We have added it to the backlog, but at this point it's hard to tell when we'll get to it. We will update our changelog if it is supported in future.
Also, if you are able to resolve this, we would encourage you to send a pull request.

Why did the issue close?  It remains a problem with this solution, and one that could very likely impact customers other than us.  How would a customer considering this solution understand and account for scalability concerns?  Is the backlog visible to customers?

Just an update that we are working on an update to this solution which will resolve this issue.  No guarantees, but we are working to release an update in Q1 2024


Crash upon restarting game after inital load correctly the first time

having a crash with this after adding it and restarting the game the 2nd time, after adding the mod I had no issues loading up and getting in the game but once I restarted it I am getting the below crash
report
regards
scalda

@scalda That is a problem with the integration between Mini Moos and Mine Addons. A new version of Mine Addons is being released and it should fix the problem ;)

ok thanks any idea how long as i want to get the foolcraft update out today if possible

@scalda Just got released now, it is already available on the curse launcher ;)

thanks, this version worked


Potential memory leak in prediction retrieval

Hey all, just hoping if anybody can provide some insight to memory issues I’ve been encountering with our Label Studio deployment.
We are running version 1.1.0 in a manner similar to your docker deployment with containers for app, postgres, nginx, ml_server and redis.
Problems occur when attempting to retrieve predictions for the whole dataset (40k tasks, 10k annotations) through the UI (by toggling select all and retrieve predictions from the dropdown).
App container memory usage after build is < 300MiB and remains stable when labelling. When attempting to retrieve predictions memory usage climbs to around 1.4GiB and does not dissipate when the task completes. If I then attempt to retrieve predictions again, memory usage climbs further and usually leads to the app container exiting with code 137 (out of memory) or sometimes just crashing the host (Google Cloud e2-medium virtual machine with 3.8GiB usable memory running Ubuntu 20.04.2).
The UI recommends using an API post call to /api/predictions to fulfil this function however without the ability to batch tasks on this endpoint its unfeasible time wise for 40k tasks.
Let me know if there are further details I can provide.
Thanks!

I encounter the same problem when using the mmdection application in the tutorial. Has this problem been solved? Or is there a plan to solve it?

Hi @ch1ll @luxiangx
We are moving LS to active learning cycle and there won't be such call with a lot of tasks.
You can start training with /webhook endpoint, check webhooks documentation.

@KonstantinKorotaev
Thank you for your reply. Instead of training the model, I just used the model and configuration recommended in mmdet to help predict the coco images' annotations. However, the memory increases quickly and does not decrease after each image is inferred. I want to make sure if it's the mmdet or the label-studio problem.


DAWN-639 ⁃ Create basic system contract for Testnet3

As a base level, testnet3 should launch with the ability to

run multiple producers on multiple nodes.
send and receive "EOS" tokens to accounts
Grant "EOS" tokens a resources to any given account

We have a test.system contract which does some of these things already but, has no currency.
We need to clone that contract, and add the missing features then set that contract as the appropriate system contract for our serial testnet3 test networks.
ATC - We can launch a version of Testnet3 that allows the above things to happen.  Noting that resource limits may or may not be enforced so, verifying that the resource limits are set may need to be done via an integration test or manually tracing the code on any producer as it executes.

➤ Corey Lederer commented:
Bart will schedule a call with Dhanesh to review the details of this ticket and the outstanding work that is required to complete it.

➤ Corey Lederer commented:
Increasing story points due per Bart's request.


Fix the free gigs toggle

The free gigs toggle doesn't work if the gigs guide was navigated to from another page.

accordion.js also suffers the same bug


Fix Header title font for mobile devices.

Header title should reduce font size for mobile devices (medium to small screens)

Currently the Messenger title covers up the entire header

Need to make the title font responsive.

@abhijeet007rocks8  Can I work on it?

@DhrutikPatel Yes ofcourse ! go ahead 🔥


resolved conflicts. Added link

Hey, why hasn't this PR been merged? ..

@upasanadeka  try this year and make sure you follow and star the repo Happy hacking


fix: allow undefined ref prop

Overview
What is it?

[ ] Feature / enhancement
[x] Bug
[ ] Docs / tests / types / typos

Description
Allow undefined to be passed into ref props.
Fixes https://github.com/BuilderIO/qwik/issues/4346
If this is not how you would approach this problem @manucorporat, let me know! But hopefully this is a quick win.
Use cases and why
Please see the linked issue above for a use case example
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

The PR looks great! but we might need to a test, i think the best would be a e2e test.
In this file, let's add a new component:

Awesome, i've added a test to go along with it

Awesome work!!


merge from template-arlac77-github

.github/workflows/ci.yml

chore: add<EMAIL_ADDRESS>(jobs.test-browser.steps.uses)

.github/workflows/update_readme_api.yml

chore: add<EMAIL_ADDRESS>(jobs.update_readme_api.steps.uses)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.319%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
131

Relevant Lines:
134

💛  - Coveralls


Accessing stage variables in deploy.rb

Steps to reproduce
Set a custom variable in a stage:
set :stagevar, 'this is a stage'
Access this variable in deploy.rb:
set :deployvar, -> { fetch(:stagevar) }
Expected behavior
Using fetch(:deployvar) in deploy.rb should contain the contents of the :stagevar variable.
Actual behavior
:deployvar is nil
Basically I am trying to do this, https://capistranorb.com/documentation/faq/how-can-i-access-stage-configuration-variables/.
Without accessing variable(:deployvar) in deploy.rb, cap <stage> doctor shows that it has the correct value, from the :stagevar. If I use/fetch the variable in deploy.rb and run doctor it's nil. Thinking that it may be Ruby or Cap version dependent, I've tried over several versions of both, with the same result.
Very sorry if this isn't a bug and I am just using this wrong, but I spent a bunch of time looking and it seems like a bug.

Capistrano loads deploy.rb first, then it loads the stage that was specified on the command-line.
In your example, fetch(:deployvar) is indirectly calling fetch(:stagevar), so it is the same as if you had just written fetch(:stagevar). If you do this at the top level of deploy.rb, this will return nil, as you've seen. That's because the stage file hasn't been loaded yet. That is expected behavior.
Capistrano intends for you to use fetch within a task definition or within a deferred block (i.e. -> { ... }). A bare fetch at the top level is something you should never need to do in practice.

You can see the load order here:
https://github.com/capistrano/capistrano/blob/7921fe6f8e70d6bfc85e4f0b9023ac7d491195ae/lib/capistrano/setup.rb#L27-L28

Docs at https://capistranorb.com/documentation/faq/how-can-i-access-stage-configuration-variables/ seems to say I can do this tho. So you can't use a custom variable set in a stage in deploy.rb.

Yes, you can.
# deploy/production.rb
set :greeting, "hello production"

# deploy/staging.rb
set :greeting, "hello staging"

# deploy.rb
task :greet do
  puts fetch(:greeting)
end

$ cap production greet
hello production

$ cap staging greet
hello staging

Now if I could only set that task as a default before every other task, which afaik isn't possible and what had me trying to do what generated this ticket. Anyhow, HUGE thanks for the info/help and sorry for the noise here.

I am refactoring an existing cap that uses a ton of custom namespaces/tasks. I would need to hook into them all for that. Originally I hoped to set a var in the stage to "go down the refactored path", but it looks like I'll need to use an ENV var for this. Which I had wanted to avoid.

@mcg  it's perhaps somewhat off topic for this thread, but you should be able to programatically add a prerequisite for all tasks, or monkeypatch Rake::Task.
Capistrano is based on Rake, if you look into the code Capistrano is just a subclassed Rake::Application and you can leverage the hints listed here to metaprogram against the taskset:

https://ruby.github.io/rake/doc/rakefile_rdoc.html#label-Accessing+Task+Programmatically

We can't really support that, you're pretty much going off-road, but it ought to be doable. Caveat that the load order might bite you if you monkeypatch or metaprogram too early (but Matt's notes above ought to help you find the right place to hook in)


#139: Fix Failed to Update Child Documents

This fix ensures the routing is used properly when updating parent-child related documents.

@bstst Will this also work for ES 6.x? Afaik, parent/child has been changed to join instead.

@divyanshu013, I haven't tested it on 6.x. But this fix only appends additional parameters to the update request body when routing is specified as required in the index mapping. If no one else will test this I'll pull a 6.x image some time later and will test it myself.

@bstst Yes, this would append a parent query string value. I am not that familiar with the parent-child / joins and I couldn't find any mention on the Elasticsearch official docs for 6.x if this would be allowed (or have the desired effect).
It would be awesome if you can check on that - as I feel this is one of things they have made breaking changes to since v5.

@siddharthlatest, since there is no parent-child mapping in v6 — my changes don't seem to affect the way dejavu works with v6.
The way dejavu DOES or DOESN'T work with v6 is another question. That is out of scope of this issue, but there seem to be quite a bit of editing issues in there. I suppose they should be addressed in another issue.

You are checking for mapping._routing and mapping._routing._required and based on it, adding a parent query string param to the request. As long as doing this doesn't result in a failed index request on ES 6, I am okay with merging this PR. @bstst Do you know if this will hold true? I can't find anything in their docs about it.
I agree that we should address the parent-child join relationship in a different issue.

I tried specifying a parent query string on ES v6.2.3 without an existing parent-child mapping and it threw this:
{
   "error":{
      "root_cause":[
         {
            "type":"illegal_argument_exception",
            "reason":"can't specify parent if no parent field has been configured"
         }
      ],
      "type":"illegal_argument_exception",
      "reason":"can't specify parent if no parent field has been configured"
   },
   "status":400
}

I suspect this would fail on ES v5 as well.
It would be great if we can add an additional condition to verify if there indeed is a parent-child mapping before applying the parent query string.

@siddharthlatest, could you show me the mapping output of the index?

@bstst I didn't set a parent-child relationship, neither did I set routing path with the mappings. I only tried to make an index request with a parent present in the query string and it complained that I can't specify parent if no parent field has been configured.

@siddharthlatest, exactly — my change will only add parent to the query if it exists in the mapping routing. and since v6 works differently, my change does not affect the way dejavu works with v6.

Thank you for contributing @bstst! 🎉 These changes will be out in the next minor release.


[cinder-csi-plugin] Remove redundant imagePullPolicy

Signed-off-by: Victor Sollerhed<EMAIL_ADDRESS>
What this PR does / why we need it:
Which issue this PR fixes(if applicable):
fixes https://github.com/kubernetes/cloud-provider-openstack/issues/1598
...as done for cinder-csi-plugin chart version 1.4.x in: https://github.com/kubernetes/cloud-provider-openstack/pull/1602
...but now for cinder-csi-plugin chart version 1.3.x.
...to ensure a smooth upgrade for anyone else passing Kubernetes v1.21 before v1.22.
Special notes for reviewers:

Release note:

NONE

@jichenjc PTAL. ❤  This backport should be quick to review.

/ok-to-test

@MPV looks like this is valid error, seems related to go version ?
I0208 00:44:57.423] hack/verify-gofmt.sh
I0208 00:44:57.584] diff -u ./pkg/util/blockdevice/blockdevice_unsupported.go.orig ./pkg/util/blockdevice/blockdevice_unsupported.go
I0208 00:44:57.584] --- ./pkg/util/blockdevice/blockdevice_unsupported.go.orig	2022-02-08 00:44:57.448072780 +0000
I0208 00:44:57.585] +++ ./pkg/util/blockdevice/blockdevice_unsupported.go	2022-02-08 00:44:57.448072780 +0000
I0208 00:44:57.585] @@ -1,3 +1,4 @@
I0208 00:44:57.585] +//go:build !linux
I0208 00:44:57.585]  // +build !linux
I0208 00:44:57.585]
I0208 00:44:57.585]  /*

@jichenjc My change is only related to the helm chart for cinder-csi-plugin — any suggestions on how to fix the broken CI in this release-1.21 branch (to make patch releases possible, like for this PR)?

@jichenjc I accidentally removed my fork, could you take a look at this new PR instead?
See https://github.com/kubernetes/cloud-provider-openstack/pull/1781
(which also contains a fix from running ./hack/update-gofmt.sh which I hope should fix the CI failure).


Change assets dependency while creating

What steps will reproduce the problem?
$asset = new \common\assets\TextExpanderAsset();
$asset->depends[] = 'common\themes\fancy\Asset';
$asset::register( $this );

What is the expected result?
<link href="/web/assets/bfaa24ff/css/expander.css?v=1485522608" rel="stylesheet">
<link href="/web/css/theme.css?v=1485522609" rel="stylesheet">

What do you get instead?
<link href="/web/css/theme.css?v=1485522609" rel="stylesheet">
<link href="/web/assets/bfaa24ff/css/expander.css?v=1485522608" rel="stylesheet">

Additional info
TextExpanderAsset its depency is never the same, it is used by theme and by widget.

Q
A

Yii version
2.0.10

PHP version
7.0.3

Operating system
Win10

Had no markdown, html text is now visible

Please provide code for these asset bundles. It's not clear how these are configured now.

$asset::register( $this );

this does not work, register is a static method and has no idea of object context.
To customize bundle settings you have to set them on the asset manager's $bundles property.
http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#customizing-asset-bundles

I know it does not work that way, but in some cases it would be handy for re-usablity
class TextExpanderAsset extends AssetBundle
{
    public $sourcePath = '@common/assets/plugins/text-expander';
    public $css = [
        'css/expander.css',
    ];
    public $js = [
        'js/expander.js',
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'common\assets\BootstrapAsset',
    ];
}

This AssetBundle is standard, but we use it for different domains. This bundle will be loaded when TextExpanderWidget is called. Usually this works, but now we have a custom view that inherits the basic view and it needs an order on how the assets are loaded. Now I could make a custom Asset bundle which i load inside that template with the appropriate order, but it would be nicer if we could change the dependencies before registering.

check the docs I linked, you can already do this.

How would the approach be? Like this(?):
    public function init()
    {
        parent::init();
        if($_SERVER['HTTP_HOST'] == 'domain1.com')
                $this->depends = [
                       'yii\web\YiiAsset',
                       'common\assets\BootstrapAsset',
                       'common\assets\TextExpanderAsset',
                ];
        elseif($_SERVER['HTTP_HOST'] == 'domain2.com')
                $this->depends = [
                       'yii\web\YiiAsset',
                       'common\assets\TextExpanderAsset',
                       'common\assets\BootstrapAsset',
                ];
        elseif($_SERVER['HTTP_HOST'] == 'domain3.com')
                $this->depends = [
                       'yii\web\YiiAsset',
                       'common\assets\TextExpanderAsset',
                       'common\assets\BootstrapAsset',
                ];
        elseif($_SERVER['HTTP_HOST'] == 'domain4.com')
                $this->depends = [
                       'yii\web\YiiAsset',
                       'common\assets\TextExpanderAsset',
                       'common\assets\BootstrapAsset',
                ];
        elseif
                //etc.
    }


[chore] update readme and docs demos

Closes #955.
Changes proposed:

Update the readme and doc's demos. Updating to a modern version of react-modal fixes the accessibility issues noted in the issue automatically.
Remove the setAppElement example. A warning is now logged when the app element is not set so removed this one and instead setAppElement in all other demos.
Add a new styled-components example.

The demos themselves have remained largely unchanged apart from converting to functional components. They are still styled simply and do not set any extra props. All demos are stored in this CodePen collection.
Upgrade Path (for changed or removed APIs):
Acceptance Checklist:

[x] The commit message follows the guidelines in CONTRIBUTING.md.
[x] Documentation (README.md) and examples have been updated as needed.
[x] If this is a code change, a spec testing the functionality has been added.
[x] If the commit message has [changed] or [removed], there is an upgrade path above.

Remove the setAppElement example. A warning is now logged when the app element is not set so removed this one and instead setAppElement in all other demos.

This needs to come back. setAppElement has been a hard feature to explain to users.


feat: more compiler updates

🧰 Changes
Adds compilers for html-block and readme-glossary-item.
🧬 QA & Testing

[ ] tests pass?

This PR was released!
🚀 Changes included in v6.35.0-next.1

This PR was released!
🚀 Changes included in v6.35.0


after send image，  WARN PuppetLoginMixin logonoff() is deprecated, use isLoggedIn

it also work ,but there is some errs

Yes you are right, after inspecting the code, there have been some selfId() calls in the puppet wechat package.
This problem should have been fixed by the latest commit, and please try<EMAIL_ADDRESS>to see if it resolve the problem, and feel free to let me know the result.

thank you, but there is some problems with npm install
npm ERR! notarget No matching version found for<EMAIL_ADDRESS>
Have you published to npm?

The v1.7.1 has failed some unit tests.
Please wait for the v1.7.2 to be published, you can see the result from the GitHub Actions at here

@huan  it works without problem. thank you!

You are welcome.
Please help us to close this issue if you have no future questions.


Azure Services for Management Service Discovery

Is there Azure Services available for Management Service Discovery mentioned here?

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

ID: 78a7e7bd-23f3-a39f-9015-b77f14bb43e5
Version Independent ID: 0ac34e7e-315f-2452-bf0a-74e9b1068c38
Content: Microservices architecture style - Azure Application Architecture Guide
Content Source: docs/guide/architecture-styles/microservices.md
Service: architecture-center
Sub-service: cloud-fundamentals
GitHub Login: @MikeWasson
Microsoft Alias: pnp

@PingPongSet Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

AB#160239 - Thanks for reporting - this issue is under review

Management would be something like Kubernetes for orchestration. Same thing for service discovery.


Option to redirect log output to stdout

Add session option that lets the user choose whether log output is written to stderr (default) or stdout.
The reason for this is that stderr output appears in the Eclipse console view as red text by default (though customizable via a preference). Some users apparently find this confusing and want black text (stdout) instead, without having to modify preferences.

Note that if you really want this, you can use logging configuration to accomplish it.
Just use a logging key in a config file that looks like the example below. It overrides the root log handler with one that writes to stdout.
logging:
  formatters:
    brief:
      format: '%(relativeCreated)07d - %(levelname)s - %(name)s - %(message)s'
  handlers:
    console:
      class: logging.StreamHandler
      formatter: brief   # reference to "brief" formatter above
      level: DEBUG
      stream: ext://sys.stdout
  root:
    level: INFO
    handlers:
      - console          # reference to "console" handler above
  loggers:
    pyocd:
      level: INFO        # set all pyocd loggers to INFO level
    pyocd.core.coresight_target:
      level: DEBUG       # set this logger to DEBUG level


chore: update vitest coverage

update @vitest/coverage-istanbul to match vitest version, otherwise test coverage cannot be generated now

Closing this as now dependencies will be upgraded by renovate bot.


Translations for Cancel / Done Buttons on iOS

Hey there,
I'm developing an App with German as primary language. When launching the App on an iPhone with German language settings I couldn't find a possibility to translate the Cancel and Done texts for the buttons. I added the German translation key to CFBundleLocalizations and also set the CFBundleDevelopmentRegion to German in the Info.plist file.
Am I missing something?

Hi @RyamBaCo,
The ImagePicker Gallery is implemented manually in the plugin and does not support multiple languages at this time.
For your case you could change the needed strings for the buttons and titles in the image-picker and to create your own tgz file, which you could install in the project. You could follow the below attached steps:

git clone https://github.com/NativeScript/nativescript-imagepicker
cd nativescript-imagepicker/nativescript-imagepicker
open nativescript-imagepicker/nativescript-imagepicker/viewmodel.ios.ts file and make the needed changes for the properties getters.
to build the tgz, first run npm install
tns
npm pack - this will generate tgz file in the default folder

When you complete that, you could install the plugin from the tgz with tns plugin add <path to the tgz>

Alright,
thank you for the detailed response! I will do that and maybe create a pull request where you can add alternative strings as options.

Pull request created.


BootNTR CIA hangs on 9.2 n3DS emunand...

Not sure if this issue would also occur on 9.2 sysnand but an issue with 9.2 emunand.
Currently using Aureinand to boot 10.6 sysnand and 9.2 emunand. And yes it's configured to use 9.0 FIRM for 9.2 emunand. So for all intensive purposes, it's a true 9.2 environment.
BootNTR detects FIRM and home correctly. It displays the following information:
BootNTR 2.4
tmpBuffer: 1418a000
firmVersion: 09000000
testing svc_backDoor
testSvcBackdoor OK
patching svc check
BootNTR hangs at the "patching svc check" Sometime hanging at the step after that. Because it freezes, It won't output debug files I think so I can't provide anything else to help find out why this is happening.

why dont you have a 9.2 sysnand?

Because I rarely use my 9.2 emunand. I have Arm9LoaderHax so I have things like Decrypt9 as a Arm9LoaderHax payload. So I made sysnand my latest nand. (plus I have a nand mod so there's 0% risk with this setup. :P )

Also, I found that if I use PowerButton to close Home Menu, then come back directly to the BootNTR, it works properly. So it does work. It's just much more spotty then it is on my 10.7 sysnand. Not sure why.

Seems it have problems with 9.2 NATIVE_FIRM。

Well, that won't do... 9.0, 9.1 and 9.2 all use the same native_firm!

Are you sure it'snot just a bad address due to home menu or something?

Try and reinstall ntr

The only real difference between 9.0 and 9.2 is Home Menu version and CVER/NVER.
However I'ved tried reinstalling BootNTR CIA, it has made no difference. It only works if I close home menu with power button first, then press Home Button and launching BootNTR. Even then it has about a 60% boot rate and all fails consistently occur at the patching svc checks phase.


Difference betwee birthdate and birthDate - should we be case-sensitive?

[16:05:23] Al Amyot: Ewout, I've also noticed that on your server, "birthdate=1945-01-01" returns 1 result and "birthDate=1945-01-01" returns ALL results.  I've searched the FHIR spec for references to case sensitivity/capitalization and have not managed to find whether the terms should be case-sensitive or not. Is your server's behaviour correct? If the term should be case-sensitive, should the server return an error when the wrong one is supplied?

From the spec: Servers are not required to enforce case sensitivity on parameter names, though the names are case sensitive (and URLs are generally case-sensitive).
The server doesn't have to return an error for search parameters it doesn't understand. When issue #44 has been resolved, it will be more clear the server didn't take birthDate into account.


Indexer-common: Fix graph-node deployment rules; remove reassign command on initial deployment

Wanting to use the graph-node deployment rules (as shown here), I followed the logic path for the subgraph_deploy graph-node RPC method. I found that it already selects an initial deployment based on the deployment rules, ignoring any deployment target you pass with the RPC call. So I took a look at the indexer agent program, and I found that after it calls the subgraph_deploy RPC method, it calls the subgraph_reassign method, which doesn't ignore the target node you pass with the call.
Removing the redeploy call leaves the graph-node to decide the target deployment based on the deployment rules defined in your graph node config, as it should be.

I just saw https://github.com/graphprotocol/indexer/pull/867, so I'm going to close this PR since that is a much more thorough fix. I will post this as a patch in discord though, since this is a quick fix that will work nicely until the more thorough fix is merged.
For posterity, this is the graph-node logic I tracked down that I knew it would work:
https://github.com/graphprotocol/graph-node/blob/d9b37b30f38f4647fa718fbd32de6322a181032f/store/postgres/src/subgraph_store.rs#L533
There you can see it ignores the node_id it passes through when deploying a subgraph. And I traced that from the subgraph_deploy RPC call handler here:
https://github.com/graphprotocol/graph-node/blob/d9b37b30f38f4647fa718fbd32de6322a181032f/server/json-rpc/src/lib.rs#L122
And there's also a mention here that it shouldn't even be accepting a node_id as a parameter.
https://github.com/graphprotocol/graph-node/blob/d9b37b30f38f4647fa718fbd32de6322a181032f/store/postgres/src/subgraph_store.rs#L1282
My simple patch:
diff --git a/packages/indexer-common/src/graph-node.ts b/packages/indexer-common/src/graph-node.ts
index 62cc6fa..9c10a8c 100644
--- a/packages/indexer-common/src/graph-node.ts
+++ b/packages/indexer-common/src/graph-node.ts
@@ -383,7 +383,6 @@ export class GraphNode {
           })[0].id
       await this.create(name)
       await this.deploy(name, deployment, targetNode)
-      await this.reassign(deployment, targetNode)
     } catch (error) {
       if (!(error instanceof IndexerError)) {
         const errorCode = IndexerErrorCode.IE020


Dota 2 Killstreak effects not working?

Title sums it up I guess. Everything else is working perfectly while killstreaks do nothing.

Guess more is not working. I only have the health, mana and item slots working. The rest is gone.

Keep realising new stuff. Think the demo option in the hero loadouts ruin it. Going for a game now let's see what's up over there.

Everything is working apart from the team background colors. Could not test the killstreaks I was a support. Any thoughts on how I can fix it?

What do you mean apart from team background colors? Those are supposed to fade after a few seconds after spawning.

Oh. That, I did not know. Guess everyting is working perfectly fine then. Just had an inconsistency in the start. Thanks anyway @antonpup!


Clear-History isn't working on OS X 10.11.6

Steps to reproduce
Clear-History
Expected behavior
https://technet.microsoft.com/en-us/library/hh849733.aspx
Actual behavior
Clear-History does not delete previously used commands
Environment data

> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    v6.0.0-alpha.9
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Tried same thing on OSX also, indeed you still get your history with arrow keys, but if you query the history with Get-History then it appears cleared.
Perhaps 2 different sets of history are kept?

I did some dtracing.
Looks like there are indeed 2 sets of history, one from the powershell, other from readline.
The readline one is in ~/.local/share/powershell/PSReadLine/ConsoleHost_history.txt and it is not cleared when calling Clear-History

I did more digging. This is https://github.com/lzybkr/PSReadLine that is saving the history.
So in fact the Clear-History might not even be doing anything wrong (though it is misleading).
There are some workarounds, such as removing the history file - http://stackoverflow.com/questions/13257775/powershell-clear-history-doesnt-clear-history
But probably PowerShell guys will provide much better answer.

This issue was moved to lzybkr/PSReadLine#465


App doesn't work on Android 10

I tried toggling on-off multiple times, it did not lock the apps.

it seems to be working only "sometimes".
the ones i have chosen to lock, automatically get toggled off.
also, the app icon is the default android icon.

it gets activated too late.
i have locked the "Settings" app using AppLock, but when I uninstall any app, it doesn't lock that "Uninstallation" service.

Doesn't work at all for me

yea it only works like occasionally

Hello, I have the same issue. The lock screen appears from time to time when launching a locked application on Android 10, but not always. And sometime with a delay.

Hello, I have the same issue. The lock screen appears from time to time when launching a locked application on Android 10, but not always. And sometime with a delay.

pretty sure this project is dead I would advice someone to fork it if they care tbh

pretty sure this project is dead I would advice someone to fork it if they care tbh

pretty sure this project is dead I would advice someone to fork it if they care tbh

Yeah this project is dead 😢
This is the exact problem introduced by Google https://developer.android.com/guide/components/activities/background-starts
There are lots of problem(high maintenance, privacy concern, higher battery usage) in porting to some other working hacky way . This app also inherited some complexity from upstream code so it is very hard for me maintenance these codes(due to less free time).
I had also tried to fixed these bug but all are in vein, didn't test them (due to no free time), and fixs are also incomplete(you can check them in 'dev' branch), and android restriction discouraged 😞  me to put my time in this app.
it seems that this fork has some new dirty commits.

pretty sure this project is dead I would advice someone to fork it if they care tbh

Yeah this project is dead 😢
This is the exact problem introduced by Google https://developer.android.com/guide/components/activities/background-starts
There are lots of problem(high maintenance, privacy concern, higher battery usage) in porting to some other working hacky way . This app also inherited some complexity from upstream code so it is very hard for me maintenance these codes(due to less free time).
I had also tried to fixed these bug but all are in vein, didn't test them (due to no free time), and fixs are also incomplete(you can check them in 'dev' branch), and android restriction discouraged 😞  me to put my time in this app.
it seems that this fork has some new dirty commits.

Hello,
I used Display over others apps permission to solve this problem,
as it mentionned here:
https://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW
I used this piece of code to allow this permission
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
if (Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(intent);
}
}

Hello,
I used Display over others apps permission to solve this problem,
as it mentionned here:
https://developer.android.com/reference/android/Manifest.permission.html#SYSTEM_ALERT_WINDOW
I used this piece of code to allow this permission
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
if (Settings.canDrawOverlays(this)) {
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
startActivity(intent);
}
}


Mid-term update team 28

We completed the update on Sunday (13th Nov, please see time-step), but somehow our pull request didn't get through yesterday. Creating a new pull request. Thanks

Final Project Update

I have followed the steps mentioned to create the new pull request from our forked repository.
Final Project Report is the name of the latest commit (d47de2f).
Before making request I have pulled from the origin/main repository (https://github.com/ucla-rlcourse) as instructed.
The video and final progress is updated in the .md file and folder with images has been updated.