feat: Resolve app & wallet network connection instability

Proposed changes

Switch network

https://github.com/valory-xyz/autonolas-registry-frontend/assets/22061815/3abf7674-41b9-43fb-a4a4-3f75f90fcc31

Only ethereum& goerli can access components, agents else should be redirected to /services

https://github.com/valory-xyz/autonolas-registry-frontend/assets/22061815/203055e6-5fdb-47ec-91eb-bccdd4f6b19b

If the URL has a typo or moved to a random path, will be redirected to /page-not-found

https://github.com/valory-xyz/autonolas-registry-frontend/assets/22061815/f2426c3d-e71a-41f4-b2a7-7d9a83488728

If the user is in components or agents and switches to gnosis, should be redirected to services automatically

https://github.com/valory-xyz/autonolas-registry-frontend/assets/22061815/d344b6eb-458a-48ae-b5f2-82808fbcfd3e
Types of changes
What types of changes does your code introduce to autonolas-registry-frontend?
Put an x in the boxes that apply

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

Checklist
Put an x in the boxes that apply.

[x] My pull request is targeted against the main branch (left side), and I've started my branch from our main.
[ ] I've ensured that linting and unit tests pass locally with my changes, and CI also passes successfully.
[ ] I've included tests to validate the effectiveness of my fix or to demonstrate that my feature functions correctly.
[ ] I've verified that my changes do not reduce code coverage.
[ ] I've added any necessary documentation as needed.
[x] I've confirmed that any dependent changes have been merged and published in downstream modules.
[ ] If the onload page involves contract interaction, I've ensured it is client-side rendered using next/dynamic.

Further comments
Write here any other comment about the release, if any.

@mohandast52 I can't find this comment on Vercel to directly respond. My feeling is that this icon looks really bad – unconventional and visually pretty weak. But in the interests of get to simple and shipping, let's leave it.


add minconf param to getbalance

minconf = minimum confirmations
account.balance:
get balance for all transactions with a least 1 confirmation
account.balance(3):
get balance for all transactions with a least 3 confirmations

stale fork, closing


Update stable version in repo from 0.0.0 to 0.2.1

Think about adding version 0.2.1 to stable repository.
Version: stable=0.0.0 (0 days old) => latest=0.2.1 (30 days old)
Installs: stable=0 (0%), latest=14 (93.33%), total=15
Click to use developer portal
Click to edit
Note: This is an automatically generated message and not personally authored by bluefox!

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 0.2.1 but in the meantime an update to version 0.2.2 is suggested.
So this issue will be closed and replaced by an updated one.
@mcm195 for evidence


[folly] Update folly to v2<IP_ADDRESS>

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

the most new folly version is 2023.6.12, please update to most new version.

Can I publish both versions in different PRs?

Can I publish both versions in different PRs?

@jjerphan, Thanks for your PR, you only need to update folly to the latest version in this PR, no need to reopen the PR.

I might need v2<IP_ADDRESS>. Can't I publish both?

you can use overlay ports in your own repo. You should only summit one that is 6.12.

I might need v2<IP_ADDRESS>. Can't I publish both?

Then you can upgrade folly to what you need. If some users need a higher version, I will upgrade.

Then you can upgrade folly to what you need. If some users need a higher version, I will upgrade.

Thank you for your understanding! Is there a way to automatically update a package on vcpkg when new versions of it are being released upstream?

likely no.

Failures on microsoft.vcpkg.pr seem unrelated (vcpkg has crashed).

I should be able to give approval or a disproval of the Contributor License Agreement in a few days.

@microsoft-github-policy-service agree company="QuantStack"

Hi @jiayuehua,
The microsoft.vcpkg.pr (x86_windows) job is the only one to fail, and I do not understand what could cause its error.
Is there something wrong with the version's specification? Thank you!

Feature bzip2,libsodium,lz4,lzma,snappy,zlib,zstd tested successfully in the following triplet:

x64-windows
x64-windows-static

Feature liburing tested successfully in x64-linux triplet.


Added LICENSE file to the MANIFEST.in

There were also some weird things in that the LICENSE file is Apache 2.0,
whilst the setup.py file says BSD

Thanks!


cannot import @agoric/harden under SES-0.7.4 without noTameRegExp

The following CJS program:
const { lockdown } = require('ses');
lockdown( { noTameError: true });
require('@agoric/harden'); // fails

when run in an initially-empty directory where I've done yarn add esm<EMAIL_ADDRESS><EMAIL_ADDRESS>yields the following error:
$ node -r esm t.js
/tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:1
TypeError: RegExp.prototype.source getter called on non-RegExp object
    at Object.get source [as source] (<anonymous>)
    at Object.toString (<anonymous>)
    at /tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:280:47
    at Array.forEach (<anonymous>)
    at getAnonIntrinsics (/tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:266:20)
    at buildTable (/tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:1410:22)
    at Object.<anonymous> (/tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:1430:22)
    at Object.<anonymous> (/tmp/t6/node_modules/@agoric/harden/dist/harden.cjs.js:1)

The line in question (harden.cjs.js line 280) is trying to toString an undeniable:

  const undeniableTuples = [
    ['Object.prototype', Object.prototype, {}],
    ['Function.prototype', Function.prototype, function foo() {}],
    ['Array.prototype', Array.prototype, []],
    ['RegExp.prototype', RegExp.prototype, /x/],
    ['Boolean.prototype', Boolean.prototype, true],
    ['Number.prototype', Number.prototype, 1],
    ['String.prototype', String.prototype, 'x'],
    ['%Generator%', Generator, aStrictGenerator],
    ['%AsyncGenerator%', AsyncGenerator, aStrictAsyncGenerator],
    ['%AsyncFunction%', AsyncFunctionPrototype, aStrictAsyncFunction],
  ];

  undeniableTuples.forEach(tuple => {
    const name = tuple[0];
    const undeniable = tuple[1];
    let start = tuple[2];
    if (start === undefined) {
      return;
    }
    start = Object(start);
    if (undeniable === start) {
      return;
    }
    if (undeniable === getProto(start)) {
      return;
    }
    throw new Error(`Unexpected undeniable: ${undeniable}`);
  });

If I change the ${undeniable} to ${name}, it reveals the unexpected undeniable:
Error: Unexpected undeniable: RegExp.prototype

I'm guessing that our fix for #230 was incomplete somehow, and the check that harden does is confused. There are two problems here: the first triggering this Error, and the second is that the undeniable in question throws a second error when the first one tries to call toString on RegExp.prototype.

Oh and of course the problem goes away if I add noTameRegExp: true to the lockdown() options, as you'd expect.

Fixed in #243


Fix: builds for Unity versions less than 2019 fail

Changes
Discovered when the gameci/docker repo CI failed in this PR.

Assets/Editor/Editor/UnityBuilderAction/Input/AndroidSettings.cs(14,32): error CS0117: 'PlayerSettings.Android' does not contain a definition for 'useCustomKeystore'

It's complaining about the line added in this unity-builder commit on May 21st.
PlayerSettings.Android.useCustomKeystore = true;

useCustomKeystore was added in Unity 2019 which is why 2018 builds fail.
Might also be worth adding Unity 2018 to the CI version list to prevent regressions.
Checklist

[x] Read the contribution guide and accept the code of conduct
[x] Readme (updated or not needed)
[x] Tests (added, updated or not needed)

Codecov Report

Merging #467 (1ab54fe) into main (f054aaa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #467   +/-   ##
=======================================
  Coverage   52.52%   52.52%
=======================================
  Files          66       66
  Lines        2056     2056
  Branches      353      385   +32
=======================================
  Hits         1080     1080
  Misses        972      972
  Partials        4        4


searcher/indexer join/leave the cluster frequently

Describe the bug
I deploy quickwit on EKS. HTTP probes of indexers and searchers are failed with statuscode 503. Both indexers and searches output lots of the following logs repeatly:
WARN quickwit_serve: Metastore service is unavailable. metastore_uri=grpc://metastore.service.cluster error=The metastore service is unavailable.

metastore output lots of the following logs:
2023-12-21T11:59:06.635Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T11:59:07.636Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T11:59:13.635Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-21T11:59:14.634Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-21T11:59:15.636Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has left the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T11:59:26.649Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T11:59:55.637Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T11:59:57.637Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:00:46.634Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has left the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:00:49.635Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-21T12:00:50.638Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-21T12:01:06.636Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-21T12:01:06.636Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:01:26.637Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has left the cluster. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-21T12:01:27.634Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:01:28.634Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:01:31.636Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has left the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:01:34.635Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:02:33.633Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:02:34.633Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:03:15.636Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has left the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:03:18.634Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-21T12:03:26.634Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has left the cluster. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-21T12:03:27.634Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has joined the cluster. cluster_id=quickwit node_id=quickwit-indexer-1

It seems searches and indexers are joining/leaving the cluster frequently. Quickwit search rest API is not working. I don't if
ingest API is working because I can not get data from search API.
Steps to reproduce (if applicable)
I have no idea about how to reproduce.
Expected behavior
How to fix it?
Configuration:
Please provide:

Output of quickwit --version

Quickwit v0.6.5 (5cf786d 2023-12-11T13:37:05Z)

The index_config.yaml

version: 0.6

index_id: my-index

doc_mapping:
  mode: strict
  field_mappings:
    - name: trace_id
      type: text
      fast: true
    - name: trace_state
      type: text
      indexed: false
    - name: service_name
      type: text
      tokenizer: raw
    - name: resource_attributes
      type: json
      tokenizer: raw
    - name: resource_dropped_attributes_count
      type: u64
      indexed: false
    - name: scope_name
      type: text
      indexed: true
    - name: scope_version
      type: text
      indexed: false
    - name: scope_attributes
      type: json
      indexed: false
    - name: scope_dropped_attributes_count
      type: u64
      indexed: false
    - name: span_id
      type: text
      tokenizer: raw
    - name: parent_span_id
      type: text
      fast: true
      tokenizer: raw
    - name: span_kind
      type: u64
    - name: span_name
      type: text
      tokenizer: raw
    - name: span_start_timestamp_nanos
      type: datetime
      input_formats: [unix_timestamp]
      output_format: unix_timestamp_nanos
      indexed: false
      fast: true
      precision: milliseconds
    - name: span_end_timestamp_nanos
      type: datetime
      input_formats: [unix_timestamp]
      output_format: unix_timestamp_nanos
      indexed: false
      fast: false
    - name: span_duration_millis
      type: u64
      indexed: false
      fast: true
      stored: false
    - name: span_attributes
      type: json
      tokenizer: en_stem
      record: position
    - name: span_dropped_attributes_count
      type: u64
      indexed: false
    - name: span_dropped_events_count
      type: u64
      indexed: false
    - name: span_dropped_links_count
      type: u64
      indexed: false
    - name: span_status
      type: json
      indexed: true
    - name: events
      type: array<json>
      tokenizer: raw
    - name: event_names
      type: array<text>
      tokenizer: default
      record: position
      stored: false
    - name: links
      type: array<json>
      tokenizer: raw

  timestamp_field: span_start_timestamp_nanos

  # partition_key: hash_mod(service_name, 100)
  # tag_fields: [service_name]

indexing_settings:
  commit_timeout_secs: 5

search_settings:
  default_search_fields: []

retention:
  period: 5 days
  schedule: daily

The logs show that the pods running indexers and searchers cannot connect to your metastore. As a result, they never reach the ready state, and eventually, Kube restarts them. This cycle is repeating indefinitely. This is a symptom. If we fix the inability of the indexers and searchers to connect to the metastore, it will disappear.
Did you use the Quickwit Helm chart?

@mingshun can you share the logs of the metastore pod?

@fmassot
quickwit.log

Thanks, the metastore seems to be fine.
Can you share the output of kubectl get pods?
Did you try to restart the metastore or delete/create the cluster?

@fmassot
NAME                                                 READY   STATUS      RESTARTS   AGE
quickwit-control-plane-8d58cfb78-bj958               1/1     Running     0          27h
quickwit-indexer-0                                   0/1     Running     0          26h
quickwit-indexer-1                                   0/1     Running     0          26h
quickwit-indexer-2                                   0/1     Running     0          26h
quickwit-janitor-6cf74f8dbf-r4jv8                    1/1     Running     0          27h
quickwit-metastore-75fbd6775-pltvv                   1/1     Running     0          27h
quickwit-searcher-0                                  0/1     Running     0          27h
quickwit-searcher-1                                  1/1     Running     0          27h
quickwit-searcher-2                                  1/1     Running     0          27h

searcher-2 is ready now. But indexers and searcher-0 are still unavailable.
I tried to restart metastore, searchers and indexers. At the beginning,  they joined the cluster. After several minutes, some of them left.
2023-12-22T09:12:10.092Z  WARN quickwit_serve: Metastore service is unavailable. metastore_uri=grpc://metastore.service.cluster error=The metastore service is unavailable.
2023-12-22T09:12:11.089Z  INFO quickwit_cluster::change: Node `quickwit-control-plane-8d58cfb78-bj958` has joined the cluster. cluster_id=quickwit node_id=quickwit-control-plane-8d58cfb78-bj958
2023-12-22T09:12:11.089Z  INFO quickwit_cluster::change: Node `quickwit-control-plane-8d58cfb78-bj958` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-control-plane-8d58cfb78-bj958
2023-12-22T09:12:11.090Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:12:11.090Z  INFO quickwit_cluster::change: Node `quickwit-metastore-75fbd6775-pltvv` has joined the cluster. cluster_id=quickwit node_id=quickwit-metastore-75fbd6775-pltvv
2023-12-22T09:12:11.090Z  INFO quickwit_cluster::change: Node `quickwit-metastore-75fbd6775-pltvv` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-metastore-75fbd6775-pltvv
2023-12-22T09:12:11.090Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has joined the cluster. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-22T09:12:11.090Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-22T09:12:34.092Z  INFO quickwit_cluster::change: Node `quickwit-searcher-2` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-searcher-2
2023-12-22T09:12:46.093Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T09:12:51.096Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-22T09:13:00.091Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-22T09:13:26.092Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T09:13:31.092Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-22T09:14:22.089Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:14:41.090Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:15:22.090Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:15:41.093Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:17:21.090Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:17:41.093Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T09:18:11.091Z  INFO quickwit_cluster::change: Node `quickwit-janitor-6cf74f8dbf-r4jv8` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-janitor-6cf74f8dbf-r4jv8
2023-12-22T10:04:45.092Z  INFO quickwit_cluster::change: Node `quickwit-indexer-0` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-0
2023-12-22T10:04:57.092Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T10:05:12.091Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-22T10:05:30.090Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-searcher-0
2023-12-22T10:05:36.090Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T10:05:47.092Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned to ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T10:05:51.091Z  INFO quickwit_cluster::change: Node `quickwit-indexer-2` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-2
2023-12-22T10:06:06.090Z  INFO quickwit_cluster::change: Node `quickwit-indexer-1` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-1
2023-12-22T10:06:15.090Z  INFO quickwit_cluster::change: Node `quickwit-indexer-0` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-indexer-0
2023-12-22T10:06:29.090Z  INFO quickwit_cluster::change: Node `quickwit-searcher-0` has transitioned out of ready state. cluster_id=quickwit node_id=quickwit-searcher-0

From the recent logs of searcher-1, it seems all quickwit components have the same problem.
I have checked the network connectivity and no problem found.

Ok. Can you share the state of the cluster of quickwit-indexer-0, quickwit-searcher-0, quickwit-searcher-1 and quickwit-metastore-75fbd6775-pltvv ? The state is given by the endpoint http://quickwit-indexer-0:7280/api/v1/cluster

I have tried to restart searchers and indexers yesterday. And the current pod status is:
NAME                                                 READY   STATUS      RESTARTS      AGE
quickwit-control-plane-8d58cfb78-bj958               1/1     Running     0             43h
quickwit-indexer-0                                   0/1     Running     0             15h
quickwit-indexer-1                                   1/1     Running     1 (15h ago)   15h
quickwit-indexer-2                                   0/1     Running     0             15h
quickwit-janitor-6cf74f8dbf-r4jv8                    1/1     Running     0             43h
quickwit-metastore-75fbd6775-pltvv                   1/1     Running     0             43h
quickwit-searcher-0                                  1/1     Running     0             15h
quickwit-searcher-1                                  1/1     Running     0             15h
quickwit-searcher-2                                  1/1     Running     0             15h

indexer-0.txt
indexer-1.txt
metastore.txt
searcher-0.txt
searcher-1.txt
Using PostgreSQL metastore.

Thanks for sharing this. I will have a look closely next week.
If you need to fix that in the meantime, I would delete the cluster, wait for all nodes to shutdown and recreate the cluster.
This will wipe out the chitchat state.

I deleted the cluster and then recreated a new one 4 days ago. The cluster works fine so far.

Ok, thanks for reporting that. One possible issue could come from chitchat, the gossiping library which Quickwit uses to form a cluster. We recently fixed a few issues on it and 0.6.5 does not include them. I will try to reproduce the problem with a lot of disconnection between nodes.


core:hasFacet needs to be encoded as and test as an inverse-functional property

Background
UCO's core:Facet class behaves in manners that do not seem to be explored previously in ontology engineering.  Lacking reference implementations in other ontologies, UCO needs to make clear some behaviors.
One behavior is explaining what the relationship between a Facet and UcoObject is.  Issue 378 sets to codifying the classes as disjoint.  Next, we should review how "Shareable" a Facet instance is.
It is possible a user could be tempted to share a Facet, for the sake of saving on graph weight when the user knows the Facet's recorded property data are highly likely to be repeated.  One example of this is the set of measurement-based, non-classifying properties in ContentDataFacet, i.e. the size and hashes, but not the mimeType.  If a user is hashing file sets where they know many file contents will be repeated, they might be tempted to define and reuse one Facet individual.
It's possible core:hasFacet's rdfs:comment definition codifies that this is not intended to be permitted, by its use of the word "particular."  Nothing that is encoded (i.e. not English) in the ontology prevents this, however.
In OWL, the way to commit to this pattern of only-one-"Owner"-UcoObject is to declare core:hasFacet a owl:InverseFunctionalProperty.  A owl:FunctionalProperty (inverse coming in a moment) states that, if :b is a functional property, then a triple :a :b :x has only one value for :x.  If there are two triples :a :b :c and :a :b :d, :c and :d are inferred in OWL to be the same thing.  An ontology with those triples is consistent, unless there is also a triple :c owl:differentFrom :d.  An owl:InverseFunctionalProperty goes in object-to-subject order instead.  If :b is an owl:InverseFunctionalProperty, then two triples :y :b :c and :z :b :c cause OWL to infer that :y owl:sameAs :z.
core:hasFacet should become a owl:InverseFunctionalProperty in order to declare expectations on Facet "ownership".  SHACL enforcement should also be able to cover cases where OWL inferencing may have been applied and caused identity-sharing.
Requirements
Requirement 1
A core:Facet instance needs to be understood, and enforced, as only being permitted to belong to one core:UcoObject instance.
Requirement 2
Any implemented SHACL enforcement of a core:Facet being associated with only one core:UcoObject instance must be able to understand owl:sameAs designating two nodes "being" the same concept.
Risk / Benefit analysis
Benefits

Maintaining single-association of Facets prevents issues where a shared Facet being modified via association with one UcoObject induces unforeseen consequences for another UcoObject.
It may potentially be better understood to users that a Facet is a part of one and only one UcoObject.

Risks

SHACL testing for dual "ownership" of a Facet may be computationally expensive.

Competencies demonstrated

Competency 1
Take the following graph as an example.
{
  "@context" {
    "kb": "http://example.org/kb/",
    "core": "https://ontology.unifiedcyberontology.org/uco/core/",
    "core:hasFacet": {
      "@type": "@id"
    }
  },
  "@graph": [
    {
      "@id": "kb:facet-1",
      "@type": "core:Facet"
    },
    {
      "@id": "kb:object-1",
      "@type": "core:UcoObject",
      "core:hasFacet": "kb:facet-1"
    },
    {
      "@id": "kb:object-2",
      "@type": "core:UcoObject",
      "core:hasFacet": "kb:facet-1"
    }
  ]
}

This graph, with no other supplementary statements and with no OWL inferencing, is inconsistent with (what the proposer understands to be) UCO's intended design of Facets not being shared.
Competency Question 1.1
What nodes are in violation of the core:hasFacet having only one subject per object?
The following query encodes this test:
SELECT $this
WHERE {
  $this a core:Facet .
  ?nObject1 core:hasFacet $this .
  ?nObject2 core:hasFacet $this .
  FILTER ( ?nObject1 != ?nObject2 )
}

Result 1.1
kb:facet-1
Competency Question 1.2
Suppose this graph is added:
{
  "@context" {
    "kb": "http://example.org/kb/",
    "owl": "http://www.w3.org/2002/07/owl#",
    "owl:sameAs": {
      "@type": "@id"
    }
  },
  "@graph": {
      "@id": "kb:object-1",
      "owl:sameAs": "kb:object-2"
    }
}

Now, what nodes are in violation?  Note the test must now be encoded to consider owl:sameAs:
SELECT $this
WHERE {
  $this a core:Facet .
  ?nObject1 core:hasFacet $this .
  ?nObject2 core:hasFacet $this .
  FILTER ( ?nObject1 != ?nObject2 )
  FILTER NOT EXISTS {
    ?nObject1 owl:sameAs ?nObject2 .
  }
}

(Note from the submitter - this query has not been tested.)
Result 1.2
No nodes should be returned.
Solution suggestion

Add the following statement to UCO's Core namespace: core:hasFacet a owl:InverseFunctionalProperty .
Add a SHACL-SPARQL rule (example here) that encodes the query from CQ 1.2 above.  Apply it within a sh:NodeShape, which doesn't necessarily need to be given an IRI, but would have an objects-targeting triple sh:targetObjectsOf core:hasFacet.

Coordination

Tracking in Jira ticket OC-238

[x] Administrative review completed, proposal announced to Ontology Committees (OCs) on 2022-05-12
[x] Requirements to be discussed in OC meeting, 2022-05-17
[x] Requirements Review vote occurred, passing, on 2022-06-02
[x] Requirements development phase completed.
[ ] Solutions Approval to be discussed in OC meeting, 2022-08-25
[ ] Solutions Approval vote has not occurred

[ ] Solutions development phase completed.
[ ] Implementation merged into develop
[x] Milestone linked
[ ] Documentation logged in pending release page

core:hasFacet is definitely intended to be an owl:InverseFunctionalProperty.
I support formally codifying this in the ontology.

PR #462 contains the implemented solution for this Issue.  The SHACL-SPARQL constraint illustrated in the competency questions has also been implemented, using the sketched JSON-LD with some syntax corrections and adjustments.


Messages for host setup is not formatted and showing multiple states

Rancher Version: master 10/6
Steps to Reproduce:

Setup a new host

Results: Text is not formatted.  State is showing up twice and Setting up machine is always there?

Expected: Make the text centered and only show information once

Version - master 10/10
Verified fixed


Remove Registration and SetReadiness APIs

The Registration and SetReadiness APIs require maintaining a custom scheduler internal to Mio. The ecosystem is moving away from using the Mio scheduler. For example, Tokio provides a number of its own schedulers.
By removing these APIs, Mio on *nix platforms will (again) truely become zero cost on top of the OS APIs.

One question: Do we still want to support linux kernel 2.6.18? Last I checked (years ago) it was still in heavy use. eventfd is not available on this kernel.

I think the answer is no, we can probably just copy this as a goal for supported platforms.

#973 removes Registration and SetReadiness, #969 and #976 introduces a Waker to allow for cross-thread wakeups. So this is done.

Just a question, to make sure I correctly understood this change. This does effectively remove the capability to craft purely userspace event sources that would be recognized by mio, right?
So, the path forward to keep using them (like the ones provided by mio-extras) is to have them use a Waker, and then manually check the readiness of the userspace sources when the poll method returns.
Is that correct?

@vberger yes, that is correct. User space events are consider out-of-scope for Mio 0.7.

@vberger your suggested solution how more or less how I handle user space as well.

@Thomasdezeeuw @vberger Did any of you made a crate that replaces Registration/SetReadiness? I was looking into bumping mio in Servo, but we rely on mio-extras through ws and it uses those things.

@nox I don't know how Servo used Registration/SetReadiness, but personally I used crossbeam's channel instead. The most straight forward replacement would creating your own readiness, e.g. struct ServoReadiness { mio::Token, Ready } (also using a customReady type), and poll crossbeam_channel::Receiver<ServoReadiness> when you would poll mio::Poll and process events from both sources normally. SetReadiness can then be replaced with the sending side of the channel. That is more or less the same thing Mio used to do internally.

Sorry I meant that mio-extras (which is used by ws) uses this pair of types, not Servo directly, which is why I don't particularly know how it's used either. I'll look into what you suggested some time.

@nox No, I instead stopped depending on mio-extras and implemented internally what I needed for managing purely userspace event sources.


Algolia search in the documentation for Fumadocs returns 403

To Reproduce

Go to https://fumadocs.vercel.app/docs/headless
Open network tab
Click Search to open the Search dialog
Attempt to search for any content, e.g. "Tag Filter"

Current vs. Expected behavior
Expected behavior:
Search results appear.
Current behaviour:
Network error 403 Forbidden.
{"message":"This operation cannot be processed, the application is blocked. Contact us to unblock it.","status":403}
Provide environment information
Chrome Version 127.0.6533.89 (Official Build) (arm64)

Which area(s) are affected? (Select all that apply)
Examples
Additional context
No response

Duplicate of https://github.com/fuma-nama/fumadocs/issues/677


Log parsing not picking up all log entries with custom log format

Hi,
Using nginx 1.10.3 and GoAccess 0.9.4, with the following log format:
log_format request_time_ssl '$remote_addr $http_cf_connecting_ip - $remote_user [$time_local] ' '"$request" $status $body_bytes_sent ' '"$http_referer" "$http_user_agent" ' '$ssl_protocol/$ssl_cipher ' '$request_time';
Sample log output (with replaced identifiable information):
1111:1111:1111:1111:1111:1111:1111:1111 1111:1111:1111:1111:1111:1111:1111:1111 - userid [16/Jul/2018:12:37:58 -0400] "GET /path1/path2/path3/path4/203384.jpg HTTP/1.1" 200 75328 "https://subdomain.website.com/path1/path2/path3.cgi" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_75 like Mac OS X) AppleWebKit/452.3.65 (KHTML, like Gecko) CriOS/64.1.6492.34 Mobile/66B200 Safari/452.3" TLSv1.2/ECDHE-RSA-AES256-SHA384 0.021
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h ~h - %e [%d:%t %^] "%r" %s %b "%R" "%u" %^/%^ %T
GoAccess tells me there are 56 hits, while if I check for HTTP status 200 codes:
root@ubuntu:~# fgrep -c 200 access.log.1
113
If I check for HTTP status codes, I would think I would see all requests, but I see a total of 56 again... again, total requests:
root@ubuntu:~# fgrep -c "" access.log.1
170
Am I doing something wrong?

Please make sure you are on the latest version since some of the format specifiers were introduced recently. Also try this format using the latest version:
goaccess access.log --log-format='%h %^ %^ %e [%d:%t %^] "%r" %s %b "%R" "%u" %^ %T' --date-format='%d/%b/%Y' --time-format=%T

Bingo... added GoAccess repo instead of using default apt-get and reran apt install, added your recommended changes to the config file, works great!
Thank you, and thank you for this wonderful tool.


AppCompatActivity instead of ActionBarActivity

resolves https://github.com/avast/sms-ticket/issues/7
very simple; tested and works ok

Thanks, you are the first public contributor to the code!


Question about http api

Hey there, it seems this is the only place I can ask about API stuff for eufy security...
I'm curious if the set param call in the http API (https://github.com/bropat/eufy-security-client/blob/fbfd5873f14a8748265bf6e151cd92d1f6d5cc3c/src/http/api.ts#L454) can be used to set the guard mode. Does the body require all params or just the ones you want to change? I'm working with Tasker so I can't really do p20 stuff easily (but HTTP requests are easy).
Also FYI it seems that with only the REST API you can determine if a station /homebase 2 is offline.
It seems parameter 1140 is set to 0 if it is offline, and 1 if it is online. So there is no need for this p2p stuff to read simple statistics.

So it seems that the endpoint upload_hub_params is valid, but I see no trace of it here.


Formatting issue when using economy plugins that edit text color and formatting.

Hey! I noticed that when using UltraEconomy (https://www.spigotmc.org/resources/ultra-economy.83374/) the text when depositing into town coffers changes with what the economy plugin name is set to. It should probably be reset after showing the currency.
I've only seen this issue with HuskTowns so I've decided against reporting this to UltraEconomy but if you'd like I can report it there too.

Hi there. So, this issue is caused by two things.

HuskTowns uses MineDown for formatting. MineDown does not support in-line
resetting, rather bracket syntax
Vault’s API for currency formatting doesn’t intend for you to use
formatting codes within it

Remove the yellow and bold formatting from your currency codes and the
issue should go away-as it stands it’s not really a HuskTowns issue, more a
mix of questionable API usage and MineDown format incompatibility.
On Tue, 19 Jul 2022 at 18:14, embed @.***> wrote:

Hey! I noticed that when using UltraEconomy (
https://www.spigotmc.org/resources/ultra-economy.83374/) the text when
depositing into town coffers changes with what the economy plugin name is
set to. It should probably be reset after showing the currency.
I've only seen this issue with HuskTowns so I've decided against reporting
this to UltraEconomy but if you'd like I can report it there too.
[image: image]
https://user-images.githubusercontent.com/54275575/179809734-1b2bb8b8-08da-455c-a755-d11c0a888c8c.png
[image: image]
https://user-images.githubusercontent.com/54275575/179809787-40d8b358-efaf-428b-acd7-837ce1a04299.png
[image: image]
https://user-images.githubusercontent.com/54275575/179809848-252f02d4-1613-4742-a6b1-ad9ce4ec2637.png
—
Reply to this email directly, view it on GitHub
https://github.com/WiIIiam278/HuskTowns/issues/127, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHN6D7NDO2I7RFJ7ACXDQZLVU3O5RANCNFSM54AW4V6A
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


BREAKING CHANGE: Update to eye v8.0.0

BREAKING CHANGE: Update to eye v8.0.0

:tada: This PR is included in version 10.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v10.0.0

Your semantic-release bot :package::rocket:


An elaborate explanation of the APISIX Architecture.

Actual Behaviour
The graphical representation of the architecture does not comprehensively explain how the architecture works.

Expected Behaviour
Put the explanation of this architecture into words.
To help users understand the projects functionalities.

Steps to reproduce it

Screenshots of the issue

Would you like to work on the issue?

Hi @Anita-ihuman, you could ask help from @membphis IMO :)

@bzp2010 @shuaijinchao @tzssangglass Would you like to fix this issue?

@bzp2010 @shuaijinchao @tzssangglass, We can collaborate on this one.

Gladly, can we collaborate through mailing lists and PR?

Of course, you can communicate via the mailing list, issue or Apache's Slask channel #apisix if you wish. And, what kind of help information do you need?

Thank you slack works very well.
Basically, I need an explanation of the architecture that gives a rundown of how APISIX and its features satisfy a user's needs.

@navendu-pottekkat

Thank you @Anita-ihuman
I will create a draft document that I will open for review to make sure that there isn't any wrong information.
I will update in this thread.


NameError: uninitialized constant Neo4j::Session

When I run noglob bundle exec rake neo4j:install[community-latest] I get the following error:
rake aborted!
NameError: uninitialized constant Neo4j::Session
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/neo4j-8.0.10/lib/neo4j/migration.rb:30:in `<class:Migration>'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/neo4j-8.0.10/lib/neo4j/migration.rb:5:in `<module:Neo4j>'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/neo4j-8.0.10/lib/neo4j/migration.rb:4:in `<top (required)>'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/neo4j-8.0.10/lib/neo4j/tasks/migration.rake:2:in `require'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/neo4j-8.0.10/lib/neo4j/tasks/migration.rake:2:in `<top (required)>'
/home/jon/projects/jonblack/myproject/Rakefile:2:in `load'
/home/jon/projects/jonblack/myproject/Rakefile:2:in `<top (required)>'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/bin/ruby_executable_hooks:15:in `eval'
/home/jon/.rvm/gems/ruby-2.3.3@myproject/bin/ruby_executable_hooks:15:in `<main>'

Additional information which could be helpful if relevant to your issue:
Runtime information:
neo4j gem version: 8.0.10
neo4j-core gem version: 7.0.7
neo4j-rake_tasks gem version: 0.7.10

I'm wondering if you need to require 'neo4j' before your require on line 2 of your Rakefile
Aside from that, though, you should get the rake tasks automatically.  Are you using bundler?
You also may want to require 'neo4j/rake_tasks' instead of require 'neo4j' since that's the thing that specifically loads the rake tasks.  You can do load 'neo4j/rake_tasks/neo4j_server.rake', but requiring neo4j/rake_tasks does that for you and if the path ever changes then you wouldn't need to change your require

Adding require neo4j/rake_tasksworked for installing neo4j, but produced the same error when runninggenerate_schema_migration(even withload neo4j/tasks/migration.rake in the Rakefile).
Everything works when my Rakefile has:
require 'neo4j'
load 'neo4j/tasks/migration.rake'

Any reason why migration.rake is in tasks and not rake_tasks? Also, the setup documentation might need updating.

Good point on updating the setup documentation, I'll take care of that shortly!
The migrations come from the neo4j gem because they are associated with the ActiveNode / ActiveRel models which come with that gem (really, probably the neo4j gem should have been called active_node or active_graph to correspond to active_record since that's it's inspiration).  The install/start/stop/etc... rake tasks come from the neo4j-rake_tasks gem which exists only to manage a local Neo4j server via Rake tasks, though it's not needed and you can manage Neo4j servers yourself in other ways.  Perhaps neo4j-rake_tasks shouldn't be automatically required and people should need to bring it into their project if that's how they want to manage Neo4j servers because not everybody does want to do it that way.


Add comments and proper line breaks in front end code and write documentation about setup of front end in browser.

Hey @Ayush-projects, May I take this issue??? writing comments and line breaks seems a good way to start with..

Sure, I guess more no of contributors are needed for this issue, anyways go on. Try to finish it before 2 days.

Ok, Thanks!!!

Yes, I think you can break this issue into two parts as adding line breaks, comments, and documentation about the front-end browser so that others may also get to work on it. @Ayush-projects

Done !!!

Ok, Great!!

I am participant in GSSOC'21. Can you please assign this to me?

hey @Ayush-projects  i m a partcipant of GSSOC'21 ,as this is my first time for contributing in open source . Can I start from this issue as I can see this issue is still not closed?


Parse error

When I try to read GOES13 lrit files that I get from China's CMACast, struct errors always come out -'unpack requires a buffer of xx bytes'.
So I checked the pack file and foud the length of type 128 and type 129 not match the length of the file's header info. For example, the length of type 128 is 14 (7H) in parseHeader def, actually it is 10 in the file.

That's probably because its not a GOES Satellite. This xritparser is done parse NOAA satellites, so thats why you get wrong headers (because they probably have conflicting header types).
Can you send some sample files? And if you have, the header specs.

I have send some samples to your Email.


WIP support for multiple concepts using filenames

this is a POC for testing what changes are needed to train for multiple concepts
If your instance_data has filenames:
"foo bar.jpg" -> "foo bar"
"foo_bar.jpg" -> "foo bar"
"foo bar-123.jpg" -> "foo bar"

If you send instance_prompt it is prepended to the prompt from each filename

It's like Everydream trainer to train multiple concepts?

@anotherjesse aside from some docs tweaks, what more does this need to be shippable?

Would be excited to see this PR land 🤩✨

@strickinato / other folks who want to try it out and give feedback:
The trainer_version in the dreambooth api can be any dreambooth version you have access to.
In this case, I have pushed a version to my personal account:
https://replicate.com/anotherjesse/dreambooth/versions/837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229
So to use this, follow along in the blog post, except specify trainer_version of 837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229:
curl -X POST \
    -H "Authorization: Token $REPLICATE_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
            "input": {
                "instance_prompt": "a photo of",
                "class_prompt": "a photo of person",
                "instance_data": "'"$SERVING_URL"'",
                "max_train_steps": 2000
            },
            "model": "yourusername/yourmodel",
            "trainer_version": "837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229",
            "webhook_completed": "https://example.com/dreambooth-webhook"
        }' \
    https://dreambooth-api-experimental.replicate.com/v1/trainings

This prototype takes the instance_prompt and combines it with your filename.
If instance_prompt is "a photo of" and the your instance_data data.zip has filenames, it will use the image with the prompt:

foo bar.jpg -> "a photo of foo bar"
bar_baz.jpg -> "a photo of bar baz"
"foo baz-123.jpg" -> "a photo of foo baz"

Hey @anotherjesse I just tried training a new concept on top of an existing dreambooth model. The training was done surprisingly quickly but it has been stuck on "pushing" status since (been 30+ mins now). How do I troubleshoot this?

I think the issue is you changed the trainer_version to the dreambooth model you trained already - you need to keep it at 837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229
This prototype doesn't support continuing training from an existing training session.  this trainer allows you to send in multiple concepts.  We will want to bring these trainers together as we understand them more.

I followed the instructions and trained a model for a person and a style at the same time:

Changed the trainer version to '837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229',
Created a set of images with specific file names: concept-id.jpg.  It's not enough to train a model with more than 5000 steps. This trainer, for example, has a limitation of 60 minutes.
If I just use "sks style" without "sks person" to generate images, the generated images won't be in "sks style". "Sks style" only works with "sks person". On the other hand, if I generate images with "sks person" only, it works fine, and I get images with "sks person" in them.

Open questions

How many concepts can I train at once?
Can I use multiple class names?
If I train a model and provide "style" instead of "person" as the class name, will I be able to generate images in "sks style" without "sks person"?

@ivan-volchenskov thanks for the great writeup & sharing your results!
30 minute timeout
You are correct about timing out because it is under my personal account.  Once we have a version in the replicate account, it will have the same 60 minute timeout as the other trainers.
Your "open questions" highlight why this isn't yet on replicate's account.  We need to ensure it both does what folks want - as well as document how to do so.
How many concepts at once?
Each image in your instance_data ends up with a unique training prompt.  So I think you could do as many different concepts as you wish.
For instance you could make the instance_prompt a blank string, and then have the prompt for each image completely generated from the filename:

sks_style-1.jpg -> sks style. (first style)
asim_style.jpg -> asim style (second style)
sks_person.jpg -> sks person. (person with same name as first style?)

The question I don't know is how all this plays together.
For instance I trained with two people by having instance_prompt of photo of with filenames containing the unique string

bfirsh-1.jpg
bfirsh-2.jpg
zeke-1.jpg
zeke-2.jpg

Then I used a single class_prompt of photo of man
Multiple class names?
That is a good question.  perhaps we should support both multiple class names and parsing the class prompt from the filename similar to how it works for instances?
Have you seen anywhere else training with multiple classes?

@ivan-volchenskov thanks for the great writeup & sharing your results!

Yes! Super helpful.

How many concepts at once?

I suppose you're right. There is one guy who has trained for seven of his styles.
The only limitation is the training time, which in your case will be 60 minutes. If we take an average of 15 input images per concept, we will end up with 4-6 concepts, depending on how many class_images we want to generate.

Have you seen anywhere else training with multiple classes?

There is an Automatic1111 plugin for the DreamBooth training.
You can train up to 4 concepts with their web UI, but with their JSON option "you can theoretically use any number of concepts".
Each concept parameters includes (among other things):

Instance name
Class name
Maximum Training Steps

This means you can set a class name and training steps for each concept.

That is a good question. perhaps we should support both multiple class names and parsing the class prompt from the filename similar to how it works for instances?
Have you seen anywhere else training with multiple classes?

Yes. class prompt: [filewords] works. I think AUTOMATIC1111 repo has this.
Also, I've been testing this version for over 3 weeks and have occasionally gotten photos that look like your test ones with Zeke; I'm not sure if this version already includes the previous training or if it's a clean one.

occasionally gotten photos that look like your test ones with Zeke

👻

Worked pretty well!
My goal was the ability to train both a person and a piece of clothing. I've done a bit already with Automatic1111 (example here).
I used the following parameters for the API:
curl -X POST \
    -H "Authorization: Token $REPLICATE_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
            "input": {
                "instance_prompt": "a photo of",
                "class_prompt": "a photo of person",
                "instance_data": "'"$SERVING_URL"'",
                "max_train_steps": 2000
            },
            "model": "yourusername/yourmodel",
            "trainer_version": "837450bfda6314d2290cc1d0c159843296f981c0b8a7f512d0efbf49970b5229",
            "webhook_completed": "https://example.com/dreambooth-webhook"
        }' \
    https://dreambooth-api-experimental.replicate.com/v1/trainings

And I followed the example pattern: If instance_prompt is "a photo of" and the your instance_data data.zip has filenames, it will use the image with the prompt:
foo bar.jpg -> "a photo of foo bar"
bar_baz.jpg -> "a photo of bar baz"
"foo baz-123.jpg" -> "a photo of foo baz"
My file names were:
trsz_person-[n].jpg
zzyt_sweater-[n].jpg
I had 17 photos of the person and 13 photos of the sweater.
Training person photo example:

Training sweater photo example:

prompt used for the following output:
**prompt**
an analog portrait photo of a trsz model wearing a striped zzyt sweater

**negative prompt:**
cartoon, disfigured, kitsch, ugly, oversaturated, low-res, Deformed, blurry, bad anatomy, disfigured, mutation, mutated, ugly, glasses

Output:

Outcome:
The person is 95% there and the sweater is about 90% there -> mainly variances in the stripes and neckline.
TODO
I will continue to tweak some of the settings and prompts to get a better output.
I also want to look further into training a model on a clothing item, then inpainting it onto a photo (as shown in my Automatic1111 example).
Thank you @anotherjesse!!


Adapt app icon for macOS 11.0 Big Sur

Is your feature request related to a problem? Please describe.
macOS 11.0 Big Sur is launching over the next few weeks and it introduces a new rounded-rectangle shape for app icons (like iOS app icons, but not 100% equal). Apps that adapt to the new icon specs feel more native and familiar in the OS.
Describe the solution you'd like
Adapt the Ferdi app icon for the macOS build, following the specs provided by Apple.
Describe alternatives you've considered
N/A
Additional context
The app package can only store one icon, and it's fine that users on previous versions of macOS see the new icon (this will happen with most apps as they adapt to the new icon specs.)

I've created an icon, if you want to use it.
Ferdi.sketch.zip

@alopix thank you! I've never used Sketch, would you mind posting the highest res version here as a PNG file please?
I found this guide that shows how to change the icon for any Mac app you have: https://9to5mac.com/2019/01/17/change-mac-icons/

@MarceloAvalos you can find the img in the linked #1100 ticket

+1
It would be really cool as an update, I just switched to Ferdi from Franz, I'm glad but the little icon problem on BigSur is hurting my maniac side 😌


updated modeuls for training data

Building end-end LLM models for learning purpose

Thanks for considering contributing to our repository.
But if you want to consider accepting your PR, please detail the purpose of this PR.


Add example using tokio-service

#Is it possible for someone to add a complete example using tokio-service with one of these middleware layers?
When using the middleware approach with tokio-service like so:
TcpServer::new(Http, addr).serve(|| Ok(MiddlewareService::new(UpstreamService, "someExtraState"));
I get:
expected a closure that implements the Fn trait, but this closure only implements 'FnOnce' .
I think understand why this is the case, but wondering what the right way to use middleware with tokio-service is now. :)
The big question I have in my mind is how I initialize one of these middleware layers (i.e., call ::new() on the thing, but still pass in a type for the tokio-service layer to do its thing. I see that Timeout middleware asks for state (upstream, timeout duration, etc) so I thought it would be a good complete example.

Updating in case others as the same/similar question.
After reading the documentation at https://tokio.rs/docs/getting-started/db/ more carefully, I found the pattern that I was looking for. This database example passes through a single connection pool to Tokio's event loop, which is equivalent to what I was trying to do.


Define configuration of the mseccfg CSR

Define that M-mode SBI implementations shall set
mseccfg.sseed = 1
mseccfg.useed = 0
if ISA extension Zkr is available.
This allows S- and HS-mode software to implement a random number generator.

@xypron : I don't think SBI specification is the right place to have these implementation specific details. Ideally, the upcoming platform spec or kernel booting guide is the correct place to document this expect from the firmware.


Fix for #20

fixes #20: better error reporting

Error.message isn't deprecated. See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error
I don't think this is a good change, as it overwrites the name and puts the old name into the message.

Ups, silly me, this was python. Just ignore...


Package.json scripts documentation

See issue https://github.com/plone/volto/issues/3206 to see what this PR does.

Needs some documentation in https://6.dev-docs.plone.org/volto/#


Rename wrapper methods

The wrapper methods to java.util.Collections should be renamed to

asJavaUtil...()
asExtensibleJavaUtil...()
asReducibleJavaUtil...()
asMutableJavaUtil...()

So a user can give any collection to reduced access to a method that accepts java.util collections making it impossible to make unintented changes.

renamed


[Docs]: Queries & Query Settings

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
https://docs.appsmith.com/core-concepts/data-access-and-binding/querying-a-database
Discord/slack/intercom Link
No response
Describe the problem
Restructuring
Describe the improvement
Rehaul

Fixed by #851


Add rpcbind back, for nfs

NFS tests have been failing because removing rpcbind also removes nfs-common. AFAICT, you can't have nfs-common without rpcbind.
> apt install nfs-common
...
The following NEW packages will be installed:
  nfs-common rpcbind

/assign @dims


Document a manual test plan for releases

In the /doc directory add some notes about testing before releases.

Re-opening, typo on #547 description


net: tcp: echo server stops if CONFIG_POSIX_MAX_FDS is not set

If CONFIG_POSIX_MAX_FDS is not set or commented out in prj.conf echo server stops when receiving basic TCP SYN:
[00:00:11.760,000] <inf> net_echo_server_sample: Waiting for TCP connection on port 4242 (IPv4)...
[00:00:11.760,000] <err> net_echo_server_sample: Error in accept (IPv4): -23 - stopping server
[00:00:11.760,000] <inf> net_echo_server_sample: Stopping...

tcpsyn.pcap.gz

The culprit is probably the fact that the value is too low, by default it is 4 which is too low if multiple listeners are enabled in echo-server.

There is not much we can do in this case, the application does not have enough resources to continue and it will exit.


Adding new Sponsored Transactions topic

Description
Adds a new doc topic for Sponsored Transactions
Test Plan
Content technical review and manually verified links in the topic.

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[x] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes
Added a new topic for Sui Sponsored Transactions.

Need to verify links to data structures in the repo.


Add endpoint search

Two sections in dropdown:

history
catalog (datahub endpoint). cache results in local storage

done


update dashboard screen

Fixes #29

update dashboard screen according to designs https://xd.adobe.com/view/0f0a9d4e-e04a-4462-8d56-441e50ad4d42-5a59/screen/eca70f39-c3c6-4a9e-9c13-3b69fdf416e7

Screenshots

To test the following scenario, you must be a standard user with elemental admin role and uninstall elemental-operator

To test the following scenario, you must be an admin user and uninstall elemental-operator

duplicate of https://github.com/rancher/elemental-ui/issues/29

I added some tweaks to the asyncButton to reduce wiggle and improve messaging. If you're good with that feel free to merge

Just learned a few things here! Thank you for that 🙇
Didn't know about the ::deep selector and removing that try/catch was a good one. Not needed.
Again, thank you very much 🙏  Going to merge


The Computed Property Names (ES6) don't work in release apk but they work correctly in dev mode.

The Redux action creator is not working:
const ongoingAction = (isPending, funcName) => ({
	type: isPending ? ONGOING_ACTION.PENDING : ONGOING_ACTION.FULFILLED,
	payload: {
		[funcName]: isPending
	}
});

until it doesn't fix to:
const ongoingAction = (isPending) => ({
	type: isPending ? ONGOING_ACTION.PENDING : ONGOING_ACTION.FULFILLED,
	pendingStatus: isPending
});

From: https://github.com/facebook/metro/issues/482#issue-519410405

Thanks for submitting your issue. Can you take another look at your description and make sure the issue template has been filled in its entirety?
👉 Click here if you want to take another look at the Bug Report issue template.

React Native Environment Info:
System:
OS: Windows 10
CPU: (4) x64 Intel(R) Core(TM) i5-2320 CPU @ 3.00GHz
Memory: 5.31 GB / 15.89 GB
Binaries:
npm: 6.11.3 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: AI-191.8<IP_ADDRESS>91312

I've faced this issue again.
If I use the selector everything forks fine:
Selector:
export const isRequestPendingSelector = createSelector(
    formsPendingStateSelector,
    pendingState => Object.keys(pendingState).some(key => pendingState[key])
);

Reducer:
...
case constants.FORMS_REQUEST_PENDING:
     return {
       ...state,
       pendingState: {
         ...state.pendingState,
         [action.payload.funcName]: true
       }
     };
   case constants.FORMS_REQUEST_FULFILLED:
     return {
       ...state,
       pendingState: {
         ...state.pendingState,
         [action.payload.funcName]: false
       }
     };

...
Action:
const pendingAction = (isPending, funcName) => ({
	type: isPending ? constants.FORMS_REQUEST_PENDING : constants.FORMS_REQUEST_FULFILLED,
	payload: {
		funcName
	}
});


ARROW-2806: [C++/Python] More consistent null/nan handling

I'll take care of the cast issues mentioned in the ticket in a separate PR, already opened https://issues.apache.org/jira/browse/ARROW-2854 for them.

Also, looks like there's a C++ linting failure.

I will review this today also, thanks for working on this @xhochy

see https://issues.apache.org/jira/browse/ARROW-2865

Codecov Report

Merging #2270 into master will increase coverage by 2.41%.
The diff coverage is 96.49%.

@@            Coverage Diff             @@
##           master    #2270      +/-   ##
==========================================
+ Coverage    84.2%   86.62%   +2.41%
==========================================
  Files         288      232      -56
  Lines       44091    41422    -2669
==========================================
- Hits        37127    35881    -1246
+ Misses       6933     5541    -1392
+ Partials       31        0      -31

Impacted Files
Coverage Δ

cpp/src/arrow/python/numpy_to_arrow.cc
89.06% <100%> (ø)
:arrow_up:

python/pyarrow/array.pxi
66.04% <100%> (ø)
:arrow_up:

python/pyarrow/tests/test_convert_builtin.py
99.62% <100%> (+0.02%)
:arrow_up:

cpp/src/arrow/python/python-test.cc
100% <100%> (ø)
:arrow_up:

cpp/src/arrow/python/builtin_convert.cc
90.26% <93.54%> (-1.84%)
:arrow_down:

go/arrow/math/uint64_sse4_amd64.go

go/arrow/math/float64.go

go/arrow/math/uint64_avx2_amd64.go

go/arrow/datatype_numeric.gen.go

... and 54 more

Continue to review full report at Codecov.

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


yearly costs instead of depreciation costs

Since the depreciation costs are in reality not only the depreciation costs, but the yearly costs, including depreciation and O&M cocts, wouldn't it be better to call it yearly costs everywhere?

Since the depreciation costs are in reality not only the depreciation costs, but the yearly costs, including depreciation and O&M cocts, wouldn't it be better to call it yearly costs everywhere?

Very good suggestion! In the back-end we already call it that but we should change it in the front-end as well. 👍

This should also be changed in the documenation. I therfore reopened this issue and added the label documentation.

This should also be changed in the documenation. I therfore reopened this issue and added the label documentation.

I have updated the documentation about gas assets and business cases to reflect the changes. Closing.
Please re-open if I missed anything.


support JetBrains IDEs terminal

Support JetBrains IDEs
P.S.
tmux also uses this method (forum link)

Hey, thanks for this pull request! It's super useful!
I currently don't have a JetBrains IDE to test it with, so if it's possible, could you please show a screenshot of rendering hyperlinks in a JetBrains IDE terminal, as proof? I'll merge this pull request and publish a release once that's done.

Screnshot of go run ./examples on my branch
(links are highlighted only on hover)

Thanks for contributing to termlink!


Lite mode additional info

Someone please add this feature for LITE mode as I prefer lite mode than the original theme. It is very useful for file/folder details.

Lite mode is specifically designed to be similar to nginx's default directory listing. Otherwise, I am not sure that can be recursively downloaded by wget.

Seems to be working fine for me. example

Seems to be working fine for me. example

Yeah, I want my lite mode to have info such as date modified and file size just like yours. Can you please help me?

Seems to be working fine for me. example

@CatTheHacker
Yes, I want my lite mode to have info such as date modified and file size just like yours. Can you please help me?

I only modified my worker.js to do that stuff as I'm not really good at JS but basically you want to modify line 648 only.
Original:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a></li>`;

to something like this:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a>   ${f.modifiedTime}   ${f.size}</li>`;

for date and size I have small helper functions converting them:
function formatBytes(bytes, decimals = 2) {
    if (bytes === 0) return '0 Bytes';

    const k = 1024;
    const dm = decimals < 0 ? 0 : decimals;
    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];

    const i = Math.floor(Math.log(bytes) / Math.log(k));

    return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
  }

  function formatDate(date) {
    date = date.split('T');
    date[1] = ((date[1].split('Z')[0]).split('.'))[0];
    return '' + date[0] + ' ' + date[1];
  }

with that it would be something like:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a>   ${formatDate(f.modifiedTime)}   ${formatBytes(f.size)}</li>`;

🐱💻

I only modified my worker.js to do that stuff as I'm not really good at JS but basically you want to modify line 648 only.
Original:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a></li>`;

to something like this:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a>   ${f.modifiedTime}   ${f.size}</li>`;

for date and size I have small helper functions converting them:
function formatBytes(bytes, decimals = 2) {
    if (bytes === 0) return '0 Bytes';

    const k = 1024;
    const dm = decimals < 0 ? 0 : decimals;
    const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];

    const i = Math.floor(Math.log(bytes) / Math.log(k));

    return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];
  }

  function formatDate(date) {
    date = date.split('T');
    date[1] = ((date[1].split('Z')[0]).split('.'))[0];
    return '' + date[0] + ' ' + date[1];
  }

with that it would be something like:
        fileht += `<li><a href="${p + (isf ? '/' : '')}">${f.name}</a>   ${formatDate(f.modifiedTime)}   ${formatBytes(f.size)}</li>`;

🐱💻

@CatTheHacker Thanks a lot. It worked but one more issue I encountered, the files itself are displaying fine, but the folders are not. They display NaN undefined, how to fix this?

${(isf ? '-' : formatBytes(f.size))}

${(isf ? '-' : formatBytes(f.size))}

Thank youuuu. It's now working and looked as I wanted it to be. I owe you one.

@CatTheHacker oh, one thing I didn't notice. The modified time shown is a bit off, it's behind at least 8hrs. I tried modifying it but it didn't turn out right :(

Most likely because the time is in UTC format and my date helper does not convert the date to the local timezone.

Most likely because the time is in UTC format and my date helper does not convert the date to the local timezone.

Is it not possible to just literally add 8hrs in the function or something like that? it doesnt have to be a timezone conversion as it sounds more complicated.

Something like this I guess? idk if it works
function formatDate(date) {
    date = date.split('T');
    date[1] = ((date[1].split('Z')[0]).split('.'))[0];
    date[1] = date[1].split(':');
    date[1][0] = date[1][0] + 8;
    date[1] = date[1].join(':');
	return '' + date[0] + ' ' + date[1];
}

Something like this I guess? idk if it works
function formatDate(date) {
    date = date.split('T');
    date[1] = ((date[1].split('Z')[0]).split('.'))[0];
    date[1] = date[1].split(':');
    date[1][0] = date[1][0] + 8;
    date[1] = date[1].join(':');
	return '' + date[0] + ' ' + date[1];
}

unfortunately, it does not add 8hrs , it only adds '8' character on the hours place making it 008:00

JavaScript do be like that ¯_(ツ)_/¯

JavaScript do be like that ¯_(ツ)_/¯

Well yeah. One last question sir, how do I change the list style type of  whenever it is a folder, folder should be the icon, and when it's a file, a file icon. Just like your example

@maple3142
I have these 2 recurring errors then I need to keep updating the page to look like the content again
how am i new can someone tell me how to solve?

@maple3142
I have these 2 recurring errors then I need to keep updating the page to look like the content again
how am i new can someone tell me how to solve?


[Bug] Meet error ModuleNotFoundError: No module named 'tvm.sparse' on runtime

Did I use a wrong TVM version?

Expected behavior
Run examples/spmm/bench_spmm_naive.py successfully
Actual behavior
Met following error:
[01:56:18] /opt/dgl/src/runtime/tensordispatch.cc:43: TensorDispatcher: dlopen failed: /venv/apache-tvm-py3.7/lib/python3.7/site-packages/dgl/tensoradapter/pytorch/libtensoradapter_pytorch_1.12.0.so: cannot open shared object file: No such file or directory
Using backend: pytorch
Traceback (most recent call last):
File "examples/spmm/bench_spmm_naive.py", line 27, in
from tvm.sparse import FormatRewriteRule, lower_sparse_buffer, lower_sparse_iter
ModuleNotFoundError: No module named 'tvm.sparse'
Environment
Ubuntu 18.04.6 LTS
TVM: 0.11.dev0
LLVM version 14.0.0
Steps to reproduce

download and mv and setup PATH
build tvm from tvm repo
build sparseTIR

After you compile the source code (in C++), you should either install the python package via
python3 python/setup.py install

or set environment variable PYTHONPATH:
export PYTHONPATH=${YOUR_SPARSETIR_DIR}/python:${PYTHONPATH}

btw, you shouldn't build tvm from tvm repo, SparseTIR is a fork of TVM and is self-contained.

export PYTHONPATH can work. "python3 python/setup.py install" fails with following error:
`root@84eaf74fddb8:/workspace2/sparsetir# python3 python/setup.py install
WARNING:root:git describe: fatal: detected dubious ownership in repository at '/workspace2/sparsetir'
To add an exception for this directory, call:
    git config --global --add safe.directory /workspace2/sparsetir

, use 0.9.dev0
Traceback (most recent call last):
File "python/setup.py", line 251, in
ext_modules=config_cython(),
File "python/setup.py", line 133, in config_cython
for fn in os.listdir(path):
FileNotFoundError: [Errno 2] No such file or directory: 'tvm/_ffi/_cython'
`
I think it is due to using a wrong tvm version.
BTW, where is self-contained tvm in sparseTIR? is it in docker image or submodules?

It works now. Thx Zihao. This issue can be closed.


[Migrated] Improve support for Django with custom uwsgi function

Originally from: https://github.com/Miserlou/Zappa/issues/1164 by bxm156
Context
I use django, but prefer to use my own uwsgi function so that I can wrap certain middlewares for monitoring. Zappa is great because I just use app_function, instead of django_settings, and viola, a django app running with some custom uwsgi middleware. However, this prevents me from using certain zappa related django commands, like zappa manage. The handler only allows them to be used if django_settings is defined in the configuration, but the existance of django_settings overrides the use of app_function.
Expected Behavior
Currently, when i deploy my app, I have to ensure djanog_settings is absent, and app_function is present. When I want to use the zappa manage command, I just edit my local config to use django_settings, instead of app_function (Note: I don't deploy that change).
Actual Behavior
I think a little refactoring in the handler would make this a lot easier.  We could refactor the handler to consider app_function the main/default function to use by zappa. django_settings is only used if app_function is not present. This allows me to utilize both in my configuration, so that I can use both the app_function in lambda, while still allowing the use of zappa manage
Possible Fix
I wanted to open this ticket to open a discussion on making app_function the preferred choice by Zappa,  and only defaulting to other things like the django_settings if it doesn't exist.

prs welcome.
considered stale.
closing.


Correcting peerDependencies option default to true

Kindly confirm that the default really is true.

Coverage increased (+3.4%) to 74.37% when pulling 0e110ed9100cd83092d016bd22f3884afc358f7b on dwardu:patch-1 into f2db74a347a030c15a387826500cdc98203eac1e on benmosher:master.


fix(adapter.waitDevice): cancel timers on exception

My end-to-end tests use node-ble. When bluetooth device is not found, my tests finish but program hangs. I used package why-is-node-running to track down problem to adapter.waitDevice.

Coverage increased (+0.01%) to 95.793% when pulling aa43478ffaa96a3ed7d74a42862a18fc4cc7f67f on crazySocket:master into 99bbf701c94b4d93018ff33cb046dc4ba82007db on chrvadala:master.


Corrected several litestar.config imports in docs

Pull Request Checklist

[x] New code has 100% test coverage
[x] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[x] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR

By submitting this issue, you agree to:

follow Litestar's Code of Conduct
follow Litestar's Contribution Guidelines

Description
During development I noticed some inconsistencies in the docs with regards to importing

BaseLoggingConfig
LoggingConfig
StructLoggingConfig
OpenAPIConfig
StaticFilesConfig
TemplateConfig

These are not imported from litestar.config.X but rather litestar.logging. I'm not sure if litestar.logging is sufficient or if litestar.logging.config should be used.
Close Issue(s)

@SanderWegter thanks for the fixes!
@all-contributors add @SanderWegter to doc


Wrong Number when using default-area-code

I got a Plunkr: http://plnkr.co/edit/VhoNco?p=preview
Copy following to input:<PHONE_NUMBER>48 (a valid phonenumber in Germany)
While the input stays in focus the phonenumber in the ng-model is correct and the input is valid.
On blur there is another 49 added: +49 4981 539308548
Expected result on blur would be: +49 8153 9308548

I am on this.
Will be releasing a new version soon.


Startup code linking & FPGA synthesis

Hello, thank you for your great tutorial and examples of RISC-V CPU implementation using bluespec language.
I am currently trying to run some tests with Fife pipelined CPU
however, it seems there is only two tests that I can run for now (hello world, rv32ui add).
According to your description in Build_and_Run_Guide it seems that you have linked a "startup code"
to generate test programs from source code.
I would like to ask what kind of startup code you have used
or would there be a way for me to make my own version of startup code to make more test programs?
Also, it seems the hello world source code uses stdio.h library
which to me seems impossible to run on verilator environment
since the implemented RISCV CPU won't run actual kernels with C libraries.
Would it be related to the startup code that was used?
Finally, I am very interested in FPGA synthesis using AWS EC2 F1 instance.
I would like to as when the documentation for running on FPGA would be possible.
Thank you very much for your time

I am currently trying to run some tests with Fife pipelined CPU
however, it seems there is only two tests that I can run for now
(hello world, rv32ui add).

Yes, those are the only two tests I have provided in the repository.

According to your description in Build_and_Run_Guide it seems
that you have linked a "startup code" to generate test programs
from source code.  I would like to ask what kind of startup code
you have used or would there be a way for me to make my own
version of startup code to make more test programs?

Yes.
The file:    Code/Tools/Hello_World_Example_Code/hello.RV32.bare.objdump is a disassembly of the "Hello World!" ELF file.
In that file, in addtion to the code for the Hello World routine itself (label 'main' at PC address 80002190), there is a lot of other code, corresponding to the "startup" code and emulation of routines in stdio, stdlib etc.

Also, it seems the hello world source code uses stdio.h library
which to me seems impossible to run on verilator environment
since the implemented RISCV CPU won't run actual kernels with C libraries.
Would it be related to the startup code that was used?

I run these on Verilator all the time.  The RISC-C CPU will run actual kernels with C libraries, except that these are not the usual C libraries one uses under Linux. Instead, they implement the C library calls with alternate code that runs on bare-metal hardware.  Specifically, the 'printf()' routing used by Hello World ultimately writes characters to a particular set of memory addresses representing a UART (serial character I/O).  This is all the extra code you see in the obj dump disassembly of Hello World.
In Fife/Drum, the shared testbench (in src_Top/ directory) implements a memory model and a UART model (using imported C code).  When Fife or Drum writes to the UART, the characters are routed to this UART model, which then prints them on the terminal.
I will try to put together some notes/examples so you can reproduce the ELF builds, and also build ELFs for other C and ASM programs.   It's not difficult; I just need to organize it and document it a bit.

Finally, I am very interested in FPGA synthesis using AWS EC2 F1 instance.
I would like to as when the documentation for running on FPGA would be possible.

I have all the components in place (and have it running for some predecessors of Drum and Fife), but need to do some system integration to bring in Fife and Drum.  I hope to get to this some time in August.

Greetings, I've been having lots of fun playing with the Drum core and ran into a similar roadblock. I've been using a custom preamble and linker script to try to get this working and can get the code to run but not to exit properly. After returning from main in the c program below the simulation starts looking off into the void:
ERROR: c_mem_req(): wild address for CLIENT_IMEM
    Mem request I_36 LOAD 4B addr:00000000
ERROR: c_mem_req(): wild address for CLIENT_IMEM
    Mem request I_37 LOAD 4B addr:00000000
ERROR: c_mem_req(): wild address for CLIENT_IMEM
    Mem request I_38 LOAD 4B addr:00000000
etc. etc. etc.

Right now I'm compiling with riscv64-unknown-elf-gcc -march=rv32i -mabi=ilp32 -nostdlib -nodefaultlibs -O0 -Wl,--gc-sections -Wl,-T,riscv32i.ld crt0.s example.c -o example to produce an executable. For crt0.s i have
.section .init, "ax"
.globl _start
_start:
	.cfi_startproc
	.cfi_undefined ra
	.option push
	.option norelax
	la  gp, __global_pointer$
	.option pop
	la sp, __stack_top
	add s0, sp, zero
	jal zero, main
	.cfi_endproc
	.end

for example.c something like
int doubler(int a) {
    return a+a;
}
int main() {
    int a = 4;
    int b = doubler(a) + a;
    return 0;
}

for riscv32i.ld I have
...
MEMORY
{
  RAM (rwx) : ORIGIN = 0x80000000, LENGTH = 0x10000000
}
...
ENTRY(_start)
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x0000)); . = SEGMENT_START("text-segment", 0x0000) + SIZEOF_HEADERS;
PROVIDE(__stack_top = ORIGIN(RAM) + LENGTH(RAM) );
...

Looking at some of the examples from riscv-tests like rv32ui-p-add it looks like I'm probably missing some setup and teardown, e.g. TEST_PASS runs:
80000670 <pass>:
80000670:	0ff0000f          	fence
80000674:	00100193          	li	gp,1
80000678:	05d00893          	li	a7,93
8000067c:	00000513          	li	a0,0
80000680:	00000073          	ecall
80000684:	c0001073          	unimp

at the end, while some setup I'm not grokking seems to happen in the <reset_vector> section that gets jumped to immediate from the _start entry point. In all it would indeed be very helpful to have a better idea of how to compile for execution on Drum/Fife. Thanks again for the repos, they are a terrific resource!


[TEVA-2682] Allow & character to be in title and salary field

Jira ticket
https://dfedigital.atlassian.net/browse/TEVA-2682
Screenshots of UI changes:
URL

Review app deployed to https://teaching-vacancies-review-pr-3530.london.cloudapps.digital

Did you try this? From the documentation of sanitize:
 To set the default allowed tags or attributes across your application:
  # In config/application.rb
  config.action_view.sanitized_allowed_tags = ['strong', 'em', 'a']
  config.action_view.sanitized_allowed_attributes = ['href', 'title']

The problems is not with tags or attributes, the problem is with the special character & that gets escaped. All we are doing here is to check that the content does not have tags in order to present the error. We are not stripping or sanitising the actual content


FLIN-139 Document for demonstration routine

Describe your changes

Created a document which goes through step by step what will happen during the demonstration of our product

Github issue this pull requests addresses
Closes issue FLIN-139
Checklist before requesting a review

[X] I have performed a self-review of my code
[X] I have updated/created the corresponding documentation

Before starting the demo

NOTE: Where to run SQL commands

Demonstration

Introduction - Putting things into a context [org317d684]

The input databases
Example restaurant - Da mario
Example jobs.
Example single view.

The restaurant owner
The customer

Like this?!


docs: install options -> uninstall options

What does this PR try to resolve?
Fixed a typo in the cargo-uninstall.md documentation file.

@bors r+
Thank you!

:pushpin: Commit 9eb1f51b7ba756c86e287697bfb4b71f26fa80d0 has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 9eb1f51b7ba756c86e287697bfb4b71f26fa80d0 with merge 51f95876f291a97a93768c5900858b07f8f267f8...

:broken_heart: Test failed - checks-actions

Has docker rate limit recovered?
@bors retry

:hourglass: Testing commit 9eb1f51b7ba756c86e287697bfb4b71f26fa80d0 with merge f9e20ffaf9557ad85e32fd9456cc1865af9c63a3...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing f9e20ffaf9557ad85e32fd9456cc1865af9c63a3 to master...


examples/dev1_to_dev2.rs: Use sender CQ size to calculate sender frame count

Use sender CQ size for sender config, instead of receiver - possible typo?

Also found and removed a doubled-up .frame_size() call in the builder chain in the build_umem_and_socket_config() function, that wasn't doing anything useful AFAICT.

yup looks like a typo, thanks


AccessController get Key value

I am following the AccessController documentation. I am trying to find a way to obtain the key value for use in my AccessControllers. Does entry have a property like key when invoking canAppend?
async canAppend(entry, identityProvider) {
      // logic to determine if entry can be added, for example:
      if (entry.payload === "hello world" && entry.identity.id === identity.id && identityProvider.verifyIdentity(entry.identity))
        return true

      return false
      }

https://github.com/orbitdb/orbit-db/blob/afc85156f53757f08e8026485f6ac2e1fc3fb3bf/GUIDE.md#custom-access-controller

entry.payload.key
https://github.com/orbitdb/orbit-db-kvstore/blob/019c6d98469c03096c6d13c5577ddf492678efab/src/KeyValueStore.js#L27
https://github.com/orbitdb/orbit-db-store/blob/f1461ce078fd58be6962cde6ad37980dfb29e811/src/Store.js#L434
https://github.com/orbitdb/ipfs-log/blob/2cb68814b98ba15f79a8dcf554f26c1505a5985e/src/log.js#L292
https://github.com/orbitdb/ipfs-log/blob/2cb68814b98ba15f79a8dcf554f26c1505a5985e/src/entry.js#L44

No, but the entry should be structuredout in the same manner as the entries of the oplog.
See Oplog Documentation for further details.

I can confirm the entries passed to the entry in canAppend are the opslog format. That means to access the variable I would do entry.payload.key.
Thanks for this awesome community


Prebuilt binaries for common combination of CUDA 12 & cudnn8, in addition to 12 & cudnn9

It was recently documented (well it doesn't work really per #234, but assuming it eventually does) that CUDA 11 depends on cudnn8; while CUDA 12 depends on cudnn9.
I would like to point out that given how large these development & runtime environments are, relying on prebuilt images such as those found on Docker hub from "official" sources is often a necessity.
By choosing to only support CUDA 12 + cudnn9, this prevents e.g. the popular pytorch images to run ort, because as you can see in this list, only cuda12.N-cudnn8 is available.
If not otherwise technically imposed by onnxruntime requirements, would it be possible to provide prebuilt provider binaries for those combinations:

CUDA
cudnn
State

11
8
already available

12
8
new, this issue

12
9
already available

And, in general, try to follow the versions combinations from popular prebuilt runtime environments like pytorch?
Thanks for the awesome work!

Not sure how to detect cuDNN 8/9 like we can detect CUDA 11/12. Would an environment variable to override this be OK? (I see the pytorch containers set NV_CUDNN_VERSION, so it could read that too.)

Ah I see. Yes, an env variable would work! Thanks.

@zopieux Could you please test https://github.com/pykeio/ort/commit/bc764d388f213a631db934029af6463f19cacd5e? (
[dependencies]
ort = { git = "https://github.com/pykeio/ort.git", rev = "bc764d388f213a631db934029af6463f19cacd5e" }

Using the above commit, inside Docker image docker.io/pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime and forcing ORT_CUDNN_VERSION=8 (it's not set in that image AFAICT), cargo build succeeds.
Then at runtime, toying with LD_LIBRARY_PATH because these libraries are fucking all over the place except where LD_LIBRARY_PATH is natively set, it works! :rocket:
$ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/app/target/debug:/opt/conda/lib:/opt/conda/lib/python3.10/site-packages/torch/lib"
$ cargo run && echo cool
cool

Thanks!

and forcing ORT_CUDNN_VERSION=8 (it's not set in that image AFAICT)

Hmm, it should've picked up NV_CUDNN_VERSION, which the image does set, but oh well, at least it works at all 😂
Fixed in v2.0.0-rc.4

NV_CUDNN_VERSION, which the image does set

Wait, am I missing something?
$ podman run -ti --device nvidia.com/gpu=all --rm docker.io/pytorch/pytorch:2.3.1-cuda12.1-cudnn8-runtime \
    bash -c 'env | grep -E "(CUDA|CUDNN|NV|TORCH)"'
NVIDIA_VISIBLE_DEVICES=all
NVIDIA_DRIVER_CAPABILITIES=compute,utility
PYTORCH_VERSION=2.3.1

Oh, did you use the devel flavor by any chance?

...shit 🙃

It's okay, I guess it's working as intended that to build a rust library, one would need the devel flavor. :)


Cycle profile support

When deal with high cycle cost contract, if we send such a transaction may been rejected due to the vm cycle limit (which is max_block_cycles).
A cycle profile tool would be helpful to optimize the contract code.

https://docs.nervos.org/docs/essays/pprof


feat: hydrate Chat and User

Closes #15

@KnightNiwrem @dcdunkan perhaps you guys still wanna TAL, I didn't test this

How is this still unreleased? That will happen today then.


Feature/backoffice smart filters

Adding more dependent filters by using filter trees. (https://www.pivotaltracker.com/story/show/181286870)

@tsubik maybe before merging it would be a good idea to squash most of the commits :)

Don't want to squash them as I want to have that other solution (using
dependent ajax select) in git history. There are many commits as I changed
my mind how I will implement this.
On Sat, Apr 1, 2023, 17:58 Tiago Santos @.***> wrote:

@tsubik https://github.com/tsubik maybe before merging it would be a
good idea to squash most of the commits :)
—
Reply to this email directly, view it on GitHub
https://github.com/wri/fti_api/pull/426#issuecomment-1493017193, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJ2CLCUWIUII3XBWC6PUIDW7BGARANCNFSM6AAAAAAV2RAWJU
.
You are receiving this because you were mentioned.Message ID:
@.***>


InventoryGUI wiki has broken example

This isn't an issue with the code, so I'm not able to make a PR and I wasn't sure of a better place to put this since this repo doesn't have Discussions, so hopefully an issue is fine.
At the bottom of the InventoryGUI wiki there is an example usage
InventoryGUI gui = new InventoryGUI(Bukkit.createInventory(null, 27, "Items"));
PaginationPanel pages = new PaginationPanel(gui);
pages.addSlots(0, 18); // Add the first two rows of the inventory to the paged panel.
// You can also use addSlots(int x1, int y1, int x2, int y2) to define a rectangular area.
pages.addButtons(myItemList); // Bring your own myItemList
// Add buttons to navigate between pages
ItemButton next = ItemButton.create(new ItemBuilder(Material.EMERALD_BLOCK).setName("Next Page"), e -> pages.nextPage());
ItemButton prev = ItemButton.create(new ItemBuilder(Material.EMERALD_BLOCK).setName("Previous page", e -> pages.prevPage());
gui.addButton(next, 18);
gui.addButton(prev, 26);

However, PaginationPanel::addButtons doesn't exist (this should probably be PaginationPanel::addPagedItems) and there is a syntax error on the line defining prev because the closing bracket for setName is missing. The code should be
InventoryGUI gui = new InventoryGUI(Bukkit.createInventory(null, 27, "Items"));
PaginationPanel pages = new PaginationPanel(gui);
pages.addSlots(0, 18); // Add the first two rows of the inventory to the paged panel.
// You can also use addSlots(int x1, int y1, int x2, int y2) to define a rectangular area.
pages.addPagedItems(myItemList); // Bring your own myItemList
// Add buttons to navigate between pages
ItemButton next = ItemButton.create(new ItemBuilder(Material.EMERALD_BLOCK).setName("Next Page"), e -> pages.nextPage());
ItemButton prev = ItemButton.create(new ItemBuilder(Material.EMERALD_BLOCK).setName("Previous page"), e -> pages.prevPage());
gui.addButton(next, 18);
gui.addButton(prev, 26);

Thank you for the PR! I've fixed the example.


Grafana's backend faults when custom variables are used in the query

Describe the bug
Using Grafana's variables of the custom type causes the backend to fail queries.
To Reproduce
Create a custom variable for a dsashboard
Set up a query using a  the variable in the PV with syntax like ${prefix}
Create an alert using this query
The alert fails because it cannot get data
Expected behavior
Using Grafana variables should work with the backend querying system and match functionality with the frontend.
Desktop (please complete the following information):

OS: N/A
Browser: N/A
Version: N/A

Additional context
Hey @sasaki77, I just found another issue in the backend. Would you mind assigning this one to me?

This is not currently supported by grafana. Information about dashboard variables is not available to the backend query when scanning for alerting conditions.
Please see https://grafana.com/docs/grafana/latest/alerting/create-alerts/#conditions
I plan to revisit this in 90 days to see if support has been added.


Code quality

Simplify the use of Array.reduce
Remove await on non-async functions.
size is always startSize / 1000.
You can't copy( void ) That's black magic and scary.

Nice!! Thank you so much!
When I was making definitely a lot of things were hammered in


no mention of major and minor releases

can we add something to the introduction

This makes sense to add once all the profiles are folded into the main ISA document tree.


Improve semantics: replace input/output VAT category names

output VAT stand for sales, while input for purchases.
currently we got it the other way around.
should be replaced - both on DB category names, and for server constants names

[ ] packages/server/src/modules/ledger/helpers/common-charge-ledger.helper.ts
[ ] packages/server/src/modules/ledger/helpers/cross-year-ledger.helper.ts
[ ] packages/server/src/modules/ledger/resolvers/ledger-generation/monthly-vat-ledger-generation.resolver.ts
[ ] packages/server/src/shared/constants.ts


Add open with TTL

I have added struct.DB.html#method.open_with_ttl and I have added basic compaction method to test full compaction so the record will removed when compaction hit.
Please use the patch below to better testing,
test_rocksdb_open_with_ttl.patch.zip
Note: when I run rustfmt, it changes the code quite much so I have skipped that part.

@trK54Ylmz Thanks!


Replaced i18n.t w/ tpl helper in spam-prevention

refs: TryGhost#13380
The i18n package is deprecated. It is being replaced with the tpl package.
Got some code for us? Awesome 🎊!
Please include a description of your change & check your PR against this list, thanks!

[x] There's a clear use-case for this code change
[x] Commit message has a short title & references relevant issues
[x] The build will pass (run yarn test and yarn lint)

More info can be found by clicking the "guidelines for contributing" link above.

Squashed a big 'un, thanks!


Check if thinning IASI before other QC speeds up DA

Our current working strategy for IASI assimilation is to pre-thin the observation locations in a standalone h(x) application.  There might be a simpler solution.
Another potential strategy: try moving these lines to line 2 before all other filters.
Applies to 3 yamls:
https://github.com/NCAR/MPAS-Workflow/blob/develop/config/jedi/ObsPlugs/variational/filtersWithBias/iasi_metop-a.yaml
https://github.com/NCAR/MPAS-Workflow/blob/develop/config/jedi/ObsPlugs/variational/filtersWithBias/iasi_metop-b.yaml
https://github.com/NCAR/MPAS-Workflow/blob/develop/config/jedi/ObsPlugs/variational/filtersWithBias/iasi_metop-c.yaml
My thinking is that this will reduce the number of locations simulated by CRTM since the thinning filter will be executed before h(x).  There are also YAML options to explicitly request a filter be executed in the prior stage (before h(x)) that we could try as an alternative.  We need to look at which components of OOPS_STATS are most impacted by IASI.  Is it the simulateObs/setTrajectory/simulateObsAD methods?  or the UnstructuredInterpolator methods? or the ObsSpace I/O?  Pre-thinning should reduce the wall-time of simulateObs/setTrajectory/simulateObsAD, but I'm not sure about the other two contributions.
If this works, similar strategies can be applied to other radiance obs.

This sounds a good strategy if it works like you expected! It was one of my questions: how the order of QC filters in yaml setting will affect the results/behavior of final QCed obs. WRFDA (GSI too I believe) does thinning in the bufr file reading stage before hofx calculation. If hofx only computes on un-thinned pixels, then we have less geovals profiles in the memory, though we still keep all obs pixels, so it is a partial saving on memory if I understand this correctly.

Yes @liujake, only a partial memory savings, if any.  As I noted, the only improvement I expect is in the CRTM operator, which can skip profiles that are flagged/filtered before h(x).


CompactLogix Strings

Hello,
I cannot read strings from a CompactLogix PLC.  I saw an example Slc500Strings that did this.  I am able to read how many characters exist in the string but not the actual characters.  Any advice on how I can get this to work?

Hi,
it reads an array of chars, so you have to manually convert the chars to character.
Here is an example on the original library:
https://github.com/kyle-github/libplctag/blob/master/src/examples/string.c

closing


Support argument types for .js files.

In<EMAIL_ADDRESS>for example, it shows up as
fakeModule(url, moduleImplementation)

even though in the source the parameter types are provided via jsdoc:
/**
 * Fakes a module.
 * @param {string | URL} url should be relative to the `importMeta` argument
 * provided in the {@link constructor}.
 * @param {string} moduleImplementation The code to replace the imported content with.
 */

Duplicate of denoland/deno_doc#137