Flutter integration advice?

First of @emilieroberts thank you so much for releasing this!
I would like to use this for a v2 rewrite I am doing of my very old-in-the-tooth Sketch Notes app.
I'm doing the new version in Flutter, so I guess I'll be building a Flutter plugin for this unless someone else has already done so?
I'm guessing that using the OpenGL api will be the best approach as I think that Flutter already uses this for other "hot path" Android integrations like camera viewfinder video feed and I have myself used  the approach documented here on a past project showing a opengl visualisation written in c++ inside a Flutter app.
But I'm definitely no expert in this so any guidance on the best way to approach exposing this to Flutter would be most appreciated.

Hello! Thanks for the interest in the library. A Flutter integration sounds great, though I am not an expert with it (I've used it but not to write my own plug-in with GL bindings!)
One potential pitfall is the this library is quite Kotlin/Java heavy. You could create the surfaces in Kotlin/Java, then get an ANativeWindow handle for them, but I worry that you might get into a bunch of C++<->Java hops that would slow things down. And then Flutter on top of that.
However, if it's possible with this version, it'd be great! Have you started exploring?


Forum search expires the cache for no good reason

I'm trying to search for a spammer that joined today:

I click on the first match. Not him. So I hit "back arrow" to get the list again. But no:

Why? What is so sensitive about a list of forum users, that I can't just go back one page in my browser, and check another one?
This is just adding effort to an already difficult job.

It's a security measure that browser use: when there is a form, clicking on the back button doesn't execute the form again, in order to prevent unfortunate events like double bookings or double credit card charges.
I recommend opening links in other tab of the browser in order to avoid this kind of incidents.

Not always. It's not consistent. Go into your forum profile (the one where your time zone is). Hit "Change Profile". That sends the form. Now use the back button. I get the previous form back without any such error message.
However I don't seem to be able to reproduce the report right now. :)


Doc: fix grammar error and typo

Please answer these questions before submitting pull request

Why submit this pull request?

[ ] Bug fix

[ ] New feature provided

[ ] Improve performance

[x] Enhancement

Related issues

Bug fix

Bug description.

How to fix?

New feature or improvement

Describe the details and related test reports.

Coverage remained the same at 15.41% when pulling 55c02a63abf1ec5da060d55bda87403531fa62ba on kezhenxu94:doc/fix into 8c1b816d1e88f26d00af5d0d6b38a53dd6345cbf on apache:master.


ValueError: not enough values to unpack (expected 1, got 0)

Traceback (most recent call last):
File "C:\ComfyUI\nodes.py", line 1887, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes_init.py", line 26, in
check_requirements_installed(requirements_path)
File "C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes_init_.py", line 11, in check_requirements_installed
requirements = [pkg_resources.Requirement.parse(line.strip()) for line in f if line.strip()]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes_init_.py", line 11, in
requirements = [pkg_resources.Requirement.parse(line.strip()) for line in f if line.strip()]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\ComfyUI.venv\Lib\site-packages\pkg_resources_init_.py", line 3190, in parse
(req,) = parse_requirements(s)
^^^^^^
ValueError: not enough values to unpack (expected 1, got 0)
Cannot import C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes module for custom nodes: not enough values to unpack (expected 1, got 0)
win11
python 3.11.7
how to fix this?

seems like a file path issue, it cannot detect the content in requirements.txt inside ComfyUI_VLM_nodes i think.
i need to add some error handling for this.
import importlib.util
import os
import importlib
import pkg_resources
import sys
import subprocess

def check_requirements_installed(requirements_path):
    # Check if the requirements file exists
    if not os.path.exists(requirements_path):
        print(f"Requirements file does not exist: {requirements_path}")
        return

    try:
        with open(requirements_path, 'r') as f:
            lines = [line.strip() for line in f if line.strip()]
            if not lines:
                print("Requirements file is empty.")
                return

            requirements = [pkg_resources.Requirement.parse(line) for line in lines]
    except ValueError as e:
        print(f"Error parsing requirements file: {e}")
        return
    except Exception as e:
        print(f"An error occurred while reading the requirements file: {e}")
        return

    installed_packages = {pkg.key: pkg for pkg in pkg_resources.working_set}
    missing_packages = []
    for requirement in requirements:
        if requirement.key not in installed_packages or not installed_packages[requirement.key] in requirement:
            missing_packages.append(str(requirement))

    if missing_packages:
        print(f"Missing or outdated packages: {', '.join(missing_packages)}")
        print("Installing/Updating missing packages...")
        subprocess.check_call([sys.executable, '-s', '-m', 'pip', 'install', *missing_packages])
    else:
        print("All packages from requirements.txt are installed and up to date.")

can you change the check_requirements_installed function with this inside __init__.py in VLM_nodes

seems like a file path issue, it cannot detect the content in requirements.txt inside ComfyUI_VLM_nodes i think.
i need to add some error handling for this.
import importlib.util
import os
import importlib
import pkg_resources
import sys
import subprocess

def check_requirements_installed(requirements_path):
    # Check if the requirements file exists
    if not os.path.exists(requirements_path):
        print(f"Requirements file does not exist: {requirements_path}")
        return

    try:
        with open(requirements_path, 'r') as f:
            lines = [line.strip() for line in f if line.strip()]
            if not lines:
                print("Requirements file is empty.")
                return

            requirements = [pkg_resources.Requirement.parse(line) for line in lines]
    except ValueError as e:
        print(f"Error parsing requirements file: {e}")
        return
    except Exception as e:
        print(f"An error occurred while reading the requirements file: {e}")
        return

    installed_packages = {pkg.key: pkg for pkg in pkg_resources.working_set}
    missing_packages = []
    for requirement in requirements:
        if requirement.key not in installed_packages or not installed_packages[requirement.key] in requirement:
            missing_packages.append(str(requirement))

    if missing_packages:
        print(f"Missing or outdated packages: {', '.join(missing_packages)}")
        print("Installing/Updating missing packages...")
        subprocess.check_call([sys.executable, '-s', '-m', 'pip', 'install', *missing_packages])
    else:
        print("All packages from requirements.txt are installed and up to date.")

can you change the check_requirements_installed function with this inside __init__.py in VLM_nodes

this lines up to 24

errror message chaged.
Error parsing requirements file: not enough values to unpack (expected 1, got 0)
llama-cpp installed
All packages from requirements.txt are installed and up to date.
AutoGPTQ installed
Traceback (most recent call last):
File "C:\ComfyUI\nodes.py", line 1887, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes_init.py", line 69, in
imported_module = importlib.import_module(f".nodes.{module_name}", name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\doggi\AppData\Local\Programs\Python\Python311\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in find_and_load_unlocked
File "", line 690, in load_unlocked
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes\nodes\internlm.py", line 8, in
import torch, auto_gptq
File "C:\ComfyUI.venv\Lib\site-packages\auto_gptq_init.py", line 1, in
from .modeling import AutoGPTQForCausalLM, BaseQuantizeConfig
File "C:\ComfyUI.venv\Lib\site-packages\auto_gptq\modeling_init.py", line 1, in
from .base import BaseQuantizeConfig
File "C:\ComfyUI.venv\Lib\site-packages\auto_gptq\modeling_base.py", line 33, in
from ..utils.data_utils import collate_data
File "C:\ComfyUI.venv\Lib\site-packages\auto_gptq\utils_init.py", line 1, in
from .perplexity_utils import Perplexity
File "C:\ComfyUI.venv\Lib\site-packages\auto_gptq\utils\perplexity_utils.py", line 5, in
from datasets import load_dataset
ImportError: cannot import name 'load_dataset' from 'datasets' (C:\ComfyUI\custom_nodes\ComfyUI_OOTDiffusion_CXH\preprocess\humanparsing\datasets_init.py)
Cannot import C:\ComfyUI\custom_nodes\ComfyUI_VLM_nodes module for custom nodes: cannot import name 'load_dataset' from 'datasets' (C:\ComfyUI\custom_nodes\ComfyUI_OOTDiffusion_CXH\preprocess\humanparsing\datasets_init_.py)

i think the ComfyUI_OOTDiffusion_CXH nodes has some conflicts with my nodes

i think the ComfyUI_OOTDiffusion_CXH nodes has some conflicts with my nodes

yes. fixed. thank you.


enable configurable reducer count in topByKey()

What changes were proposed in this pull request?
in the topByKey() call, provide a configurable partition count. without this, currently topByKey() results in only 16 reducers even if you have a 100GB input size
How was this patch tested?
use existing unit tests
Please review http://spark.apache.org/contributing.html before opening a pull request.

Can one of the admins verify this patch?

It looks like a non-trivial change that needs a JIRA. Could you check ttp://spark.apache.org/contributing.html out and make a JIRA?

Test build #3667 has started for PR 17697 at commit 09d6643.

Test build #3667 has finished for PR 17697 at commit 09d6643.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Jira created: https://issues.apache.org/jira/browse/SPARK-20414

@yangyangyyy update the title please. There's no detail in the JIRA either?

@srowen sorry typed 'ENTER' too early. added details in JIRA.
which title do you mean? this PR title? (I did put down title in the jira)

Put the JIRA number in this title. See the contributing guide or any other PR

btw @srowen  when I run either the current version or the patched version of the topByKey(), I get the mappers running almost 99% of the time in kyro serialization, do you have any ideas why ? the tasks run for 10minutes for only a 50MB input, due to the kyro cost

@HyukjinKwon
@srowen
team: anything I need to update, or does this look good to go now? thanks a lot

friendly ping .....

@HyukjinKwon  @srowen

I left some comments here though, I think I am not confident enough for a sign-off. Please let me defer to @srowen and @tejasapatil

@HyukjinKwon  thanks, updated accordingly

Can one of the admins verify this patch?

Test build #4184 has started for PR 17697 at commit 29f9fbd.

Test build #4184 has finished for PR 17697 at commit 29f9fbd.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Test build #4186 has started for PR 17697 at commit 29f9fbd.

Test build #4186 has finished for PR 17697 at commit 29f9fbd.

This patch fails PySpark unit tests.
This patch does not merge cleanly.
This patch adds no public classes.

Can one of the admins verify this patch?


How do i make a custom death animation on 0.7.1h

Describe your problem here.
i try to use the classic:
function onCreate()
setPropertyFromClass('GameOverSubstate', 'characterName', 'bf-dead'); --Character json file for the death animation
setPropertyFromClass('GameOverSubstate', 'deathSoundName', 'fnf_loss_sfx'); --put in mods/sounds/
setPropertyFromClass('GameOverSubstate', 'loopSoundName', 'gameOver'); --put in assets/shared/music/
setPropertyFromClass('GameOverSubstate', 'endSoundName', 'gameOverEnd'); --put in assets/shared/music/
end
and it doesn't work, what can i do?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Nope

In the chart editor, go to the "Data" tab, it works exactly the same as the script.

Change GameOverSubstate to substate.GameOverSubstate


Support partitioned topics in the Reader

Fixes #3643 #7265
Motivation
Support partitioned topics in the Reader
Modifications
class relationship：
PulsarClientImpl -> MultiTopicsReaderImpl -> MultiTopicsConsumerImpl -> ConsumerImpl
PulsarClientImpl support build MultiTopicsReader
MultiTopicsReader wraps one MultiTopicsConsumerImpl
MultiTopicsConsumerImpl contains multiple consumerImpl
Make MultiTopicsConsumerImpl support seek by messageId
seek by time:
All consumerImpl seek by time, Reader can get all the messages returned by each partition
seek by message：
1）When seek by latest/earliest,all partitions seek by latest/earliest,Reader can get all the messages returned by each partition
2）When the messageId contains explicit partition information, it will only receive messages from this partition, and will not receive messages from other partitions.To avoid other partitions returning messages in inclusive mode, I make other consumer seek to latest and add a ignoredConsumersSet to ignore messages from other partitions .
Verifying this change
unit tests:
TopicReaderTest
MultiTopicsReaderTest
Does this pull request potentially affect one of the following parts:
If yes was chosen, please highlight the changes

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API: (yes / no)
The schema: (yes / no / don't know)
The default values of configurations: (yes / no)
The wire protocol: (yes / no)
The rest endpoints: (yes / no)
The admin cli options: (yes / no)
Anything that affects deployment: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

Any progress on this? :)

@sollecitom : @jiazhai @codelipenghui will review this pull request today

/pulsarbot run-failure-checks

There are still some details of this requirement that need to be discussed:
Suppose there is a partitioned topic that contains 3 partitions.

If a MessageId belongs to partition-1, when the reader sets startMessageId, how should the messages of the other two partitions be processed? earliest, latest...?
If the user first seeks (earliest) and then seeks a certain MessageId, how should the messages of the other two partitions be processed? Forbid the other 2 partitions to return messages? Or continue to let the other 2 partitions return messages?

Thanks for @codelipenghui 's suggestion:
In this PR, for MultiTopicReader, we only support seek earliest and latest , and do not support seek with a specific MessageId

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

/pulsarbot run-failure-checks

Seeking to a specific MessageId seems to be mandatory though. How should one resume reading otherwise?

@slinstaedt We will support the reader to seek to the earliest position or the latest position first. Seek to a specific position is confusing in the partitioned reader, we can try to support later since there is not a good idea yet.

@sijie @jiazhai Please help review this PR, thanks.

@315157973 Can you rebase it to the latest master?

/pulsarbot run-failure-checks


Enable IP Blocking tests for Python

Description
Enable IP Blocking tests for Python from 1.10 (already released so this can be merged).
Workflow

⚠⚠ Create your PR as draft (we're receiving lot of PR, it saves us lot of time) ⚠⚠
Follows the style guidelines of this project (See how to easily lint the code)
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

NOTE:  By default in PR only default scenario tests will be launched. Please refer to the documentation to run all scenarios in your PR if needed.

Once your PR is reviewed, you can merge it ! :heart:

@cbeauchesne working now


Inconsistency on fetching relationships

In the specification under "Fetching Data", it states that fetching relationships MUST support
GET /articles/1/author HTTP/1.1
Accept: application/vnd.api+json

Immediately after, under "Fetching Resources", it states MUST support
GET /articles/1/relationships/author HTTP/1.1
Accept: application/vnd.api+json

However there is no guidance as to what, if anything, is different about these two calls, or when one would be used as opposed to the other.

So just for clarity, using the data from http://jsonapi.org/format/#document-compound-documents
GET /articles/1/author
Returns either the same data as .included[0] (the primary resource, same as /people/9),
{
  "data":  {
    "type": "people",
    "id": "9",
    "attributes": {
      "first-name": "Dan",
      "last-name": "Gebhardt",
      "twitter": "dgeb"
    },
    "links": {
      "self": "http://example.com/people/9"
    }
}

Or the primary resource in the context of the article (links.self == request URL) but still the same data as .included[0],
{
  "data":  {
    "type": "people",
    "id": "9",
    "attributes": {
      "first-name": "Dan",
      "last-name": "Gebhardt",
      "twitter": "dgeb"
    },
    "links": {
      "self": "http://example.com/articles/1/author"
    }
}

Or is there no equivalence at all between them, i.e.
GET /articles/1/author
  (is not the same as)
GET /authors/1
  (when /authors/1 is the author of /articles/1)

and
GET /articles/1/relationships/author
   ~~> .links.related ~~> GET
  (is not the same as)
GET /articles/1/relationships/author
  ~~> GET /.data.type/.data.id

Thanks
Darren

A resource's serializer generally doesn't have any information about the context in which it's being serialized (at least not in the serializers I've worked with), so it should always generate the same payload (or relevant portion thereof), whether it's included or gotten at through a related link, self link, or type and ID.

ok thanks


Issue loading multiple records VB file

Hi,
We are facing an issue when reading a multiple records variable length file. The dataframe is only getting loaded with first record. Please find below details:
Copybook:
   01 DEPARTMENTS.
       05 DEPT                     PIC X(07).
       05 SUITE                    PIC X(03).
       05 EXTENSION                PIC X(04).
       05 EMPLOYEES                PIC 9(01).
       05 PERSON                   OCCURS 0 TO 10 TIMES
                                   DEPENDING ON EMPLOYEES.
        10 NAME                     PIC X(10).
        10 WAGE                     PIC 9(01).9(02).
       05 DEPT-ID                  PIC 9(06).

Sample file:
3500Sales  01A23521S. Sen    2.99889900
4900Support01B12252J. Halpert5.90A.Martin  5.95112233
The dataframes are loading as below:
scala> df4.show(false)
+-----------------------------------------------+
|DEPARTMENTS                                    |
+-----------------------------------------------+
|[Sales, 01A, 2352, 1, [[S. Sen, 2.99]], 889900]|
+-----------------------------------------------+
where as when we interchange the positions of records, we are seeing df like below:
scala> df3.show(false)
+-----------------------------------------------------------------------+
|DEPARTMENTS                                                            |
+-----------------------------------------------------------------------+
|[Support, 01B, 1225, 2, [[J. Halpert, 5.90], [A.Martin, 5.95]], 112233]|
+-----------------------------------------------------------------------+
Can you help what are we doing wrong and how to read all the records from the file.
Thanks and regards
Subhankar

Hi, please attach the example copybook, the data file and provide the exact statement that you use for loading the data (e.g. spark.read...).

12326a4c756fe42a5ae0b3e4482da8df.zip
Hi ,
Please find attached copybook and vb file. The statement used is as below:
scala> val df = spark.read.format("cobol").option("copybook","file://").option("is_record_sequence","true").option("variable_size_occurs","true").load("")
Thanks
Subhankar

To read a variable record length file in Cobrix you need to have either a fields that contains record length for each record, or (preferred) RWD headers for each record.
The input file that you have provided does not contain valid RDWs. RDW is a binary 4 byte field. Your records also start with a 4 byte fields, but they are definitely not binary:

I think in this case the first record was successfully parsed purely by chance. Cobrix inpertreted the first field as an RDW header that has a very large value. Since the value is larger than the file size, the record was truncated to the file size. So the whole file was parsed as a single record.
More on RDWs here: https://www.ibm.com/support/knowledgecenter/en/SSB27U_7.1.0/com.ibm.zvm.v710.dmsa5/dup0009.htm
Alternatively, if you want to parse this file using the fields that you have (provided 3500 and 4900 are related to record size), you can use a custom record header parser. More on in in README and the project has an example usage of a custom record header parser in /examples.

Hi,
Could you please provide the code snippet for the example scenario given in the case.
We tried to create the custom class but we are getting error as below:
IllegalStateException: Custom RDW headers should never be zero (-13,-11,-16,-16) at file offset 4.
We defined record length in the getRecordMetadata() method as
val recordLength = header(1).toInt + 10*(header(0).toInt)
RecordMetadata(recordLength, isValid=true)
Thanks
Subhankar

The idea behind an RDW is that every record begins with a fixed-length header that specifies the size of the record. Usually, RDWs are 4 byte headers where two bytes are zero and two other bytes specify record size. Your case is different, however, since the numeric field at the beginning of each record is not binary.
In order to use a custom record header parser, we need to understand how header fields correspond to record sizes. Specifically, what is the meaning of '3500' and '4900' in your case?

Among the first four positions of each record in the file,  first two positions denote the record length in integer format, meaning, first two positions i.e 35 denotes 35 is the length of 1st record. The rest two positions have no significance and is hence 0 and 0.
Similarly for second record, 49 is the length of entire second record.
These lengths are excluding first 4 header positions.

Cool, will try to come up with a code snippet for you.
Will try to use a record length field first. If that doesn't work, will use a custom record header parser.

It seems that a custom record header parser is unnecessary. You can just add the record length field to the copybook. The difference between the value in the record length field and the actual record size is actually 5 (determined by looking at the size of actual records).
Here is a new copybook (notice REC-LEN and the FILLER):
       01 DEPARTMENTS.
           05 REC-LEN                  PIC 9(02).
           05 FILLER                   PIC X(02).
           05 DEPT                     PIC X(07).
           05 SUITE                    PIC X(03).
           05 EXTENSION                PIC X(04).
           05 EMPLOYEES                PIC 9(01).
           05 PERSON                   OCCURS 0 TO 10 TIMES
                                       DEPENDING ON EMPLOYEES.
            10 NAME                     PIC X(10).
            10 WAGE                     PIC 9(01).9(02).
           05 DEPT-ID                  PIC 9(06).

Here is a code snippet to load the file:
    val df = spark
      .read
      .format("cobol")
      .option("copybook", "vb_copy2.txt")
      .option("schema_retention_policy", "collapse_root")
      .option("record_length_field", "REC-LEN")
      .option("rdw_adjustment", 5)
      .load("vb_file23.txt")

Here is the output:
+-------+-------+-----+---------+---------+--------------------------------------+-------+
|REC_LEN|DEPT   |SUITE|EXTENSION|EMPLOYEES|PERSON                                |DEPT_ID|
+-------+-------+-----+---------+---------+--------------------------------------+-------+
|35     |Sales  |01A  |2352     |1        |[[S. Sen, 2.99]]                      |null   |
|49     |Support|01B  |1225     |2        |[[J. Halpert, 5.90], [A.Martin, 5.95]]|null   |
+-------+-------+-----+---------+---------+--------------------------------------+-------+

Hi,
Thankyou for helping us use the right option.  We are able to parse multiple records from the file now.
We are closing the issue.
Thanks
Subhankar


The virtual network connection that has the NVA BGP connection endpoint must always be associated and propagating to defaultRouteTable.

The document states the following:  _The virtual network connection that has the NVA BGP connection endpoint must always be associated and propagating to defaultRouteTable. Custom route tables are not supported at this time.
My questions is: Is the default label on the default route table supported? The document doesn't explicitly state that.

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

ID: 9205b7a3-51f0-70fb-5125-97fba938f421
Version Independent ID: e9d061eb-38a3-808f-a11c-4246289a64c3
Content: About BGP peering with a virtual hub - Azure Virtual WAN
Content Source: articles/virtual-wan/scenario-bgp-peering-hub.md
Service: virtual-wan
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@georgeollis
Thanks for your feedback! We will investigate and update as appropriate.

@georgeollis
Thank you for the feedback. Your observation is correct. The Default Route Table has a built-in label called 'Default'. When users propagate connection routes to 'Default' label, it automatically applies to all the Default Route Tables across every hub in the Virtual WAN.
This is currently documented here.
Hope this helps! Please tag me in your response if you have any additional questions. Thank you!

@ChaitanyaNaykodi-MSFT - is it possible to update the BGP peer docs to state that?


[GP-TI]TypeError: Cannot read property 'toString' of<EMAIL_ADDRESS>

Hello,
When the next frame is received, the EnOcean-in node will stop and will no longer receive data.
Is there any way around it?
---data----
GP_TI （Teach-In):
rawByte: "a52f05601204ad01604293001641419800132bc053c0534617d813c1459600164143d8001644c053c053c056cf013fa855002c020a"
node-red-node-serialport: Receive Data
---syslog----
Nov 12 05:23:58 armadillo Node-RED[1423]: (node:1441) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toString' of undefined
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser. (/root/nodered/node_modules/node-red-contrib-enocean/nodes/enocean-in.js:37:29)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.emit (events.js:315:20)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.EventEmitter.emit (domain.js:486:12)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at addChunk (_stream_readable.js:309:12)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at readableAddChunk (_stream_readable.js:284:9)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.Readable.push (_stream_readable.js:223:10)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.Transform.push (_stream_transform.js:166:32)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser._transform (/root/nodered/node_modules/@enocean-js/serialport-parser/src/serialport-parser.js:91:16)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.Transform._read (_stream_transform.js:205:10)
Nov 12 05:23:58 armadillo Node-RED[1423]:     at ESP3Parser.Transform._write (_stream_transform.js:193:12)
Nov 12 05:23:58 armadillo Node-RED[1423]: (node:1441) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

looking into this...

"a52f05601204ad01604293001641419800132bc053c0534617d813c1459600164143d8001644c053c053c056cf013fa855002c020a"
this is not an enocean telegram... testing the parser against this bytestream leads to the parser ignoring it...
what are you using node-red-node-serialport for?
the enocean in node comes with its own serialport library. do not share serial ports across multiple config nodes.

Hi,
This data was received using EnOcean Long Range (LPWA).
I have received the data I want correctly.
I'm looking for a way to ignore the data that Node gets stuck in. ..
One serial port is not referenced by multiple Nodes.

which device exactly do you use? can link to or post a datasheet

I couldn't find the exact one, but I found the data sheet for the successor EMOT200LH.
https://www.enocean.com/jp/products/dolphin_long_range/emot-200lh/
We are using EMOT100.
It is believed that the data in question is being sent by the teach-in data that is emitted when the sensor is connected with a long-range transmitter called SX-95EV101 / NSOS-100.
I'm sorry, but the datasheet was not found.


Multiple typos in README.md

The README.md consists of multiple typos.

Hi.
I saw your PR. Tnx again.


Instance of global service not able to connect to instance of other service

Description
I have a global service deployed on a Docker SwarmKit cluster, all of a sudden an instance of the global service stops being able to access a specific container on another node.
The instance of the global service can access containers on other nodes, and the other instances of the global service can access the specific instance that's not accessible.
The instance of the global service can also access other containers on the same node where the unaccessible container is.
All three nodes in this cluster are managers.
Steps to reproduce the issue:

Enter the affected container with docker exec -it <ID> /bin/sh
Run nslookup tasks.<servicename>
Connect to each real IP one by one with curl <IP>
Connection times out when you reach a specific instance.

Describe the results you received:
# curl <IP_ADDRESS>
curl: (7) Failed to connect to <IP_ADDRESS> port 80: Operation timed out

Describe the results you expected:
# curl <IP_ADDRESS>
<website data>

Additional information you deem important (e.g. issue happens only occasionally):
The issue happens occasionally, but once it happens I have to restart the unreachable container. Restarting the instance of the global service doesn't do anything.
Output of docker version:
Client:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.3
 API version:  1.24
 Go version:   go1.6.3
 Git commit:   6b644ec
 Built:        Wed Oct 26 22:01:48 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 17
 Running: 5
 Paused: 0
 Stopped: 12
Images: 9
Server Version: 1.12.3
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 73
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge null overlay host
Swarm: active
 NodeID: 04fskwcb5p93m448s03pbelvd
 Is Manager: true
 ClusterID: d2l1ktp0920uyqey500caiezj
 Managers: 3
 Nodes: 3
 Orchestration:
  Task History Retention Limit: 5
 Raft:
  Snapshot Interval: 10000
  Heartbeat Tick: 1
  Election Tick: 3
 Dispatcher:
  Heartbeat Period: 5 seconds
 CA Configuration:
  Expiry Duration: 3 months
 Node Address: <IP_ADDRESS>
Runtimes: runc
Default Runtime: runc
Security Options: apparmor seccomp
Kernel Version: 4.4.0-45-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 2
Total Memory: 6.804 GiB
Name: prodmgr1
ID: SJG2:QO7A:DNZ6:LXBE:AC3M:45HR:TWR6:YNCQ:4Q66:62DE:KXZK:WLDN
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Username: econdockerplayground
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Insecure Registries:
 <IP_ADDRESS>/8

Additional environment details (AWS, VirtualBox, physical, etc.):
Running on Azure.

@sofam Want to clarify the problem. Let's assume 3 machines A, B, C, a1, a2 are tasks on A, b1, b2 are tasks on B, c1, c2 on C, where all these tasks are on the same network. Are you saying the following?
a1 --> b1 (--> means accessible)
a1 --> c1
b1 -X-> c1 (-X-> means not accessible)
b1 --> c2
c1 -X-> b1
c1 --> b2

What is in the logs of container c1? You are showing timeout from curl, does the application receive the request? When this happens, do you see any error/warning from Docker daemon logs?

Good idea with the diagram, I'll make use of that again at some other time :)
Yes, basically like that, but only tried connecting in one direction so b1 -X-> c1. Basically the b1 instance says:
2016/11/17 14:59:01 http: proxy error: Could not connect to backend <service>:80

The application logs show that the c1 application doesn't see the request. And it handles requests from other services fine.
I don't see any errors or warnings in the Docker daemon logs, sadly.

Assuming c1 is unreachable from b1. On a1, b1, c1, can you try the following commands to see what's the difference?
~$ docker exec -it f06971de8c34 /bin/sh
/ # nslookup tasks.test
nslookup: can't resolve '(null)': Name does not resolve

Name:      tasks.test
Address 1: <IP_ADDRESS> f06971de8c34
Address 2: <IP_ADDRESS> test.3.zj71j5c5u72k9w6gel99c45kc.tnet3
Address 3: <IP_ADDRESS> test.2.t00b94rx1mdvn08hc3x97b0kz.tnet3

/ # ping -c 1 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=0.589 ms

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 0.589/0.589/0.589 ms

/ # ping -c 1 <IP_ADDRESS>
PING <IP_ADDRESS> (<IP_ADDRESS>): 56 data bytes
64 bytes from <IP_ADDRESS>: seq=0 ttl=64 time=4.041 ms

--- <IP_ADDRESS> ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss
round-trip min/avg/max = 4.041/4.041/4.041 ms

; if <IP_ADDRESS> is unreachable
/ # traceroute <IP_ADDRESS>
traceroute to <IP_ADDRESS> (<IP_ADDRESS>), 30 hops max, 46 byte packets
 1  test.3.zj71j5c5u72k9w6gel99c45kc.tnet3 (<IP_ADDRESS>)  0.463 ms  0.278 ms  0.260 ms

/ # arp -a
test.2.t00b94rx1mdvn08hc3x97b0kz.tnet3 (<IP_ADDRESS>) at 02:42:0a:00:01:07 [ether]  on eth0
test.3.zj71j5c5u72k9w6gel99c45kc.tnet3 (<IP_ADDRESS>) at 02:42:0a:00:01:04 [ether]  on eth0

/ # route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         <IP_ADDRESS>      <IP_ADDRESS>         UG    0      0        0 eth1
<IP_ADDRESS>        *               <IP_ADDRESS>   U     0      0        0 eth0
<IP_ADDRESS>      *               <IP_ADDRESS>     U     0      0        0 eth1

/ # ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:0A:00:01:05
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:aff:fe00:105%32753/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1450  Metric:1
          RX packets:37 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3446 (3.3 KiB)  TX bytes:3049 (2.9 KiB)

eth1      Link encap:Ethernet  HWaddr 02:42:AC:12:00:04
          inet addr:<IP_ADDRESS>  Bcast:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: fe80::42:acff:fe12:4%32753/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11 errors:0 dropped:0 overruns:0 frame:0
          TX packets:11 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:874 (874.0 B)  TX bytes:815 (815.0 B)

lo        Link encap:Local Loopback
          inet addr:<IP_ADDRESS>  Mask:<IP_ADDRESS>
          inet6 addr: ::1%32753/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:183008 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183008 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13542894 (12.9 MiB)  TX bytes:13542894 (12.9 MiB)

I had to reboot the nodes affected by this, but I've seen it more than once. I should be able to provide you the results in the coming week. I'll get back to you ASAP.
Thank you for the rapid response in this issue :)

/cc @dongluochen @dperny
We should probably do an e2e test of global+routing mesh


How can I disable automation alembic migration?

I'm running this inside of docker-compose, and I want more control over the migrations.  It seems to re-create the "initial" tables (user, tier, post) every time I perform docker-compose up.
I don't want it to do that, I want to be able to run alembic (from inside a container, not on my local machine).
I cannot seem to disable this behavior.  Where does the alembic migration that creates the post table live?  I want to stop it.

It's the create_tables event_handler on startup. I'll add the option to do this, but you can do it yourself just changing here:

You may add another parameter to the setup function and include it in the condition to create tables on startup


Bug: Broken ScheduledTasks typescript augmentation

Is there an existing issue for this?

[X] I have searched the existing issues

Description of the bug
When augmenting the ScheduledTasks interface for multiple tasks, it's only showing the type-hint for one task.
Steps To Reproduce

Clone the repo - https://github.com/r-priyam/scheduled-tasks-ts-error
Try creating the tasks using the container.tasks.create() or this.container.tasks.create(). You will only see one type-hint option for the task name and not two. However, it should show two options as there are two tasks augmentation for it, mainly here -

https://github.com/r-priyam/scheduled-tasks-ts-error/blob/main/src/tasks/taskOne.ts
https://github.com/r-priyam/scheduled-tasks-ts-error/blob/main/src/tasks/taskTwo.ts

Expected behavior
It should show taskOne and taskTwo in the type-hint
Screenshots

Additional context
No response

Closing because we confirmed on Discord that this was related to having multiple declare module's as opposed to one, and therefore also concluded that it's a bug in TS and not this lib.


Idea: Kubernetes example

Hey! May be useful for someone... I can share ready k8s configs to deploy.
You need to change just 2 things:

pvc.yaml: spec.storageClassName
kubernetes.yaml: Secret.data.token
...else
kubernetes.yaml: Deployment.spec,args (add/change as you with)

I can create a Helm-chart for Telepush if it is needed. But everything is working well with this configs so far so good.
kubernetes.yaml
apiVersion: v1
kind: Secret
metadata:
  name: telepush-secret
  namespace: default
type: Opaque
data:
  token: XXXX
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: telepush
  namespace: default
  labels:
    app: telepush
spec:
  replicas: 1
  selector:
    matchLabels:
      app: telepush
  template:
    metadata:
      labels:
        app: telepush
    spec:
      containers:
      - name: telepush
        image: ghcr.io/muety/telepush
        args:
        - -mode
        - poll
        - -truncateMsgs
        - "true"
        volumeMounts:
        - name: telepush-data
          mountPath: /srv/data
        ports:
        - containerPort: 8080
        env:
        - name: APP_TOKEN
          valueFrom:
            secretKeyRef:
              name: telepush-secret
              key: token
      volumes:
      - name: telepush-data
        persistentVolumeClaim:
          claimName: telepush-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: telepush
  namespace: default
spec:
  selector:
    app: telepush
  ports:
    - protocol: TCP
      port: 80
      targetPort: 8080
  type: ClusterIP

pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: telepush-pvc
  namespace: default
spec:
  accessModes:
    - ReadWriteOnce
  storageClassName: microk8s-hostpath
  resources:
    requests:
      storage: 100Mi

telepush.zip

Very cool, thank you! Since I don't have any Kubernetes experience, I can't really give you feedback on this. But will reference it in the README.


Reduce the noise in verbose flattened BOMs #3702

e844c16 propagates the change to antora.yml. Thanks for pointing our, @jamesnetherton !


[2.0] Fixed links to javascript.html in components.html

Resolved in mustache templates directly, and rebuilt.
Thanks!


If possible, introduce conditioned output/value transformers that take the key as the input of the condition closure instead of the output value of the cache

For interested readers, please consider the workaround (that from a technical standpoint is not a "patch" at all, but completely supported behavior) illustrated in #110 using switchLevels to apply a post-processing step (this can't be used for value transformations unfortunately) according to the key


[FEATURE] Introduce write only mode in RAID1

This feature will be used to add a new base bdev to the raid1 in write only mode: it will be done before starting replica rebuild; in this way the operation will be done without stopping the volume for all the rebuild time.

With the introduction of the external snapshot, write only mode is no more necessary


Add Order to OnAppStart

Add Order To onAppStart.
With This change we can order to run function in runStartupHooks.

@anonx  I added test. Why you add needs testting tag?

@vahid-sohrabloo, thank you for this PR. Everything is OK, "needs testing" is a label for @revel/core to make sure everything is correct and to double check things.

@anonx Thank you

Overall, good enhancement.


Add note about 0.25.0 upgrade in UPDATING.md

@john-bodley @hughhhh

Codecov Report

Merging #4883 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4883   +/-   ##
=======================================
  Coverage   76.97%   76.97%
=======================================
  Files          44       44
  Lines        8537     8537
=======================================
  Hits         6571     6571
  Misses       1966     1966

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 fa3da8c...771bfbf. Read the comment docs.


Update CI workflow to trigger deploy to integration

This adds an additional job to the CI workflow to run a reusable
workflow that writes the newly built image tag to helm charts file.
This triggers ArgoCD to deploy the integration.

This was an automated PR.


How do we run a custom plugin?

I am new to lua and lite-xl. Though I am new to lua, I have previous experience in python. I am planning to learn plug-in development in lite-xl and followed this tutorial. The tutorial does not mention how to run or debug lua plugins while development.
What I have done is, I have put my simple plugin here ~/.local/share/lite-xl/simple.lua and run lua simple.lua but I am getting this error

lua: ./core/regex.lua:3: cannot get undefined variable: regex
stack traceback:
	[C]: in function 'error'
	./core/strict.lua:21: in metamethod '__index'
	./core/regex.lua:3: in main chunk
	[C]: in function 'require'
	./core/init.lua:2: in main chunk
	[C]: in function 'require'
	simple.lua:3: in main chunk
	[C]: in ?

How do we run/debug our custom plugins?
simple.lua (Two lines of code)
-- mod-version:2 -- lite-xl 2.0

local core = require "core"

to use the lite-xl API, you have to run it from within lite-xl.
Drop the file in your plugins folder ($HOME/.config/lite-xl/plugins by default) and restart lite-xl

Thank you, I have one more question. How can we debug our plugin with lite-xl? For example where can I see the output for this simple plugin code.
-- mod-version:2 -- lite-xl 2.0

print("Hello World")

For example where can I see the output for this simple plugin code.

If you run Lite XL from the terminal, this will print out there.
You can also use core.log to save messages in your logs (ctrl+shift+p and search for "Core: Open Log").


SkipTrial on swapping plan issue

Cashier 6.0.18, Laravel 5.2
According to docs, in order to skip the existent plan's trial before swapping to new plan i call:
$user->subscription('main')->skipTrial()->swap('provider-plan-id');
It seems though, that the skipTrial() method exists in SubscriptionBuilder Class , and not in Subscription.
As a result, if i try the code above i get:
BadMethodCallException in Builder.php line 2345: Call to undefined method Illuminate\Database\Query\Builder::skipTrial()
Which is because i am calling the "skipTrial()" from a Subscription object, not from a SubscriptionBuilder and Subscription model has no such method.

I don't believe the swap method actually checks during a swap. It only checks the trial_ends_at field is null via the is onTrial() method. As a temporary workaround I am using the following:
        $subscription = $user->subscription('main');
        $subscription->trial_ends_at = null;
        $subscription->swap($plan);

This is happening to me as well.  Went with the workaround @cjke pasted.

PR submitted with a fix: https://github.com/laravel/cashier/pull/356


Changing the API into Public and Protected modes.

As part of this task, I will be changing the mode of access for the APIs so that only authorized users can access the APIs.

I have changed the mode of access for the APIs.


The error during DanceTrack pretraining.

I run the command:
bash scripts/train_dancetrack_val_tbd.sh dancetrack_tbd

We get the errors:
Tracker file not found: /home/lzp/MOT/ColTrack/logs/dancetrack_tbd/IPTrack/track_results/dancetrack0004.txt
Traceback (most recent call last):
  File "mot.py", line 26, in <module>
    main(args)
  File "mot.py", line 13, in main
    trainer.train()
  File "/home/lzp/MOT/ColTrack/motlib/engine/task_engine/train_loop.py", line 41, in train
    self.after_epoch()
  File "/home/lzp/MOT/ColTrack/motlib/engine/task_engine/default_engine.py", line 204, in after_epoch
    super().after_epoch()
  File "/home/lzp/MOT/ColTrack/motlib/engine/task_engine/train_loop.py", line 63, in after_epoch
    h.after_epoch()
  File "/home/lzp/MOT/ColTrack/motlib/engine/task_engine/default_hooks.py", line 25, in after_epoch
    self.eval_func()
  File "/home/lzp/MOT/ColTrack/motlib/engine/task_engine/default_engine.py", line 229, in test_and_save_results
    res = run_evaluator(self.args.evaluator,
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluators/__init__.py", line 14, in run_evaluator
    return EVALUATOR_REGISTRY.get(name)(*args, **kwargs)
  File "/home/lzp/anaconda3/envs/streamline/lib/python3.8/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluators/my_coco.py", line 215, in my_evaluate_coco
    output_res, _ = mot_eval_metrics(args, dataset_name=dataset_name[0], eval_config=data_loader.dataset.coco.eval_config)
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluate_metrics/__init__.py", line 17, in mot_eval_metrics
    return _eval_func_bank[mot_metrics](arg, *args, **kwds)
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluate_metrics/trackeval_manager/manager.py", line 13, in evaluate_hota
    evaluator, dataset_list, metrics_list = config_process(args, dataset_name, eval_config, ts_path=ts_path)
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluate_metrics/trackeval_manager/config_process.py", line 17, in config_process
    return config_process_default(args, dataset_name, eval_config, ts_path)
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluate_metrics/trackeval_manager/config_process.py", line 54, in config_process_default
    dataset_list = [dataset_class_func(dataset_config)]
  File "/home/lzp/MOT/ColTrack/motlib/evaluation/evaluate_metrics/trackeval_manager/trackeval/datasets/mot_challenge_2d_box.py", line 124, in __init__
    raise TrackEvalException(
motlib.evaluation.evaluate_metrics.trackeval_manager.trackeval.utils.TrackEvalException: Tracker file not found: IPTrack/track_results/dancetrack0004.txt

So I located the code location (ColTrack/motlib/evaluation/evaluate_metrics/trackeval_manager/config_process.py The 38 line) where the error was reported. I found that the code in the eval_func part has an IPTrack tracking result, but I don't know what this tracker results are about.
dataset_config_new = {
        'BENCHMARK': dataset_name,
        'SKIP_SPLIT_FOL': True,
        "GT_FOLDER": str(gt_path),
        'GT_LOC_FORMAT': "{gt_folder}/gt/{seq}.txt",
        "SEQMAP_FILE": str(gt_path / 'seq_info.json'),
        'TRACKERS_FOLDER': ts_path,
        'TRACKERS_TO_EVAL': [args.tracker_name, 'IPTrack'],
        'TRACKER_SUB_FOLDER': "track_results",
        "OUTPUT_FOLDER": str(output_folder)
    }

IPTracker uses the algorithm in the file to interpolate the tracking results to obtain new tracking results. For some linear motion scenes, this approach usually produces better results, such as MOT17. But for complex motion scenes like dancetrack, the results after this processing are often worse. Your error usually occurs when the model has poor tracking capabilities. You can adjust the configuration and train for longer before evaluating and inferring.

IPTrack is a post-processing method and is not necessary. You can remove the relevant code.

Thank you very much for your answer, it solved my problem.


"Classic" ringbuffer support?

I've needed a "classic" ringbuffer quite a few times now, and since it's not that hard rolled my own.  What I mean is:

fixed capacity array plus index of "head"
push() moves head and overwrites
allows random access using iterator, and some standard things like first(), last()
(maybe:) all items are initially filled with some default, allows getting rid of Option<>s for first() etc
normal &mut methods, no lock-free support

This is nothing fancy, but seems like it falls under the mission statement of heapless?  I'll contribute an initial implementation PR, if yes.

Hi, the Queue seems to do what you want through the Producer and Consumer interface.
Or is there an issue there that you are facing?

On a glance it seems similar to a Queue, but I need access to all elements without popping them.
Think a device with a noisy sensor that reads the sensor every millisecond and keeps the last N readings to make an average, minimum etc. calculations.
So the main differences to Queue are:

access to all elements at any time, in exchange, no lock free characteristic required
if full, oldest entries are just overwritten without needing to be popped
(optional) always filled to capacity with a "null" value, see the last point in OP

Ah, I see. Lets see what @japaric says :)

Sorry for missing this issue.
This sounds reasonable to me. The Default bound to avoid the Option makes sense as well.

plus index of "head"

Is this is a push-only ring buffer?

allows random access using iterator, and some standard things like first(), last()

Maybe also an as_slice method? To get access to all elements in arbitrary order. rb.as_slice().iter().cloned().sum() may eval faster than rb.iter().cloned().sum().

Is this is a push-only ring buffer?

Yes. To avoid confusion with real ring buffers I've renamed it to HistoryBuffer in the PR. (Another name would be something with Window...)

Maybe also an as_slice method?

I've implemented AsSlice and AsMutSlice.


Release 0.7.0

In OptimalControlSolution  type, there is not the value of the variable v ;

The plot of the solution of the problem

n=1
m=1
t0=0
tf=1
x0=[0]
xf=[0]
ocp = Model()
state!(ocp, n)
control!(ocp, m)
time!(ocp, [t0, tf])
constraint!(ocp, :initial, x0, :initial_constraint)
#constraint!(ocp, :final, xf, :final_constraint)
constraint!(ocp, :control, -1, 1, :control_constraint)
dynamics!(ocp, (x, u) ->  -x[1] + u[1])
#objective!(ocp, :lagrange, (x, u) -> u[1]*u[1])
objective!(ocp, :mayer, (x0,xf) -> xf)
sol = solve(ocp, grid_size=20, print_level=5)
p1 = plot(sol)

the plot of the control and  of the costate is not  good (value of -1)

It will be better that CTBase as before five function with only vectors as argument. When we'll code the direct shooting method, we'll have to treat the  different case scalar, or vector as for  de Direct method ...

Ok. I will make the update.
Have you take a look to sol.control and sol.costate?

I have added the field variable: https://github.com/control-toolbox/CTBase.jl/releases/tag/v0.7.1

@joseph-gergaud I don't get what you mean point 3, but apparently @ocots does! Anyway, call me (phone) this Tuesday if you want to discuss this.

@ocots issue resolved?

Not yet, but no answer from @joseph-gergaud

Problem solved by https://github.com/control-toolbox/CTBase.jl/pull/149


Easter Egg 🥚

What does this PR do?
Is this an Easter Egg?
Have you read the Contributing Guidelines on issues?
Yes

@alphaNewrex, yes it is, but, our easter egg event is over now. If you're looking to contribute for Hacktoberfest, try exploring hacktoberfest issues via our website. If you have any problems or need help, please join our Discord community and use the #hacktoberfest channel.


log loss fix instability

make test

precommit has passed
e9eaa193-3070-f103-8847-8cdcd4b723a1

new precommit:
e9eb5ba9-6cc5-f1e3-8556-8cdcd4b723a1


Support sign-out for Sync

This is a two-parter:

Disconnecting from and reconnecting to an existing account. There's shared history and some amount of disconnected operation. (Disconnecting and never reconnecting is a subset of this.)

Disconnecting from one account and connecting to another.


[CH] support split on compressed text file

Description
as above

supported in https://github.com/ClickHouse/ClickHouse/pull/58743


#669 Correct extraction of error message

#669 error message from google+ api
I modified path to extract error message. I also updated test file.

@davvd Please find someone to review.

@xupyprmv Thanks, let me find someone who can review this pull request

@yegor256 pull request is rather short, review it please

@rultor try to merge

@rultor try to merge

@yegor256 OK, I'll try to merge now. You can check the progress of the merge here

@rultor try to merge

@yegor256 Done! FYI, the full log is here (took me 17min)

@yegor256 Thanks for your contribution, 16 mins was added to your account, payment ID is 000-1c4f417a, 30 hours and 54 mins spent total; you're getting extra minutes here (c=1); +16 added to your rating, at the moment it is: +1103

@rultor deploy

@rultor deploy

@davvd OK, I'll try to deploy now. You can check the progress here

@rultor deploy

@davvd Done! FYI, the full log is here (took me 14min)


CORE: query for operations only once per provider (unless no_store is true)

When a desired algorithm wasn't available, we didn't register anywhere
that an attempt had been made, with the result that next time the same
attempt was made, the whole process would be done again.
To avoid this churn, we register a bit for each operation that has
been queried in the libcrypto provider object, and test it before
trying the same query and method construction loop again.
If course, if the provider has told us not to cache, we don't register
this bit.
Fixes #11814

Note: this incorporates #11837, and is therefore WIP until it can be rebased

LGTM

There are some doc-nits errors introduced as seen in the Travis build

Documentation nit fixed

Squashed fixups, then rebased.  Not WIP any more, as #11837 is now merged

I'm too tired to comprehend the code at present.
Does it only cache negative outcomes if there are zero no_cache outcomes?
A positive outcome can be cached in the presence of no_cache results since we don't specify which of several matches are returned.  However, unmatched optional properties confound this.

Does it only cache negative outcomes if there are zero no_cache outcomes?

This is kind of the wrong question. This doesn't change the caching or results directly - it just remembers whether we have previously called a provider's query function for a given operation or not. If we have then we don't call it again unless no_cache is set.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Merged
5a29b6286f8ccafc2ed9a026b0e8d4bd6d0396e6 CORE: query for operations only once per provider (unless no_store is true)


Fix comments within function declarations in C (#1891)

Fixes #1891 and other combinations of comments within function declarations in C.
Comments were not properly detected between the parts of function declarations. This was fixed by detecting those comments and passing them to a minimal lexer. A new test snippet file was created to test the fix.

Also, I think that fixing this minor issue by adding this much logic to an already complex part of the lexer is uncalled for, and can introduce maintenance problems. Please simplify this @lambda-karlculus.

Also, I think that fixing this minor issue by adding this much logic to an already complex part of the lexer is uncalled for, and can introduce maintenance problems. Please simplify this @lambda-karlculus.

IMHO, with using(this, 'comments') and a variable for the regex, it will be OK.

OK, I went ahead and changed your PR directly (don't expect me to do that every time :smile:).

Fixed the basic failure: using(this, state=...) requires that the get_tokens_unprocessed method accept a stack optional argument defaulting to ('root',). (Adjusted in subclasses too.)
Fixed some test failures in tests/examplefiles/freefem. This was super tricky. The comment regexes used things like [\w\W]*? for the inner content of the comment. For a standalone regex, that is fine: if you run it on a comment, it will stop at the end of the comment because *? is non-greedy. But embedded within another regex, it can cause trouble, because if the part of the larger regex after this one doesn't match with the smallest possible comment, it backtracks and *? starts matching more. It was marking huge swaths of code as comments …
The catastrophic backtracking in _possible_comments was still there! :smile: I've fixed it.
Also simplified: the 'comments' state was actually useless because it was a superset of the 'whitespace' state.

@amitkummer I think this is good to go. You have more experience than me tinkering with the CFamilyLexer, so I'll leave this for a while in case you want to take another look.

Thank you! That's amazing!

Thanks for explaining the backtracking and errors in the regex. I tried to reuse the existing regexes, but understand now why that does not work.
I agree that the 'comments' state is just a subset of 'whitespace' and should be removed.
The first point (that using(this, state=...) requires get_tokens_unprocessed accept the stack argument) is interesting. It is not clear from the documentation that the former requires the latter. Unless I'm wrong here I may send a new pull request to add that to the docs.
I noticed you made a change to stop "separating newline tokens". This was the existing behavior. Should this be changed in the 'whitespace' state?

I noticed you made a change to stop "separating newline tokens". This was the existing behavior. Should this be changed in the 'whitespace' state?

I did that one as a simplification before I realized that the 'comments' state could be dropped entirely. As far as I can see, the 'whitespace' state does this in order to be able to use ^ (it needs to stop at newlines for that). Well, it looks like it could also be refactored in a simpler way not requiring this, but let's not mix too many changes in this PR.

Looks excellent now @Jean-Abou-Samra, Thanks!

Thanks for reviewing, merging then.


Use XorT to dramatically clean up nested Future/Xor ops

using the Power of Category Theory™, we can make the syntax around processing nested Xors/Futures (&c) much nicer. I've applied only a sprinkling of it here since most other callsites currently just await on the result, but I also have as stash where I have the underlying methods XorT'ed and other callsites adapted with .value if you think we should do this throughout.

:+1:
Power Overwhelming.


Use (high resolution) waitable timers on windows when available

Intends to fix the remaining inaccuracy that can be seen when running at frame rates close to the maximum precision provided by Thread.Sleep on windows.
A few preliminary notes:

This is windows only. Other (unix/linux) platforms already had higher precision thread sleep. Of note, this does now perform Thread.Sleep using floating point rather than hard int rounding, so it may marginally improve results on non-windows platforms
Frame jitter is now displayed on the frame statistics display. This is standard deviation between NewFrame calls averaged over last 256 frames
Don't trip over the pinvoke code. I considered using Vanara for this but that had a few issues (and the DLL is a bit large so we'd want pruning support). See https://github.com/dahall/Vanara/issues/339, may be something we can switch to in the future rather than implementing pinvokes locally, as it's much better documented and tested.
CPU usage is basically unaffected, which is good.
This may become available in SDL in a future release (see https://github.com/libsdl-org/SDL/pull/6232) but it's so much of an improvement that implementing local seems worthwhile for now.

Results:
Before (Thread.Sleep):

After (WaitableTimer):

You can count the individual frames being run. In both profile runs above, the reported frame rate is 1,000, but in the first multiple frames were being coalesced into single back-to-back executions (which is basically pointless to us).
Note that even when not using HIGH_PRECISION mode, the results are basically the same. So this should improve the experience not only on recent window builds but most all.

[x] Needs testing on machines which are limited in performance (ie. not capping the frame limiter out). Should we still invoke the timer wait when time-to-be-waited is zero?

Tested at lower frame rates to work as expected.


The outdated and update modes consider different parts of the deps.edn file

So this is another issue spawned from #7, I thought I'd create a new one to keep it clean and visible.

This discussion involved @seancorfield and @plexus.

I think the addition of --update has actually introduced two very different approaches within the same project. I originally performed the outdated check on whatever your deps resolved to with aliases taken into account, this was mainly for consistency with the clojure CLI and so I didn't have to parse it myself.
I wanted to rely on the tools.deps abstraction so that if the format changed (such as a shorthand for :mvn/version or something) depot would continue to work. I feel like going down a level and manipulating the data structure runs the risk of something breaking it but that risk is low.
It'd be a breaking change but I'd be open to replacing the outdated check with a custom program that walks the deps.edn file and finds all versions. This would mean the "find all the versions and their updates" code could be shared and the "update the version in place" part would just be an extra step.
This should mean more code reuse and easier maintainability. I hope. The version table could always be printed but the act of updating in place would then simply be guarded by the --update flag. I smell lenses.
TL;DR: I'm open to this and think it would lead to a cleaner project. The default command is then a dry run for the --update command, this issue is for further comments. I wouldn't get around to this for quite a while though with my current side projects and Advent of Code on the horizon plus a couple of snowboarding trips in the new year.
This work would fix #11 too, but that's coincidental. Also I'm not saying I won't do this, just that it's not my top priority right now. I'd quite like to do it since it's a semi-rewrite in which I could add a test suite and specs etc. I've got a long flight to Canada early next year, it'd be a good candidate for that!
If someone beats me to it though I'll happily work through the process with them and show credit where it's due. Clojure open source rocks :smiley:

Fixed by #25 and will be released in v2.0.0.

Reopening until v2 is out.

It looks like 2.x has been out for a while? Is this issue "done"?

True! Sorry, haven't been paying attention to this repo in a long time 😞 I'll close, thanks.


Trigger source achievements using RunHaxeCode

Describe your problem here.
I'm trying to figure out how to activate an achievement with a Lua script, as the mod I'm working on isn't hard coded into source, but nothing I do seems to work.
I've tried to use a Lua script that onSongEnd runs Haxe code Achievements.unlockAchievement(achievement);, but it doesn't seem to work. I even tried variations without the Achievements. part or running it as an event but nothing has been successful yet.
For context, I'm trying to shortcut to the if (unlock) code in PlayState.hx:
if(unlock) {
	Achievements.unlockAchievement(achievementName);
	return achievementName;
}

using this Lua script:
function onEndSong()
	runHaxeCode([[
		Achievements.unlockAchievement(achievementName);
	]])
end

Any advice?
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
Achievements and PlayState.hx

yknow its onEndSong, not onSongEnd right?

Sorry about that, just a typo. I used the correct function in the Lua script.

its working so if you still want it i can send it to you


Add heading semantics to SectionTitle

WHAT
Add heading semantics to SectionTitle.
WHY
In order to improve accessibility.
HOW

Rename Title to SectionTitle;
Add heading semantics;
Improve kdoc;

Checklist :clipboard:

[x] Add explicit visibility modifier and explicit return types for public declarations
[x] Run spotless check
[x] Run tests
[x] Update metalava's signature text files

If you regenerate the A11y tests, A11ySnapshotHandler already detects the header.  Should visually show where it's being used if our A11y tests cover these titles already.

If you regenerate the A11y tests, A11ySnapshotHandler already detects the header. Should visually show where it's being used if our A11y tests cover these titles already.

thanks! nice to see them there!


parse_authentication_key_values doesn't work for multiple authentication keys

So I've configured devise to allow either email or login authentication.  I know I've seen this work before, but I'm having a problem with it, and I can even track down explicitly why I'm having the problem.
  # Parse authentication keys considering if they should be enforced or not.
  def parse_authentication_key_values(hash, keys)
    keys.each do |key, enforce|
      value = hash[key].presence
      if value
        self.authentication_hash[key] = value
      else
        return false unless enforce == false
      end
    end
    true
  end

If the first key is not present in a request, then this will return false (and never check for the second key).  Wouldn't it make sense to check for all possible authentication keys before returning false from this method?
Maybe I'm misunderstanding something.  Thanks for any help.

Sorry for comment necromancy, but is it possible for enforce to ever be true? authentication_keys are an array in all examples I can see, not a hash, so enforce would always be false


Shape mismatch between image and text encoder during training.

Tried training a normal (not plus) sdxl ip adapter with sdxl image encoder (https://huggingface.co/h94/IP-Adapter/resolve/main/sdxl_models/image_encoder/):
python3 tutorial_train.py \
  '--pretrained_model_name_or_path=stabilityai/stable-diffusion-xl-base-1.0' \
  "--image_encoder_path=${HOME}/GITHUB/tencent-ailab/IP-Adapter/model_checkpoint/sdxl/image_encoder" \
  "--data_json_file=${HOME}/DRESS_CODE/DressCode/input.json" \
  "--data_root_path=${HOME}/DRESS_CODE/DressCode/input" \
  "--mixed_precision=fp16" \
  '--resolution=1024' \
  '--train_batch_size=2' \
  '--dataloader_num_workers=4' \
  '--learning_rate=1e-04' \
  '--weight_decay=0.01' \
  "--output_dir=${HOME}/DRESS_CODE/DressCode/out3" \
  '--save_steps=100' \
;

But got the error:
Traceback (most recent call last):
  File "/home/ubuntu/GITHUB/tencent-ailab/IP-Adapter/tutorial_train.py", line 381, in <module>
    main()
  File "/home/ubuntu/GITHUB/tencent-ailab/IP-Adapter/tutorial_train.py", line 356, in main
    noise_pred = ip_adapter(noisy_latents, timesteps, encoder_hidden_states, image_embeds)
  File "/home/ubuntu/dbnew/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/ubuntu/dbnew/lib/python3.10/site-packages/accelerate/utils/operations.py", line 636, in forward
    return model_forward(*args, **kwargs)
  File "/home/ubuntu/dbnew/lib/python3.10/site-packages/accelerate/utils/operations.py", line 624, in __call__
    return convert_to_fp32(self.model_forward(*args, **kwargs))
  File "/home/ubuntu/dbnew/lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 14, in decorate_autocast
    return func(*args, **kwargs)
  File "/home/ubuntu/GITHUB/tencent-ailab/IP-Adapter/tutorial_train.py", line 115, in forward
    encoder_hidden_states = torch.cat([encoder_hidden_states, ip_tokens], dim=1)
RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 768 but got size 2048 for tensor number 1 in the list.

But when I use the supplied model from https://huggingface.co/h94/IP-Adapter/resolve/main/sdxl_models/ip-adapter_sdxl.bin for inference with the above image encoder, the results work fine. How to fix the training issue (I want to train SDXL ip adapters on custom dataset)?
On a side note, I saw that when loading the IP adapters from a file:
def load_ip_adapter(self):
    state_dict = torch.load(self.ip_ckpt, map_location="cpu")
    self.image_proj_model.load_state_dict(state_dict["image_proj"])
    ip_layers = torch.nn.ModuleList(self.pipe.unet.attn_processors.values())
    ip_layers.load_state_dict(state_dict["ip_adapter"])

the source file is in IP-Adapter/ip_adapter/ip_adapter.py, the modules ip_layers is never used. Is this intended ?
Thanks in advance!

@aravind-h-v

for the training, it seems you use a wrong image encoder or base model?
the ip layers are inserted into the SD with set_attention_processor.   https://github.com/tencent-ailab/IP-Adapter/blob/c1515e906d2ded91812e2f55858c500aeb3a5d08/ip_adapter/ip_adapter.py#L81C26-L81C26

I was able to use the sdxl image encoder with sdxl base model and provided checkpoint to infer correctly, so I was a bit puzzled.
Thanks! Will check this.

encoder_hidden_states

encoder_hidden_states should be 2048-dim, but from your error message, it is 768-dim

encoder_hidden_states should be 2048-dim, but from your error message, it is 768-dim

encoder_hidden_states should be 2048-dim, but from your error message, it is 768-dim

I was able to use the sdxl image encoder with sdxl base model and provided checkpoint to infer correctly, so I was a bit puzzled.
Thanks! Will check this.

encoder_hidden_states should be 2048-dim, but from your error message, it is 768-dim

ya,, does this have something to do with text_encoder vs text_encoder_2 that is there with sdxl ?
Any idea on how to original SDXL ip adapters were trained ?

python3 tutorial_train.py

I missed some things, you should use python3 tutorial_train_sdxl.py

ya,, does this have something to do with text_encoder vs text_encoder_2 that is there with sdxl ? Any idea on how to original SDXL ip adapters were trained ?

I missed some things, you should use python3 tutorial_train_sdxl.py

oh this file was created yesterday! Thanks! I had also missed this.


symbols on 1.18

What about symbols on 1.18 version ,  , can we get dump of invisible symbols? for future mods

If you mean by invisible symbols, these mojang has removed / stripped from the game in 1.16.210 ( or in <IP_ADDRESS> ). Then I never was able to get them, however I heard using the ida decompiler it could be possible to find the address of the invisible symbol.
This mod has nothing to do with hidden / invisible symbols, it's purpose was checking the game license and if it passes patching undefined visible symbols of the game so the launcher can load the game without failing to resolve symbols.


Resolve missing hconstants variable for the zookeeper quorum seperator.

When using the Zookeeper quorum connection string the split into separate hosts does not work due to a missing variable object.  This changes add the required variable.

Thank you.

Landed in v0.1.8


Rework summary stats display

Let's rework the summary stats to emphasize the category and the number, each on one line to help fill up the content well.

[] decrease font size in sentences
[] add emphasis to crime category
[] put sentences more on 1 line


[KYUUBI #5664][AUTHZ] Support create path-based table for Delta Lake

Why are the changes needed?
To close #5664 .
Support create path-based table for Delta Lake in Authz plugin.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Was this patch authored or co-authored using generative AI tooling?
No.

Codecov Report

Merging #5666 (61ee823) into master (e8e981d) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #5666      +/-   ##
============================================
- Coverage     61.43%   61.40%   -0.04%
  Complexity       23       23
============================================
  Files           603      603
  Lines         35640    35640
  Branches       4875     4875
============================================
- Hits          21897    21885      -12
- Misses        11368    11374       +6
- Partials       2375     2381       +6

see 12 files with indirect coverage changes
:mega: Codecov offers a browser extension for seamless coverage viewing on GitHub. Try it in Chrome or Firefox today!

== Analyzed Logical Plan ==
CreateTable [StructField(id,IntegerType,true), StructField(name,StringType,true), StructField(gender,StringType,true), StructField(birthDate,TimestampType,true)], [identity(gender)], TableSpec(Map(),Some(DELTA),Map(),None,None,None,false), true
+- ResolvedIdentifier org.apache.spark.sql.delta.catalog.DeltaCatalog@3468faa5, delta./var/folders/gc/c__qhntd7s502txfp0ltxh880000gn/T/kyuubi-e5599737-ec2c-43bf-a9d2-6810f05a2155

Thank you @zml1206, for the patience during the review process
Merged to master

Thanks, @yaooqinn


fix: bug 1591 - creation of duplicate named models

Reworked the key handler logic to ignore problems on ENTER

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


PsbtEx::update_desc include derivation paths for bip32 keys

I've been looking at 7.0.0-rc.2 and was seeing if we could replace all the PSBT population code in BDK with the new shiny stuff here. Some of the fields we need that don't seem to be filled in by PsbtExt::update_desc are bip32_derivation and tap_key_origins. It seems like we should be able to populate these at this point. For example, for bip32_derivation we can iterate through each key in the descriptor and if it's an XPub derive it and insert into the map. ~We would need to pass in a secp context for this to work.~ see EDIT
More than willing to do a PR on this but wanted to check this approach makes sense.
As a side comment: It looks to me like the update_desc function should extend Psbt::Input rather than putting it on the Psbt type and then having to pass in the index you want to use (the logic completely ignores the rest of the psbt).
EDIT: ok so it looks we don't need to pass in secp because we are already cheating inside by allocating a new one each time. I have no complaints about that but I think the API could just require you pass in a pre-derived descriptor (i.e. no-wildcards Descriptor<DescriptorPublicKey>). At least for BDK there is no advantage to having an API that can do the searching within a particular range for you to match against a PSBT input since you should usually know what index the scriptPubKey was derived at for any UTXO you have.

For example, for bip32_derivation we can iterate through each key in the descriptor and if it's an XPub derive it and insert into the map

Indeed, this makes a lot of sense. I think I may also have a TODO in there mentioning this.

More than willing to do a PR on this but wanted to check this approach makes sense.

This makes sense, and PRs are always welcome.

As a side comment: It looks to me like the update_desc function should extend Psbt::Input rather than putting it on the Psbt type and then having to pass in the index you want to use (the logic completely ignores the rest of the psbt).

Agreed. This can operate on Psbt::Input if other information is not necessary.


fix form example validation

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description
The problem with the existing form example is that it generates an error object shaped like
{ username: '', email: '', password: '' }

and then allows the form to submit if
!Object.keys(errors).length

except that will always be false because the object's keys aren't removed. It's simply unchanged if there were no errors. This update instead checks if any of the object's values are truthy, allowing it to submit if no errors are appended to the values. It could also be done a few other ways, this is just to make the example valid.

Nice catch! and very clean implementation to check for errors 💜


Add zerofier to composition polynomial in STARK proving

Closes #132
This PR also modifies the commited polynomials (both the trace and the composition one) to be evaluated over an actual coset of the roots of unity instead of the roots themselves. This avoids possible division by zero problems
Type of change

[x] New feature
[ ] Bug fix
[ ] Optimization

Checklist

[x] Linked to Github Issue
[x] Unit tests added
[ ] This change requires new documentation.

[ ] Documentation has been added/updated.

[ ] This change is an Optimization

[ ] Benchmarks added/run

Codecov Report

Merging #142 (ea89ef9) into main (3c681a3) will increase coverage by 0.03%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #142      +/-   ##
==========================================
+ Coverage   95.71%   95.74%   +0.03%
==========================================
  Files          49       49
  Lines        5251     5289      +38
==========================================
+ Hits         5026     5064      +38
  Misses        225      225

Impacted Files
Coverage Δ

proving-system/stark/src/lib.rs
97.41% <100.00%> (+0.42%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Serialization] Note the misc version field of modules on deserialization failures

This added information will hopefully help us understand hard to reproduce deserialization failures.

@swift-ci Please smoke test

@swift-ci Please smoke test


Initial work on the collection of extra metrics.

This PR represents my initial work on the collection of extra metrics for a given Cilium agent and cluster. It focus essentially on the collection of metrics about an eventual cluster mesh.
# HELP cilium_extra_clustermesh_remote_cluster_etcd_has_quorum Whether the remote cluster's 'cilium-etcd' cluster has quorum
# TYPE cilium_extra_clustermesh_remote_cluster_etcd_has_quorum gauge
cilium_extra_clustermesh_remote_cluster_etcd_has_quorum{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
cilium_extra_clustermesh_remote_cluster_etcd_has_quorum{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
# HELP cilium_extra_clustermesh_remote_cluster_etcd_total_observed_leases The total number of observed lease IDs on the remote cluster's 'cilium-etcd' cluster belonging to the current Cilium agent
# TYPE cilium_extra_clustermesh_remote_cluster_etcd_total_observed_leases counter
cilium_extra_clustermesh_remote_cluster_etcd_total_observed_leases{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
cilium_extra_clustermesh_remote_cluster_etcd_total_observed_leases{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
# HELP cilium_extra_clustermesh_remote_cluster_etcd_total_observed_lock_leases The total number of observed lock lease IDs on the remote cluster's 'cilium-etcd' cluster belonging to the current Cilium agent
# TYPE cilium_extra_clustermesh_remote_cluster_etcd_total_observed_lock_leases counter
cilium_extra_clustermesh_remote_cluster_etcd_total_observed_lock_leases{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
cilium_extra_clustermesh_remote_cluster_etcd_total_observed_lock_leases{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
# HELP cilium_extra_clustermesh_remote_cluster_last_failure_timestamp The timestamp of the last failure of the remote cluster
# TYPE cilium_extra_clustermesh_remote_cluster_last_failure_timestamp gauge
cilium_extra_clustermesh_remote_cluster_last_failure_timestamp{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1.60025767973e+18
cilium_extra_clustermesh_remote_cluster_last_failure_timestamp{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1.600257681601e+18
# HELP cilium_extra_clustermesh_remote_cluster_readiness_status The readiness status of the remote cluster
# TYPE cilium_extra_clustermesh_remote_cluster_readiness_status gauge
cilium_extra_clustermesh_remote_cluster_readiness_status{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
cilium_extra_clustermesh_remote_cluster_readiness_status{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 1
# HELP cilium_extra_clustermesh_remote_cluster_total_failures The total number of failures related to the remote cluster
# TYPE cilium_extra_clustermesh_remote_cluster_total_failures gauge
cilium_extra_clustermesh_remote_cluster_total_failures{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 2
cilium_extra_clustermesh_remote_cluster_total_failures{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 2
# HELP cilium_extra_clustermesh_remote_cluster_total_nodes The total number of nodes in the remote cluster
# TYPE cilium_extra_clustermesh_remote_cluster_total_nodes gauge
cilium_extra_clustermesh_remote_cluster_total_nodes{cluster="cluster-1",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 4
cilium_extra_clustermesh_remote_cluster_total_nodes{cluster="cluster-3",self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 4
# HELP cilium_extra_clustermesh_total_global_services The total number of global services in the cluster mesh
# TYPE cilium_extra_clustermesh_total_global_services gauge
cilium_extra_clustermesh_total_global_services{self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 11
# HELP cilium_extra_clustermesh_total_remote_clusters The total number of remote clusters meshed with the local cluster
# TYPE cilium_extra_clustermesh_total_remote_clusters gauge
cilium_extra_clustermesh_total_remote_clusters{self="cluster-2/ip-X-X-X-X.eu-west-1.compute.internal"} 2

This still doesn't include Travis configuration, so the check will never get green. Therefore I am merging it as is as it has been approved by @albertocsm and @ewilde.


from kubeflow import fairing getting  ImportError: cannot import name 'mtls' on on prem cluster

/kind bug
What steps did you take and what happened:
[A clear and concise description of what the bug is.]
What did you expect to happen:
Anything else you would like to add:
[Miscellaneous information that will assist in solving the issue.]
Environment:

Fairing version: (use python -c "import kubeflow.fairing; print(kubeflow.fairing.__version__)"): 0.7.3
Kubeflow version: (version number can be found at the bottom left corner of the Kubeflow dashboard):1.0
Minikube version:
Kubernetes version: (use kubectl version): 1.15.5
OS (e.g. from /etc/os-release): pivotal PKS

NOTE: If you are using fair from master, please provide us the git commit hash.

Kubefloe Jupyter lab oS
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"

Would you please show more details for the traceback?  Are you using kubeflow-fairing in kubeflow Jupyter notebook? if so, would you please upgrade kubeflow-fairing and try again?

Guess that's caused by old google-auth installed, please update the google-auth library to the latest version (1.16.1). See more here https://github.com/googleapis/google-api-python-client/issues/939

@jinchihe  No luck. Same error
I have latest kubeflow-fairing==0.7.3  and google-auth (1.17.2)
Below are installed   libraries.
 We did not hit the problem before, and I cannot reproduce that. @pvgbabu
By the way, the kubeflow-fairing 1.0.0 has been released. Would you please try to reinstall or upgrade kubeflow-fairing, and try again?

Thanks @jinchihe, kubeflow-fairing 1.0.0  working fine. But i am having issues with docker image push becoz of docker inside dicker and dockerd initiation. is there any image or yaml to address docker inside docker image push to repositories.

is there any image or yaml to address docker inside docker image push to repositories.

I have not, but why not try cluster build, that's no need docker in docker. Thanks.

Could you please explain/refer me to any link/example for cluster build.
Appreciate all your help.
On Tue, Jul 7, 2020 at 3:40 AM Jin Chi He<EMAIL_ADDRESS>wrote:

is there any image or yaml to address docker inside docker image push to
repositories.
I have not, but why not try cluster build, that's no need docker in
docker. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kubeflow/fairing/issues/513#issuecomment-654694738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACESL37ZKBYUHWCJUC2RL7DR2LNRLANCNFSM4OCWADUA
.

--
Ganesh Babu P V
Manger Enterprise Advanced Analytics (ML/DS/AI)
TD Ameritrade
Omaha,NE


Focusing debug console or output hides TypeScript version being used in status bar

#21037
It's strange to see the status bar jump around like this, especially when you click the debug console's monaco editor (the status bar item hides on mousedown, and show on mouseup).
It's happening because output and debug console are using monaco editors. The status bar item should show based on the last active editor, not the currently active monaco instance.

Duplicate of #16478


ReferenceError: headers is not defined

Not sure if this is the case just for me or everyone with the recent changes, but this change fixed it for me.
ReferenceError: headers is not defined
    at Connection.rawRequest (/home/locker/node_modules/cradle/lib/cradle.js:116:9)
    at Connection.request (/home/locker/node_modules/cradle/lib/cradle.js:179:17)
    at [object Object].query (/home/locker/node_modules/cradle/lib/cradle/database/index.js:15:21)
    at [object Object].exists (/home/locker/node_modules/cradle/lib/cradle/database/index.js:19:10)
    at /home/locker/database.js:41:13
    at Array.forEach (native)
    at Object.configure (/home/locker/database.js:30:13)
    at HTTPSServer.<anonymous> (/home/locker/mvc.js:98:14)
    at HTTPSServer.configure (/home/locker/node_modules/express/lib/http.js:542:61)
    at bootApplication (/home/locker/mvc.js:84:7)

You caught this before me, but I fixed it in 0ce38561f84fe7ffc0bc4b7658b6f459a88d6112


mr_canhubk3: disable FS26 SBC watchdog by default

Default to use FS26 SBC in debug mode for this board configuration and provide instructions on how to enable it when required. Having it enabled by default causes multiple test and samples failures, for instance, as a side effect of not being able to close the initialization phase within the timeout.
At the moment there is no complete driver for the FS26 SBC but only for its watchdog functionality. Keep at least some build-only tests for it.

cc @PetervdPerk-NXP @bperseghetti

When fs26 driver is disabled, then fs26 chip watchdog can still reset the chip.

With the changes on this PR, the FS26 needs to be started in debug mode, so there won't be a reset triggered. To use it in normal mode, the application needs to enable the FS26 wdog driver by following these steps.

Please add behaviour if zephyr wdog is disabled the fs26 also gets disabled so that watchdog doesnt reset chip.

Moving the FS26 wdog initialization from a wdog driver to a board init routine does not help with the problem, as the initialization still needs to be done and it conflicts with various tests. The concern is that the lists of tests conflicting will grow over time, and those tests would otherwise pass if the wdog initialization does not need to be done. And also the wdog driver (that does the initialization) cannot be disabled in the affected tests, otherwise it would trigger a reset as you said. Hence the reason to disable it in the default configuration.
If these changes present a usability concern, we will need to address each test separately and this would be then the justification for not disabling it in the default board config.

The FS26 SBC on startup has watchdog that has to disabled if you intend to not use the watchdog.
I can be turned through SPI or through the FS26 Debug mode hardaware mode.
However the FS26 debug mode iss complex to setup, you need a 12V power supply and do the jumper stuff.
In the end I want to have 3 possible behaviors

FS26 as a Watchdog and S32K344 has to respond to watchdog challenges
FS26 gets disabled on startup by the S32K344 you can do this through by writing WDW_PERIOD_DISABLE | WDW_RECOVERY_DISABLE to the WDW_DURATION on the FS26 on startup
A user overrides the FS26 through the jumper thus putting it in debug mode

For the out-of-the-box end-user experience 1 or 2 is acceptable, having 3 as the default is not.


How to use Flatpickr with Vue.js and validating via Vee-Validate?

Hello.
I use Flatpick with Vue.js and Vee-Validate as single Vue-component:
<template>
  <div>
    <input
      v-model="date_arrival"
      v-validate="'required'"
      :class="{'input': true, 'is-danger': errors.has('date_arrival') }"
      type="text" name="date_arrival" id="date_arrival"
      class="input is-medium" placeholder="Select date"
      required
    />
  </div>
</template>

<script>
  import Vue from 'vue'
  import Flatpickr from 'flatpickr'
  import VeeValidate from 'vee-validate'

  Vue.use(VeeValidate)

  export default {
    name: 'date-picker',
    data() {
      return {
        date_arrival: '',
      }
    },
    mounted() {
      // Make datepicker for date_arrival field
      new Flatpickr('#date_arrival', {
              locale: null,
              minDate: 'today',
              maxDate: null,
              mode: 'range',
              altInput: true,
              altFormat: 'M d, Y',
              dateFormat: 'Y-m-d',
      })
    }
  }
</script>

But Flatpickr make this input to type="hidden" and place his own input near. If I try to submit this input with empty value — Vee-Validate doesn't show error, all is okay (actually not) and form submitted with empty field...
How can I solve this? Help please.
Your Environment

flatpickr version used: 4.2.4
Browser name and version: Safari 11.0.3
OS and version: macOS 10.13.3
Vue.js: 2.5.13
Vee-Validate: 2.0.3

Hello@koddr :)
You can either not use altInput OR convert the selected date from one format to another before submission.


Ability to configure air quality ranges

Would be good to have a custom configuration for air quality ranges
function pm2_5ToAqi(aqi: number) {
  if (!aqi) {
    return 0; // Error or unknown response
  } else if (aqi <= 25) {
    return 1; // Return EXCELLENT
  } else if (aqi > 25 && aqi <= 50) {
    return 2; // Return GOOD
  } else if (aqi > 50 && aqi <= 75) {
    return 3; // Return FAIR
  } else if (aqi > 75 && aqi <= 100) {
    return 4; // Return INFERIOR
  } else if (aqi > 100) {
    return 5; // Return POOR (Homekit only goes to cat 5, so the last two AQI cats of Very Unhealty and Hazardous.
  } else {
    return 0; // Error or unknown response.
  }
}

As a user I want to be able to set another ranges to have more flexible automation at the Apple Home

Any progress with this? This can't be a problem because another plugins has got it - it is called "pm25_breakpoints".


U2Net tf pb model works fine , but tflite model works wrong

The project is from pytorch model
I use colab
I put two result pics together.
Only need to update my_tf_model.pb-20210429T083200Z-001.zip in colab.
my_tf_model.pb-20210429T083200Z-001.zip
my_tf_model.zip
my_model2.zip

Please elaborate more on the expected results.

The expected result is like pb model's output.
And there is some expected result.
I have updated colab, thanks.

When I comment this code:
converter.optimizations = [tf.lite.Optimize.DEFAULT]
It works fine, thank you very much!

I have another questions, pls:
1.Don't use optimizations , time speed transforms from 800ms to 1700ms, is it normal? How to balance time and accuracy?
2.The tflite model's input is [1,3,224,224], should I do some special operation  to use it in android? Shoudl I change the shape to [1, 224,  224, 3]? Result is not good in my android app.

@AR-fan ,
Could you please confirm if the above mentioned issue is resolved. if yes, please feel free to move this issue to closed status and please submit a new issue from this link and fill in the template, so that we can track the issue there. Thanks!

Let's use this for the remaining model optimization toolkit issue.

Hello everyone , how is it going？

Could you upload a new issue for the left-over model optimization toolkit? Looks like this issue already is closed and it is hard to get attentions due to the long history.

OK, thank you!

--
1:947996152464:ios:458174e3f31524b50afe15 martes, 25 mayo 2021, 04:50a. m. -05:00 de tensorflow-butler[bot]  @.*** :

Are you satisfied with the resolution of your issue?
Yes
No
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly,  view it on GitHub , or  unsubscribe .


Publish detekt-bom module

🤔 If we publish the bom... should we keep ktlint in or bom? I use detekt and ktlint as different tools.

If we publish the bom... should we keep ktlint in or bom? I use detekt and ktlint as different tools.

The question is when to use the detekt pom? Who will use it?
Users embedding detekt or write custom rules? -> KtLint should be included
Normal users of the cli or gradle plugin won't need it, right?

Users embedding detekt or write custom rules? -> KtLint should be included

Should it? Should I align my custom rules with the format plugin?
Should we create a different bom for the format plugin? This bom should contain the detekt bom plus the format plugin dependencies (ktlint).

Users embedding detekt or write custom rules? -> KtLint should be included

Should it? Should I align my custom rules with the format plugin?
Should we create a different bom for the format plugin? This bom should contain the detekt bom plus the format plugin dependencies (ktlint).

Your right. detekt-formatting is an extension and its dependencies shouldn't be included in the bom.
But as a rule authors do I really need to include the bom? Or is api enough?
From the point of view of the sonarqube and intellij plugin collaborator I want to have one bom with all dependencies :).
But there shouldn't be any problems with including KtLint as a transitive dependency in this cases.

We have a nexus repository which mirrors other repositories.
In our mirror, we somehow managed to retrieve this file:
https://<our nexus repo>/repository/maven-public/io/gitlab/arturbosch/detekt/detekt-bom/1.10.0/detekt-bom-1.10.0.module
With the following content:
You are using a deprecated resolve URL for Pentaho projects. The correct resolve URL is:

https://nexus.pentaho.org/content/groups/omni

Please refer to the official Pentaho Documentation on how to build Pentaho projects with Maven:

https://github.com/pentaho/maven-parent-poms/wiki

This is a sample settings.xml file that could be used in your local build environment:

https://github.com/pentaho/maven-parent-poms/blob/master/maven-support-files/settings.xml

Could this possibly be a problem of the packaging of detekt? Or a problem with our nexus repository configuration?

Could this possibly be a problem of the packaging of detekt? Or a problem with our nexus repository configuration?

A mixture of the two. You nexus is considering an error page a valid artifact and storing it (maybe this should be disabled in the configuration).
On the other hand, we're failing and publish all the needed files (specifically detekt-bom-1.10.0.module is missing). I've opened an issue to fix this #2878. Let's follow over there.