Create minimal, extensible example of base Schematic

For this exercise, I created a schema based on our current Challenge model and a select number of its properties:

Challenge Name - to showcase schematic's unique validation rule
Challenge Description
Challenge Tags - to showcase schematic's list like validation rule (in other words, being able to pass a list of values)
Challenge Status - to showcase schematic's enforcement of valid values

The result of the Challenge component looks something like this:

Attribute
Description
Valid Values
DependsOn
Required
Properties
Parent
DependsOn Component
Source
Validation Rules

Challenge
A challenge

"Challenge Name, Challenge Description, Challenge Tags, Challenge Status"

Challenge Name
Name of the challenge

TRUE

unique

Challenge Description
Summary of the challenge

TRUE

Challenge Tags
Keywords for the challenge

FALSE

list like

Challenge Status
Current status of the challenge
"upcoming, active, closed"

TRUE

This schema is then converted into a JSON-LD with schematic's convert command:
$ schematic schema convert ~/Desktop/challenge_component.csv

Afterward, I created a sample manifest with 3 dummy challenges:

Challenge Name
Challenge Description
Challenge Tags
Challenge Status

Awesome Challenge
Join us in this awesome challenge! We have cookies.
awesome;cookies
upcoming

Awesome Challenge
We aso hav cukes
awesome;cookies
coming soon

I-Know-Nothing Challenge

Fun detail (but not at all important): Harper sounded out and spelled the second challenge's description 😆

I expect the manifest to have one valid row and two invalid:

Row
Attribute
Expected Error

1
None
N/A

2
Challenge Name
Not unique

2
Challenge Status
Invalid value used

3
Challenge Description
Required, but missing

3
Challenge Status
Required, but missing

Putting it to the test, I then ran the manifest through validation with schematic's validate command:
$ schematic model -c test_config.yml validate -mp ~/Desktop/challenge_manifest.csv -dt Challenge
Starting schematic...
The (model > input > location) argument with value '/Users/vchung/Desktop/challenge_component.jsonld' is being read from the config file.
The (model > input > file_type) argument with value 'local' is being read from the config file.
JSON schema successfully generated from schema.org schema!
JSON schema file log stored as /Users/vchung/Desktop/challenge_component.Challenge.schema.json
FileDataContext loading zep config
GxConfig.parse_yaml() failed with errors - [{'loc': ('xdatasources',), 'msg': 'field required', 'type': 'value_error.missing'}]
GxConfig.parse_yaml() returning empty `xdatasources`
Loading 'datasources' ->
{}
Loaded 'datasources' ->
{}
EphemeralDataContext has not implemented `_load_zep_config()` returning empty `GxConfig`
Loading 'datasources' ->
{}
Loaded 'datasources' ->
{}
warning: /Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py:1088: DeprecationWarning: 'soft_unicode' has been renamed to 'soft_str'. The old name will be removed in MarkupSafe 2.1.
warning:   return concat(self.root_render_func(self.new_context(vars)))
	1 expectation(s) included in expectation_suite.
Calculating Metrics: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:00<00:00, 436.77it/s]
error: An unexpected Exception occurred during data docs rendering.  Because of this error, certain parts of data docs will not be rendered properly and/or may not appear altogether.  Please use the trace, included in this message, to diagnose and repair the underlying issue.  Detailed information follows:
error:                 TypeError: "expected string or bytes-like object".  Traceback: "Traceback (most recent call last):
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/renderer/site_builder.py", line 484, in build
error:     viewable_content = self.view_class.render(
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 110, in render
error:     return t.render(document, **kwargs)
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
error:     self.environment.handle_exception()
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
error:     reraise(*rewrite_traceback_stack(source=source))
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
error:     raise value.with_traceback(tb)
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/page.j2", line 54, in top-level template code
error:     {% include 'section.j2' %}
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/section.j2", line 6, in top-level template code
error:     {% include 'component.j2' %}
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/component.j2", line 24, in top-level template code
error:     {{ content_block | render_content_block }}
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 199, in render_content_block
error:     return template.render(
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
error:     self.environment.handle_exception()
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
error:     reraise(*rewrite_traceback_stack(source=source))
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
error:     raise value.with_traceback(tb)
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/table.j2", line 50, in top-level template code
error:
{{ cell | render_content_block(content_block_id=content_block_id + '-content') }}

error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 168, in render_content_block
error:     rendered_block += self.render_content_block(
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 192, in render_content_block
error:     return template.render(
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
error:     self.environment.handle_exception()
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
error:     reraise(*rewrite_traceback_stack(source=source))
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
error:     raise value.with_traceback(tb)
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/collapse.j2", line 52, in top-level template code
error:     {{ block | render_content_block(content_block_id=content_block_id) }}
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 192, in render_content_block
error:     return template.render(
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 1090, in render
error:     self.environment.handle_exception()
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/environment.py", line 832, in handle_exception
error:     reraise(*rewrite_traceback_stack(source=source))
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/jinja2/_compat.py", line 28, in reraise
error:     raise value.with_traceback(tb)
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/templates/string_template.j2", line 1, in top-level template code
error:     {{ content_block["string_template"] | render_string_template }}
error:   File "/Users/vchung/Desktop/data_curator/.venv/lib/python3.8/site-packages/great_expectations/render/view/view.py", line 328, in render_string_template
error:     template["template"] = re.sub(
error:   File "/Users/vchung/opt/miniconda3/envs/synapse/lib/python3.8/re.py", line 210, in sub
error:     return _compile(pattern, flags).sub(repl, string, count)
error: TypeError: expected string or bytes-like object
error: ".
error: Column Challenge Name has the duplicate value(s) {'Awesome Challenge'} in rows: [2, 3].
error: For the attribute 'Challenge Status', on row 3, 'coming soon' is not one of ['upcoming', 'closed', 'active'].
error: For the attribute 'Challenge Description', on row 4, '' is too short.
error: For the attribute 'Challenge Status', on row 4, '' is not one of ['upcoming', 'closed', 'active'].
[[[2, 3], 'Challenge Name', "Column Challenge Name has the duplicate value(s) {'Awesome Challenge'} in rows: [2, 3].", {'Awesome Challenge'}], [3, 'Challenge Status', "'coming soon' is not one of ['upcoming', 'closed', 'active']", 'coming soon'], [4, 'Challenge Description', "'' is too short", ''], [4, 'Challenge Status', "'' is not one of ['upcoming', 'closed', 'active']", '']]

(Ignoring the traceback from one of schematic's dependencies) We can see that the expected validation errors were caught 🎉.  Additionally, schematic offers the choice to not utilize Great Expectations rules, which will offer a cleaner output at the expense of not catching the unique validation rule:
$ schematic model -c test_config.yml validate -mp ~/Desktop/challenge_manifest.csv -dt Challenge -rr
Starting schematic...
The (model > input > location) argument with value '/Users/vchung/Desktop/challenge_component.jsonld' is being read from the config file.
The (model > input > file_type) argument with value 'local' is being read from the config file.
JSON schema successfully generated from schema.org schema!
JSON schema file log stored as /Users/vchung/Desktop/challenge_component.Challenge.schema.json
Great Expetations suite will not be utilized.
error: For the attribute 'Challenge Status', on row 3, 'coming soon' is not one of ['active', 'closed', 'upcoming'].
error: For the attribute 'Challenge Description', on row 4, '' is too short.
error: For the attribute 'Challenge Status', on row 4, '' is not one of ['active', 'closed', 'upcoming'].
[[3, 'Challenge Status', "'coming soon' is not one of ['active', 'closed', 'upcoming']", 'coming soon'], [4, 'Challenge Description', "'' is too short", ''], [4, 'Challenge Status', "'' is not one of ['active', 'closed', 'upcoming']", '']]

(Tentative) Next Steps
"integrate [schematic] as part of the stack, e.g. creates Nx tasks that download the data from the Google Sheet, validate them and populate a DB in MariaDB"


Multiple code actions conflict due to a race condition

Environment:

VSCode Version: 1.42
OS Version: Windows 10 v1809
Does this issue occur when all extensions are disabled?: No

Issue:
This is what happens when only pressing save once (only input 1 x STRG+S):

This is due to multiple code actions running in parallel.
This is not an issue with the extensions them self (I tested them independently and they work fine), this is a VS code issue.
Steps to Reproduce:

Install the Python and Pyright extensions.

ms-python.python
ms-pyright.pyright

Use the following VS code settings:{
    "editor.formatOnSave": false,
    "python.jediEnabled": false,
    "[python]": {
        "editor.codeActionsOnSave": {
            "source.organizeImports": true,
        }
    }
}

Create an empty python file
Insert this import statement:from test_module import (test_method_1, test_method_2, test_method_3, test_method_4,
                         test_method_5, test_method_6)

Save (STRG + S)

Possible solution:
Code action providers should run successively.
Others:
I want to mention that code actions and formatting also conflicts with a race condition. This should also be addressed independently and is tracked here: https://github.com/microsoft/vscode/issues/83586

This seems like the same issue as #83586 When I investigated the issue, it seems that VS Code is doing the right thing. However it is possible there is a bug in the extensions.
VS Code executes the actions in the correct order but extensions need to return a promise that tracks when they have completed editing the file. If an extension does not do this, we will try executing the next actions before the previous one completed
Please try following up with the python extensions on this. If they come back and say that VS Code really is doing the wrong thing, we will take a look.

@mattbierner You did see that the editor.formatOnSave was set to false?
It has nothing to do with formatting. It has nothing to do with the issue you linked... in which I was also active.
Please confirm that you checked with formatting turned off.
Please reopen if closing this was a mistake.

@mattbierner I also already did what you are asking me to do. I reported this issue on the vscode-python extension before opening this issue here, see: https://github.com/microsoft/vscode-python/issues/9889
Could you please reopen this issue?

@mattbierner I also want to make sure that it is clear that the extensions independently work without any issues.
I checked the code of the pyright extension and it looks to me like they are returning the promise as you expect: https://github.com/microsoft/pyright/blob/master/client/src/progress.ts
So I guess we are back here. Could you please reopen.

@Spenhouet Yes. I'd really like an extension author to look at this and tell me what exactly VS Code is doing wrong here. There's are many cases where it's the extension themselves misbehaving so I'd really like to know what the issue is from the extension's point of view before diving into this

I don't know since when this is option is available but I did see that pyright now has the option to disable their import organizer. This does not solve the underlying issue!
But, it is a work around. Since with the pyright import organizer disabled only one code action is active, the above mentioned issues does no longer appear.
"pyright.disableOrganizeImports": true,


ci: avoid publishing test results if S3 isn't available

following this comment

still not work
try  ${{ env.AWS_KEY_ID != '' }} instead ${{ env.AWS_KEY_ID }}
"If a secret has not been set, the return value of an expression referencing the secret (such as ${{ secrets.SuperSecret }} in the example) will be an empty string."
https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-using-secrets


Add support for stream errors to message channel

Closes #1

Went through this looks pretty solid.
LGTM

looks freaking snazzy. great work


test_follower_slow_split failed

Bug Report
https://circleci.com/gh/tikv/tikv/14968?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

https://circleci.com/gh/tikv/tikv/15035?utm_campaign=vcs-integration-link&utm_medium=referral&utm_source=github-build-link

test_follower_slow_split failed again. https://internal.pingcap.net/idc-jenkins/blue/organizations/jenkins/tikv_ghpr_test/detail/tikv_ghpr_test/8463/pipeline/126

close because the duration after the last failed test is too long and can not see the log


Do you have an example?

Hello,
I'm trying to use your module. Where do I declare the menu? Do you have a sample presentation?

http://portfolio.michaeldausmann.com/

I have just put a seperate div above the Reveal div in the body of the document...


.d.ts files strip private property types, which can be used to distinguish instance types

TypeScript Version:  4.0.0-dev.20200604

Search Terms:
private class property type declaration
Expected behavior: .d.ts files preserve the types of private properties, as these determine if an instance type is assignable to another
Actual behavior: .d.ts files strip private property type, creating an error

Related Issues: N/A
Code

namespace Original {
    class Box<T> {
        declare private value: T;
    }

    type Assert<T, U extends T> = U;

    export type False = Assert<false, Box<number> extends Box<string> ? true : false>;
}

// Compiles to:

declare namespace Compiled {
    class Box<T> {
        private value;
    }
    type Assert<T, U extends T> = U;
    // Errors becuase the type of Box.value was stripped
    export type False = Assert<false, Box<number> extends Box<string> ? true : false>;
    export {};
}

Obviously, this is a contrived example, but this was an issue I ran into.
Output
"use strict";
var Original;
(function (Original) {
    class Box {
    }
})(Original || (Original = {}));

Compiler Options
{
  "compilerOptions": {
    "noImplicitAny": true,
    "strictNullChecks": true,
    "strictFunctionTypes": true,
    "strictPropertyInitialization": true,
    "strictBindCallApply": true,
    "noImplicitThis": true,
    "noImplicitReturns": true,
    "alwaysStrict": true,
    "esModuleInterop": true,
    "declaration": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "moduleResolution": 2,
    "target": "ES2017",
    "jsx": "React",
    "module": "ESNext"
  }
}

Playground Link: Provided

A workaround is to use protected instead of private; it will preserve the type in the .d.ts, while still keeping it nominal.

What if the compiler outputted (variance: any) => any, (variance: any) => T, (variance: T) => any, or (variance: T) => T (multiple generics can be handled with intersections, i.e. (variance: T & U) => U), based on the variance. When #1394 lands, it could be changed to the corresponding types, which wouldn't be a breaking change, as the types of private properties are not relevant for anything.

2 years later and ran exactly into this issue

However, if the type is imported via a .d.ts file (i.e. at compile time), the type of x is any! This leads to a long path of debugging where you can't figure out why vscode doesn't match tsc.

Would like to clarifications inside docs on protected vs private and/or remove the ability to get types from private methods entirely.

2 years later, exactly the same rabbithole and just stumbled across this 🤣


New Mac build error: bliss fails to build

I have filed an issue upstream but it's disturbing that the version of bliss in cpddl is quite old compared to upstream.
For now, I have been running the grounder inside a docker container, but this is unsatisfactory, because it is prone to losing error messages, etc. when I run it inside a shell script.  So any suggestions would be very welcome.

Basically, we need to get Dan Fiser to update this code. And then - we as a next step need to update our code as his current version has a different API to what we were expecting.


Default icon

Maybe we should ship the generated workflow with a custom icon? Maybe a scaled down version of the alfy icon?

Or just the hat. Would be a better fit for the format.

Hat +1


Some outdated module commands

From this page: https://github.com/SimScaleGmbH/external-building-aerodynamics/blob/master/GRASSHOPPER-INSTALLATION.md#simscale-external-building-aerodynamics-module---github-reference
I believe the new version is named simscale_eba instead of simscale-eba:

hey @RicardoGasparini I did:
simscale-eba --help
in cmd and it worked fine, can you confirm?

Hey Darren, simscale-eba is not an existing module (at least for me).

Outcome: simscale-eba needs to be called outside of python. Proposal for changes in https://github.com/SimScaleGmbH/external-building-aerodynamics/blob/master/GRASSHOPPER-INSTALLATION.md#simscale-external-building-aerodynamics-module---github-reference
"You can test the installation by typing simscale-eba --help into a fresh CMD window, you should see a response similar to the following:"


mix release fails with "No releases exist in the system for 'my_app':0.0.1!"

There don't appear to be any errors but it looks like the release isn't being created.
Here's what I get when I run mix release --verbosity=verbose:
https://gist.github.com/D1plo1d/de88d8f8325ce6493e8c

This appears to be an issue with the pascal-cased application name as I was able to reproduce this with my exrm-test app, and just changing the app name to be capitalized. I don't yet know where this is taking place, but the convention for application names in the Erlang/Elixir world is all lowercase, so there may be assumptions baked into relx which this bumps up against. Could you adjust that and try again just for the sake of confirmation?

@bitwalker Renaming app in mix.exs to a lowercase/underscored name totally fixed it. Thanks!

I've have a question, how generally define the version of a release? I have a 0.0.1 version, it works, after to triing define the version 1.0.0 like it: {release, {my_app, "1.0.0"}, [my_app]} in relx.config. It failed:
No releases exist in the system for my_app:0.0.1!
==> Failed to build release. Please fix any errors and try again.
What can be wrong? Or how to define the version properly with?

Hey Dmitry,
The problem here (I'm assuming, I'd need to test my assumption) is likely
that you are adding release definitions manually to the relx.config. exrm
will handle that for you transparently. I'd be interested to hear if it
works if you let exrm define the release for you.
Paul
On Wed, May 13, 2015 at 3:47 AM, Dmitry Aleksandrov(Russ) <
<EMAIL_ADDRESS>wrote:

I've have a question, how generally define the version of a release? I
have a 0.0.1 version, it works, after to triing define the version 1.0.0
like it: {release, {my_app, "1.0.0"}, [my_app]} in relx.config. It failed:
No releases exist in the system for my_app:0.0.1!
==> Failed to build release. Please fix any errors and try again.
What can be wrong? Or how to define the version properly with?
—
Reply to this email directly or view it on GitHub
https://github.com/bitwalker/exrm/issues/122#issuecomment-101577456.


Slayer task chat command throw NullPointerException

Describe the bug
NullPointer is throw when chat command is executed
To Reproduce

Have the slayer task (from konar): 94 lizardman in the battlefront
Type !slayer in chat

Expected behavior
Show the standard chat response on the command with the amount of kills / total kills ....
Screenshots
/
Environment (please complete the following information):

OS: Windows
RuneLite version: 1.6.32
Launcher version: 1.6.2

Additional context
2020-11-26 16:24:58 [pool-2-thread-1] WARN  n.r.c.util.RunnableExceptionLogger - Uncaught exception in runnable net.runelite.client.chat.ChatCommandManager$$Lambda$1660/0x00000008018f9040@73d9d263
java.lang.NullPointerException: null
	at net.runelite.client.plugins.slayer.SlayerPlugin.taskLookup(SlayerPlugin.java:831)
	at net.runelite.client.chat.ChatCommandManager.lambda$onChatMessage$0(ChatCommandManager.java:122)
	at net.runelite.client.util.RunnableExceptionLogger.run(RunnableExceptionLogger.java:41)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:835)

Can you show us the exact text the gem says when you check it please?  The location just needs to be added to this list, and having the exact text would help verify "in the battlefront" is correct.


Counting Sort

Counting sort is a sorting technique based on keys between a specific range. It works by counting the number of objects having distinct key values (kind of hashing). Then doing some arithmetic to calculate the position of each object in the output sequence.

@Kumar-laxmi  assign this in C++ to me.

Assigned!
@vijay-kumar-yadav : C++

Please assign it to me in Java @Kumar-laxmi

Assigned!
@Abhishek9229 : Java

@Kumar-laxmi Please assign it to me for Python.

@Kumar-laxmi Please assign this to me in C .

@Abhishek9229 What is your status on this issue

Assigned!
@stiwari-ds : Python
@Abhilash1781 : C

@Abhishek9229 What is your status on this issue?

yes it is in progress i need just a couple of days

yes it is in progress i need just a couple of days

What is the status now?

Unassigning @Abhishek9229 due to inactivity

Assigned!
@Harshit-Raj-14 : Java


Benchmark samples

Assuming we'd like to hold off for now, but putting this up so you can merge at will :smiley:  @ChrisCraik

@objcode I added some clarifying comments here https://github.com/googlesamples/android-performance/pull/11 to address your concerns. Let me know if you'd like anything else changed!


loop over array (array_each or apply for arrays)

We have some cases where we may want to iterate over an array so I'm thinking about either defining a function array_each or allow arrays as input data for apply.
array_each (the definition is a bit outdated):
{
    "id": "array_each",
    "summary": "Applies a unary process to each array element",
    "description": "Applies a **unary** process which takes a single value such as `abs` or `sqrt` to each value in the array.",
    "categories": [
        "arrays"
    ],
    "parameter_order": ["data", "process"],
    "parameters": {
        "data": {
            "description": "An array.",
            "schema": {
                "type": "array",
                "items": {
                    "description": "Any data type is allowed."
                }
            },
            "required": true
        },
        "process": {
            "description": "A process (callback) to be applied on each value. The specified process must be unary meaning that it must work on a single value.",
            "schema": {
                "type": "object",
                "format": "callback",
                "parameters": {
                    "x": {
                        "description": "A value of any data type could be passed."
                    }
                }
            },
            "required": true
        }
    },
    "returns": {
        "description": "An array with the newly computed values. The number of elements are the same as for the original array.",
        "schema": {
			"type": "array",
			"items": {
				"description": "Any data type is allowed."
			}
        }
    }
}

It's probably also useful to define array_filter and array_reduce?!


Periodic (Cron) jobs

Hi and thank you for open sourcing this job framework!
I'm just starting to try it out but it looks quite promising. My mine motivator is the SQLite support.
One feature I'm missing (or haven't found yet) are periodic aka cron jobs. I have many use cases for some daily/weekly etc sync or update jobs.
Not sure if you think that should be part of delayed or are you maybe combining delayed with some kind of scheduler that runs alongside and simply queues jobs when their time has come? If so, any recommendations?

You may create rake tasks calling the jobs and invoke them using cron.

I am hoping to avoid OS level integration, e.g. via cron directly.
But I think it makes sense to look for a separate scheduler which then queues jobs - it's just some job frameworks have taken on that complexity themselves (which has pros and cons of course)

take a look at whenever gem. it's for writing and deploying cron jobs.

Finally RailsConf in person again, enjoy @smudge !
Yes that'd be interesting. especially around "as-close-to-once enqueue as possible"

Going to have a look at crono too though it doesn't seem to be maintained anymore
https://github.com/plashchynski/crono

Awesome thanks will have a look at that... came across clockwork too.
For now I actually use Dokku Docker Local Scheduler which is cron based as that's my deployment infrastructure.
But I think for anyone looking into that this discussion should help and maybe the DB backend for clockwork can be an option in the future - that diff is definitely super helpful.
Happy to discuss further and lend a hand, but also okay closing this issue for now.
Thanks for all your time and work!


iPadOS: Failed to load plugin simple-embed

For the last few days, I can no longer use simple embeds on my iPad. Trying to activate the plugin always generates the following message: "Failed to load plugin simple-embeds". It used to work well. Still working well on my PC.

Thanks for reporting. I'm seeing the same thing. There appears to be an API or syntax that Safari does not like in one of the libraries I'm using. Looking for a workaround now

@KelsoUxlay should be fixed now in 1.10.2

Fixed! That was fast! Good work


Overriding TabLine/Fill/Sel colors

I've tried setting the highlight colors for TabLine/Fill/Sel in my vimrc, but it would just not work. I've found the option to disable lightline's tabline feature, but is there a way to override the tabline colors without disabling lightline's tabline features?

Hi,
I'm trying to create a colorscheme that leaves the tab bar "transparent" (i.e., no colors) except for the selected tab. What I did in my vim coclor scheme is this :
hi TabLineFill  guifg=none     ctermfg=none     guibg=none     ctermbg=none     gui=none    cterm=none
hi TabLine	    guifg=none     ctermfg=none     guibg=none     ctermbg=none     gui=none    cterm=none
hi TabLineSel   guifg=none     ctermfg=none     guibg=none     ctermbg=none     gui=none    cterm=inverse
It works without lightline, but with lightline it doesn't. Here's what I tried in the lightline colorscheme :
let s:p.tabline.left = [ [ 'none', 'none' ] ]
let s:p.tabline.tabsel = [ [ 'none', 'none', 'none', 'none', 'inverse' ] ]
let s:p.tabline.middle = [ [ 'none', 'none' ] ]
let s:p.tabline.right = [ [ 'none', 'none' ] ]
This turns everything in the tab bar to black.
Am I doing something wrong ? It seems like manually overriding the colors works.

Sorry but lightline does not support inverse attribute because it is too difficult to calculate the separator highlight from them.

I use highlight command to get all highlight groups which start with 'LightLine', and then I highlight all of them. But I find I still cannot change the color of TabLineFill.
What should I do to change the color of TabLineFille.

I found the highlight group, that is LighlightMiddle_tabline. It seems it isn't in highlight result.


Using the WriteTo() method with go 1.21 got problems

Description
We used excelize in the project, and in our business scenario, I need to call the WriteTo() method to create an Excel file. When I use go <IP_ADDRESS>, this is completely feasible. Recently, we switched to go <IP_ADDRESS> and found that the generated Excel file is damaged. After converting to an XML file, it was found that each tag contains the xmlns="" attribute. After careful investigation, we found that the cause should be the 1.21 version of go.
Code And Result
here is the code
func main() {
	file := excelize.NewFile()
	buf := bytes.NewBuffer(nil)
	_, err := file.WriteTo(buf)
	if err != nil {
		log.Fatalf("write err:%s", err.Error())
	}
	openFile, err := os.OpenFile("empty.xlsx", os.O_CREATE|os.O_WRONLY, 0666)
	if err != nil {
		log.Fatalf("openfile err:%s", err.Error())
	}
	defer openFile.Close()
	n, err := buf.WriteTo(openFile)
	if err != nil {
		log.Fatalf("write file err:%s", err.Error())
	}
	fmt.Println("write bytes ", n)
}

This is the XML generated for Excel conversion in version 1.21
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
    <dimension xmlns="" ref="A1"/>
    <sheetViews xmlns="">
      <sheetView tabSelected="true" workbookViewId="0"/>
    </sheetViews>
    <sheetFormatPr xmlns="" defaultRowHeight="15"/>
    <sheetData xmlns=""/>
</worksheet>

This is the XML generated for Excel conversion in version 1.18
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
    <dimension ref="A1"/>
    <sheetViews>
      <sheetView tabSelected="true" workbookViewId="0"/>
    </sheetViews>
    <sheetFormatPr defaultRowHeight="15"/>
    <sheetData/>
</worksheet>

The file generated by Go 21 version cannot be opened in Excel, and Excel will report an error that needs to be fixed
Conclusion
the diffrent is the xmlns="" attr and the go 1.21 version seems to be the reason，can you fix this bug? After all, it's due to the upgrade of the Go version

Thank you for reply. Hope it will be fixed soon

This issue already has been fixed in https://go.dev/cl/466295. As my reply in above, it has been fixed on Go 1.21.1. So please using the Go 1.20.11 and previous Go released version or upgrade to Go 1.21.1 and later.

ok,thank you


9.0.13+ wiz.bin not documented as incompatible with lower versions

While trying to find a version that doesn't crash regularly, discovered that 9.0.13+ wiz.bin is not compatible with 9.0.12 and couldn't find anything documenting the fact.  9.0.12 is the last version I'm sure was working without crashing regularly, but I've had to settle on 9.0.13 rather than go back to an old wiz.bin.

I'm not sure what an issue for an old version is going to accomplish.  Current version being worked on is 9.1.6.  Also, wiz.bin has never been backward compatible.

Not really interested in getting into a argument about this.  The release notes historically have ALWAYS stated when wiz.bin was not compatible with earlier versions. See 7.0.17 release notes for example.  I have to go back to 9.0 as any of the 9.1 versions have frequent crashes with Out of Memory errors and unable to create native thread errors.

I agree that this kind of thing should be in the release notes because we have some users that will find this information helpful and commits don't really make it obvious when database changes have happened unless you understand the changes themselves. That being said, it never occurred to me that it was release note-worthy because most users just stay current. I remain curious why you continue to have OOM issues.


fix: parse env name on adding

fixes: https://github.com/prefix-dev/pixi/issues/2245
Now parses the environment name

Btw tried to add a poper test but there was no framework to properly do that yet. Will have to improve that, but the feature/pixi-global has some more tools for that already.


Update specification terminology: "SM" -> "ShangMi"

Use the proper name for what is currently described as the SM instructions / ciphers.

Closed with spec release v0.7.2-scalar


generate.py very slow with GPU

I've trained a model to 100k steps on the GPU
When using the generate.py script my gpu is listed, CUDA opens successfully but samples are generated at only 200-400 samples per second. Is this normal?
Output of generate script:
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:455: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint8 = np.dtype([("qint8", np.int8, 1)])
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:456: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint8 = np.dtype([("quint8", np.uint8, 1)])
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:457: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint16 = np.dtype([("qint16", np.int16, 1)])
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:458: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_quint16 = np.dtype([("quint16", np.uint16, 1)])
/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/dtypes.py:459: FutureWarning: Passing (type, 1) or '1type' as a synonym of type is deprecated; in a future version of numpy, it will be understood as (type, (1,)) / '(1,)type'.
  _np_qint32 = np.dtype([("qint32", np.int32, 1)])
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:910] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 660M
major: 3 minor: 0 memoryClockRate (GHz) 0.95
pciBusID 0000:01:00.0
Total memory: 1.95GiB
Free memory: 1.68GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 660M, pci bus id: 0000:01:00.0)
Restoring model from logdir/train/2020-01-12T18-32-53/model.ckpt-99999

Did you accomplish anything with that hillbilly GPU?


Cannot visit Range

Hi,
I'm trying to use a custom predicate, but I get always the same error.
Ransack.configure do |config|
config.add_predicate 'btw',
:arel_predicate => 'in',
:formatter => proc {|v| Range.new(Date.today, Date.today+1)}
end
Thanks,
Carlos

Can you provide a stack trace?

The problem seems to be that by using the in Arel predicate, Ransack sets an internal variable called wants_array to true automatically.
When it actually calls Arel to build the query, the Range is wrapped in an Array which screws up the ability to generate a date range query.

Hey guys, patches/specs appreciated on this one. Or, better yet, see https://twitter.com/erniemiller/status/167289641295294464 and nominate a possible maintainer? :)

I'll do my best to get a patch & spec to allow for date ranges to work properly.
However, I wouldn't be a good candidate to maintain this gem as it's a little out of my skill range. I don't think I'd be able to do it justice. You've set a nice, high bar with this one ;) Really great gem.

Thanks for the hints. Here's a slightly terser way (without the monkey patch of the :wants_array attribute:
Ransack.configure do |config|
  config.add_predicate 'btw',
    :arel_predicate => 'in',
    :formatter => proc {|v| Range.new(Date.today, Date.today+1)}

  Ransack::predicates['btw'].instance_variable_set('@wants_array', false)
end

I'm just working on a PR to allow the same functionality to be achieved by passing :wants_array => false in the options, like this:
Ransack.configure do |config|
  config.add_predicate 'btw',
    :wants_array => false,
    :arel_predicate => 'in',
    :formatter => proc {|v| Range.new(Date.today, Date.today+1)}
end


Removed TOPAZ section

@luisgmsft,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/retry-service-specific.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/retry-service-specific.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/mspnp/architecture-center, working directory: W:\z5bl-s, target branch: master, target branch commit: b1d4405c39298cb3b4e307c1113f0b1e6c6659bf, source branch: 9c4f9dbcf81ea52d79d0d7e43ae5f930/retry-specifics-guidance/remove-topaz-section, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/retry-service-specific.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/best-practices/retry-service-specific.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Sending music from Atom Echo (ESP32) to Ubuntu VM.

Problem Description
Hello !
First, I would like to thank you for this wonderful repository !
I'm attempting to flash my M5 Atom Echo (ESP32) with the "bt_music_sender" example to stream music to my Ubuntu VM (22.04) on which there is a bluetooth dongle connected. I've set my ubuntu VM so that it can act as an A2DP sink by following this tutorial. Once configured, I can listen to music on the VM when i stream audio through my phone.
But when i attempt to stream "music" by using the "bt_music_sender" example, i'm not able to hear anything 🤔.
I'm quite a noob, so I'm really sorry if I've misunderstood a step or any kind of information that might help me to stream music.
Here are some logs :
[ 51981][I][BluetoothA2DPSource.cpp:475] bt_app_gap_callback(): [BT_AV] Discovery started.
[ 60628][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0xff00, param len 0
[ 60628][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0xff00
[ 60638][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_DISCOVERING, evt 0xff00
[ 60649][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 64165][D][BluetoothA2DPSource.cpp:456] bt_app_gap_callback(): [BT_AV] bt_app_gap_callback evt 0
[ 64166][I][BluetoothA2DPSource.cpp:389] filter_inquiry_scan_result(): [BT_AV] Scanned device: 00:e0:4c:9a:a9:03
[ 64173][I][BluetoothA2DPSource.cpp:395] filter_inquiry_scan_result(): [BT_AV] --Class of Device: 0x7c0000
[ 64182][I][BluetoothA2DPSource.cpp:399] filter_inquiry_scan_result(): [BT_AV] --RSSI: -48
[ 64190][I][BluetoothA2DPSource.cpp:419] filter_inquiry_scan_result(): [BT_AV] --Compatiblity: Compatible
[ 64200][I][BluetoothA2DPSource.cpp:421] filter_inquiry_scan_result(): [BT_AV] --Name: AudioTest
[ 64208][D][BluetoothA2DPSource.cpp:433] filter_inquiry_scan_result(): [BT_AV] --Checking match: AudioTest
[ 64218][I][BluetoothA2DPSource.cpp:442] filter_inquiry_scan_result(): [BT_AV] --Result: Target device found
[ 64227][D][BluetoothA2DPCommon.cpp:180] set_last_connection(): [BT_AV] set_last_connection: 00:e0:4c:9a:a9:03
[ 64237][D][BluetoothA2DPCommon.cpp:184] set_last_connection(): [BT_AV] no change!
[ 64244][I][BluetoothA2DPSource.cpp:446] filter_inquiry_scan_result(): [BT_AV] Cancel device discovery ...
[ 64256][D][BluetoothA2DPSource.cpp:456] bt_app_gap_callback(): [BT_AV] bt_app_gap_callback evt 1
[ 64262][I][BluetoothA2DPSource.cpp:466] bt_app_gap_callback(): [BT_AV] Device discovery stopped.
[ 64271][I][BluetoothA2DPSource.cpp:467] bt_app_gap_callback(): [BT_AV] a2dp connecting to peer: AudioTest
[ 64280][I][BluetoothA2DPSource.h:271] esp_a2d_connect(): [BT_AV] a2dp connecting to: 00:e0:4c:9a:a9:03
[ 64295][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x0, param len 16
[ 64300][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x0
[ 64310][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTING, evt 0x0
[ 64321][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 64331][D][BluetoothA2DPSource.cpp:631] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks ESP_A2D_CONNECTION_STATE_EVT: Connecting
[ 64344][D][BluetoothA2DPSource.cpp:712] bt_app_av_state_connecting_hdlr(): [BT_AV] bt_app_av_state_connecting_hdlr evt 0
[ 65713][D][BluetoothA2DPSource.cpp:456] bt_app_gap_callback(): [BT_AV] bt_app_gap_callback evt 16
[ 65714][I][BluetoothA2DPSource.cpp:536] bt_app_gap_callback(): [BT_AV] ESP_BT_GAP_ACL_CONN_CMPL_STAT_EVT
[ 66493][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x0, param len 16
[ 66493][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x0
[ 66503][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTING, evt 0x0
[ 66514][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 66524][D][BluetoothA2DPSource.cpp:631] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks ESP_A2D_CONNECTION_STATE_EVT: Connected
[ 66537][D][BluetoothA2DPSource.cpp:712] bt_app_av_state_connecting_hdlr(): [BT_AV] bt_app_av_state_connecting_hdlr evt 0
[ 66547][I][BluetoothA2DPSource.cpp:720] bt_app_av_state_connecting_hdlr(): [BT_AV] a2dp connected
[ 68843][D][BluetoothA2DPSource.cpp:889] bt_app_rc_ct_cb(): [RCCT] bt_app_rc_ct_cb evt 0
[ 68844][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x0, param len 12
[ 6 681]5D][DluetluehA2DhA2DPSeocrc:307] p:_8pp_ ask_hppnrlect_: [B: API] bT] bpp_tpp__hancler, sigt 5:
0[16 8ve0t: 0x][Bl[ etoot][2DPBlurtootcp2pP257rc .c_ap942_ or__vdidpaavrc): _evtT_A [RC bt _t_av_orlkadic_ct_ech  vt 0
thA2DPSource.cpp:952] bt_av_hdl_avrc_ct_evt(): [RCCT] AVRC conn_state event: state 1, [00:e0:4c:9a:a9:03]
[ 68881][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x5
[ 68891][D][BluetoothA2DPSource.cpp:942] bt_av_hdl_avrc_ct_evt(): [RCCT] bt_av_hdl_avrc_ct_evt evt 5
[ 68900][I][BluetoothA2DPSource.cpp:991] bt_av_hdl_avrc_ct_evt(): [RCCT] AVRC remote features 25b, TG features 5f
[ 68910][D][BluetoothA2DPSource.cpp:889] bt_app_rc_ct_cb(): [RCCT] bt_app_rc_ct_cb evt 6
[ 68918][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x6, param len 12
[ 68928][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x6
[ 68939][D][BluetoothA2DPSource.cpp:942] bt_av_hdl_avrc_ct_evt(): [RCCT] bt_av_hdl_avrc_ct_evt evt 6
[ 68948][I][BluetoothA2DPSource.cpp:1000] bt_av_hdl_avrc_ct_evt(): [RCCT] remote rn_cap: count 8, bitmask 0x2d1e
[ 70628][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0xff00, param len 0
[ 70628][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0xff00
[ 70638][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0xff00
[ 70649][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 70659][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 65280
[ 70670][D][BluetoothA2DPSource.cpp:828] bt_app_av_media_proc(): [BT_AV] bt_app_av_media_proc evt 65280
[ 70679][I][BluetoothA2DPSource.cpp:833] bt_app_av_media_proc(): [BT_AV] a2dp media ready checking ...
[ 70688][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x3, param len 16
[ 70699][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x3
[ 70709][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0x3
[ 70720][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 70729][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 3
[ 70740][D][BluetoothA2DPSource.cpp:828] bt_app_av_media_proc(): [BT_AV] bt_app_av_media_proc evt 3
[ 70749][I][BluetoothA2DPSource.cpp:839] bt_app_av_media_proc(): [BT_AV] a2dp media ready, starting ...
[ 70796][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0x3, param len 16
[ 70797][D][Bluetooth[2DPSou97ce.cp][307]ettoapp_AasP_hande.c(pp:2B7_AP ] _taapp_taskkhdidler,ch(gn [BT0xA, e bnt:a0x_
[ 7k8d6spa][Bluetvenht2DP1,urcp.cppm 55n 1t6a
p_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0x3
[ 70817][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 70827][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 3
[ 70837][D][BluetoothA2DPSource.cpp:828] bt_app_av_media_proc(): [BT_AV] bt_app_av_media_proc evt 3
[ 70846][I][BluetoothA2DPSource.cpp:851] bt_app_av_media_proc(): [BT_AV] a2dp media start successfully.
[ 70855][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0x1
[ 70866][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0x1
[ 70877][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 70886][D][BluetoothA2DPSource.cpp:643] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks ESP_A2D_AUDIO_STATE_EVT: Started
[ 70899][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 1
[ 80630][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0xff00, param len 0
[ 80634][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0xff00
[ 80644][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0xff00
[ 80655][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 80665][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 65280
[ 80676][D][BluetoothA2DPSource.cpp:828] bt_app_av_media_proc(): [BT_AV] bt_app_av_media_proc evt 65280
[ 90632][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0xff00, param len 0
[ 90638][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0xff00
[ 90647][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0xff00
[ 90659][D][BluetoothA2DPSource.cpp:622] process_user_state_callbacks(): [BT_AV] process_user_state_callbacks
[ 90668][D][BluetoothA2DPSource.cpp:755] bt_app_av_state_connected_hdlr(): [BT_AV] bt_app_av_state_connected_hdlr evt 65280
[ 90679][D][BluetoothA2DPSource.cpp:828] bt_app_av_media_proc(): [BT_AV] bt_app_av_media_proc evt 65280
[100637][D][BluetoothA2DPSource.cpp:257] bt_app_work_dispatch(): [BT_API] bt_app_work_dispatch event 0xff00, param len 0
[100648][D][BluetoothA2DPSource.cpp:307] bt_app_task_handler(): [BT_API] bt_app_task_handler, signal: 0x1, event: 0xff00
[100658][I][BluetoothA2DPSource.cpp:655] bt_app_av_sm_hdlr(): [BT_AV] bt_app_av_sm_hdlr state APP_AV_STATE_CONNECTED, evt 0xff00

Thank you in advance for your help ! 😄
Device Description
Atom Echo (ESP32-PICO-D4), Support A2DP.
Atom Echo documentation !
Sketch
#include "BluetoothA2DPSource.h"
#include "AudioTools.h"
#include <math.h>

#define c3_frequency  130.81

BluetoothA2DPSource a2dp_source;

// The supported audio codec in ESP32 A2DP is SBC. SBC audio stream is encoded
// from PCM data normally formatted as 44.1kHz sampling rate, two-channel 16-bit sample data
int32_t get_data_frames(Frame *frame, int32_t frame_count) {
    static float m_time = 0.0;
    float m_amplitude = 10000.0;  // -32,768 to 32,767
    float m_deltaTime = 1.0 / 44100.0;
    float m_phase = 0.0;
    float pi_2 = PI * 2.0;
    // fill the channel data
    for (int sample = 0; sample < frame_count; ++sample) {
        float angle = pi_2 * c3_frequency * m_time + m_phase;
        frame[sample].channel1 = m_amplitude * sin(angle);
        frame[sample].channel2 = frame[sample].channel1;
        m_time += m_deltaTime;
    }
    // to prevent watchdog
    delay(1);

    return frame_count;
}

void setup() {
  a2dp_source.set_auto_reconnect(false);
  a2dp_source.start("AudioTest", get_data_frames);
  a2dp_source.set_volume(30);
}

void loop() {
  delay(1000);
}

Other Steps to Reproduce
No response
Provide your Version of the EP32 Arduino Core (or the IDF Version)
2.0.14
I have checked existing issues, discussions and online documentation

[X] I confirm I have checked existing issues, discussions and online documentation

I have never tried this and I don't think that I will be able to provide some support for linux
What are the error messages you get in the Linux log ?

Hi @pschatzmann,
Thank you so much for your help. I successfully got everything working a week ago, but I've been too busy to update you until now.
In a few days, I plan to post a GitHub repository detailing how I got my "Atom Echo" to function as a Bluetooth microphone, using your repository as a reference. It will include instructions on how to have it recognized on Linux machines (specifically Raspberry Pi OS on a Raspberry Pi 5) as an A2DP-Source, allowing voice data to stream directly to an STT engine in Home Assistant.
If you're interested, I'd be happy to keep you informed.
Have a great day !
@xG3nesis


Add some distinction to commands typed by the user and their output.

Currently there is no way to see what is the command the user typed into the console, thus it's hard to see what's the output of a command and the user's input and another command's output.
Example:
help
help - Print this help
reset - Reset the state of the entities
spawn_enemy - Spawn an enemy
close - Close the console
set - Set the value of a variable
reload - Reloads the configuration file
save_room - Save the current room as new file
history - Print the history of the Console
reload
Reloaded config file `./assets/config.vars`

This feels like a mess.
While this doesn't looks like so much of a mess:
>> help
help - Print this help
reset - Reset the state of the entities
spawn_enemy - Spawn an enemy
close - Close the console
set - Set the value of a variable
reload - Reloads the configuration file
save_room - Save the current room as new file
history - Print the history of the Console

>> reload
Reloaded config file `./assets/config.vars`

Using colors or different fonts to achieve this distinction would be harder but would look a bit better.

@Mm2PL I tried to address the problem in #207. Please close the issue if the PR fixed it.

That works for me :slightly_smiling_face:


test: add Ava and write some tests

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Is it Possible to use Layout with LiveSvelte

Hi , I was thinking of converting my layout currently in heex to livesvelte in order to use features like mobile menu toggling easily
currently seeing I can use <.svelte/> inside the html.heex but for layout inner content comes in play is there a way

<.svelte/> should work in a layout file, can you show some code of where it doesn't work?

It does work my question was how will I achieve the setting of dynamic content

            <%= @inner_content %>

as soo in the svelte file

There's 2 ways to achieve this if I understand correctly:
Method 1 with slots (not recomnended)
You could use slots, although I don't recommend this as this functionality is a bit fragile:
Layout
<.svelte ... >
    <%= @inner_content %>
</.svelte>

Svelte

    <slot/>

Method 2 with props
What I'd recommend is passing @inner_content as a prop to svelte. This will be more robust.
Heex
<.svelte ... props={%{inner_content: @inner_content}} />

Svelte

    {@html inner_content}

Thanks what you recommend looks perfect

In case anyone else is having issues using this, use:
<.svelte ... props={%{inner_content: Phoenix.HTML.safe_to_string(@inner_content)}}/>

I did originally try to use the "fragile" method above, but it gave me issues encoding errors. The 2nd method with the above change works beautifully!

Thanks for sharing well mine doesn't work here is my layout HEEX
<!DOCTYPE html>

    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="csrf-token" content={get_csrf_token()} />
    <.live_title suffix=" · Realest8 Platform">
      <%= assigns[:page_title] || "Home" %>
    </.live_title>
    <link phx-track-static rel="stylesheet" href={~p"/assets/app.css"} />
    <link phx-track-static rel="icon" href={~s(/images/favicon.ico)} />

<.svelte name="TenantLayout" props={%{inner_content: Phoenix.HTML.safe_to_string(@inner_content)}} ssr={false}/>

and here is the TenantLayout Component

            Home

            Payment History

            Lease

        <button

          id="profile-btn"
          class="hidden h-8 pl-2 pr-1 border w-16 border-gray-300 rounded-full sm:flex justify-between items-center"
        >

                       MM

        </button>

        <button  class="sm:hidden">

        </button>

              Your Profile

              Log out

          Home
          Payment History
          Leases
          Logout

  {@html inner_content}

this is all that is shown my page (inner content is not rendered
def render(assigns) do
    ~H"""
    <.svelte
      name="tenant/TenantHome"
      props={%{tenant: @tenant, invoice: @invoice, property: @property}}
      socket={@socket}
      ssr={false}
    />
    """
  end

this is the liveview for that specific page

image of what i see

I started having other issues after I posted that. First, it would only work on pages with other svelte components in them (i think). I fixed that with:
def render_inner_content(inner_content) do
    inner_content
    |> Phoenix.HTML.Safe.to_iodata()
    |> to_string()
  end

and
<.svelte name="layout" props={%{inner_content: render_inner_content(@inner_content)}} />

But afterwards, further live_view actions (especially ones with other svelte components in them) were flakey and would sometimes just give a blank page. Auth stuff didn't work at all. I didn't feel like debugging it anymore, as it was just a test, so I ended up just backing it all out.


tons of errors from ddc

out.txt
Is this expected or am I doing something wrong?
I have a few (~20) lints from the angular_analyzer_plugin in templates, but otherwise no strong mode hints/warnings/errors
analysis_options.yaml
analyzer:
  strong-mode:
    implicit-casts: false
    implicit-dynamic: false

angular transformer
- angular2/transform/codegen:
#    use_analyzer: true
    resolved_identifiers:
      BaseClient: 'package:http/http.dart'
      FhirConnection: 'package:fhir_client_api/fhir_client_api.dart'
      ResourceFactory: 'package:fhir_client_api/fhir_client_api.dart'
- angular2/transform/reflection_remover:
    $include:
      - web/designer.dart
      - test/webui/main_menu/main_menu_component_test.dart
    $exclude:
      - lib/code_generator/**
      - lib/app_code_generator/**

Dart VM version: 1.24.0-edge.547b2cdcceb29fdff0f5261a30f4fc8c1a7676ef (Fri May 19 02:11:41 2017) on "linux_x64"

pubspec.lock.txt

I think what's happening is that by default the analyzer only shows you errors and warnings for your package (and no others).  DDC has to analyze and compile all of your dependencies as well, and is issuing errors for all of those packages.  Some of them may not be strong mode clean, but I think mostly they are not clean for your particular set of analysis options (implicit-casts, implicit-dynamic).
This raises an interesting issue for us.  Perhaps DDC should not apply those additional warning options to packages.

@leafpetersen thanks a lot for having a look!
I didn't expect these analyser settings (implicit-casts, implicit-dynamic) to influence DDC build.
If that's the case I think I understand the problem better.
I'm aware that some of my dependencies might not be strong mode clean, but it was mentioned that for example angular_components were successfully built with DDC already (and others where I saw they were made strong mode clean), but the log above contains tons of errors from angular_compoents so I got confused about what is going on.

Filed an issue.  Can you workaround by disabling the opt-in flags when building?

Sure, no prob. Thanks again :)

yeah this is definitely a bug in the build system. Optional analysis flags for your own project should not be applied to compiling other packages you depend on.

@jmesserly, sorry for adding area-dev-compiler back in. It seems to be the most suitable "area-" label available. Without an area- label issues will keep showing up in the "needs to be triaged" list.
Happy to change to some other more relevant "area" label.

I guess this is dup of #29713

@anders-sandholm oh no worries! that's fine :) as long as it's tagged so I can tell it's a build system thing

Yeah my instinct would be to dup it. Thanks for finding this @zoechi !


Adapt install script to work on RHEL

RHEL curl is returning Location instead of location

+1 to this patch, thanks!


Hand crafted Frame does not accept variables?

I can run this without a problem:
y = createFrame(
    [  0,   5],
    [750, 450],
    "d", "c");
print(y);

Yet, if i try it this way around, it gives me an error:
tn = 0;
fp = 12;
fn = 10;
tp = 5;

cf = createFrame(
     [tn, fp],
     [fn, tp],
     "neg", "pos");
print(cf);

Parser error:  mismatched input 'tn' expecting {']', 'true', 'false', INT_LITERAL, FLOAT_LITERAL, STRING_LITERAL}

For the parser the statement in question is a matrixLiteralExpr. What might work is changing the grammar from literal to expr and changing the cpp code that handles this. I can't give it more time right now and will circle back to it if it isn't picked up by one of our parser people (TUD, TUB and a few students to be git-blamed here :wink: )  in the meantime.

According to the doc, matrix literals (as of now), must only consist of actual literals and no expressions.
Something like this would probably work right now, but yeah, not pretty...
tn = 0;
fp = 12;
fn = 10;
tp = 5;

m1 = fill(0,1,2);
m1[0,1] = fill(tn, 1, 1);
m1[0,0] = fill(fp, 1, 1);

m2 = fill(0,1,2);
m2[0,1] = fill(fn, 1, 1);
m2[0,0] = fill(tp, 1, 1);

cf = createFrame(reshape(m1,2,1), reshape(m2,2,1), "neg", "pos");
print(cf);

Yes, DaphneDSL matrix literals support only literal numbers for their elements so far. There is a issue about more flexible matrix and frame literals: #523.
Yes, workarounds like the one by @MarcusParadies can be used. It may even be slightly simpler as follows:
tn = 0;
fp = 12;
fn = 10;
tp = 5;

c1 = fill(0,2,1); # column 1
c1[0,] = as.matrix(tn);
c1[1,] = as.matrix(fn);

c2 = fill(0,2,1); # column 2
c2[0,] = as.matrix(fp);
c2[1,] = as.matrix(tp);

cf = createFrame(c1, c2, "neg", "pos");
print(cf);

But ultimately, variables and expression shall be valid for the elements of matrix and frame literals.

@bl1zzardx Please note that the matrices passed to createFrame() are the columns of the frame. With the column labels you assigned, it seems a bit like you meant them to be the rows.

thanks for the mentioned work-arounds. I incorporated one of them in my scripts, i will leave this open, because you might want to take a look at it again, if you try to solve https://github.com/daphne-eu/daphne/issues/523.


Fix typos in Suspense.md, useDeferredValue.md & useTransition.md

Fixed typos: fething -> fetching

I see the same in useDeferredValue.md and useTransition.md can you do a global search and fix them as well please?

done

Thank you 😄


Ensure wiki documentation doesn't contain references to Gitter

As the project transitions to Rocket.Chat, references to Gitter should be updated in documentation. (eg How To Contribute Wiki page)
Thanks @axelsimon for guidance!

Just checked, there are no mentions of gitter in the wiki:
grep -i "gitter" enarx.wiki/**/*

returns nothing.
Closing this one.


Improve PR review experience

The most important information on the front page of a PR is the author's description of the change and the reviewers' comments. However, we have made liberal use of the "create-or-update" GitHub action for our various workflows to post information directly on the PR. This is all well intentioned and there is important information being posted, but I believe we've probably gone to far and the single-to-noise ratio here has dropped, and too often comments are obscured by the dreaded "load more" button. Also my scroll wheel finger is getting quite the workout :) Here are some specific thoughts I have to improve things:

Move to a "no news is good news" model. If an action succeeds, I think the green checkmark at the bottom of the page is sufficient. No need to make a comment indicating success.
Dedupe and cancel workflows when PR updates are pushed. Workflows can be slow, and it is quite common to push a commit, find a problem, then push another commit a few minutes later. Currently both of these commits will complete a gradle check run and both runs will report a result as a comment.
Change the "check" and "check compatibility" workflows to update a single comment with the latest results instead of only appending (not sure if this is a good idea to be honest)

Any other ideas?

does it make sense to create a new GitHub issue (with relevant tags added) for each PR

@BhumikaSaini-Amazon This is an interesting idea, but I'm inclined not to do this because the information that is posted in comments is already available elsewhere (in the list of github action workflows at the bottom of the PR), it just takes several clicks to get to the relevant information. The reason we post comments is to highlight the information and make it accessible with fewer clicks, I just think we've gone way too far with this.

gradle check to be deleting, or editing the previous gradle check comment

@dblock I think this is possible with the create-or-update workflow we're using (see example). The biggest challenge might be race conditions because it is rather important that only the latest run update the single comment.

The summary here is that the "check compatibility" workflow has been updated to update a single comment, bringing it in line with the codecov behavior, which should substantially reduce noise on the PR comment feed. However, multiple contributors mentioned that they prefer that "gradle check" create a new comment for every run so that it generates a notification that the PR needs attention (either success or failure). There were also opinions that it is desirable to not cancel concurrent gradle check runs because the additional runs can help find flaky tests.


Archived Vaults:

Vaults get archived automatically when user changes anything in the vault - key rotation or change of configuration etc.
The old vaults in this case are archived and can be accessed from the settings of the same vault.

CTAs on the vault is TBD

either you can unarchive it as a new vault/ wallet.
Or view and use it as a normal vault from there itself.

https://xd.adobe.com/view/f1543c84-c25a-4ad6-81ca-1e0c540e956e-a407/screen/6d28514d-aeb2-4c4f-b3e1-d09eac176080/

@summikhan11 What should be the whole flow for archived vaults.

2.The old vaults in this case are archived and can be accessed from the settings of the same vault. Can't see it says 0 vault


Windows Code Signing Certificate Update

This PR is just an update for the Windows Certificate Thumbprint to match the new certificate that has been issued. Secret has been updated already according to @achiurizo

If the key is updated, why CI's are still failing?
Because thumbprint is not yet updated and requires this to be merged first?

Are we aware of this?
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           8/23/2022  3:[25](https://github.com/subspace/subspace-desktop/runs/7965207133?check_suite_focus=true#step:10:26) AM                certificate
Input Length = 11851
Output Length = 8884
CertUtil: -decode command completed successfully.
Import-PfxCertificate: D:\a\_temp\1af0d22a-7f56-494c-9033-2b9d66377ede.ps1:6
Line |
   6 |  Import-PfxCertificate -FilePath certificate/certificate.pfx -CertStor …
     |  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | The PFX file you are trying to import requires either a different password or membership in an Active
     | Directory principal to which it is protected.

Error: Process completed with exit code 1.

you can check the failing tasks for more details


Odd message with Command 8

My homebridge app is seeing the smart bulb but is unable to control it and it shows as “no response” within the home app. When controlling my smart bulb from the tuya app I get this odd message
[TuyaAccessory] Odd message from Ikea Lamp with command 8: { cmd: 8, data: '\u0011FÑ$LïÉ@àßØÐ\u0007t-\u0014Õ2þ0e\u000f\u00193?¿Ûé'o¶Ù^¦V2Hu\u0007Á;\u000e\b\b¨kÏî¥rWe@y=¡a4>ÔÊtÔ%\u0014´Uw°' }
The tuya app communicates fine with the bulb. My config file for the bulb is
"platforms" : [
{
  "platform" : "TuyaLan”
  "name" : "Ikea lamp",
  "devices" : [
    {
      "manufacturer" : "Lohas",
      "model" : "Smart Wifi Bulb Socket E26",
      "id" : "XXXXXXXXXXXXXXXXX",
      "name" : "Ikea Lamp",
      "type" : "RGBTWLight",
      "key" : "XXXXXXXXXXXXXX"
    }
  ],
},

]
}

Please give the latest rc release a shot by doing npm i -g homebridge-tuya-lan@rc. It includes logic to understand this newer API.
A known issue is that the current state is not reported by some devices; they however work fine as soon as you interact with them. I have reached out to Tuya for a solution.
The Setup Instructions have changed in case you need to obtain a fresh id and key.

Hey, I got the same error message with the official release of this plugin.
Before the multioutlet was online, but I just could not power on/power off any device. Only in the Tuya app.
As soon as I installed the latest .rc7 update the multioutlet shows with no response. I tried to check for a new ID/KEY with your service without any success. I always get:
Intercepted certificate request
Failed to intercept secure communications. This could happen due to bad CA certificate.
So right now I have a "dead" device in my homebridge, which is not a big deal, I just don't know what steps I should try to get it working!

After installing the certificate, did you get a chance to go to About and switch the trust on? Delete this from your phone by following the Cleanup Instructions and then start from scratch following the Setup Instructions again. Despite knowing the steps by heart, I still miss a step sometimes.
The third part of you message is just an indicator of a bad key.
 Power-cycling a device should get it out of the limbo.
Right now, our primary goal is to get you a good key and for that we need to get your device correctly talking to the proxy. By the way, don't stop the setup instruction if you see any error in the tuya-lan-find console; just continue as if nothing happened.

Dammit, I forgot to give the cert root privileges. That was the issue all the time :D hahaha. It took 1-2 Min until the multioutlet worked.
[2019-9-7 21:38:24] [TuyaLan] Failed to discover Steckdosenleiste (86371672dc4f22e58ac8) in time but will keep looking.
[2019-9-7 21:40:54] [TuyaLan] Discovered Steckdosenleiste (86371672dc4f22e58ac8) identified as MultiOutlet (3.1)
[2019-9-7 21:40:54] [TuyaLan] Connected to Steckdosenleiste
[TuyaAccessory] Sending first query to Steckdosenleiste (3.1)
[2019-9-7 21:40:54] [TuyaLan] Ready to handle Steckdosenleiste (MultiOutlet:3.1) with signature {"1":true,"2":true,"3":true,"4":true,"7":true,"101":0,"102":0,"103":0,"104":0,"105":0}
I also changed it no successfully to CustomMultiOutlet.

Excellent. We are at a great place now. Can please you share your config block for the CustomMultiOutlet? Black out your key though.

{
"platform": "TuyaLan",
"devices": [
{
"name": "Steckdosenleiste",
"type": "CustomMultiOutlet",
"manufacturer": "Unknown",
"model": "Steckdosenleiste",
"id": "xxxxxxx",
"key": "xxxxxxxx",
"outlets": [
{
"name": "Wireless Charger",
"dp": 1
},
{
"name": "Nachttischlampe",
"dp": 2
},
{
"name": "USB-C Charger",
"dp": 3
},
{
"name": "Hue",
"dp": 4
},
{
"name": "USB",
"dp": 7
}
]
}
]
}
Now everything is fine. Just too bad, that the outlets do not support amp, volt, watt information....

I am glad we were able to solve your problem. Let's hope @dekuwrangler will also check this out and tell us if that problem is solved too.

I've gone through setup instructions twice and still having a similar issue after starting from scratch each time.
I get lots of ECONNRESET errors when I open the Tuya app (which I assume are ignorable?) but nothing seems to come through with in the console (or the homebridge log file).
In Home app i can see my heater online (it shows the temperature) but its not responding to on-off commands. I've tried a bunch of different override commands in the config.json (doesn't seem to do it).
Please help @AMoo-Miki

Unfortunately I am receiving the same [Tuya] Heard back from My Power Strip with command 8.
In the HomeKit app I am always receiving no response. Though via the home bridge ui I can switch them on and off
This is my config. Could you please help?
{
"type": "CustomMultiOutlet",
"name": "My Power Strip",
"id": "hidden",
"key": "hidden",
"manufacturer": "GOSUND",
"model": "P1",
"outletCount": 4,
"outlets": [
{
"name": "First",
"dp": 1
},
{
"name": "Second",
"dp": 2
},
{
"name": "Third",
"dp": 3
},
{
"name": "Usb",
"dp": 7
}
]
}


⚠ SceneTime has degraded performance

In 257e16c, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1560 ms

Resolved: SceneTime performance has improved in 218ce89 after 7 minutes.


Storage - Share file needs to be added to CAF

Currently, we have the ability to create a share and directory in a storage account. We need to add the ability to upload local files in the share. This is a required function if you are bootstrapping NVA's.
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/storage_share_file
@abdulrabbani00 FYI

Closing as integrated into 5.4.2


Not displaying errors

Atom displays the following:

When Visual Studio Code displays the following:

This is all for the exact same file. Is there a way to enable those errors to be displayed in Atom? I believe this is a TypeScript feature so I'm surprised it isn't displaying. Am I just doing something wrong?

@fishcharlie It seems this repo has issues with the linter now. See also this issue https://github.com/atom/atom/issues/14699


feat(highlights): add mason support

Improves the highlighting of Mason windows (a popular installer for external tools such as LSP servers), which is inconsistent with the colorscheme by default.
before

after

Looks great. Looking forward to seeing this merged. By the way, no need to update doc/mellifluous.txt as I learned it is automatically updated.

@windowsrefund thanks for the hint!

@antoineco Thank you for all these PRs. Exciting!

Everything is great otherwise, thanks! Sorry for the delay on this one, Mason UI was not working in my setup for some reason.

@ramojus No problem!

Everything is great otherwise

The "otherwise" makes me guess that you had a change in mind, but possibly didn't submit the review comment?

Here is an updated screenshot after addressing the suggestions from the review:


Cisco AnyConnect VPN and PROXY connection status

The {vpn} module wasn't really working for me as I'm using Cisco AnyConnect and rasdial wasn't showing that connection.
What I really wanted to show in the command line was if there was a mismatch between my proxy environment variables and the VPN connection.
So when the VPN is connected I need to have the HTTP_PROXY and HTTPS_PROXY environment variables defined. But when the VPN is disconnected then it's better for me if the HTTP_PROXY and HTTPS_PROXY environment variables are not defined  (empty) - some tools will fail if the proxies are defined and the VPN connection is not available.
I've made some changes to flexprompt_modules.lua  file so it only shows a "VPN" icon and colors it according to the current status of both vpn connection and proxy env vars. Green and blue are ok states, yellow means that one of the proxies is defined but not the other, red means that there's mismatch between vpn connection status and proxy env variables definitions.
Maybe it's helpful for some else so I'm going to share it here:
local function collect_vpn_info()
    local file = flexprompt.popenyield("vpncli state")
    local line
    local conns = {}

    while true do
        line = file:read("*l")
        -- print("Candidate " .. line)
        if not line then
            break
        end
        line = line:match( "^%s*(.-)%s*$" )
        if line ~= "" and #line > 0 then
          -- print("Adding line " .. line)
          table.insert(conns, line)
        end
    end

    -- If the spawned process returned a non-zero exit code, it failed.
    local ok,what,stat = file:close()
    if not ok then
        return {}
    end

    -- Discard the last line, which says the command completed successfully.
    table.remove(conns)
    if #conns == 0 then
        return {}
    end

    -- Concatenate the connection(s) into a string.
    connected = false
    for _,candidate in ipairs(conns) do
        -- print("Checking " .. candidate)
        if candidate and #candidate > 0 and candidate:find("state") ~= nil then
            -- print("State found in " .. candidate)
            connected = (candidate:find("Disconnected") == nil)
        end
    end
    tmp = os.getenv("HTTP_PROXY")
    proxy = tmp and #tmp > 0
    tmp = os.getenv("HTTPS_PROXY")
    proxys = tmp and #tmp > 0

    return { connection=connected, proxy=proxy, proxys=proxys }
end

local function render_vpn(args)
    local info
    local refreshing
    local wizard = flexprompt.get_wizard_state()

    if wizard then
        info = { connection=false, finished=true }
    else
        -- Get connection status.
        info = flexprompt.promptcoroutine(collect_vpn_info)

        -- Use cached info until coroutine is finished.
        if not info then
            info = vpn_cached_info or {}
            refreshing = true
        else
            vpn_cached_info = info
        end
    end

    if not info then
        return
    end

    local colors = flexprompt.parse_arg_token(args, "c", "color")
    local color, altcolor
    -- print("VPN " .. (info.connection and "connected" or "disconnected") .. " HTTP proxy " .. (info.proxy and "configured" or "not configured") .. " HTTPS proxy " .. (info.proxys and "configured" or "not configured"))
    if info.connection then
        if info.proxy or info.proxys then
            if info.proxy ~= info.proxys then
                color = flexprompt.use_best_color("yellow", "38;5;11")
            else
                color = flexprompt.use_best_color("blue", "38;5;12")
            end
        else
            color = flexprompt.use_best_color("red", "38;5;9")
        end
    else
        if info.proxy or info.proxys then
            if info.proxy ~= info.proxys then
                color = flexprompt.use_best_color("yellow", "38;5;11")
            else
                color = flexprompt.use_best_color("red", "38;5;9")
            end
        else
            color = flexprompt.use_best_color("green", "38;5;2")
        end
    end

    color, altcolor = flexprompt.parse_colors(colors, color, altcolor)

    local text
    if info.connection then
        text = flexprompt.get_symbol("vpn")
    else
        text = flexprompt.get_symbol("no_vpn")
    end
    if flexprompt.get_flow() == "fluent" then
        text = flexprompt.append_text(flexprompt.make_fluent_text("over"), text)
    end
    text = flexprompt.append_text(flexprompt.get_module_symbol(refreshing), text)

    return text, color, altcolor
end

And here are the 2 icons I came up with (for copy pasting)
    vpn             = { "" },
    no_vpn          = { "" },

This should be a new module, maybe {vpncli}.
If you want to add it to the built in set of modules, you can make it a separate new module and make a pull request.
Otherwise it would be best to make a new module that is defined in a separate .Lua file.
Then you won't have to deal with merge conflicts when taking updates to flexprompt.

I've created pull request #28 for this, i named the module {cisco}


Tracking Detections (Question)

Jkjung,
I last had an issue with getting detections in trt_yolo.py, and I was able to solve that by creating my own custom dataset.
Now that I am getting detections I was wondering if you know how tracking would be implemented in trt_yolo.py

https://github.com/jkjung-avt/tensorrt_demos/issues/407#issuecomment-839656018

#407 (comment)

Thanks, I didn't see this at first.


Fixes management cluster typo

Please remember to

[x] Give the PR a meaningful title -- it will be shown in the release notes
[x] Add (or remove) user questions associated with any updated docs

@JosephSalisbury I took liberty to fix the unrelated front matter issues

looks great!


feat: try to resolve root for new files

There were issues with fugitive and other non filesystem buffer paths before. Still needs testing for edge cases...

You can try the latest version @rish987

Awesome, just tried it and this is working for us now! LGTM

Great! Thanks for interactively edge-case testing :)


[DNM] Investigate check.yml flakes

#no-changelog

@paulb777 @andrewheard, see the difference between the last two commits.

Looks like case sensitivity ...
Should we change style.sh in the firebase-ios-sdk repo instead?


Quantized models issue

Hello and thank you for the work.
I have been attempting to quantize the Mistral, T5, and Falcon models, I can finish the process and save them, but they do not seem to perform inference properly with the safetensors saved model after it is loaded (either loading in 4bit or 16bit). I suspect that I might have made some errors.
The sequence I code:
1- Load the pretrained model and tokenizer
2- Configure LoraConfig
3- Run utils.replace_module() [ screnshot attached]
4 - Save pretrained model
Is that right?
Besides, I didn't fine-tunned with PEFT yet, after quantization.
While I am familiar with performing PEFT/LoRA and believe I have correctly identified the target modules (referred to as "allow_name" in your documentation), I am struggling to find out the correct "block_name" for each model (I'm aware of the default allow name and block name lists and tried to investigate using the snippet:
for name, param in pretrained_model.named_parameters():
print(name, param.shape, param.max(), param.mean(), param.requires_grad)
I suspect some mistake on block names might be the root of the issue, but you can tell me best.
I would greatly appreciate your help in resolving this issue.
In addition, I have implemented the code in a notebook, following the quantize.py example. I am executing the Lora_Config before calling utils.replace_module, in line with the sequence in your file. Please let me know if there is any aspect of this process that I might be misunderstanding.
Thanks a lot once again.

I have a question: Is it compatible with other model architectures such as Mistral and Falcon CausalLMs (for instance, when applying the Llama 2 example), or should I only experiment with the three specific models and/or architectures that have been published?

LoftQ is compatible to all transformer models: decoder-only, encoder-only, and encoder-decoder models. For Mistral, we provide 4-bit 64-rank models on https://huggingface.co/LoftQ/Mistral-7B-v0.1-4bit-64rank. For Falcon, we are working on it and will release it soon.

Hi @MarceloCorreiaData, I will close this issue. If you have further questions, please feel free to re-open it.


When will the code for Landmark Embedding be open-sourced?

Thank you for your interest in our work! We apologize for the delay in code release, as we are currently undertaking several new projects. We will actively organize the training and inference code and attempt to integrate this new retrieval method into Langchain. Subsequently, we will open-source the code as soon as possible!

您好，非常感谢你们的工作。
请问Landmark Embedding现在已经开源了吗？


Set version 4.2.11

Fix Django SQLi: https://docs.djangoproject.com/en/4.0/releases/3.2.13/

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 88.014%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5647

Relevant Lines:
6416

💛  - Coveralls


Update export mechanism

Just small fixes I used for my export. Feel free to include what's valuable to you.

Thanks for the pull request, @niklasravnsborg !! Unfortunately, there is a development branch 'dev' that has some more recent updates and refactoring of code. But, I see your changes and will look at how to incorporate them. The use of numbers vs. date append on the note titles can be a new option I can add. I'll take a look at the other changes and incorporate what I can.


possible problem with gcc 8.1.1

I've been trying to rebuild the Fedora rpm on the bleeding edge ("rawhide"), and have got to the stage of the cp2k example that it uses as a test failing with a numerical error.  I assume the regression is something to do with it using gcc 8.1.1, though that's not clear.  (I think it was built with a pre-release 8.0 previously.) Do you happen to know of any problem for libxsmm with 8.1 (especially fixed since libxsmm1.9), or general success with it?
No worries if not, but I thought I'd ask before trying to diagnose the problem.
[It probably doesn't help, but the build log (with no warnings from -Wall) is at https://kojipkgs.fedoraproject.org//work/tasks/4393/27984393/build.log]

Do you happen to know of any problem for libxsmm with 8.1 (especially fixed since libxsmm1.9), or general success with it?

I havent (yet) started to build release notes for v2.0, but we accumulated ~1107 changes since v1.9 excluding 100s of changes in at least one (internal) development branch.
What I can see with v1.9 is: it compiles fine with GCC 8.1. The failure as shown in the log is according to an exceeded error margin for the CP2K code sample. First this is not CP2K (but some code used in the past to model CP2K/DBCSR's SMM hotspot); it is called "CP2K" for historic reasons since LIBXSMM works with CP2K since CP2K 3.0 and there is no need to rely on a proxy. It is unlikeky due to an issue in OpenMP. It might be an issue with OpenBLAS. For instance on systems with high core count, I found OpenBLAS standard builds for most distributions are hard-coding a limit for the core count (which is badly triggered on SKX with higher count).
Perhaps worth to check:

Check single-threaded just to make sure.
Check LIBXSMM/master.

In case the latter plays out, I can help with getting v1.9.1 (our v2.0 is still a bit out).

I may get an image up with the bleeding edge "rawhide" and try to reproduce this. Do you know which packages I should install to get a "maintainer system" (aka su loveshack)?
( Since there is no competition between Open Source [no], I recently added some support for Debian make deb, which perhaps just leverages lessons learned from RPM based distros/you. ;-)

Thanks for the suggestions, as always.  I'll have to try to figure out
which of the changed packages has caused the regression, which is going
to be a pain.  (I realize it's a cp2k proxy, which seemed the most
appropriate quick sanity test, as I think cp2k is the only Fedora
package that currently depends on libxsmm.)
Obviously I'll report if it is something directly relevant to libxsmm.
You could close this, or I can add what I find out, but problems in
rawhide aren't necessarily relevant to anything else.

I got a Fedora/rawhide up, and I have fixed the LIBXSMM/master to avoid a compiler warning (new with GCC 8.1.1), and I added some (simple) bootstrap for Python as I realized that Rawhide not only comes with Python3, but does not provide a symlink called "python" (which renders #!/usr/bin/env python somewhat useless).

Btw, I could not reproduce this validation error although I used the same flags as shown in the lock. However, I did not run per mock but rather used the normal make process. On the other hand parallelism was very limited in my vbox so perhaps it did not trigger.
( I used vagrant/virtualbox and pulled "bento/fedora-28", which I updated to today's Rawhide. )

You wrote:

I may get an image up with the bleeding edge "rawhide" and try to
reproduce this. Do you know which packages I should install to get a
"maintainer system" (aka su loveshack)?

I've managed (with a struggle) to get a rawhide Vagrant image going, so
I can at least try to find whatever package has caused the regression,
and you probably have more useful things to do.
If you do want to try, to build from the source rpm
https://kojipkgs.fedoraproject.org//packages/libxsmm/1.9/1.fc29/src/libxsmm-1.9-1.fc29.src.rpm
you basically need the rpm-build package and the package buildrequires:
python, gcc-c++, gcc-gfortran, openblas-devel.  I think the package
maintainer meta-package is fedora-packager, but you don't need that.

( Since there is no competition between Open Source [no], I recently
added some support for Debian make deb, which perhaps just leverages
lessons learned from RPM based distros/you. ;-)

I've a nasty feeling I may have offered to do that and forgotten about
it, but I'm not a developer who could get it into Debian.  (Yes, I'll
look at other packaging as a clue if it doesn't look straightforward.)

You wrote:

I got a Fedora/rawhide up, and I have fixed the LIBXSMM/master to
avoid a compiler warning (new with GCC 8.1.1), and I added some
(simple) bootstrap for Python as I realized that Rawhide not only
comes with Python3, but does not provide a symlink called "python"
(which renders #!/usr/bin/env python somewhat useless).

The prohibition on /usr/bin/python was why I was rebuilding the package
(which threw up a binutils bug previously) but I didn't think it had
been removed yet.  I was just sed'ing the Python scripts for that, but
will check and use what you've done if it's merge-able.  (The python
change causes trouble all over the place, of course.)  I'm puzzled by
the warning I didn't see in the build -- I'll check.

You wrote:

Btw, I could not reproduce this validation error although I used the
same flags as shown in the lock. However, I did not run per mock but
rather used the normal make process. On the other hand parallelism was
very limited in my vbox so perhaps it did not trigger.

Interesting, thanks.  I can experiment with parallelism in the build
system.  I'd have done the same when I had time.

( I used vagrant/virtualbox and pulled "bento/fedora-28", which I
updated to today's Rawhide. )

I think I must have struggled before that was available, but you're
obviously better than a Fedora maintainer -- no surprise!  (Actually a
maintainer who doesn't use Fedora, only RHEL/CentOS...)
Thanks again.  I'll let you know what I find, probably tomorrow.

Btw, you can do something like make PIC=PIC (the default is PIC=pic).

I'm using the default -fpic, but I think that's equivalent to -fPIC on x86_64.
Anyhow, your suggestion was spot on.  Running with OMP_NUM_THREADS=1 or 2 in the Fedora build system fixes the check, so I guess an openblas bug report is in order. Many thanks!

It can still be the OpenMP implementation of your revision of GCC "8.1.1" for two reasons: it is dynamically loaded by OpenBLAS (if your OpenBLAS is the one with OMP runtime), but also the CP2K sample/proxy uses OpenMP. The latter can be disabled. This can be best achieved by editing samples/cp2k/Makefile: set OMP=0).

The problem is at the openblas level.  It seems more likely to be in OB
itself than libgomp, and I think it's appropriate to raise against OB
initially.


Plugin mangles characters ➜ and▕

The characters ➜ and▕ are mangled when plugin is active  as âžœ and â–•.
Other characters possibly affected, those are just the ones I've encountered.

Hi there!
Thanks for the bug report. I'm not actively developing this plugin anymore. PR gladly appreciated. 🙂

I understand, you probably want to mark the repo as archived.
Since the PHP port of highlight.js this plugin relies upon is quite outdated (ex. missing support for new CSS syntaxes and at-rules), it doesn't seem like it's worth it to throw good development effort after the bad.

Should be fixed by https://github.com/johannschopplich/kirby-highlighter/commit/0e4404da1a324d2a26d14c9f4e37c294b5416014.


Elk v0.6.2

Upgrade to Elk v0.6.2

Just add a changefile in .changes (name of the file doesn't matter) in the following format:
---
"elk-native": patch
---

End-user focused helpful summary of what the update to elk changed (doesn't need to be detailed)

That works 👍🏻

Add .changes/update-elk.md as in #47


tail recursion and LLVM

Since you are answering questions :)
Disclaimer: I am not familiar with LLVM so this is a naive question!
I was playing with Crystal's code generation and checked that by invoking LLVMSetTailCall I could ask llvm/builder.cr to generate a 'tail' call. OK, I understand that, using the C calling convention, we are effectively working with sibling calls.
I wrote a small test case but when attempting to recurse 50M times I  quickly ran afoul of the stack guard. OK, I realize that is remains active unless compiling in 'release' mode.
In release mode I was able to successfully run my test program.
A that point, I thought I had a good handle on what llvm does. Except that, after removing the 'tail' call (verified in .ll file) I am still able to run my program in release mode.
Does this mean that llvm will automatically detect sibling calls, even when not specified?
Cheers,
-Chris.

...and bonus question: does this mean that I can count on sibling call optimization when using Crystal?

Hi,
I don't understand: how and where did you use LLVMSetTailCall?
In release mode LLVM optimizations are performed and (I guess) LLVM can detect tail/sibling calls (LLVM will add those annotations), but that's something that should be asked in the LLVM forums.

I guess I should have been more clear that I was playing with Crystal's source code itself, specifically llvm/builder.cr.
As you point out, these are LLVM questions so I will simply focus on the Crystal-relevant one: will Crystal, as a black box, perform sibling call optimization? Or did I draw the wrong conclusion from my observations?

When you compile with --release that optimizes the generated LLVM. Wiithout --release the compiler will generate very simple/dumb LLVM, that's not inefficient but could be better. No tail/sibling call annotations are added without passing that --release flag. I don't know if that answers your question.
In any case, that doesn't mean in the future the compiler will add these annotations even if you don't pass the --release flag.

I forgot to say: it's by running those LLVM optimizations that the tail/sibiling annotations are added. Crystal doesn't add those by itself.

Question answered? Does somebody want to open a separate proposal for explicitly marking a method or function as tail recursive or having the compiler detect tail recursive cases which LLVM won't detect?

I wouldn't add specific language constructs to enable tail call optimizations. Ideally, the compiler should figure it out for itself. LLVM detects some cases of this. Right now there's no real pressure to improve this because performance is pretty good even without it used in some cases, so I'm closing this for now.