The links have been broken for the list of international groups in docs/

The list of international workgroups was moved
from https://wiki.hyperledger.org/display/fabric/International+groups
to https://wiki.hyperledger.org/display/I18N/International+groups.
But the document has used the old one (https://wiki.hyperledger.org/display/fabric/International+groups).

Reopen this issue for fabric-docs-i18n

https://github.com/hyperledger/fabric-docs-i18n/issues/552 for fabric-docs-i18n


Add TSLint pre-commit hook

TSLint checks your TypeScript code for readability, maintainability, and functionality errors.
http://palantir.github.io/tslint/

I'd like to have this hook in Overcommit, to provide similar functionality for TypeScript as we already have for JavaScript with ESLint. I'm willing to contribute this plugin, already started implementing this.

Implemented in #421

Just realised that the hook is not listed yet in the documentation. I'll create a new PR to fix that.

I wonder if we should add a repo pre-commit hook that ensures that rules are listed in documentation?

Whoops, sorry about that!

@lencioni A Pull Request template is maybe even easier to start with


chore: clean up IT

This is only the test not the sample so I thought I should remove it.
On Thu, Jan 9, 2020, 6:02 PM Kurtis Van Gent<EMAIL_ADDRESS>wrote:

@kurtisvg requested changes on this pull request.
In samples/src/test/java/com/example/bigquery/RelaxColumnModeIT.java
https://github.com/googleapis/java-bigquery/pull/94#discussion_r365002293
:

@@ -68,10 +68,6 @@ public void testRelaxColumnMode() {
"gcloud_test_table_temp_" + UUID.randomUUID().toString().replace('-', '_');
Schema originalSchema =
Schema.of(

       // The only supported modification you can make to a column's mode is changing it from

       // REQUIRED to NULLABLE

       // Changing a column's mode from REQUIRED to NULLABLE is also called column relaxation

       // INFO: LegacySQLTypeName will be updated to StandardSQLTypeName in release 1.103.0

Do you want to remove this comment? Seems still relevant to the sample.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/googleapis/java-bigquery/pull/94?email_source=notifications&email_token=ABX7TQBSWZD73ZQOICJAN3TQ46UHPA5CNFSM4KE7FWNKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCRIUBSY#pullrequestreview-340869323,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABX7TQBLZGQ3RXS7FFV73FLQ46UHPANCNFSM4KE7FWNA
.

This is only the test not the sample so I thought I should remove it.

Oh sorry, that totally make sense.


RFP - Redis Desktop Manager

This is 1 of only 2 software products that we install on every new machine that does not have a chocolatey package yet.
EXE available here

@mvanstelle isn't this one the one you're looking for?
https://chocolatey.org/packages/redis-desktop-manager

It is! Thank you. For some reason that was the 19th result in chocolatey when I searched for "Redis Desktop Manager" on the packages site, and I didn't read that far.


Unable to integrate in project

when integrating in gradle dependancy and when running it gives other error in app like classdef

can you give me a bit more information. For example stack trace would be nice, or something similar.


CUDA / Metal support

Since the API is built locally, it would be cool if there was a Metal-specific Dockerfile for macs (LLAMA_METAL=1 make should be enough for that)  and a CUDA build for Nvidia cards. (llama.cpp provides CUDA images already if that helps)

Totally agree! Would love to see CUDA and Metal support. Due to time constraints, we haven't been able to look deeply into adding them using llama-cpp-python. That said, @khromov if this is something you can and would like to contribute, please feel free to go ahead!

I was able to get the 7B model running on a GTX 1080Ti. I built the llama-cpp-python image with CUDA support following this PR that hasn't been merged yet: https://github.com/abetlen/llama-cpp-python/pull/598
Then all I had to do was change run.sh to offload "1000" layers to GPU and add change the docker-compose.yml file to the following:
version: '3.6'

services:
  llama-gpt-api:
    # image: ghcr.io/getumbrel/llama-gpt-api
    build:
      context: ./api
      dockerfile: Dockerfile
    restart: on-failure
    environment:
      MODEL: '/models/llama-2-7b-chat.bin'
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]

  llama-gpt-ui:
    image: 'ghcr.io/getumbrel/llama-gpt-ui:latest'
    ports:
      - 3000:3000
    restart: on-failure
    environment:
      - 'OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXXXXXX'
      - 'OPENAI_API_HOST=http://llama-gpt-api:8000'
      - 'DEFAULT_MODEL=/models/llama-2-7b-chat.bin'
      - 'WAIT_HOSTS=llama-gpt-api:8000'
      - 'WAIT_TIMEOUT=600'

The important part being the deploy.

Perhaps the deployment should use MLC concepts?
Llama models deployed using MLC has already proven effective, and enables Cuda, metal, rocm, etc, so the model can run on intel arc, amd Radeon as well.
https://mlc.ai/mlc-llm/docs/
Proof of concept notes:
https://blog.mlc.ai/2023/08/09/Making-AMD-GPUs-competitive-for-LLM-inference

@Belval looks like that PR you linked to got merged a few minutes ago, fyi. i have a draft PR open to use the nvidia cuda images, but I'll close that since it seems like this will accomplish the same with fewer changes.

This is a temporary method for using CUDA. I tested it on Debian 11 and successfully ran the 13B model. More information in the final part.
Short version

Compile llama-cpp-python's CUDA version docker image.
Manually map the model to a container
Adjust and use the llama-gpt/api/run.sh file to start.

Long version

Install and set up Docker, including the nvidia container-toolkit
git clone https://github.com/abetlen/llama-cpp-python.git
Prepare the model.

llama-2-7b-chat.bin - https://huggingface.co/TheBloke/Nous-Hermes-Llama-2-7B-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q4_0.bin
llama-2-13b-chat.bin - https://huggingface.co/TheBloke/Nous-Hermes-Llama2-GGML/resolve/main/nous-hermes-llama2-13b.ggmlv3.q4_0.bin
I think 7b or 13b is enough.
Download the model and place it in a host machine folder, such as /home/debian/docker/llama-models.
I used the llama-2-13b-chat.bin model.

Review the documentation: https://github.com/abetlen/llama-cpp-python/tree/main/docker#cuda_simple.

You do not need to execute the final docker run command, use docker build -t cuda_simple . to build the image.

Execute the command sudo docker tag cuda_simple llama-cpp-python-cuda:latest.
Find a directory as the Docker Compose directory, such as /home/debian/docker-compose/llama-gpt-cuda.
Create a file docker-compose.yaml and fill in the following content.

version: '3.6'

services:
  llama-gpt-api-13b:
    # image: 'ghcr.io/getumbrel/llama-gpt-api-llama-2-13b-chat:latest'
    image: 'llama-cpp-python-cuda:latest'
    # build:
    #   context: ./api
    #   dockerfile: 13B.Dockerfile
    restart: on-failure
    environment:
      MODEL: '/models/llama-2-13b-chat.bin'
      USE_MLOCK: 1
    volumes:
      - '/home/debian/docker/llama-models:/models/'
      - './data:/home'
    cap_add:
      - IPC_LOCK
      - SYS_RESOURCE
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: 1
              capabilities: [gpu]
    command: /bin/sh /home/run.sh

  llama-gpt-ui:
    image: 'getumbrel/llama-gpt-ui:latest'
    container_name: 'llama-gpt-ui'
    ports:
      - 3000:3000
    restart: on-failure
    environment:
      - 'OPENAI_API_KEY=sk-XXXXXXXXXXXXXXXXXXXX'
      - 'OPENAI_API_HOST=http://llama-gpt-api-13b:8000'
      - 'DEFAULT_MODEL=/models/llama-2-13b-chat.bin'
      - 'WAIT_HOSTS=llama-gpt-api-13b:8000'
      - 'WAIT_TIMEOUT=600'

Create a directory: data.
Create a file: data/run.sh and fill in the following content (copy from llama-gpt/api/run.sh and then adjust).

#!/bin/bash

# make build

# Get the number of available threads on the system
n_threads=$(grep -c ^processor /proc/cpuinfo)

# Define context window
n_ctx=4096

# Offload everything to CPU
n_gpu_layers=37

# Define batch size
n_batch=2096
# If total RAM is less than 8GB, set batch size to 1024
total_ram=$(cat /proc/meminfo | grep MemTotal | awk '{print $2}')
if [ $total_ram -lt 8000000 ]; then
    n_batch=1024
fi

echo "Initializing server with:"
echo "Batch size: $n_batch"
echo "Number of CPU threads: $n_threads"
echo "Number of GPU layers: $n_gpu_layers"
echo "Context window: $n_ctx"

exec python3 -m llama_cpp.server --n_ctx $n_ctx --n_threads $n_threads --n_gpu_layers $n_gpu_layers --n_batch $n_batch

Adjust the n_gpu_layers parameter, too large may cause OOM, I have a 3060 with 12GB, 37 is already very extreme.
sudo docker compose up check if it can run normally, if there are no problems, use sudo docker compose up -d to enter background operation.

Other notes:

GPU usage seems to be around 30% or so. CPU is running at 100% during operation.
The speed has indeed been significantly improved, but it has not yet reached the immediate response level.
As the chat history increases, it is more likely to crash, and I have not found the cause of the crash yet, only seen exit code 0.
The model path seems to be able to use /models/llama-2-13b-chat.bin or only /models/ directory, otherwise the UI program may have issues.

Directory structure as follows.
.
├── data
│   └── run.sh
└── docker-compose.yaml

1 directory, 2 files

Use the llama-gpt cuda version for translation

Thanks for an excellent breakdown, @Aincvy! CUDA support has now been added with #72.


NoMethodError (undefined method `values' for nil:NilClass)

Here is the trace.
I tried this:
[1] pry(main)> Teacher.sync_scope_definitions
=> nil
[2] pry(main)> Teacher.last.sync_scope_definitions
  Teacher Load (0.5ms)  SELECT  "users".* FROM "users" WHERE "users"."type" IN ('Teacher')  ORDER BY "users"."id" DESC LIMIT 1
NoMethodError: private method `sync_scope_definitions' called for #<Teacher:0x000000028ab3d8>
from /home/pills/.rvm/gems/ruby-2.2.2/gems/activemodel-4.2.0/lib/active_model/attribute_methods.rb:430:in `method_missing'
[3] pry(main)> Teacher.last.send :sync_scope_definitions
  Teacher Load (0.7ms)  SELECT  "users".* FROM "users" WHERE "users"."type" IN ('Teacher')  ORDER BY "users"."id" DESC LIMIT 1
NoMethodError: undefined method `values' for nil:NilClass
from /home/pills/.rvm/gems/ruby-2.2.2/gems/sync-0.3.5/lib/sync/model_actions.rb:52:in `sync_scope_definitions'

Turned out that I am using STI and using sync :all in just the parent. I added sync :all to both children models, removed from parent and now is working.


Update to public-api v0.21.0

The dep bumps are (as you might remember) due to bumping cargo_toml to fix a crash (see https://github.com/Enselic/cargo-public-api/pull/186).
Also bump rustdoc-json while we're at it.

Thanks again, this is such awesome support! ❤

This project is the first to publicly depend on rustdoc-json and public-api, that's why I treat this project extra well :D

Ha, glad to do a bit of pioneering! :)


Use byte arrays to store non-unicode fate strings

extracted from #287
This PR is supported by the Æternity Foundation

unicode strings implementation - why and how

Firstly, if a contract uses fate strings as bytes, then these bytes can be broken by converting them to strings on js side. To avoid that I propose to keep data as bytes, keeping the same API except that valueOf will return bytes instead of a string if the payload is non-unicode.
The issue I had is that some arguments in contract instructions are raw strings, the current implementation breaks them while decoding making impossible to encode them back. For example:
  {
    id: '1f734048',
    name: 'test_bls12_381_fp',
    attributes: [],
    args: { name: 'tuple', valueTypes: [ { name: 'int' } ] },
    returnType: { name: 'bytes', size: 48n },
    instructions: [
      [
        {
          mnemonic: 'PUSH',
          args: [ { mod: 'arg', arg: 0n, type: { name: 'int' } } ]
        },
        {
          mnemonic: 'CALL_T',
          args: [
            {
              mod: 'immediate',
              arg: '��u�', // OR Uint8Array(4) [ 243, 237, 117, 150 ] after this PR
              type: { name: 'string' }
            }
          ]
        }
      ]
    ]
  },

The issue I had is that some arguments in contract instructions are raw strings,

Maybe we shouldn't decode such arguments as strings but byte arrays? I'll take a closer look.
The PR idea is common-sense at first, but the results are a bit controversial for me still. The Unicode check is also heart-breaking.


Why stripping out non enumerable properties from the context when batching?

Using Passport, I wanted to implement a login mutation. Passport adds a login function to the req object, so I thought that using the req object as the context of my resolvers should be enough for having access to it from the mutation.
Unfortunately I tried to access context.login from the mutation and I got undefined.
Surprised enough I dag into graphql-server-core and I found the following inside runHttpQuery.js:
if (isBatch) {
  context_1 = Object.assign({}, context_1 || {});
}

Which, if I understand it properly, has the only function of removing all the non enumerable properties from the context.
Since the way Passport adds its extra properties to the req object makes them non enumerable, I coudn't access them anymore.
Why are we doing this? Why only if batching?

Hey @fabiospampinato,
The true intention of this line is to duplicate the original context given, so if one of the resolvers changes it it wont hold.
Please try to pass req as a member of context and not context itself :)

Being a shallow copy it doesn't really prevent a resolver from mutating it, and doing a deep copy is probably too expensive, perhaps just discouraging developers from mutating it would be enough.
Thanks you.

well, yes, you are right, the resolver can modify the inner keys and we are fine with that.
the intention is not to pass the user object as is so the context itself won't be modified.


fix: Documentation link

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/verify-owners

/verify-owners

I'll wait until those 2 members join the appropriate Github teams before we merge this
/hold

/verify-owners

/verify-owners


update honeywell references to quantinuum

Found a few more locations where honeywell is used in links or references. Updated these to Quantinuum or quantinuum as makes sense.

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

@bradben
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
#assign:@MicrosoftDocs/public-repo-pr-review-team

The following users don't have valid GitHub IDs, or are not collaborators on this repo: microsoftdocs/public-repo-pr-review-team

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

#sign-off


Update BMC username Specifications

Updating BMC username specifications to reflect <16 character requirement

@PPacentMSFT : Thanks for your contribution! The author, @mattbriggs, has been notified to review your proposed change.

@PPacentMSFT @mattbriggs - Note that Microsoft authors should make updates to content through the private repository so the updates can be staged and validated by the validation rules. See this article for more information. Thanks!

@GitHubber17 : Thanks for your contribution! The author, @mattbriggs, has been notified to review your proposed change.

#sign-off


(intermediate value)(intermediate value) (intermediate value).endsWith is not a function

I encountered this error when I tried to use the Apply Edit feature

Could you share the error message from the developer console? This will help us diagnose the issue.
To access developer tools in Obsidian, you can either:

Use View > Toggle Developer Tools in the menu bar
Or press:

Mac: Cmd + Option + I
Windows: Ctrl + Shift + I

Failed to apply changes TypeError: plugin:smart-composer:294
(intermediate value)(intermediate value)(intermediate value).endsWith is not a function
at t.eval (plugin:canvas-mindmap:6:31468)
at t.r (plugin:canvas-mindmap:6:871)
at t.eval (plugin:outliner-md:85:3647)
at t.s [as setViewState] (plugin:outliner-md:1:732)
at Object.mutationFn (plugin:smart-composer:294:5132)
onError @ plugin:smart-composer:294
The above is the problem I encountered. I sincerely apologize for the unclear way I presented my question.🤧

I use gemini 2.0 flash as Chat model & Apply model, bge -m3 as embedding model.

Does this error occur consistently every time you use apply, or did it only happen once?

Almost every time😣, this notice appears whenever my notes are a little bit more content.

I tried to reproduce this issue but couldn't replicate it on my setup. To help us diagnose the problem, could you provide a minimal reproducible example?
Specifically, it would be helpful if you could share:

An Obsidian vault with only the necessary plugins installed
Your plugin settings configuration
A sample note that triggers the error (with placeholder content to protect privacy)

You could share this by creating a GitHub repository and posting the link here. This would help us identify what's causing the error in your environment.

Thanks for identifying that the Canvas Mindmap plugin is the source of the conflict. While I'm not certain whether the issue lies in our plugin or Canvas Mindmap, I'll add this to my list of things to investigate.
If you're comfortable with code, you might want to look into this yourself. You can examine both plugins' source code by running plugins in debug mode, which will help pinpoint exactly where the error occurs. For instructions on enabling debug mode, check out this guide: https://forum.obsidian.md/t/source-map-trimming-in-dev-builds/87612/2
In the meantime, a workaround would be to disable one of the plugins when you need to use the other.


[BUG] Cannot dump large data (out of memory & offset not working) with ES 7

ElasticDump 6.16.0
Elasticsearch 7
Node.js 8.10.0

Command elasticdump --input=http://localhost:9200/myindex --output=out.json --concurrencyInterval 1 --intervalCap 10 --sourceOnly --noRefresh ends with OOM after exporting some 84237000 records. Adding "--fileSize" does not help in any way (I tried 30GB and 10GB and it always crashes around the same number of records dumped):
Tue, 10 Dec 2019 18:34:48 GMT | got 100 objects from source elasticsearch (offset: 84237000)
Tue, 10 Dec 2019 18:34:48 GMT | sent 100 objects to destination file, wrote 100

<--- Last few GCs --->

[146922:0x55ce707933a0] 29037031 ms: Mark-sweep 1349.0 (1592.5) -> 1349.0 (1592.5) MB, 1663.7 / 0.0 ms  allocation failure GC in old space requested
[146922:0x55ce707933a0] 29038477 ms: Mark-sweep 1349.0 (1592.5) -> 1349.0 (1547.0) MB, 1444.9 / 0.0 ms  last resort GC in old space requested
[146922:0x55ce707933a0] 29039976 ms: Mark-sweep 1349.0 (1547.0) -> 1349.0 (1532.0) MB, 1499.4 / 0.0 ms  last resort GC in old space requested

<--- JS stacktrace --->

==== JS stack trace =========================================

Security context: 0x3174e3918fe1 <JSObject>
    0: builtin exit frame: parse(this=0x3174e3929c41 <Object map = 0xb22a320f251>,0x39aeb2a82201 <Very long string[190943]>)

    1: parse [/usr/local/lib/node_modules/elasticdump/lib/jsonparser.js:~24] [pc=0x9820b0fe563](this=0xdf9ad155849 <Object map = 0x14a5a923fc39>,str=0x39aeb2a82201 <Very long string[190943]>,configs=0x3ade83716b31 <EventEmitter map = 0x14a5a924f729>)
    2: /* anonymous *...

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [node]
 2: 0x55ce6dff6011 [node]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [node]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [node]
 5: v8::internal::Factory::NewFixedArray(int, v8::internal::PretenureFlag) [node]
 6: v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::NewInternal(v8::internal::Isolate*, int, v8::internal::PretenureFlag) [node]
 7: v8::internal::HashTable<v8::internal::StringTable, v8::internal::StringTableShape>::EnsureCapacity(v8::internal::Handle<v8::internal::StringTable>, int, v8::internal::PretenureFlag) [node]
 8: v8::internal::StringTable::LookupKey(v8::internal::Isolate*, v8::internal::StringTableKey*) [node]
 9: v8::internal::StringTable::LookupString(v8::internal::Isolate*, v8::internal::Handle<v8::internal::String>) [node]
10: v8::internal::JsonParser<false>::ParseJsonObject() [node]
11: v8::internal::JsonParser<false>::ParseJsonArray() [node]
12: v8::internal::JsonParser<false>::ParseJsonObject() [node]
13: v8::internal::JsonParser<false>::ParseJsonObject() [node]
14: v8::internal::JsonParser<false>::ParseJsonArray() [node]
15: v8::internal::JsonParser<false>::ParseJsonObject() [node]
16: v8::internal::JsonParser<false>::ParseJsonObject() [node]
17: v8::internal::JsonParser<false>::ParseJson() [node]
18: 0x55ce6d9a8eec [node]
19: 0x9820af996dd
Aborted (core dumped)

In addition, the "--offset" option does not work either with ElasticSearch 7.5:
$ elasticdump --input=http://localhost:9200/myindex --output=out1.json --concurrencyInterval 1 --intervalCap 10 --fileSize 10gb --sourceOnly --noRefresh --offset 84237100
Wed, 11 Dec 2019 12:23:59 GMT | starting dump
Wed, 11 Dec 2019 12:23:59 GMT | Warning: offsetting 84237100 rows.
Wed, 11 Dec 2019 12:23:59 GMT |   * Using an offset doesn't guarantee that the offset rows have already been written, please refer to the HELP text.
Wed, 11 Dec 2019 12:23:59 GMT | Error Emitted => {"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"}],"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"},"status":400}
Wed, 11 Dec 2019 12:23:59 GMT | Error Emitted => {"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"}],"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"},"status":400}
Wed, 11 Dec 2019 12:23:59 GMT | Total Writes: 0
Wed, 11 Dec 2019 12:23:59 GMT | dump ended with error (get phase) => Error: {"error":{"root_cause":[{"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"}],"type":"action_request_validation_exception","reason":"Validation Failed: 1: using [from] is not allowed in a scroll context;"},"status":400}

offset has been deprecated in scroll since ES v6.
You can use the NODE_OPTIONS="--max-old-space-size=16384"
or try using the fileSize flag to split the files (this will allow node to GC)

The fileSize does not help, as I mentioned.  Thanks.

10GB fileSize is a bit large (not sure how much memory you have). You can try node v12, it has auto heap adjustment.

NODE_OPTIONS solved the problem (for now at least), thanks. Otherwise it always crashed after some 30GB - either at the end of the first slice or at the end of the third slice if fileSize was 10GB. (The machine has 1TB RAM, so there was no problem with the lack of memory.)

Yea node default heap limit is low. Glad it worked out

NODE_OPTIONS solved the problem (for now at least), thanks. Otherwise it always crashed after some 30GB - either at the end of the first slice or at the end of the third slice if fileSize was 10GB. (The machine has 1TB RAM, so there was no problem with the lack of memory.)

Excuse me, how did you solve it

Excuse me, how did you solve it

See ferronrsmith's comment from 11 Dec 2019 above.


Resource overrideMimeType not working on Edge

TL;DR: I found a spec-compliance issue with how Resource does XHRs.
I came here to report an issue I was having with Edge, but to my surprise it isn't Edge's fault.  I have some code that makes a Resource and calls fetchXML, treating the response as an XMLDocument.  This failed in Edge, which led me to dig a bit -- I noticed that my server was returning the (definitely valid XML, not HTML) content with a Content-Type of text/html.  I don't know why, it's not under my control, so I'm stuck with it.  Firefox and Chrome return an XMLDocument anyway; Edge was returning an HTMLDocument.  I thought this was the bug, until I did a bunch of extra testing.
I found out that the XHR spec was recently updated to state that calling open() must reset the "override MIME type" -- see bullet 12 in the current spec.  I saw that the Resource class calls overrideMimeType before calling open.  This results in the override getting ignored in recent builds of Edge, and the problem will get worse as other browsers come into compliance with the changes.
I believe the fix is as simple as moving the open call before the call to overrideMimeType.  This would be a PR instead of an issue, but my CLA issues remain unresolved, so I'll just point 👉

Update: WhatWG is changing their mind about this logic, so maybe the other browsers won't be matching Edge after all.  Still, the fact remains that this breaks on some shipping Edge versions and I don't think it hurts to reorder the logic in Resource.

Hmm, I wonder if this is related so some other weirdness we've been seeing in Edge recently.  Thanks for bring this up @thw0rted!
@mramato @tfili what are your thoughts on this?

I'm not sure this was the same thing I was seeing, but couldn't hurt.  Thanks for the write up @thw0rted, I'll open a PR just to cover our bases.

Thanks @thw0rted!  I was able to replicate this behavior and opened #7091 with the fix.

Thanks again for reporting this @thw0rted!  We just merged a fix for this into master and it will be included in the 1.50 release on Monday


Update BTC Fee Calculation

Adding more info to this Issue, looks like when you are requesting for a tx that is using multisig encoding is not taking account the sigops penalization for multisig tx so for example i sent this tx with a fee_per_kb of 4500 and resulting efective fee (1.62 resulting) is lower than the expected (4.33 was expected)
https://mempool.space/es/tx/ff2742ffeb5fa5abccb1b78537ed2ec0a5d8341d7c59f7d145cf5205477f8a7e

done here https://github.com/CounterpartyXCP/counterparty-core/pull/2873


IE/Edge error on cloning a layer in a variable

With the latest version of OL4, If you clone a layer from a previous window in IE and Edge it doesn't work.
The main 2 layers I use parameters and so, I don't need to clone the layer, but the drawing layer I called it from the windows it opens the "print window" and insert the "draw layer" as a variable.
With the production version, it works on all the other browsers, but not in IE/Edge
I use:
`
var mainWin = window.opener;
var markLayer = mainWin.markLayer;
map = ....
layers: [layers, pmfeatlayer, markLayer],
....
`
SCRIPT438: Object doesn't support property or method 'getLayerStatesArray'
this.getLayers().forEach(function(layer) {
layer.getLayerStatesArray(states);
});
Reproducible also in Chrome with the debug version, it doesn't happen with the previous version. I was using the debug version with a CDN now I called it locally, I downloaded the code.
ol-debug.js:17395 Uncaught TypeError: layer.getLayerStatesArray is not a function
at ol-debug.js:17395
at ol.Collection.forEach (ol-debug.js:8289)
at ol.layer.Group.getLayerStatesArray (ol-debug.js:17394)
at ol.Map.ol.PluggableMap.renderFrame_ (ol-debug.js:18670)
at ol.Map. (ol-debug.js:17624)
In IE/Edge the error happens if you draw something but if you don't draw anything the map is visible and it works.
In Chrome with the debug version even if you don't draw anything you don't have the map and you already have the error.

The getLayerStatesArray function is not exported: it it not available in the production version.
For the issue you are seeing with the debug version; can you create a minimal codepen example that demonstrate the issue?

the issue with the debug (On chrome) I think is because I was using the production on the main and the debug on the print, I had the error at the second time I opened the print page.
If in the production version there is no such function how it works on all the other browsers and the problem is just on IE/edge?
There is a better way to clone a layer?
I don´t think I can create a CodePen, how can I add more pages? maybe a github repo.
The project structure is:

www.URL/Index.html: map,  feature layer, marker layerwith a button that opens a new page
same URL/print/print.html: with map(created from cero again) feature layer(created from cero but updated with parameters stored in a var and taken from the main page) marker layer stored directly in a var from the main page and inserted into the layers array

@fredj here I've done a little project and I have the same problem.
Repo:
https://github.com/sebalaini/Map_ol4
Live:
https://sebalaini.github.io/Map_ol4/
You can click on the print button and you will have the map, draw a map marker and click again on the print, no map it will show.


Noise when recording voice from safari browser

Description
I have implemented audio record feature in my website.But audio record result me recorded audio with noise.
Steps to reproduce
go to https://qa.myu.co on safari browser.
then login using username and password
use username:gituser
use password:123456
then u will find the audio icon click on that than use it to record audio.
Results
After that when you replay the audio you recorded than you will find the issue with the recorded audio.
Expected
Need recorded voice to be clear
Actual
The recoded audio on safari have noise so i can't understand the audio.
Additional Information
Please include any additional information necessary here. Including the following:
versions
VIDEOJS: Using video.js 6.9.0 with videojs-record 2.1.2 + videojs-wavesurfer 2.2.2 and recordrtc 5.4.6
videojs
browsers
safari
platform
what platforms (operating systems and devices) are affected?
mac
###Code used by me is
 var obj = document.createElement('audio');
      $(obj).attr('id', 'myAudio');
      $(obj).attr('class', 'video-js vjs-default-skin');
      $(obj).attr('style', 'width:80%; margin:auto;');
      $("#rec_audio_div").append(obj);
      playerAudio = videojs("myAudio", {
        controls: true,
        width: 400,
        height: 200,
        controlBar: {
          fullscreenToggle: false,
          volumePanel: false
        },
        plugins: {
          wavesurfer: {
            src: "live",
            waveColor: "#36393b",
            progressColor: "black",
            debug: true,
            cursorWidth: 1,
            msDisplayMax: 20,
            hideScrollbar: true
          },
          record: {
            audio: true,
            video: false,
            maxLength: that.audioVideoLimit
          }
        }
      },  function() {
    // print version information at startup
    videojs.log('Using video.js', videojs.VERSION,
        'with videojs-record', videojs.getPluginVersion('record'),
        '+ videojs-wavesurfer', videojs.getPluginVersion('wavesurfer'),
        'and recordrtc', RecordRTC.version);
  });
  playerAudio.on('deviceError', function() {
    that.alertOnDeviceError(playerAudio.deviceErrorCode);
    console.log('device error:', playerAudio.deviceErrorCode);
  });
  playerAudio.on('error', function(error) {
    that.alertOnDeviceError(error);
    console.log('error:', error);
  });
  // user clicked the record button and started recording
  playerAudio.on('startRecord', function() {
    console.log('started recording!');
    that.state = 1;
    progress=0;
    startAudioTime();

  });
  // user completed recording and stream is available
  playerAudio.on('finishRecord', function() {
    that.state = 2;
    clearInterval(recordTimer);
  });

I think this is a browser issue, and not something I can do anything about, see this similar report: https://stackoverflow.com/questions/49612970/audio-recording-using-safari-desktop

thanks for the response this demo is working fine

I am little bit confused how I can use this in my angular 2 project

Can you reproduce it with https://collab-project.github.io/videojs-record/examples/audio-only.html?

I remember that this example was broken for me in the past (i.e. crackling noises).
But I can confirm that it now works on an 2018 iPad with iOS 11.3.

@dirkk0 did you try with latest? that could've fixed it because there was a high CPU issue in videojs-wavesurfer <= 2.4.0. Thanks for the feedback!

@Purnendu220 please try the demo again (or use latest videojs-record and videojs-wavesurfer in your project), it should be fixed now.

Thanks for the support.
On Tue, Jun 5, 2018 at 5:21 PM, Thijs Triemstra<EMAIL_ADDRESS>wrote:

Closed #248 https://github.com/collab-project/videojs-record/issues/248.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/collab-project/videojs-record/issues/248#event-1663490571,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIThFE7lyh5CXR9BeM-vudZb9zbrUI1gks5t5nDfgaJpZM4UDAGl
.

Just for the records: it doesn't crackle on an 2018 iPad with iOS 11.3, as reported above.
It does crackle on Safari Version 11.1.1 on Mac OSX 10.12.6, unfortunately.

@dirkk0 what versions of all libraries?

Good point.
I am not entirely sure that I tested it with the latest version.
I'll check out the latest version tomorrow and report back.

I tested it with
"VIDEOJS: – "Using video.js 7.0.3 with videojs-record 2.3.1 + videojs-wavesurfer 2.5.0 and recordrtc 5.4.6""
(all drawn with 'yarn add')
and with the version at this link:
https://collab-project.github.io/videojs-record/examples/audio-only.html
VIDEOJS: Using video.js 7.0.3 with videojs-record 2.3.1 + videojs-wavesurfer 2.5.0 and recordrtc 5.4.7
Crackles on Safari 11/MacOSX, but clear sound on iPad, which is surprising.

Thx for feedback.

This looks related: https://bugs.webkit.org/show_bug.cgi?id=154538

@dirkk0 can you try with different audio quality settings and see if that changes things?

Thanks for the feedback @dirkk0. Does this example produce noise on safari? https://www.webrtc-experiment.com/RecordRTC/ Select 'Microphone' and ogg or pcm.

Actually it doesn't work at all in Safari11/MacOSX.
You can only chose 'Microphone' and only 'ogg' and after recording, nothing happens (i.e. I don't hear anything).
The error on the console is:
"Unhandled Promise Rejection: AbortError: The operation was aborted." RecordRTC: 1550
On Chrome, it works fine.

@Purnendu220 and @dirkk0, can you give this a try? https://github.com/collab-project/videojs-record/issues/295#issuecomment-429085457

@thijstriemstra yes, it works: Safari 12 Mac OSX, and Safari 11 ( I think, I am still on iOS 11.3.)

Yes, it works without noise on MacOSX/Safari12.
Interestingly enough, the voice is downsampled on iOS now (i.e. slower and deeper).


⚠ Bofrost.be has degraded performance

In b27e681, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 999 ms

Resolved: Bofrost.be performance has improved in f3ef4cb after 6 minutes.


Feat(eos_cli_config_gen): extend radius_servers with attribute 32 include in access and dynamic-authorization

Enhancement summary
radius-servers global configuration will be extended with missing options for

attribute 32 include-in-access-req
dynamic-authorization
host < ip > timeout < seconds > retransmit < seconds >

Which component of AVD is impacted
eos_cli_config_gen
Use case example
radius-server attribute 32 include-in-access-req hostname
radius-server dynamic-authorization port 1700
radius-server dynamic-authorization tls ssl-profile SSL_PROFILE
radius-server host <IP_ADDRESS> timeout 1 retransmit 1 key 7 123456789
radius-server host <IP_ADDRESS> timeout 1 retransmit 1 key 7 123456789

Describe the solution you would like
Following would be nonbreaking extension:
radius_servers:
  - attribute_32_include_in_access:
    hostname: < true | false >
    format: < LINE >
  - dynamic_authorisation:
    port: < port_number >
    tls_ssl_profile: < profile >
  - host: < host IP address or name >
    vrf: < vrf_name >
    key: < encrypted_key >
    timeout: < 1-1000 > in seconds
    retransmit: < 0-100 >

This looks better for me but would be a breaking change
radius_servers:
  attribute_32_include_in_access:
    hostname: < true | false >
    format: < LINE >
  dynamic_authorisation:
    port: < port_number >
    tls_ssl_profile: < profile >
  hosts:
    - host: < host IP address or name >
      timeout: < 1-1000 > in seconds
      retransmit: < 0-100 >
      key: < encrypted_key >

Describe alternatives you have considered
This can be accomplished today with cvp configlet or eos_cli:.
Additional context
I would like to provide the implementation on this
Contributing Guide

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

I agree that the current data model does not allow for extension. I suggest to add a new radius_server key with the common settings. And then add the retransmit to the existing model.
If you are up for it, you can also add full coverage in that new radius_server key, with the full data model you suggest, and then we will deprecate the old one (we need to keep the old one working until 5.0)

Can we start with the implementation or should we open two separate issues?

Hello, some small changes suggested to the data model:
radius_server:
 attribute_32_include_in_access_req:  # add _req to match cli command
   ...
 dynamic_authorization:  # we spell authorization with z in the cli
   ...

The changes are done:
radius_server:
attribute_32_include_in_access_req:
hostname: < true | false >
format: < LINE >
dynamic_authorization:
port: < port_number >
tls_ssl_profile: < profile >
hosts:

host: < host IP address or name >
vrf: < vrf_name >
key: < encrypted_key >
timeout: < 1-1000 > in seconds
retransmit: < 0-100 >


Add logger

Description
Context
In order to improve the system we'll go back to using a database that can be accessed easily from different places. The previous Sqlite3 database will be used just as "cache" on the bot, while MongoDB will be set up to be used widely.
This diff

Add and configure a basic logger on the bot

Incoming diffs

Add logger to track the interaction with the database
Configure the bot to work with MongoDB
Add handler to interact with the database
Add Guild Model again on MongoDB

Type of change

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

How Has This Been Tested?
Locally tested to see that is working fine
Checklist:

[x] I have commented my code, particularly in hard-to-understand areas
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works

Current dependencies on/for this PR:

develop

PR #47

PR #48   👈

PR #49

PR #50

This stack of pull requests is managed by Graphite.

Merge activity

Nov 7, 11:59 PM: @akotadi started a stack merge that includes this pull request via Graphite.


How To Set ServerCertificateCustomValidationCallback?

What is the appropriated way to set ServerCertificateCustomValidationCallback for each backend?

Hmm, not sure there is a built-in way yet. It should be something we enable in code at least.
We should consider having some basic config options to set predefined validation patterns, like:

Allow untrusted certain
Allow specific thumbprints
Allow any cert that chains to one with a specific thumbprint

Using the proxy in a custom public key infrastructure will be fairly common.

@scalablecory @karelz @wfurt

For reference, the handler is created here: https://github.com/microsoft/reverse-proxy/blob/bc9298322206f35e7d658183464cdf806280143f/src/ReverseProxy.Core/Service/Proxy/Infra/ProxyHttpClientFactory.cs#L33-L42 and doesn't currently have access to any route/backend/endpoint config options.

Covered as larger task in #137


Automatically restart the container if the health endpoint fails

Use the docker HEALTHCHECK instruction to curl the /health endpoint every five minutes.
If the endpoint does not respond within 30 seconds, cause the container's restart policy to kick in by killing the main python process.
Unfortunately, docker 1.12 does not (yet) support automatically restarting containers in response to healthcheck failures. This is a stop-gap measure to get the container to restart.
Closes #115

@dubeejw Please review and merge.

@bjustin-ibm, is there a way to alert us that the provider has been restarted, so that we can investigate why the restart happened?

This was rebased/merged as 31af4fbee6369d2eb113761457c215505cab2293


Can not see the persons name who you are feedbacking

In case of multiple evaluations, you can not see the persons name who you are feedbacking.

#12 Possible fix

Will be available with the next release


Feature: Homing

When analyzing the homing configurations supported by LinuxCNC and comparing them with the homing algorithms provided by the PoKeys devices, specifically PoKeys57CNC with the Pulse Engine v2 (PEv2), there are a few important considerations to take into account:
1. LinuxCNC Homing Options
LinuxCNC offers a variety of homing options, which can be customized through the INI file (HOME_SEQUENCE, HOME_OFFSET, HOME_SEARCH_VEL, etc.). The most relevant options include:

HOME_SEQUENCE: Specifies the order in which axes should home. This is useful for machines where axes depend on each other.
HOME_SEARCH_VEL: Defines the velocity to approach the home switch.
HOME_LATCH_VEL: Defines the speed for the final approach, typically after detecting the home switch, to refine the homing position.
HOME_OFFSET: A position offset to apply after homing completes.
HOME_USE_INDEX: Whether to use the index pulse of an encoder for more precise homing.
HOME_IGNORE_LIMITS: A flag to ignore limit switches during homing.

2. PoKeys Homing Options with Pulse Engine v2
PoKeys PEv2 also provides various homing-related options through its sPoKeysPEv2 structure. These options include:

HomingStartMaskSetup: Controls which axis should be homed.
HomingSpeed: Defines the speed for coarse homing (approaching the home switch).
HomingReturnSpeed: Defines the speed for fine homing after detecting the home switch.
HomingDirection: Inverts the homing direction (similar to LinuxCNC’s HOME_SEARCH_VEL with a negative value).
DedicatedHomeInputs: These inputs are tied to dedicated home switches.
PK_ASO_SWITCH_INVERT_HOME: Inverts the polarity of the home switch.
PK_AC_SOFT_LIMIT_ENABLED: Enables or disables soft limits during the homing procedure.

The Pulse Engine provides detailed states for the homing process:

PK_PEAxisState_axHOMINGSEARCH: Axis is in coarse homing mode (searching for the switch).
PK_PEAxisState_axHOMINGBACK: Axis is in fine homing mode (slow reverse).
PK_PEAxisState_axHOME: Axis is homed.

3. Identified Lags and Mismatches
There are a few areas where gaps or mismatches might occur between PoKeys’ capabilities and LinuxCNC’s expected behavior:

Soft Limits: LinuxCNC has an expectation that axes will respect soft limits after homing, but this is not always strictly enforced by PEv2 unless explicitly configured (PK_AC_SOFT_LIMIT_ENABLED). This requires alignment between how LinuxCNC handles soft limits and how PoKeys does.

Index Pulse Usage: LinuxCNC has the option of using an index pulse for more precise homing. This is particularly important when using encoders. The PoKeys57CNC does not explicitly provide options for index pulse-based homing in the default setup, which may lead to reduced homing precision if index pulse homing is required.

Error and Limit Handling: The PEv2 reports limit switches and errors (e.g., PK_PEAxisState_axLIMIT or PK_PEAxisState_axERROR), but the timing and propagation of these events may not perfectly match LinuxCNC's expected behavior. Ensuring the states are properly reflected in LinuxCNC HAL will be key.

Combined Limit and Home Switches: PoKeys allows the use of combined limit and home switches (e.g., PK_ASO_SWITCH_COMBINED_LN_H), which may not align perfectly with LinuxCNC’s configurations where dedicated limit and home switches are expected. This can lead to configuration complexities or mismatches in behavior if not handled carefully.

Dedicated Inputs for Home and Limit: While PoKeys supports dedicated inputs for home switches, this can limit flexibility when users want to share switches across different axes or have more complex homing configurations. LinuxCNC can sometimes allow more complex logic for homing and limits using HAL, which might not map perfectly to the fixed inputs in PoKeys devices.

4. Best Matching Configuration
The best match for combining LinuxCNC homing configurations with PoKeys homing features is to focus on these areas:

Home Search and Latch Velocities: Use the HomingSpeed and HomingReturnSpeed from PoKeys to map to LinuxCNC’s HOME_SEARCH_VEL and HOME_LATCH_VEL.

Homing Direction: Match LinuxCNC's configuration (HOME_SEARCH_VEL) with PoKeys' HomingDirection to ensure the correct direction is used during homing.

Soft Limits: Ensure that both LinuxCNC and PoKeys use compatible configurations regarding soft limits. If soft limits are enabled in PoKeys (via PK_AC_SOFT_LIMIT_ENABLED), LinuxCNC should also use the equivalent settings for axis limits.

Home Switch Inversion: Ensure that the PoKeys configuration (PK_ASO_SWITCH_INVERT_HOME) matches the expected switch polarity in LinuxCNC, avoiding misinterpretation of the switch state.

Combined Limit and Home Switches: If PoKeys is configured to use combined switches, LinuxCNC’s configuration should reflect this to avoid conflicts between the home and limit switches.

Error and Limit Propagation: Make sure that the limit switch and error states (e.g., PK_PEAxisState_axLIMIT, PK_PEAxisState_axERROR) from PoKeys are properly reflected in LinuxCNC HAL.

5. Recommended Combination
To align PoKeys homing with LinuxCNC, the following combination is recommended:

Use HomingSpeed from PoKeys for LinuxCNC's HOME_SEARCH_VEL.
Use HomingReturnSpeed from PoKeys for LinuxCNC's HOME_LATCH_VEL.
Invert the homing direction in PoKeys with PK_AC_INVERTED_HOME if necessary, matching it with HOME_SEARCH_VEL in LinuxCNC.
Ensure soft limits are enabled in both PoKeys and LinuxCNC.
Handle combined home and limit switches carefully to avoid mismatches in behavior.

By aligning these settings, the homing configuration of PoKeys and LinuxCNC can be well integrated.

I can't help you with as I don't have the hardware. But I can put you on the right track!.
Homing is managed in Linuxcnc by homing.c
github.com/LinuxCNC/linuxcnc/blob/master.../emc/motion/homing.c
Master branch has recently released the homecomp.comp compoonent
linuxcnc.org/docs/devel/html/man/man9/homecomp.9.html
and the source file here github.com/LinuxCNC/linuxcnc/blob/master...onents/homecomp.comp
The purpose of homecomp is to give a method to override homing.c behaviour to build a custom homing behaivour
You should also look at Domminic Braun's ethercat cia402.comp and supporting hal file github.com/dbraun1981/hal-cia402
which predates homecomp and also attempts to deal with hardware which homes externally. He also deals with the conversion of motion units between Linuxcnc and external hardware. Look at how he uses read and write functions. This might be able to be done in halcomp as there are procedures that read all pins and writes all pins.
Your homecomp needs to be able to deal with following errors that will ocur when the extenral drives move without lcnc's knowledge. This can be done by equating the feedback position with current position during external homing.
There are a large number of homing states that can be skipped or ignored when external homing is done so you homecomp basically just needs to initiate homing and wait intil homing is completed ,Tell Linuxcnc you are homed, and then let Linuxcnc continue on.
God luck with this, its complex because in a homecomp, you need to deal with all joints at a time where a component like cia402.comp has a seperate instance of the component for each drive being homed...

To implement the "option homemod" for PoKeys using the provided information from both PoKeysLib and LinuxCNC's motion.h and homing.c files, we need to map PoKeys features to LinuxCNC's homing framework. We will focus on how the PoKeys Pulse Engine v2 (PEv2) can interface with the homing process in LinuxCNC, ensuring that all required signals, pins, and functions are handled correctly.
Here’s a breakdown of the necessary components, features, and the identified gaps that need to be filled for implementing a full homing solution using PoKeys:

PoKeysLib (PEv2) Analysis:
The PoKeys Pulse Engine v2 (PEv2) provides several axis configuration and homing-related functionalities that can be mapped to LinuxCNC’s homing procedures. Below are the key components that are relevant for homing:
PoKeysLib Homing-Related Enums:
enum ePK_PEAxisState {
    PK_PEAxisState_axSTOPPED      =  0,
    PK_PEAxisState_axREADY        =  1,
    PK_PEAxisState_axRUNNING      =  2,
    PK_PEAxisState_axHOMING_RESETTING = 8,
    PK_PEAxisState_axHOMING_BACKING_OFF = 9,
    PK_PEAxisState_axHOME         =  10,       // Axis is homed
    PK_PEAxisState_axHOMINGSTART  =  11,       // Homing procedure is starting
    PK_PEAxisState_axHOMINGSEARCH =  12,       // Homing procedure first step (search)
    PK_PEAxisState_axHOMINGBACK   =  13,       // Fine homing
    PK_PEAxisState_axPROBED       =  14,
    PK_PEAxisState_axERROR        =  20,       // Axis error
    PK_PEAxisState_axLIMIT        =  30        // Axis limit tripped
};

Homing Process in PoKeys:
PoKeys can be configured for various homing procedures, such as:

Homing search (PK_PEAxisState_axHOMINGSEARCH)
Homing back (PK_PEAxisState_axHOMINGBACK)
Homing reset (PK_PEAxisState_axHOMING_RESETTING)

These states are bitmapped in PoKeys and need to be mapped to separate HAL pins for the homing process. For instance:

Homing search can trigger a pin that is linked to the joint’s home switch (joint.N.home-sw-in in HAL).
Homing complete can trigger a signal to set the home flag for the axis.

PoKeys Homing and Limit Switches:
PoKeys supports limit switches, home switches, and probing. These inputs can be configured using:

Switch configurations (ePK_PEv2_AxisSwitchOptions)

PK_ASO_SWITCH_HOME
PK_ASO_SWITCH_LIMIT_N
PK_ASO_SWITCH_LIMIT_P

Polarity inversion for home and limit switches (PK_ASO_SWITCH_INVERT_HOME, PK_ASO_SWITCH_INVERT_LIMIT_N, PK_ASO_SWITCH_INVERT_LIMIT_P).

The switches should be mapped to corresponding HAL signals for homing in LinuxCNC.

LinuxCNC Homing Requirements:
The homing.c and motion.h files from LinuxCNC provide the framework for handling homing operations. To fully integrate PoKeys homing capabilities into LinuxCNC, we need to ensure the following functionality is available:
Homing Logic in LinuxCNC:
In LinuxCNC, homing logic includes:

Searching for the home switch (HOME_SEARCH_VEL)
Stopping on home switch (joint.N.home-sw-in)
Reversing to fine home (HOME_LATCH_VEL)
Setting position once home is detected (joint.N.homed)

The homecomp component manages homing by reading and setting home switch inputs, limit switches, and velocity settings. This must be synchronized with PoKeys’ homing states.
Homing Functionality Requirements:
LinuxCNC requires the following homing-related functions to be implemented:

home_sw_in: Input signal for home switch.
homed: Flag that indicates when the axis is homed.
vel_cmd: Command velocity during homing.
pos_fb: Feedback position.
limit_switch: Inputs for limit switches.

LinuxCNC also allows for custom homing logic using the homecomp component, which can be extended to work with PoKeys.
References:

LinuxCNC Motion API
LinuxCNC Homing Logic

Mapping PoKeys to LinuxCNC Homing:
To implement homing with PoKeys in LinuxCNC, we need to map the PoKeysLib functionality to the LinuxCNC framework as follows:
Required PoKeys Functions and Pointers:

PK_PEv2_AxisConfigurationGet: Retrieve axis configuration, including homing parameters (speed, direction).
PK_PEv2_HomingStart: Start the homing process for a specific axis.
PK_PEv2_HomingFinish: Complete the homing process once the axis is homed.
PK_PEv2_StatusGet: Get the current axis status (whether homing is in progress or complete).
PK_PEv2_AxisState: Check the axis state to determine if homing is finished (PK_PEAxisState_axHOME).
PK_PEv2_AxisSwitchConfig: Configure limit and home switches.
PK_PEv2_AxisSignalOptions: Set polarity of switches.
PK_PEv2_PositionSet: Set axis position once homed.
PK_PEv2_PulseEngineStateSet: Set the pulse engine state (running, stopped, homing).

Pins and Parameters to be Separated:

Home Switch Input (joint.N.home-sw-in)
Limit Switch Inputs (joint.N.neg-lim-sw-in, joint.N.pos-lim-sw-in)
Homing Completion (joint.N.homed)
Axis States (bitmapped, needs to be separated for each state: homing search, homing back, homing complete).

Gaps and Limitations:
Gaps:

Switch Mapping: PoKeys supports combined home and limit switches, while LinuxCNC typically expects separate inputs for home and limit switches. Additional configuration or remapping may be required.
Probing: PoKeys supports probing (PK_PEAxisState_axPROBED), but LinuxCNC’s homing logic does not directly support probing during homing. This could be added as an extension.
Backlash Compensation: PoKeys has built-in backlash compensation, which is not fully mapped to LinuxCNC. This would need to be handled through HAL parameters (BacklashCompensationEnabled, BacklashWidth, etc.).

Limitations:

Soft Limits: PoKeys’ soft limits (PK_AC_SOFT_LIMIT_ENABLED) may not be fully compatible with LinuxCNC’s implementation of soft limits.
Custom Homing Logic: PoKeys’ built-in homing logic may not align perfectly with LinuxCNC’s, especially for machines requiring highly customized homing behavior.

Required Functions and Steps for Implementing PoKeys Homing:
1. Pin Setup and Configuration:

Map home switch inputs to PK_PEv2_AxisSwitchConfig and joint.N.home-sw-in.
Map limit switch inputs to PK_PEv2_AxisSwitchConfig and joint.N.neg-lim-sw-in, joint.N.pos-lim-sw-in.

2. Homing Logic in LinuxCNC:

Use PK_PEv2_HomingStart to initiate homing.
Poll PK_PEv2_AxisState for homing completion (PK_PEAxisState_axHOME).
Use PK_PEv2_PositionSet to set the position once homing is complete.
Monitor PoKeys’ homing status using PK_PEv2_StatusGet to update HAL pins.

3. Custom HAL Component (Optional):

Create a custom HAL component (like pokeys_homecomp.comp) to handle PoKeys’ homing states and map them to LinuxCNC pins.

By aligning PoKeysLib functions with LinuxCNC’s homing requirements, it is possible to create a custom, robust homing solution for PoKeys57CNC in LinuxCNC. The gaps, such as probing during homing or combined limit/home switches, can be addressed with additional custom logic in HAL or the INI configuration.

To implement custom homing functionality using PoKeys57CNC with LinuxCNC, we need to evaluate the homing process as defined in LinuxCNC's homing.c and compare it with the capabilities provided by PoKeysLib's Pulse Engine v2 (PEv2), as defined in PoKeysLib.h.
Key Functionality in homing.c:
The homing.c file in LinuxCNC provides core logic for managing the homing process, including functions such as:

Starting the homing process: Moving the axis towards the home switch.
Monitoring the home switch: Detecting when the axis hits the home switch.
Reversing direction for fine homing: Backing off the home switch for precise positioning.
Setting the axis position: Once the home switch is hit, the axis position is set.
Handling limit switches: Preventing the axis from exceeding defined limits during homing.
Handling homing completion: Indicating that homing has been successfully completed.

Mapping homing.c to PoKeysLib:
The PoKeysLib Pulse Engine v2 (PEv2) provides the following relevant homing-related functions and configurations:

Axis state management: PK_PEv2_StatusGet and PK_PEv2_AxisState track the homing state of the axis.
Homing start and completion: PK_PEv2_HomingStart initiates the homing process, and PK_PEv2_HomingFinish completes it.
Limit and home switches: Configurable via ePK_PEv2_AxisSwitchOptions with options for limit switches (LIMIT_N, LIMIT_P) and home switches (HOME).
Setting axis position: Once homing is complete, PK_PEv2_PositionSet can set the position of the axis.

Comparison of Features:
1. Starting the Homing Process:

LinuxCNC (homing.c): The process begins by commanding the axis to move towards the home switch.
PoKeysLib: The homing process can be initiated using PK_PEv2_HomingStart, which starts the search for the home switch.

Gaps: No gaps here. Both systems have the capability to initiate homing.
2. Monitoring the Home Switch:

LinuxCNC (homing.c): Monitors the home switch pin (joint.N.home-sw-in) during the homing process.
PoKeysLib: PoKeys can monitor home switches via PK_PEv2_AxisSwitchConfig with PK_ASO_SWITCH_HOME. The status can be queried using PK_PEv2_StatusGet.

Gaps: PoKeys uses a bit-mapped axis state (PK_PEv2_AxisState) to track the homing process. This will need to be split into separate pins in LinuxCNC to match the expected inputs.
3. Fine Homing (Reversing Direction):

LinuxCNC (homing.c): After the home switch is detected, the axis reverses for precise positioning.
PoKeysLib: This can be handled by switching the direction using PK_PEv2_AxisSignalOptions and setting the velocity accordingly.

Gaps: PoKeys does not directly expose fine control over the homing process after the home switch is hit. This might require additional custom logic in HAL to implement fine-homing behavior.
4. Setting the Axis Position:

LinuxCNC (homing.c): Once the home switch is hit, the axis position is set using joint.N.homed and the position is stored.
PoKeysLib: After homing is complete, the position can be set using PK_PEv2_PositionSet.

Gaps: No significant gaps here; PoKeysLib can set the axis position after homing is complete.
5. Handling Limit Switches:

LinuxCNC (homing.c): During homing, the axis must not exceed defined limits (checked via limit switch inputs).
PoKeysLib: Limit switches are configured via PK_PEv2_AxisSwitchConfig with options like PK_ASO_SWITCH_LIMIT_N and PK_ASO_SWITCH_LIMIT_P.

Gaps: No significant gaps here. PoKeys can handle limit switches via PK_PEv2_AxisSwitchConfig.
6. Homing Completion:

LinuxCNC (homing.c): Once homing is complete, the axis is marked as homed, and further motion commands can be executed.
PoKeysLib: The axis homing completion is indicated by PK_PEAxisState_axHOME in the PK_PEv2_AxisState.

Gaps: No gaps here. Both systems can indicate when homing is complete.

Identified Gaps:

Fine Homing Control: PoKeys does not natively support a fine-homing procedure after hitting the home switch (like LinuxCNC's back-off homing feature). This may require custom HAL logic.

Axis State Mapping: The axis state in PoKeys is bitmapped, meaning multiple states are combined into one field. In LinuxCNC, these states are often mapped to individual pins. Custom logic will be required to separate these states and map them correctly in HAL.

Soft Limits: PoKeys provides soft limits (PK_AC_SOFT_LIMIT_ENABLED), which may need to be handled separately in LinuxCNC, as soft limits in LinuxCNC are usually handled by the software rather than the hardware.

Backlash Compensation: PoKeys supports backlash compensation, which is not directly handled in LinuxCNC homing logic. If backlash compensation is required, it will need to be mapped to LinuxCNC’s backlash configuration settings.

Required Tasks to Implement homemod Using PoKeysLib:

Map Homing States to HAL Pins:

PoKeys uses a bit-mapped axis state (e.g., PK_PEAxisState_axHOME, PK_PEAxisState_axLIMIT).
These need to be mapped to separate HAL pins (e.g., joint.N.homed, joint.N.pos-lim-sw-in, joint.N.neg-lim-sw-in).

Add Fine Homing Logic:

PoKeys does not natively support fine homing (back-off after the home switch). This will need to be added through HAL logic, controlling the direction and velocity after detecting the home switch.

Map Probing and Backlash Compensation:

Probing (PK_PEAxisState_axPROBED) and backlash compensation need to be mapped to HAL parameters.
This might involve adding additional HAL pins for ProbeStatus, BacklashCompensationEnabled, and related parameters.

Handle Soft Limits in Software:

Soft limits in PoKeys (PK_AC_SOFT_LIMIT_ENABLED) need to be handled by LinuxCNC’s software, ensuring that the axis does not exceed its limits during homing and normal operation.

Add Custom HAL Component for Homing:

A custom HAL component (e.g., pokeys_homecomp.comp) should be created to handle the PoKeys-specific homing logic.
This component will manage the mapping between PoKeys’ bit-mapped states and LinuxCNC’s individual pins.

Test and Validate on Hardware:

The implementation needs to be tested on real hardware, with a focus on ensuring that all homing-related functions (e.g., home switch detection, limit switches, fine homing) work as expected.

Conclusion:
By combining PoKeysLib's homing capabilities with LinuxCNC's homing.c logic, we can create a custom homing implementation that supports most of the required features. The main tasks involve:

Mapping PoKeysLib’s bit-mapped states to individual HAL pins.
Adding custom logic for fine-homing.
Ensuring that soft limits and backlash compensation are handled correctly.

With this approach, the homing process for PoKeys57CNC can be integrated into LinuxCNC and customized to match the machine's requirements.

Homing basically implemented:

when homing i triggered on pokeys_homecomp Signals linked to pokeys.comp Trigger start of homing procedore ob pulseengine
homecomp continues homing procedure according to parametrized homesequence
when homing is finished homef Pin becomes true on corresponding Joint(s)

known Open issues:

Home Offset Not yet considered
synchronized "laste move" Not yet implemented
reset positionvalue to 0 did Not Happen, to BE clarified
Finish homing call of pokeys Had some Problems at the beginning and was disabled ( or Not used) since then

Clarification required If that IS related to Missing finishhoming call to pokeys. ( Prerequisites such AS homingstart Bitmap settings) And If that already does the Last move.


[SPARK-8319] [CORE] [SQL] Update logic related to key orderings in shuffle dependencies

This patch updates two pieces of logic that are related to handling of keyOrderings in ShuffleDependencies:

The Tungsten ShuffleManager falls back to regular SortShuffleManager whenever the shuffle dependency specifies a key ordering, but technically we only need to fall back when an aggregator is also specified. This patch updates the fallback logic to reflect this so that the Tungsten optimizations can apply to more workloads.

The SQL Exchange operator performs defensive copying of shuffle inputs when a key ordering is specified, but this is unnecessary. The copying was added to guard against cases where ExternalSorter would buffer non-serialized records in memory.  When ExternalSorter is configured without an aggregator, it uses the following logic to determine whether to buffer records in a serialized or deserialized format:
  private val useSerializedPairBuffer =
     ordering.isEmpty &&
     conf.getBoolean("spark.shuffle.sort.serializeMapOutputs", true) &&
     ser.supportsRelocationOfSerializedObjects

The newOrdering.isDefined branch in ExternalSorter.needToCopyObjectsBeforeShuffle, removed by this patch, is not necessary:

It was checked even if we weren't using sort-based shuffle, but this was unnecessary because only SortShuffleManager performs map-side sorting.
Map-side sorting during shuffle writing is only performed for shuffles that perform map-side aggregation as part of the shuffle (to see this, look at how SortShuffleWriter constructs ExternalSorter).  Since SQL never pushes aggregation into Spark's shuffle, we can guarantee that both the aggregator and ordering will be empty and Spark SQL always uses serializers that support relocation, so sort-shuffle will use the serialized pair buffer unless the user has explicitly disabled it via the SparkConf feature-flag.  Therefore, I think my optimization in Exchange should be safe.

/cc @yhuai for Exchange-related changes.

Merged build triggered.

Merged build started.

Test build #34738 has started for   PR 6773 at commit 85a4628.

Test build #34738 has finished for   PR 6773 at commit 85a4628.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #34751 has started for   PR 6773 at commit 85a4628.

Test build #34751 has finished for   PR 6773 at commit 85a4628.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

ah, i see. Exchange related part looks good to me.

This patch was pretty tricky to explain, so I've revised the description and have slightly extended the code comments.  I think it should be good-to-go after the next Jenkins run, so I'll merge it unless there are any objections.

Merged build triggered.

Merged build started.

Test build #34830 has started for   PR 6773 at commit 7a14129.

Test build #34830 has finished for   PR 6773 at commit 7a14129.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Alright, I'm going to merge this into master.


Updating LIP5 Wording

Rewording descriptions in LIP5 for clarity and to adhere to writing conventions

@dpim Which of these do you want to keep? Then I can resolve the conflict and merge.
Looking ahead

In the future, we plan to define additional Account Identifier versions to support other forms of identity, such as more compact subaddress formats. These would leverage a similar overall structure but would have a different version identifier, preventing naming collisions.

OR

In the future, we plan to define additional Account Identifier versions to support other forms of identity, such as a more human-readable subaddress format. These would leverage a similar overall structure but would have a different version identifier, preventing naming collisions.

The first one

In the future, we plan to define additional Account Identifier versions to support other forms of identity, such as more compact subaddress formats. These would leverage a similar overall structure but would have a different version identifier, preventing naming collisions.


[question] Can kube-gen be restricted to a namespace?

Currently it seems that kube-gen requires a ClusterRole in order to work. It appears that there aren't any controls for limiting the scope of kube-gen to a specific namespace.
For our use case, we want to run https://github.com/kylemcc/kube-nginx-proxy in certain namespaces, and only generate nginx configurations for services / pods within the same namespace. In this scenario, we would also want to only use namespace scoped roles, not cluster scoped roles.
Is this currently possible? Maybe using environment variables or undocumented flags?

@lhriley That sounds pretty sensible. I wonder if that could be accomplished by scoping the role supplied to kube-gen. I'll experiment with it a bit and report back. In the meantime, I think an easy workaround might be a namespace flag that accepts the names of namespaces to monitor and filters out anything that doesn't match the supplied namespaces.


Where is the "Working & Long-Time Memory" in the code?

It looks just randomly sampled from historical reference frames.
Is it not fully open source yet? Or does this simple strategy work well?
Anyway, thanks for your work.

You might be confusing training with inference. See https://github.com/hkchengrex/XMem/blob/main/inference/memory_manager.py

You're right.
I ignored "We adopt the open-source implementation of STCN without modification" mentioned in the paper. Therefore, the Xmem mechanism is used during inference.
Amazing work, thanks!

That quote is out of context. It is only valid for the static image deformation process. There are a few differences with STCN during training.

Yeah, I see.
I also noticed that you retrained STCN under the same setting as Xmem. Such detailed experiments are rare.
Thumbs up for you!


Reproducible builds: timezone-specific timestamps in PDF

In the Debian bug tracker, we got a request to make the build reproducible. Consider to apply this patch to your code. Many thanks!

Applied in DEV, thanks.


Add data disk management (create, attach, detach)

This PR add methods to handle disk management for both current
backends

Tested and passes test_basic (with some incoming fixes)


AIFH-Vol3-Core not compilable (in VS2012)

Bought the book Vol3 and tried to use the examples. However I cant compile the source-code with VS2012 While getting errors for:
RandomMOdelSelection.cs:
"public IGenerateRandom Random { get; set; } = new MersenneTwisterGenerateRandom();"
ResilientPropagation.cs:
"public double LastError { get; private set; } = 1.0;"
BoltzmannMachine.cs:
"public override double[] LongTermMemory => new double[0];"
Thanks for helping out.
Thomas

I just checked in some changes that will make the code compile in VS2012.  I still want to check out a few more things before closing this issue.  I did not realize I had broken VS2012 comparability, thank you for bringing that to my attention.  Also thank you for buying the book!

Thanks Jeff for the quick fix. Not sure thou whether everthing works as intended.
For instance after trying "LearnDigitsConv", the code goves me no improvements after each iteration on the validation error. Is that inteded for this sample?

Also the "LearnDigitsBackprop" does not converge to something meaningful after those 5 iterations.
Thanks for the great work anyway!

That does not sound right, I am looking into that!

This is related to a similar issue that I've been looking into, see issue #31 for more details.  I am going to close this issue, as comparability with VS2012 has been restored.  I am also going to update the readme files to indiciate that VS2012 is the minimally supported version.


⚠ ClamAV has degraded performance

In 5043db5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 603 ms

Resolved: ClamAV performance has improved in 9fc060a after 7 minutes.


Amend the docs for |disableAutoFetch| to mention that streaming must also be disabled

The fact that disableStream = true is necessary for disableAutoFetch = true to work, is something that I initially overlooked myself (see #5371).
It now appears that users of PDF.js are beginning to facing the same issue, see e.g. https://github.com/mozilla/pdf.js/issues/3811#issuecomment-69908211 and IRC log.
We should perhaps look into if we need to make any code changes to make the current situation clearer, e.g. https://github.com/mozilla/pdf.js/pull/5371#issuecomment-57490530, but in the meantime lets at least add a note about it in the docs.

/botio-linux preview

Trivial. Thanks!


Any recommended injector for the "new" trusted mode?

So, I use rando-injector and VAC-Bypass, I use them on a Windows folder, but still, when I try to play deathmatch says I have something, bla bla bla...
I can only play on community servers.
If someone can say to me how you guys play in the new trusted mode, I would like to thank.
This, 'cause I started playing CS again.

I have something, bla bla bla...
May you be more descriptive?

So, I use rando-injector and VAC-Bypass, I use them on a Windows folder, but still, when I try to play deathmatch says I have something, bla bla bla...
I can only play on community servers.
If someone can say to me how you guys play in the new trusted mode, I would like to thank.
This, 'cause I started playing CS again.

i use extreme injector with manual mapping option + vac bypass (unhooking and reinjecting works only with loadlibrary though)

I have something, bla bla bla...
May you be more descriptive?

It says, I have something injected that block my entry to the servers.

So, I use rando-injector and VAC-Bypass, I use them on a Windows folder, but still, when I try to play deathmatch says I have something, bla bla bla...
I can only play on community servers.
If someone can say to me how you guys play in the new trusted mode, I would like to thank.
This, 'cause I started playing CS again.

i use extreme injector with manual mapping option + vac bypass (unhooking and reinjecting works only with loadlibrary though)

"extreme injector" is too easy to get detected.

but youre using the vac bypass

if youre cheating theres always a risk of getting banned, if you are worried just learn how to make your own manual mapping injector, its the best "vac bypass"

if youre cheating theres always a risk of getting banned, if you are worried just learn how to make your own manual mapping injector, its the best "vac bypass"

The thing is, I'm just asking for a injector that bypasses the trusted mode.

If someone can say to me how you guys play in the new trusted mode, I would like to thank.

What injector you use to bypass the trusted mode?

any manual mapping injector should bypass trusted mode

extreme injector is obviously detected for a long time but i use it with daniel's vac bypass and it works fine (please download it from unknowncheats, google results have a lot of malware)

I used to use rando with osiris until i got a vac, then i changed to sazzinjector and i havent been vac banned since

sazzinjector

hey do you use manual mapping or loadlibrary in sazzinjector

sazzinjector

hey do you use manual mapping or loadlibrary in sazzinjector


Develop the 2016 Solution

Check-List of all the solution that should be coded for the different days of the 2016 edition:

[x] Implement solution for day 1:

[x] Part 1
[x] Part 2

[x] Implement solution for day 2:

[x] Part 1
[x] Part 2

[x] Implement solution for day 3:

[x] Part 1
[x] Part 2

[ ] Implement solution for day 4:

[ ] Part 1
[ ] Part 2

[x] Implement solution for day 5:

[x] Part 1
[x] Part 2

[x] Implement solution for day 6:

[x] Part 1
[x] Part 2

[x] Implement solution for day 7:

[x] Part 1
[x] Part 2

[x] Implement solution for day 8:

[x] Part 1
[x] Part 2

[ ] Implement solution for day 9:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 10:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 11:

[ ] Part 1
[ ] Part 2

[x] Implement solution for day 12:

[x] Part 1
[x] Part 2

[ ] Implement solution for day 13:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 14:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 15:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 16:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 17:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 18:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 19:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 20:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 21:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 22:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 23:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 24:

[ ] Part 1
[ ] Part 2

[ ] Implement solution for day 25:

[ ] Part 1
[ ] Part 2

For days 9, 16 and 19, the first part is developed on my computer. I still need to make part 2 of those problems, comment them and push them.


Http91

Description
Introduce support for bearer tokens.
Resolves HTTP91
PR Checklist

[x] Tests added
[x] Changelog updated

Looking forward to see this merged @davidradl  :)

@kristoffSC sorry I have been busy - I will rebase and merge this week.


Order failed on long side but short side still went through

I notice this in the logs today that I thought might be a bug...
[ 12/22/2017 14:56:00 ]
Bitfinex:    12,018.00 / 12,051.00
GDAX:        12,048.28 / 12,049.25
QuadrigaCX:  11,100.10 / 11,550.00
GDAX/Bitfinex:       -0.26% [target  0.80%, min -7.70%, max  6.26%]   info only
QuadrigaCX/Bitfinex:  4.05% [target  0.80%, min -10.94%, max  4.44%]   trailing  4.36%  1/1
 Looking for a limit price to fill 0.041604 BTC...
 order book: 66.811959@$12,050.00
[ ENTRY FOUND ]
Date & Time:       12/22/2017 14:56:00
Exchange Long:     QuadrigaCX (id 2)
Exchange Short:    Bitfinex (id 0)
Fees:              0.50% / 0.20%
Price Long:        11,550.00 (target)
Price Short:       12,050.00 (target)
Spread:            4.05%
Cash used:         500.00 on each exchange
Exit Target:       2.15%
 Trying to send a "buy" limit order: 0.043290 @ $11,550.00...
 order failed: {"error": {"message": "Incorrect amount 0.043290043290043", "code": 22}}
 Trying to send a "sell" limit order: 0.041604@$12,050.00...
 Done (order ID:<PHONE_NUMBER>)
Waiting for the two orders to be filled...
 Error: failed to get order status for id: Order Failed:[{"id": "Order Failed", "error": {"message": "Cannot perform request - not found", "code": 106}}]
Long order on QuadrigaCX still open...
 Error: failed to get order status for id: Order Failed:[{"id": "Order Failed", "error": {"message": "Cannot perform request - not found", "code": 106}}]
At this point Blackbird is stuck and I had to restart the program. I think Blackbird should have not proceed if the buy order fails.

Looks like this issue have been fixed in https://github.com/butor/blackbird/pull/336


DRM plane support, refactoring, and other changes

This is part of an effort to get atomic modesetting and multi-GPU support for DRM. This PR doesn't do those, but it's laying the groundwork for it.
Instead of just dumping what would probably be 4000+ lines of code when I'm finished, I'm submitting this now to get opinions and make it less daunting to review (though this is still pretty big).
Significant changes
DRM planes
These are hardware-backed rendering surfaces that we can use to efficiently layer different things over the main surface. They currently aren't exposed to users, but they can be used for some optimisations that a compositor might do (e.g. putting a fullscreen client on an overlay plane, so they don't need to discard whatever was drawn under them). They're needed for atomic modesetting.
As a side effect of this, it's allowed me to generalise some of the cursor rendering code.
Upgraded CRTC <-> Encoder matching
We now have a MUCH more complicated way of doing this (it's an NP-complete problem), instead of the greedy/naive method that we were doing before.
Hopefully this will make hotplugging and modesetting work properly for a wider range of hardware.
I would like to know if this actually fixes anything for anyone else (as compared to master currently).
DRM properties
I've written some infrastructure to allow us to easily read/set drm properties. Before, we only needed like 2 properties and we could just if-else-if them, but with atomic modesetting, there are significantly more.
This code is doing some funny tricks with anonymous unions and arrays, but it's all there to get of code duplication.

Weston renders the software cursor in a plane, should we do something similar?

As a side effect of this, it's allowed me to generalise some of the cursor rendering code.

Ah, maybe you have. I will read the code.

Looks good overall. Can you do a pass on style? Make sure you put { on the same line as function defs and always include {} in if statements.

Unfortunately it looks like the cursor rendering code will need to be changed back. I tried this code on my laptop and it seems like (GBM_BO_USE_RENDERING | GBM_BO_USE_CURSOR) isn't guaranteed to be supported.

Actually, I managed to fix it while keeping the common rendering code.
It now creates a separate gbm_bo (with GBM_BO_USE_CURSOR) and then whatever we drew is copied in with glDrawPixels/gbm_bo_map.
It leads to an extra layer of copying, but we can now still use OpenGL and easily be able to rotate things.

Looks good, thanks!


Removed cpu_mem_io dead code.

Removed dead cpu_mem_io code

I left 2 minor comments, otherwise things look good.

Made one more commit. if anyone wants to review and approve the merge.


[Feature Request] Add support for overlapping segments

What feature or change would you like to see made?
Overlapping DICOM SEG segments are currently no loaded with the error message indicating they are not supported in v3. Overlapping segments were supported in v2.
Why should we prioritize this feature?
IDC project is currently using v2, which is able to render overlapping segments. IDC contains data that contains overlapping segments, such as this one: https://viewer.imaging.datacommons.cancer.gov/viewer/<IP_ADDRESS>.4.1.327<IP_ADDRESS>087908186665265759322018723889952421. Unless this feature is implemented, this would be a regression if IDC switches to v3.

@sedghi @rodrigobasilio2022 will discuss a solution to this issue.
A stack viewport is being implemented and might address this issue.

@sedghi link stack segmentation ticket (if we have one)

Per @rodrigobasilio2022 (if I understand correctly), this is blocked by https://github.com/cornerstonejs/cornerstone3D/pull/679.

Yes, the steps are:

Finish this PR #679;
Add overlapping segmentations in a new PR;
Implement the modifications in OHIF;

Related to #3581

On hold because related fix will be published through industry partner project Q1 2024

@james-hanks @igoroctaviano I observe that overlapping segments that are from different segmentations do work. Is this expected - that overlapping segments from different segmentations work, but from the same segmentation do not?
https://viewer.imaging.datacommons.cancer.gov/v3/viewer/?StudyInstanceUIDs=<IP_ADDRESS>.4.1.145<IP_ADDRESS>.6279.6001.191425307197546732281885591780

overlapping segments from different segmentations work, but from the same segmentation do not

Yes, I confirmed the above. Interesting. The examples below can be used to demonstrate this (if you have little kids, you can ask them to play the game of "find differences" - it should be fun!):

v2: https://viewer.imaging.datacommons.cancer.gov/viewer/<IP_ADDRESS>.4.1.327<IP_ADDRESS>961866280433925571019872464419293819

v3: https://viewer.imaging.datacommons.cancer.gov/v3/viewer/?StudyInstanceUIDs=<IP_ADDRESS>.4.1.327<IP_ADDRESS>961866280433925571019872464419293819

I do have to point out that I find it very disturbing that you show incorrect segmentation overlay by cropping overlap areas, and do not give any warning to the user about this. Segmentations are shown as if everything is normal. This is really bad, IMHO. I hope no one is looking at any overlapping segments that are used for patient care using v3!

Yes, if there are separate segmentations they will work fine.

I find it very disturbing that you show incorrect segmentation overlay by cropping overlap areas, and do not give any warning to the user about this. Segmentations are shown as if everything is normal. This is really bad, IMHO. I hope no one is looking at any overlapping segments that are used for patient care using v3!

I thought we show a warning, but tried it now and we don't, hmmmm I will look into this, but I guess your comment is about overlapping segments in one segmentation right?

I'm pretty sure I had that warning, not sure how it is not showing up. I will fix it in the next PR

Just discovered this today (on OHIF demo viewer) that there is still no support for overlapping segments AND there is no any kind of warning that what you see is not what you have. In this particular case, the result is very confusing.
https://viewer.ohif.org/viewer?StudyInstanceUIDs=<IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.298665348758363466150039312520

This is how it should look in reality (shown in v2): https://viewer.imaging.datacommons.cancer.gov/viewer/<IP_ADDRESS>.4.1.145<IP_ADDRESS>.3671.4754.298665348758363466150039312520

On hold because related fix will be published through industry partner project Q1 2024

For the record, it is way past Q1 2024, and this issue is still unresolved.

Is there any update on the timeline for resolving this issue?
This missing feature is one of the biggest obstacles for us in IDC to switching to v3 as the primary viewer and deprecating v2.

Currently, this isn't possible. However, we have just layed the groundwork for the solution in Cornerstone3D 2.0. Once that's complete, the effort required will likely be much less.
https://github.com/cornerstonejs/cornerstone3D/pull/1400

What is very confusing is that it is apparently possible to display overlapping segments that come from different segmentations, but not if overlapping segments are in the same segmentation....
Example: https://viewer.imaging.datacommons.cancer.gov/v3/viewer/?StudyInstanceUIDs=1.2.840.1136<IP_ADDRESS>309775581218325422753197576029670247

What is very confusing is that it is apparently possible to display overlapping segments that come from different segmentations, but not if overlapping segments are in the same segmentation....
Example: https://viewer.imaging.datacommons.cancer.gov/v3/viewer/?StudyInstanceUIDs=1.2.840.1136<IP_ADDRESS>309775581218325422753197576029670247

I think every segmentation has its independent volume in CS3D so segments withing an SEG share the same volume which is the source the problem. @sedghi correct me if I'm wrong.

@fedorov Yes, we can render two segmentations that have different segments that overlap, but overlapping segments as part of one segmentation is not supported.  I guess that would suffice for you to migrate to version 3, until i fix the overlapping segments inside one segmentation and letting brush to perform on them

you can right now detect that they're overlapping segments and create two or three non-overlapping segmentations and then render them all

It's even easier than this - there's an attribute that can be used to indicate whether segments overlap: https://dicom.innolitics.com/ciods/segmentation/segmentation-image/00620013.
In the general case, one would need to double-check, but in IDC we can potentially curate our segmentations to make sure this attribute is accurate for our data.
I guess the question is what is the timeline you think for your original approach? This will help me decide if we should invest into adding the workarounds within the current implementation (and by doing this save on the ongoing effort maintaining v2), or wait for the proper solution.

Unfortunately, I don't think it will happen anytime soon. If it's easy, I can demonstrate how to manage two segmentations for rendering purposes. so we can upgrade IDC to v3.
@igoroctaviano

This is very helpful. Thank you for your advice and transparency on this! We will discuss with Igor to plan the next steps.

Would you welcome such a workaround in v3, or would they need to go into IDC fork?

It is welcomed indeed

As of today, per @pedrokohler, we need to wait for the release of cornerstone3d 2.0, which should be released tomorrow or on Thursday to start working.

@fedorov FYI the first step for a solution has just been merged here https://github.com/cornerstonejs/cornerstone3D/pull/1692
We still have a final step to take and allow the overlapping segs. This work should be done in the next days (maybe couple of weeks, because of the holidays)


Check loopback and link-local multicast endpoints

Previously we just disallowed link-local (unicast).  This disallows loopback
and link-local multicast.
Fixes #10349

Do we need to document why we disallow link-local (it sounds like we're disallowing the other 2 because we really want to disallow link-local)? It might suffice to say they're special, though I think link-local is used by cloud providers to serve metadata, so it might be the one many people try first.

Good point, will push with a new comment.  will add to docs this week.
On Sat, Jul 4, 2015 at 11:02 AM, Prashanth B<EMAIL_ADDRESS>wrote:

Do we need to document why we disallow link-local (it sounds like we're
disallowing the other 2 because we really want to disallow link-local)? It
might suffice to say they're special, though I think link-local is used by
cloud providers to serve metadata, so it might be the one many people try
first.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/pull/10713#issuecomment-118538655
.

@nikhiljindal there's a problem here - swagger is emitting the "advertise address" flag here, but that's going to be different for every person since this PR makes <IP_ADDRESS> an invalid address to advertise.  Thoughts on how hard it would be to emit a different address in swagger files?

need 1.0 triage, I think this is (sadly) out for 1.0 at this point.

Swagger needs to report an address that clients are likely going to be able to reach. We've had multiple bug reports about this. Can we strip out the hostname/address post-generation? @nikhiljindal: would validation and the UI work if we did that?
I'm fine with this change in principle. We need to be sure it ends up in the release notes, since it is a change of behavior.

Needs rebase.

I'm overloaded with API reviews. I need someone else to wrap up the code review.

@nikhiljindal Can we brainstorm some ideas on this?

Hey apologies for the delay in getting to this.
How about passing "advertise-address" flag in update-swagger-spec: https://github.com/GoogleCloudPlatform/kubernetes/blob/master/hack/update-swagger-spec.sh#L52
That ensures that it is the same for everyone?

I updated this with a fixed address for swagger.  It's not worse than before (in that it will still confuse users), but not better either.

Thanks!
The swagger-spec changes LGTM.
@bprashanth to give final LGTM.

LGTM, please file bug or do doc change when you have time

Updating docs now, fair point.

re-pushed with API and services docs updated


remove js sort on string versions

Purpose

remove js sort on string versions to prevent the incorrect ordering of the product version dropdown

@vordimous - Thanks for sending the PR.


Gh 788 entity

Strange test failure at the moment, its the data retention test. The feed name that seems to be saved to the database is missing the _X numbered post fix....still trying to work out why

This should address gh-942 too


[WIP] dont fetch subscriptions

Description

How Has This Been Tested?

Test Impact

Request review criteria:

Self checklist (all need to be checked):

[ ] The developer has manually tested the changes and verified that the changes work
[ ] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[ ] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[ ] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[ ] The developer has tested their solution on a cluster by using the image produced by the PR to main

/close
This was a valid test to avoid the heap issue we were seeing. We are working on a real solution for the issue now.


CI: Fix workflow quotes

During the last month of CI changes a few anomalies have snuck into the main workflow file.
Make quotes uniform.

Can one-ACK merge, CI only.


3-digit line numbers

The 1st digit of a 3-digit line number is cut off.
So, e.g. line number 158 is shown as 58.
Edit:
from the console I have come up with this:
.cm-lineNumbers .cm-gutterElement {
  padding-left: 0 !important;
}

That shows the 3 digit alright, but the number, whether 1, 2 or 3 digits longs, is awfully close to the text.

Uh oh! Let me know if that fixed it :)

I clicked on the “Tentative fix” link above, which takes me to this page. There I clicked on the “Load diff” link, which then opens a page with blue, red and green lines in what seems to be your theme.css file.
Excuse my ignorance, but what am I supposed to do?

Oh I'm sorry; if you update the theme, in this case I suppose download it again (sorry, I haven't submitted to the store yet!), does it work?

I am confused with your themes. I am using newt. Then I thought you had changed the name from newt to Origami, so I raised this issue in the Origami section on Github.
I downloaded the latest Origami, and discovered it is not the same as newt. I don't want Origami, I want newt, and the issue relates to newt. However, I can live with the issue, so please don't feel obliged to fix it.

hi friend, i wanted to make sure you knew that you can find origami in the theme store now :) im really sorry for the confusion, and there is going to be a newt mode/scheme in the future :) does that help?

Thanks for letting me know Origami is in the theme store, I had picked that up. Unfortunately, it is not my cup of tea, so I'll wait for Newt.


Feature Request: Teacher dashboard course list endpoint

Feature Request: Teacher dashboard course list endpoint
In the teacher dashboard we're listing "courses" on two pages:

users courses page
organization courses page

Endpoint Data for one course:
  id: string;
  code: string;
  title: string;
  course_runs: <CourseRun>: {
    end: string;
    enrollment_end: string;
    enrollment_start: string;
    id: string;
    resource_link: string;
    start: string;
    state: <CourseState>: {
        priority: <Priority>:ONGOING_OPEN | FUTURE_OPEN | ARCHIVED_OPEN | FUTURE_NOT_YET_OPEN | FUTURE_CLOSED | ONGOING_CLOSED | ARCHIVED_CLOSED | TO_BE_SCHEDULED;
        datetime: string;
        call_to_action: <StateCTA>: 'closing on' | 'starting on' | 'enrollment closed' | 'on-going' | 'archived' | 'to be scheduled';
        text: <StateText>: 'enroll now' | 'study now' | undefined;;
    };
    title: string;
  },
  absolute_url: string;
  organization: <Organization>: {
    id: string;
    code: string;
    title: string;
    logo: {
        filename: string;
        url: string;
        height: number;
        width: number;
    };
  }
  cover_image: {
    filename: string;
    url: string;
    height: number;
    width: number;
  };
  icon:{
    color: string;
    filename: string;
    url: string;
    height: number;
    width: number;
    title: string;
  };
  state: <CourseState>: {
    priority: <Priority>:ONGOING_OPEN | FUTURE_OPEN | ARCHIVED_OPEN | FUTURE_NOT_YET_OPEN | FUTURE_CLOSED | ONGOING_CLOSED | ARCHIVED_CLOSED | TO_BE_SCHEDULED;
    datetime: string;
    call_to_action: <StateCTA>: 'closing on' | 'starting on' | 'enrollment closed' | 'on-going' | 'archived' | 'to be scheduled';
    text: <StateText>: 'enroll now' | 'study now' | undefined;;
  };

Endpoint filters
User courses list
Filter on:

current user
course status: incoming, ongoing, archived
course type: in french:

Session
Micro certification
Blocs de compétences
DIU : Diplome Inter-Universitaire
DN : Diplôme National
etc

Organization courses list
Same as user course list but filtered for one organization.

wrong place, this feature request have been moved to joanie.


Add support for TextField errorMessage prop

Thanks for a great lib!
This PR adds support for an errorMessage property on the TextField component to show an error message when the text field input does not match given pattern (see MDL TextField docs).

Awesome PR! Don't worry about the build error, that's my bad (phantomjs 2 update, will fix post-merge). Cheers!


Unhandled Rejection (TypeError): r.toJS is not a function

Related article form contains the relational widget and after a few seconds complete pages goes to the error screen (as above)
"netlify-cms": "^2.10.55",
"netlify-cms-app": "^2.12.19",

Hi @krzysiekhum, can you please fill in the missing information from the issue template:
https://github.com/netlify/netlify-cms/issues/new?template=bug_report.md


Sprint 2 - refactorization

More details to add here.
Please refer to #10 for a general outline of the goals of this sprint.

The linter is in place to stop me from bad styling... 😅  Nice job!

@profRic This PR is good to demo now, though it requires additional setup to build. We may discuss before meeting with clients.

A brief line count of Sprint 2
      35 ./Models/Game/Game.swift
      21 ./Models/Game/GameGroup.swift
      14 ./Models/Game/PlayersQueue.swift
      78 ./Models/Game/GameStore.swift
      20 ./Models/Game/GameOfGroup.swift
     126 ./Models/Question/QuestionStepsModel.swift
      30 ./Models/Question/QuestionType.swift
      47 ./Models/Question/Questionnaire.swift
     128 ./Models/Chatroom/Message.swift
      50 ./Models/Chatroom/Chatroom.swift
      18 ./Models/Chatroom/ChatUser.swift
      16 ./Models/Genders.swift
      13 ./Models/LocalErrors.swift
      66 ./Models/Profiles.swift
      19 ./Models/Player.swift
      24 ./Models/Onboarding/OnboardingStateManager.swift
     135 ./Models/Onboarding/OnboardingSteps.swift
      28 ./Extensions/String+sha256.swift
      19 ./Extensions/UIColor.swift
      23 ./Extensions/UICollectionView.swift
      29 ./Extensions/UIImage.swift
      36 ./Extensions/UIViewController.swift
     358 ./Supporting Files/PopulateGames.swift
      43 ./AppDelegate.swift
     395 ./Controllers/Home/ChatViewController.swift
     134 ./Controllers/Home/HomeCollectionViewController.swift
     219 ./Controllers/Home/MatchingViewController.swift
     103 ./Controllers/Home/GameViewController.swift
      81 ./Controllers/RootTabBarController.swift
      27 ./Controllers/Custom steps/ResourceWebStep.swift
      64 ./Controllers/Custom steps/ResourceWebStepViewController.swift
     106 ./Controllers/OnboardingViewController.swift
      45 ./Controllers/Profile/DemographicsViewController.swift
      62 ./Controllers/Profile/ProfileViewController.swift
      16 ./Controllers/RoadmapViewController.swift
      22 ./Views/ProfileHeaderView.swift
      22 ./Views/GameCollectionCell.swift
      11 ./Protocols/DatabaseRepresentation.swift
      56 ./SceneDelegate.swift
    2739 total


Feature/samples

Codecov Report

Merging #22 into develop will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           develop    #22   +/-   ##
======================================
  Coverage      100%   100%
======================================
  Files            8      8
  Lines          354    354
  Branches         9      9
======================================
  Hits           354    354

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 5d12c1c...2b0ea16. Read the comment docs.