ValidationError exceptions are not roundtrippable via pickle

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
This might be a pydantic-core issue rather than pydantic proper, I'm afraid I don't know the division or the library well enough to know 🤷
It is currently not possible to (de-)serialise a ValidationError[^1] raised when failing to construct a BaseModel correctly.
This "normally" doesn't present a problem, but there are circumstances where it's "necessary" to be able to serialize & deserialize the data. Specifically as one example, and the case in which I've found it, I've got a Django app; Django's test runner is able to split work over N processes, and when an exception is encountered, it attempts to resolve it using the venerable tblib transparently by relying on the pickleability of the error (see also check_picklable further down)
The inability to pickle the exception is kinda a showstopper for me (selfishly, personally) introducing pydantic to such a codebase, because the additional friction introduced by potentially needing to re-run the test suite serially would just gum things up, unfortunately.
[^1]: And potentially others? I've no idea.
Example Code
from pydantic import BaseModel
import pickle

class A(BaseModel):
    b: str

try:
    A(b=None)
except Exception as exc:
    pickle.loads(pickle.dumps(exc))

yields:
TypeError: No constructor defined

The dumped bytestring looks like:
b'\x80\x04\x957\x00\x00\x00\x00\x00\x00\x00\x8c\x1cpydantic_core._pydantic_core\x94\x8c\x0fValidationError\x94\x93\x94)R\x94.'

The representation (using pickletools.dis) looks like:
    0: \x80 PROTO      4
    2: \x95 FRAME      55
   11: \x8c SHORT_BINUNICODE 'pydantic_core._pydantic_core'
   41: \x94 MEMOIZE    (as 0)
   42: \x8c SHORT_BINUNICODE 'ValidationError'
   59: \x94 MEMOIZE    (as 1)
   60: \x93 STACK_GLOBAL
   61: \x94 MEMOIZE    (as 2)
   62: )    EMPTY_TUPLE
   63: R    REDUCE
   64: \x94 MEMOIZE    (as 3)
   65: .    STOP
highest protocol among opcodes = 4

The tblib machinery that can also end up triggered for this is unpickle_exception which would ultimately require that ValidationError(*args) works OK.
Further remarks
Replacing:
from pydantic import BaseModel

with:
from pydantic.v1 import BaseModel

allows for the pickle.loads(pickle.dumps(...)) dance to complete successfully.  So that's kinda unfortunate, it seems to be related to the new version (and possibly the built extension module? Total guess!)
Python, Pydantic & OS Version
        pydantic version: 2.5.1
        pydantic-core version: 2.14.3
          pydantic-core build: profile=release pgo=true
                 install path: /path/to/python/lib/python3.10/site-packages/pydantic
               python version: 3.10.2 (main, Mar  7 2022, 09:21:29) [Clang 13.0.0 (clang-13<IP_ADDRESS>)]
                     platform: macOS-12.6.1-arm64-arm-64bit
             related packages: typing_extensions-4.7.1 mypy-1.7.1

@kezabelle,
Thanks for bringing this to our attention. I do believe that changes would be made in pydantic-core to support pickling of ValidationErrors.
@davidhewitt, how hard would a change like this be to implement?


A better workflow for proofreading

(continuing a discussion with Chris that began in private chat)
I think we need some more sophistication about what status is displayed for questions in the editor. At the moment, it's the most recent feedback from anyone. The checking process for these exams will involve multiple people going in to a question and either saying "this is fine" or "this needs more work". Maybe choosing one of the feedback options doesn't automatically change the status displayed elsewhere, and a user with edit access could have to click a button to accept a status as the 'official' status of the item.
More ambitiously, it would be nice to have a view of a project optimised for proofreading. The flow should be something like:

Show the user a queue of items that need attention.
The user picks an item (or opens a link to that particular item) and previews it alongside the editing history.
Prompt to write a comment and/or add a feedback stamp.
When they're finished, the user marks the item as 'dealt with' and it's removed from their queue.

Maybe this works best if you manually assign users to check an item.

this relates to #628

Closing this because queues are in, in a minimal sense, and there are lots of issues about ways to improve them.


Persistent service directory

-Add WEAVE_CONFIG_PERSIST_SERVICE_DIRECTORY for enabling and disabling this feature
-Save the byte stream received from directory server to persistent storage if ‘ServiceDirectory Redirect’ is not issued.
-Clear persisted storage whenever cache is cleared.

Codecov Report

Merging #512 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #512      +/-   ##
==========================================
+ Coverage   54.16%   54.16%   +<.01%
==========================================
  Files         329      329
  Lines       57165    57165
==========================================
+ Hits        30961    30964       +3
+ Misses      26204    26201       -3

Impacted Files
Coverage Δ

src/test-apps/TestCASE.cpp
96.12% <0%> (+0.22%)
:arrow_up:

src/lib/profiles/security/WeaveCert.cpp
88.96% <0%> (+0.45%)
:arrow_up:

Continue to review full report at Codecov.

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


First release

Planned beta release day: 8/31
In first release we focus on feature support. You can assume at most conditions rooby is more slower than ruby, but we will optimize rooby's performance in later versions.
Required
Features

[x] Homebrew formula (thanks to @adlerhsieh)
[x] Change extension name to .gb
[x] Namespace support (Foo::Bar)
[x] ARGV
[x] Built in http library
[x] Require system (should be similar to Ruby....?)
[x] File IO class
[x] Sample api server
[x] Range Type
[x] Docker image
[x] Thread support
[x] Channel support
[x] Go plugin support and not limited to main package
[x] Flow controls (most are compiler's work)

[x] while
[x] next
[x] break

Docs

[x] Bytecode specifications
[ ] Full API document for built in types
[ ] Full API document for built in libraries
[ ] Write down release procedure

Not sure if we can make it

[ ] Use parser generator
[ ] Simple web framework
[ ] Exception handling

Seems all checked!


Makingway2 mvp

Reviewed new additions to code and the branch is able to merge into the Master; merge and delete.

Pull request was successfully merged and closed; will delete makingway2MVP branch


Update Pokemon's Chinese official name

Pokemon's name will be updated in Pokémon Sun and Moon official Chinese version,
see more at Nintendo Hong Kong news

Until we get a more official source I am not merging any changes for Pokémon Sun & Moon. See #112
We can keep this open until we get proper confirmation.

@phalt OK! 😀


vite can't hot reload

I create a vite project by the cli, when i miss a mistake, the vite can't hot reload after i change the file, i need to refesh the page in my brower, i think it's a bug in the vite, anyone who meet the problem can commit in the issue.

Closing this issue because the issue template was not respected. Please create a new one that includes a minimal reproduction so it is easier for others to debug the problem. Also please respect the Before submitting the issue, please make sure you do the following and tick the checkboxes so we know that you read the contribution guidelines and further documentation.


Ad markup with  fails to render on web

Describe the bug
If an ad markup contains the  preamble, it silently stops parsing and only the HTML up to that point is inserted into the document. There is a old issue linked to that : https://github.com/prebid/prebid-universal-creative/issues/134
To Reproduce
From prebid server return any ad markup with  (eg. test) and inspect the DOM in chrome://inspect.
Removing the doctype preamble renders the ad as expected.
Expected behavior
Render the ad with doctype correctly as on the web with prebid.js.
Screenshots
With version 1.14.2:

With version 1.15.0:

Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome

Just noticed this:

From prebid server

is "server" important - are you using AMP or another environment without Prebid.js?

Spent way too long digging into this and found something possibly interesting:
At least in the AMP and App workflow, the PUC is forcing in a comment at the very beginning of the creative, so when DOCTYPE is specified, it looks like this:
<!--Creative 1111 served by Prebid.js Header Bidding--><!DOCTYPE html><img src="https://files.prebid.org/creatives/prebid300x250.png">

Maybe it's invalid HTML to have a comment before the DOCTYPE?

It turns out this is a regression to exactly the same issue #134 - affecting app/amp/mobile but not web as far as I can tell.


Habble ui does not display flows except in kube-system and test-cilium namespaces

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
I use cilium and hubble at first time today.
I install cilium using helm chart.
I find that  only the flows in the kube-system and cilium-test namespace is displayed on the hubble-ui page, and the flows in other namespaces is not displayed.
It has error log such as "No flows found for xxxx namespace. Will continue to monitor for new flows…".

exclude the  kube-system and cilium-test namespace ,there are nothing on the page of hubble ui.

I don't know where I went wrong.Do you know the cause of this problem ?
Cilium Version
[root@sc-master-1 network]# cilium version
cilium-cli: v0.15.14 compiled with go1.21.4 on linux/amd64
cilium image (default): v1.14.2
cilium image (stable): v1.14.4
cilium image (running): 1.14.4
[root@sc-master-1 cilium]# cilium status
/¯¯
/¯¯_/¯¯\    Cilium:             OK
_/¯¯_/    Operator:           OK
/¯¯_/¯¯\    Envoy DaemonSet:    disabled (using embedded mode)
_/¯¯_/    Hubble Relay:       OK
__/       ClusterMesh:        disabled
Deployment             hubble-ui          Desired: 1, Ready: 1/1, Available: 1/1
Deployment             cilium-operator    Desired: 2, Ready: 2/2, Available: 2/2
Deployment             hubble-relay       Desired: 1, Ready: 1/1, Available: 1/1
DaemonSet              cilium             Desired: 17, Ready: 17/17, Available: 17/17
Containers:            cilium             Running: 17
hubble-ui          Running: 1
cilium-operator    Running: 2
hubble-relay       Running: 1
Cluster Pods:          8/110 managed by Cilium
Helm chart version:    1.14.4
Image versions         cilium             quay.io/cilium/cilium:v1.14.4: 17
hubble-ui          quay.io/cilium/hubble-ui:v0.12.1@sha256:9e5f81ee747866480ea1ac4630eb6975ff9227f9782b7c93919c081c33f38267: 1
hubble-ui          quay.io/cilium/hubble-ui-backend:v0.12.1@sha256:1f86f3400827a0451e6332262467f894eeb7caf0eb8779bd951e2caa9d027cbe: 1
cilium-operator    quay.io/cilium/operator-generic:v1.14.4: 2
hubble-relay       quay.io/cilium/hubble-relay:v1.14.4: 1
Kernel Version
[root@sc-master-1 ~]# uname -a
Linux sc-master-1 5.14.0-284.11.1.el9_2.x86_64 #1 SMP PREEMPT_DYNAMIC Tue May 9 17:09:15 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
[root@sc-master-1 cilium]# kubectl version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.14", GitCommit:"a5967a3c4d0f33469b7e7798c9ee548f71455222", GitTreeState:"clean", BuildDate:"2023-09-13T09:12:09Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.7
Server Version: version.Info{Major:"1", Minor:"25", GitVersion:"v1.25.14", GitCommit:"a5967a3c4d0f33469b7e7798c9ee548f71455222", GitTreeState:"clean", BuildDate:"2023-09-13T09:04:55Z", GoVersion:"go1.20.8", Compiler:"gc", Platform:"linux/amd64"}
Sysdump
cilium-sysdump-20231121-213020-1.tar.gz
cilium-sysdump-20231121-213020-2.tar.gz
tar -zxvf cilium-sysdump-20231121-213020-1.tar.gz
tar -zxvf cilium-sysdump-20231121-213020-2.tar.gz
My helm values.yaml of cilium is bellow:
values.yaml
Relevant log output
No response
Anything else?
No response
Code of Conduct

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

Was hubble installed after the service was installed? In that case you will have to delete your pods/service for cilium/hubble to pick it up?
Can you try cilium hubble disable and then cilium hubble enable --ui?

Was hubble installed after the service was installed? In that case you will have to delete your pods/service for cilium/hubble to pick it up? Can you try cilium hubble disable and then cilium hubble enable --ui?

I install cilium with helm .
I try it in your way,the problem is still exists.
[root@sc-master-1 ~]# cilium hubble disable
[root@sc-master-1 ~]# kubectl -n kube-system get po |grep hubble
[root@sc-master-1 ~]#
[root@sc-master-1 ~]#
[root@sc-master-1 ~]# cilium hubble enable --ui
[root@sc-master-1 ~]# kubectl -n kube-system get po |grep hubble
hubble-relay-84bbc6849d-c2wvg         1/1     Running   0             2s
hubble-ui-7589578bdc-889mv            2/2     Running   0             2s

https://docs.cilium.io/en/stable/network/kubernetes/concepts/ - it says here
In case pods were already running before the Cilium [DaemonSet](https://docs.cilium.io/en/stable/glossary/#term-DaemonSet) was deployed, these pods will still be connected using the previous networking plugin according to the CNI configuration. A typical example for this is the kube-dns service which runs in the kube-system namespace by default.

A simple way to change networking for such existing pods is to rely on the fact that Kubernetes automatically restarts pods in a Deployment if they are deleted, so we can simply delete the original kube-dns pod and the replacement pod started immediately after will have networking managed by Cilium. In a production deployment, this step could be performed as a rolling update of kube-dns pods to avoid downtime of the DNS service

Duplicate of https://github.com/cilium/hubble/issues/1300, closing. Please, do not open the same issue twice in two different repositories.

https://docs.cilium.io/en/stable/network/kubernetes/concepts/ - it says here
` In case pods were already running before the Cilium DaemonSet was deployed, these pods will still be connected using the previous networking plugin according to the CNI configuration. A typical example for this is the kube-dns service which runs in the kube-system namespace by default.
A simple way to change networking for such existing pods is to rely on the fact that Kubernetes automatically restarts pods in a Deployment if they are deleted, so we can simply delete the original kube-dns pod and the replacement pod started immediately after will have networking managed by Cilium. In a production deployment, this step could be performed as a rolling update of kube-dns pods to avoid downtime of the DNS service `

Perhaps, I did not clean up the pods of the previous calico network in time, which caused this problem to occur.
When I change some config , and delete the pod with the previous calico network ,there are some flows on the hubble page.
I'm not sure if this has anything to do with the configuration I modified.
My helm config as follow:
https://github.com/cyxinda/tmp/blob/main/cilium/values2.yaml.
But When I add come annotations to the app pod as the cilium document  ,I found no L7 flows on the page of hubble.
[root@sc-midware-2 ~]# kubectl annotate pod app-64c69fc99f-zxkgt -n moli-india policy.cilium.io/proxy-visibility="<Egress/80/TCP/HTTP>,<Ingress/80/TCP/HTTP>" --overwrite
pod/app-64c69fc99f-zxkgt annotated

I send a http request to the service
cyxinda@oldsix:~$ curl --location 'http://india.knowdee.com/greeting?name=Jack'
{"chartInfo":{"chartVersion":"0.0.4","appVersion":"2.0.0","chartName":"app","namespace":"moli-india"},"dbInfo":{"url":"jdbc:mysql://mysql:3306/prometheus-example?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC&rewriteBatchedStatements=true","username":"root","password":"123456789"},"userInfo":{"id":"Jack","age":38,"height":432,"weight":333}}

There are no http flows of the 7 layers except  the tcp flows from the app pod to mysql .


Support Coinbase Smart Wallet

Adds support for Coinbase Smart Wallet.
Working

Sending transactions

Not working

Signing Typed Data
Signing Messages

References
https://github.com/wilsoncusack/scw-tx
https://github.com/coinbase/smart-wallet

FYI this is the test suite that I have in our Rainmaker repo, I've just pulled it out as a snippet because I wasn't sure where this belongs in your codebase. Note that I have some test PKs that I pulled out (they'll need to be put back in), encoded data tests will have to change too.
import {
  CoinbaseSmartAccount,
  privateKeyToCoinbaseSmartAccount,
} from "common/lib/coinbase/privateKeyToCoinbaseSmartAccount";
import getPublicClient from "common/utils/getPublicClient";
import { ENTRYPOINT_ADDRESS_V06, isSmartAccountDeployed } from "permissionless";
import {
  ENTRYPOINT_ADDRESS_V06_TYPE,
  UserOperation,
} from "permissionless/types";
import { Address, Hex, PublicClient, TypedDataDefinition } from "viem";
import { privateKeyToAccount } from "viem/accounts";

describe("privateKeyToCoinbaseSmartAccount", () => {
  let publicClient: PublicClient;
  let deployedAccount: CoinbaseSmartAccount<ENTRYPOINT_ADDRESS_V06_TYPE>;
  let undeployedAccount: CoinbaseSmartAccount<ENTRYPOINT_ADDRESS_V06_TYPE>;

  beforeAll(async () => {
    publicClient = getPublicClient({
      chain: "base",
      type: "production",
    });

    const deployedPK =
      "0x";
    deployedAccount = await privateKeyToCoinbaseSmartAccount(publicClient, {
      privateKey: deployedPK,
      initialOwners: [privateKeyToAccount(deployedPK).address],
      factoryAddress: COINBASE_SMART_WALLET_FACTORY_ADDRESS,
      entryPoint: ENTRYPOINT_ADDRESS_V06,
      ownerIndex: 0n,
    });

    const undeployedPK =
      "0x";
    undeployedAccount = await privateKeyToCoinbaseSmartAccount(publicClient, {
      privateKey: undeployedPK,
      initialOwners: [privateKeyToAccount(undeployedPK).address],
      factoryAddress: COINBASE_SMART_WALLET_FACTORY_ADDRESS,
      entryPoint: ENTRYPOINT_ADDRESS_V06,
      ownerIndex: 1n,
    });
  });

  it("account addresses are different by pk", async () => {
    expect(deployedAccount.address).not.toBe(undeployedAccount.address);
  });

  it("account address - deployed", async () => {
    // verify deployment status
    const smartAccountDeployed = await isSmartAccountDeployed(
      publicClient,
      deployedAccount.address,
    );

    expect(smartAccountDeployed).toBe(true);
  });

  it("account address - undeployed", async () => {
    // verify deployment status
    const smartAccountDeployed = await isSmartAccountDeployed(
      publicClient,
      undeployedAccount.address,
    );

    expect(smartAccountDeployed).toBe(false);
  });

  it("signMessage - deployed", async () => {
    const message = "hello world";

    // sign the message
    const signedMessage = await deployedAccount.signMessage({
      message,
    });

    const result = await publicClient.verifyMessage({
      address: deployedAccount.address,
      message,
      signature: signedMessage,
    });

    expect(result).toBe(true);
  });

  it("signMessage - undeployed", async () => {
    const message = "hello world";

    // sign the message
    const signedMessage = await undeployedAccount.signMessage({
      message,
    });

    const result = await publicClient.verifyMessage({
      address: undeployedAccount.address,
      message,
      signature: signedMessage,
    });

    expect(result).toBe(true);
  });

  it("signTypedData - deployed", async () => {
    const signature = await deployedAccount.signTypedData(TYPED_DATA);

    const result = await publicClient.verifyTypedData({
      address: deployedAccount.address,
      domain: TYPED_DATA.domain,
      types: TYPED_DATA.types,
      primaryType: TYPED_DATA.primaryType,
      message: TYPED_DATA.message,
      signature,
    });

    expect(result).toBe(true);
  });

  it("signTypedData - undeployed", async () => {
    const signature = await undeployedAccount.signTypedData(TYPED_DATA);

    const result = await publicClient.verifyTypedData({
      address: undeployedAccount.address,
      domain: TYPED_DATA.domain,
      types: TYPED_DATA.types,
      primaryType: TYPED_DATA.primaryType,
      message: TYPED_DATA.message,
      signature,
    });

    expect(result).toBe(true);
  });

  it("getNonce - deployed", async () => {
    const nonce = await deployedAccount.getNonce();
    expect(nonce).toBeGreaterThanOrEqual(0);
  });

  it("getNonce - undeployed", async () => {
    const nonce = await undeployedAccount.getNonce();
    expect(nonce).eq(0n);
  });

  it("getInitCode - deployed", async () => {
    const initCode = await deployedAccount.getInitCode();
    expect(initCode).toBe("0x");
  });

  it("getInitCode - undeployed", async () => {
    const initCode = await undeployedAccount.getInitCode();
    expect(initCode).toBe(
      "0x4ada7b58d006aca9670daba300c0ee3f2ed1c1b03ffba36f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000D2c94f2c39de59ba7879d196d1fFc4c2D9ff7Fa",
    );
  });

  it("getFactory - deployed", async () => {
    const factory = await deployedAccount.getFactory();
    expect(factory).toBeUndefined();
  });

  it("getFactory - undeployed", async () => {
    const factory = await undeployedAccount.getFactory();
    expect(factory).toBe(RAINMAKER_WALLET_FACTORY_ADDRESS);
  });

  it("getFactoryData - deployed", async () => {
    const factoryData = await deployedAccount.getFactoryData();
    expect(factoryData).toBeUndefined();
  });

  it("getFactoryData - undeployed", async () => {
    const factoryData = await undeployedAccount.getFactoryData();
    expect(factoryData).toBe(
      "0x3ffba36f000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000D2c94f2c39de59ba7879d196d1fFc4c2D9ff7Fa",
    );
  });

  it("encodeCallData", async () => {
    const sendCall = {
      to: "0xd8da6bf26964af9d7eed9e03e53415d37aa96045" as Address,
      value:<PHONE_NUMBER>000n,
      data: "0x" as Hex,
    };

    const encodedSingle = await undeployedAccount.encodeCallData(sendCall);

    expect(encodedSingle).toBe(
      "0xb61d27f6000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
    );

    const encodedMulti = await undeployedAccount.encodeCallData([
      sendCall,
      sendCall,
    ]);

    expect(encodedMulti).toBe(
      "0x34fcd5be00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045000000000000000000000000000000000000000000000000000000e8d4a5100000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000",
    );
  });

  it("getDummySignature", async () => {
    const dummySignature = await undeployedAccount.getDummySignature(
      {} as UserOperation<"v0.6">,
    );

    expect(dummySignature).toBe(
      "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000041000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
    );
  });
});

const TYPED_DATA: TypedDataDefinition = {
  domain: {
    name: "MyDapp",
    version: "1.0",
    chainId: 1,
    verifyingContract: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC",
  },
  types: {
    Person: [
      { name: "name", type: "string" },
      { name: "wallet", type: "address" },
    ],
    Mail: [
      { name: "from", type: "Person" },
      { name: "to", type: "Person" },
      { name: "contents", type: "string" },
    ],
  },
  primaryType: "Mail",
  message: {
    from: {
      name: "Alice",
      wallet: "0x1234567890123456789012345678901234567890",
    },
    to: {
      name: "Bob",
      wallet: "0x9876543210987654321098765432109876543210",
    },
    contents: "Hello, Bob!",
  },
};

Legend
I've been waiting for this 🙏
plz merge asap

ty

whoa thank you @cstoneham !!!!! merge merge merge

@cstoneham – that may be a small bug in Viem. Can you try<EMAIL_ADDRESS>and tell me if that works? Can release shortly!

<EMAIL_ADDRESS>
Confirmed fixes, thanks @jxom

Released! We needed to pad the signature properties to 32 bytes to conform with bytes32 encoding.

thanks @jxom, mind bumping the viem version on package managers to 2.17.6 (https://www.npmjs.com/package/viem)

Released on 2.17.7

thanks for your help @jxom @wilsoncusack, think this is ready for another review.

@kristofgazso thoughts on this?

Thank you  @cstoneham let me check this today. I will be updating this branch and merging this with https://github.com/pimlicolabs/permissionless.js/pull/265 so that it's part of the 0.2 release.

Hey I had a few question:

What is the difference between ownerIndex & Index?
If there are multiple initialOwners will the privateKey used here still be able to sign and send user operation?


OpenFunction-events-framework help

hi, I am do some practice by the doc OpenFunction-events-framework.md.
When I finish the example 1,I have some question：Where can I find the source code of the image openfunction/sink-sample:latest?The image used by the function, I want to known the image how to work.
I try to run the image by docker,but it can't run:
ERROR: failed to launch: bash exec: no such file or directory

please tell me how to find the help. thanks

hi, I also need this image info:openfunctiondev/v1beta1-bindings:latest、 openfunctiondev/v1beta1-trigger-target:latest
thanks very much


Clear_session for seq approach

We should be able to call clear_session() even for the 'seq' approach
https://github.com/SubstraFoundation/distributed-learning-contributivity/blob/bdd6ad02f042b3f98ffa96796155c1adcf6cb585/fl_training.py#L501

Seems to be interesting: https://github.com/keras-team/keras/issues/9379#issuecomment-455392681


Update lingui documentation

Adds additional information about lingui, including which commands to run and when.
Fixes #627

Oh oops sorry about that @p-galligan. It looks like what you have is a bit more complete, but you may want to add some of what I wrote in there. Let me know when you're done and I'll close this.

@helrond Ok! I've made updates to the translations branch. I've added you as a reviewer.


pkeyutl return 0 if the verification succeeded

If return non-zero, which not consistent with shell conventions, the shells/scripts treat the cmd as failed.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

https://github.com/openssl/openssl/issues/3214

I add CLA: trivial at the end of commit msg, is that OK?

Merged.
1.0.2: e8f2e2fb3d82485af297717b93358f488e15eae0
It turns out that this is already fixed in 1.1.0 and master


Packaging

This is the beginning of the work necessary to move us away from the perilous makefile installation. Don't merge, as I'll need to modify the bootstrap.sh to take into account older, non-deb released versions.

Copy that.

@michaelshobbs Can you do a once-over on this before I merge? I'm going to make a release after this.

I need to update the upgrade docs as well.

This is good to go. Our next release will have debian packaging as the default! :)


'_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'String'

So I am getting this Error on my data which is a Map. The request still completes (data changes on the server but can't get rid of this error) my code:
 Dio dio = new Dio();
  try {
    Response response = await dio.put(
      Uri.encodeFull(api+"/api/v1/auth/me/"),
      options: new Options(headers: {
        "Authorization": "Token $token",
        "Content-Type": "application/json",
      },
      data: {
        "last_name": user.firstName,
        "first_name": user.lastName,
        "telephone": telephone,
        "send_notices": reminders.toString(),
      },
    ));

    if (response.statusCode != 400) {
      var data = json.decode(response.data);
      print(data);
      return true;
    }
  } catch (e) {
    print("Error updating UserInfo: $e");
  }

  return false;
}

我也遇到这个问题了，它里面默认进行解码的，response.data['name'] 直接用即可。参照  https://github.com/flutterchina/dio/issues/3

I also encountered this problem, the response.data['name']  has been decoded, you can use it directly, the same problem here at  https://github.com/flutterchina/dio/issues/3

Ahh I see. I thought the problem was with the data in the body of the request not the response. Thank you again for point this out. :) all works now 👍

it's still happen when get with response is json like this:
{
    "message": "Please login first !"
}

i checked with Postman !

@lyquocnam  error.response.data["message "]
:octocat: From gitme Android

I had
Response<String> response = await dio.get(url.toString());

which I copied from README.md. But Response works better without specific type.
Response response = await dio.get(url.toString());

HappyMiao

Thanks for the help 🙂


Check if deaths <= cases <= tests

If data is provided the above check must be true, or the data is invalid

I thought about this a bit more and it may not work for a single day. I think you'd have to look at this cumulatively since most places are reporting active cases while deaths and tests are cumulative.

Additionally check that deaths are not decreasing. At least then something needs to be double checked.

I don't think you can say the data is "invalid".  It is what it is at this point.  Reporting delays, etc are likely to cause some odd reporting of numbers.  I have simply been telling folks, expect to see odd numbers from time to time and hopefully it will clear up over a few days time, e.g. when cases were 'transferred' from cruise ships to countries.  my 2c.

If implemented, can be added as a step in the steps folder, most likely called validate.js or something similar.

This may not work at all.

Deaths may be for individuals that were never tested, but were reported based on symptoms and/or post-mortem examination.

of tests can be # of samples or # of individuals. Best practice is to run at least 2 samples per individual.

Thank you all for thinking about this. I have been wanting to see number of test administered, because you can only have as many positives as you have tested.

Are tests marked 0 if there are no records of tests for that location on that day?

today I see 37154 NA's in the timeseries-tidy.csv. So there are both zeros and NA's. Now as to whether or not the original source is recording correctly the meaning of NA?

Test positive is one thing, but diagnostics criteria change, particularly when epidemic outpaces testing ability. At that point health authorities switch to other criteria such as any viral pneumonia,  x-ray abnormalities etc. Italy and China, afaik, have made the switch. Marching orders is Italy are "test if it has clinical implications". Typically if you are not severe, well oxygenated, just fever, cough and discomfort, they send you home under quarantine with palliative care. I think cases should be the best estimate there is, positive tests is a lower bound. If we insist on test-confirmed only, events my make our numbers irrelevant.


Autoembedder is breaking api.ldjam.com URLs

This useful URL:
https://api.ldjam.com/vx/user/logout
is getting mangled by the autoembedder. the api part is getting binned.

Should be fixed by #694 or #693 i don't rember which one . .


Don't croak if a file is being transferred;

When a rom is being uploaded to the webserver and the file is incomplete the updater servces fails to work. due to not being able to read the rom. This appears to fix it.

Thank you! :)


Is it possible to define a delay for each job to start?

I would like to specify a delay time for each job. After this delay time, the job is going to execute as it is defined by scheduled time.

+1


[Content Fragment] Depreate old fields

This can be worked on in parallel of the previous task
Once we have properly migrated to the new fields we can kill the existing content and url fields.

Hard dependency on #4241


Add the Lyo toolchain adaptor and model

Most of the code is generated. You should review: READMEs, WarehouseControllerManager and TwinManager. The graphical view of the models is shown in #9, is being improved together with @eanevul and @swarupmohalik.

Okay, so I have just merged three new patches in the Lyo project and have generated these adaptors.
Changes:

all resource classes are generated into a separate class library
use Twitter bootstrap templates for an eye-candy
finally fix the build errors

Adding @konstantino @swarupmohalik as reviewers. Can you please try running it according to the README instructions? Docker Compose should do the maven & docker builds. http://localhost:8081/sandbox-twin/services/serviceProviders/dummy/robots/1 should take you to the Twin's dummy page that fetches an OSLC resource from the Warehouse adaptor and links to it.
@konstantino @jadelkhoury the ports are still a bit messed up because I wanted to run all adaptors in Docker in port 8080 but on different hostnames, while for debugging I expose them locally and things break if I don't use the same port. You feedback on how to fix it from the Docker and Lyo sides respectively is more than welcome.
@konstantino I don't get @jadelkhoury handle in autocomplete. Did you add him to the external team on Github? Thanks in advance :)

Okay, there is a small problem in this patch and @jadelkhoury provided the following help:

You resource VariableInstance has a LocalResource property called "value". This property does not have a Range set. Fix: Set the range of that LocalResource to something - that is an OSLC Resource.

I am getting server error.
HTTP ERROR 500
Problem accessing /sandbox-twin/services/serviceProviders/robot_handcrafted/robots/1. Reason:
Server Error

Am I missing something?
Also, the VariableInstance resource - where is it?

@swarupmohalik did you start it via make up using Docker Compose? The web apps are connected and require a triplestore (all of that is spinned up by Docker automatically).

Yes, I did the "make up".  Could you tell me which servers are being set up and on which ports? Then I can check.

Made a fresh start and it is working. :-)
Time to know what exactly being done and how.

@likelion @swarupmohalik now that the sandbox runs well for you, shall we merge it to master?
I would maybe move the projects out of the lyo-sandbox directory and make the Makefile run the whole sandbox, but that might require some more coordination with @konstantino in order to transition all this from the Docker Compose to Kubernetes. He pointed me to https://github.com/kubernetes/minikube, I stumbled on http://kompose.io/ myself.
cc @bluelancer here (I know you have your own task to do :) ).


Leaflet 1.1.0 incompatible

Some deprecations and errors found since recent upgrade to Leaflet 1.1.0, when you click on menu item.
Uncaught TypeError: Cannot read property 'off' of undefined
L.DomEvent
                        .off(el, 'mouseover', this._onItemMouseOver, this)
                        .off(el, 'mouseover', this._onItemMouseOut, this)
                        .off(el, 'mousedown', L.DomEvent.stopPropagation)
                        .off(el, 'click', callback);

Are you planning to upgrade the contextmenu plugin to be compatible?.
Thanks

Hi, this is due to a bug in Leaflet 1.1.0 that has since been fixed: https://github.com/Leaflet/Leaflet/pull/5601
In the meantime you could downgrade or use Leaflet trunk.


iOS15.0 cofishhook.c crash

Context and Description
co_launch crashes after execution

Environment Details

coobjc version: 1.2.0
iOS version: 15.0
Xcode version: 12.5.1, 13.0
Other informations:

The same question，iOS 15.0 crash

[App Name] was compiled with optimization - stepping may behave oddly; variables may not be available.

The same question，iOS 15.0 crash

iOS15 崩溃
位于 indirect_symbol_bindings[i] = cur->rebindings[j].replacement;

Does anyone solve it, many places in the project use this framework, not good replacement.

Use: cf99ab4aae0ff73731bbf765d2bd08645684c733

@NianJi  Resolved, thank you

Use this commit: cf99ab4
If problem resolved, I will publish a new tag to cocoapods

请问什么时候会推送到cocoapods


Event OnMessage stop publish message

Hi,
I just discovered this software and i liked it. Thanks.
One question:
I want to generate new messages to diferent topics based on original message, but i want to not publish the original.
Is posible to delete (not publish) a message ?

Hi @izarraga! It's currently not possible, but we can probably make it work! Could you tell me a little more about your use case so we can determine the best solution?

Hi @mochi-co
I have devices (GPS trackers) sending messages to servers.
Trackers  --> Socket Driver1 --> MQTT broker   --> Backend product 1
Socket Driver2                                    Backend product 2
Backend product 3
Backend product 4
All backends all receiving all message of trackers.  Witch is good because the same tracker can be used in diferents products at the same time, but all backend are discarting messages of trackers that are not for them.
That discard of messages consume CPU, bandwith, ....  It occurs to me to translate discarting logic to MQTT broker.
Other question:
I don't need to use persistence, but i want to not lost messages in backends reboots.  If i connect witch cleanSession=false and    QoS > 0  messages that arrive with backend in offline are later resend ?

Just to clarify - is there a single mqtt broker between all the backends, or is there an MQTT broker between each socket driver and backend product?

Ok thanks. I will have a think and get back to you with a possible solution!

@izarraga Follow up question - I am assuming that within the broker embedding code you have a mechanism that can determine if a client should receive a message based on the subscribed or client id? I'm guessing you have a situation where simply using topic filters per backend product is insufficient.

Yes, your assumtion is correct.  I can't use topic filters.
Aside from my case.  I think being able to drop the message can be interesting for other cases.
Thanks.

@izarraga I have added a new AllowClients field to the packet structure, which allows you to specify one or more clients who are allowed to receive a message. See the latest release v1.0.3: https://github.com/mochi-co/mqtt/releases/tag/v1.0.3
Let me know if you have any questions!

I don't need to use persistence, but i want to not lost messages in backends reboots. If i connect witch cleanSession=false and QoS > 0 messages that arrive with backend in offline are later resend ?

Without persistence, everything is stored in memory, so if your broker stops, everything will be cleared. The only way to maintain state across reboots is to use persistence. However, persistence writing mostly only comes into play if you are using retain on your messages, so unless you are persisting every message or running at maximum throughput, the performance difference won't be hugely noticeable. Feel free to open a new ticket if there's a separate issue here you'd like to explore.

@mochi-co AllowClients solution is just perfect. Thank you.
Forget persistence question.  I have been doing tests and it works ok.


Send feedback is slow/ missing sometimes

Since the bitcoinj update the feedback that the send has been sent correctly has been slow/ missing.
The tx is sent ok but the tx is not been seen by the other peers (or at least the tx confidence listeners are not firing).
TransactionBroadcast is the central class.

Here is a log excerpt covering the earlier note:
[2015-05-04 17:13:07,892] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - The CoreServices Context original confidence has identity:<PHONE_NUMBER>
[2015-05-04 17:13:07,892] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - Creating new confidence ....
[2015-05-04 17:13:07,894] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - New confidence has identity):<PHONE_NUMBER>
[2015-05-04 17:13:08,048] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - Attaching progress callbacks to transactionBroadcast<PHONE_NUMBER> with tx 5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431
[2015-05-04 17:13:08,051] DEBUG [bitcoinj user thread] o.m.h.c.s.BitcoinNetworkService - Tx   5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431: Pending/unconfirmed.
     in   PUSHDATA(71)[3044022009c7f69fb14a0695cdf6ec32711a7528bc4e5879092b3130e511633d7eb518e8022065a68603cbea2cb597439ec1758b08d537f07dee2fd7b6a3f6e7c19880486b3501] PUSHDATA(33)[03b3c0934cd353462c85edfb3dfa76affa10bd572aadebfd4dc3ae332c9eeda25e] 0.00084 BTC
          outpoint:03fdc2c2c087134a40f17c155d4d01c99c7cf5ba5954d0d4dfc8105c17fc2584:1 hash160:711bf77e744a6f9ef390fed4f39d53abbb131ba0
     out  DUP HASH160 PUSHDATA(20)[4bcfcdd77c9e52fd2b748d6ce6a55d6b5e2ec01a] EQUALVERIFY CHECKSIG 0.0001 BTC
     out  DUP HASH160 PUSHDATA(20)[5bd20151730a7cc603cae3f3723a9cd733bbb445] EQUALVERIFY CHECKSIG 0.00073 BTC
     fee  0.00001 BTC
, progress is now 0.0
[2015-05-04 17:13:08,051] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - Initiated broadcast of transaction: '01000000018425fc175c10c8dfd4d05459baf57c9cc9014d5d157cf1404a1387c0c2c2fd03010000006a473044022009c7f69fb14a0695cdf6ec32711a7528bc4e5879092b3130e511633d7eb518e8022065a68603cbea2cb597439ec1758b08d537f07dee2fd7b6a3f6e7c19880486b35012103b3c0934cd353462c85edfb3dfa76affa10bd572aadebfd4dc3ae332c9eeda25effffffff0210270000000000001976a9144bcfcdd77c9e52fd2b748d6ce6a55d6b5e2ec01a88ac281d0100000000001976a9145bd20151730a7cc603cae3f3723a9cd733bbb44588ac00000000'
[2015-05-04 17:13:08,051] DEBUG [safe-fixed-bitcoin-network-1] o.m.h.c.s.BitcoinNetworkService - Forgetting last SendRequest and Wallet
[2015-05-04 17:13:08,071] DEBUG [safe-fixed-core-events-7] o.m.h.u.v.w.s.SendBitcoinReportPanelView - Received the BitcoinSendProgressEvent: BitcoinSendProgressEvent{transactionId='5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431', progress=0.0}
[2015-05-04 17:13:08,372] DEBUG [safe-fixed-payment-update-service-0] o.m.h.u.v.s.p.PaymentsScreenView - Updating the payment data set - expensive
[2015-05-04 17:13:19,124] DEBUG [bitcoinj user thread] o.m.h.c.s.BitcoinNetworkService - Saw original confidence changed to Seen by 1 peer. Pending/unconfirmed.
[2015-05-04 17:13:19,124] DEBUG [bitcoinj user thread] o.m.h.c.s.BitcoinNetworkService - Saw new confidence changed to Seen by 1 peer. Pending/unconfirmed.
[2015-05-04 17:13:19,125] DEBUG [bitcoinj user thread] o.m.h.c.s.BitcoinNetworkService - Tx   5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431: Seen by 1 peer. Pending/unconfirmed.
     in   PUSHDATA(71)[3044022009c7f69fb14a0695cdf6ec32711a7528bc4e5879092b3130e511633d7eb518e8022065a68603cbea2cb597439ec1758b08d537f07dee2fd7b6a3f6e7c19880486b3501] PUSHDATA(33)[03b3c0934cd353462c85edfb3dfa76affa10bd572aadebfd4dc3ae332c9eeda25e] 0.00084 BTC
          outpoint:03fdc2c2c087134a40f17c155d4d01c99c7cf5ba5954d0d4dfc8105c17fc2584:1 hash160:711bf77e744a6f9ef390fed4f39d53abbb131ba0
     out  DUP HASH160 PUSHDATA(20)[4bcfcdd77c9e52fd2b748d6ce6a55d6b5e2ec01a] EQUALVERIFY CHECKSIG 0.0001 BTC
     out  DUP HASH160 PUSHDATA(20)[5bd20151730a7cc603cae3f3723a9cd733bbb445] EQUALVERIFY CHECKSIG 0.00073 BTC
     fee  0.00001 BTC
, progress is now 0.5
[2015-05-04 17:13:19,126] DEBUG [safe-fixed-core-events-8] o.m.h.u.v.w.s.SendBitcoinReportPanelView - Received the BitcoinSendProgressEvent: BitcoinSendProgressEvent{transactionId='5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431', progress=0.5}
[2015-05-04 17:13:19,127] DEBUG [bitcoinj user thread] o.m.h.c.s.BitcoinNetworkService - Tx   5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431: Seen by 1 peer. Pending/unconfirmed.
     in   PUSHDATA(71)[3044022009c7f69fb14a0695cdf6ec32711a7528bc4e5879092b3130e511633d7eb518e8022065a68603cbea2cb597439ec1758b08d537f07dee2fd7b6a3f6e7c19880486b3501] PUSHDATA(33)[03b3c0934cd353462c85edfb3dfa76affa10bd572aadebfd4dc3ae332c9eeda25e] 0.00084 BTC
          outpoint:03fdc2c2c087134a40f17c155d4d01c99c7cf5ba5954d0d4dfc8105c17fc2584:1 hash160:711bf77e744a6f9ef390fed4f39d53abbb131ba0
     out  DUP HASH160 PUSHDATA(20)[4bcfcdd77c9e52fd2b748d6ce6a55d6b5e2ec01a] EQUALVERIFY CHECKSIG 0.0001 BTC
     out  DUP HASH160 PUSHDATA(20)[5bd20151730a7cc603cae3f3723a9cd733bbb445] EQUALVERIFY CHECKSIG 0.00073 BTC
     fee  0.00001 BTC
, progress is now 0.5
[2015-05-04 17:13:19,131] DEBUG [safe-fixed-core-events-9] o.m.h.u.v.w.s.SendBitcoinReportPanelView - Received the BitcoinSendProgressEvent: BitcoinSendProgressEvent{transactionId='5b7c3ce2bef0bf28cded35dc43c9c44e2ef46e702619df40a31e26f2d5128431', progress=0.5}
[2015-05-04 17:13:19,424] DEBUG [safe-fixed-payment-update-service-0] o.m.h.u.v.s.p.PaymentsScreenView - Updating the payment data set - expensive

I have improved this by basically copying the canonical bitcoinj wallet-tool send. It was slightly different code and used 10 peers (send on 5, listen on 3).
I've tried it a few times in Starbucks but it needs more general testing to see if the sends send reliably and in a timely fashion.
Awaiting review and closing.

Verified working smoothly.
Closing.
We can re-open if we encounter problems along the way.


[Bug]: how to set the date with current weekday

Contact Details
No response
What happened?
I have a date field as one my columns.
I would like to have the date field (in YAML) popluated with the current date in format yyyy-MM-dd (EEE) using the current computers locale.
So for today that would be:
2023-01-15 (So)
I have configured the setting in the database settings:

But the format set in YAML is shown like this:

What platform were you using?
Desktop
Version of the plugin
3.2.3
Relevant log output
No response
Are you using the latest version of the plugin in your Obsidian vault?

[X] I have verified that I am on the latest version

Are you check if there is a similar issue?

[X] I have verified that there are not similar issues

Hello @nousernameavailableanymore ,
this behaviour is a decision in favor of an standard with the dates and performance.
All the dates will be saved with ISO format.
There are formats where value is lost and we could not reconstruct a date from them, but if they are saved with this standard it covers any type


fix - requiresMainQueueSetup warning on iOS

Resolves the warning that the module requires main queue setup because it overrides constantsToExport

Thank you.


Decide on DCO or a similar mechanism

To make sure that contributions are coming with the necessary rights, and authors have the approval to do the contributions, we need to discuss how explicit and transparent we want to make this. The OpenRail Association has defined in their statutes that there is no CLA, but a DCO would be a pragmatic mechanism to achieve it. We need to decide where and how we require it.

Decision of the Technical Committee on 2024-07-02: Require DCO for projects at incubation stage 2 and later.
We need to document this and how to do it in the project handbook.
We also should enable the DCO bot to automatically check that the DCO is present in all commits.

DCO checks are now enabled on the technical-committee repository.

Documentation is tracked in issue #99. As the decision is taken, I'm closing this issue here.


Optimize ReservoirSegmentSampler.getRandomBalancerSegmentHolder()

The current algorithm is O(N_SEGMENTS_IN_CLUSTER), it can be O(N_SERVERS_IN_CLUSTER) + O(log(N_MAX_SEGMENTS_ON_A_SERVER) via reservoir choice of a server first using populations of servers, then a random segment can be chosen on a server using this hack.

@leventov why would you choose to use reservoir choice of a server as opposed to randomly choosing a server and then choosing a random segment using the hack you've shown?

@shivtools the previous implementation was choosing a segment uniformly at random in a cluster. If you just choose a random server first, segments that are served by less populated servers have a higher chance of being chosen overall. Or am I wrong?

 I tuned the server selection to use reservoir sampling as you suggested.


feat(web-app): add divider component

Closes #777
TEST:

http://localhost:3000/mdx/divider
https://gatsby-theme-carbon.vercel.app/components/ExpressiveList
http://localhost:6006/?path=/docs/mdx-divider--default
http://localhost:3000/about-carbon/meetups

@andreancardona I added this component to the meetups page to test and pushed to this branch http://localhost:3000/about-carbon/meetups


Search results cannot be selected with cursor

Describe the bug
Once search term is entered, and results appear, moving the cursor (touchpad on Mac) the results disappear and search window closes. Cursor keys must be used, then the Return button to select.
To Reproduce
Steps to reproduce the behavior, on Safari, with Touchpad or mouse:

Go to '(search window)'
Type  'Milton Keynes'
Wait for results
Move cursor (with touchpad or mouse) and watch results immediately disappear.
Repeat, using arrow buttons and Enter/Return.

Expected behavior
Search window and results to stay open to allow mouse cursor/touchpad to move and select.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: macOS Sierra
Browser Safari
Version 11.1

Additional context
Add any other context about the problem here.

Additional comment after a user raised this too -
The search window only appears when the mouse cursor hovers over it.
Once open, the mouse cursor can be moved within the search box,
but if the cursor moves off the search box, it minimises again.
As the search results are not within the original search window, it is interpreting this as outside of the area and minimising.
Perhaps the minimising should be disabled once a character is typed in the search box?

@gailramster We think we've got a fix for at least some of this.
It'll be on https://gbptm-stage.herokuapp.com shortly. Could you verify that we've improved the situation?

Still behaving the same.

yep. Sadly the deploy went well. We'll let you know when we've fixed that...
On 29 August 2018 at 09:31, Gail Ramster<EMAIL_ADDRESS>wrote:

Still behaving the same.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/neontribe/gbptm/issues/333#issuecomment-416870735,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAc9_SP6fV8fcsrlu4JT8qnX80ba1jqiks5uVlFRgaJpZM4WCCyR
.

--
@rupertredington | 07780 995152 | http://www.neontribe.co.uk
Terse? I loosely adhere to http://five.sentenc.es
The views expressed in this email have almost certainly been lifted from
elsewhere.

@gailramster We've resolved the build issue and the code really is on gbptm-stage.herokuapp.com
You'll need to refresh after loading the site.
Sorry for the false-start.

Still won't work on Safari.
It works on Chrome, but also on toilet map.org.uk, so I guess it always did.
Phillip reports that:
using Firefox 61.0.2
If you click into the search box before typing characters it closes again.
However if you just start typing characters it works fine.
Clicking into the box would be normal user behaviour - so this probably needs rectifying.  I may only be a Firefox issue.
It doesn't do this on Safari - clicking in the search box doesn't do anything (but if you move off the search box area it closes).
However Phillip noticing this means I assume the search box works otherwise fine on Firefox.

I think this is now resolved on https://gbptm.now.sh/ by #629


Add support for zstd-compression

With this commit we add support for zstd compressed corpora. Compared to bzip, the zstd format produces compressed files that are roughly 40% smaller and took around a third of the time to decompress in our tests.
Closes #1781

Thanks! Yes, I've tested both cases (with the library and the native binary). Also, the library I've picked seems to be the most mature of them.


withStyles doesn't inject styles correctly

Unexpected Behavior

[x ] bug report
[ ] feature request

Issue description
Current behavior:
I created a wrapper for TopNavigation to auto display a back button as leftControl if the user can go back in navigationStack.
So in such case, the leftControl would be:
leftControl = (
        <View>
          <TouchableOpacity onPress={() => goBack()}>
            <Feather name="chevron-left" size={32} color="white" />
          </TouchableOpacity>
        </View>
      );

Then I exported my component as following:
export const NavigationBar = withStyles(NavigationBarComponent, (theme: ThemeType) => ({
  color: theme['color-primary-default'],
}));

This should inject a themedStyle Object in my component's props, that has a "color" property, which currently, I'm getting like this:
color: {
 "0": "$",
"1": "c",
"10": "m",
"11": "a",
"12": "r",
"13": "y",
"14": "-",
"15": "5",
"16": "0",
"17": "0",
"2": "o",
 "3": "l",
"4": "o",
"5": "r",
"6": "-",
"7": "p",
"8": "r",
"9": "i",
}

Expected behavior:
"color" property should hold a value of e.g. "#f76a97"
Steps to reproduce:
export a component wrapped with "withStyles" and check the themedStyle prop
Related code:

import React from 'react';
import { SafeAreaView, TouchableOpacity, View } from 'react-native';
import { NavigationScreenProp } from "react-navigation";
import { TopNavigation, TopNavigationProps, Layout, withStyles, ThemedComponentProps, ThemeType } from 'react-native-ui-kitten';
import { Feather } from '@expo/vector-icons';

interface NavigationBarProps extends TopNavigationProps, ThemedComponentProps {
  renderBackButton?: boolean;
  navigation?: NavigationScreenProp<any,any>;
}

const NavigationBarComponent = (props: NavigationBarProps) => {

  // Checking If There Should Be a Back Button As Left Control ------
  let leftControl: React.ReactElement | undefined;
  if (props && props.renderBackButton && props.navigation) {
    const parent: NavigationScreenProp<any, any> | undefined = props.navigation.dangerouslyGetParent();
    if (parent && parent.state && parent.state.index && parent.state.index > 0) {

      console.log(props.themedStyle.color);

      // Create GoBack Function -----
      const goBack: Function = () => {
        if (props.navigation) {
          props.navigation.goBack();
        }
      }

      // Create Back Button, left Control Element -----
      leftControl = (
        <View>
          <TouchableOpacity onPress={() => goBack()}>
            <Feather name="chevron-left" size={32} color="white" />
          </TouchableOpacity>
        </View>
      );
    }
  }

  // Create Default Props -----
  const defaultProps: NavigationBarProps = {
    alignment: "center",
    leftControl: leftControl
  };

  // Return Element -----
  return (
    <Layout level="1">
      <SafeAreaView>
        <TopNavigation {...{...defaultProps, ...props}} />
      </SafeAreaView>
    </Layout>
  );
};

// Export Component With Style Props From Theme ----
export const NavigationBar = withStyles(NavigationBarComponent, (theme: ThemeType) => ({
  color: theme['color-primary-default'],
}));

Other information:
Device: iPhone Xs Max
Device OS: iOS 12.3.1
Expo SDK: 33
Ui-Kitten: 4.0.1
@eva: 1.0.0
typescript: 3.4.5

Hi @DaniShalash
Thanks for report.
Do you have an application root configured as described in this doc?

Hi @artyorsh ,
Yeah, not exaclty, as I implemented my own logic to change the app theme. However, this behavior still appears even when my app is 100% configured as per the doc you mentioned
Anyway, here's my App.tsx
import React from 'react';
import { StatusBar, View } from 'react-native';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/lib/integration/react';
import { store, persistor } from './store/redux-store';
import { mapping } from '@eva-design/eva';
import { ApplicationProvider } from 'react-native-ui-kitten';
import { Themes } from './themes';
import { ThemeName } from './enums/theme.enum';
import { initApp } from './App.init';
import { AppContainer } from './navigation/navigator';

export default class App extends React.Component<any, any> {

  currentTheme: any = Themes[ThemeName.Light];
  statusBarStyle: 'default' | 'light-content' | 'dark-content' | undefined = 'dark-content';

  constructor(props: any) {
    super(props);
    initApp();
    this.state = store.getState();
    this.subscribeToStoreChanges();
  }

  subscribeToStoreChanges() {
    store.subscribe(() => {
      if (store.getState().theme.themeName != this.state.theme.themeName) {
        this.setState(store.getState());
      }
    });
  }

  checkAppTheme() {
    if (this.state && this.state.theme && this.state.theme.themeName) {
      this.currentTheme = Themes[this.state.theme.themeName];
      switch (this.state.theme.themeName) {
        case ThemeName.Light:
          this.statusBarStyle = 'dark-content';
          break;

        case ThemeName.MidnightBlue:
          this.statusBarStyle = 'light-content';
          break;

        default:
          this.statusBarStyle = 'dark-content';
      }
    } else {
      this.currentTheme = Themes[ThemeName.Light];
      this.statusBarStyle = 'dark-content';
    }
  }

  render(): React.ReactNode {
    this.checkAppTheme();
    return (
      <Provider store={store}>
        <PersistGate loading={<View></View>} persistor={persistor}>
          <ApplicationProvider mapping={mapping} theme={this.currentTheme}>
            <StatusBar animated={true} barStyle={this.statusBarStyle} />
            <AppContainer />
          </ApplicationProvider>
        </PersistGate>
      </Provider>
    );
  }
}

With an example you've provided I'm not pretty sure you're correctly exporting your themes.
I need to run your example in case this error occurs only in one component (NavigationBar)

btw you can take a look on kitten tricks app and see our practical usage to resolve this faster. This app also uses both light and dark themes and every custom component is created using withStyles

@artyorsh
You can disregard  theme={this.currentTheme} in ApplicationProvider, and replace it with  theme={lightTheme}, Where lightTheme is imported as following:
import { light as lightTheme } from '@eva-design/eva'
It'll produce the same behavior.

@artyorsh
Thanks to the kitten tricks app I was able to track and fix the issue.
It was solved by simply replacing:
export const NavigationBar = withStyles(NavigationBarComponent, (theme: ThemeType) => ({
  color: theme['color-primary-default'],
}));

With
export const NavigationBar = withStyles(NavigationBarComponent, (theme: ThemeType) => ({
  backButton: {
    color: theme['color-primary-default'],
  }
}));

Thank you very much for the quick replies

yeah, sorry, there was a lot of code to determine the problem quickly
glad to help :)

@DaniShalash are the docs going to be updated?

Can someone explain as to why does this happen? Nesting the style inside another object fixes the issue? How?

@YashGadle  take more attention on the @DaniShalash answer. withStyles arrow function should return an object with nested objects, just like you do when using StyleSheet


Allow optionally install openjdk

This lib could switch to openjdk. The downloading procedure would be easier as the download links are easily available at https://jdk.java.net/archive/

https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_windows-x64_bin.zip
https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_osx-x64_bin.tar.gz
https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz

As 1.8 and Oracle is hard coded now, I suggest to quickly fix this with hard coding OpenJDK and 11 here:
https://github.com/schreiben/node-jre/blob/master/index.js#L107
Related to:
https://github.com/shannah/jdeploy/issues/11
https://github.com/tomasbjerre/wiremock-npm/issues/1

This is a valid point, and as njre is a better maintained alternative doing just that, I'll discontinue this project now.


Replay causes OOM

Using replay to repair DB fails with OOM due to large number of docs loaded in-memory.
We should use paging to prevent such situations.

Fixed with 06a8a169c43abc1c4f0c9d632415df20a792bf26


Github URL incorrect in reconciliation email

Github URL needs "tree" in URL and should start with https://
OIT has detected a change in the Dockerfile for openshift3/ose-ansible
Source file: github.com/openshift/openshift-ansible/images/installer/Dockerfile.rhel7
This has been automatically reconciled and the new file can be seen here:
http://pkgs.devel.redhat.com/cgit/rpms/aos3-installation-docker/tree/Dockerfile?id=a2b02117af95716e20f383c27ef984effaf41800

The git branch will also need to be included in the URL. For example, the reconciliation could have taken place in the enterprise-3.5 ose branch or the master ose branch.


UserInfo type not imported by libs on flutter side.

Hi,
In the flutter project, I get a UserInfo object thanks to sessionManager.signedInUser;
But the type UserInfo isn't imported by libs.
I have tried to import serverpod_flutter, serverpod_auth_email_flutter, serverpod_auth_shared_flutter.

It is located in the package serverpod_auth_client.

thanks !

Should this not be exported by serverpod_auth_shared_flutter since that is the lib used in the flutter directory?


GIRL Emoji with the FITZ-3 modifier rendering as two separate characters

[Description of the issue]
The GIRL Emoji with the FITZ-3 modifier, which renders correctly according to the Unicode specification in Chromium as a FITZ-3 GIRL , renders as default GIRL emoji followed separately by a square showing the FITZ-3 skin tone.
Steps to Reproduce

Have an Emoji font that supports the Fitzpatrick modifiers installed.  I'm using Google's Noto Color Emoji from https://noto-website-2.storage.googleapis.com/pkgs/Noto-hinted.zip

Open a shell in a terminal emulator.  I'm using ZSH in Guake

Run Atom from your shell.  I'm doing this as atom --clear-window-state --safe

Open Chromium

In Chromium go to https://en.wikipedia.org/wiki/Emoji#Skin_color

Select the FITZ-3 GIRL as shown here:

Copy with Ctrl+C

Switch to Atom

Create a new document in Atom with Ctrl+N

Paste with Ctrl+V

Expected behavior: FITZ-3 GIRL is rendered according to the Unicode specification, as Chromium does as shown here:
Actual behavior: The default GIRL emoji followed by seperate FITZ-3 modifier is shown as shown here:
Reproduces how often: Every time
Versions
Atom version info:
Atom    : 1.13.0
Electron: 1.3.13
Chrome  : 52.0.2743.82
Node    : 6.5.0
apm  1.14.1
npm  3.10.5
node 4.4.5
python 2.7.12+
git 2.9.3
OS info:
Distributor ID:	Ubuntu
Description:	Ubuntu 16.10
Release:	16.10
Codename:	yakkety
Additional Information
I doubt these matter, but the issue posting guide says I should include them:
I have not installed any packages after installing Atom
I just installed Atom for the first time, and as such have not tested this on other versions.
I have not changed any Atom configuration files.
I only have one monitor.
I use the us-dvorak keyboard layout.
Please let me know if there is something else I should include.

I cannot reproduce this on Atom 1.15.0-dev-d5785a1 (Electron 1.4 + latest master).  It looks like this is the same as #13360 though, so I'm going to close this issue in favor of that one.


duplicated definition of the pullback functor between over categories

Today @sinhp and I discovered that there are two definitions of the pullback functor between over categories:
(i) one called Over.pullback that appears in Limits.Over.
(ii) one called Over.baseChange that appears in Adjunction.Over and
Over.pullback is proven to be a right adjoint in Over.mapPullbackAdj, while Over.baseChange was proven to be a right adjoint in Over.mapAdjunction --- my first mathlib PR!
The comments to the Limits.Over file mention a TODO: If C has binary products, then forget X : Over X ⥤ C has a right adjoint. This appears as Over.forgetAdjStar in the Over.Adjunction file.
@sinhp has discussed this with @jcommelin and @joelriou who confirm that the correct place for this material is in the adjunction folder. But I have no clue which names, constructions, etc are best.

Closed by #14519


OrthoMCL - Custom tree-table for OrthoGroup page

Testing:
There are only a few tree files available on the back end, so only a few orthogroups work.  Here's are the valid OGs at the moment:

OG6_102443
OG6_103280
OG6_105395
OG6_105810
OG6_126264
OG6_126317
OG6_126334
OG6_126431

Run ortho-site locally and access the path /app/record/group/OG6_102443
Back end config for .env is
BASE_PROXY_URL=https://qa.orthomcl.org/
LEGACY_WEB_APP_URL=${BASE_PROXY_URL}/orthomcl
PROJECT_ID=OrthoMCL

yarn && yarn nx start @veupathdb/ortho-site

To do:

[x] restore clustal functionality
[x] pfam domain architecture in main table
[x] pfam legend
[x] pfam legend checkboxes apply to main table
[x] search box
[x] take care of width issues/horizontal scroll/remove some columns/sticky checkbox column? (partially solved by using the horizontal scroll of the whole page)
[ ] sortable columns? (hide tree if sorted)
[x] maybe do core/peripheral filters?
[ ] also add EC "legend filter"? - some questions around partial ECs
[x] do general WDK page/record reorganisation
[ ] fix inline click with tooltips? (currently clicking changes the row height - perhaps just hide the tree if any rows are expanded?)
[ ] reset button?
[ ] full_id needs display name and go on left
[ ] un-collapse the main section

UX suggestions

[ ] organism/taxon legend(s)?
[ ] zoom out to see whole tree? or maybe a modal?
[ ] tree bolder (thicker lines)
[ ] add explanation of tree
[ ] tree branch metrics? (future)

I figured out why the section is always collapsed by default:
https://github.com/VEuPathDB/web-monorepo/blob/26807b89d8f8a131984a63f67da68a70e83309f2/packages/sites/ortho-site/webapp/wdkCustomization/js/client/store-modules/RecordStoreModule.ts#L19-L29
I don't know why this was done, but I suppose we can remove this entire case.

Brilliant - thanks - yes that will help a lot! @dmfalke

There's nothing left after removing that case.
Should we track down where the reduce is called, or just eviscerate this function and make it no op?

There's nothing left after removing that case.
Should we track down where the reduce is called, or just eviscerate this function and make it no op?

I think we can just remove the reduce function.
Not sure why I didn't see this comment sooner... sorry for the delay!

It's imported here:
https://github.com/VEuPathDB/web-monorepo/blob/26807b89d8f8a131984a63f67da68a70e83309f2/packages/sites/ortho-site/webapp/wdkCustomization/js/client/wrapStoreModules.tsx
I'm pretty sure you can just delete the reduce and don't need to make any other changes.

Ah, thanks, I was missing something fundamental that I get now.

It looks like we can't avoid the "We're sorry, something went wrong." modal being rendered if the wdkService back end call returns a 404. That hook (useWdkService/useOrthoService) doesn't handle errors the same way as the EDA's usePromise.
However, we can avoid asking for a tree when there are too few sequences, thus avoiding some user-facing errors. Will push a commit soon to address this and make sure the regular table still renders.
  const numSequences = props.value.length;
  const treeResponse = useOrthoService(
    numSequences > 2
      ? (orthoService) => orthoService.getGroupTree(groupName)
      : () => Promise.resolve(undefined),
    [groupName, numSequences]
  );

@bobular what is the state of the backend for this? Do I need to use the diamond branch and the rm database John mentioned?

Another thing... it would be nice for the row counts to indicate when the table is filtered, as in this screenshot:

Hi all.  I've made some expensive synchronous operations into asynchronous effects and added a switch to show only core proteins when #seqs > 2000
OG7_0000009 with 10k sequences is a good test case.
The remaining performance issues seem to be
a) filtering the tree based on search (which is currently synchronous) - takes a couple of seconds for a 10k group.
b) rendering
My FF still complains sometimes for the full (core+peripheral) and this seems to be a mix of Pfam architecture rendering and tree rendering. Only disabling both seems to prevent any slow-down warnings. We probably need to think a bit more about large groups and what sensible cutoffs are.

Latest commit adds this. No dashed outline when there are PFam domains.

Thanks @rdemko2332 - I'll get this wired up ASAP :smiley:

Seems to work fine after merging main (including the React upgrade)

I am changing this to a draft, until we are ready to merge into main. @bobular feel free to change back :)

I am planning to merge this PR. We can make a new issue for any remaining tasks we intend to implement.


Changes to show all survey results to superusers

Issue #: https://github.com/bcgov/met-public/issues/
Description of changes:

Added new role to check if user should have access to all survey results
Added new action drop down on engagement/survey listing to view public/internal report
Added check to show internal report action only for users with specific role
Added check on analytics api to show all survey results only to users with specific role
Added new parameter on dashboard link to identify public/internal report

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #2078 (8b99fd0) into main (4e46b15) will increase coverage by 0.54%.
The diff coverage is 64.17%.

@@            Coverage Diff             @@
##             main    #2078      +/-   ##
==========================================
+ Coverage   69.38%   69.92%   +0.54%
==========================================
  Files         455      489      +34
  Lines       14459    15210     +751
  Branches     1120     1126       +6
==========================================
+ Hits        10032    10636     +604
- Misses       4237     4384     +147
  Partials      190      190

Flag
Coverage Δ

analyticsapi
81.16% <67.82%> (?)

metapi
78.08% <100.00%> (+<0.01%)
:arrow_up:

metweb
62.17% <38.88%> (-0.05%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

...pi/src/analytics_api/models/request_type_option.py
61.11% <0.00%> (ø)

met-web/src/apiManager/endpoints/index.ts
100.00% <ø> (ø)

.../src/components/dashboard/EngagementsAccordion.tsx
96.66% <ø> (ø)

met-web/src/services/userService/constants.ts
100.00% <ø> (ø)

.../components/engagement/listing/ActionsDropDown.tsx
62.68% <16.66%> (-3.45%)
:arrow_down:

.../src/components/survey/listing/ActionsDropDown.tsx
63.63% <37.50%> (-3.04%)
:arrow_down:

...s-api/src/analytics_api/resources/survey_result.py
57.57% <45.45%> (ø)

...cs-api/src/analytics_api/services/survey_result.py
66.66% <50.00%> (ø)

...-web/src/services/analytics/surveyResult/index.tsx
44.44% <50.00%> (ø)

...lytics-api/src/analytics_api/utils/user_context.py
55.00% <55.00%> (ø)

... and 3 more

... and 29 files with indirect coverage changes


Spec tags are case sensitive

Expected behavior
Specs should be picked irrespective of case of tag names. Tags should be case insensitive
Actual behavior
Tags are case sensitive and are not picked if they dont match exactly.
Steps to reproduce

Have 1 spec with tag as "sandbox" and other spec as "Sandbox".
Run specs having tag "sandbox" from console
Only 1 spec is picked which is matching the exact case and word

Gauge version
Gauge version: 0.6.2.nightly-2016-07-31
Plugins
html-report (2.2.0.nightly-2016-08-10)
java (0.5.2)

Case sensitiveness in tags is by design. Gauge allows users to write specs in any UTF-8 supported language. It does not bother about the locale/language. Making it case insensitive might not make sense in non-latin languages, hence this decision was made to match tags exactly.


uv python list not showing pypy correctly

Using uv 0.4.1 on Windows 11
uv python list only shows pypy 3.7, not recent versions such 3.9 and 3.10
$ uv python list
cpython-3.12.5-windows-x86_64-none     <download available>
cpython-3.12.4-windows-x86_64-none     C:\Python312\python.exe
cpython-3.11.9-windows-x86_64-none     AppData\Roaming\uv\data\python\cpython-3.11.9-windows-x86_64-none\python.exe
cpython-3.10.14-windows-x86_64-none    <download available>
cpython-3.9.19-windows-x86_64-none     <download available>
cpython-3.9.13-windows-x86_64-none     C:\Python39\python.exe
cpython-3.8.19-windows-x86_64-none     AppData\Roaming\uv\data\python\cpython-3.8.19-windows-x86_64-none\python.exe
pypy-3.7.13-windows-x86_64-none        <download available>

$ uv python list --all-versions | grep pypy
pypy-3.7.13-windows-x86_64-none        <download available>
pypy-3.7.12-windows-x86_64-none        <download available>
pypy-3.7.10-windows-x86_64-none        <download available>

At least it is able to install more recent versions, meaning it is likely just an issue with list
$ uv python install<EMAIL_ADDRESS>Searching for Python versions matching: PyPy 3.10
Installed Python 3.10.14 in 13.21s
 + pypy-3.10.14-windows-x86_64-none

Slightly related:
Also any pypy install fails on Windows on paths that contain non ascii characters as noted here https://github.com/pypy/pypy/issues/5000 . I will open a different issue for this

Thanks, this does look like a bug.


[envsec] Bump envsec version

Summary
Bump envsec version to use newest init experience.
How was it tested?

@mikeland73 where is this bumping the version?


Remove codegen that does not belong to this project

Make Java BinaryBuilder smaller and reduce it to a single class

Fixed by https://github.com/sqyyy-jar/urban-engine/commit/5737d8287372d04d76043e82594d8efc2958533c


Is there support for saving events on disk to be sent later?

I have a use case when a cli tool will run a command and the computer may not have the Internet connection so the events/performance metrics won't be sent. I want to save these events on disk and then send them when the user runs the cli tool again having the Internet connectivity (if one doesn't have the Internet again, it will be appended to the stored events to be sent later).
I am struggling to find documentation on how dump/load events that Sentry produces and then send them later. There is a post related but it's incomplete and this post is about offline records for legacy Python client, but it doesn't describe saving/loading events from disk that can be used by subsequent runs of the cli program.
Many thanks.

no support right now. it's been in discussion but right now we don't have anything at all. certainly nothing that works out of the box

Thanks a ton @untitaker.
Is there a mechanism to construct events from scratch to send them manually? I'd consider dumping the events data into some structured format to reconstruct later and then send them manually. Is using a simple
from sentry_sdk import capture_message
capture_message('Some details about saved event I read from disk')

my only option?

well you can do this:
event_buffer = []
init(transport=event_buffer.append)

# use SDK APIs here normally
capture_message("hello world!")

# serialize/deserialize event buffer from/to disk, applicaiton restarts here
# at later point in time:

init("https://...")

for event in event_buffer:
    capture_event(event)

This would be the very simple option when you know you have internet at this point for sure.
I would recommend looking into sentry_sdk.transport and actually forking that code instead of calling capture_event, as this gives you more control about network retry and error recovery etc.


NTP.now() throws UnimplementedError on flutter web #32

got an UnimplementedError Exception when calling NTP.now() resp. getNtpOffset() on Flutter web.
Does somebody know why this happens?
[√] Flutter (Channel stable, 2.0.2, on Microsoft Windows [Version 10.0.19041.804], locale de-DE)
[√] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
[√] Chrome - develop for the web
[√] Android Studio (version 4.1.0)
[√] VS Code (version 1.54.1)
[√] Connected device (2 available)
Exception has occurred.
"Error: UnimplementedError
at Object.throw_ [as throw] (http://localhost:52592/dart_sdk.js:5334:11)
at bind (http://localhost:52592/packages/universal_io/src/io_impl_js/sync_socket.dart.lib.js:3434:21)
at bind.next ()
at runBody (http://localhost:52592/dart_sdk.js:39052:34)
at Object._async [as async] (http://localhost:52592/dart_sdk.js:39083:7)
at Function.bind (http://localhost:52592/packages/universal_io/src/io_impl_js/sync_socket.dart.lib.js:3431:20)
at getNtpOffset (http://localhost:52592/packages/ntp/ntp.dart.lib.js:128:63)
at getNtpOffset.next ()
at http://localhost:52592/dart_sdk.js:39032:33
at _RootZone.runUnary (http://localhost:52592/dart_sdk.js:38889:58)
at _FutureListener.thenAwait.handleValue (http://localhost:52592/dart_sdk.js:33875:29)
at handleValueCallback (http://localhost:52592/dart_sdk.js:34435:49)
at Function._propagateToListeners (http://localhost:52592/dart_sdk.js:34473:17)
at _Future.new.[_completeWithValue] (http://localhost:52592/dart_sdk.js:34315:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:52592/dart_sdk.js:34338:35)
at Object._microtaskLoop (http://localhost:52592/dart_sdk.js:39176:13)
at _startMicrotaskLoop (http://localhost:52592/dart_sdk.js:39182:13)
at http://localhost:52592/dart_sdk.js:34689:9"

ntp is not supported for flutter web . you can check which platforms are supported by the plugin by going to this page
https://pub.dev/packages/ntp

so any sugesstion

raise a issue there.

already done

you can close this issue then. issues here are only related to flutter and  flutter plugins. not for third party plugins.


Removed defensive copy in CompositeModelBinder and CompositeModelVali…

...datorProvider.
#3426
@rynowak
Profiling results: (For 30000 requests)
Before

After

:shipit:


feat: Updated Package Structure and Developer Tools

The purpose of this PR is to update the package structure to modern Python development standards and add developer tools. These changes should allow the package to be more sustainable and extensible while encouraging more open source contribution over time.
Features
Package Structure

Pre-commit (including Black, Ruff, Pylint, Codespell and Prettier support)
Pyproject.toml + hatchling for modern Python installation instructions
Added a Requirements.txt
Framework for JupyterBook deployment
CI to ensure pkg compatibility using...

Python: 3.8 to 3.11
Windows, Mac, and Linux OS

Dependabot to update GitHub Action dependencies
Community Health files

Developer Tools

Codespaces support (devcontainer.json with postBuild.sh support)
Auto-building Docker image (from Dockerfile)
Conda environment (environment.yml)
Added __init__.py files for local package importing
Nox framework to enable CLI testing of multiple Python versions

Clarifying, this is a drive my comment, I’m not a maintainer on this repo.
On Fri, May 17, 2024 at 5:26 PM Cordero Core @.***>
wrote:

@.**** commented on this pull request.
In .devcontainer/devcontainer.json
https://github.com/kagisearch/vectordb/pull/20#discussion_r1605561275:

@@ -0,0 +1,14 @@
+// For format details, see https://aka.ms/devcontainer.json. For config options, see the
+{

"image": "ghcr.io/swarm-io-internal/docker:latest",

In addition, if you would like me to keep the devcontainer but adjust the
Docker image, I can create an auto-building Docker image in your org, so
you don't have to reference my organization.
—
Reply to this email directly, view it on GitHub
https://github.com/kagisearch/vectordb/pull/20#discussion_r1605561275,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAFJERQGFZMHNU3QC7LTI3ZCZYYTAVCNFSM6AAAAABGP7KXXSVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDANRUGQYTMNZYGA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Oh okay! Would you recommend that I just remove the Codespaces functionality?

Either that or reference a public image
On Fri, May 17, 2024 at 5:58 PM Cordero Core @.***>
wrote:

Oh okay! Would you recommend that I just remove the Codespaces
functionality?
—
Reply to this email directly, view it on GitHub
https://github.com/kagisearch/vectordb/pull/20#issuecomment-2118428726,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAFJEWL7R7M3AHRE3IAIC3ZCZ4QNAVCNFSM6AAAAABGP7KXXSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMJYGQZDQNZSGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Done.

Thank you @uwcdc and @kapilt
This is a pretty large PR that is hard to review so trying to find some time to do it.

@vprelovac definitely understandable. A lot of the changes are just updating to modern packaging standards. I also added in some framework, so you can create a readthedocs (JupyterBook) implementation for rendering the documentation. The Codespaces is for more convenient package testing and contribution. I hope that helps. If you have any questions, feel free to reach out to me anytime.


Adding links for File System SDKs

Adding  the links to the blog post for File system SDKs.

@rukmani-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Pull request for adding file system SDK links.

@jborsecnik : Thanks for your contribution! The author(s) have been notified to review your proposed change.


request. user. is_superuser is incorrect

When using "djangforestframework simplejwt", the value obtained by calling "request. user. is_superuser" is incorrect

What are you using as JWT backend? In other words what did you set as the DEFAULT_AUTHENTICATION_CLASSES for REST_FRAMEWORK?
REST_FRAMEWORK = {
    ...
    'DEFAULT_AUTHENTICATION_CLASSES': (
        ...
        'rest_framework_simplejwt.authentication.JWTAuthentication',
    )
    ...
}

Additionally, what value did you get back and what value did you expect?


[Documentation]: Confusing and contradictory documentation

Description of errors
I was trying to get Open CL running on openSUSE Tumbleweed, and it seems that I should install ROCm to do so, so I went to these official pages. However, the experience is being totally bizarre.
On your "supported distribution" page, neither SUSE nor openSUSE (bad start) https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html#supported-distributions is listed. However, a little further down, SUSE Enterprise is listed as a distribution that allows driver downloads.
Switching from NVIDIA to "AMD Radeon RX 7600" I thought it would be easier, and it's turning out to be the opposite.
Attach any links, screenshots, or additional evidence you think will be helpful.
https://rocm.docs.amd.com/projects/install-on-linux/en/latest/reference/system-requirements.html#supported-distributions

https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/prerequisites.html

You can close this issue, cause problem is there are no OPENSUSE  versions of your software (and I don't understand why no)


Album View // Album About // Owner should not be shown when not logged in (Security)

When not logged in the Album Owner (Usually an Admin) should not be shown to the public in the About Sidebar.

I'm not sure how I feel about this. Labelling it a security issue definitely seems overkill.

Also, cross-reference #138

To get one component of an account, the admin name on a silvertablet IS a security issue ;-)

Sure. A very, very minor security issue. If you're relying on your username for security, you're doing it wrong. Especially if you're relying on your username and leaving it as the default as in your screenshots ;)

One thing, when showing "admin" as owner, it does not means that the login to log is actually admin. Both username and password of the admin account are actually hashed. There is no way to retrieve that username (as opposed to the other usernames).

So this doesn't apply to the admin account. I think if there are multiple users uploading, knowing who uploaded them would be useful.
We could potentially store a "Display Name" for each user. That would solve this and give a more meaningful output for admin users.
Otherwise I'm inclined to mark this wontfix.


Enable 2-factor authentcation

To increase the security on our J-PAL GitHub site, I'm going to require two-factor authentication starting next week. To avoid losing access to our code, please enable two-factor authentication for your GitHub account ASAP by going to https://github.com/settings/security and enabling Two-factor authentication.

You may wish to close this issue?


Format the code once again

also bump dependencies

Easier for me to merge if you drop the lockfile changes

reverted


Removed Irrelevant Languages from Test Coverage Generation Section

Pull Request Template
Description
Refactored the documentation to remove irrelevant language-specific instructions from the test coverage generation section.
###Refactored Documentation:

Removed Java-related instructions from the other code sections.
Ensured other sections do not include a Go-specific Graceful Shutdown.
Removed any unrelated code snippets or instructions from the sections specific to each programming language.
Make sure that the different cleanup function is only included in the corresponding languages.

Fixes https://github.com/keploy/keploy/issues/2070
Type of change.

[x] This change requires a documentation update.

@shivamsouravjha Review Required!!

also make sure the note of jvm not be present in go and js similary go code not be present in java or go.

Also make sure the note of jvm not be present in go and js similary go code not be present in java or go.

Same for this one. There is no interference of any language but for a better description let me share you with the structure.
Index

Prerequisites: General instructions applicable to all languages.
Usage Instructions: Keploy-specific commands, not language-specific.
File Structure: General structure applicable to any Keploy-supported language.
Conclusion: General and applicable to all languages without interference.

Go

Prerequisites: Specific to Go.
Usage Instructions: Contains Go commands and scripts.
Code Examples: Written in Go.
Conclusion: Exclusively Go-related content.

Java

Prerequisites: Specific to Java.
Usage Instructions: Involves Maven and Java-specific commands.
Code Examples: XML configuration for Maven.
Conclusion: Exclusively Java-related content.

JavaScript

Prerequisites: Specific to JavaScript.
Usage Instructions: Uses npm and JavaScript-specific commands.
Code Examples: JSON for package.json.
Conclusion: Exclusively JavaScript-related content.

Python

Prerequisites: Specific to Python.
Usage Instructions: Uses Python commands and scripts.
Code Examples: Written in Python.
Conclusion: Exclusively Python-related content.

the changes look good can you resolve the conflicts and the build failures?

The changes look good can you resolve the conflicts and the build failures?

Roger that

@shivamsouravjha I don't know why Prettier is failing. Can you look into that?


Any plan on supporting mistral based models?

Prerequisites
Please answer the following questions for yourself before submitting an issue.

[ ] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
[ ] I carefully followed the README.md.
[ ] I searched using keywords relevant to my issue to make sure that I am creating a new issue that is not already open (or closed).
[ ] I reviewed the Discussions, and have a new bug or useful enhancement to share.

Feature Description
Please provide a detailed written description of what you were trying to do, and what you expected llama.cpp to do as an enhancement.
Motivation
Please provide a detailed written description of reasons why this feature is necessary and how it is useful to llama.cpp users.
Possible Implementation
If you have an idea as to how it can be implemented, please write a detailed description. Feel free to give links to external sources or share visuals that might be helpful to understand the details better.

Yes, we have plans for supporting more models, including mistral based models. Please stay tuned!


chore: remove direct usages of Android classes from GeoLocationViewModel

Describe the chore
The GeoLocationViewModel currently takes in Activity as a parameter in it's configure method. It makes it difficult to unit test the ViewModel and should be avoided. The dependence on Activity is to get access to the LocationManager. This is a violation of Law of Demeter.
This is easily fixable. We can use the application's Context to access the LocationManager. It's use can be hidden behind an interface. Then it can be injected into the ViewModel. This will make our ViewModel testable(due to using an interface) and is good since the code for geo-location will be moved into a separate class.
Would you like to work on the issue?

[X] Yes
[ ] No

Using activity == using context

But there won't be a direct dependency on any Android class since the location will be obtained through an interface. Also, using the application's Context allows us to avoid passing in Activity? as a parameter through the configure method since we can use dependency injection to directly inject the interface's implementation.

OK. But using application context will still make t untestable. In fact using Location Service will also make it untestable. But go ahead

I'll not pass the application Context to the ViewModel. I'll make an interface(say LocationService) which exposes a method to obtain the administrative area. It's implementation will use the Context. But since the GeoLocationViewModel uses only the interface, it'll make it testable. Only the implementation of the interface will be untestable.
I apologize since I'm not able to explain what exactly I mean. I'll make a PR soon. I hope I'll make myself clearer then.

This is great and correct approach. Thanks


Fix the crashing of chain game in grammar section

Issue #132

PR checklist
Status

Is issue created in GitHub?
[Yes]https://github.com/maqsoftware/GLEXP-Team-Chimple-goa-Hindi/issues/132

Is code analysis task executed and issues resolved in the Java/Kotlin code?
N/A

Is code analysis task executed and issues resolved in the CPP/native code?
Yes

Is the version code set in the AndroidManifest.xml or build.gradle file to 1 more than the version which has already been published?
N/A

Is code commenting done properly for the changes made?
N/A

Is correct variable naming convention followed?
N/A

Is auto formatting shortcut Ctrl+Alt+Shift+L executed in all files?
N/A

Are the message strings used in the application taken from strings.xml file?
N/A

Are the permissions which are not required removed from AndroidManifest.java file?
N/A

Is the uses-feature tag used for only must have feature in AndroidManifest.java file?
N/A

Are the generated files correctly configured in .gitignore?
N/A

Are the release signing configurations removed from the gradle files?
N/A

Is commented code removed from all files?
N/A

Are updated images compressed (< 100 KB)?
N/A

Ensured there are no typos in any string. For example: Variable/method names, hardcoded strings, commit messages, PR titles, issues, code comments?
Yes