Add couchbase database plugin to spring-cloud-vault

Hi,
I have added a couchbase database plugin, Hashicorp are reviewing it and will make it available at https://github.com/hashicorp/vault-plugin-database-couchbase when ready and I also added it to this package.
Note: this plugin is a database plugin, not a secrets plugin.
To run the two tests, you will need a 6.5.0 or newer Couchbase DB with an additional username "vault-static" added for the second static role test.
Use this command to start Couchbase container
docker run -d --name db -p 18091-18096:18091-18096 -p 11207:11207  -p 8091-8094:8091-8094 -p 11210:11210 fhitchen/vault-couchbase
This container already has the Administrator user configured and a test "bucket" added. The tests do not make use of the bucket.
The plugin is available from my own repo https://github.com/fhitche/vault-plugin-database-couchbase and needs to be build and registered in the sys/plugins/catalog/database/ before the tests will pass.
I had to disable the checkstyle plugin or I got these errors...
INFO] --- maven-checkstyle-plugin:3.1.0:check (checkstyle-validation) @ spring-cloud-vault-config ---
[INFO] Starting audit...
[ERROR] /home/fhitchen/git/spring-cloud-vault/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/util/Settings.java:31:1: Utility classes should not have a public or default constructor. [HideUtilityClassConstructor]
[ERROR] /home/fhitchen/git/spring-cloud-vault/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/util/CanConnect.java:29:1: Utility classes should not have a public or default constructor. [HideUtilityClassConstructor]
[ERROR] /home/fhitchen/git/spring-cloud-vault/spring-cloud-vault-config/src/test/java/org/springframework/cloud/vault/util/TestRestTemplateFactory.java:40:1: Utility classes should not have a public or default constructor. [HideUtilityClassConstructor]
Audit done.

I could not regenerate the README.adoc as I was unable to locate ./docs/src/main/ruby/generate_readme.sh?
I hope you will be able to approve this pull request.

Hi Mark,
I made the changes you requested and asked for a new review. I have not
seen any activity so I wondered if I had not done something else that
needed to be done?
regards, Francis.
On Tue, Jun 23, 2020 at 1:55 AM Mark Paluch<EMAIL_ADDRESS>wrote:

@mp911de requested changes on this pull request.
Thanks for your pull request. This PR requires some cleanup and should not
touch the buildfile at all. Please check out the comments.
In pom.xml
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r443998526
:

@@ -235,7 +235,8 @@

org.apache.maven.plugins
maven-surefire-plugin

			<version>2.21.0</version>

			<!-- version>2.21.0</versioni-->

	                <version>2.21.0</version>

Please refrain from pom.xml changes. This issue is about the Couchbase
database plugin. We can sort out any checkstyle warnings later on.
In spring-cloud-vault-config-databases/pom.xml
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r443998789
:

@@ -95,6 +95,11 @@
spring-boot-starter-jdbc
test

<dependency>

  <groupId>com.couchbase.client</groupId>

  <artifactId>java-client</artifactId>

  <version>3.0.5</version>

</dependency>

This dependency goes into test scope. The version should be inherited
from Spring Boot.
In
spring-cloud-vault-config-databases/src/main/java/org/springframework/cloud/vault/config/databases/VaultCouchbaseProperties.java
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r443999186
:

+public class VaultCouchbaseProperties implements DatabaseSecretProperties {

/**

Enable couchbase backend usage.

*/
private boolean enabled = false;

/**

Role name for credentials.

*/
private String role;

/**

Enable static role usage.

@since 2.2

Note: @since should go into the class documentation.
In
spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/CouchbaseSecretIntegrationTests.avaj
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r443999344
:

@@ -0,0 +1,113 @@
+/*

Copyright 2016-2020 the original author or authors.

The file suffix is avaj.
In
spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigCouchbaseDatabaseStaticTests.java
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r443999751
:

@Value("${spring.data.couchbase.password}")

String password;

Cluster cluster;

/**

Initialize the couchbase secret backend.

*/
@BeforeClass
public static void beforeClass() {

VaultRule vaultRule = new VaultRule();

vaultRule.before();

assumeTrue(CanConnect.to(new InetSocketAddress(COUCHBASE_HOST, COUCHBASE_PORT)));

assumeTrue(vaultRule.prepare().getVersion()

In which version did Vault add Couchbase support? These guards are in
place as we run tests against multiple Vault versions.
In
spring-cloud-vault-config-databases/src/test/java/org/springframework/cloud/vault/config/databases/VaultConfigCouchbaseDatabaseTests.java
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r444000014
:

@Value("${spring.data.couchbase.password}")

String password;

Cluster cluster;

/**

Initialize the couchbase secret backend.

*/
@BeforeClass
public static void beforeClass() {

VaultRule vaultRule = new VaultRule();

vaultRule.before();

assumeTrue(CanConnect.to(new InetSocketAddress(COUCHBASE_HOST, COUCHBASE_PORT)));

assumeTrue(vaultRule.prepare().getVersion()

See the previous file's version note for further details.
In src/test/bash/create_certificates.sh
https://github.com/spring-cloud/spring-cloud-vault/pull/408#discussion_r444000452
:

@@ -67,7 +67,7 @@ chmod 400 ${CA_DIR}/private/localhost.decrypted.key.pem

echo "[INFO] Generating server certificate request"
openssl req -config <(cat ${DIR}/openssl.cnf \

   <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:<IP_ADDRESS>")) \

   <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:<IP_ADDRESS>,DNS:chanchan2")) \

Care to elaborate on why this change is?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-vault/pull/408#pullrequestreview-435487412,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABML24DAX6F2ZCKZL6GRGFLRYBGWDANCNFSM4OFDGUXA
.

I was waiting for the signal from your side that you're done. It's not obvious from occasional commits flying into the PR.

Yes, well I'm learning about spring cloud.
i just realized I should use the ...
@Autowired
private CouchbaseTemplate couchbaseTemplate;

Instead of directly coding to the Couchbase SDK in the tests. I will fix
that as soon as possible.
Thanks for your patience and "stay safe" as they say here.
regards, Francis.
On Tue, Jul 14, 2020 at 2:18 AM Mark Paluch<EMAIL_ADDRESS>wrote:

I was waiting for the signal from your side that you're done. It's not
obvious from occasional commits flying into the PR.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-vault/pull/408#issuecomment-658014526,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABML24CHDO3WWEWOOUQIXBTR3QBDZANCNFSM4OFDGUXA
.

Hi Mark,
I'm stuck using the spring-data-couchbase stuff instead of the Couchbase
SDK.
I have to add the @SpringBootApplication annotation to get the dependency
injection to work, but then I hit this error...
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
0.031 s <<< FAILURE! - in org.springframework.cloud.vault.config.databases.
Vault
ConfigCouchbaseDatabaseStaticTests
[ERROR]
initializationError(org.springframework.cloud.vault.config.databases.VaultConfigCouchbaseDatabaseStaticTests)
Time elapsed: 0.005 s  <<< ERROR!
java.lang.IllegalStateException: Test classes cannot include @Bean methods
Can you help me, I'm stuck. I tried to create my own bean in an inner class
but to be honest, I don't really know what I am doing. Can you point me in
the correct direction?
regards, Francis.
On Tue, Jul 14, 2020 at 9:46 AM Francis Hitchens<EMAIL_ADDRESS>wrote:

Yes, well I'm learning about spring cloud.
i just realized I should use the ...
@Autowired
private CouchbaseTemplate couchbaseTemplate;

Instead of directly coding to the Couchbase SDK in the tests. I will fix
that as soon as possible.
Thanks for your patience and "stay safe" as they say here.
regards, Francis.
On Tue, Jul 14, 2020 at 2:18 AM Mark Paluch<EMAIL_ADDRESS>wrote:

I was waiting for the signal from your side that you're done. It's not
obvious from occasional commits flying into the PR.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-vault/pull/408#issuecomment-658014526,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABML24CHDO3WWEWOOUQIXBTR3QBDZANCNFSM4OFDGUXA
.

Generally speaking, all @Bean methods should be defined in @Configuration classes. Check out the failure message: java.lang.IllegalStateException: Test classes cannot include @Bean methods

Hi, I still have not managed to get the tests to work with the @Autowired dependencies. A simple app does mind you so it is just my lack of knowledge about Spring Boot Annotations etc. that is a fault. I have been busy working on getting the Couchbase database plugin into the Hashicorp Git repo. It is finally there if you want to take a look at it [here].(https://github.com/hashicorp/vault-plugin-database-couchbase)
However I am truly stuck now as the build process is not working any more. Once Spencer Gibb has fixed it I will start working on it again.

Any update on this pull request?

Hi, yes, I just got the maven build to work again (have been busy with Hashicorp getting the plugin into their Git repo) and will try and write a proper test as soon as i figure out the issue i am having with injected dependencies.

Hi Mark,
Could you do another review now? I decided to stick with the native couchbase test as the Spring wrapping did not let me test that the credentials were correct as all that layer is abstracted away. You need to be able to call the WaitUntilReady method.
I am seeing this in the Couchbase surefire test logs and have no idea why it would be happening.
com.mongodb.MongoSocketOpenException: Exception opening socket
        at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) ~[mongodb-driver-core-4.1.0.jar:na]
        at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:143) ~[mongodb-driver-co>
        at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMoni>
        at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144) ~[mong>
        at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.net.ConnectException: Connection refused (Connection refused)

Hi,
A question before I do my first attempt at squashing. I have had to go back to the upstream/master branch a couple of times so I am a bit confused about which commits I should include in the squash.
Should I squash from f7573ac through 6f2bcab ?
* 6f2bcab (HEAD -> master, origin/master, origin/HEAD) fixed pom.xml
* 9e95a4a Switched to use Couchbase sandbox image.
*   50fc519 Merge commit '895df4456a6d61e3f2afb3679c787c5f29fc86b7' To fix broken build
|\
| * 895df44 Uses new spring-cloud-starter-bootstrap.
| * 053c054 Ignores .sdkmanrc
| * d65368c Updates to use repo.spring.io/snapshot
| * d1ecef4 Going back to snapshots
| * b8a7610 Update SNAPSHOT to 3.0.0-M3
* | 27cde25 Fixed checkstyle import issues.
* | 1a35a2b Updated dynamic role test to use new role+group creation statement for the couchbase plugin.
* | 922b379 Fixed issues from the PR review.
* | 66bdef6 Fixed issues from the PR review.
* | 2a03cbc Fixed issues from the PR review.
* | 077e525 Fixed issues from the PR review.
* | c1d3edd Fixed issues from the PR review.
* | 7ed535e Added couchbase.
* | 6d587d1 Added note.
* | 511564c Added static role test for Couchbase.
* | 1c94f7f added documentation.
* | 4447b47 Working couchbase solution.
* | 5065b3c Added correct couchbase-database-plugin test file.
* |   7e72257 Merge remote-tracking branch 'upstream/master'
|\ \
| |/
| * ef59dcd Adds junit-vintage-engine as a test dependency
| * 5ba60c3 Changed packaging to jar
| * 970c648 Uploading sources for docs
| * bf890e0 Bumping versions
* | 454fbc7 Initial fumblings
* | 17d082b Worked.
* | f7573ac Start adding couchbase db to spring cloud vault
|/
* 89dd6ab Going back to snapshots

No need to squash, we can do it when it is merged

Ok thanks. To test it against an official couchbase db, after you have installed the plugin, instructions here, spin up this docker container using the following command...
$ docker run -d --name db -p 18091-18096:18091-18096 -p 11207:11207 -p 8091-8094:8091-8094 -p 11210:11210 couchbase/server-sandbox:6.5.0

Are you waiting on anything from me here?

Mark is on leave right now

Ok, thanks.
On Mon, Aug 24, 2020 at 10:04 AM Spencer Gibb<EMAIL_ADDRESS>wrote:

Mark is on leave right now
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spring-cloud/spring-cloud-vault/pull/408#issuecomment-679182291,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABML24AXF2Z2YN3KXIBUSDTSCJ6QZANCNFSM4OFDGUXA
.

I'm going to take this PR from here and merge it for 3.0-M4

This pull request is pretty much a mess. The Couchbase integration with Spring Boot never worked as the property names don't match and VaultConfigCouchbaseTests looks like an unfinished copy with references to Cassandra. It took quite some hours to get the tests working. Once this PR is merged, please take a look at the polishing commit.

That's merged and polished now.


Duplicate DB entries - partialPath only difference

This is a bug I've noticed in the past as well but upon creating a new, temporary DB it really became an acute problem: more often than not, the DB created duplicate entries for videos, where the duplicates only differ in the partialPath value. One entry will have "" as the partialPath, while the other will have "/".
I suspect this might have something to do with the fact that the inputDirs are stored with Window paths with backslashes ("D:\Stuff"), while the partialPaths use forward slashes ("/Things").
This is on Windows, a local DB and source, newest version of VHA.

By the way, the fix for end users is pretty simple: open the db file in notepad, search-and-replace partialPath: "/" -> partialPath: "", save the db, open VHA, wait for it to sort itself out, close it, open it again, and the dupes will be gone.

Thank you for reporting this bug! I'll try to replicate it 🤝 and then fix it 🤞


Try fixing windows pipeline

Description
This PR fixes #

Hi @messense ,
I hope you are doing well. Do you happen to know why the windows builds are failing for maturin-action?

I think it's fixed in https://github.com/PyO3/maturin/pull/923, I'm releasing a new beta version please give it a try once it lands. If it fixes the issue, I'll release a new version soon.
  uses: https://github.com/messense/maturin-action/tree/v1v1
  with:
    maturin-version: v0.12.17-beta.1

Thank you so much @messense . I will give it a go :D

@messense , I did give it a go but the configuration above is shown as invalid in github actions.

Hi @messense ,
I just tried the latest release. It works now! Thank you so much! 😄 ❇


Implement Degree Weighted Path Count (DWPC)

The diffusion code we have in https://github.com/greenelab/hetmech/blob/e387eee580cfe3d530a21c92df025afd9f668784/hetmech/diffusion.py
can be made to compute the DWPC for an input metapath.
Implement this functionality -- @dhimmel in which module should we put this function?

which module should we put this function?

I think it could go in diffusion.py. Or you can make a new module path_count.py.
We will also want a basic path_count function that will count the number of paths without any degree normalization.
For reference, here are existing implementations of DWPC:

visual
cypher
python

For now, let's ignore the issue of duplicate nodes in a path.

A note for the sake of technical correctness: a path with duplicate nodes is called a "trail", and is not a "path".

The current diffusion.py functionality already enables counting the number of walks between any source node and any target node -- simply call diffusion.diffuse_along_metapath with row_damping = 0 and column_damping = 0.

The current diffusion.py functionality already enables counting the number of walks between any source node and any target node

Cool. diffusion.diffuse_along_metapath is very flexible.

A note for the sake of technical correctness: a path with duplicate nodes is called a "trail", and is not a "path".

So should we call what we're calculating DWWC (degree weighted walk count)?

So should we call what we're calculating DWWC (degree weighted walk count)?

I think yes, otherwise the name is misleading. It is worth noting, though, that DWWC = DWPC if the metapath does not repeat node-types.

@dhimmel -- given that diffuse_along_metapath implements DWPC exactly in the case that no node-types are repeated, do you still want a separate function that implements DWPC in the case that there are repeated node-types?

I think we should change the name of the diffuse_along_metapath function to dwwc_traverse or similar (suggestions welcome).

do you still want a separate function that implements DWPC in the case that there are repeated node-types?

That would be fanstastic, but I was under the impression that this would be a substantial engineering task. Ideally, we would exclude walks (and also probably trails) for hetmech. I just don't see them contributing useful information. How feasible is this? What will the computational penalty be?

I agree with the name change.
We can then have some function named diffuse call the function dwwc_along_metapath with hardcoded parameter values, as you suggested.
The general task of "compute all paths" would be very expensive, but that is a much broader task than what we are considering. I feel pretty sure (but not yet 100%) that we could accomplish this with only a small constant factor penalty (3x more time, total?).
This depends on the number of times a node-type is repeated, and the number of different node-types that are repeated. In addition to the computational complexity depending on those items, the complexity of the code will also depend on those items.

I just finished some analysis, and can confirm: assuming exactly one node-type gets repeated exactly one time, then we can compute the DWPC in no more than 2x the time, using only slightly more memory, compared to DWWC.
I could probably implement that (repeating no more than 1 node-type, one time) pretty soon (end of the week?).
If you want something more complicated than that, it might take me a while.

I agree with the name change. We can then have some function named diffuse call the function dwwc_along_metapath with hardcoded parameter values, as you suggested.

Okay, after we merge #23, let's do the rename.

assuming exactly one node-type gets repeated exactly one time, then we can compute the DWPC in no more than 2x the time, using only slightly more memory, compared to DWWC.

That's fantastic. This could revolutionize the usability of DWPCs and allow us to budget more computation for permuted networks. The single metanode duplication case will cover lot's of metapaths. A general solution would be the best, but I'm guessing that solving the easy case, will make it easier to solve the general case. Let me know if it makes sense to brainstorm before implementing this, or instead whether you should just jump right in.

FYI #28 implemented DWWC (degree-weighted walk count).


Change Tracking Disabled

If you specify AsNoTracking on a query, it throws an error -
System.InvalidOperationException: 'variable 'materializationContext' of type 'Microsoft.EntityFrameworkCore.Storage.MaterializationContext' referenced from scope '', but it is not defined'
Example:
var list = (from e in context.Config
select e).AsNoTracking().ToList();

I could reproduce the problem with EF 2.1.0.
It seems to be an EF 2.1.0 bug now closed.
https://github.com/aspnet/EntityFrameworkCore/issues/11689
Could you confirm that with EF 2.1.1 works?

Still occurring on the 2.1.2 release when returning a list -
System.InvalidOperationException: 'variable 'materializationContext' of type 'Microsoft.EntityFrameworkCore.Storage.MaterializationContext' referenced from scope '', but it is not defined'
Note: I do not get this error when I use Sqlite provider.


Extension issue

Issue Type: Bug
Extension Name: github-authentication
Extension Version: 0.0.1
OS Version: Windows_NT x64 10.0.19041
VS Code version: 1.55.1

:warning: We have written the needed data into your clipboard. Please paste! :warning:

@ntthang-dev This issue is missing data, please paste the diagnostic information. It would also be helpful if you could describe what you were doing when this happened

Thank you for your help! In this problem I myself 😍 do not know what really happened on my VSCode😥, a message appears that my GitHub extension on VSCode is having a problem😵 as far as I can see it is related to the problem of starting VSCode 🤔. And I got a suggestion from my own IDE to report this bug 😭. Thank you. 😄


High CPU issue

Whenever we scan IP ranges using ZMap we are seeing high cpu consistently.
Here is how our command looks like, any pointers, that could help reduce CPI spike?
Tried with -B 1M etc, but still CPU spikes to 300%
`
time ./zmap -p 443 -O csv -f saddr,sport --quiet --verbosity=0 <IP_ADDRESS>/17 -b /etc/zmap/blacklist.conf --max-sendto-failures 1000000 -B 10M --sender-threads=5
109.44s user
0.68s system
362% cpu
30.364 total
`
Also if we are doing such zmap scans from multiple threads, slows down everything, can anything being improved here? any pointers would help.

Your best bet here will be to use a single send thread, which will limit impact to a single CPU core. Unfortunately, Linux timers are too unreliable to use for spacing out how packets are sent, which is results in the higher CPU usage for a core unless the send rate is very slow. There isn’t a good alternative.
On May 13, 2020, 9:53 PM -0500, puneri78<EMAIL_ADDRESS>wrote:

Whenever we scan IP ranges using ZMap we are seeing high cpu consistently.
Here is how our command looks like, any pointers, that could help reduce CPI spike?
Tried with -B 1M etc, but still CPU spikes to 300%
time ./zmap -p 443 -O csv -f saddr,sport --quiet --verbosity=0 <IP_ADDRESS>/17 -b /etc/zmap/blacklist.conf --max-sendto-failures 1000000 -B 10M --sender-threads=5 109.44s user 0.68s system 362% cpu 30.364 total
Also if we are doing such zmap scans from multiple threads, slows down everything, can anything being improved here? any pointers would help.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

ah I see, with zmap from master - build locally CPU is now mere 4%
./zmap -p 443 -O csv -f saddr,sport --quiet --verbosity=0 <IP_ADDRESS>/17 -b /etc/zmap/blacklist.conf --max-sendto-failures 1000000 -B 10M
However with zmap 2.1.1 CPU with same command is 200%, thought just share this.

I too noticed that even at low packet rates (1-3k pps) cpu usage was 100% on a core.
I tested the master branch to confirm what @puneri78 saw, however continue to see 100% cpu utilization.
I'm figuring this has to do with the nanosleep usage. Perhaps a batch option would be a good addition. Waking and sending a user supplied number of messages (say 100) would allow for longer sleep periods. Also allowing usleep to be used for longer periods (yes - lower accuracy) might also be a good idea.
When limiting to low rates like these high accuracy doesnt make as much sense.

PR #610 solves the problem. With --batch CPU usage <2% at 3k PPS.

Fixed by #610


[nrf temphack]: Limit number of parallel jobs for TF-M build to 1

Fixes: NCSDK-10008
Set number of parallel jobs for TF-M build to 1.
In some circumstances it has been experienced that building TF-M with
multiple parallel jobs then permission denied may occur.
Root cause on Windows has not been identified but current suspicion
is around folder / file lock mechanism. To ensure correct behaviour
in all cases, limit number of parallel jobs to 1.
This issue is especially experienced when building TF-M through SES-NE.
This fix should be reverted when the root cause has been identified and
fixed.
Signed-off-by: Torsten Rasmussen<EMAIL_ADDRESS>

Closed, included in #559


Create Bundler-friendly file for loading gem

Alternatively...since this gem is named kaminari-neo4j, Bundler tries to find a file in the lib directory called kaminari-neo4j.rb. We can create this file to load the gem and avoid having to manually require it.

I'm so puzzled, though.  This shouldn't be needed (see my last comment).  Also see here:
http://guides.rubygems.org/name-your-gem/

I wonder if the trouble is that we need to have something like:
module Kaminari
  module Neo4j
  end
end

inside of lib/kaminari/neo4j.rb

Sure, that's the RubyGems naming convention, but Bundler doesn't assume. Try this, run bundle gem kaminari-neo4j and see how Bundler scaffolds the gem.

I see that, and that's a good point.  But generating a gem isn't necessarily the same as requireing it.  According to http://guides.rubygems.org/name-your-gem/
"Following these conventions also lets Bundler require your gem with no extra configuration."
I'll merge it for now, because it's important that things work smoothly, but I swear I haven't had to do this for other gems...

Hmm...strange...I believe you though.


Shorthand for filter tag

I found myself using filter indent quite often in one of the templates and it would be nice to be able to use
{% indent:4," ",true %}...{% endindent %}

instead of
{% filter indent:4," ",true %}...{% endfilter %}

This will not just make it shorter but will provide more context in the closing tag.

Where do you usually use these indents? Around include blocks or in other places as well?
I only use them around include so would love to have a way of easily indenting the contents of those

@yonaskolb I'm not using includes in this particular template as it relatively short (it generates implementations for test cases) and use it to indent sections of generated code with several levels of indentations so there are quite a few indent filters.
For include node we can add support for applying filter to its content so that it will be similar to what filter node does.

For include tag we will need to add brackets parsing so that we can parse this {% include template|lowercase %} and {% include (template|lowercase) | uppercase %} correctly (first only applies filter on template name variable, second applies lowercase filter on template name variable and uppercase filter on template content).
It can probably work the same way with sub context, i.e {% include (template|lowercase child|mapValues:lowercase) | uppercase %}


Prepare PR for TQ

Deleted sync-fork action
Fixed \r being an unrecognized character by bash, causing it to not find the entrypoint.sh file. Don't fully understand how this was not a problem before, but it doesn't work without this line in the dockerfile:
RUN sed -i 's/\r//g' entrypoint.sh

Ok, I have it setup so that it makes sure the end of line feeds are always lf if the file is a .sh file. At first I thought to just do it for all files, but maybe that's a little bit over-reachy, as the problem only shows itsself in shellscript for me. What do you think? Do we risk breaking anything by applying it to all files in a repo, or is the "add it to the gitattributes if it causes problems" a better practice? (more fine grained, but also more debugging effort potentially)

This is looks good, but just to be careful and explicit perhaps we could do:
* text=auto
# Shell scripts require LF
*.sh    text eol=lf
# Batch scripts require CRLF
*.bat   text eol=crlf

IIUC the docs, this means:

Let git infer which files are text and which are binary. Implicitely, those that are text will always be converted to lf (\n) by git.
Convert .sh files to lf (I think this could be omitted)
Convert .bat files to crlf (`\r\n') as they are only executed on windows

The .bat is a good point! And using auto might actually not require the explicit mentioning of bat since:
When text is set to "auto", Git decides by itself whether the file is text or binary. If it is text and the file was not already in Git with CRLF endings
The way I interpret that sentence is: If you upload a .bat with CRLF endings, it will remain as such, otherwise, it will be converted to LF. That being said, we can do both - also for documentation sake to make it clear we expect LF endings on non-bat files, and CRLF on bat.


Theme clock

I would like to add a Theme Clock.
This can be use by anyone one to use in their project or take inspiration
A clock made using CSS and also show correct time with the help of some javascript line of code.
Also have a button that can make transition from dark theme to light theme or light theme to dark theme.

please assign me this

Best of luck 🤞


SpendMax PR Suggestions

are there potential edge cases where components render before the relevant data (specifically useGasPrices or useBalancesResponses) is fully loaded?

Whenever we do async in hooks, we should always propagate data, error, and loading states to the consumers of them. If those haven't fully loaded, I'm pretty sure the empty array makes it so it doesn't display. But then after loading, it comes into view if relevant.
Going to merge, but feel free to make any final adjustments to the main PR and I'll check with the beta testers to have at it 👍


Could not update testrun description with pylero-cmd

$ pylero-cmd  update --run="test_123" --description="a test run"
Update the existing run: test_123
Set Description to a test run
Traceback (most recent call last):
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/transport/http.py", line 89, in send
fp = self.u2open(u2request, timeout=request.timeout)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/transport/http.py", line 140, in u2open
return url.open(u2request, timeout=tm)
File "/usr/lib64/python3.10/urllib/request.py", line 525, in open
response = meth(req, response)
File "/usr/lib64/python3.10/urllib/request.py", line 634, in http_response
response = self.parent.error(
File "/usr/lib64/python3.10/urllib/request.py", line 563, in error
return self._call_chain(*args)
File "/usr/lib64/python3.10/urllib/request.py", line 496, in _call_chain
result = func(*args)
File "/usr/lib64/python3.10/urllib/request.py", line 643, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 500: 500
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/client.py", line 771, in send
reply = self.options.transport.send(request)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/transport/https.py", line 66, in send
return HttpTransport.send(self, request)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/transport/http.py", line 106, in send
raise TransportError(e.msg, e.code, e.fp)
suds.transport.TransportError: 500
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/guazhang/.local/bin/pylero-cmd", line 245, in
cli()
File "/usr/lib/python3.10/site-packages/click/core.py", line 1137, in call
return self.main(*args, **kwargs)
File "/usr/lib/python3.10/site-packages/click/core.py", line 1062, in main
rv = self.invoke(ctx)
File "/usr/lib/python3.10/site-packages/click/core.py", line 1668, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/lib/python3.10/site-packages/click/core.py", line 763, in invoke
return __callback(*args, **kwargs)
File "/home/guazhang/.local/bin/pylero-cmd", line 237, in update
update_obj.update_runs(
File "/home/guazhang/.local/lib/python3.10/site-packages/pylero/cli/cmd.py", line 390, in update_runs
self.update_run(run, template, plannedin, assignee, status, description)
File "/home/guazhang/.local/lib/python3.10/site-packages/pylero/cli/cmd.py", line 355, in update_run
tr.update()
File "/home/guazhang/.local/lib/python3.10/site-packages/pylero/test_run.py", line 1160, in update
self.session.test_management_client.service.updateTestRun(self._suds_object)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/client.py", line 586, in call
return client.invoke(args, kwargs)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/client.py", line 728, in invoke
result = self.send(soapenv, timeout=timeout)
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/client.py", line 776, in send
return self.process_reply(content, e.httpcode, tostr(e))
File "/home/guazhang/.local/lib/python3.10/site-packages/suds/client.py", line 840, in process_reply
raise WebFault(fault, replyroot)
suds.WebFault: Server raised fault: 'java.lang.IllegalArgumentException: type cannot be null'

This could be reproduce from 0.0.1 -> 0.0.8
Issue is the description is a custom Text field and with using the pylero-cmd it pass a suds object with description custom field description as:
   customFields =
      (ArrayOfCustom){
         Custom[] =
            (Custom){
               key = "description"
               value = "Just a test"
            },
  ...

While the expected filed should be:
   customFields =
      (ArrayOfCustom){
         Custom[] =
            (Custom){
               key = "description"
               value =
                  (Text){
                     type = "text/plain"
                     content = "just a test"
                     contentLossy = False
                  }
            },
  ...

The custom field is set with:
https://github.com/RedHatQE/pylero/blob/main/src/pylero/test_run.py#L1134
This could be reproduce with directly use the lib:
# cat tmp_bug.py
from pylero.test_run import TestRun

tr = TestRun(project_id=TestRun.default_project, test_run_id="test run name")
tr.description = "Just a test"
tr.update()

The issue is the description is a Text object, so when update the value should only update the Text object content.
With update the script:
# cat tmp_bug.py
from pylero.test_run import TestRun

tr = TestRun(project_id=TestRun.default_project, test_run_id="test run name")
tr.description.content = "Just a test"
tr.update()

and it works.

fixed by #140


Update francesinha.md

Did you mean to have sausage and fresh sausage separately?

It was supposed to be linguiça (type of Portuguese sausage), so people understand what was it.
I forgot to change it in the end.
Originally posted by @hallzy in https://github.com/LukeSmithxyz/based.cooking/pull/286#discussion_r598202331
- linguiça (type of Portuguese sausage)

Maybe it's just me, but I had no idea what linguiça was, so having just a short description might be helpful to others.

Added to the description of the recipe.
Originally posted by @hallzy in https://github.com/LukeSmithxyz/based.cooking/pull/286#discussion_r598202575

Remove the double mention of the sausage.

Remove the double mention of the sausage.

Will do


Add Microsoft.NET.Sdk.IL,6.0.0-rc.1.21415.6 to SBRP

dotnet/runtime both produces and consumes the Microsoft.NET.Sdk.IL package.
Produces: https://github.com/dotnet/runtime/tree/main/src/coreclr/.nuget/Microsoft.NET.Sdk.IL
Consumes:  https://github.com/dotnet/runtime/blob/862a90f46492203a20311ce8a2008b74e9a30f85/global.json#L21
Since this is a MSBuild Sdk that is listed in global.json, we need to consume a previously built version of it.
We should add the current version being consumed in release/6.0 to SBRP - 6.0.0-rc.1.21415.6.
We have 5.0.0-preview.8 already in SBRP for 5.0:
https://github.com/dotnet/source-build-reference-packages/tree/main/src/textOnlyPackages/src/microsoft.net.sdk.il/5.0.0-preview.8.20359.4

@eerhardt Why is it referencing an rc1 version?  Will GA ship referencing that version?


Fixes linter errors

Fixes linter errors
Addresses Swiftlint errors and other improvements to code structure.
Code of Conduct & Contributing Guidelines
By submitting creating this pull request, you agree to follow our Code of Conduct and Contributing Guidelines:

[X] I agree to follow the Code of Conduct and Contributing Guidelines.

REUSE check was disabled, because there are a large number (> 200) of binary files without a license file associated and it would be cumbersome to create a license file for each one.

UI tests were removed because they have not been updated from the template, and are failing. Recommend team to create new UI tests for the updated UI.


Feature Request: Add mode / band

Hello,
Regulation in some countries says that you can have a station per mode/band.
I have a suggestion. When pushing for activate callsign or planning activation:

allow user to choose mode (CW/SSB/DIGITAL).
allow user to choose band.

Thanks for reading this feature Request.
73,
ON4BCY

Hey there,
thanks for the feature request. That would change the whole matching logic, so that's not a short 3 lines of code.
Just to be sure what your regulation allows and that I understand correctly - would this "snapshot of activity" be legal?
Operator 1: 20m CW
Operator 2: 20m FT8
Operator 3: 20m SSB
Operator 4: 40m SSB
All at the same time, using the same callsign?
If not, please specify which activity is allowed to happen at once according to law.
Thank you!
73 de Stefan, DB4SCW

Your example works for french laws.

Ok. In the pull request I implemented both that scenario as well as "1 operator per band" which (to my knowledge) is law in Switzerland.
At the moment I'm testing this feature because this excessivly impacted the core implementation of coordinatorr. If it holds up to the tests, it will be available in the upcoming V1.0.0 release.
If you like, you can help by pulling the PR youself and test, too.

PR is merged into dev after tests. It will remain in dev and get further tests until release of V1.0.0


Error messages with __error: 6699, 7462, 7463

The motivation for fixing these is not much that the error messages improve, but rather that it protects other parts of the compiler (eg, CTFE) from having to deal with garbage. OTOH, the fix for 6699a noticeably improves error message quality. (Don't try to deduce a function template, if one of the template arguments is an error).
6699 More cases of __error in error messages
7462 Error message with error in overridden function
7463 Duplicated error message with bad template value parameter

When doing these, please add commit messages of the form "fix issue nnnn". Otherwise, bugzilla has to be manually updated.

On 18 February 2012 08:08, Walter Bright
<EMAIL_ADDRESS>wrote:

When doing these, please add commit messages of the form "fix issue nnnn". Otherwise, bugzilla has to be manually updated.

They were included in this one.
(Several commits were fixing the same bug, only the last one had the
"Fixes bug 6699"

github didn't recognize them, and it didn't get posted to bugzilla. I saw just "fix for 6699" which I don't think is recognized. Please use "fix issue nnnn".

On 18 February 2012 09:07, Walter Bright
<EMAIL_ADDRESS>wrote:

github didn't recognize them, and it didn't get posted to bugzilla. I saw just "fix for 6699" which I don't think is recognized.

The text was "Fixes bug 6699."
Which I believe matches the regex that Brad posted:
/((close|fix|address)e?(s|d)? )?(ticket|bug|tracker item|issue)s?:?
*([\d ,+&#and]+)/i
I wonder why it didn't work.
Please use "fix issue nnnn".

Reply to this email directly or view it on GitHub:
https://github.com/D-Programming-Language/dmd/pull/704#issuecomment-4032693


[POC] Endpoint Driver

What was wrong?
Our test suite has a large amount of duplication across the trio and asyncio tests.
How was it fixed?
Wrote a suite of tools for running declarative tests against endpoints that can run in the same test suite.

Drivers:

These are instructions on how to run and endpoint and perform actions with it.

Engines

These are how we can run endpoints agnostic to whether they are trio or asyncio

Runners

These are how we can run the same test code across different endpoint configurations like both in the same process, both in different processes, or even different endpoint implementations in different processes.

Each driver is composed of an initializer and a sequence of actions.  There is a built-in timeout enforced on actions so that the test suite doesn't hanging.
Each action also emits log output which is really helpful for debugging.
Cute Animal Picture

related to https://github.com/ethereum/lahja/issues/140

@cburgdorf or @lithp I'd be curious to get feedback on this now that I've polished it a little.

@cburgdorf thanks for the review.  As for path to merging this, what do you think about me cleaning it up, writing some docs for it and we can merge as-is and then do the remaining cleanup of the tests (and creation of other necessary driver functions) in subsequent PRs to keep things smaller?

Sounds good to me!
On Mon, Jul 29, 2019, 19:41 Piper Merriam<EMAIL_ADDRESS>wrote:

@cburgdorf https://github.com/cburgdorf thanks for the review. As for
path to merging this, what do you think about me cleaning it up, writing
some docs for it and we can merge as-is and then do the remaining cleanup
of the tests (and creation of other necessary driver functions) in
subsequent PRs to keep things smaller?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ethereum/lahja/pull/141?email_source=notifications&email_token=AAD7HFPAWG6RNNKRDLNMITTQB4TVHA5CNFSM4HZNTRG2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD3BO3GA#issuecomment-516091288,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAD7HFOFXVIZ3KKGMU3J3CTQB4TVHANCNFSM4HZNTRGQ
.

Ready for a real review then.  Got tests passing and did some basic cleanup as well as writing up very rough/basic documentation.


Pandas support

I'm trying to load a pickle file using Pickle.jl using load function:
julia> bud = load(open("MV-Budget.pkl"))

But it leads to an error:
ERROR: AssertionError: Imcompatible protocol version:
    Trying to load version 5 pickle file with version 4 pickler.
    Try setting the `proto` keyword argument when loading, e.g. `load(file; proto = 5)`.
    If that still failed, please open an issue.

Stacktrace:
 [1] execute!(p::Pickler{4}, #unused#::Val{Pickle.OpCodes.PROTO}, arg::UInt8)
   @ Pickle C:\Users\Shayan\.julia\packages\Pickle\pwvBM\src\deserializer.jl:178
 [2] run!(p::Pickler{4}, op::Pickle.OpCodes.OpCode, io::IOStream)
   @ Pickle C:\Users\Shayan\.julia\packages\Pickle\pwvBM\src\deserializer.jl:25
 [3] load(p::Pickler{4}, io::IOStream)
   @ Pickle C:\Users\Shayan\.julia\packages\Pickle\pwvBM\src\deserializer.jl:15
 [4] load(io::IOStream; proto::Int64)
   @ Pickle C:\Users\Shayan\.julia\packages\Pickle\pwvBM\src\deserializer.jl:10
 [5] load(io::IOStream)
   @ Pickle C:\Users\Shayan\.julia\packages\Pickle\pwvBM\src\deserializer.jl:10
 [6] top-level scope
   @ REPL[6]:1

  Try setting the `proto` keyword argument when loading, e.g. `load(file; proto = 5)`.

What is the error log of load("MV-Budget.pkl"; proto = 5)?

  Try setting the `proto` keyword argument when loading, e.g. `load(file; proto = 5)`.

What is the error log of load("MV-Budget.pkl"; proto = 5)?

That will lead to this:
Defer(:build, Defer(:newobj, Defer(:pandas.core.frame.DataFrame)), Dict{Any, Any}("_mgr" => Defer(:reduce, Defer(:pandas.core.internals.managers.BlockManager), (Defer(:reduce, Defer(:pandas._libs.internals._unpickle_block), Defer(:reduce, Defer(:numpy.core.numeric._frombuffer), UInt8[0x02, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00  …  0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00], Defer(:build, Defer(:reduce, Defer(:numpy.dtype), i4, false, true), (3, "<", nothing, nothing, nothing, -1, -1, 0)), (17, 24), F), Defer(:reduce, Defer(:builtins.slice), 0, 17, 1), 2),), Any[Defer(:reduce, Defer(:pandas.core.indexes.base._new_Index), Defer(:pandas.core.indexes.base.Index), Dict{Any, Any}("name" => nothing, "data" => Defer(:build, Defer(:reduce, Defer(:numpy.core.multiarray._reconstruct), Defer(:numpy.ndarray), (0,), UInt8[0x62]), (1, (17,), Defer(:build, Defer(:reduce, Defer(:numpy.dtype), O8, false, true), (3, "|", nothing, nothing, nothing, -1, -1, 63)), false, Any["return5", "return10", "return25", "std5", "std10", "std25", "corr5", "corr10", "corr25", "diff_close5", "diff_close10", "diff_close25", "pred_ret5", "pred_vol5", "pred_cor5", "pred_cor10", "pred_cor25"])))), Defer(:reduce, Defer(:pandas.core.indexes.base._new_Index), Defer(:pandas.core.indexes.base.Index), Dict{Any, Any}("name" => nothing, "data" => Defer(:build, Defer(:reduce, Defer(:numpy.core.multiarray._reconstruct), Defer(:numpy.ndarray), (0,), UInt8[0x62]), (1, (24,), Defer(:build, Defer(:reduce, Defer(:numpy.dtype), O8, false, true), (3, "|", nothing, nothing, nothing, -1, -1, 63)), false, Any["MSFT", "PEP", "TSLA", "AMZN", "LKQ", "ABMD", "MSI", "PH", "NKE", "TM"  …  "EQIX", "EA", "AAP", "TEL", "DG", "EXR", "MDLZ", "FIS", "CRL", "RCL"]))))]), "_metadata" => Any[], "attrs" => Dict{Any, Any}(), "_typ" => "dataframe", "_flags" => Dict{Any, Any}("allows_duplicate_labels" => true)))

But, I get this output if I use Pandas.jl for reading the pickle file:
julia> df = read_pickle("MV-Budget.pkl")
       return5  return10  return25  std5  std10  ...  pred_ret5  pred_vol5  pred_cor5  pred_cor10  pred_cor25
MSFT         2         1         4     4      4  ...          5          7          3           3           2
PEP          8         8         7     7      9  ...          4         10          4           4           4
TSLA         1         5         6     2      2  ...          1          2          9           9           9
AMZN         4         4         5     1      1  ...          4          5          5           6           7
LKQ          4         4         3    10     10  ...          7          3         10          10          10
ABMD         7         6         1     5      5  ...          6          1          7           8           8
MSI          6         6         8     6      7  ...          1          9          5           5           5
PH           2         3         4     3      3  ...         10          5          1           1           1
NKE          3         2         3     7      6  ...         10          4          2           2           3
TM          10         7         6     9      8  ...          7         10          8           7           7
EOG          1         1         1     6      6  ...         10          6         10          10          10
GOOGL        3         3         4     1      1  ...          8          7          1           3           4
NFLX        10        10        10     4      4  ...          5          1          4           2           3
GS           4         2         2     3      3  ...          2          4          2           1           1
EQIX         7         9         9     1      1  ...          1          7          6           6           5
EA           9         8         8    10     10  ...          8          3          6           5           6
AAP          9        10         9     9      8  ...          9          2         10          10          10
TEL          5         4         2     8      7  ...          9         10          1           1           1
DG          10        10        10     7      9  ...          2          1          4           4           4
EXR          8         5         5     8      7  ...          6          8          9           9           8
MDLZ         7         7         7    10     10  ...          7          9          7           8           9
FIS          5         9         7     4      5  ...          4          8          3           4           2
CRL          6         7        10     5      4  ...          3          6          7           7           6
RCL          1         1         1     2      2  ...          3          4          8           7           7

[24 rows x 17 columns]

That will lead to this:

That is a result indicating that there are some stuff unknown to Pickle.jl. Pandas.jl don't have issues because they call python directly. In order to make that work, we need to add the corresponding method mapping for each method you seen in the Defer object.

see #25

build the DataFrame from the Defer obj?

It's definitely doable. This is how we support a new python object with Pickle.jl, but we need someone to actually implement that.


Update to latest meta-mender-community

Updated all submodules
Reverted the commits that are no longer needed with similar changes having been upstreamed
Add in a fix for TX2 cboot+uboot updates

Thanks @madisongh you beat me to it!

Thanks @madisongh you beat me to it!

I guess I missed pushing the additional fix for the state scripts for TX2 cboot+uboot.  I'll get that in shortly.

I guess I missed pushing the additional fix for the state scripts for TX2 cboot+uboot.  I'll get that in shortly.


Update for 0.7.1.

Including this bug fix as a release as upstream tests in
juttle-service were relying on the fixed behavior.
@demmer @go-oleg

lgtm


:bar_chart: API Model Trends (Pulls, tags, lastUpdate, memory requirements,...) :grey_question:

:grey_question: About
Today, model trends are available through ollama website:

... as well as tags:

... I wonder how I could get these data (eg. datascience) from an API point of view so (indeed Open Data) data-analysis on top of them.
:dart: The question

How can we access these data from a code perspective :grey_question:
Point any documentation that may help doing this from an API perspective

https://github.com/jmorganca/ollama/issues/1542

Hi guys, while playing' with ollama, I felt on an antother usecase like : getting the list of all 7B models :bulb:
Any chance to get some news about this feature request :grey_question: :pray:

Hi @adriens, thanks for creating an issue! This is definitely a much needed feature. Stay tuned for updates on this one – and please keep sharing any feature requests for the kinds of data you'd like an API for!

Thanks to the following comment on this issue:

It points out that API could help implementing a Dependabot'like for ollama model files :thought_balloon:

Would it be possible to have an endpoint that returns the models' context size? This would be very helpful for various projects:

https://github.com/enricoros/big-AGI/issues/309
https://github.com/mckaywrigley/chatbot-ui/issues/1157

I second @peperunas. As you now provide a JS library, a richer Models List endpoint output would be beneficial.
To list the pullable models, the default option would be the OpenAI Models List API, which, however, is not a good example.
After reviewing a few Models List APIs out there, the most Developer Friendly seems to be the OpenRouter /v1/models API which includes fields that are useful for the developers/users.
For both your "pullable models" API and the "models list" (existing) API, please consider having the following fields:

[x] (existing) model ID
[ ] name pretty name of the model (to be displayed by UIs)
[ ] context_length the limit to the input+output tokens
[ ] (optional) max_output_tokens the limit to the output tokens (some gpt4 and gemini have max output much lower than the context length)
[ ] description the description to show to the user, which is what shows on the website today
[ ] (maybe, pullable models API only) variants: ollama allows to pull a "name:variant" and this field could be a string list of all variants, so they can be pre-populated in the UI

Without a models list endpoint, UIs won't be able to tell users what to pull. In our instance (big-AGI) we have to hardcode all the models information and keep it synced with the HTML page:

Thanks for considering this request, and making the best model runner the most DX/UX friendly.

https://github.com/ollama/ollama/issues/2218

:nerd_face: Hopefully you'll appreciate this related Tweet

It would be very nice for ollama.ai/library to provide a JSON API to query available model names and their tags (optionally also metadata like file-size, quantization etc.) , integrating Ollama without it means copy-pasting the available models by hand which is very tedious.
Also mentioned in https://github.com/ollama/ollama/issues/2022

@PhilKes , I'll deliver something within next week. It won't be an API but it sould help in discoverings models, tags,...

:gift:https://www.kaggle.com/datasets/adriensales/ollama-models/
Tweet

Merging this with https://github.com/ollama/ollama/issues/1070

I responded with this in another post, too.
I've created a python script that just does the job, but you need to:
pip install bs4
https://github.com/webfarmer/ollama-get-models
This Python script scrapes information about AI models from the Ollama library website (https://ollama.com/library). It performs the following main tasks:
It first checks if a local HTML file exists. If not, it fetches the webpage content and saves it locally.
It then parses the HTML content using BeautifulSoup to extract details about each model, including name, description, sizes, number of pulls, tags, and last updated date.
The extracted information is printed to the console and also saved as a JSON file.
The script includes error handling for failed web requests and creates necessary directories if they don't exist.
This code allows users to easily obtain and store up-to-date information about available models in the Ollama library without manually browsing the website.

just discovered this repo
name, description and tags are available as JSON here: https://ollama-models.zwz.workers.dev/
API seems to be working and up to date per today; models are sorted by "featured"

I hacked this abomination together - gets the job done 😅
function Get-OllamaModels {
 $ollamaLibUri = 'https://ollama.com/library'
 $ollamaLib = Invoke-WebRequest -Uri $ollamaLibUri
 $modelLinks = $ollamaLib.Links | Where-Object {$_.href.StartsWith('/library/')}

 $ollamaModelWebRequest = {
  $ollamaModelUri = 'https://ollama.com/library/' + $this.Name
  $ollamaModel = Invoke-WebRequest -Uri $ollamaModelUri
  return ($this | Add-Member -MemberType 'NoteProperty' -Name 'ModelWebRequestResponse' -Value $ollamaModel -Force -PassThru).ModelWebRequestResponse
 }

 $ollamaModelTagsWebRequest = {
  $ollamaModelTagsUri = 'https://ollama.com/library/' + $this.Name + '/tags'
  $ollamaModelTags = Invoke-WebRequest -Uri $ollamaModelTagsUri
  return ($this | Add-Member -MemberType 'NoteProperty' -Name 'ModelTagsWebRequestResponse' -Value $ollamaModelTags -Force -PassThru).ModelTagsWebRequestResponse
 }

 $ollamaModelReadmeFunction = {
  $readmeIndexStart = $this.ModelWebRequestResponse.Content.IndexOf('
Readme
') + '
Readme
'.Length
  $readmeTextareaIndexDelimiterStart = '<textarea'
  $readmeTextareaIndexStart = $this.ModelWebRequestResponse.Content.IndexOf($readmeTextareaIndexDelimiterStart, $readmeIndexStart) + $readmeTextareaIndexDelimiterStart.Length
  $readmeTextIndexStart = $this.ModelWebRequestResponse.Content.IndexOf('>', $readmeTextareaIndexStart) + '>'.Length
  $readmeTextareaIndexEnd = $this.ModelWebRequestResponse.Content.IndexOf('</textarea', $readmeTextIndexStart)
  $this.ModelWebRequestResponse.Content.Substring($readmeTextIndexStart, $readmeTextareaIndexEnd - $readmeTextIndexStart).Trim()
  return ($this | Add-Member -MemberType 'NoteProperty' -Name 'Description' -Value $ollamaModelDescription -Force -PassThru).Description
 }

 $ollamaModelTagsFunction = {
  $ollamaModelTagLinks = $this.ModelTagsWebRequestResponse.Links | Where-Object {$_.class -eq 'group'}
  $ollamaModelTagInfo = @()
  foreach ($ollamaModelTagLink in $ollamaModelTagLinks) {
   $ollamaModelTagName = $ollamaModelTagLink.href.Split('/')[-1]
   $ollamaModelTagInfoStart = $this.ModelTagsWebRequestResponse.Content.IndexOf($ollamaModelTagLink.outerHTML) + $ollamaModelTagLink.outerHTML.Length
   $ollamaModelTagIdEnd = $this.ModelTagsWebRequestResponse.Content.IndexOf('', $ollamaModelTagInfoStart) + ''.Length
   $ollamaModelTagInfoEnd = $this.ModelTagsWebRequestResponse.Content.IndexOf('', $ollamaModelTagIdEnd)
   $ollamaModelTagInfoSplit = $this.ModelTagsWebRequestResponse.Content.Substring($ollamaModelTagIdEnd, $ollamaModelTagInfoEnd - $ollamaModelTagIdEnd).Split("`n")
   $ollamaModelTagInfoSizeHumanReadable = $ollamaModelTagInfoSplit[0].Trim().Split(' ')[1]
   try {$ollamaModelTagInfoSize = [int64][scriptblock]::Create($ollamaModelTagInfoSizeHumanReadable).InvokeReturnAsIs()} catch {}
   $ollamaModelTagInfoUpdated = $ollamaModelTagInfoSplit[1].Trim()
   $ollamaModelTagInfo += [pscustomobject]@{
    'Name' = $ollamaModelTagName;
    'Size' = $ollamaModelTagInfoSize;
    'SizeHumanReadable' = $ollamaModelTagInfoSizeHumanReadable;
    'Updated' = $ollamaModelTagInfoUpdated
   }
  }
  return ($this | Add-Member -MemberType 'NoteProperty' -Name 'Tags' -Value $ollamaModelTagInfo -Force -PassThru).Tags
 }

 $modelLinks | ForEach-Object {
  $ollamaModelLinkDescriptionDelimiterStart = '
'
  $ollamaModelLinkDescriptionStart = $_.outerHTML.IndexOf($ollamaModelLinkDescriptionDelimiterStart) + $ollamaModelLinkDescriptionDelimiterStart.Length
  $ollamaModelLinkDescriptionEnd = $_.outerHTML.IndexOf('
', $ollamaModelLinkDescriptionStart)
  $ollamaModelLinkDescription = $_.outerHTML.SubString($ollamaModelLinkDescriptionStart, $ollamaModelLinkDescriptionEnd - $ollamaModelLinkDescriptionStart).Trim()

  $ollamaModelLinkPullCountDelimiterStart = ''
  $ollamaModelLinkPullCountStart = $_.outerHTML.IndexOf($ollamaModelLinkPullCountDelimiterStart) + $ollamaModelLinkPullCountDelimiterStart.Length
  $ollamaModelLinkPullCountEnd = $_.outerHTML.IndexOf('', $ollamaModelLinkPullCountStart)
  $ollamaModelLinkPullCount = $_.outerHTML.SubString($ollamaModelLinkPullCountStart, $ollamaModelLinkPullCountEnd - $ollamaModelLinkPullCountStart).Trim()

  $ollamaModelLinkUpdatedDelimiterStart = ''
  $ollamaModelLinkUpdatedStart = $_.outerHTML.IndexOf($ollamaModelLinkUpdatedDelimiterStart) + $ollamaModelLinkUpdatedDelimiterStart.Length
  $ollamaModelLinkUpdatedEnd = $_.outerHTML.IndexOf('', $ollamaModelLinkUpdatedStart)
  $ollamaModelLinkUpdated = $_.outerHTML.SubString($ollamaModelLinkUpdatedStart, $ollamaModelLinkUpdatedEnd - $ollamaModelLinkUpdatedStart).Trim()

  $ollamaModelLinkCapabilitiesDelimiterStart = ''
  if ($_.outerHTML.Contains($ollamaModelLinkCapabilitiesDelimiterStart)) {
   $ollamaModelLinkCapabilitiesStart = $_.outerHTML.IndexOf($ollamaModelLinkCapabilitiesDelimiterStart) + $ollamaModelLinkCapabilitiesDelimiterStart.Length
   $ollamaModelLinkCapabilitiesEnd = $_.outerHTML.IndexOf('', $ollamaModelLinkCapabilitiesStart)
   $ollamaModelLinkCapabilities = $_.outerHTML.SubString($ollamaModelLinkCapabilitiesStart, $ollamaModelLinkCapabilitiesEnd - $ollamaModelLinkCapabilitiesStart).Trim()
  }

  $ollamaModelLinkSizeDelimiterStart = ''
  if ($_.outerHTML.Contains($ollamaModelLinkSizeDelimiterStart)) {
   $ollamaModelLinkSizeStart = $_.outerHTML.IndexOf($ollamaModelLinkSizeDelimiterStart) + $ollamaModelLinkSizeDelimiterStart.Length
   $ollamaModelLinkSizeEnd = $_.outerHTML.IndexOf('', $ollamaModelLinkSizeStart)
   $ollamaModelLinkSize = $_.outerHTML.SubString($ollamaModelLinkSizeStart, $ollamaModelLinkSizeEnd - $ollamaModelLinkSizeStart).Trim()
  }

  [pscustomobject]@{
   'Name' = $_.href.Split('/')[-1].Trim();
   'Description' = $ollamaModelLinkDescription;
   'PullCount' = $ollamaModelLinkPullCount;
   'Updated' = $ollamaModelLinkUpdated;
   'Capabilities' = $ollamaModelLinkCapabilities;
   'Size' = $ollamaModelLinkSize
  } |
  Add-Member -MemberType 'ScriptProperty' -Name 'Readme' -Value $ollamaModelReadmeFunction -PassThru |
  Add-Member -MemberType 'ScriptProperty' -Name 'Tags' -Value $ollamaModelTagsFunction -PassThru |
  Add-Member -MemberType 'ScriptProperty' -Name 'ModelWebRequestResponse' -Value $ollamaModelWebRequest -PassThru |
  Add-Member -MemberType 'ScriptProperty' -Name 'ModelTagsWebRequestResponse' -Value $ollamaModelTagsWebRequest -PassThru
 }
}


Fix multiple queries running on server start

This prevents queries from executing twice when pages load in development.
Checklist

[] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset

@csjh - @hughess and I were looking at this together.
We weren't sure what this comment was about

has to be cloned to bypass the proxy https://github.com/sveltejs/kit/blob/master/packages/kit/src/runtime/server/page/load_data.js#L297

But this seems to work and fix the issue.

Ahh that makes sense, the whole point of the proxy is to avoid the two requests. However, it inlines the contents of the fetch into the page, which was causing the issue in #900. So removing it causes each templated page to have a full copy of the data.
To see the difference, add something like this to example-project/src/pages/templated-pages/[category]/[item]/+page.md
SELECT * FROM orders

{orders.length}

Can we have our cake and eat it here?
Only do the clone when we are build-ing
(i feel like this code is poorly written, but hopefully my intent is clear!)

Yup, that makes sense to me.

Oh, your explanation is very clear. Makes more sense to me now!


[pytest] Initial work towards testing tools

This adds unit tests to the base level tools. These tests are by no means complete but they establish a baseline. There's also some thrown in adjustments to importing, formatting, and a loop helper to improve loop metrics.
Vaguely on the path of #38. Wanted to make it easier to change stuff while on the go as I'm not always in front of hardware.

@wuphilipp I started using an autoformatter (yapf) and plan on introducing it to the python code via another PR. If you think it'd make sense to do this before this PR, to reduce the diff, I can make that work!

As a note on autoformatting (if you're not particularly attached to yapf yet), maybe also take a look at black?
I think Philipp and I generally both use an isort + black workflow, which is much more aggressive than just yapf. (and probably more common for non-Google employees)

As a note on autoformatting (if you're not particularly attached to yapf yet), maybe also take a look at black?
I think Philipp and I generally both use an isort + black workflow, which is much more aggressive than just yapf. (and probably more common for non-Google employees)

I'd suggest this be handled in a separate issue. I'd be happy to discuss if you'd like to put one together :smile:.

Merging this as soon as green CI and then I'll get started on formatting/linting @brentyi.


Label of one input-group is so close to previous input element

A field's label is rendered very close to an input element of previous input group, if those fields are in same row.

As seen in the screenshot attached above, the label "Middle Name" is rendered very close to text box "First Name". Same is the case for "Last Name". There should be a space between the textbox(or any other input element) and the next field's label.
This behavior is observed in Chrome and Edge.

:tada: This issue has been resolved in version 1.0.10 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


give the option to not use model_file_format

Weird behavior where some models have folders to contain model-related files.
Note that using the following function makes the directory name look like a file.
modelpath = frm.build_model_path(
        model_file_name=params["model_file_name"],
        model_file_format=params["model_file_format"],
        model_dir=params["output_dir"] )

drwxr-xr-x 4 ac.sejones cels   104 Oct  4 11:22 model.pt
-rw-r--r-- 1 ac.sejones cels  4083 Oct  4 11:06 param_log_file.txt
-rw-r--r-- 1 ac.sejones cels   160 Oct  4 11:22 val_scores.json
-rw-r--r-- 1 ac.sejones cels 38999 Oct  4 11:22 val_y_data_predicted.csv
Added a fix to make it so model curators can just specify None for model_file_format.

@wilke What do you think?

@jonesse3 is that the case with your tCNNS?

It's the case with UNO and tCNNS. Example above was for UNO.

I haven't tested but I think it makes sense. Have you tested it with UNO or tCNNS?

Yes, I tested this on UNO and it worked.


Remote Sync context menu only appears on subfolders/files

Environment: Atom v1.21.1 with RemoteSync v4.1.6 on Windows 10
While the latest release of RemoteSync claims to fix issues like #401, the right-click context menu still doesn't appear on the top-level project folder. But, now, if I right-click on a subfolder or file, I see the "Remote Sync" menu of options (and can sync that individual subfolder or file). I just cannot seem to sync the entire project via the top-level project folder
I've also tried completely uninstalling and reinstalling RemoteSync v4.1.6, but the behavior is unchanged after reinstallation.

Having the same on Atom 1.21.1 x64 (MacOS High Sierra)

Same on Atom 1.21.1 x64 MacOS Sierra

Hi all, this was indeed an error. It's been patched once more... https://github.com/yongkangchen/remote-sync/commit/ee1f6376417e4f4edd17b8a14b95bda6d78559ae

Confirming: Fixed in v4.1.7


Added RGB Color picker

Added RGB Color picker since it is a popular request: #128
Based on: https://github.com/Alberplz/angular-colorpicker-directive with a few slight modifications to get it working well with TileBoard (I probably ought to fork that repo and keep track of the changes that I made)
Color picker is available on the 2nd view of light tile if the entity has an rgb_color attribute.
Only the RGB properties are sent to HA, the Alpha property, if set, is discarded.
Screenshot of it in action:

Could probably use a little more tweaking to get rid of the alpha controls altogether but I ran out of time for the day and I wanted to get this posted before I got sidetracked onto something else.

Commented out some of the functionality from color-picker that we are not using. Now looks like this:

Thank you for your effort! I'm sure a lot of users will appreciate it.
Perhaps if you will have some free time in future it would be nice to get rid of "R" "G" and "B" if you are considering forking it and styling cancel button.

Thank you for commit. Please in the next time respect our code style, and don't forget that we use es4

@Evgeny- I saw your follow up commit and noted the things you updated. Thank you.


Fetch latest release instead of commit

Instead of fetching the latest commit using go get, we should fetch the latest github release instead.
Better wait for go module support.

Blocked by https://github.com/dependabot/feedback/issues/301

Blocked by https://github.com/dependabot/feedback/issues/356


About implementation of the generation method of lambdaKG

你好！
I have a question about KGT5 and GenKGC for KGC tasks- are there any implementation differences between the two?
I seem to be very similar, maybe the difference is using t5-small or bart-base for the pre-train model.
Data process is the same, lit_models/transformers.py are nearly the same, and models are slightly different but I could hardly find a difference.
Also, it seems that the data pre-processing of each paper is different. For example, KGT5 uses "predict_tail: ", "predict_head", and "predict_answer" as prompts, and GenKGC uses type information, and the insertion position of the descriptions is at the beginning of the input.
Other than that, I think there are some differences between the lambdaKG implementation and both methods described in the paper.
But the lambdaKG paper only says that generation-based models are given the tag [inverse].
I would like to ask whether the lambdaKG implementation does not distinguish between minor differences, or whether it is an implementation mistake.
I would like to know if you have also compared the differences in accuracy in such cases.
best,

Hello, thanks for being interested in our work.
Sorry, LambdaKG is still under development. We implement slightly different input formats for the KGT5 and GenKGC models (we will address this in the paper).
To use the same data processor and training modules, we use the basic T5 model for KGT5, which requires slightly different input from the original T5 paper. So the different input format may affect the model’s performance.
Specifically,

We use the input with [inverse] to predict the head entity.
We set KGT5 with origin LM T5-base with only KG training (for  comparison).
We only use KGT5 for KG link prediction task.

In the original GenKGC repository (https://github.com/zjunlp/PromptKG/tree/main/research/GenKGC), triplets were used as prompts, and prefix tree constraint encoding was employed. However, since LambdaKG is still undergoing rapid iteration, we have implemented a simpler version of GenKGC without prompts.
We plan to migrate the original GenKGC code to LambdaKG soon.
By the way, this tool is designed for easy use of PLM based on KGE, if you want to reproduce the results, it is recommended to use the original repository  from the paper.
Best.

Thank you for your very quick reply!! I understand clearly.
I think lambdaKG is the best tool for PLM-based KGE. I hope it will be completed soon.
I would use the original repository for GenKGC.
Another question: is there a roadmap for development for lambdaKG?
My concern is that development will stop. The modifications have stopped for a couple of months.
I would like to know how long it is expected to take to migrate GenKGC or the other models, features.
Best regards,

Hi, we plan to release an updated version in August. Progress has slowed down recently due to the graduation of the main developer.

Thank you for this very important information!
lambdaKG is a good library and I look forward to future updates.
Good luck!!

Hi, we have updated the GenKGC and will continue fix new bugs soon.


Remove Dockerfile version markers

These were added because docker buildx bake could only do proper dependency analysis with the then-unreleased Dockerfile 1.4.0+ frontend; but (a) the Dockerfile frontend is way newer than that and (b) we no longer use docker buildx anyway

CI cancelled because it would try to rebuild every single language, which is no good


Windows SSL Tls11

The following issue shows up when trying to install on Windows 10.
iwr : The request was aborted: Could not create SSL/TLS secure channel.
At line:1 char:6
+ iex (iwr https://deno.land/x/install/install.ps1)
+      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

You need to do first do the following command in your powershell.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

This command is present on line 7 of the install.ps1 script, but the script errors out before it reaches this line. Because this needs to be set to establish a connection and when you try to connect to "set the command", you already run into the Tls11 issue.
Maybe its better to update the documentation? Or have a batch file that the user download, where this command is set first, before the iex command is run.

I believe there is a config in cloudfront (to allow more lax/legacy protocol)...

Is it github? https://github.com/denoland/deno_install/issues/15#issuecomment-451314167

I know I had weird issues with setting the Security Protocol before, mostly PowerShell or .NET internal errors. Just today, for example, I randomly hit a bunch of Powershell pipeline returned an error errors when trying to set the Security Protocol on a different machine. Usually, in those cases, restarting Windows magically solved the problem... I know that's not a satisfying answer, quite cliché, and I hate to ask, but have you tried rebooting your system? :)

Since #45 is merged, this issue can be closed.
cc @ry

thx


ITD Starts tomorrow email

[ ] Send the ITD starts tomorrow email to everyone that has signed up for ITD on the Dashboard (new AND not finished)
[ ] Use template messaging:
[ ] Remove South Africa

940 emails sent today


Mute channels for NCSF

A move of this https://github.com/CyberBotX/SDATStuff/issues/6#issue-2396537939 because I feel I posted that in the wrong place.

It depends on if you mean a mixer channel or an output channel. The latter can already be done. The former is more of a mess to handle at all because SSEQs are played with dynamic channel allocation, meaning that a new note will play on the first available channel from the list of channels that are valid for the type of note being played. This is also different from the tracks within an SSEQ. I don't know if I plan to add support for muting mixer channels, but I'd be willing to consider it.


Weird Error

peep: (3, 1, 1)
python: '2.7.11 (default, Dec 15 2015, 16:46:19)
[GCC 4.8.4]'
pip: '1.5.4'
Command line:  ['/tmp/tmp.oCbkB2gU4O/peep.py', 'install', '-r', '/tmp/tmp.oCbkB2gU4O/letsencrypt-auto-requirements.txt']
Traceback (most recent call last):
File "/tmp/tmp.oCbkB2gU4O/peep.py", line 967, in
exit(main())
File "/tmp/tmp.oCbkB2gU4O/peep.py", line 939, in main
return commandsargv[1]
File "/tmp/tmp.oCbkB2gU4O/peep.py", line 884, in peep_install
req.install()
File "/tmp/tmp.oCbkB2gU4O/peep.py", line 652, in install
run_pip(['install'] + other_args + ['--no-deps', '-U', archive_path])
File "/tmp/tmp.oCbkB2gU4O/peep.py", line 206, in run_pip
status_code = pip.main(initial_args)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/init.py", line 185, in main
return command.main(cmd_args)
File "/root/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/basecommand.py", line 161, in main
text = '
'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 79: ordinal not in range(128)

i see there's a dupe with #127 closing this


systemd: set service type to notify.

Currently the service type is 'simple', the default, meaning that
docker.service is considered to be started straight after
spawning. This is incorrect as there is significant amount of time
between spawning and docker ready to accept connections on the passed
sockets. Docker does implement systemd socket activate and
notification protocol, and send the ready signal to systemd, once it
is ready. However for systemd to take those notifications into
account, the service file type should be set to notify.
Signed-off-by: Dimitri John Ledkov<EMAIL_ADDRESS>

Ping @jfrazelle @tianon @philips

we had this and we removeed it

@jfrazelle I think you're thinking of Type=simple (which trolling back in the Git history I see we used to specify explicitly)
This seems sane to me, but I'd definitely appreciate if @philips and maybe @lsm5 could chime in too.

https://github.com/docker/docker/blob/master/api/server/server_unix.go#L77 -> this notification is ignored/pointless.
Either set type to notify, or drop sending above notifications, and do something else (fork with Type=forking, or pidfile....)
I prefer to set type to notify, that way systemd will correctly consider the daemon started, when it in fact finished. What currently happens is a race:

client talks to the socket exported by systemd
systemd accepts connection, spawns docker, considers it started, and passes the request
docker continious initialisation (which might get stuck, e.g. due to external devicemapper problem on the system as happened on our systems)
client just hangs
systemd says both are running

SdNotify is the native interface with systemd, which is only half used here.

+1, fedora's unitfile has this already, thanks to @mfojtik

LGTM

any objections @philips

LGTM. @jfrazelle sorry for the delay, buried in email.

no worries!

@jfrazelle is this something for this release?

Nah it can wait, I mean it's harmless I'll leave it up to @calavera

On Aug 5, 2015, at 23:12, Sebastiaan van Stijn<EMAIL_ADDRESS>wrote:
@jfrazelle is this something for this release?
—
Reply to this email directly or view it on GitHub.

cherry picked into #15091


[Demo] Add multiple themes to Demo App and change theme dynamically.

Switching themes will update Demo app and all components automatically.
A trigger for a theme change could be a shake gesture (possible on every screen).
Start with additional themes consisting of random colors at first and introduce real themes (e.g. Adevinta-theme) later.

Can I close this one?


Issues with Status (digital) channel information

I have a several new contrade files. One is very interesting. Here are some lines of the cfg file:
x,,2001
146,2A,144D
1,<analog stuff not important here>
2,<analog stuff not important here>
1,Some Status Channel,,,

The last line is the issue. The following line in the code is not fault tolerant:
https://github.com/dparrini/python-comtrade/blob/78a4903fd6d1f3253097f18c8ff5b04be3c5ec62/comtrade.py#L399
You should add something like
            if not packed:
                # maybe throw some warning here
                packed = 0

Hi @mathiasrabe the _read_sep_values makes sure that the returned list contains at least 5 elements, filling the missing ones with '0'. It does nothing if the column values are empty. What I think is happening here is that the last column of the digital channel is critical and the code assumed so:
https://github.com/dparrini/python-comtrade/blob/78a4903fd6d1f3253097f18c8ff5b04be3c5ec62/comtrade.py#L403
I updated it to deal with an empty value without breaking. Please tell me if it's working. Thanks.
265273d2dbb650c6dde11193d3f868edfa1d42fe

I've tested your commit and it's working. Thanks!


Upgrade ember cli

This PR has two fixes.
The first pins jQuery. The dependency restrictions are out of date, which causes the following error:
Uncaught Error: Assertion Failed: Ember Views require jQuery between 1.7 and 2.1
ember-testing.js:1150Uncaught TypeError: $ is not a function
loader.js:110Uncaught Error: Could not find module `ember` imported from `dummy/app`

The second commit upgrades to the latest 1.13.x ember-cli (1.13.15). All related dependencies are up to date as well. Tests all passing and there were minimal conflicts with the upgrade, mostly es5 to es2015 changes.
This should help get the addon in a usable development state. I can start adding some more features to the addon once this is merged.
Thanks for the great addon by the way. We're loving it!

thanks so much!!


runner tempdir patch

partially fixes: https://github.com/iterative/cml/issues/1006
semi-related: https://github.com/iterative/terraform-provider-iterative/issues/581

I think the real fix is probably to run the GHA client in a separate slice enforcing resource limits

sorry I just saw that the link PR has been merged so I assumed it's been released?

As per the relevant milestone, it has not been released yet

No, as I have seen it survive reboots, however, I believe there is a reaping process that hits the dir. Or there was an existing process already in memory that deleted enough files from disk when it got SIGTERM from rebooting my test.

I guess I don't have enough context. 😅 Looks clear as  to me.

If /tmp is not mounted as tmpfs, what does this pull request fix? 🤔


proper way to use icons in a bundle

What's the proper way to use icons in a bundle?
I've created as assets/icons directory in the bundle, but I get an error when trying to render it.
I could add the icon to the main application, but obviously there must be some way to automatically install those icons.  I remember reading something about that, but I can't find it now.
Inside a bundle template:

                        {{ ux_icon('mdi:github') }}

~/ca/survos/packages/pixie-bundle$ tree assets/icons/
assets/icons/
└── mdi
    ├── external-link.svg
    └── github.svg

Got it working.
 bin/console ux:icons:lock

Was the command I was thinking of.


bug when work with cmdline-window (aka q:)

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
I got this error when start to type anything in cmdline window (aka the window popped up by q:).
The error traceback is
rror executing vim.schedule lua callback: ...azy/blink.cmp/lua/blink/cmp/lib/window/scrollbar/win.lua:73: E11: Invalid in command-line window; <CR> executes, C
TRL-C quits
stack traceback:
        [C]: in function 'nvim_buf_delete'
        ...azy/blink.cmp/lua/blink/cmp/lib/window/scrollbar/win.lua:73: in function 'update'
        ...re/nvim/lazy/blink.cmp/lua/blink/cmp/lib/window/init.lua:126: in function 'close'
        ...lazy/blink.cmp/lua/blink/cmp/completion/windows/menu.lua:78: in function 'close'
        ...re/nvim/lazy/blink.cmp/lua/blink/cmp/completion/init.lua:44: in function 'callback'
        .../nvim/lazy/blink.cmp/lua/blink/cmp/lib/event_emitter.lua:28: in function 'emit'
        ...re/nvim/lazy/blink.cmp/lua/blink/cmp/completion/list.lua:118: in function 'hide'
        ...re/nvim/lazy/blink.cmp/lua/blink/cmp/completion/init.lua:23: in function 'callback'
        .../nvim/lazy/blink.cmp/lua/blink/cmp/lib/event_emitter.lua:28: in function 'emit'
        ...lazy/blink.cmp/lua/blink/cmp/completion/trigger/init.lua:202: in function 'hide'
        .../.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/init.lua:52: in function <.../.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/init.lua:50>

Relevant configuration
No configuration is needed,

`require 'blink-cmp'.setup {}` is sufficient to reproduce the problem

neovim version
0.10.2
blink.cmp version: branch, tag, or commit
12ffc10c6283ac148a89d72b5540d819fc80e2ff

Duplicate of #580


Concerns about RDF-based approach to test writing

I can quickly write tests like https://github.com/solid/test-suite/blob/master/testers/websockets-pubsub/tester/test/surface/change-events.test.ts and it would take me a bit longer to write the same test in Java or C++, but I know it's just a matter of writing the code to set up the conditions, execute some action (which may involve complex operations like generating a random cryptographic token or closing a WebSocket that was previously open, etc), and test assumptions about the results.
I can see how we could put references to test name, fixtures that go into a POST or PATCH body, and simple hard-coded values for things like http verbs and header values into RDF, and also how we could use RDF to specify the desired result, in case it's about the http response status etc.
But I fail to see how we could rewrite a test like the one I mentioned from JavaScript to RDF, nor why we would want to try to do that.

Firstly, RDF-based tests are not my idea, but what I see in test writing is that it ends up rather random abstractions or a lot of arbitrary cutnpaste. To tighten up this is attractive, I think.
Now, with the approach that I've taken, the parameters are a part of the RDF description, and the actual tests themselves are encoded in reusable components. There should be very little overlap between them once dust has settled.
There is some appeal to the approach that I've taken in that it separates the implementation of a test from the description and parameterization of it.
I too think this approach has limitations, in particular, when you enter with a lot of logic, you'd likely do with tests that tries to explore for potential flaws that may create vulnerabilities.
But I think great coverage can be achieved by this approach, and that it will result in tests that are easy to understand for RDF heads, at least, and I think that has some legitimacy.

+1 to templating and parameterization
In ShEx, we maintain two versions of the manifest, .ttl and .jsonld. Because we have a ttl-to-jsonld converter, the .ttl manifests are implicitly authoritative; plus they can have comments.
This approach is a little less -eat-your-own-dogfood-y than making everyone use the ttl, but seems to make a lot of folks happy.


Fixed max range for Hcsr04.ESP32

The max range of the sensor is 4m, not 0.4m.
Description
As defined in the datasheet, the max range of the sensor is 4m.
The validation if the measurement is out of range has been corrected from 0.4 to 4.
Motivation and Context
Without the fix, only measurements up to 40cm are measured.
For higher distances, which are still in the valid range of the sensor, the library reports an invalid measurement.
How Has This Been Tested?
Tested with real device.
Types of changes

[ ] Improvement (non-breaking change that improves a feature, code or algorithm)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Config and build (change in the configuration and build system, has no impact on code or features)
[ ] Dependencies (update dependencies and changes associated, has no impact on code or features)
[ ] Unit Tests (work on Unit Tests, has no impact on code or features)
[ ] Documentation (changes or updates in the documentation, has no impact on code or features)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: tschissler sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Don't set height to avoid clipping textinput for XHRExample on android

When adding fields to the multipart/form-data Upload section the two TextInput fields have a height set that is causing them to be clipped on my Nexus 5 (5.1.1) like so:

I've removed the height property, so now it looks like:

Cool, will try it out, don't think fixed height is needed,

@mkonicek not sure if this is a bug but when i give a height of anything less than 30(i gave 20), it looks like this:

@chirag04 That's strange, can you get a minimal repro and file an issue or submit a PR please?

@mkonicek repo case here: https://rnplay.org/apps/XYV08Q
If you change the height to 45+ it looks fine. Also i need to give textInput style a padding: 0 to make sure it is aligned properly. Not sure what is adding a vertical padding to the textInput.

:+1: Thanks for the repro!

Not sure if the two things are related. should i create a new issue?

Yup, created https://github.com/facebook/react-native/issues/3182

Note that on android, the theme will set its own padding. If you set your own height, the padding set by the theme can and will cover your text. If you look at the android TextInput example you can see that there's an example that does exactly that.
To circumvent this, you can either: not set the height, if you don't actually need it, case in which the react-native will correctly draw everything; or, set height, but then explicitly set all the paddings to some values (like 0) to override the padding set by the theme.

Seems reasonable.

@facebook-github-bot shipit


Separate Foundation from UIKit and AppKit

create a separate framework with UIKit and AppKit utils

There's no need to separare Mechanica in 2 different frameworks


Replace recma-document and recma-jsx-build with Vue alternatives

Description 📖
This pull request replaces the recma-document and recma-jsx-build plugins with two plugins that can transform MDX into Vue createVNode calls.
The recma-vue-jsx-build plugin can detect unresolved identifiers and render resolveComponent calls, and process the v-slots directive.
As a result, the @vue/babel-plugin-jsx can be avoided entirely, making transforms 2 to 5 times faster.

Accidental PR, meant to target my fork. Sorry!


(typescript) Date property in reactive object can't assign to pure Date type #2

Version
3.2.1
Reproduction link
https://github.com/BurnashevDmitry/date_error_vue_complier
Steps to reproduce
Example
src/CargoService.ts
interface ICargo {
  name: string;
  createdAt: Date;
  price: number;
}

export class Cargo implements ICargo {
  name: string;
  price: number;
  createdAt: Date;

  constructor(name = '', price = 0) {
    this.name = name;
    this.price = price;
    this.createdAt = new Date();
  }
}

export default class CargoService {
  static info(cargoData: Cargo): void {
    console.log(cargoData);
  }
}

App.vue
<script lang="ts">
import { defineComponent, ref } from 'vue';
import CargoService, { Cargo } from './CargoService';
export default defineComponent({
  data() {
    return {
      cargo: new Cargo('first', 100),
    };
  },
  methods: {
    info() {
      CargoService.info(this.cargo);
    },
  },
});
</script>

Error
src/App.vue:20:25
TS2345: Argument of type '{ name: string; price: number; createdAt: { toString: () => string; toDateString: () => string; toTimeString: () => string; toLocaleString: { (): string; (locales?: string | string[] | undefined, options?: DateTimeFormatOptions | undefined): string; }; ... 39 more ...; getVarDate: () => VarDate; }; }' is not assignable to parameter of type 'Cargo'.
  Types of property 'createdAt' are incompatible.
    Property '[Symbol.toPrimitive]' is missing in type '{ toString: () => string; toDateString: () => string; toTimeString: () => string; toLocaleString: { (): string; (locales?: string | string[] | undefined, options?: DateTimeFormatOptions | undefined): string; }; ... 39 more ...; getVarDate: () => VarDate; }' but required in type 'Date'.
    18 |   methods: {
    19 |     info() {
  > 20 |       CargoService.info(this.cargo);
       |                         ^^^^^^^^^^
    21 |     },
    22 |   },
    23 | });

What is expected?
All works fine
What is actually happening?
Property '[Symbol.toPrimitive]' is missing in type Data

Similar to https://github.com/vuejs/composition-api/issues/279

I have a similar problem using data values https://prnt.sc/1o0ew0a. If I use the simple const variable, everything works as expected.
Reproduction link: https://github.com/baronkoko/vue-reactive-type-error
Vue 3.2.2

I have a similar problem using data values https://prnt.sc/1o0ew0a. If I use the simple const variable, everything works as expected.
Reproduction link: https://github.com/baronkoko/vue-reactive-type-error/blob/main/src/App.vue
Vue 3.2.2

Seems like this issue is new in 3.2, ran into it after upgrading from 3.1.5

I'm not able to reproduce the OP issue

I have a similar problem using data values https://prnt.sc/1o0ew0a. If I use the simple const variable, everything works as expected.
Reproduction link: https://github.com/baronkoko/vue-reactive-type-error/blob/main/src/App.vue
Vue 3.2.2

The project is using an outdated Typescript version 4.1.6, if you use latest 4.3.5 seems to work

Can you please confirm if the problem is still there on the latest typescript version?

@pikax yes, the project had typescript version 4.1.6, from vue create. Аfter updating typescript to the latest version everything works. Thank you very much

All works fine, thanks


Cut a release?

It's been quite a few commits since the last release.  Could be cut a 1.3.14?
There are quite a few fixes to issues like those in #2371

It is a substantial fix in itself to cut a new release, yes.

Let me know if there is a reason you can't use the prereleases: https://pypi.org/project/moto/#history

You need to set an explicit version like moto==1.3.14.dev250


fix: copyToClipboard

Hi @jackiotyu,
Thank you for your contribution!
I really appreciate your effort in addressing this issue.
I'll make sure to test your changes locally as soon as I can to ensure everything integrates smoothly with the existing codebase.

😃

@jackiotyu
I've tested your modifications, and they're working perfectly.
I incorporated them into this commit 9bbce6ab27d3f7983dd16e50b4a9e606cde2cc22, where I also had to enable code in other locations to ensure functionality.
Thanks once more for your valuable contribution!

Okay


force-torque sensor for haptic feedback

I am wondering is there a reason for using SAI 2.0 for simulation and haptic feedback vs the more popular physics engines (such as pybullet) and their built-in force-torque feedback in that?
many thanks for your help!

The reason was that the simulated force feedback from SAI 2.0 has much higher fidelity
Best, Jeannette

On Apr 18, 2022, at 06:31, Shivani Mall @.***> wrote:
I am wondering is there a reason for using SAI 2.0 for force feedback vs the more popular physics engines (such as pybullet) and the built-in force-torque feedback in that?
many thanks for your help!
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

Many thanks Jeannette for your help


2.0.x dev

Current coverage is 100% (diff: 100%)

No coverage report found for master at 0815efd.

Powered by Codecov. Last update 0815efd...aec600e


Possibility to add an RouteGuard in v5 or v6 ?

Hi,
i'd like to use @aws-amplify/auth and check the given Authentication before changing the route.
Otherwise redirect to a login route.
Is there any possibility?
In vue-router there is a beforeEach method to do this.
And even better with react-router-config to configure it nicely in one place?

Well, similiar to https://github.com/reach/router/pull/332

We're not going to add this, but you're free to create your own version of this kind of thing.


Assign a type ID to std::filesystem::path

:notebook_with_decorative_cover: Description
This makes the required changes for https://github.com/tenzir/vast/pull/1504#discussion_r602731887.
:memo: Checklist

[x] All user-facing changes have changelog entries.
[x] The changes are reflected on docs.tenzir.com/vast, if necessary.
[x] The PR description contains instructions for the reviewer, if necessary.

:dart: Review Instructions
n/t

We've experimented with wrapper types before in actor interfaces and that turned out to be very annoying in practice. The errors from compile time actor interface checks are very hard to parse and cost us a lot of time while developing, and both of the proposed solutions change how the type interacts with ADL.
The undefined behavior is something we can drop entirely with CAF 0.18, when we can specialize the inspector access template.
If we want to drop the include in the actors.hpp header then I'd rather change the actor interfaces to work on strings rather than paths.

both of the proposed solutions change how the type interacts with ADL.

The idea is to only use the wrapper for sending it over and unwrapping the path immediately in the handler. I wouldn't want to use it for anything else.

The errors from compile time actor interface checks are very hard to parse and cost us a lot of time while developing

Yes, but changing to atom::path + std::string instead will cause the same compilation errors.

As agreed upon in a call with @tobim, I've put a TODO comment above the inspect overload that says to replace it once we have CAF 0.18.


Update setup.cfg to use description_file

Fix the following setuptools deprecation warning:

Usage of dash-separated 'description-file' will not be supported
in future versions. Please use the underscore name 'description_file'
instead

Thanks!


Un-skip generated tests

Motivation

This unblocks using sorbet-runtime in pay-server (because we can't make
generated raise in pay-server).
Test plan

Unskips the old generated tests, and uses a before block to simulate behavior
that's currently only present in Stripe's T::Configuration handlers.

We are cool letting this method become public right?

Yep, but it's been removed from the sorbet autocorrect suggestion, from all docs, and from the default T::Configuration handlers. People can opt into using it, but we're not going to do much to help out. These tests are the canonical docs for what's supported.


Flag with broke style on Firefox

On Firefox browser, it's having an issue with flag style. For some reason, it's broken.

See a screenshot about the issue

Workaround:
https://github.com/alexplumb/material-ui-phone-number/issues/124#issuecomment-1017297624

Or just use library that is maintained.

Or another library : https://www.npmjs.com/package/mui-tel-input (with phone validation available)


Enhancement: Add more CSS to increase Reader Experience

adding styles for specific classes in specific plugins to increase reader experience

I have no idea what all these small file changes are. I didn't touch them.

We should move the CSS to plugins instead. Otherwise, any changes would depend on a new app release to be reflected.

We should move the CSS to plugins instead. Otherwise, any changes would depend on a new app release to be reflected.

We could use this as a temporary solution though until we have plugin specific CSS.


Use always latest versions in distribution

We are maintaining different versions of the dependencies (asciidoctorj-pdf, asciidoctorj-diagram, ...) for branches main and v2.5.x.
For example:

main uses asciidoctorj-pdf 2.3.7.
v2.5.x uses asciidoctorj-pdf 1.6.2, but it works perfectly with 2.3.7. The project has some testa already and run fine.

My proposal is to align the distribution with the latest always. So long is compatible there are no blockers.
PS: this was brought here around the update of the docs properties. Related to that, I don't think the properties are used in the docs at all.

Let's go for it and look where we end up.

You were convincing me now, it seems I do not understand Boot policies.
But in the end, I still think we should use the latest to lower our work and cognitive load.