Path regex issue

If the path is $a.b.c, path.match returns "a", "b" & "c" which is wrong. It should have returned "$a", "b" & "c". Please fix the regex. Refer this link: http://www.ecma-international.org/ecma-262/5.1/#sec-7.6. $ and _ can also be part of valid identifiers which you missed.

Dropping a comment here as well, as I too have experienced this bug. Note the $or in the visual middle of the input and the lack of $ in the or in the output.
Input
{
    "dateCreated": {
        "$gte": "2016-02-05T08:06:57.006Z"
    },
    "price": {
        "$lte": 8000
    },
    "classification.noKitchen": {
        "$ne": true
    },
    "classification.swap": {
        "$ne": true
    },
    "classification.shared": {
        "$ne": true
    },
    "classification.commuters": {
        "$ne": true
    },
    "classification.girls": {
        "$ne": true
    },
    "$or": [
        {
            "time.period": {
                "$gte": 6
            }
        },
        {
            "time.isLongTerm": true
        },
        {
            "time.end": null
        }
    ],
    "disabled": {
        "$ne": true
    },
    "notified": {
        "$ne": true
    },
    "active": true
}

Output
{
    "dateCreated": {
        "$gte": "2016-02-05T08:06:57.006Z"
    },
    "price": {
        "$lte": 8000
    },
    "classification": {
        "noKitchen": {
            "$ne": true
        },
        "swap": {
            "$ne": true
        },
        "shared": {
            "$ne": true
        },
        "commuters": {
            "$ne": true
        },
        "girls": {
            "$ne": true
        }
    },
    "or": [
        {
            "time": {
                "period": {
                    "$gte": 6
                }
            }
        },
        {
            "time": {
                "isLongTerm": true
            }
        },
        {
            "time": {
                "end": null
            }
        }
    ],
    "disabled": {
        "$ne": true
    },
    "notified": {
        "$ne": true
    },
    "active": true
}

Ah.  Thanks for the catch!

Looks like "_" is already covered.  Unless I'm missing something?  Can you write a test to demonstrate?  It would be covered under /[\w]/


support Garmin GPS 18x LVC

Status
PRODUCTION
Description
I added Garmin GPS 18x LVC driver which is used with Velodyne interface box.
Todos

[x] Tests
[ ] Documentation

Steps to Test or Reproduce
Just check the "Garmin GPS 18x LVC" in the Sensing tab.
/nmea_sentence is published.

@kitsukawa is this available for all Velodyne sensors (16, 32, 64)?

@dejanpan This is available for VLP-16 and HDL-32E when Garmin GPS 18x LVC is connected to the interface box of Velodyne. I am not sure about HDL-64E.


feat(bus): implement exponential backoff retry strategy

closes #13

Rebase onto feat/bus) Since this PR should integrate retry strategy into dispatchers as well

@RomanReznichenko you should rebase this branch onto feat/bus.

You

Rebase onto feat/bus) Since this PR should integrate retry strategy into dispatchers as well

@RomanReznichenko you should rebase this branch onto feat/bus.

@RomanReznichenko don't make me repeat it again) Moreover, Your branch contains stale changes from merged branches
[1] https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork#syncing-a-fork-from-the-command-line
[2] https://womanonrails.com/git-rebase-onto

Please describe how to use the strategy and how to implement its own

^


weavedns container is no more, so we can't check for it

https://github.com/weaveworks/scope/blob/master/scope#L24
I'm guessing we can just make the relevant calls against the weave container directly.

husserl ~/src/github.com/weaveworks/scope (without-system-containers ▪2) ./scope launch
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
weavedns container is not present.    I get:
vagrant@ubuntu-14:~/src/github.com/weaveworks/scope$ docker ps
CONTAINER ID        IMAGE                         COMMAND                CREATED             STATUS              PORTS                                                                                NAMES
59f377c3beb0        weaveworks/weaveexec:latest   "/home/weave/weavepr   4 days ago          Up 4 days                                                                                weaveproxy
bdff0ce15757        weaveworks/weave:latest       "/home/weave/weaver    4 days ago          Up 4 days           <IP_ADDRESS>:6783->6783/tcp, <IP_ADDRESS>:6783->6783/udp, <IP_ADDRESS>:53->53/tcp, <IP_ADDRESS>:53->53/udp   weave
vagrant@ubuntu-14:~/src/github.com/weaveworks/scope$ ./scope launch
728a218377df25d5410861728ba793eecb3f23f432731d16836af760509f5146
Weave Scope is reachable at the following URL(s):
  * http://<IP_ADDRESS>:4040/
  * http://<IP_ADDRESS>:4040/
  * http://<IP_ADDRESS>:4040/

Relevant changes:

https://github.com/weaveworks/scope/commit/843ac4e8ee7f8801e53a67e5e6ca84f1f8fb1dc5
https://github.com/weaveworks/scope/commit/6860d02a1afc5d5f6eefd30c8ff422c311b1a633

Also, what version of weave are you running?

I'm on the without-system-containers branch, which definitely includes those commits. I'm using weave from current master, 6a34995.

I can reproduce this (on the same branch and with the same weave version),  I get:
vagrant@ubuntu-14:~/src/github.com/weaveworks/scope$ ./scope launch
dd7a305ed58ad55f5ba4111124c2741c26046bd5bd53687e2a05de3833e6d7da
Weave Scope is reachable at the following URL(s):
  * http://<IP_ADDRESS>:4040/
  * http://<IP_ADDRESS>:4040/
  * http://<IP_ADDRESS>:4040/

@peterbourgon if you can reproduce this, could you try:
$ bash -x ./scope launch

And paste the output?
Also, are you doing anything 'strange' - like using boot2docker, or running the scope script on your Mac with DOCKER_HOST set?

As for changes to the scope script: the current script is trying to be backwards compatible, and doesn't talk to any containers (it just invoked the weave script, which should do the right thing for the right version).
The only issue here is weave dns detection.  We check to see if port 53 is open on the docker bridge, and if not fall back to if there is a weavedns container running.

bash -x ./scope launch

+ set -eu
+ SCRIPT_VERSION='(unreleased version)'
+ '[' '(unreleased version)' = '(unreleased version)' ']'
+ IMAGE_VERSION=latest
+ IMAGE_VERSION=latest
+ SCOPE_IMAGE=weaveworks/scope:latest
+ SCOPE_CONTAINER_NAME=weavescope
+ WEAVE_CONTAINER_NAME=weave
+ WEAVEDNS_CONTAINER_NAME=weavedns
+ HOSTNAME=scope
+ DOMAINNAME=weave.local
+ FQDN=scope.weave.local
+ DOCKER_BRIDGE=docker0
+ IP_REGEXP='[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
+ IP_ADDR_CMD='find /sys/class/net -type l | xargs -n1 basename | grep -vE '\''docker|veth|lo'\'' |     xargs -n1 ip addr show | grep inet | awk '\''{ print $2 }'\'' | grep -oE '\''[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'\'''
+ WEAVESCOPE_DOCKER_ARGS=
+ WEAVESCOPE_DNS_ARGS=
+ '[' 1 -gt 0 ']'
+ COMMAND=launch
+ shift 1
+ case "$COMMAND" in
+ check_not_running weavescope weaveworks/scope:latest
+ case $(docker inspect --format='{{.State.Running}} {{.Config.Image}}' $1 2>/dev/null) in
++ docker inspect '--format={{.State.Running}} {{.Config.Image}}' weavescope
+ set_docker_bridge_ip
++ docker run --rm --net=host --entrypoint /bin/sh weaveworks/scope:latest -c 'ip -f inet address show dev docker0'
++ grep -m1 -o 'inet \([.0-9]\)*'
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ DOCKER_BRIDGE_IP='inet <IP_ADDRESS>'
+ DOCKER_BRIDGE_IP=<IP_ADDRESS>
+ SCOPE_ARGS=
+ command_exists weave
+ command -v weave
+ is_running weave
++ docker inspect '--format={{.State.Running}}' weave
+ status=true
+ '[' true = true ']'
+ return 0
+ container_ip weave
++ docker inspect '--format={{.State.Running}} {{.NetworkSettings.IPAddress}}' weave
+ status='true <IP_ADDRESS>'
+ case "$status" in
+ CONTAINER_IP=<IP_ADDRESS>
+ SCOPE_ARGS=--probe.weave.router.addr=<IP_ADDRESS>
+ weave_expose
++ weave ps weave:expose
++ awk '{print $3}'
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ status=<IP_ADDRESS>/16
+ '[' <IP_ADDRESS>/16 = '' ']'
+ command_exists weave
+ command -v weave
+ weave_dns_present
+ docker run --rm --entrypoint /bin/sh weaveworks/scope:latest -c 'nc -z <IP_ADDRESS> 53'
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ WEAVESCOPE_DNS_ARGS=' --dns <IP_ADDRESS> --searchpath weave.local'
++ docker run --privileged -d --name=weavescope --net=host --pid=host -v /var/run/docker.sock:/var/run/docker.sock weaveworks/scope:latest --dns <IP_ADDRESS> --searchpath weave.local --probe.weave.router.addr=<IP_ADDRESS> --probe.docker true
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ CONTAINER=4abab93896530389476864951e0e56d62710bae1435620cde4758ad0477f7123
++ docker run --rm --net=host --entrypoint /bin/sh weaveworks/scope:latest -c 'find /sys/class/net -type l | xargs -n1 basename | grep -vE '\''docker|veth|lo'\'' |     xargs -n1 ip addr show | grep inet | awk '\''{ print $2 }'\'' | grep -oE '\''[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'\'''
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ IP_ADDRS='<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>'
+ command_exists weave
+ command -v weave
+ is_running weave
++ docker inspect '--format={{.State.Running}}' weave
+ status=true
+ '[' true = true ']'
+ return 0
+ weave_dns_present
+ docker run --rm --entrypoint /bin/sh weaveworks/scope:latest -c 'nc -z <IP_ADDRESS> 53'
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
+ '[' -z '<IP_ADDRESS>
<IP_ADDRESS>
<IP_ADDRESS>' ']'
+ weave_dns_add 4abab93896530389476864951e0e56d62710bae1435620cde4758ad0477f7123 scope.weave.local <IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>
+ CONTAINER_ID=4abab93896530389476864951e0e56d62710bae1435620cde4758ad0477f7123
+ CONTAINER_FQDN=scope.weave.local
+ shift 2
+ for ip in '$*'
+ weave dns-add <IP_ADDRESS> 4abab93896530389476864951e0e56d62710bae1435620cde4758ad0477f7123 -h scope.weave.local
WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
weavedns container is not present. Have you launched it?

are you doing anything 'strange'

This is a DO droplet, so I launch weave with a nonstandard --ipalloc-range <IP_ADDRESS>/16.

So the problem is the scope script is using your installed version of the weave script, which must be old.  Try 'installing' a version of the weave script that matches the version of weave you are running.

Ah, got it.

That fixed it.


[rtl] Protect core_busy_o with a multi-bit encoding

This PR protects the core_busy_o signal using a multi-bit encoding to reduce the chances of an adversary for glitching this signal to low, thereby putting the core to sleep and e.g. not handling an alert.
Without this change, the glitch would only be detected once both the main core and the shadow core wake up again and the comparison of the core_busy_o signals continues.
This resolves lowRISC/Ibex#1827.

@vogelpi this looks good to me. But why keep any of the alert handling logic on gated clock anyways? While this change reduces the possibilities, if you move that logic to ungated portion, don't you remove the possibility completely?
I'm not suggesting we change this PR, but just wanted to understand.

@vogelpi this looks good to me. But why keep any of the alert handling logic on gated clock anyways? While this change reduces the possibilities, if you move that logic to ungated portion, don't you remove the possibility completely (i'm probably oversimplifying... the downstream cone is probably bigger than I imagine)?
I'm not suggesting we change this PR, but just wanted to understand.

Thanks for taking a look @tjaychen . IIRC the problem with moving the comparison logic into the ungated region is that after switching off the clock the comparison logic will not get new inputs from the main core, just from the shadow core for a couple of cycles. Similarly, after re-enabling the clock the shadow core will not produce new output for some cycles. Both this would then need to be handled (and hardened) in the comparison logic. Right now this logic is simple: after reset, there is a delay of a couple of cycles until we enable the comparison. After that point, there is no way to disable the comparison again.


Testing Apollo Link State

There seems to be a void in the documentation on testing with Apollo Link State. It would be helpful to have an example of how to test local state mutations using direct manipulation via ApolloConsumer or even how to setup a Mock Provider with default local state.

I'm having the same issue and thought I'd add some extra details to the problem:
Usually you test your Apollo/React code with MockedProvider. The problem is this is just testing your React/Apollo implementation. What I want to test is my apollo-link-state logic in isolation (not coupled to my React components).
I figured I can use the ApolloClient API to directly access the cache, then run queries/mutations to test my typeDefs, reducers, and defaults for my local state management.
For instance, to test your typeDefs you can do something like:
describe("typeDefs", () => {
  describe("Modal", () => {
    it("has an `id` field", () => {
      const id = 'Modal:1';
      const fragment = gql`
        fragment getModal on Modal @client {
          id
        }
      `;
      const modal = cache.readFragment({ fragment, id });
      expect(modal.id).toBeDefined();
    });
  });
});

The problem is you can't test your reducers because the cache API doesn't provide any method to run mutation, only fragment or query (such as with writeQuery and writeFragment).
I haven't figured out any way around this, or a suitable workaround for testing in the meantime. It seems odd there isn't a solution for this.

I was having the same issue. Here's how I solved it (using Jest):

Setup an ApolloClient with just the ApolloLink that's created from withClientState in apollo-link-state
Run readQuery and mutate directly on that client
Assert expectations on the results of the resolved Promise returned by mutate
Assert expectations on the results of the object returned by readQuery

// clientState.test.js

import React, { Component } from 'react'
import { ApolloClient } from 'apollo-client'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { withClientState } from 'apollo-link-state'
import gql from 'graphql-tag'
import { queryCurrentTeamId } from '../queries'
import { resolvers, defaults } from '../clientState'

const SET_CURRENT_TEAM_ID = gql`
  mutation SetCurrentTeamId($id: Integer!) {
    setCurrentTeamId(id: $id) @client
  }
`

const cache = new InMemoryCache()
const link = withClientState({
  resolvers,
  defaults: {...defaults, currentTeamId: 53},
  cache
})

const client = new ApolloClient({
  link,
  cache
})

it('queries currentTeamId', () => {
  expect(client.readQuery({query: queryCurrentTeamId})).toEqual(
    expect.objectContaining({
      currentTeamId: 53
    })
  )
})

it('mutates currentTeamId', (done) => {
  client.mutate({mutation: SET_CURRENT_TEAM_ID, variables:{id: 999}})
  .then(result => {
    expect(result).toEqual(
      expect.objectContaining({
        data: {
          setCurrentTeamId: null
        },
        errors: undefined
      })
    )
    expect(client.readQuery({query: queryCurrentTeamId})).toEqual(
      expect.objectContaining({
        currentTeamId: 999
      })
    )
    done()
  })
})

// clientState/index.js

import { queryCurrentTeamId } from '../queries'

export const defaults = {
  currentTeamId: null
}

export const resolvers = {
  Mutation: {
    setCurrentTeamId: (_obj, args, context, _info) => {
      const { id } = args
      const { cache } = context
      cache.writeQuery({query: queryCurrentTeamId, data: { currentTeamId: id }})
      return null
    }
  },
}

// queries/index.js

import gql from 'graphql-tag'
// ...
export const queryCurrentTeamId = gql`
  query {
    currentTeamId @client
  }
`
// ...


FSharp.Core assembly versions questions

We currently have package references to FSharp.Core pinned to 4.1.* versions and according binding redirects for FSharp.Core to <IP_ADDRESS>. The 4.1.19 package has a different assembly version, namely <IP_ADDRESS>, which as it looks like wasn't stated anywhere. Why does FSharp.Core 4.1.19 package use assembly version <IP_ADDRESS> instead of <IP_ADDRESS>?
Recent FCS nuget packages have 4.1.18 as dependency but FSharp.Compiler.Service.fsproj has it also pinned to 4.1.* which resolves to 4.1.19 from dotnet-core feed defined in https://github.com/Microsoft/visualfsharp/blob/4d75decc7b1e71879c305539c7b8af0f15041a04/NuGet.Config#L14 and, thus, built against <IP_ADDRESS> assembly. However, net45 assembly in FCS NuGet package references <IP_ADDRESS>. Why does the assembly from NuGet reference a different assembly version?

@auduchinok
There was a long compiler thread for this somewhere, but the short answer is.
The FSharp.Core 4.1 package train, packages the FSharp.Core along with all of the portable FSharp.Core versions.  It is for users who built projects on the old OSS project scaffolding and want to update to the most recent FSharp.Core without rearchitecting their projects.
The FSharp.Core 4.2 + package train has just the desktop and netstandard FSharp.Core, it is for new projects.
Shortly we will move to 4.5, and the language/core version numbers will be aligned once more, and hopefully we can keep them aligned.

@KevinRansom Thank you. I remember the long discussion, yes, I guess I've just missed the moment when we updated the assembly version in 4.1.* packages which could be a surprising thing to discover for people who previously used binding redirects to <IP_ADDRESS> just fine.
Anyway, if people used 4.1.* packages without pinning/locking a particular version they'd already face problems and there's not much sense to change it once again few months later.


'local'-'original' instead of 'local'-'universal'

In a follow-up to #32 I realised that we don't want to edit each pre-existing GitHub Issue and IssueComment to add a UUID to it.
And we don't have to. If we store the original resource identifier in each item that the BridgeBot creates, then it will know never to make copies of copies. A prefix system can guarantee that ORIs are also URIs.

I remember we talked about this already two years ago, with Angus and George arguing that all identifiers should be URIs and basically ORIs in this sense. So I'll adapt my code now to use that principle!


Mixed local and remote imports

What's your CLI version?
0.85.3
Description & steps to reproduce
import_module("../pkg/") may be local or remote import depending on the context. It is counter-intuitive and confusing. If it is called in the root of the package kurtosis will try to download pkg from github. Otherwise it will try to import from a local file.
Current mechanism does not allow for local integration testing of two kurtosis packages. It also makes the code ambiguous and difficult for static analysis.
Desired behavior
I suggest keeping relative imports always local. If there is a need for remote relative imports an alternative syntax may be used.
What is the severity of this bug?
Papercut; this bug is frustrating, but I have a workaround.
What area of the product does this pertain to?
Other: anything not covered by the above

thanks for reporting this @piwonskp  - we're thinking about a few usability refactors and will bucket this in with that work


is ADF V1 supported?

First of all, thanks for this library, I've been trying to find my data factories (v1) in my resource group and it can only find the v2 data factories, does this library only support ADF v2? if so, is there a workaround?
My resource group is in location US East 2
MY data factory V1 is in US East
    rg_name = 'rg-name-useast2'
    df_name = 'df-name-useast'

    subscription_id = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'
    credentials = ServicePrincipalCredentials(client_id='xxxxxxx-xx-',
                                              secret='xxxxxxx=',
                                              tenant='xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxx')
    adf_client = DataFactoryManagementClient(credentials, subscription_id)
    test = adf_client.factories.get(resource_group_name=rg_name, factory_name=df_name)
    print(test)

Error
b'{"error":{"code":"ResourceNotFound","message":"The Resource \'Microsoft.DataFactory/factories/df-name-useast\' under resource group \'rg-name-useast2\' was not found."}}'

Hi @saulcruz
I think this is supporting only v2, but maybe @hvermis has not insights about this.

ADF Python SDK supports only our V2. For V1 we have Powershell and C# only.
Sent from my iPhone
On 16 հոկ, 2017թ., at 9:28, Laurent Mazuel <notifications<EMAIL_ADDRESS>wrote:
Hi @saulcruzhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsaulcruz&data=02|01|hvermis%40microsoft.com|a2d74f97f6894558638708d514b2f27c|72f988bf86f141af91ab2d7cd011db47|1|0|636437681158126232&sdata=08ZRwXZ9HLe%2FiJ5hQw3Ncr2edAIhmMhofpaajuNr8G0%3D&reserved=0
I think this is supporting only v2, but maybe @hvermishttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fhvermis&data=02|01|hvermis%40microsoft.com|a2d74f97f6894558638708d514b2f27c|72f988bf86f141af91ab2d7cd011db47|1|0|636437681158126232&sdata=oJ64BsCgvI19sNs19VmDuMS4cobPFYlljADchpSgZMU%3D&reserved=0 has not insights about this.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-sdk-for-python%2Fissues%2F1532%23issuecomment-336942356&data=02|01|hvermis%40microsoft.com|a2d74f97f6894558638708d514b2f27c|72f988bf86f141af91ab2d7cd011db47|1|0|636437681158126232&sdata=9q9QffW5%2BAODBesyD%2FiAmVbyNpNKY66gCoZnfyQ7s8o%3D&reserved=0, or mute the threadhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAX4V4hGVelG_Lbgn_Ejz59GemohTFgrmks5ss4QygaJpZM4P6mmM&data=02|01|hvermis%40microsoft.com|a2d74f97f6894558638708d514b2f27c|72f988bf86f141af91ab2d7cd011db47|1|0|636437681158136240&sdata=MjTcaRFAuBYe6mmqdBGOD41RgWxQecexFht%2BkHnctoc%3D&reserved=0.

Thanks @hvermis !

thanks @hvermis


Update and improve Turkish translations

Coverage remained the same at 59.311% when pulling d008c67eeb578d7b825fbfa3af6308aaa3674edc on bitigchi:tr-locale into 12e86b79f8ad58c323cfe77cc134b0e804db8f87 on newsboat:master.

@dennisschagt approved this pull request.
I'm not familiar with the Turkish language, but the changes look good to me
In po/tr.po:

#: src/itemlistformaction.cpp:1389 src/itemviewformaction.cpp:569
#, c-format
msgid "Error: couldn't save article to %s"
-msgstr "Hata: Yazı %s' konumuna kaydedilemedi"
+msgstr "Hata: Yazı, %s' konumuna kaydedilemedi"
This translation (and the one above) have only a single quote after the %s without an opening quote.
Is that intentional?

That’s an error, that quote is not supposed to be there. I’ll fix it tomorrow.

—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.

Looks good, thank you!


Added auth type as instance principal for OCI

dp_object_store_type was hardcoded as azure. Changed it to take value from cloud_service_provider.
Applied instance principal authentication for oci bucket tasks.
Type of change
Please choose appropriate options.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

@akulavasu can you please resolve the conflict?

@AmiableAnil , cloud agnostic changes has been done in https://github.com/Sunbird-Lern/data-products/pull/73/files.
This PR can be ignored as dp_object_store_type is not used in the ansible tasks now.


Wake word timing issues

This may better be described as command completion timing issues - not sure.
From time to time Hi ESP will activate after the wake word and one of four possible outcomes can happen.

everything is fine - this is the majority of the time by the way.
The command will not complete before willow sends.
E.G. Hi ESP, Skip Drums and Space is sent as Skip or Skip Drums - this is the most common of the error conditions I see. Fairly repeatable with that particular command, presuming the cadence of the command is at issue, the command Two, give me two, which is another alias for the same command completes fairly regularly.
The command never completes or takes a long time to complete. There are times when after speaking the wake word and a command Willow will sit and act like I'm still speaking. Sometimes later completing the command (could this simply be a delay from the best effort inference server?) I don't think it's waiting on HA, as the screen is still on with the cancel button visible which makes me think it's still either "listening" or it's processing something on the box. And that leads us too...
Sometimes when 3 is occuring instead of completing eventually Willow will crash on the esp32 box and the server will reload.I think I've seen this maybe 4 times.

Note: Probably some of this is related to the background noise in our house - one more issue coming in on that next.

In your other issue #111 I referenced us exposing more configuration options. We've already added two:

VAD timeout. Once wake is activated and you start speaking, this is the amount of silence (in milliseconds) before VAD assumes you're done speaking and transcribes the captured audio. The default is 300ms but you can try extending this. Do note there is a trade-off - because it will wait longer for you to potentially finish your command the perceived latency of the command will increase by however many ms you add.

Maximum stream duration. This is a value (measured in seconds) that will trigger a final timeout after wake. With this value set it will only capture audio after wake for max $NUM seconds before cutting off VAD and sending the audio for processing. It's generally a good idea to have to ensure the mic doesn't get stuck open but should also help with the endless/very long VAD issue you are having. We assume the default value of five seconds should be long enough for someone to "spit out" a given command but we could certainly be wrong about that. However, like the VAD timeout you may need to kind of "dial-in" this value to ensure it's long enough for your commands and your rate of speech while also not being annoying long in the occasional instances when your background noise confuses VAD. One or more of the configuration options I mentioned previously may also help with the fundamental "background noise VAD confusion" issue.

I would suggest you check on #111 and this issue later in the day once we complete these changes so you can test with them.
In terms of the crash, that could be any number of things and we'll try to reproduce it. Essentially what is happening here is because Willow is intended to be a "no touch, no prompt" device if it ends up in some state of unknown confusion it will just reset itself to make sure it's good to try again for another command. It's one of the many "back stops" we have to ensure that even in it's early form Willow attempts to provide the best overall experience possible. We don't ever want to have to tell people to do things like "unplug it and plug it back in" - no matter how early we are.
Thanks again for reporting these!


[1.0.2] Animation on scroll

Added animation on scroll
Fixed i18n types
Optimized folder structure

📝 Changed routes:

/

(view full size)

Commit 3d97a249b33c9c8b882d544fba656e53c493f5b0 (https://personal-site-22qsaj3lo-alexander-trishin.vercel.app).


More format feature fixes.

Advertise linear filtering of linear textures on macOS. I don't see any
reason this was disabled, and I don't know why I didn't turn it on in
PR #391.
Advertise that texel buffers of VK_FORMAT_A2R10G10B10_UNORM_PACK32 are
supported. This was another oversight of mine in #391.
Don't advertise that sRGB formats can be used as vertex attributes.
I'm not sure what that would even mean--I'm guessing that the
implementation performs sRGB->linear conversion on the attribute before
loading it? But we don't do that and neither does Metal.

Xcode crashed.


Use getClass().getClassLoader() to load version properties file

I don't know why the former. But after googling, it seems the regular one is common and safe.

I don't know why the former. But after googling, it seems the regular one is common and safe.

Just for info @ruhan1 "getResourceAsStream" will search file inside classpath's relative to project root directorium.

Thanks and updated (also add a warn message if resource not found).


Messenger settings

How can I perform following tasks with botmaster ?

Set Messenger thread settings (Greeting, Get Started button, Persistent menu).
Set Messenger on boarding hook.
White list domains for Messenger extensions sdk.

Hi Ansari,
I am adding these and they will be made available in the next version of Botmaster coming in a few days. We will also be moving the bot classes out of botmaster core. So you will need to npm install these packages. All of the points mentioned here should be covered in that first version of botmaster-mesenger.

That would be great. Please also add Account linking to the list of messenger features.

Hi Ansari,
I saw that too. Those changes look awesome. I'll make sure to add them to the botmaster-messenger package asap.

See the changes in botmaster-messenger for the latest changes


dependency conflicts between storm applications and daemon

Unlike other Gearpump applications, Storm application could contain a bunch of third-side dependencies, which could easily have conflicts with daemon classpath. The daemon classpath includes a lot of dependencies from yarn.

Why storm module need to depends on daemon?

for DFSJarStore ?
  val stormClassPath = daemonClassPath ++ Seq(
    "${PROG_HOME}/lib/storm/*"
  )

Checked with @manuzhang
This is no longer a problem. Now we use a standalone nimbus service.


[Feature Request] Get ARM Server with hostParameters

For ARM tsp, getServers from typespec/http will return a Server with no hostParameters. This is due to a synthesized Server generated by @armProviderNamespace:
https://github.com/Azure/typespec-azure/blob/8b8d7c05f168d9305a09691c4fedcb88f4a57652/packages/typespec-azure-resource-manager/src/namespace.ts#L121-L127
This is not enough for SDKs. Since we allow customers to set host, e.g. Java:
private ApplicationInsightsManager(HttpPipeline httpPipeline, AzureProfile profile, Duration defaultPollInterval) {
        Objects.requireNonNull(httpPipeline, "'httpPipeline' cannot be null.");
        Objects.requireNonNull(profile, "'profile' cannot be null.");
        this.clientObject =
            new ApplicationInsightsManagementClientBuilder()
                .pipeline(httpPipeline)
                .endpoint(profile.getEnvironment().getResourceManagerEndpoint()) // set host
                .subscriptionId(profile.getSubscriptionId())
                .defaultPollInterval(defaultPollInterval)
                .buildClient();
    }

we need a Server parameter with hostParameters. Previously this is done by modelerfour(I guess).
Proposal:
We do either:

Provide a function getArmServer in TCGC to get the Server for ARM. When dealing with ARM, use getArmServer instead of current getServers, as ARM will probably have one server only.
Each language SDK handles on their own, e.g. Java PR
Change the @armProviderNamespace synthesized Server to have hostParameters. Though this will probably affect typespec-autorest, since it doesn't need hostParameters.
Implement it in getAllOperations in TCGC? (this I'm not sure)

I'm fine with both 1 and 2. There needs more discussion for 3 or 4.

i vote for 3 since arm has different entry point. @armProviderNamespace should not hard code host value.

I also vote for 3, but it might impact the generated swagger, so we will need more input from TypeSpec ARM team.

final decision: change arm decorator.

Hi @allenjzhang, may I know the plan for this issue? When will it be updated?

It feels to me like changing the host for client should be something that is always available regardless of what is configured to test against localhost for example

@timotheeguerin  I agree we should be able to change the host for this ARM case, but not sure if it's always changable, as for unbranding, user can only allow a specific endpoint, but not able to change. The problem is for ARM case, current TypeSpec definition does not allow changing the host.

The host should always be settable by the client. For example, ARM also has different sovereign cloud and azure stack endpoints which client needs to specify. Making ARM spec have parameterized host seems overkill and not necessary.

I think we need to make ARM spec have parameterized host, otherwise it's not changeable. If we always treat the host as changable even with constant host url, the problem is non-azure may have needs to not change the host.

So if someone wants to test with a test url(localhost or staging server) they have to make a different spec? This feels like a terrible experience, why not always allow it.

Hi @timotheeguerin, I don't have strong opinion on how to treat constant endpoint defined in TypeSpec. I'm fine with always treating the host as settable even it's a constant, as long as we have consistent behavior across Azure and non-Azure.
We previously discussed with @srnagar and agreed we have scenarios that the host cannot be changed. Chenjie and I have a discussion with Allen just now, Allen will talk with SDK archs again and have agreement on how to treat constant host. @allenjzhang Please update if you have agreement, Thanks!

The decision following our sync was to first implement this in TCGC, with later consideration of moving this into the compiler. TCGC will special case host parameters to make them a string with a clientDefaultValue. Here is the issue to revisit it in the typespec compiler: https://github.com/microsoft/typespec/issues/3821

Just to clarify here too but it should be the baseUrl that is overridable not the host(Basically the entire thing that @server would set

Per discussion in DPG sync meeting, we have discussed that:

Client with overridable host is fairly universal.
Having it centralized in TCGC to indicate the host is writeable is a good choice.

Issy opened issue to track the work item. https://github.com/microsoft/typespec/issues/3821

Filed a dedicated issue for tcgc https://github.com/Azure/typespec-azure/issues/1153


⚠ SceneTime has degraded performance

In 391f917, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1367 ms

Resolved: SceneTime performance has improved in 4bb4e11 after 9 minutes.


WIP Update ingress with --force

This will fix #109. I've refactored the ingress creation and deletion into yet another syncer. Let me know if you'd like me to take another path.
Things to do before PR is complete:

[ ] Implement tests
[ ] Look into maybe breaking up EnsureIngress method

/ok-to-test

I like moving out the code to create/delete ingresses from cmd/ and putting it into a library with a formal interface. But I dont think that that library needs to be in gcp/, since the logic is load balancer provider-agnostic.
Today we have only one LoadBalancerSyncer (the gcp one), but the idea is that we will have many for different load balancer providers. The generic cmd code will do the generic parts (like create ingress in all clusters) and then call the provider specific LoadBalancerSyncer to do provider specific bits.
To continue with that approach, how about moving IngressSyncer to app/kubemci/pkg/ingress/, instead of app/kubemci/pkg/gcp/ingress/. And then calling it directly from cmd/create.go and delete.go before calling LoadBalancerSyncer?
That way we get a library as we want and gcp LoadBalancerSyncer continues to have only gcp specific parts. And when we add more LoadBalancerSyncers they continue to use the generic cmd/ code.

Great point about separating ingress handling from the gcp package, it didn't occur to me that more LB providers would be added. I'll apply your suggestions.

Changes Unknown when pulling 65651c7464a88225559e5f2161e40eaa68ddd17c on glindste:update-ingress into ** on GoogleCloudPlatform:master**.

Thanks @glindste This looks great!
Remaining comments are about adding comments for public methods and interfaces and adding a test.


docs: add uml for core and index

add uml for easy discovery of recurrent problem in this project's architecture.
this link can visualize the core uml.
this link can visualize the index uml

LGTM that can make the discussion easier.


Location cannot be moved in testing-library

I used history.push() to test rendering in a specific location, but the location did not move the rendering result.
When I output the history object to the log, it was confirmed that it returned to the first location after moving to the location.
If you use react-router-dom's <Router> instead of <ConnectedRouter>, this doesn't happen.
What's the problem? Here is an example code.
https://codesandbox.io/s/connected-react-router-2-x9dng

If I add noInitialPop on the <ConnectedRouter />, I found the location would be changed after execute history.push. But I don't know whether this it right to write test like this.
App.js
const App = () => {
  const localtion = useLocation();
  // without 'noInitialPop', the location's pathname would be alway equal to '/'
  // with 'noInitialPop', the location's pathname would be equal to '/another-path'
  console.log(location);
}

App.test.jsx
test('location should be changed', () => {
  // After add noInitialPop this push would be trigger
  browserHistory.push('/another-path');

  render(
      <Provider store={store}>
        <ConnectedRouter history={browserHistory} noInitialPop>
          <App />
        </ConnectedRouter>
      </Provider>
  )
})


implementing set next window constaint

I want to use this feature is there a reason it was never added?

Most likely it's just that no one got around to it! Let me take a look.
void          SetNextWindowSizeConstraints(const ImVec2& size_min, const ImVec2& size_max, ImGuiSizeCallback custom_callback = NULL, void* custom_callback_data = NULL)
Looking at the signature, it's a mixed bag. If you only want to use size_min/size_max, the wrapper is trivial. But getting the callback to work will probably be harder, since you have to turn a Python callback into a C++ callback. (it should be doable, but might be a bit tricky)
If size_min/size_max are enough for you, I can submit a patch today! I'll look into handling the callback, but that might take longer.

WIP here: https://github.com/lubieowoce/pyimgui/commits/window-constraints/imgui
I've added a basic version of set_next_window_constraints(...) (defined in the core.pyx file). It only supports min/max_width and min/max_height for now. As I expected, the callback stuff is shaping up to be pretty hairy – it works most of the time, but the interactions of GC and non-GC code (calling a Python function from C) cause some nasty edge cases :(

I added initial support for callbacks, but it's pretty brittle – passing a lambda may result in a segault because (i think) the function object gets garbage collected too early. I explain it in more detail in the code and the commit message.
This gist has a test case that exhibits the problem. (at least on my machine – Windows, CPython 3.5.4. Since it's related to memory management, it may behave differently on other versions/OSes, but the underlying issue is there.).

After digging more into I'm pretty sure this cannot be done easily without a lot of effort or some kind of dedicated support implemented in core library. It also cannot be fully emulated in pure Python because that would require from us knowing position of window before it is even defined.
@lubieowoce, I believe that whatever we do it would be very brittle, complex and hard to understand. I think that right now it is better to leave is where it is (with optional "unsafe" implementation as proposed by you) and additional note in documentation explaining what kind of usage is considered unsafe: any functions that may not exist during next begin() so mostly lambdas and anonymously decorated functions (e.g partials).
I would also put all future "strictly unsafe" methods to separate module named unsafe. That way we can organize them easily and also keep from the eyes of less experienced users until they are sure that need particular implementation.

By the way: that's a very good catch. I'm pretty sure that I would forget about segfault possibility on lambdas.

@swistakm yeah, i tried increasing the refcount and it failed exactly for that reason you describe...
i have two (and a half) ideas to make it safe:

let's just maintain a reference to the callback for the rest  of the frame. create a global variable (or an _IO attribute?) _current_frame_callbacks = set(). when the user calls set_next_window_size_constraints(..., callback=f), we add f to _current_frame_callbacks. This way, we can keep the function object alive for as long as we want. later, at the end of the frame, we'd clear _current_frame_callbacks. I'm not crazy about fixing state problems by adding more state, but it should work.

all our problems come from the separation between unsafe_set_next_window_size_constraints(..., callback=f) and begin(...). the easiest way to get around it would be to create

def begin_with_size_constraints(..., callback):
     unsafe_set_next_window_size_constraints(..., callback=callback)
    begin(...)

it's not the nicest API, but would keep the user within the memory-safe realm.
if we offered context managers for window creation (to abstract away begin/end calls¹), it could be made nicer and more composable – something like
with window('hello', ...).size_constraints(..., callback=cb):
   draw_stuff()

a window would only call begin() during __enter__, and we'd get the size_constraints earlier, so we could arrange the calls appropriately.

By the way: that's a very good catch. I'm pretty sure that I would forget about segfault possibility on lambdas.

i write Haskell as well, so i love my lambdas and partials ;)

¹ i think I emailed you about this like a year ago, and then forgot completely!

@swistakm if we go with unsafe, what should the module structure look like? unsafe and core need to share some type definitions and utility functions, so I was thinking something like this:
  core (safe, wraps unsafe)
   | \
   | unsafe
   |   |
  common (types, utils)

Ok I did experiment with various options and gave it a very long though. We'll use all of your suggestions and probably introduce this gradually:

safe/unsafe module split
dedicated window context manager with safe size callback guard
optional safe set_window_constraint implementation with additional global reference tracking

We currently don't have any other widget accepting callbacks so all of these changes can be done in backwards-compatible way. So I will mark it as 1.1.0 milestone because I want to finally have the 1.0.0 release shipped this week.

sorry, i've been away for a while. your way of handling it sounds good! also, let me know if you have anything blocking 1.0.0 that i can help with!


Melting face emoji issue

Provided emoji is different from preview image for MS Teams seen on Emojipedia

Duplicate of #22

Duplicate of #22

I cannot find the MS Teams version of 🫠 anywhere.
Where can I find MS's animated version of 🫠 other than this image?
Sincerely, Sorgol


Remove hard coded database name

Type of Change

[X] Bug fix (non-breaking change, fixes #)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

fantastic! Thanks so much for fixing that. glad you're using the command too! i figured i was the only one 😅


outbound: bounce reason needs to be improved

From IRC:
Hi. This is the Haraka Mailer program at mxbt1.barontel.com.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

Intended Recipients<EMAIL_ADDRESS>Failure Reason: Error: Some recipients failed<EMAIL_ADDRESS>
e.g. the actual SMTP error message was not returned.   From the logs it was:
Feb 17 21:53:28 mxbt1 haraka[48106]: [NOTICE] [930E3B02-4254-4499-8294-70044A00835D.1.1] [outbound] recipient<EMAIL_ADDRESS>rejected: 550 5.7.1 Service unavailable; Client host [<IP_ADDRESS> <-- barontel.com] blocked using FBLW15; To request removal from this list please forward this message to<EMAIL_ADDRESS>

+1
Hi. This is the Haraka Mailer program at wulian.
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

Intended Recipients<EMAIL_ADDRESS>Failure Reason: Error: Some recipients failed<EMAIL_ADDRESS>

+1

I think #1189 is sufficient to close this. If not, @smfreegard can re-open it.


feature request: --strictFinality option to track the validator set / BeaconState

Request: new option (off by default as the BeaconState can be quite large - as can be the attester set) --strictFinality, which if passed:

From the --checkpoint we have BeaconBlock.state_root and probably also the BeaconState. If not, get it in full from /eth/v2/debug/beacon/states/{state_id}, or if not available, from the /eth/v1/beacon/states/{state_id} endpoints. Verify against the state_root.
In consensus.rs:apply_generic_update() implement state_transition(state: BeaconState, signed_block: SignedBeaconBlock, validate_result: bool=True) -> None. We need the full BeaconBlock if we don't already have it. IIRC this is around 40 KB
In consensus.rs:is_finality_proof_valid(), implement process_justification_and_finalization(state: BeaconState) -> None.

Maybe some code can be taken/imported from Lighthouse or ethereum-consensus (state_transition(),  BeaconState, process_justification_and_finalization)
(The case against this is whether it would be faster to work backwards from a normal CL client - remove EL body, slasher, etc - than to work forward from Helios)

Yeah this is a good idea. I do think we can make it a bit more like the cosmos LC protocol though for efficiency reasons. We don't need to track the validator set fully but can rather fetch it once from the checkpoint and then check future headers with that set. Every once in a while we need to refresh the validator set to ensure that that many validators haven't churned, but you only need to do this infrequently. This means we don't need to do the state transition every slot, but as long as we are smart about setting the set refresh cadence, it should be just as secure.

Hi , can I take on this ?

I'm not sure we're interested in pursuing this at the moment. I think verifying all of consensus would be much to heavyweight in practice, but if you think its possible and have some data on how much bandwidth and compute we'd need I could be convinced.

ok then , i would pick a different one


Incorrect TOTP values from Yubico.Yubikey .net nuget SDK?

Hello - we are seeing rather different TOTP results from our C# code than the ykman cli application.
The ykman application will return the same TOTP for multiple requests in the same 30s window - our C# doesn't.
We've been able to perform MFA with AWS using the ykman TOTP values but not the C# TOTP values.
// somewhat equivalent of: ykman oath accounts code issuer:name && echo %time%

int serial = 123456789; // modified for privacy

if (!YubiKeyDevice.TryGetYubiKey(serial, out IYubiKeyDevice device))
{
	using (OathSession session = new OathSession(device))
	{
		Console.Out.WriteLine("Waiting for touch");
		var code = session.CalculateCredential("issuer", "name", CredentialType.Totp, CredentialPeriod.Period30, ResponseFormat.Full);
		Console.Out.WriteLine(code.Value);
		Console.Out.WriteLine(code.ValidUntil);
	}
}

We've seen this with .NET framework and Yubico.YubiKey Nuget 1.2.0 package as well as .NET 6.0 and Yubico.YubiKey Nuget 1.4.0.
We've noticed the SDK calls a generate challenge
https://github.com/Yubico/Yubico.NET.SDK/blob/c22abf723ddfbe7f5fa73038308bce067a0e1156/Yubico.YubiKey/src/Yubico/YubiKey/Oath/Commands/CalculateCredentialCommand.cs#L103
That is pure random data
https://github.com/Yubico/Yubico.NET.SDK/blob/c22abf723ddfbe7f5fa73038308bce067a0e1156/Yubico.YubiKey/src/Yubico/YubiKey/Oath/Commands/OathChallengeResponseBaseCommand.cs#L38
While Ykman seems to use a timestamp divided by the period
https://github.com/Yubico/yubikey-manager/blob/1076459ba1e308fc71da2c3eb301b9777d7ae9b5/ykman/oath.py#L46
https://github.com/Yubico/yubikey-manager/blob/1076459ba1e308fc71da2c3eb301b9777d7ae9b5/yubikit/oath.py#L426
https://github.com/Yubico/yubikey-manager/blob/1076459ba1e308fc71da2c3eb301b9777d7ae9b5/yubikit/oath.py#L225
Really appreciate the open source and the packages/document available btw

Thanks for reporting this issue! We'll take a look.

Here is a work around - only real difference between our OverriddenCalculateCredentialCommand and CalculateCredentialCommand is the challenge generation
    // example invocation with a Oath session and credential
    OverriddenCalculateCredentialCommand yubiKeyCommand = new OverriddenCalculateCredentialCommand(credential, ResponseFormat.Truncated);
    var totp = session.Connection.SendCommand(yubiKeyCommand).GetData();

    internal class OverriddenCalculateCredentialCommand : IYubiKeyCommand<CalculateCredentialResponse>
    {
        //
        // Summary:
        //     The credential to calculate.
        public Credential Credential { get; set; }
        //
        // Summary:
        //     Full or truncated response to receive back.
        //
        // Value:
        //     The default value for the response is truncated.
        public ResponseFormat ResponseFormat { get; set; } = ResponseFormat.Truncated;
        //
        // Summary:
        //     Gets the YubiKeyApplication to which this command belongs.
        //
        // Value:
        //     YubiKeyApplication.Oath
        public YubiKeyApplication Application => YubiKeyApplication.Oath;
        //
        // Summary:
        //     Constructs an instance of the Yubico.YubiKey.Oath.Commands.CalculateCredentialCommand
        //     class. The ResponseFormat will be set to its default value which is truncated.
        public OverriddenCalculateCredentialCommand()
        {
        }

        public OverriddenCalculateCredentialCommand(Credential credential, ResponseFormat responseFormat)
        {
            if ((object)credential == null)
            {
                throw new ArgumentNullException("credential");
            }

            Credential = credential;
            ResponseFormat = responseFormat;
        }

        public CommandApdu CreateCommandApdu()
        {
            if ((object)Credential == null)
            {
                throw new InvalidOperationException("InvalidCredential");
            }

            if (!Credential!.Type.HasValue)
            {
                throw new InvalidOperationException("InvalidCredentialType");
            }

            byte[] bytes = Encoding.UTF8.GetBytes(Credential!.Name);
            TlvWriter tlvWriter = new TlvWriter();
            tlvWriter.WriteValue(113, bytes);
            if (Credential!.Type == CredentialType.Totp)
            {
                tlvWriter.WriteValue(116, GenerateChallenge(Credential.Period));
            }
            else
            {
                tlvWriter.WriteValue(116, null);
            }

            return new CommandApdu
            {
                Ins = 162,
                P2 = (byte)ResponseFormat,
                Data = tlvWriter.Encode()
            };
        }

        /// <summary>
        /// Custom GenerateChallenge that actually gives the timestamp / period length
        /// </summary>
        private static byte[] GenerateChallenge(CredentialPeriod? period = CredentialPeriod.Period30)
        {
            if (period == null)
                period = CredentialPeriod.Period30;

            long numPeriods = DateTimeOffset.UtcNow.ToUnixTimeSeconds() / (int)period;
#if DEBUG
            Prompt.DebugLog($"Time periods - {numPeriods}");
#endif
            byte[] array = BitConverter.GetBytes(numPeriods);
            if (BitConverter.IsLittleEndian)
            {
                Array.Reverse(array);
            }
            return array;
        }

        public CalculateCredentialResponse CreateResponseForApdu(ResponseApdu responseApdu)
        {
            if ((object)Credential == null)
            {
                throw new InvalidOperationException("InvalidCredential");
            }

            return new CalculateCredentialResponse(responseApdu, Credential);
        }
    }

Thanks for sharing your solution! I really appreciate that.
We will work on releasing an update soon. ETA is another week or two for it to hit NuGet.

Hi @JonathonQuinn - sorry this took longer than two weeks. We have issued a 1.4.1 patch release yesterday, and this issue should hopefully now be resolved. Please let me know if you are still encountering problems.

Hi thanks Greg, thats working on our side.


TST, MAINT: CI failures for pre-release NumPy wheels

Some recent changes in NumPy are causing 2 different tests to fail, depending on the version of Python in play:
=================================== FAILURES ===================================
________________________________ test_lsmr[COO] ________________________________
[gw2] linux -- Python 3.7.1 /home/travis/virtualenv/python3.7.1/bin/python
/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/scipy/sparse/linalg/tests/test_pydata_sparse.py:75: in test_lsmr
    assert_allclose(res[0], res0[0], atol=1e-5)
E   AssertionError:
E   Not equal to tolerance rtol=1e-07, atol=1e-05
E
E   Mismatched elements: 4 / 9 (44.4%)
E   Max absolute difference: 1.65523639e-05
E   Max relative difference: 0.00042785
E    x: array([-0.030391,  0.227403,  0.055178,  0.146272, -0.372236,  0.186547,
E          -0.078312,  0.283226, -0.082756])
E    y: array([-0.030404,  0.227412,  0.055174,  0.146287, -0.372228,  0.18654 ,
E          -0.078316,  0.283238, -0.082773])
____________________ TestCurveFit.test_curvefit_covariance _____________________
[gw0] linux -- Python 3.7.1 /home/travis/virtualenv/python3.7.1/bin/python
/home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages/scipy/optimize/tests/test_minpack.py:732: in test_curvefit_covariance
    assert_allclose(pcov1, pcov2, atol=1e-14)
E   AssertionError:
E   Not equal to tolerance rtol=1e-07, atol=1e-14
E
E   Mismatched elements: 1 / 4 (25%)
E   Max absolute difference: 9.5518202e-08
E   Max relative difference: 1.07895289e-07
E    x: array([[0.885286, 0.212682],
E          [0.212682, 0.058248]])
E    y: array([[0.885286, 0.212682],
E          [0.212682, 0.058248]])

For Python 3.8 only the latter fails.

See: https://github.com/scipy/scipy/pull/11608
And many other recent PRs..

A clean build of SciPy following a clean build of NumPy at the commit hash of the nightly wheel pulled in for Python 3.8 on MacOS with OpenBLAS 0.3.7 does not reproduce for me: python runtests.py -t "scipy/optimize/tests/test_minpack.py::TestCurveFit::test_curvefit_covariance"
I'll try on native linux tomorrow if I have time.

@ev-br @nmayorov @mdhaber Any ideas on the optimize failure? My testing efforts have failed to identify a susceptibility to the version of NumPy or the linear algebra backend type, at least so far.
In particular, if you can think of i.e., third-party libraries/ apt-packages that might alter the outcome that might be helpful.
I tried a few different versions of gfortran, but the test still passes locally on Linux/Mac for me.

I'm sorry, but I don't know much about what could have caused this.
Would it be wrong to try solve the problem by adjusting the stopping tolerances? I know that doesn't track down the cause.

In the test above, rtol goes from <1e-7 to 0.00042785 it looks like. That's too large a bump to just update the test tolerances for I think.
We can temporarily skip the tests to unblock CI, as long as we then start looking into it I think.
Let's try and reproduce locally, someone should be able to with NumPy master - failures are quite consistent.

I'm using a docker container setup for scipy, using Python3.7 (on ubuntu:bionic). I run the command python3.7 runtests.py -t "scipy/optimize/tests/test_minpack.py::TestCurveFit::test_curvefit_covariance" as suggested by @tylerjereddy.

scipy master works with numpy built from the current tip of master (4f2b21)
scipy master works with the numpy pre- wheel, https://7933911d6844c6c53a7d-47bd50c35cd79bd838daf386af554a83.ssl.cf2.rackcdn.com/numpy-1.19.0.dev0%2B20200315234624_cd3b44d-cp37-cp37m-manylinux2010_x86_64.whl

@andyfaff
Yep, and I noted the pre-wheel isn't even being used for one of our matrix entries: https://github.com/scipy/scipy/pull/11658#issuecomment-599161637
It is actually a very old version of NumPy there, and switching linalg backends has no effect whatsoever. There must be something like third-party library or, even worse, the older patch versions of Python on Travis CI combining with something else perhaps.

i can run an older numpy wheel, whch one?

I just mean, that the NumPy version seems irrelevant here--I agree with you based on the debugging in the cross-linked PR.

We may want to purge/deactivate the cache while we debug those Travis issues too, since this has gotten pretty time consuming to deal with!

Both test matrix entries are numpy 1.19.0.dev; the older numpy built against doesn't matter much I'd think. It's the ndarray.dot calls in the test probably, which will invoke the OpenBLAS in the test-time installed wheels. So it's likely indeed a small change in OpenBLAS that's very hard for any of us to reproduce.

In the test above, rtol goes from <1e-7 to 0.00042785 it looks like. That's too large a bump to just update the test tolerances for I think.

I'll push some test tolerance bumps to verify, let's see what the damage actually is.

Would it be wrong to try to solve the problem by adjusting the stopping tolerances in the tests? I know that doesn't track down the cause.

Looks like you were right with this suggestion @mdhaber. The regression was much less bad than it looked at first.

That's a first!


underlineColorAndroid doesn't work

I've been trying to remove the unnecessary bottom border after a couple minutes searching I found out I can use underlineColorAndroid: 'transparent' to get rid of it , but apparently it doesn't work on this component

I have the same issue. "react-native": "0.51.0";


gpt-35-turbo (0301) max length of token is 16384 ?

From the doc the max request token is 4096 for gpt-35-turbo1 (0301), however when i try to use the payload more than 4096 it is processing and the issue occurs only after 16384 - which is the max token for gpt-35-turbo-16k
Is this a bug from azure openai ? or the docs are outdated i.e, the max token for gpt-35-turbo1 (0301) is really 16384 ?
x-request-id: 8c73f4f4-c4f0-40be-b5a4-12e4e554c1f0

{
  "error": {
    "message": "This model's maximum context length is 16384 tokens. However, your messages resulted in 16630 tokens. Please reduce the length of the messages.",
    "type": "invalid_request_error",
    "param": "messages",
    "code": "context_length_exceeded"
  }
}

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

ID: 5f939b05-2f17-6383-00d4-c99bbc39011c
Version Independent ID: 6454961a-c54e-5ccb-d4f3-f1bc94f60b45
Content: Azure OpenAI Service models - Azure OpenAI
Content Source: articles/ai-services/openai/concepts/models.md
Service: cognitive-services
Sub-service: openai
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@jayendranarumugam thanks for reaching out with your question. The docs page represents the current supported context length for a given model. The numbers for the turbo models are correct in the docs. There have been cases, this being one where the functional context length differs from the supported context length. However, we strongly recommend remaining below the supported context length as this behavior you are seeing currently can change in the future without notice.
If you would like to take advantage of 16k context lengths the model that officially supports this is gpt-35-turbo-16k 0613

Hello @mrbullwinkle . Could you help me with understanding about what do you mean function vs supported context length?
From my knowledge I followed the azure docs and as per that it should be 4096

However, we strongly recommend remaining below the supported context length as this behavior you are seeing currently can change in the future without notice.

I also not able to get the above statement . Are you recommending not to use 0301 because ms doesn't have any control over the model responses?

@jayendranarumugam
I've delegated this to @mrbullwinkle, a content author, to review and share their valuable insights.

We have the same problem, GPT-35-turbo-0301 answers for input longer than 4K tokens without giving us any errors for exceeding the max input tokens limitation.

@jayendranarumugam the model accepting 16k input tokens for that particular model/version was a bug which has been resolved.
The reason for the slightly confusing phrasing of my previous response is there is a separate issue that sometimes comes up in regard to inputs larger than 4k but less than 16k with 0301. The Azure OpenAI gpt-35-turbo 0301 model is technically able to accept up to 8K tokens. The 0301 model will continue to accept up to 8k tokens, but future versions of this model including the already released 0613 will accept only 4K. For this reason, we recommend capping input tokens at 4k for gpt-35-turbo 0301 to avoid issues when you eventually upgrade to newer model versions.
If you require input tokens in excess of 4K with gpt-35-turbo we recommend using gpt-35-turbo-16k (0613) to take advantage of the latest model and the larger input token limit.

Going to close out this issue, but thanks again for the question.

#please-close

Hi Naveen,
Thank you for your answer. You can close this ticket.
On Fri, Sep 8, 2023 at 4:17 AM prmerger-automator[bot] <
@.***> wrote:

Closed #114113 https://github.com/MicrosoftDocs/azure-docs/issues/114113
as completed.
—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/114113#event-10312724804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BB7NTM43IFVMCT74YYXO62DXZJTI3ANCNFSM6AAAAAA4EBIVXA
.
You are receiving this because you commented.Message ID:
@.***>


Include intensity pattern on outer slices of PSF

Description
Only the middle slice of the extracted light field point spread function includes an intensity pattern. For example, see psf_stack-SS4.tif.
From @rudolfoldenbourg:

When I use the notebook LF_forward_projector_simple.ipynb to extract the light field point spread function psf_stack-SS4.tif, this stack has indeed 104 slices which are all zero except for the 53rd slice that shows an intensity pattern behind the central lenslet. In addition, this pattern is asymmetric and not as expected for the central location of the point source behind the central lenslet. Curiously, when generating a calibration file with super sample = 3, this pattern is symmetric and as expected from wave optics simulations. However, regardless of the super sample setting, only the middle slice shows an intensity pattern, with all other slices zero. The corresponding psf stacks are named psf_stack-SS3.tif, psf_stack-SS4.tif, and psf_stack-SS5.tif.

Files

src\napari_lf\lfa\LF_forward_projector_simple.ipynb

Images within the directory napari-LF-docs-samples/GUVSimul1:

Radiometry_GUVSimul1.tif
output_stack-104.tif
psf_stack-SS3.tif
psf_stack-SS4.tif
psf_stack-SS5.tif

To Reproduce

Generate a calibration lfc file with the LF image Radiometry_GUVSimul1.tif, 104 slices of 0.43µm apart, and a superssampling of 4.
Deconvolve using the RL iterative method to produce output_stack-104.tif.
Use LF_forward_projector_simple.ipynb to extract the light field point spread function psf_stack-SS4.tif.
Repeats Steps 1-3 with a super sample setting of 3 and 4 to extract psf_stack-SS3.tif and psf_stack-SS5.tif, respectively.

Let's see:

Asymmetric PSF (not centered): This is expected for even SS (2,4,6,...), as there isn't a voxel that aligns with the center pixel of the central micro-lens. This is only possible for odd SS (1,3,5,7...)
Only central depth PSF extracted: There's an option to select which depths to extract the PSF from in the Extract PSF cell:

# Extract psf of coords relative to the center of the image
coord_x,coord_y = 1,1
# all the depths?
depths_to_extract = list(range(db.nz))
# or just some of them?
depths_to_extract = [db.nz//2]

by commenting depths_to_extract = [db.nz//2], you'll get the expected behavior.

Commented the line and ready to run in:
https://github.com/PolarizedLightFieldMicroscopy/napari-LF/commit/81f60821b0ab7160b39e69e146fc69c78a1a5a26


Default arguments

We should add some disclaimer in the "default arguments" section, since the example will work only if the argument passed is undefined, if the argument is null, it won't work in the second example, but it will work in the first one.

Hey there! There's a PR for this, and I think I'll probably add a small disclaimer to keep short-circuiting if you expect falsey values other than undefined. https://github.com/ryanmcdermott/clean-code-javascript/pull/106


Fix "Close" on tracker logged out popup causing track to happen

@keybase/react-hackers
We have a "Close" button appear on different types of tracker popup, and then convoluted logic for working out which type of "close" this is and whether it should result in a track.  This causes a bug where
the "logged out" tracker popup would track people when closed (in combination with a Core bug that left you logged in when the UI thought you were logged out).
This PR fixes that situation by switching to a "tracker:onClose" (which closes the popup without taking any action) -- which is now used both on the header component and the action bar component in the logged out case -- and a "tracker:maybeTrack" action, which triggers the convoluted logic I mentioned earlier.  We only call maybeTrack when tracking is a possible outcome of the button click.
This whole flow is going to be thrown out and replaced by simpler callbacks as part of the DZ2 rework, so we don't need to get too caught up in this, but this seems like a simplifying fix until we get to DZ2.
Tested on stage0 using signup of real accounts, in the logged out and logged in cases.  But please review carefully anyway, since it's important to get this right.

:+1:


Typescript does not work, maybe due to duplicate identifier in definition files?

An error in the TypeScript definitions

Be nice. We do this for free. Sure ;)
I cannot make typescript recognise Phaser types, still getting error message "Cannot find namespace 'Phaser'." in VSCODE editor.
So I have put phaser definitions in tsconfig, even the fact that your documentation says that it should be automaticaly included installing phaser by npm ( what I did ).
{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es6",
    "sourceMap": true,
    "types": [
      "node"
    ]
  },
  "files": [
    "./node_modules/phaser-ce/typescript/phaser.comments.d.ts"
  ]
}

did, not helped, so I have opened the above mentioned files and find out new error message that declare class Phaser and declare module Phaser collide and throws another linting error in VSCODE: "Duplicate identifier 'Phaser'." which is true. Or am I doing something wrong?
Many thanks for your time!
Ctibor

Am not yet a typescript coder so I have just a little question. Which built of Phaser CE are you using ?

<EMAIL_ADDRESS>

I am using typescript in other projects and they just work.. but they usually have libraries which have @types/nameOfLibrary types installed along with the library package.. so as I know the typescript is looking for them in that way.. here is the situation different as I need to provide types to typescript somehow.. which is a new experience for me.

Another observation, when I create test class:
export default class TestClass extends Phaser.Sprite {
  test: string
}

Phaser is not found
but when I reference this test class in module which is chained by references to app.js where
import 'phaser'

statement is located, it magically works
My project is based on https://github.com/rroylance/phaser-npm-webpack-typescript-starter-project
and the phaser module is there resolved via webpack alias
  resolve: {
        extensions: ['.ts', '.js'],
        alias: {
            pixi: path.join(__dirname, 'node_modules/phaser-ce/build/custom/pixi.js'),
            phaser: path.join(__dirname, 'node_modules/phaser-ce/build/custom/phaser-split.js'),
            p2: path.join(__dirname, 'node_modules/phaser-ce/build/custom/p2.js'),
            assets: path.join(__dirname, 'assets/')
        }
    },

And then there is also some expose loader in weappack
 module: {
        rules: [
            { test: /\.ts$/, enforce: 'pre', loader: 'tslint-loader' },
            { test: /assets(\/|\\)/, loader: 'file-loader?name=assets/[hash].[ext]' },
            { test: /pixi\.js$/, loader: 'expose-loader?PIXI' },
            { test: /phaser-split\.js$/, loader: 'expose-loader?Phaser' },
            { test: /p2\.js$/, loader: 'expose-loader?p2' },
            { test: /\.ts$/, loader: 'ts-loader', exclude: '/node_modules/' }
        ]
    },

So I am closing the issue, because I think it is more typescript related and started project related, rather then phaser-ce related

I believe if you use import 'phaser-ce' or such, the types should be found automatically (in node_modules/phaser-ce/…). But import is probably not the typical use, so we should probably change the docs on that point.
If you use files in tsconfig.json, include phaser.d.ts or phaser.comments.d.ts, but not both. You can try adding compilerOptions.skipLibCheck = true as well if you still get duplicate identifier errors.

Finally I have solved it by putting typeRoots into tsconfig like so:
  "typeRoots": [
    "./node_modules/@types",
    "./node_modules/phaser-ce/typescript/"
  ],


feat: rename models + descriptions

Is your feature request related to a problem? Please describe.
Even though the model names on the menu are pretty straightforward, over time, it's easy to forget what these models are used for.
Describe the solution you'd like
Add nicknames to replace model names, displaying the model name when a nickname isn't set.
When a nickname is set, the model name will appear in the hover information on the right side.

Describe alternatives you've considered
Additional context
Additionally, implement a five-star rating system or categories/tags for easier future reference.

Would also like this see this.

Hi guys, since https://github.com/open-webui/open-webui/issues/1041 is closed, could I suggest to put the description in the info button ? That would be useful and would fix "my" little problem :) !
Thanks

Related #2140

It would be nice to be able to nickname models in the "Connections" settings, we have some OpenAI compatible models that we'd like to nickname but currently can't.

It would be nice to be able to nickname models in the "Connections" settings, we have some OpenAI compatible models that we'd like to nickname but currently can't.

Already possible:

Thanks @justinh-rahb ! Works like a charm!

Thanks @justinh-rahb ! Works like a charm!

What works like a charm? Where do I change the model name? I'm so lost in this UI

Thanks @justinh-rahb ! Works like a charm!

What works like a charm? Where do I change the model name? I'm so lost in this UI

https://github.com/open-webui/open-webui/issues/5383#issuecomment-2347098415

This would be great to have as a system-wide setting and not only at the user level.

This would be great to have as a system-wide setting and not only at the user level.

The ability to rename models and set a description for them are restricted to Admin users only. It is not accessible to modify at the user level. I disagree with the stance that it would be great to have this made available at a system-wide level, as I don’t want user accounts changing model names and descriptions that I have set up myself in the Workspace section.


Decoding Logic

Hi ,
Is there any way we can change the decoding logic?
example : like support for speculative sampling or other

We are working on adding support for speculative decoding. There's already support for it in the main branch as a preview (more work is needed to make it more performant).

thanks

Hi @riyaj8888  we've added several speculative decoding in the latest code base. Would u please have a try on that?
And do u still have further issue or question now? If not, we'll close it soon.


Can't close log file except with deinit

The only time the log file (XCGFileLogDestination) gets closed is in the deinit on the XCGFileLogDestination.   I'm trying to allow the user to email the log file to report defects when they occur.  As a workaround, instead of using the defaultInstance which never gets a deinit call, I create my own instance that is an optional so I can set it to nil to force a deinit.  The basic flow

at app launch, create an XCGLogger and call setup with a log file.
to email the file, set the XCGLogger to nil, copy the log file to history, and email the history file
recreate the XCGLogger which start with a new empty log file.

I'm doing the same process when the app enters background to make sure I have a complete log file.
I also think processLogDetails() needs a call to synchronizeFile() at the end to make sure the log file is complete.

This is a big deal.
Maybe exposing logFileHandle, or a method which returns a NSData object with the current log contents would be the way to go?

Done.
Changed the writeToFileURL property of XCGFileLogDestination to public. Setting a new value will close the existing file and reopen a new file at the new location.
Also have added a rotateFile method to XCGFileLogDestination that will close the existing file, move it to the new location specified, and reopen another file at the old location.


NotSupportedException in .NET 6 apps

Hello. I'm getting a NotSupportedException when using this package with a .NET 6 app. The exception is below:
NotSupportedException: BinaryFormatter serialization and deserialization are disabled within this application. See https://aka.ms/binaryformatter for more information.
MongoDB.Driver.Core.Connections.BinaryConnection.SendMessagesAsync(IEnumerable<RequestMessage> messages, MessageEncoderSettings messageEncoderSettings, CancellationToken cancellationToken)

JobPersistenceException: BinaryFormatter serialization and deserialization are disabled within this application. See https://aka.ms/binaryformatter for more information.
Quartz.Spi.MongoDbJobStore.MongoDbJobStore.StoreJobAndTrigger(IJobDetail newJob, IOperableTrigger newTrigger, CancellationToken cancellationToken)

The issue is in the DefaultObjectSerializer class that is used in a couple of places to serialize the job data map and some calendar data. From what I see in the code, it's not possible to opt out of the BinaryFormatter usages by specifying my own serializer for these types since they are registered with the MongoDb driver in JobStoreClassMap.
I don't want to disable this check for my entire project. So, an alternative approach is to use BinaryWriter and BinaryReader to manually serialize/deserialize data, but this would break existing apps since the serialize format would change. Happy to submit a PR if you can offer a suggestion.

up

4.0.0-preview.2


check for dead links?

The tutorials website contains a lot of hyperlinks to websites. Would it be worthwhile/possible to check for dead links during continuous integration?

Great idea @hansvancalster :+1: Who knows how to do this?

I'll try to find a solution for that!

@hansvancalster: thanks! Indeed, we could implement out own checks using R (or other) HTTP libraries. I think I'm however more inclined to use an existing tool that should already handle all the gory details (redirections, possibility to ignore links ignored by robots, make the distinction between internal and external links, ...)

I can try to check this in 2023 based my experience with GitHub Actions.

A small update: the world of GitHub Acions is rapidly evolving and so I founded an action which seems more promising as it has already implemented the functionality of adding issues for any broken link found:
https://github.com/marketplace/actions/broken-link-checker-action

Update part 2: the GitHub Action I mentioned above is however archived and rad only. That means no maintenance will follow, so I think it's not the best idea to proceed with that.
I found this other actively maintained GitHub Action which produce reports and will fail if broken links are present. No issues are created, which is maybe even better: I don't want this repo flooded with issues 😄 a failure action (red cross) is enough.
https://github.com/marketplace/actions/broken-web-link-checker

GitHub Action implemented on my dummy test-workflows repo, see (yml file), but I got an error: package aurora is not found. issue reported to the author, see https://github.com/elliotforbes/broken-link-checker/issues/2.


Setup needed accounts only for Multiple accounts

Resolves https://github.com/planetdecred/dcrandroid/issues/622.
This PR checks if a wallet has more than one account and displays an error dialog when trying to set up a mixer for a wallet with just one account attached to it.
Screenshot

this contains commit from another PR, you'd need to rebase your pr

If the wallet has just one account, then the auto setup modal should show

this contains commit from another PR, you'd need to rebase your pr

PR is yet to be rebased


Added pruning

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Motivation and Context / Related issue
#101
Prune archive when it is getting too big.

How Has This Been Tested (if it applies)

Checklist

[x] The documentation is up-to-date with the changes I made.
[x] I have read the CONTRIBUTING document and completed the CLA (see CONTRIBUTING).
[x] All tests passed, and additional code has been covered with new tests.

TODO: add docstrings + update documentation


Re-exporting library

I have 2 libraries A and B.

A is bundled using webpack in a first pass then published to a npm repository and later consumed by B.
B depends on A among other libraries and all libraries are bundled together in B (=> A is bundled in B).
B should re-export certain parts of A to make them visible from the outside world.

How can I achieve this?

Does someone have any idea how to do this?


Use current B2C to add MSA support

Configuring MSA support requires app registration. Use the current B2C tenant to do that.

Done in 3.1.18.


All images are not rendered at once.

Number of columns is 2, only one side of the images are rendered sometimes, re-rendering the component fixes the issue for some while, please provide a better solution.

Same here!

Anyway we can duplicate this configuration. Access to the codebase or a sample codebase that replicates this bug would be greatly appreciated.

@brh55 https://github.com/brh55/react-native-masonry/issues/41 This is what the issue is and the component code for that is mentioned in the issue.

I tried using setTimeout for resetting the contents in the state, it worked for some time, but isn't the permanent solution to the problem.

I encounter this issue on iOS and android as well

@priyankverma @vvavepacket I tried it with 0.4.4 and it works fine.

The newest version should fix this issue now, if not please update react-navigation and seeing if that fixes it before re-opening a new issue 😄

@brh55 It's react-native-navigation I have not tried react-navigation

@srameshr Ahh I see, I have not messed with R-N-N before.

Hi, I have updated to 0.4.4, but still I could see missing images. I am also not using react-native-navigation

I am still getting this with 0.4.4 and the latest react-navigation.

@Gerharddc  are your images local or fetching from the internet?

@vvavepacket I am using internet images

If it makes a difference, the masonry component is inside a tab.

@Gerharddc which version of RN, React, and which navigator are you using.

@brh55  I have RN 0.51.0, React 16.0.0 and react-navigation 1.0.0-beta.22

@Gerharddc
Were you able to solve your problem? I am encountering the same thing when masonry is inside a tab


Allow toggling Debugger

Make Debugger Public to allow disabling Debug print messages.
Resolve issue: https://github.com/DebugSwift/DebugSwift/issues/42

Amazing work!

Could you improve passing the enable/disable to the DebugSwift struct? For example:
DebugSwift.Debugger.enable = true | false

In this way, the UserDefaultAccess, will not be public :)

@MaatheusGois Good idea! I have updated the code. Please have a look and let me know if it is okay. Tq.

Thanks @yungkienpoh-prestolabs, great work!!


AAD Tenant Creation Experience updated

Module: 01
Lab/Demo: 04
Task: 01
Step: 02
Description of issue
The Azure AD interface has been updated and we need to direct users through the "Manage Tenants" experience in AAD as there is no longer a "Create a tenant" button within the AAD overview blade.
Repro steps:

I have submitted a pull request to have this updated.

MOC-Labs-Review did not encounter this Issue while running the course.


Add spawn function

As previously discussed, I don't see any benefit over using async().

One very clear benefit is to avoid the overhead of creating a future, without having to use EventLoop::queue.

The main purpose I see to this is providing a tool to create a fiber without the future within the Amp eco-system. Otherwise obviously it is exactly the same as using EventLoop::queue(). I can see benefits to this, as it might be easier for newcomers to discover Amp\spawn() over needing to read the event loop docs.
For a full compliment of Amp namespaced functions, we'd probably also need Amp\setEventLoopErrorHandler() and Amp\runEventLoop() (or similar). Maybe I've forgotten something? I think without these as well, there's not much benefit because users will still need to learn about the event loop API.


Include speed and memory reports on release

It would be nice to get the benchmark results as part of the release description. Can we automate the CI to take that when a new versions of inflections is going to be released?

Solved by #76


Update properties for Terraform Jenkins job

ENVIRONMENT isn't set as an environment variable
PROJECT_NAME doesn't need to be set because it is already

:+1: LGTM

:+1:


Remove isChunked from pusher subscriptions

cc @danieldoglas
Details
Removes isChunked from pusher subscriptions, and instead looks at the contents of the push data to determine if it was chunked
Fixed Issues
First part of https://github.com/Expensify/Expensify/issues/211274
Tests

Sign into two separate accounts in different windows
Navigate to the chat between them
Send a short message from 1 account to the other
Verify that the message is received and shown without a refresh
Send a long (>10k character) message from one account to the other

I used http://www.unit-conversion.info/texttools/random-string-generator/ to generate a long random string

Verify that the message is received and shown without a refresh

[ ] Verify that no errors appear in the JS console

PR Review Checklist

Contributor (PR Author) Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

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

[x] iOS / native
[x] Android / native
[x] iOS / Safari
[x] Android / Chrome
[x] MacOS / Chrome
[x] MacOS / Desktop

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[x] I verified any copy / text shown in the product was added in all src/languages/* files
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] Any functional components have the displayName property
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose and it is

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

PR Reviewer Checklist

[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] iOS / native
[ ] Android / native
[ ] iOS / Safari
[ ] Android / Chrome
[ ] MacOS / Chrome
[ ] MacOS / Desktop

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained “why” the code was doing something instead of only explaining “what” the code was doing.
[ ] I verified any copy / text shown in the product was added in all src/languages/* files
[ ] I verified any copy / text that was added to the app is correct English and approved by marketing by tagging the marketing team on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named “index.js”. All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] Any functional components have the displayName property
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose and it is broken down into smaller components in order to separate concerns and functions

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

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

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.

QA Steps

Sign into two separate accounts in different windows
Navigate to the chat between them
Send a short message from 1 account to the other
Verify that the message is received and shown without a refresh
Send a long (>10k character) message from one account to the other

I used http://www.unit-conversion.info/texttools/random-string-generator/ to generate a long random string

Verify that the message is received and shown without a refresh

[ ] Verify that no errors appear in the JS console

Screenshots
Web / Mobile Web

Desktop

iOS

Android

This package lock is from the latest NPM (6.14.17) which we recently updated to

Looks like @marcaaron removed their code owner review request. Since all other reviewers have approved, going to self merge this now!

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

🚀 Deployed to staging by @alex-mechler in version: 1.1.70-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by @alex-mechler in version: 1.1.70-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.1.71-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Tic-Tac-Toe program didn't work well when AI is player 2.

Hi Shangtong,
When I tested this tic-tac-toe AI program, I found that AI didn't play well as player 2. I think the tie rewards are not properly. If set tie rewards as 0.1/0.5 for player1/player2. Then this AI program works very well for both player 1&2. Below is modified code.
    # give reward to two players
    def giveReward(self):
        if self.currentState.winner == self.p1Symbol:
            self.p1.feedReward(1)
            self.p2.feedReward(0)
        elif self.currentState.winner == self.p2Symbol:
            self.p1.feedReward(0)
            self.p2.feedReward(1)
        else:
            self.p1.feedReward(0.1)
            self.p2.feedReward(0.5)

Thanks! It looks reasonable. If P1 adopts optimal policy, P2 can never win. So we should give P2 more reward for tie than P1. Would you like to open a PR about this?

I just updated the code. Thanks a lot for pointing this out!


"Failed to load the ESLint library"

Hi!
I have ESLint installed globally and .eslintrc.json in my home dir.
VSCode (Version 1.20.1) is installed with snap.
I use NVM.
which node
/home/ris/.nvm/versions/node/v9.6.1/bin/node
which npm
/home/ris/.nvm/versions/node/v9.6.1/bin/npm
which eslint
/home/ris/.nvm/versions/node/v9.6.1/bin/eslint
printenv NODE_PATH or 'echo $NODE_PATH' is empty BUT when I set "eslint.trace.server": "verbose" I got [Trace - 2:27:54 PM] NODE_PATH value is: /usr/local/lib/node_modules
I've already checked similar issues but can't figure out the solution.

What is the output of running npm config get prefix in a terminal ?

@dbaeumer  Never mind. It's just started working. I don't know the reason.

@dbaeumer I found out that it's a project (folder) related issue. When I open different folder in VS Code ESLint starts without any problem.
npm config get prefix gives me /home/ris/.nvm/versions/node/v9.6.1
When I set eslint.trace.server to verbose I still get [Trace - 7:08:40 PM] NODE_PATH value is: /usr/local/lib/node_modules (eslint.nodePath is null for both user and workspace settings).
Maybe there is some value cached by VS Code or ESLint?

We don't cache any of these values. You even get a new server on a new workspace folder Window. Can you think of any difference between the two projects? Is npm config get prefix the same for both projects?

npm config get prefix is the same for both projects.
I opened another (3rd) project and it has the same issue. So I deleted node_modules for working project (I believe there was some implicit eslint dependency/config) and found out that it's a global problem with my environment.
I fully reinstalled the extension and ESLint but still get the error.
Running eslint path_to_file from console works fine.

This is very strange. Under /home/ris/.nvm/versions/node/v9.6.1/lib/node_modules is there an eslint folder containing the eslint npm package ? And just to double check. Are you using yarn ?

There is ESLint (package.json shows me 4.8.12). I do not use yarn. Those projects are simple web-extensions without any package manager.

I have to add that I missed some important trace message:
[Trace - 11:49:49 PM] 'npm config get prefix' value is: /usr/local
[Trace - 11:49:49 PM] NODE_PATH value is: /usr/local/lib/node_modules
but npm config get prefix from VS Code terminal is still /home/ris/.nvm/versions/node/v9.6.1
Seems like it's a VS Code problem.

How do you start VS Code? Can you start it from the terminal where npm config get prefix prints the correct value. Then everything is fine I guess. I suspect that when VS Code is started using some dock icon then the environment is not set correctly (e.g.the .bashrc usually doesn't do all things when not in interactive mode). This is nothing VS Code not ESLint can fix. It is how shells / *nix behaves.

You are right. It works when I start it from console.
Thank you for your time!