How to upgrade use of GetColumnName() method

I'm upgrading an application from ASP.NET Core 3.1 to 6.0. Reading the migration documents, I found this:
https://docs.microsoft.com/en-us/ef/core/what-is-new/ef-core-5.0/breaking-changes#getcolumnname-obsolete
And I'm using that method here:
	public class MainDbContext : DbContext
	{
		protected override void OnModelCreating(ModelBuilder modelBuilder)
		{
			base.OnModelCreating(modelBuilder);
			// ...

			// Map JSON string properties to the native type jsonb.
			foreach (var entity in modelBuilder.Model.GetEntityTypes())
			{
				foreach (var property in entity.GetProperties())
				{
					if (property.GetColumnName().EndsWith("Json") &&
						property.ClrType == typeof(string))
					{
						property.SetColumnType("jsonb");
					}
				}
			}
		}
	}

This doesn't compile anymore. The migration document has a code sample that doesn't look right to me. I don't want to look up anything in "Users" here but I need the column of a table. (Are there other columns, too?!) The documentation of the method itself is not helpful as it does not explain what I should pass as parameter.
How can I make that code work again with the current EF version? I want that method back and I don't understand why it was removed. It has always worked perfectly for me. This change is not an improvement for me.
EF Core version: 6.0
Database provider: PostgreSQL
Target framework: .NET 6.0
Operating system: Windows 10, Linux
IDE: Visual Studio 2022

Looks like this simpler alternative also works:
property.GetColumnName(StoreObjectIdentifier.Table(entity.GetTableName()))
Funny that this breaking change is expected to be reverted again. 🙄 I still don't understand why it was considered necessary in the first place.


Add device selection dropdown

This makes it easier for users with more than one devices to configure (e.g. a DP player).

Thank you for the PR! I agree this feature is necessary, and in particular I was going to draw inspiration from the configuration tool used by https://github.com/minsang-github/arcin-infinitas
...However, you've caught me in the middle of a massive rewrite of Roxy Tool. I'm porting the entire thing to Avalonia, which compiles natively to Windows and Linux and will allow me to maintain one GUI instead of the two that's currently in this repo. I'm hoping to finalize this by the end of the week.
Again, I truly appreciate it, I just wish the timing worked out a little better!

Thanks for your reply. That's super cool to hear! It's fine if you don't
intend to merge this PR (it fixes my issue with it anyways).
Good luck on the port!
On Sun, Oct 11, 2020, 19:27 veroxzik<EMAIL_ADDRESS>wrote:

Thank you for the PR! I agree this feature is necessary, and in particular
I was going to draw inspiration from the configuration tool used by
https://github.com/minsang-github/arcin-infinitas
...However, you've caught me in the middle of a massive rewrite of Roxy
Tool. I'm porting the entire thing to Avalonia, which compiles natively to
Windows and Linux and will allow me to maintain one GUI instead of the two
that's currently in this repo. I'm hoping to finalize this by the end of
the week.
Again, I truly appreciate it, I just wish the timing worked out a little
better!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/veroxzik/roxy-tool/pull/1#issuecomment-706819934, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKSYIXWOQYTKNZ7RITMV2TSKJSQ3ANCNFSM4SMFZ7WQ
.


[Bug]: Azure CosmosDB NoSQL indexing fails with TypeError: Object of type date is not JSON serializable

Bug Description
Uploading a text node to a Azure CosmosDB NoSQL vector store fails with the error:
TypeError: Object of type date is not JSON serializable
The same code using an Azure AI Search document store is successful. I'm using the version:

llama-index-core==0.12.5
llama-index-vector-stores-azureaisearch==0.2.1
llama-index-vector-stores-azurecosmosnosql==1.2.0

Version
0.12.5
Steps to Reproduce
For CosmosDB Instance:
URI = azure_credentials["CosmosDB"]["URI"]
KEY = azure_credentials["CosmosDB"]["Key"]
client = CosmosClient(URI, credential=KEY)
indexing_policy = {
    "indexingMode": "consistent",
    "includedPaths": [{"path": "/*"}],
    "excludedPaths": [{"path": '/"_etag"/?'}],
    "vectorIndexes": [{"path": "/embedding", "type": "diskANN"}],
}
vector_embedding_policy = {
    "vectorEmbeddings": [
        {
            "path": "/embedding",
            "dataType": "float32",
            "distanceFunction": "cosine",
            "dimensions": 3072, # 3072 for text-embedding-2-large
        }
    ]
}
full_text_policy = {
    "defaultLanguage": "en-US",
    "fullTextPaths": [
        {
            "path": "/text",
            "language": "en-US"
        }
    ]
}
partition_key = PartitionKey(path="/id")
cosmos_container_properties_test = {"partition_key": partition_key}
cosmos_database_properties_test = {}
store = AzureCosmosDBNoSqlVectorSearch(
    cosmos_client=client,
    vector_embedding_policy=vector_embedding_policy,
    indexing_policy=indexing_policy,
    full_text_policy=full_text_policy,
    cosmos_container_properties=cosmos_container_properties_test,
    cosmos_database_properties=cosmos_database_properties_test,
    create_container=True,
    container_name=index_id
)
nodes = [TextNode(text='Hello World')]
index_nodes(nodes, embed_model, vector_store=store, step_size=1)

For AI Search code:
vector_store = AzureAISearchVectorStore(
        search_or_index_client=index_client,
        index_name=name,
        embedding_dimensionality=dimensionality,
        index_management=index_management,
        id_field_key="id",
        chunk_field_key="chunk",
        embedding_field_key="embedding",
        metadata_string_field_key="metadata",
        doc_id_field_key="doc_id",
        **vector_store_kwargs
    )
index_nodes(nodes, embed_model, vector_store=vector_store, step_size=1)

Relevant Logs/Tracbacks
No response

The error TypeError: Object of type date is not JSON serializable occurs because the code attempts to insert a date object into the Azure CosmosDB NoSQL vector store, which requires data to be JSON serializable. In your code, the add method includes a line that sets a timeStamp field using date.today(), which is a date object. This is likely causing the issue.
To resolve this, you should convert the date object to a string or a datetime object, which is JSON serializable. You can modify the line to:
"timeStamp": date.today().isoformat(),  # Converts the date to a string

This change will ensure that the timeStamp field is JSON serializable, preventing the TypeError [1].
To continue talking to Dosu, mention @dosu.
Help Dosu learn! Give it feedback: Great Response | Irrelevant Answer | Incorrect Sources | Too Verbose | Hallucination | Other

There is no "add" method in the code I provided. Could you specify which field needs to be converted?

@dosu There is no timeStamp field in AzureCosmosDBNoSqlVectorSearch

I was able to trace the error and dosubot was somewhere correct. In the file llama-index-integrations/vector_stores/llama-index-vector-stores-azurecosmosnosql/llama_index/vector_stores/azurecosmosnosql/base.py there is the offending code on lines 287-193
            entry = {
                self._id_key: node.node_id,
                self._embedding_key: node.get_embedding(),
                self._text_key: node.get_content(metadata_mode=MetadataMode.NONE) or "",
                self._metadata_key: metadata,
                "timeStamp": date.today(),
            }

Simply changing the "timeStamp" field to date.today().isoformat() resolves the issue. As does removing the timeStamp field entirely.

@JeffreyEnglish thanks for debugging with dosu! I will review a PR once you open it


Failed to run the graph: Failed to get packet from output stream 'left_iris_depth_mm'.

when i run iris_depth_from_image_desktop on window,get this error "E20210508 16:35:51.339612 36632 iris_depth_from_image_desktop.cc:155] Failed to run the graph: Failed to get packet from output stream 'left_iris_depth_mm'."
how to do it

My image has metadata, but I'm still getting the same error (in Docker):
Failed to run the graph: Failed to get packet from output stream 'left_iris_depth_mm'


Query Tree based data w/o sync?

This is more a question than an issue, but if I have a collection of data that represents relationships between documents and I want to query it to create a tree of the nodes, what is the best approach?  My data DOES have recursive loops (so you have to have a history on the branch so you don't go on forever), and contains bi-directional links at times (again history array).
Currently I query the entire collection and them perform a toArray then re-build the tree by hand.  This won't work once the load/data gets heavier, so I'm curious how do you perform this same task in a "asynchronous" environment?
Simple sample (saying a, b, c, d, e are valid id's in another collection):
{source: 'a', dest: 'b'}
{source: 'a', dest: 'c'}
{source: 'b', dest: 'c'}
{source: 'd', dest: 'c'}
{source: 'e', dest: 'e'}
ect...
Would be great if Mongolian had a built in way to store/query relationships as currently MongoDB makes suggestions (http://www.mongodb.org/display/DOCS/Trees+in+MongoDB) on how to store the data, but takes for granted your running synchronous (sorry if I got those backwards) and can thus perform recursive query operations.
Here is my hackjob of a test case:
    var testIt = replServer.context.testIt = function(collection, options, callback){
      collection.find().toArray(function(err, records){
        var
          tree, root = {}, id, links = {}, recordId = options.recordId,
          enrich = typeof(options.enrichWith)=='function'?options.enrichWith:false,
          ensure = function(eid){
            if(!links[eid]) links[eid] = {id: eid, inbound: [], outbound: []};
            return links[eid];
          },
          checkAddLink = function(sid, did){
            var src = ensure(sid.toString()),
                dst = ensure(did.toString());
            if(src.outbound.indexOf(dst)==-1) src.outbound.push(dst);
            if(dst.inbound.indexOf(src)==-1) dst.inbound.push(src);
          },
          walk = function(root, direction, records, exists, addTo){
            var vObject, connection, dest, i, bDoAdd=true;
            exists = exists||{};
            if(exists[root.id]) return false;
            exists[root.id] = true;

            if(addTo){
              vObject = addTo;
              vObject[direction] = new Array();
            }else{
              vObject = {};
              vObject.id = root.id;
              if(enrich) vObject = enrich(vObject)||vObject;
              vObject[direction] = new Array();
            }

            if(root[direction]) for(i in root[direction]){
              if(dest = walk(root[direction][i], direction, records, exists)){
                vObject[direction].push(dest);
                vObject.recursive = true;
              }
            }
            exists[root.id] = false;
            return vObject;
          };
        for(id in records){
          checkAddLink(records[id].source, records[id].destination);
        }
        tree = walk(links[recordId], 'outbound', links);
        walk(links[recordId], 'inbound', links, false, tree);
        if(typeof(callback)=='function') callback(tree);
      });
    }

This sounds more like a node.js problem than a mongolian db or even mongo problem.
I'm guessing you want something like this (disclaimer, completely untested):
function getTree(collection, parentId, callback, cache) {
    // Keep track of previously mapped nodes
    cache = cache || {}
    if (cache[parentId]) return callback(null, cache[parentId])
    // Find children
    collection.find({parent:parentId}).sort({id:1}).toArray(function(error, array) {
        if (error) return callback(error)
        // Keep track of the number of items we got back
        var count = 0
        var tree = cache[parentId] = {}
        array.forEach(function(node) {
            // Get the subtree (in parallel) for each child node
            getTree(collection, node.id, function(error, childTree) {
                // Insert child
                tree[node.id] = childTree
                count++
                // Last child? return the final tree
                if (count == array.length) callback(null,tree)
            }, cache)
        })
    })
}

Your probably correct in the "Node.js problem" but it shows its ugly head most in this scenario with Mongolian :(
I'm concerned with the above snippet simply because of the (in parallel) statement.  If its truly parallel execution then checking count == array.length to calculate when to call the callback could result in the callback being called before all of the children have been processed.  This is where serialization of the data fetch, or some type of "All Done" callback, becomes a necessity.

The nature of the task is rather inefficient (since you will be doing O(n) queries for every graph retrieval—you could certainly improve on this with some of the tricks mentioned on the mongodb site).
As for your parallel concern, you'll notice that the count++ is in the callback of the recursive getTree call. Just like a regular recursive function, the callback is called recursively and the parent level getTree callback isn't called until all the child getTree callbacks are called.

I would completely agree with you on the inefficient part, but due to the nature of the data I don't see an easy way around it shy of creating another collection and building/managing the trees within that collection.  As these trees are quite complex and have many 1000's of nodes it becomes more efficient (storage/management wise) to build them on the fly.
Left Right optimization doesn't work as another aspect is the trees branch into one another and are recursive (I didn't create the data I just use/display it).  I have a working code sample that I'll post here once I clean it up a bit and close the comment.  It might help someone else in the future with a similar issue.

As you say, it'll depend on the format of the data and how fast you need the lookups to be, but that's certainly out of the scope of Mongolian to solve!
Did the sample above help? There are async/parallel libraries that simplify this type of task, but I wanted to leave out dependencies.


Add files via upload

@Romatdev First stage of verification passed, official domain is ind-thuin.be as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Agreed, thank you for your time!

@Romatdev Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Register Custom Redirects When Using CLI

Support --redirects flag where you provide a js file that returns custom redirects to be added to the client.
This will enable custom plugins to be used through the CLI.
Use this for all commands that instantiate a Web3API Client (w3 query, other?)

Unassigned myself after seeing this is being worked on: https://github.com/Web3-API/monorepo/pull/310


Border radius at table

:where(table thead th:first-child) {
border-top-left-radius: var(--nice-inner-radius);
}
Last child also
It should be set only on first row in header (someone can have more then one row)

i'm interested in this! but can you provide a demo example showing the issue and the resolution? i'm pretty sure i know what youre saying but i'd appreciate seeing it 🙂

fixed in v1.6.14


Adding an endpoint for sending a notification to all teachers who have assigned an exercise.

Codecov Report
Patch coverage: 92.15% and project coverage change: +0.06% :tada:

Comparison is base (0895bc1) 69.60% compared to head (4c1cf0d) 69.67%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #450      +/-   ##
==========================================
+ Coverage   69.60%   69.67%   +0.06%
==========================================
  Files         462      463       +1
  Lines       17335    17386      +51
==========================================
+ Hits        12066    12113      +47
- Misses       5269     5273       +4

Files Changed
Coverage Δ

app/V1Module/presenters/UsersPresenter.php
80.19% <ø> (ø)

app/model/entity/UserSettings.php
40.00% <50.00%> (+0.97%)
:arrow_up:

app/V1Module/presenters/ExercisesPresenter.php
85.24% <85.71%> (+0.01%)
:arrow_up:

...fications/Exercises/ExerciseNotificationSender.php
97.29% <97.29%> (ø)

app/V1Module/router/RouterFactory.php
100.00% <100.00%> (ø)

app/helpers/WebappLinks.php
82.60% <100.00%> (+0.79%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[Publish Request] - JSR

I've read https://github.com/uNetworking/uWebSockets.js/blob/master/misc/npm.md
Are you also against publishing on https://jsr.io ?

We already have seamless installation process and this won't change (there is no benefit, whatsoever)


BUG: merge doesn't list the filename when erroring on file contents

Bug Description
When running merge on two different metadata files, if one file contains a formatting issue (i.e. CategoricalMetadataColumn contains floats), the name of the offending file is not listed in the error message. See screenshot below:

Steps to reproduce the behavior

Go to the Moving Pictures tutorial and download sample-metadata.tsv
Duplicate the sample-metadata.tsv file and save it as two different files (e.g. sample-md1.tsv & sample-md2.tsv)
Modify the month column's comment directive in one of the duplicated files to categorical and change the dtype of this column to float.
Run the following command:

qiime metadata merge \
--m-metadata1-file sample-md1.tsv \
--m-metadata2-file sample-md2.tsv \
--o-merged-metadata merged-md.qza \
--verbose

This will produce the error in the screenshot above, giving no indication of whether the offending file is sample-md1.tsv or sample-md2.tsv.
Expected behavior
The error message above should begin with something like:
There was an issue with loading the file sample-md1.tsv ...etc

Another one for you to work on when you're ready @hagenjp 🙂


Added getting started section to readme.

Making our immediate needs and the project more visible. Addressed issue #151

LGTM


changing port 8089 / 8088

Hi
want to port Synclounge on Qnap NAS (undockerized)
I would like to change the default port 8088/8089 which are port used by internal Qnap application
is there a flag that can be added ? to force bind to a customer port

Heya.
The webapp accepts an ENV variable of PORT to set the port. The slserver accepts server_port 👍


[Fix][CONNECTORS-V2] fix dynamic bucket tale in primary key is not first

Purpose of this pull request
Dynamic bucket allocation did not take into account that the primary key was not in the first place, resulting in an error when executing the loadBucketIndex method in the initialization of the PaimonBucketAssigner class .  This pr fixed the problem

Does this PR introduce any user-facing change?

How was this patch tested?
PaimonSinkDynamicBucketIT#primaryFullTypeAndLoadData

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist
Add ci label in label-scope-conf
Add e2e testcase in seatunnel-e2e
Update connector plugin_config

[ ] Update the release-note.

cc @dailai


add Chinese translations

add Chinese translations

@diasdavid
Hi David,
just follow README.md and add Chinese translations, but build fail. I do not why.
can someone help me ?
Thanks!
--Tianyi


Dependabot update

Helpful background context
Setting dependabot pip updates to weekly to reduce volume of PR emails tagged for DataEng review (186 in the last week for example) and updating dependencies.
How can a reviewer manually see the effects of these changes?
I triggered a run on dev1 this morning after pushing the updated image to ECR, the successful execution is under the name alma-daily-ingest-2023-04-13t14-49-38
Includes new or updated dependencies?
YES
Developer

[x] All new ENV is documented in README
[x] Stakeholder approval has been confirmed (or is not needed)

Code Reviewer

[ ] The commit message is clear and follows our guidelines (not just this pull request message)
[ ] There are appropriate tests covering any new functionality
[ ] The documentation has been updated or is unnecessary
[ ] The changes have been verified
[ ] New dependencies are appropriate or there were no changes

I updated dependencies again, pushed the updated image to ECR and it kicked off the successful execution alma-daily-ingest-2023-05-04t20-06-29

I updated dependencies again, pushed the updated image to ECR and it kicked off the successful execution alma-daily-ingest-2023-05-04t20-06-29

@ehanson8 what is alma-daily-ingest-2023-05-04t20-06-29 - where can I see it?

Sorry, forgot to specify, in AWS Step Functions, timdex-ingest-dev


MINOR: add a retry system test curl commands

Adds a retry to curl, using the built-in exponential backoff mechanism.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Recently, I have seen a few remote (aws-over-vagrant) system tests fail during setup due to this error:
    worker15: + curl -O https://s3-us-west-2.amazonaws.com/kafka-packages/kafka_2.11-1.1.1.tgz
    worker15:   % Total    % Received % Xferd  Average
    worker15:  Speed   Time    Time     Time
    worker15: Current
    worker15:                                  Dload  Upload   Total   Spent    Left
    worker15: Speed
  0     0    0     0    0     0      0      0 --:--:--
    worker15:  --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:02 --:--
    worker15: :--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:03 --:--:--
    worker15:   0
  0     0    0     0    0     0      0      0 --:--:--  0:00:04 --:--:-
    worker15: -     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:05 --:--:--
    worker15:   0
  0     0    0     0    0     0      0      0 --:--:--  0:00:06 --:--:--
    worker15:      0
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:08 --:--:--
    worker15:  0
  0     0    0     0    0     0      0      0 --:--:--  0:00:09 --:--:--
    worker15:     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:10 --:--:--     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:11 --:--:--
    worker15:     0
  0     0    0     0    0     0      0      0 --:--:--  0:00:12 --:--:--
    worker15:   0
  0     0    0     0    0     0      0      0 --:--:--  0:00:13 --:--:--     0
    worker15: curl: (35) Unknown SSL protocol error
    worker15: in connection to s3-us
    worker15: -west-2.amazonaws.com:443

The problem is transient, so it seems to be an issue with the SSL negotiation on the server side. Some reading has suggested it could also be due to networking issues when running inside of containers, or over VPNs, etc., etc.
I didn't find anything obvious we could do about it, so it seems worthwhile to at least attempt to avoid failing the whole run over a transient non-problem.

System test meta run: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/4001/console

@vvcephei --retry-all-error is not an option that the current curl version recognizes. The system tests fail early on that error.

Ah, Thanks @kkonstantine ,
I see that now:
17:42:20     worker5: + curl --retry-all-errors --retry 5 -s -L https://s3-us-west-2.amazonaws.com/kafka-packages/jdk-8u202-linux-x64.tar.gz -o /tmp/jdk-8u202-linux-x64.tar.gz
17:42:20     worker5: curl: option --retry-all-error
17:42:20     worker5: s: is unknown
17:42:20     worker5: curl: try 'curl --help' or 'c
17:42:20     worker5: url --manual' for more information

new run: https://jenkins.confluent.io/job/system-test-kafka-branch-builder/4002/

Looks like that one worked: http://confluent-kafka-branch-builder-system-test-results.s3-us-west-2.amazonaws.com/2020-07-01--001.1593607328--vvcephei--minor-vagrant-curl-retry--8532458b7/report.html

Failed tests should be non-related as we only change on system test run.

Thanks @kkonstantine and @abbccdda !


prepare release 1.11.0

fix: #167
feat: allowing user enable/disable analytics. addressed #165
fix: #164

Codecov Report
Patch coverage has no change and project coverage change: +0.09 :tada:

Comparison is base (d124a36) 79.02% compared to head (ff8c6a0) 79.12%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #171      +/-   ##
============================================
+ Coverage     79.02%   79.12%   +0.09%
- Complexity      481      484       +3
============================================
  Files            75       75
  Lines          6061     6061
  Branches        741      741
============================================
+ Hits           4790     4796       +6
+ Misses          685      681       -4
+ Partials        586      584       -2

see 3 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Option to add new ips on a node (on existing interface)

Issue migrated from https://api.github.com/repos/zero-os/0-templates/issues/101, opened by @LeeSmet
In my current setup in the lochristi DC, I have a couple of zero os nodes (running with zero robot), which run 2 containers:

1 for the threefold chain production network
1 for the threefold chain test network

Both of these containers would ideally run on the same port. As such, the container requires 2 ip addresses. In the past this was achieved by using the client and using a command like ip addr add <IP_ADDRESS>/24 dev enp1s0, but on a production node running with zero robot, the client isn't allowed anymore, so the node service should have a method with similar behaviour

possible using the node_ip template


ObjectSharedArguments.cs:29-30: Make a code refactoring...

The puzzle 12-bf97e2bc from #12 has to be resolved:
https://github.com/DenisZhukovski/ObjectToTest/blob/d6f5acc56d69ec12689ef2f613f2696ba2d987dc/src/ObjectSharedArguments.cs#L29-L30
The puzzle was created by Denis Zhukovski on 05-Sep-22.
Estimate: 60 minutes,  role: DEV.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.

The puzzle 12-bf97e2bc has disappeared from the source code, that's why I closed this issue.


Broken l337 Search

I am going out on a limb here and saying that something changed with the L337 search because it does not matter what I search for or how I tweak it, I searched for things I know have results and checked to see if I was being blocked from something and I am not. But this completely blocks me from using the tool at all rn. Will just remove the L337 search from the main.rs and see if it works.
cargo run "Deadpool"
    Finished dev [unoptimized + debuginfo] target(s) in 0.12s
     Running `target/debug/attractorr Deadpool`
thread 'main' panicked at src/search_providers/l337x_search.rs:38:49:
called `Result::unwrap()` on an `Err` value: MagnetNotFound
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Now it is working out of the blue... I have no clue why this was happening.


help! Formatted little problem with

hi!
i get code like this:

and i want format to like this:

but i got this:

can you resolve this problem? thanks , i use sql-format "react-router-dom": "^4.1.1",

So, you would like the formatter to either:

preserve the original line-breaks in input SQL. Preserving the original formatting is something sql-formatter was not designed to do. So that's a no.
add four line-breaks between individual SQL statements. Adding four line breaks instead of one looks like a very personal preference. I can imagine somebody else liking the current one, somebody else liking two, but I think very few people would like to have four.

So the only option I see would be to have it configurable. Would that be a solution for you?

ok i got it. thank you!


Fix reading the shared schema from object instances

The overridden sharedSchema class method only worked properly when called
directly on the class it's overridden on, but actual object instances are
always a generated subclass of that class. This roundaboutly ended up working
by coincidence in most cases due to it finding the correct shared schema via
the lookup by name, but for KVO-generated subclasses with a different name it'd
instead end up trying to generate a new RLMObjectSchema for the runtime-created
subclass. For obj-c classes this worked and was just pointless extra work, but
for Swift classes it crashed.
Fixes #3719.

👍

Looks good.
Is there any danger of the while loop not terminating if the method is improperly invoked?

It'll crash if it hits a root class without encountering the desired class, which I'd consider acceptable behavior for someone grabbing the implementation of a method and invoking it on an unrelated class.


New Topic System

Right now topics need to be explicitly defined. It would be ideal for the system to have greater matching and knowledge of all topics, rules and gambits for better conversation planning.
We need some utility topic functions to determine if a rule matches in a topic, and how many.
Replace the pre/post topic with a pending topic array that can change dynamically.
Add topic keywords and expand them with an ontology for better topic discovery.

Most of this work is done and in the topic branch. I'm waiting on PR in natural before we can merge this branch in.
Some key changes here;
ALL topics are now being searched, and the order is as follows.

PRE System hook topic
Previous topic or current topic.
Best keyword match using TF-IDF this could be several topics.
Any topics missed because they didn't have a keyword or were dynamically generated
POST hook system topic.

Next key change;
Matches will continue to be processes until output is generated, so if you have a match that does not generate any output we keep looking. This will allow functions to save data to the system of flip bits or do processing etc, and allow other matches to do the output generation.
Topic Mixins and includes have been deprecated. This functionality has been replaced by allowing us to span multiple topics and the functionality was to hard to grok.

This is now merged.


chore: automatically enforce compatible angular core module versions

We've recently had an incident were the angular-mocks version we were
running was incompatible with the angular version.
Each AngularJS core module is versioned equally, therefore we can write
a small scripts that automatically test that they match, so we're
guarded against forgetting to similarly upgrade different dependencies.
See: https://github.com/resin-io/etcher/pull/1168
Signed-off-by: Juan Cruz Viotti<EMAIL_ADDRESS>

...and I think "a small scripts" in your commit-message should be "a small script" ?

...and I think "a small scripts" in your commit-message should be "a small script" ? And then change "test" to "tests".

lol, a major mixup of singulars and plurals :P

Cool, the OSX and Windows CI tests are now "failing properly", so now to update the bash script... :-)

Hmmm, now works on both Linux and OSX, but Appveyor is still failing with Dependency: dependencies["angular"] must be version-locked in package.json - it'll have to wait until Monday ;-)
@jviotti Any ideas how to get rid of the separate sanity-checks-unix and sanity-checks-windows entries in package.json?

@jviotti Any ideas how to get rid of the separate sanity-checks-unix and sanity-checks-windows entries in package.json?

Let's move the task to the Makefile (and make the npm script still call it if you like), and that should do it!

@lurch Windows seem to work now! \o/

Yup, I've got the script moved to the Makefile too (in my local version), just need to test it on Windows and Docker and then I'll push a further commit to this PR. I'm thinking that it probably doesn't make sense to add make sanity-checks to package.json, given that this is a new script (i.e. nobody is relying on it yet) and there's also no entry in package.json for make electron-develop either.

I'm thinking that it probably doesn't make sense to add make sanity-checks to package.json, given that this is a new script (i.e. nobody is relying on it yet) and there's also no entry in package.json for make electron-develop either.

Yeah, I agree. Let's only keep it in the Makefile.

@lurch I've moved the npm scripts to the Makefile and squashed the commits. Let me know how it looks now!

I've moved the npm scripts to the Makefile and squashed the commits.

LOL, you beat me to it. Sorry, I've been busy with other stuff.

Let me know how it looks now!

It looks great!! :tada:
Your changes to Makefile, .travis.yml and appveyor.yml are identical to my local versions :+1:


[Hacktoberfest] A function to insert into a table

Task
Implement a function to insert into a table in JavaScript SDK.
Follow similar pattern as in the Python SDK.
Deliverables
Create a PR to this repository with the implementation.
:loudspeaker: Additional rewards :trophy:
This issue brings up to :five:  :zero:  points for SWAG and entry into the draw for a  :point_down: :

:three:  :x:   :computer:  Razer Blade 16 Gaming Laptop
:shirt: :bear:  MindsDB Swag

:information_source: For more info check out https://mindsdb.com/hacktoberfest :point_left:

Draft PR: https://github.com/mindsdb/mindsdb-js-sdk/pull/83

Ready for a review 👍


Add command version in CLI

What?
Support getting version information in CLI
Why?
To improve usability

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: d-hayashi
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [d-hayashi]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


treewide: migrate to pytest-cov-stub

Description of changes
Migrating a couple of leaf packages to use the new pytest-cov-stub (https://github.com/NixOS/nixpkgs/pull/328550)

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 331138 run on aarch64-darwin 1

8 packages marked as broken and skipped:

python311Packages.batchspawner
python311Packages.batchspawner.dist
python311Packages.oauthenticator
python311Packages.oauthenticator.dist
python312Packages.batchspawner
python312Packages.batchspawner.dist
python312Packages.oauthenticator
python312Packages.oauthenticator.dist

44 packages built:

python311Packages.aiojobs
python311Packages.aiojobs.dist
python311Packages.ambee
python311Packages.ambee.dist
python311Packages.anonip
python311Packages.anonip.dist
python311Packages.birch
python311Packages.birch.dist
python311Packages.cachier
python311Packages.cachier.dist
python311Packages.cemm
python311Packages.cemm.dist
python311Packages.githubkit
python311Packages.githubkit.dist
python311Packages.hickle
python311Packages.hickle.dist
python311Packages.pymarshal
python311Packages.pymarshal.dist
python311Packages.pytest-postgresql
python311Packages.pytest-postgresql.dist
python311Packages.toggl-cli
python311Packages.toggl-cli.dist
python312Packages.aiojobs
python312Packages.aiojobs.dist
python312Packages.ambee
python312Packages.ambee.dist
python312Packages.anonip
python312Packages.anonip.dist
python312Packages.birch
python312Packages.birch.dist
python312Packages.cachier
python312Packages.cachier.dist
python312Packages.cemm
python312Packages.cemm.dist
python312Packages.githubkit
python312Packages.githubkit.dist
python312Packages.hickle
python312Packages.hickle.dist
python312Packages.pymarshal
python312Packages.pymarshal.dist
python312Packages.pytest-postgresql
python312Packages.pytest-postgresql.dist
python312Packages.toggl-cli
python312Packages.toggl-cli.dist

Looks good to me. There are a bunch of packages that explicitly use pytest-cov rather than patching it out; maybe we should switch those in this PR too?

I plan to migrate bit by bit in separate PRs both to minimize merge conflicts and to catch errors early.
This pr primarily greps for --cov, and there are a plethora of these cases left.
I assume once i do a s/pytest-cov/pytest-cov-stub/g I'll run into checks that fail due to a different version than what they're expecting, if they pin pytest-cov as an optional dependency. I think the fix then will be pythonRelaxDeps rather than changing the version of pytest-cov-stub

Sounds reasonable. I don’t suppose there’s anything we could do to somehow make the stub match any possible version?

We could set it to the current major version and leave the minor and patch version at zero.
I don't want to rebuild all dependents of pytest-cov-stub each time the version of pytest-cov is bumped, it kinda defeats the purpose.

We could maybe add a setup hook that appends pytest-cov to relaxPythonDeps, but relaxPythonDepsHook is only added to the build if relaxPythonDeps is populated at eval time

I did the remaining outside of pythonPackages occurences in #336777


--norc to let output file keep the RF orientation as input file?

How to let output file keep the RF orientation as input file?
if "--norc" option can do this, we need update the help?
--norc  do NOT reverse-complement mate-pair reads (use this if your reads are already in FR orientation)
nxtrim is a filter application, so we should keep the orig orientation by default like most of filter application?

I have changed the --norc flag to --rf which I think is less confusing. The functionality is the same. Using --rf will return reads in RF orientation (assuming that was there original orientation).
If you can point me to where the documentation still mentions --norc I will correct this. Thanks!

nxtrim is a filter application, so we should keep the orig orientation by default like most of filter application?

This depends on your goal. I assume most people want to use the output in an assembler like SPAdes or Velvet. See here. These software assume FR orientation so NxTrim aims to do this.


Proposals for PyWren API changes

Prepare short code snippets & explanations of these potential improvements:

[x] CloudObject handle for COS objects
[ ] async/Future chaining (i.e. using FutureCloudObjects in one invocation automatically delays that invocation until the Future has resolved). Also reporting on the DAG.
[ ] (Building on async/Future chaining) Decorator-based API
[ ] CloudObjectList/CloudObjectBag maybe? Not entirely sure it's worth it.

Stale issue - closing


Fix for tables that have no primary key

Fixes #8

@wzrdtales
Don't mean to bug, just not sure how your github notification settings are setup for the db-migrate org.


Is there any API for computation party to get its own local plaintext

In the process of multi-party secure computing, the participant is both the data owner and the computation party. When executing the mpc protocol, the participant wants to obtain its own local plaintext secrets (including some intermediate results).
For example, participant A and B want to compute a+b, then A shares a for a1,a2(keeping a1 and sending a2 to B), B shares b1,b2(keeping b2 and sending b1 to A),I want A can get a1+b1,while B gets a2+b2. but I don't find a way, I wonder is is there any API for me to achieve this

@gogogo66 I think you are referring to Tensorflow's dataset, which supports distributed reading. You can find an example here. This is not an example of reading and sharing like what you described, but hopefully you can figure out how to achieve what you want. Btw, you can also use this, although we only use it to read from one party in our application, but you can just copy the code and put it under different tf.device.

你的邮件已收到


Log sigmoid

It would be nice to have a numerically stable log_sigmoid similar to the existing log_softmax.

Do you mean -tf.softplus?

I changed my mind, after accidentally writing log_sigmoid(x) = -tf.nn.softplus(x) instead of the correct -tf.nn.softplus(-x).  We should have tf.log_sigmoid, though it should be implemented as pure Python.


Feat: Adding contact us page link in home page.

Describe the feature
I had observed when I was clicking on the contact us page it is showing error so I want to add proper link to it.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

I would like to work on this issue , please assign this to me.
@himanshu-03

I would like to work on this issue. Kindly assign me.

Hello @harinisayani
I believe this issue is now already resolved on our website.
Keep looking for new issues or go through the existing issues for contributing on our repo.
Happy Coding!! ✨


Fixed the bot eating '!' or '！' when repeating

When user send a message with multiple '!' or '！' in the end of the message, the bot will replace all of them with a single '！'. Refactor message repeat logic to accurately handle messages ending with '!' or '！' by ensuring it repeats the content properly (replace every '!' or '！' with '！') when calling function repeat_repeat_repeat() in ./main.py

It's not a bug.


why this problem occurs?

File "D:/Project/CONTaiNER/src/container.py", line 790, in
main()
File "D:/Project/CONTaiNER/src/container.py", line 707, in main
global_step, tr_loss = train(args, train_dataset, model)
File "D:/Project/CONTaiNER/src/container.py", line 142, in train
outputs = model(**inputs)
File "D:\Project\CONTaiNER\venv\lib\site-packages\torch\nn\modules\module.py", line 1130, in _call_impl
return forward_call(*input, **kwargs)
File "D:\Project\CONTaiNER\src\utils.py", line 191, in forward
loss = calculate_KL_or_euclidean(self, attention_mask, original_embedding_mu,
File "D:\Project\CONTaiNER\src\utils.py", line 115, in calculate_KL_or_euclidean
assert len(repeated_labels) == (filtered_instances_nos * filtered_instances_nos), "dimension is not of square shape."
AssertionError: dimension is not of square shape.
python-BaseException
sorry to bother you, can you help me?

I have the same problem. Hope that some solve method.


[CP] [Impeller] Fix unsafe access for clip stencil coverage

issue_link
https://github.com/flutter/flutter/issues/120220
Commit Hash
https://github.com/flutter/engine/commit/9ac09ced1e4121caa25c2f4f779ac05a3a84c17c
Target
beta
pr_link
https://github.com/flutter/engine/pull/39730
Impacted Users
Impeller users
Impact Description
See https://github.com/flutter/flutter/issues/121011
Workaround
There is no workaround
Risk
low
Test Coverage
yes
Validation Steps
See https://github.com/flutter/flutter/issues/121011

@jonahwilliams @chinmaygarde

LGTM

@zanderso I am not sure when we will have enough cherry-picks for a beta hotfix.  Do you think this change will get picked up on the next branch alignment?   If so, we can close this cherry-pick.

Yes, it will be in the next beta. I'm fine with closing this at this point.


Module 4 exercises [Mary Amponsah]

WS2_M4E1_Template_Mary Amponsah.docx

Well done, Mary. You clearly grasped the material outlined in Module 4 and successfully applied it to these exercises. Thank you for your participation! Please be sure to fill out the post-Module survey before you begin the next Module.


How to set the navigation bar font color and font style，in android

一句话概括
详细描述
重现（选）

This requires native developers to extend this functionality.
Maybe you can find the answer here.
http://weex.apache.org/guide/extend-android.html


Update Time crate

Fixes https://github.com/hyperledger/ursa/issues/196

looks like the build failed

Build is failing because I missed an instance of time.
libsodium-ffi depends on zip depends on the old version of time.
This is the latest version of zip.
Anyone know how to address this?

This might be a more complicated fix.
It seems like libsodium-ffi hasn't been updated in a while.  I'm not sure what the best libsodium wrapper for rust is at this point, either.

Would this one work? https://github.com/RustCrypto/nacl-compat

there are also many resources here that have been compiled by the rust crypto interest group:https://cryptography.rs/, in particular https://github.com/brndnmtthws/dryoc might work for us.

blocked on https://github.com/zip-rs/zip/pull/254
Note libsodium-ffi is pegged to v0.5 of zip.
https://github.com/zonyitoo/libsodium-ffi/blob/master/Cargo.toml#L20
presumably the zip fix comes in with a point release on 0.5.

It looks like libsodium-ffi is only used to check the validity of ed25519 and chacha20, and to provide an alternative backend for chacha20 encryption. I would suggest just removing it.

We discussed this issue in yesterday's Ursa meeting.  As @andrewwhitehead suggests, the best solution seems to be removing libsodium.  Other people in cryptography that I've discussed this with have also recommended that we ditch libsodium.  @mac-arrap

Is this being worked on?

@andrewwhitehead I was going to dig in later .. maybe tomorrow, but if you already know what needs to be excised feel free to go for it! lemme know.

Cam @mac-arrap said he was going to look at it.  You should feel free to take a peek yourself, but it would be great if you could include him as well.  Obviously, the more the merrier!

superseded by https://github.com/hyperledger/ursa/pull/200


Correct typo

Fixed typo and removed word so the sentence reads mo'better.

Coverage remained the same at 100.0% when pulling d79c73844dfef1b2af8d60d21bd48a77dd9aef9f on mariozig:patch-1 into 69a7786ec8b26dd27743c157baf01f91db98f997 on edelpero:master.

Coverage remained the same at 100.0% when pulling d79c73844dfef1b2af8d60d21bd48a77dd9aef9f on mariozig:patch-1 into 69a7786ec8b26dd27743c157baf01f91db98f997 on edelpero:master.

Thanks 👍


Description and example code for  KY-040 encoder does not reflect operation of actual device

Re this page:
           https://docs.wokwi.com/parts/wokwi-ky-040

Is it your intent that the simulation of the KY-040 exactly match the behavior of the actual device? If that is the intent, then both the description (in the Operation section) and the associated example code (first example under Reading the rotation) are incorrect: The stated description does not reflect the behavior of the actual device, and the associated example code will not work correctly on the actual device.
I would be happy to provide a pull request with corrections that bring the description and the code into agreement with actual device behavior, but first wanted to ask whether it is even your intent that the simulation match the actual device behavior. Perhaps your intent is only that the simulation behave in a functionally similar way, but not mimic the device exactly....?

Thanks for the feedback!
The intent is to have the simulation match as closely at it make sense (i.e. requires a reasonable level of effort and is not computationally heavy). For parts that can't be accurately simulated, we should at least point out any significant differences in the documentation. I'd love to read what you think is inaccurate so we can address it.

Here's a summary of the changes required to bring the operational description and the example code into agreement with the behavior that I see with real-world KY-040 parts, and consistent with your own timing diagram (which is correct as shown).
If you agree with what is below, I'll be happy to provide a pull request that corrects the errors.  However, if you dispute my analysis, I'll also be happy to go down to the next level of detail and make the case with some carefully-drawn timing diagrams and results obtained using an actual part, just to avoid the time spent in submitting a pull request that you may not agree with.
(But I think you should be able to verify all of the corrections below by simply examining the behavior of an actual KY-040 part using a scope or multimeter. Your timing diagram shows the real-world behavior correctly.)
===========================================================================
Regarding the Operation section, which states the following:
    "Every time the user rotates the knob, it produces a LOW signal on the DT and CLK pins:"

That statement does not agree with the behavior of any quadrature encoder that I have ever worked with, and in particular, does not agree with the behavior of the Taiss KY-040, which is a pretty common Chinese part.  All quadrature encoders I've come across toggle the state of both CK and DT pins on every detent movement (i.e. on every "click" of the encoder shaft); but the direction (and final state) alternates:  It "produces a LOW signal" (per your statement above) only on every other detent movement, not on every detent movement.
Concrete example that you can check easily yourself with just a power supply and a multimeter or scope: Set the initial detent position such that the state of both CLK and DT happens to be HIGH: In this case, rotating the shaft by one detent position (in either direction) will indeed change the final state of both CLK and DT to LOW, as your document states above. But if the initial detent position happens to be such that CLK at DT are both LOW, then rotating the shaft by one position in either direction will change the state of both CLK and DT to HIGH, contradicting the word "every" in the above statement from your document.
In other words, with the real-world part, every detent click, in either direction, results in a transition of both CLK and DT, but the direction of that transition (hence the final state in the new detent position) depends on the steady-state value of the initial position. It does not always "produce a LOW signal", as stated in your doc.
===========================================================================
Interestingly, the Reading the rotation code example fixes the above interpretational mistake by (correctly) conditionalizing the direction assessment based on

    if (newClk != lastClk)
    {
            ...
    }

which correctly assesses the direction on every CLK transition, not just transitions from HIGH to LOW.  Unfortunately, the example code also introduces a new mistake in determining the direction of rotation by assessing the direction like this:
    if (newClk == LOW && dtValue == HIGH) {
      Serial.println("Rotated clockwise ⏩");
    }
    if (newClk == LOW && dtValue == LOW) {
      Serial.println("Rotated counterclockwise ⏪");
    }

But that is not correct: The correct clauses should be:
    if (newClk == LOW) {
       if (dtValue == HIGH)
          Serial.println("Rotated clockwise ⏩");
       else
          Serial.println("Rotated counterclockwise ⏪");
    }

    if (newClk == HIGH) {
       if (dtValue == HIGH)
          Serial.println("Rotated counterclockwise ⏪");
       else
          Serial.println("Rotated clockwise ⏩");
    }

The above corrected version is consistent with both the observed behavior of an actual Taiss part and with the timing diagram shown in your document. (And of course the above corrected clauses could be improved efficiency-wise by preceding the second clause with "else".)
===========================================================================
Again, if you're not convinced of the above analysis after fiddling around with an actual KY-040 part in view of the manufacturer's datasheet, just let me know, and I'll be glad to provide additional detail and actual test results using a Taiss KY-040.

Thanks for the detailed explanation!
I did a quick experiment with my logic analyzer and a rotary encoder that I have here (from Ender-3 S1 printer). This is what I'm seeing I make a single detent movement clockwise:

And when I make a single detent movement counterclockwise:

Each channel has a pull-up resistor (otherwise, the signal is always low, and does not change when I move the knob).
From what I see, it looks like there are two transitions on each channel for every detent movement: first, it goes LOW, then HIGH.
However, if I make what I perceive as partial movement (carefully applying force to the knob so that is hangs between two clicks), it does make a single transition (either goes to HIGH or to LOW). When the encoder is connected to the printer, however, it doesn't register this as a movement - it requires two transitions (so HIGH to LOW and then back HIGH), before the UI responds (e.g. moves to the next item in the menu).
I guess either different people may have different definitions of what a detent movement is, or different rotary encoders give different kind of feedback. I don't have a Taiss KY-040 at hand to tell whether this is a matter of definition or difference between rotary encoder, but I will try to obtain a unit. In any case, we should probably adapt the docs to reflect that.

Interesting.
Couple of questions:

Is the encoder that you examined identified in any way as being a KY-040 part?  (Can you supply a photo of it?)

When you did your test with the logic analyzer, was the encoder completely isolated from the printer, or were any lines still connected to the printer? The reason for the question is that unless the encoder was completely isolated, it is possible that the printer logic was unintentionally "participating" in the experiment in some fashion. I would be inclined to some degree of skepticism in interpreting the results unless the part was examined "bare", i.e. completely, totally isolated.

As to the definition of "detent movement": I can't speak for anyone but myself, but what I mean by a "detent movement" is a monotonic angular rotation of the shaft, starting from one stable shaft position and ending at an adjacent stable shaft position, in either direction, with no attempt to retard the movement during the transition.
For example, define three stable adjacent shaft positions A, B, and C, located respectively at (say) 12-o'clock, 1-o-clock, and 2-o'clock positions.  Then what I mean by a single "detent movement" is a monotonic rotation from A to B or from B to C or from C to B or from B to A.
I've not come across any mechanical shaft encoders that behave as you are showing, but that certainly doesn't mean there aren't any.  (One precision optical encoder I worked with many years ago may have possibly behaved as you show, but I am not sure of that and may simply be mis-recalling.)
In any case, your document explicitly claims to describe the behavior of the KY-040, and I can say for sure that the Taiss KY-040's that I have do behave as stated in my previous post.  I just checked carefully again, to be sure I was not mis-interpreting or mis-reporting, but there is no ambiguity: Each detent movement (as defined above) toggles the state of both CLK and DT.  There is no "return to HIGH" or "return to LOW" at the final detent position: It's just a straightforward toggle, nothing more.
And that toggle behavior is fully constent with the attached document, which appears to be excerpted from the datasheet for a KY-040 manufactured by Keyes.
Annoyingly, I could not quickly put my hands a datasheet claiming to be published by Taiss, but in any case, I buzzed out my Taiss unit and the schematic is exactly as shown for the Keyes KY-040, including the two on-board 10k pullups. The Taiss units appear to be physically identical to the photos shown of the Keyes part.
Anyway... it will be interesting to hear what you find if you are able to put your hands on a part that is definitely represented as being a KY-040.
KEYES_KY-040.pdf
P.S. Btw, as an amusing aside from issue we're discussing:  Both the Keyes and Taiss KY-040's have 30 detent positions, despite the fact that they are both routinely mis-advertised (e.g. Amazon, eBay, AliExpress, etc.) as having 20 positions. (Your document also mentions 20 positions up at the top.)

Is the encoder that you examined identified in any way as being a KY-040 part? (Can you supply a photo of it?)

Nope, I didn't take apart the LCD assembly, and the only thing I could find online was this photo:

It does seem similar in appearance of the encoder inside the KY-040.

When you did your test with the logic analyzer, was the encoder completely isolated from the printer, or were any lines still connected to the printer?

I tested by connecting to the connector at the back of the LCD assembly, while it was disconnected from the printer.
In any case, I just ordered an KY-040 compatible encoder (it says LB-Link instead of Keyes), to remove another bit of uncertainty. I will update once it arrives.

It does seem similar in appearance of the encoder inside the KY-040.

That actually looks like it may be an EC-11 rather than a KY-040, but it's hard to tell, they do look similar.
The EC-11's I've got operate like the KY-040's as well. Here's a datasheet for the Alps line of EC-11s:
https://www.mouser.com/datasheet/2/15/alps_alps-s-a0008379064-1-1733314.pdf

See the timing diagram at the top of  p. 7.  That diagram explicitly defines what they mean by "stable detent position", and it makes clear that the operation I refer to above as "detent movement" (i.e. moving from one stable detent position to an adjacent stable detent position) results in a toggle of both lines, not a "return to HIGH" or "return to LOW".

Update: still waiting for the KY-040 compatible board. Should be shipped this week, according to store.

Ok, will be interesting to see exactly how it behaves. Can you post the URL of the site that you ordered it from?
Btw, here is another explanatory blurb which seems to indicate that the encoding operation is as I described in the original post, i.e. that movement from one detent to an adjacent detent (in either direction) toggles both CK and DT, rather than "return to HIGH" at each detent position:
https://components101.com/modules/KY-04-rotary-encoder-pinout-features-datasheet-working-application-alternative

Unfortunately, the document does not state that explicitly, but if the vertical dotted lines in the timing diagram are interpreted as  stable detent positions, then the encoding operation accords with my earlier description.
Anyway... that still doesn't mean that there might not be other parts which are (accurately or inaccurately) being marketed and sold as "KY-040", and which use a "return to HIGH" encoding scheme.

URL: https://brk.co.il/product/ky-040-מקודד-סיבובי
Should arrive today

Just got the part, and it seems like it does toggle twice (high → low → high) for each detent movement:
https://user-images.githubusercontent.com/892318/224999631-bc1d3dfd-9706-444e-b885-bb8d6d4114b3.mp4
I guess you are getting different results with your encoder?

Interesting.
The part you show in your video does not appear to be the same part as shown in the advertisement URL that you posted. The board is clearly different (there is no "LB-link" notation) and the encoder itself also does not appear to be the same as the one shown in the ad photo. See attached annotated photo of the ad.
I've also attached the tag from the Taiss KY-040 parts that I got via Amazon. (I also have some from eBay, but there was no original packaging.) All of those parts behave as I described earlier, and verified in a very simple way using a multimeter to verify the contact resistances to GND and + for adjacent detent positions.  If you insist, I will be glad to supply a video showing those measurements, but the test is so straightforward that it hardly seems worth the effort. And in any case, the behavior seen and described in my earlier posts is in full agreement with all the other documentation that I have come across for the KY-040, and provided in the links in the above postings. And my many projects using those parts would not work if the encoding behavior were other than what I described. The shaft encoding used in the parts that I have in my lab is unambiguously toggle-type behavior, not the return-to-HIGH that you show above.
Here's the Amazon ad for at least some of the KY-040's in my collection:
https://www.amazon.com/dp/B07F26CT6B?psc=1&ref=ppx_yo2ov_dt_b_product_details
The parts from eBay did not come in original packaging, but externally at least, they do appear to be mechanically identical to the ones from Amazon.

Btw, how many detent positions does your part have?

Yes, the part indeed seems different from the one in the picture. It has 20 detent positions. It may be the part from this tutorial, as the plastic color matches and also the number of detents:

It seems to me like there as if are two different models out there - one with 30 detent positions, which does not return-to-high, and another one with 20 detent positions which returns to high.

I like the full-quadrature-cycle-per-detent behavior in Wokwi:
https://wokwi.com/projects/409742532877688833
It matches the behavior of my bare no-breakout board blue encoder with its open circuits at the detents, and the encoders I have on breakout boards with VCC pullup resistors on the signal lines making HIGH at the detents.
However, this datasheet says their KY-040 alternates between both signals resting at HIGH and LOW with alternate detents:

If both switches are closed, turning the encoder either clockwise or counterclockwise one
position will cause both switches to open
If both switches are open, turning the encoder either clockwise or counterclockwise one
position will cause both switches to close.

I don't think you can rely on drop-in compatibility of the cheap and popular KY-040 encoder switches.  There's probably more than two models, and based on Urish's disassembly photo, they only need differ by the pattern of tabs on the disk in the RHS.


Bad dragging experience in IE when center data-bound

When center is provided in scope,map stucks and flashes. After scroll it sometimes starts moving slowly by it's own.
Checked in IE 10/11
tested here: http://tombatossals.github.io/angular-leaflet-directive/#!/examples/center

Stale issue with no example. Closing.


GLFW_MAXIMIZED change size after windows creation on Linux

I have found a difference of behavior between Windows (the OS) & Linux when using GLFW_MAXIMIZED.
Windows (the OS) create frame with screen size once when linux create windows with the width & heigth from params of glfwCreateWindow() then resize.
It only take fiew ms but have an impact on non resizeable windows where component are draw based on frame size.
I found it in a library (Libgdx) that use this library. cf https://github.com/libgdx/libgdx/issues/7089
I'm not 100% sur that unexpected behavior is in Glfw, but it's the same code to create windows for Windows (the OS) & Linux on Libgdx.
If someone can test it with C code directly it will help a lot.

You’re specifying Linux, but not which window system this applies to. Is this behaviour observed with Wayland, X11 or both?

I've test it with Ubuntu 20.4.5 that have X11. And with Debian in a VM but I don't know if it have X11 or Wayland.

@HydrolienF If you're on GLFW 3.3 or earlier, check the version string with glfwGetVersionString before or after glfwInit. If you're on 3.4, check the platform ID with glfwGetPlatform after glfwInit.

GLFW version: 3.4.0 Win32 WGL Null EGL OSMesa VisualC DLL
GLFW platform: 393217


Wrap the sniffer in a while loop

Hey @Tw1sm! Thanks for the awesome tool!
I'd like to propose a few cosmetic changes in this PR:

Replaced .split('\n') with .splitlines() so it ignores the last \n character and now shows the correct number of the users to roast.
Wrapped the sniffer into a while loop so it stops now only when a correct TGS has been obtained. It can be handy when you leave the tool running in the background.
Added handling of the KDC_ERR_PREAUTH_FAILED error which can frequently occure (e.g., when the target user has mistyped her own password).

Got back to testing this, works great in my lab! Awesome stuff, thanks again 🥳


Using Yarn 2 or 1?

Hi,
I'm trying to find examples using Yarn 2 workspaces. Are you using 1 or 2?
I don't see
$ yarn policies set-version berry
$ yarn set version berry

anywhere in the instructions.

This is based on Yarn 1.


[Restore-DbaDatabase] - Allow extra restores at a later date

Request from @ClaudioESSilva to add functionality to allow the restore to be split so it can be continued at a later date
So:
restore-dbaDatabase .......... -NoRecovery
and then later
Restore-DbaDatabase ........ -ContinueRestore
you can restore more t-logs

now in dev branch.


[BUG] Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=<IP_ADDRESS>,

Context:

Playwright Version:  Microsoft.Playwright, 1.21.0
Operating System : Win 11
.NET version: 6.0.202
Browser: any of  All, Chromium, Firefox, WebKit
Extra:
trying to automate WITH playwright WITH vs-code AND dot net interactive.

To replicate :-

install vs code
install dotnet interactive
start a new file as ipnyb
paste in the script below in, and run it ...

Code Snippet
Help us help you! Put down a short code snippet that illustrates your bug and
that we can run and debug locally. For example:

// Microsoft.Playwright, 1.21.0
#r "nuget:Microsoft.Playwright"
// Microsoft.Bcl.AsyncInterfaces, 6.0.0
#r "nuget:Microsoft.Bcl.AsyncInterfaces"

using Microsoft.Playwright;
using System.Threading.Tasks;

var playwright = await Playwright.CreateAsync();

var browserTypeLaunchOptions = new BrowserTypeLaunchOptions
{
    Headless = false,
    SlowMo = 50,
};

var browser = await playwright.Chromium.LaunchAsync(browserTypeLaunchOptions);

var page = await browser.NewPageAsync();

await page.GotoAsync("https://playwright.dev/dotnet");

await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });

Describe the bug
This results in
Error: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Bcl.AsyncInterfaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. The system cannot find the file specified.
File name: 'Microsoft.Bcl.AsyncInterfaces, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'
   at Submission#11.<Initialize>()
   at Submission#11.<Factory>(Object[] submissionArray)
   at Microsoft.CodeAnalysis.Scripting.ScriptExecutionState.RunSubmissionsAsync[TResult](ImmutableArray`1 precedingExecutors, Func`2 currentExecutor, StrongBox`1 exceptionHolderOpt, Func`2 catchExceptionOpt, CancellationToken cancellationToken)

This doesn't aim to solve it, but just to let you know that you can unblock yourself for now by using version 1.19.1 like this:
#r "nuget: Microsoft.Playwright, 1.19.1"

using Microsoft.Playwright;
using System.Threading.Tasks;

var playwright = await Playwright.CreateAsync();

var browserTypeLaunchOptions = new BrowserTypeLaunchOptions
{
    Headless = false,
    SlowMo = 50,
};

var browser = await playwright.Chromium.LaunchAsync(browserTypeLaunchOptions);

var page = await browser.NewPageAsync();

await page.GotoAsync("https://playwright.dev/dotnet");

await page.ScreenshotAsync(new PageScreenshotOptions { Path = "screenshot.png" });

Looks like its fixed in recent versions. My setup was net8.0 and following this.
Code:
{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "dotnet_interactive": {
     "language": "csharp"
    },
    "polyglot_notebook": {
     "kernelName": "csharp"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "

Installed Packages

Microsoft.Playwright, 1.47.0

"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "// Microsoft.Playwright, 1.46.0\n",
    "#r \"nuget:Microsoft.Playwright\" "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "var exitCode = Microsoft.Playwright.Program.Main(new[] {\"install\", \"chromium\"});\n",
    "if (exitCode != 0)\n",
    "{\n",
    "    throw new Exception($\"Playwright exited with code {exitCode}\");\n",
    "}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "using Microsoft.Playwright;\n",
    "using System.Threading.Tasks;\n",
    "\n",
    "var playwright = await Playwright.CreateAsync();\n",
    "\n",
    "var browserTypeLaunchOptions = new BrowserTypeLaunchOptions\n",
    "{\n",
    "    Headless = false,\n",
    "    SlowMo = 50,\n",
    "};\n",
    "\n",
    "var browser = await playwright.Chromium.LaunchAsync(browserTypeLaunchOptions);\n",
    "\n",
    "var page = await browser.NewPageAsync();\n",
    "\n",
    "await page.GotoAsync(\"https://playwright.dev/dotnet\");\n",
    "\n",
    "await page.ScreenshotAsync(new PageScreenshotOptions { Path = \"screenshot.png\" });"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".NET (C#)",
   "language": "C#",
   "name": ".net-csharp"
  },
  "polyglot_notebook": {
   "kernelInfo": {
    "defaultKernelName": "csharp",
    "items": [
     {
      "aliases": [],
      "languageName": "csharp",
      "name": "csharp"
     }
    ]
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}


added gvh

Should we simplify the AgentConfig before we add gvh?
It seems a lot in gvh will be modified if we change AgentConfig.

I think only plist will go away and iplist will be added, right? those are the only two changes we are considering as of now?


[RESOLVED] High ICMP ping response time

Problem started at 12:11:16 on 2023.05.29
Problem name: High ICMP ping response time
Host: ST-FG
Severity: Warning
Operational data: Value: 946ms
Original problem ID: 22909
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23135&eventid=22909

Problem has been resolved in 5m 0s at 12:16:16 on 2023.05.29
Problem name: High ICMP ping response time
Host: ST-FG
Severity: Warning
Original problem ID: 22909


Please support Debian

I will be happy to use ROCm, under Debian.
Ubuntu is a derivative of Debian, so it should be easy for you to support Debian.

Dupe of #304

For now, take a look at this comment.
I had everything working in the tensorflow-rocm Docker image on Debian a few weeks earlier, following that comment.


Create an AWS Athena report that reports on bot health

This implementation should utilize infrastructure in #2314 - regarding logging for aggregations.  Report should have the following:
Per unit time

Number of bot executions (by bot and by project)
Number of bot failures

Related Querying Medplum logs using AWS Athena

@rahul1 - should we close this one as it appears Athena already supports this and custom report may be duplicative?


Add weekly review 038

Feel free to edit it. Thanks. ;-)

Thanks @kianmeng
https://perlweeklychallenge.org/blog/review-challenge-038/


Model for schedules in cassandra

This supersedes the previous one  #1692 that looks messy when doing rebase there.
I introduce another table expiration to try to improve the query performance, that each time we just hit one partition.
And looks we need to avoid to heavily use ttl either on row or column as the following article suggests that it will generate most of tombstones to impact the query.

https://www.datastax.com/blog/2013/04/cassandra-anti-patterns-queues-and-queue-datasets

https://thelastpickle.com/blog/2016/07/27/about-deletes-and-tombstones.html

Since this is in a feature branch, I need to merge it to continue the remaining implementation, we can refactor it later for any enhancement. thanks.

Since this is in a feature branch, I need to merge it to continue the remaining implementation, we can refactor it later for any enhancement. thanks.


Replace quickpick selection by a custom webview

Is your enhancement related to a problem? Please describe
it looks like a friction point from the beginning was to not use quick pick but use forms
I see requests about 'Form based' widget displaying a form rather than quickpick
But I think it won't solve the root issue that you want to customize the workflow with shortcuts, displaying icons at some very specific places, etc
About generating forms i think some people invested (like https://eclipse.dev/ecp/emfforms/ but is it something appealing on UX side at the end, I would not go there)
Describe the solution you'd like
I think a working approach would be to replace dialog by a custom Webview
Probably we need to tune the webview support, I see the required features like:

do not display it in the left navbar
reveal the webview (programmatically, not expecting the user would need to perform an action)

Then you could display a very customized page with a fancy look&feel
Describe alternatives you've considered
No response
Additional context
No response

created dependencies in Podman Desktop

https://github.com/containers/podman-desktop/issues/5924
https://github.com/containers/podman-desktop/issues/5925

it does not prevent to start the work in parallel to see if it fits the needs

Changed the title as it has been brought up we are keeping quickpick for-now, until we implement a way to "auto propagate" the build selection screen when clicking on that certain image in the image list @deboer-tim


huge select list - a way to follow the cursor ?

Hi,
So, I have a huge select list to show, taller than my terminal screen. The issue is that I can't see the top of selection, even if the cursor is on it; does an option exist to fix it ? ( maybe something like htop do)

Hi, Thanks for using the library. Good spot, I haven't built anything to
handle selection lists taller than the screen height.  So there is no quick
fix option. I'd imagine that adding a paginator that can return a fixed
slice and allow switching between pages a flexible solution. Do you have
time to work on it or submit patches?
On Thursday, 29 September 2016, Martin Kinoo<EMAIL_ADDRESS>wrote:

Hi,
So, I have a huge select list to show, bigger than my terminal screen. The
issue is that I can't see the top of selection, even if the cursor is on
it; does an option exist to fix it ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/piotrmurach/tty-prompt/issues/23, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAbHmOhgHcTEOiDq_TPPFi8_Fa3A7iFkks5qu8EIgaJpZM4KKAo0
.

Sure, I'll try to do that next week, let you know.

It's possible to do something like this:
# assuming options is an array with 'label' and 'value'
def menu_page(options: [], per_page: 23, page: 0)
  answer = TTY::Prompt.choice do |menu|
    if page > 0
      menu.choice "<< Previous page", { options: options, per_page: per_page, page: page - 1 }
    end
    options[page*per_page..(page*per_page)+per_page].each do |opt|
      menu.choice opt['label'], opt['value']
    end
    if page > 0 && options.size > (page+1)*per_page
      menu.choice ">> Next page", { options: options, per_page: per_page, page: page +1 }
    end
  end
  answer.kind_of?(Hash) ? menu_page(answer) : answer
end

answer = menu_page(options)

@kke That looks neat and exactly what I imagine an internal paginator would do. When using selection menus, take a slice from all items given what user indicated with arrows keys.
This is definitely on my list as the highest priority for this library.

I still need to make this work for #multi_select and #enum_select.

This is fully implemented in master branch, soon will release new version.

New version v0.9.0 released - enjoy!

:+1:


feat: Add utilities#assert

DOMRenderer previously had methods for asserting state.
Putting those methods on the prototype makes it impossible for the
minifier to do any kind of dead-code elimination.
This commit adds an assert utility function used in order to check
if a certain condition is met.
Checking for NODE_ENV and not including the passed in error message
in the thrown error should be trivial and only needs to be done once
in the more generic assert function.

@alexanderGugel I do not know how I feel about this.  I love the idea, but I think until we decide how we will strip the code based on runtime environment I think this is a bit premature.

I just wanted to get rid of asserting state via prototypal methods or manually throwing errors (currently we’re pretty inconsistent about that).
Having an explicit assert method is therefore a better solution IMO, not only in terms of making the code minifiable, but also in terms of code quality.

Closing. I still think we need something like this.


Relative valid links give error

If I try to link some of the autogenerated pages which are not actual files (like ./print.html, which exists and works without errors with mdbook serve), the build gives error:
error: File not found: ./print.html
   ┌─ About.md:34:45
   │
34 │ You can find a one-page version of Pan Docs [here](./print.html).
   │                                             ^^^^^^^^^^^^^^^^^^^^ File not found: ./print.html

This can be fixed by simply adding the link to the ignore list.

Checked, and yeah, that's the right way to do it.


Fix: unhide Appearance page

Unhides the Appearance SideBar item

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 increased (+0.005%) to 32.32%

Totals

Change from base Build<PHONE_NUMBER>:
0.005%

Covered Lines:
3081

Relevant Lines:
8473

💛  - Coveralls


Class For animation Tree's

so far this is hadled just by an array i whould be nice to have a proper class to store all the date and then get a standart location for varius animations.

Fixed


docs(migration): migrate from unstable_modules from modules

What
This PR adds simple docs for migrating from unstable_module from module
Preview
https://deploy-preview-860--heuristic-almeida-1a1f35.netlify.app/docs/3.x/upgrade/migration-guides/3.3-3.4#from-graphqlunstable_module-to-graphqlmodule

@mGGk-fr did you miss my mention here: #860 (review)
Also there seems to be some conflicts now.

@paul-vd i've moved it after removal of meta modules :thinking:


nixos/meilisearch: fix disabling analytics

Addresses the upstream breaking change related to the --no-analytics argument that affected the Meilisearch NixOS module.
The issue has been verified as resolved by executing nix-build ./nixos/tests/meilisearch.nix.
Closes #356522.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test meilisearch

This should be backported to 24.11 as well, since it's also a bug there


revert caching server state

Signed-off-by: Rama Chavali<EMAIL_ADDRESS>Please provide a description for what this PR is for.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@ramaraochavali: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test gencheck_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ramaraochavali: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test gencheck_istio

e2e-simpleTestsMinProfile_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test e2e-simpleTestsMinProfile_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ramaraochavali: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

gencheck_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test gencheck_istio

e2e-simpleTestsMinProfile_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test e2e-simpleTestsMinProfile_istio

integ-security-k8s-tests_istio
4bf1c5d4a9cd6095a7ccaaf6c9cfdcf7f540d62d
link
/test integ-security-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest
https://github.com/istio/istio/issues/18032

@howardjohn  Thanks for merging this. Looking at the readiness probe a bit more, I see inconsistency with how receivedFirstUpdate  is used https://github.com/istio/istio/blob/master/pilot/cmd/pilot-agent/status/ready/probe.go#L79. For hot restarts we do not look at this - Even if we look at stats at the time of hot restart, the child Envoy will have the same stats values as parent Envoy (as counters are copied over) even though child did not receive an update from pilot.
So what is the expectation here - during hot restart should we care about Envoy receiving a first update? If yes, we need to think about a different approach here.
One another thing I was thinking about caching these states in general is, since we are concerned about hot restart, should we reset the cached values at the time of hot restart - so that we get the benefit of not pinging Envoy every time for the value which does not change  but also take care of the the concern during hot restart?
@lambdai @hzxuzhonghu WDYT?

@ramaraochavali during a hot restart we copy LDS and CDS from the child, right? so we have always received the "first update" in that sense? Resetting on hot restart sounds good but I am not sure how it would work? There is a 60s period of time where we have both Envoys still running, at which point do we reset the stat?

during a hot restart we copy LDS and CDS from the child, right?

No during hot restart - the new (child) Envoy get all the config again from Pilot. It does not copy from old (parent) envoy.

Resetting on hot restart sounds good but I am not sure how it would work? There is a 60s period of time where we have both Envoys still running, at which point do we reset the stat?

That is a good point.  I have n't exactly thought about where exactly to reset it, but if it is a direction we want to pursue, I can dig deep

@ramaraochavali Thank you for the change!

One another thing I was thinking about caching these states in general is, since we are concerned about hot restart, should we reset the cached values at the time of hot restart - so that we get the benefit of not pinging Envoy every time for the value which does not change but also take care of the the concern during hot restart?

SG. Although I think the value is rather small, since I think envoy should be able to handle the /server_info in time. My general point is that we'd better don't rely on the implementation details of hot restart. It is usually tricky and best efforts.
I also need to admit that some details are critical. Such as the stat reset. Thank you for looking into it!

@lambdai I think for the first problem, we should look at the presence of membership_total metric of BlackHoleCluster - That would not be imported during hot restart and that cluster is guaranteed to be created on the first CDS response from Pilot - The absence of it indicates Envoy did not receive first response. We do not have to look at LDS also.  For now, we can make a  change to look at this stat every time (remove caching) so that we can catch hot restart missing issue.
Once it is done, we can look a the optimization of caching the state and resetting it later if it becomes a real problem later. WDYT?

@lambdai pushed this PR https://github.com/istio/istio/pull/18164 - see if this makes sense.


Add support for <=, >= to Approx

Approx is very useful and I'd make further use of it if support for <=, >= could be added.
I'll be happy to do this work.

Updated following face-to-face discussion (small world):
I agree that having < and > both true is daft. All the LP and QP libraries I've seen expose <= and >= instead. If Catch did the same and Approx supported <= and >= would that be ok?


german Aldi Süd casalux Wifi LED RGB Light Strip Dump (Tuya CBU, BK7231N,RGB PWM and IR receiver)

Edited, due to false offsets in this posting text (thanks kuba2k2) that I wrongfully read using TextWrangler on Mac OS which did obviously change/insert values on the screen while watching the .bin files probably due to wrongfully using coding like UTF-8 on the bin files (the actual files were always correct, only had problem with displaying data)
Edit2: Update of PWM-Pins (wrong RGB color, additional pin info, Hint for OpenBeken Pin Settings)
Here is the (german) no name brand casalux with the “Wifi LED RGB Light Strip”, vendor is german Aldi Süd.
I bought it in 2022-10 for ca. 17 €. Seems to be it was sold also in early 2022 for 10€, but I don’t know if it had the same controller back then, seems to be identical.
Early 2022 info: https://www.aldi-sued.de/de/p.casalux-wifi-led-rgb-light-strip.490000000000711151.html
Youtube Video/Review about early 2022 (packing is still looking the same): https://www.youtube.com/watch?v=W_QRa3aQdN4
2022-10 info: https://www.aldi-sued.de/de/p.casalux-wifi-led-rgb-light-strip.490000000000818507.html
Packing states: Imported by Horstmann GmbH & Co KG, Hopfens. 1d, 24114 Kiel, Germany www.horstmann-kiel.com
Markings on the packing: 818507, Modell 9A22044,   X/17/2022
Technical specs on the packing:

9 W
0,5 W standby
5 m LED strip
150 LEDs

The LED strip only has 4 connections (12 V, R-PWM,G-PWM,B-PWM), it only has RGB, so no extra white LEDs
The “Smart Wi-Fi controller" in the white plastic box has the following information on the sticker:
Model: DW-RGB-WI01
Input: 12 V DC
Output: 3x2A (Max)
2.4 GHz ISM band
protection class III
Dongguan D-win Light ing Co., Ltd
Room 101, No.17,Dongkeng West Yanhe
Road 3. Dongkeng Town, Dongguan City. Guangdong Province China
Besides this controller there is the LED strip, a simple IR remote and a wall wart power plug (12 V DC / 1 A) in the box.
I opened the controller and found a Tuya CBU module (or CBU IPEX?): https://developer.tuya.com/en/docs/iot/cbu-module-datasheet?id=Ka07pykl5dk4u which wasn’t a surprise because the handbook tells you to download one of the Tuya apps.
The CBU module (which has Beken BK7231N chip) has only 7 connections soldered to the PCB:
3.3 V: CBU Pin 14
GND: CBU Pin 13
PWM Red:     CBU Pin  8 = Symbol "P8" = BK7231N Pin 24
PWM Green: CBU Pin  9 = Symbol "P7" = BK7231N Pin 23
PWM Blue:    CBU Pin 10 = Symbol "P6" = BK7231N Pin 22
IR Receiver: CBU Pin 1 = Symbol "P14" = BKN7231N Pin 11
?:                    CBU Pin 21  = Symbol "P15" = BKN7231N Pin 13 (maybe for mechanical stability reasons because the right edge of the module has no solder connection, seems to be not connected to anything else on the PCB)
Hint for using OpenBeken FW: The "Pin Settings" in OpenBeken V1.14.86 (and others I guess) refer to the "Symbol Px" Pins, not the CBU or BK7231N Pins.
I set up my old Android smartphone, changed MAC address for safety reasons and set up a test access point with SSID “test1234” and used the “Smart Life”  android app to connect the device to the tuya cloud, but i didn’t create a user profile (skipped profile creation in the app). I could then use the LED strip with the smart life app, so i suppose the readout dump should contain a Datapoint ID (DPID).
I found the access point SSID and PSK in cleartext in the dump.bin (see below) at offset 0x33CAA70x1D1000 to 0x33CB580x1D10AA. Didn’t findI also found my access point MAC (BSSID) in the dump.bin @ offset 0x1D1021 after kuba2k2 showed it to me. The MAC address isn't ASCII coded but raw.
For readout I connected my Raspi 3B to UART (CBU Pins 15 and 16) (redirected the Raspi UART /dev/ttyAMA0 to the Raspi Pins and therefore deactivated Bluetooth on the Raspi to get a “real” UART, checked if /dev/serial0 now points to /dev/ttyAMA0) and used python script:
bk7231tools read_flash -d /dev/serial0 -s 0 -l 0x200000 ./dump.bin
Further attempts (dump2.bin and all further attempts) gave a slightly changed readout (changed 1 time, stayed then this way), but looking into the dump file reveal that the change doesn’t affect the boot loader or the main program but maybe is some sort of boot counter. (change between dump.bin and dump2.bin starts at offset 0x36A1E3 0x1EB034, ends at offset
0x36A1FF 0x1EB045).
At 0x1EF000 there seems to be no DPID data. (it is all blank there) but at 0x1EEA8C to 0x1EEB07 there is something, maybe it is it? If yes: This could be for BK7231N devices other than BK7231T The DPID data is all there @0x1EF000, see kuba2k2s comment below.
I am also curious why free areas in the flash have the data 0x87CB in it instead of 0x00 or 0xFF Free spaces in the flash are 0xFF, see kuba2k2s comment below.
Because I couldn’t write my CBU module with bk7231tools (see my issue https://github.com/tuya-cloudcutter/bk7231tools/issues/7) i successfully wrote my flash with https://github.com/OpenBekenIOT/hid_download_py with the OpenBeken FW. Still trying that out, but seems to work so far, boots up, WLAN works, everything seems fine, haven’t tried to configure PWM/LEDs or IR receiver yet.
Aldi_casalux_Wifi_RGB_LED.zip
Have fun!

Further attempts (dump2.bin and all further attempts) gave a slightly changed readout (changed 1 time, stayed then this way), but looking into the dump file reveal that the change doesn’t affect the boot loader or the main program but maybe is some sort of boot counter

That's normal, the firmware writes to upper flash areas frequently, so it's usual to get different data after the device boots.
I'm not sure why are you referring to the offsets like 0x33CB58; the flash is 2 MiB in size, which is 0x200000 so there's no data at that offset. It's true that bk7231tools prints larger offsets - that's to trick the bootloader to allow reading the entire flash. If you do 0x33CB58 % 0x200000 it will show the correct offset, which would be 0x13CB58 in this case.

I found the access point SSID and PSK in cleartext in the dump.bin (see below) at offset 0x33CAA7 to 0x33CB58. Didn’t find my access point MAC (BSSID) in the dump.bin.

It's at offset 0x1D1000 - not sure where do the offsets you mention come from. The MAC is also there - at offset 0x1D1021 - C0:EE:FB:C2:D9:C5.

At 0x1EF000 there seems to be no DPID data. (it is all blank there) but at 0x1EEA8C to 0x1EEB07 there is something, maybe it is it? If yes: This could be for BK7231N devices other than BK7231T.

The data starts at 0x1EE000 and goes all the way to 0x200000. It's an encrypted block that contains DPIDs, network SSID, pinouts and other things like that.

I am also curious why free areas in the flash have the data 0x87CB in it instead of 0x00 or 0xFF.

I don't see that in the dump. All empty flash data is filled with 0xFF, some blocks (which are used) are filled with 0x00 if the data takes less space.

I'll look into the issue with bk7231tools. Meanwhile, I think you're using some kind of a weird hex viewer - the offsets at which you find the data are wrong. On Linux, you may simply use:
cat dump.bin | hexdump -C | less

For the record, here's your encrypted block data, but decrypted and put into JSON. I believe there are the DPIDs you're looking for.
gh-171-9927782-aldi-casalux-wifi-rgb-led-dump.json

I used Textwrangler on mac os to view the .bin files and used File -> Hex Dump Front Document, so all the offsets come from there. Don't know why all the offsets would be completely off.
Will look into it later, also why i obviously wrote some offset out of 2MB area which doesn't make sense...
Thanks for your reply !

I edited my original post to correct my wrong offsets and wrong assumptions based on the bad hexdump i saw. Thanks kuba2k2 :-)

An update has been pushed that should include a profile for this device.  Please update your repo and give it a try.  Please see the instructions page ( https://github.com/tuya-cloudcutter/tuya-cloudcutter/blob/main/INSTRUCTIONS.md ) for any command or input changes.
If the new profile does not work, please re-open this ticket with details (including logs) of the failure.
Any feedback is appreciated.


⚠ SceneTime has degraded performance

In 1912b72, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1023 ms

Resolved: SceneTime performance has improved in 89dd2aa after 20 minutes.


希望能增加MAC版本

很棒的东西，希望能增加MAC版本

also hoping for mac to be added

macos has been officially supported since v1.2.0


Documentation discontiniousy

Hello,
If you take a look at the https://developer.android.com/guide/navigation/navigation-principles this project is referenced, but the project looks completely different now than it did when that article was made (not sure when it was written, or by who, it wasn't listed).
I'm lacking another place to report this, just thought you guys should know.
Thanks for an otherwise great product! It'll help alot.

Thanks for reporting this!
For issues related to documentation on developer.android.com, please create a new issue in the Google issue tracker.  The specific component for DAC is here


Refactor ArborX::query

The current state is a bad way to do things. ArborX::BoundingVolumeHierarchy is not self-contained, and instead dispatches to a free function. That's problematic. This also really does not play with APIv2 refactoring.

@dalg24 Should have addressed all your comments.

Should we just go ahead and drop the <ArborX_CrsGraphWrapper.hpp> header (possibly going through deprecation)?

I would be ok with making the header private. Deprecating the function would take more effort as it's heavily used in the tests and benchmarks.

To be clear, I did not suggest to deprecate the function.


Added Selection_Sort.cpp

##Assigned Issue
#89
#90
Have you read the Contributing Guidelines?
Yes
Files Affected ?
Selection_Sort.cpp
Insertion_Sort.cpp
Checklist

[Yes ] I've read the contribution guidelines.
[ Yes] I've checked the issue list before deciding what to submit.

Leave it . I will do it later on my own


Upgrade to Tailwind 3.4

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1

PR #2

PR #3

PR #4

PR #5   👈

PR #6

PR #7

This stack of pull requests is managed by Graphite.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

Current dependencies on/for this PR:

main

PR #1

PR #2

PR #3

PR #4

PR #5   👈

PR #6

PR #7

This stack of pull requests is managed by Graphite.

Merge activity

Dec 20, 11:33 PM: @@steveluscher started a stack merge that includes this pull request via Graphite.


(FACT-1914) Expose noop Facter.reset method in JRuby

The PAL layer calls Facter.reset, so this method is needed for
compatibility with PAL. We leave it unimplemented, since facts are
treated as immutable in JRuby and custom facts are ignored.
If we ever do need to properly reset, we will need to figure out how
to properly implement thread safety and environment isolation for the
Facter java bindings.

CLA signed by all contributors.


Add OHLC tool

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.45%. Comparing base (0412973) to head (4bbd57d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #14      +/-   ##
==========================================
+ Coverage   66.59%   68.45%   +1.86%
==========================================
  Files          42       43       +1
  Lines        2353     2403      +50
==========================================
+ Hits         1567     1645      +78
+ Misses        786      758      -28

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.