Include debug info in release builds

This helps debugging, at the cost of making binaries larger. Previously, with strip=true the sizes were 3.6M for sybil and 2.7M for sybild, with this change sybil is 55M and sybild 37M.

Instead of bloating the standard build, could we add a new target to build separate debug pkgs?

That might make sense yes. Also could be nice if we could have separate debuginfo files that could then be packaged into separate .rpm/.deb files, though not sure if and how Cargo handles that.

Consider this option instead?

If cargo deb --separate-debug-symbols is run, the debug symbols will be packaged as a separate file installed at /usr/lib/debug/.debug.
https://github.com/kornelski/cargo-deb/blob/v2.0.4/README.md#usage

Closing due to fixing it locally in our builds.


update some en docs, project basically done

see title

项目基本功能已经完成
更新了补充知识文档和使用文档的英文版本
进行了性能测试，结果已经整理到了 README 中了

The basic functions of the project have been completed
The English versions of the supplementary knowledge documents and usage documents have been updated
Performance tests have been conducted and the results have been organized in README


Incorrect Tableau definition for S and SDAG

In src/stim/gates/gate_data_period_4.cc the S gate is defined as taking X to +Y and Z to +Z while SDAG is defined as taking X to -Y and Z to +Z
However, with the standard unitary matrix definition of S as [1 0; 0 i], you can compute that these definitions should be swapped.

The tableau entry is intended to represent "if I have P before the gate U in a circuit, what is the equivalent P2 after the gate U in the circuit?". You can verify that the kickback from a Y gate after an S gate undoes the kickback from an X gate before an S gate. Thus S performs X->Y, not X->-Y.
Circuit:

If you try Y->X across S you find that the kickback is not cancelled out, instead it turns into a deterministic flip of the control meaning the sign is -1 so Y->-X instead of Y->X:

In that case, I believe you need to fix the documentation for the __call__ method on the stim.Tableau class. An an excerpt of the documentation
"The conjugation of P by C is equal to C**-1 * P * C. If P is a Pauli product before C, then P2 = C**-1 * P * C is an equivalent Pauli product after C."
This documentation is defined in src/stim/stabilizers/tableau.pybind.cc at line 1886.


Bless nightly-2024-01-28 output

Automatically created by https://github.com/Enselic/cargo-public-api/actions/runs/7683167097/jobs/auto-bless

Caused by https://github.com/rust-lang/rust/pull/116167 which is fine


Use PackageMigration to let Umbraco know it's a package

Following @KevinJump's recent post, Put your package in the installed package list in Umbraco 9, I've added a custom PackageMigrationPlan class and changed the migration (in the Common project) to use PackageMigrationBase.
This means that the separate Component is no longer needed, as Umbraco will auto-detect the package migration plan.
I'm suggesting this change as a stepping stone before looking at issue #16 (Create uSeoToolkit group upon installation).
If you're happy with it, then the Migrations in the other projects can also be modified to use package migrations too.

Looks good to me. Didn't even know that the package migrations dictate whether or not it should be shown in the package list.
It will probably be good to also align the other migrations in the same way.
Thanks for the pull requests! Can't tell you how much I appreciate them

@patrickdemooij9 I'm preparing a PR for the other modules now.
It'll look like this in the backoffice...

Didn't even know that the package migrations dictate whether or not it should be shown in the package list.

Same for me. I only heard about it before Kevin wrote his post about it. 😆


Add extended GCD, Rabin-Miller primality test, and RSA encryption algorithm

rsa.py imports from rabin_miller.py and extended_gcd.py

All the problems should be fixed now.


Memory leak on the function-kcl pod

What happened?

I noticed the function-kcl is consuming a lot of memory. It has a constant climb in memory usage which leads me to think there is a memory leak.

How can we reproduce it?

What environment did it happen in?
Function version: v0.7.0
Crossplane version: 1.16.0-up.1
Cloud provider: GCP
Kubernetes version: v1.29.6-gke.1254000
Kubernetes distribution: GKE

@markandersontrocme do wr using source Git / OCI or Inline ?

@markandersontrocme do we using source Git / OCI or Inline ?

Craig said this one is using inline

Seems to be fixed indeed! Thank you @Peefy


Optimized formatting of code examples (#554)

See issue #554.

 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: SysC0mp sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


overlay suppresses effects of "ppl axlabp"

Reported by andrew wittenberg on 29 May 2015 20:00 UTC
A very recent change (probably unintended) in Ferret or PyFerret is now messing up a lot of our automated figures, by adding axis labels to panels where they're supposed to be suppressed.
In the vanilla-Ferret version 6.942 that you sent me, dated 5/8/15, the following examples produced plot1.gif (attached).  But in the PyFerret based on a presumably slightly different 6.942 (dated 5/14/15), it produced plot2.png, which has spurious labels on the axes of the rightmost panel.
 	NOAA/PMEL TMAP
 	FERRET v6.942 (PyFerret 1.2)
 	Linux 2.6.32-504.8.1.el6.x86_64 - 05/14/15
 	29-May-15 15:47

yes? set view left;  ppl axlabp 0 0; plot/vs/line {0,1},{0,1}
yes? plot/vs/nolab/line/ov {0,1},{0,1}
yes? set view right; ppl axlabp 0 0; plot/vs/line {0,1},{0,1}

See also #1663, which may be related.
Note also that in Sec. 6.3.2 of the User's Guide
[http://ferret.pmel.noaa.gov/Ferret/documentation/users-guide/customizing-plots/AXES]
the last part of the description of PPL AXLABP isn't quite correct.  PPL AXLABP suppresses axis labels, but not the axes themselves (lines, tics), which is what /AXES does.  So it's not really redundant with /AXES, which is more akin to PPL AXSET.
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2294

Comment by ansley.b.manke on 29 May 2015 21:37 UTC
This is in the PyFerret graphics customizations.  Recent changes were made to draw axis lines and tic marks only once. Classic Ferret overdraws axis lines, as various graphics like SHADE plots and polygons tend to leak out a bit across the plot boundaries. The way PyFerret graphics draws lines, multiple lines in the same location get thicker and thicker, so the change is to draw them just once, after the graphics inside the box are finished.

Comment by ansley.b.manke on 2 Jun 2015 21:55 UTC
This is fixed in the pyferret branch, in pltit.F and in the xeq_*.F graphics routines.

Comment by andrew.wittenberg on 9 Jun 2015 21:39 UTC
Thanks for the fix!
Also, don't forget to fix the documentation for PPL AXLABP (see my original post).

Attachment from andrew.wittenberg on 29 May 2015 20:01 UTC
Plot from vanilla Ferret, executable dated 5/8/15.
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2294_GIT_1566/plot1.gif

Attachment from andrew.wittenberg on 29 May 2015 20:02 UTC
Plot from PyFerret, executable dated 5/14/15.
REPLACE THIS TEXT WITH UPLOADED FILE ./attachments/TRAC_2294_GIT_1566/plot2.png


announcement servers questions

Hi all,
As a Sailfish OS user I use the Contrac program https://github.com/llewelld/harbour-contrac which aims for server-side compatibility with the German https://github.com/corona-warn-app
My questions:

is the data sharing between Czech and German authorities in place? If so, I will get warned in case of exposure, won't I?
if not, could you advise me on Czech server addresses and whether they are compatible?

Hi, the integration with EFGS is not done yet, but we are working on it in branch feature/efgs


"How to use" code causes kernal to die.

I just tried to run this code to get started and the kernal dies after I send my first input...

I have this problem too, who can solve it ?


QueryByCommittee 'kl_divergence' method error

Hi.
thank you for your contribution.
When testing the QueryByCommittee and the 'kl_divergence' method, i get the above error:
mytest.py", line 90, in run
    ask_id = qs.make_query()
  File ".../python3.7/site-packages/libact/query_strategies/query_by_committee.py", line 207, in make_query
    np.where(np.isclose(avg_kl, np.max(avg_kl)))[0])
  File "mtrand.pyx", line 902, in numpy.random.mtrand.RandomState.choice
ValueError: 'a' cannot be empty unless no samples are taken

In my case, it seems that avg_kl
https://github.com/ntucllab/libact/blob/master/libact/query_strategies/query_by_committee.py#L205
contains NaN, and as such the max is nan.
But also there are cases where all values are Nan, and i get the
ValueError: zero-size array to reduction operation maximum which has no identity

Just a notice, in case it makes sense to anyone else.

I think the nan should come from here, if predict_proba from the classifier outputs a 0 or 1 probability, the kldivergence will have a nan value
https://github.com/ntucllab/libact/blob/c3babc89ee4cc7672539de46f5a9267d16dccc1b/libact/query_strategies/query_by_committee.py#L156


Decouple Identity.EntityFramework from Web Project?

HI !
I updated to beta-8, now I can reference Library Class Projects from my Web Project in order to decouple the solution.
But I'd like to know if it's possible install Microsoft.AspNet.Identity.EntityFramework in a Library Class Projects, so the Web Project doesn't have any references to persistence elements. I was able to install EntityFramework.SqlServer, but when trying to install Microsoft.AspNet.Identity.EntityFramework, the next output:
"Cannot install the package 'Microsoft.AspNet.Identity.EntityFramework 3.0.0-beta8'. You are trying to install this package for a project that has Version=v4.5.1 as target..."
Thank you!

ASP.NET Identity 3 can only be used in ASP.NET 5 projects. You can install this package in DNX based Class Library projects


Update configure-for-fin-insites.md

Scripts updated and added clarifying notes.

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.


httpReqest schema includes responseParams though HTTP responses don't include parameters

responseParams is an invalid attribute because HTTP responses don't include parameters. While (correctly) not evaluated in core, common includes responseParams in the httpRequest schema. responseParams needs to be marked as deprecated to stay a non-breaking change in v2.

Fixed in v1.16.1.


change the deployment resource group from vnet rsg to autoscale rsg

resolve #50

it works as expected. merge into staging branch


old training data wont remain when i train with new data please help

const lstm = new brain.recurrent.LSTM();
lstm.fromJSON(myjson);
const result = lstm.train(trainingData, {
iterations: 15000,
log: details => console.log(details),
errorThresh: 0.011
});
const updatedjson = lstm.toJSON();
//, { flag: 'a+' }
fs.writeFile("results.json", JSON.stringify(updatedjson), function (err) {
if (err) throw err;
console.log('The "data to write" was appended to file!');
});
result.json file needs to have train data for new training and old training
how can i do this?

Please don't create duplicate threads as help is already being provided here: https://github.com/BrainJS/brain.js/issues/376#issuecomment-476207267

Please don't create duplicate threads as help is already being provided here: #376 (comment)

Briefly looking at #376 I found that it is not what he would Arsalan would like, what he would like to do is train a network, save it (which I think he has already done) and then be able to have a new dataset to train off of, load the network from the file that he created and ADD onto it instead of replacing its training.
I also have had the same issue where I cannot, whatsoever get a network to add onto an old one.

Train network
Save json
Then later when you have new data:
Create/Load network
Trian with old + new data
Save json


absolute path normalization in PrepareSandboxTask

What happened?
@CacheableTask PrepareSandboxTask has input files with absolute path normalization.
Note: it seems like the task mostly just syncs files into the sandbox dir, which - like most Sync tasks - might not be worth caching.
Relevant log output or stack trace
No response
Steps to reproduce
PrepareSandboxTask:308:
            inputs.files(runtimeConfiguration)

Gradle IntelliJ Plugin version
2.0.0
Gradle version
8.9
Operating System
None
Link to build, i.e. failing GitHub Action job
No response

obsolete without caching


Components

Hello, Why u cant make components like button, cards drag drop, to easily create pages?

Discussed on Discord


[Feature] Bottom Navigation

Description
This adds a bottom navigation component.

Color
Typography

Review checklist

[x] PR is split into meaningful commits for the ease of reviewing
[ ] Tests have been written
[x] Screenshots added (where applicable)
[x] Appropriate labels have been applied

Codecov Report

Merging #3 (6d098db) into main (6f1d3f2) will not change coverage.
The diff coverage is 0.0%.

@@         Coverage Diff          @@
##           main     #3    +/-   ##
====================================
  Coverage   0.0%   0.0%
====================================
  Files         6     13     +7
  Lines       120    264   +144
  Branches     19     48    +29
====================================
- Misses      120    264   +144


An error occurred processing xxx.wav: "LayerNormKernelImpl" not implemented for 'Half'

Applio->train->preprocess->extract(choose model "chinese-hubert-large"),click "extract features"
Error occured while doing Feature extraction using "chinese-hubert-large" embedding model.
......
An error occurred processing 6_8.wav: "LayerNormKernelImpl" not implemented for 'Half'
An error occurred processing 6_9.wav: "LayerNormKernelImpl" not implemented for 'Half'
100%|███████████████████████████████████████████████████████████████████████████████| 363/363 [00:00<00:00, 406.72it/s]
Feature extraction completed in 7.30 seconds.

try with contentvec

try with contentvec

Contentvec worked fine,but I want to use chinese-hubert-large to get better result.

changed to hubert base instead of large, should be fine now


refactor: use optional chaining in template params validation

Description
In this PR I worked on this issue
captured test results test-results.md
Resolve

Simplified Null Check
Maintained functionality

/rtm


Issue 41 subsample fn

closes #41
you can test this function by running the code:
subsamples <- generate_subsample(con, 2024)
I tried to document the logic as well as I could but let me know if you want to walk through it together to confirm it's working as expected. Logic is here: https://docs.google.com/document/d/1aNT4vqLWFA_4bNRnO9ZemTOTR9L3fyCe/edit

@ergz those were lines of code i was testing out but we didn't need! should be working now


verify fails in CI on mac-os due to hitting github API rate limits

Noted on https://github.com/informalsystems/quint/pull/1123#issuecomment-1693512026.
We are hitting github rate limits causing causing invocation of verify to fail.

On github rate limits:
If the github api calls are not made thru an authenticated user account, then the (current) limit is 60 calls per hour. This means, in the current approach where we query the api on every invocation (unless the server is already running), we have a hard choice:

Users must either start the server manually, or limit themselves to 60

We should be much more conservative with our API calls, but we're still liable to hit API rate limits in CI: all it takes is running more that 60

60 invocations of verify per hour is not a big limitation for a single user, as quint verify takes at least a few seconds to startup. I guess, this may become a problem, when people sit behind the same IP, like if they are at the same lecture maybe %)
We could reasonably limit version checking to once per hour or once per day. Would that help with CI though?

I disagree that it's not a big limitation. But in any case, why would we chain the amount of times our CLI tool can be run -- when it has every it needs locally -- to be limited by github's api rate limiting? That doesn't make any sense to me.

I disagree that it's not a big limitation.

I would be curious to learn the reason for disagreeing here. If someone runs quint verify in a loop, they should definitely start the server. This feature is mainly designed for first-time users. If somebody runs into that limitation, we should be more clear about how to run the server locally.

I would be curious to learn the reason for disagreeing here

A CLI tool that has no intrinsic need to interact over the wire that can only be run 60

I would be curious to learn the reason for disagreeing here

A CLI tool that has no intrinsic need to interact over the wire that can only be run 60 times per hour due to accidental complexity is a total turn off to me. If I encountered that kind of arbitrary limit in a tool, I'd want to not use it.

While I agree that good tools should not impose unnecessary complexity, we are still in the MVP stage here, more or less. So if we find a good workaround (e.g., checking for updates once a day), that's great.

I think that the CI failures alone are enough reason to prioritizing a fix here. Intermittent problems in the CI are super annoying.

So after some digging and thinking:

We can fix the CI issue by authenticating as noted above
But, afaik, so long as we depend on hitting the github api to download the artifact, there is no way to fix the problem that if n people in a classroom are trying to run quint verify for the first time on a shared connection, then n - 60 people will not be able to run the command because they won't be able to get apalache.

The workaround I've pushed for now is just to use a hard-coded Apalache version and the known download url. This frees us from the github url.
Future work in #1106 can think about the tradeoffs between simplicity and related robustness vs. the desire to accommodate flexibility.
IMO, we would be better served by not trying to get overly fancy with version management for the moment :)


Flag 'passive' talents on tokens

Flag tokens where the actor has any of the following talents.

Acute Sense
Combat Aware
Animal Affinity
Detect Artefact
Holy Visions
Nose for Trouble
Savant (Lore)
Second Sight
Sixth Sense

So, thinking about options to flag these ... possibly a combination of:

flag the token without invoking the hud,

display the relevant talent icons in a similar way to conditions
optionally display the flag with a key modifier or universally based on a module setting

highlight the specific related hud extension with a different styling
extend the hud tooltip if the character has the related talent(s)

Also thinking that this may also be extensible to

creature Traits
skill specialisations (such as Stealth (Urban)).


Game crash when grabing blueprint

The mod Blueprint Tools (1.1.0) caused a non-recoverable error.
Please report this error to the mod author.
Error while running event BlueprintTools::on_player_cursor_stack_changed (ID 30)
Index out of inventory bounds.
stack traceback:
[C]: in function '__index'
BlueprintTools/scripts/util.lua:13: in function 'get_blueprint'
BlueprintTools/control.lua:125: in function <BlueprintTools/control.lua:119>

Please upload a save file and give exact reproduction steps.


Add a log engine

Hi,
Here is a simple log system. Confidential parameters are filtered, but I will let you review my PR to check if some of them have been forgotten.
I added a section on documentation to explain how to enable/disable logs.

Thanks very much @my-kel for all this great work - we'll take a look and get back to you :-)

Hi @hobailey,
Is there anything wrong with my PR? How can I help you to merge it?
Regards.

Looks good, thanks very much again for the contribution and sorry for the delay getting back to you :-)

You're welcome @hobailey! No worries about the delay :smile:


mosquitto-auth-plug

hi.
my mosquitto server use mosquitto-auth-plug
https://github.com/jpmens/mosquitto-auth-plug
I would like to know whether you can test the server on which you installed the plugin from malaria
im sorry.   It can set up the client loads to be brokers themselves bridging to the target, but I can't imagine you'd want each of them to use the auth plugin.

thank you!!!


vscode jupyter notebook cannot switch kernel

VSCode Version: 1.42.1
OS Version: win10 1909

Steps to Reproduce:
1.install anaconda
2.install a env enviroment
3.in vscode, i can use base anaconda jupyter kernel, but i cannot switch to the env jupyter kernel, when click currnet kernel at the right up conner and select the env kernel, vscode gives a tip to switch the kernel, but after few minites, the used kernel is still the base kernel.

Does this issue occur when all extensions are disabled?: Yes/No

Currently we don't have builtin notebook support in VS Code. Please file issues against the extension which provides the notebook feature.


WIP Write "localhost" as an initial hostname

This works around Fedora 33 decision to use "fedora" as a fallback hostname until its set. As a result MCO doesn't wait for correct hostname to be set by NM

/test e2e-gcp

This would make it so hostname is set to localhost on all the platforms before then being changed to a valid one by triggering the NM dispatcher hook hack. Is that statement correct? And would it work on all platforms? (I don't see why it wouldn't, but I want to make sure). If it does work, I'd be ok with this as a last-resort hack for getting out release 4.6

This likely won't work the way intended. When /etc/hostname is set, NM will treat it was a static name and won't manage it, while the dispatcher script only sets the transient name. Since /etc/hostname is set, hostnamectl will ignore it.
It would need testing, but I think (caveut, I could be really wrong here) -- would be a systemd generator in /etc/systemd/system-generators akin to:
#!/bin/bash
printf "localhost" > /proc/sys/kernel/hostname

Or, even better, straight up enable Afterburn for GCP.
@vrutkovs @LorbusChris  to reset this saga, I'm happy to help here if its a path toward unblocking OKD so long as we don't have to compromise the inflight work elsewhere.

/test e2e-gcp

It would need testing, but I think (caveut, I could be really wrong here) -- would be a systemd generator in /etc/systemd/system-generators akin to:

Okay, let me try that. I think changes to okd-machine-os would be least invasive. Once updated NM lands in next-devel stream we can roll this change back

/test e2e-gcp

This is not gonna work, Afterburn is a much better idea


Handling of apostrophes is incorrect

messageformat.js does not handle double apostrophes correctly.
var mf = new MessageFormat('en');

console.log(mf.compile("I see '{many}'")());
console.log(mf.compile("I said '{''Wow!''}'")());
console.log(mf.compile("I don't know")());
console.log(mf.compile("I don''t know")());

This should output (assuming DOUBLE_OPTIONAL):

I see {many}
I said {'Wow!'}
I don't know
I don't know

The first two don't work at all, and the fourth one outputs two single quotes instead of one.
See http://icu-project.org/apiref/icu4j/com/ibm/icu/text/MessagePattern.ApostropheMode.html

Link to non-Java document: http://userguide.icu-project.org/formatparse/messages#TOC-Quoting-Escaping

If syntax characters occur in the text portions, then they need to be quoted by enclosing the syntax in pairs of ASCII apostrophes. A pair of ASCII apostrophes always represents one ASCII apostrophe, similar to %% in printf representing one %, although this rule still applies inside quoted text. This '{isn''t}' obvious → This {isn't} obvious

This is also relevant (from http://icu-project.org/apiref/icu4j/com/ibm/icu/text/MessagePattern.ApostropheMode.html#DOUBLE_OPTIONAL)

A literal apostrophe is represented by either a single or a double apostrophe pattern character. Within a MessageFormat pattern, a single apostrophe only starts quoted literal text if it immediately precedes a curly brace {}, or a pipe symbol | if inside a choice format, or a pound symbol # if inside a plural format.

I've found that a literal apostrophe followed by a | or # is interpreted as quoted literal text in other cases too, contrary to what the documentation says. E.g. the following php code (which uses the C ICU library):
<?php

$now = time();
var_dump(MessageFormatter::formatMessage("en_US", "This '{' '}' '-' '#' '|' is a test {x,date,y-M-dd '|' '#' hh:mm:ss}", ['x' => $now]));

outputs string(53) "This { } '-' '#' '|' is a test 2017-6-11 | # 06:30:01"
So the apostrophe only starts a literal text if followed by { or } outside of {, but a '#' or '|' inside { is interpreted as literal text even if it's not choice or plural.

Since this issue is in the parser, I've opened https://github.com/messageformat/parser/issues/2 instead.


feat(telecom-voip): voip alias feature

Changes related to the voip alias feature
EC-232
Description of the changes
Add some files, one major is the voip-service-alias.service.js (this one will certainly be splitted in the future to enhance readability)

@cbourgois Changes are done :)


[FIX] FSDetectInputs mutually exclusive options for ReconAll

As proposed by @effigies in nipy/nipype#3361

I've just merged #645 - can you rebase this branch?

Codecov Report

Merging #646 (c8b9217) into maint/1.3.x (43d4646) will not change coverage.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##           maint/1.3.x     #646   +/-   ##
============================================
  Coverage        47.95%   47.95%
============================================
  Files               43       43
  Lines             5303     5303
  Branches           775      775
============================================
  Hits              2543     2543
  Misses            2673     2673
  Partials            87       87

Flag
Coverage Δ

documentation
0.00% <0.00%> (ø)

reportlettests
∅ <ø> (∅)

unittests
48.05% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

niworkflows/interfaces/freesurfer.py
48.62% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 43d4646...c8b9217. Read the comment docs.


WAC breaks other web pages served by the computer it is loaded on

//localhost/cgi/multimon.cgi (a web page that monitors APC UPSes) now returns "Your connection isn't private
Attackers might be trying to steal your information from localhost (for example, passwords, messages, or credit cards).
NET::ERR_CERT_AUTHORITY_INVALID"
https://localhost:13569 (a web page showing statistics for Condusiv's DymaxIO software) now returns "Hmmm… can't reach this page
It looks like localhost closed the connection"
I have not figured out how to restore them to operational status.

Hi,
I apologize for the delayed response, are you still experiencing this issue on our latest build?
Kind regards.


2nd-order feature architecture

Work on architecture to allow 2nd-order features that take 1st-order features as input.

Merged this in a while back.


Unable to build: error C3646: 'effect': unknown override specifier

I receive several "Unable to build: error C3646: 'effect': unknown override specifier" when attempting to build after a fresh clone on my win 10 machine. This happens right after cmake --build .
D:\BeatConnect\Plugin\ysfx\plugin\info.h(23,18): error C3646: 'effect': unknown override specifier (compiling source fi
le D:\BeatConnect\Plugin\ysfx\plugin\editor.cpp) [D:\BeatConnect\Plugin\ysfx\build\ysfx_plugin.vcxproj]
D:\BeatConnect\Plugin\ysfx\plugin\info.h(23,18): error C4430: missing type specifier - int assumed. Note: C++ does not
support default-int (compiling source file D:\BeatConnect\Plugin\ysfx\plugin\editor.cpp) [D:\BeatConnect\Plugin\ysfx\bu
ild\ysfx_plugin.vcxproj]
D:\BeatConnect\Plugin\ysfx\plugin\editor.cpp(130,30): error C2039: 'effect': is not a member of 'YsfxInfo' [D:\BeatConn
ect\Plugin\ysfx\build\ysfx_plugin.vcxproj]

Sure, can you give details on what this build environment is?
I know as fact that it builds at least on Github Actions VS2019 configuration.
I'll give this a deeper look tomorrow.

Yup - Microsoft Visual Studio Community 2019, Version 16.6.0, win10/64bit machine. Let me know if you need any more info, and thanks! Exciting project

No luck with reproducing this one. There was success on Win10 VS 16.8.2.
Neither Github Actions with both VS 2017 and 2019 configurations.
Is there anything else special about your build environment?

I pulled a clean version this morning, restarted my computer and tried again - this time it worked. I don't think I had rebooted after installs nasm , probably in the end it was just some system config issue. Thanks for the help and sorry for the non-issue!

If a particular edit has fixed it, it might have been this recent commit: c3e468d


The plugin is not working for parcel 2.0.1

Got this error on the current parcel version:
@parcel/core: The plugin "parcel-transformer-ts-css-modules" is not compatible
with the current version of Parcel. Requires "2.0.0" but the current version is "2.0.1".

Can you please support the newer version?

Thanks for reporting this, should be solved now under this version
"parcel-transformer-ts-css-modules": "1.0.12"

Also, please do not hesitate to propose a PullRequests :)


Validate error when we upgraded to ember 1.9.1

I'm getting error when we use .validate(), only in ember 1.9.1 and handle bar 2.0.0.
Please find the below demo,
http://jsbin.com/dunohe/4/edit?html,js,console,output
when we comment out this.validation, then validation is working fine.
It was working fine in ember 1.8.1 and handlebar 1.3.0. But not in the current version. :(
Is there any alternative solution?
Thanks

Hi Abraham, I had the same issue as you but I found the solution in the documentation.
Now, the .validation() function is a promise and you will need change you code.
https://github.com/dockyard/ember-validations#running-validations
I hope you can solve your problem with this.
Bye

@joseguti84
Thanks,
I have changed the code it working fine now.
this.validate().then(function(){
.....
}).catch(function(){
return;
});


add windows extension

fixes https://github.com/sass/sassc-rails/issues/134

closed in favor of https://github.com/sass/sassc-ruby/pull/173


No entry for new Date(...) in lib/core.js

Reading through https://github.com/facebook/flow/blob/master/lib/core.js, there is no constructor entry in declare class Date {.

@avikchaudhuri I confirmed that var date: Date = new Date() passes. Looks like this issue can be closed?

@josephsavona I do not believe that is a sufficient test. Date has a very complicated constructor: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date.

@bolinfest Flow accepts all of the below cases. Do you have an example that is valid JS but that Flow rejects?
var date1: Date = new Date();
var date2: Date = new Date('2015/01/01');
var date3: Date = new Date(2015, 01, 01);
var date4: Date = new Date(1);

@josephsavona I don't know if that proves anything. I think Flow ignores extra arguments, which is why it doesn't flag anything you are seeing. The real test is whether it rejects invalid arguments. For example, if I write:
new Date({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {});

I don't see any errors, but I should.

@bolinfest you are right. Flow ignores extra arguments. So we cannot really Flag
new Date({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {});

We can flag new Date({}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}); because {} doesn't match the required type of the arguments (string or int for the first argument, int for others). #539 takes care of this.
Ignoring extra arguments is probably OK because JavaScript ignores them as well. Extra arguments make your code ugly, but won't cause actual bugs.
One thing we might want to flag though are invalid argument combinations like new Date(string, int). This is not solved by #539 because Flow doesn't supported overloaded constructor definitions yet.

This can be closed, now that #539 is merged.

Date constructor is was added to flowlib in 0.13.


{AKS}: Fix the issue that the value passed by option --os-sku in command az aks nodepool update is not processed

This checklist is used to make sure that common guidelines for a pull request are followed.
{AKS}: Fix the issue that the value passed by option --os-sku in command az aks nodepool update is not processed.
Bug fix for PR #6944.
Related command

az aks nodepool update
General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

AKS

Queued live test (case test_aks_update_agentpool_os_sku) to verify the change. Test passed.


refactor: fix clippy lints

reduce clippy warnings from 266 to 110
also make changes to the code to be more idiomatic in places

@johnward please review.

Done, thank for your help.


can not seek video when put in sliding panel

Hello. First thanks you for very nice project. I just starting with it
When put ASPVideoVC inside ContainerView, ContainerView inside SlidingPanel, the problem is I can not slide the progress. Can you help?
As the screenshot below, i cant seek the progress only max 1 cm, after that it stop highlight then back to normal size

When debug i saw the func cancelTracking always call when i seek the progressbar

Hi @fukemy ,
I'm guessing your SlidingPanel has a GestureRecognizer attached that intercepts the touch events which leads to cancelTracking being called.
There are a couple of ways that I can think of to solve the issue:

Set the cancelsTouchesInView of the GestureRecognizer to false to allow the touch event to be forwarded to the progress bar.

Use the UIGestureRecognizerDelegate methods to prevent the GestureRecognizer from firing if the touch location is inside of the video player:

   func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
       let point = gestureRecognizer.location(in: gestureRecognizer.view)
       //You might need to do a conversion here depending on the position of your video player. However if it's at the very top this should work.
       return videoPlayer.frame.contains(point) == false
   }

it work. Thanks


Enhance Displace operator to allow specification of reference state.

Enhance the Displace operator to allow specification of the reference state.
From an e-mail from an LLNL Engineering user:
I wanted to clarify our ask in the discussion yesterday for how we want the displace operator to perform in visit. We mentioned yesterday that when we are bringing in data from another simulation we will want to reference displacement from the second state of the new run (not the first state). There are also situations where we are running multiple preload steps in one model and in this case it may be an arbitrary step choice when the preload has completed and that would want to be the new reference state. So I think our ask is something similar to griz where you declare the reference state you want to be using for the operation. Maybe that is what we all agreed on but I just wanted to make sure we are all on the same page.

I create a series of silo files with a moving mesh. I was able to get this to work with the following expressions.
x5  = conn_cmfe(<semi_circle.visit[5]i:x>, curvmesh2d)
y5 = conn_cmfe(<semi_circle.visit[5]i:y>, curvmesh2d)
disp5 = {x-x5,y-y5}

and using the Displace operator using "1" for the multiplier and "disp5" for the variable.
This resulted in doubling the displacement relative to state "5" for all states "5" and later. It's doubling since the coordinates are already displaced and displacing it again doubles the displacement. This required the coordinates to be stored in the file for the expressions to work. I believe the coordinates are available in "Mili" files under "Primal".

I went and tried doing the same thing from a Mili file that I got from the Engineering user. I created the following expressions:
nodpos_x = coord(mesh1)[0]
nodpos_y = coord(mesh1)[1]
nodpos_z = coord(mesh1)[2]
x5 = conn_cmfe(<ingrido.dyna.plt.mili[5]i:nodpos_x>, mesh1)
y5 = conn_cmfe(<ingrido.dyna.plt.mili[5]i:nodpos_y>, mesh1)
z5 = conn_cmfe(<ingrido.dyna.plt.mili[5]i:nodpos_z>, mesh1)
nodpos_5 = {x5, y5, z5}
displacement5 = displacement(mesh1, nodpos_5)

and then used displacement5 with the Displace operator.

It worked just as I expected. At state 5, the Displace operator had no effect and at state 6, the displacement increased as I increased the "Displacement multiplier".

Thats cool that what you tried worked. That said, I do think an additional state id entry on the displace operator where they can specify an state-index, time-step or cycle which defaults to state-index 0 would be a bit nicer from a usage standpoint.

@brugger1 @markcmiller86 @visit-dav/visit-developers was there a consensus on what we wanted to do here? I can bring Eric's expression solution to the engineering guys and see how they like it. Did we want to add a state id entry to the displace operator? Or if the users are happy with Eric's solution is that sufficient?

This will require cmfe, so Eric's answer is the answer.
We won't be able to wire up an operator that can pull different database time steps, there is no precedent / infrastructure.

Investigate doing this with a macro. @JustinPrivitera

I will do this with a macro or script and share the solution with the engineering folks. I have a note to share this and other solutions from closed tickets.

Can displace operator have an integer that creates the expression we need?

We will leave open until Engineering folks tell me they are happy with the macro solution.

# Engineering Ticket Answers 11/14/24:

# Enhance Displace operator to allow specification of reference state
# https://github.com/visit-dav/visit/issues/18736

# For this we can use a Macro:
# https://visit-sphinx-github-user-manual.readthedocs.io/en/develop/using_visit/CommandWindow/Macros.html#macros

def user_macro_ref_state():
    # edit to add or remove relevant timesteps
    # click "update macros" to save changes
    interesting_time_steps = [0, 1]
    DefineScalarExpression("nodpos_x", "coord(mesh1)[0]")
    DefineScalarExpression("nodpos_y", "coord(mesh1)[1]")
    DefineScalarExpression("nodpos_z", "coord(mesh1)[2]")

    for i in interesting_time_steps:
        DefineScalarExpression("x" + str(i), "conn_cmfe(<[" + str(i) + "]i:nodpos_x>, mesh1)")
        DefineScalarExpression("y" + str(i), "conn_cmfe(<[" + str(i) + "]i:nodpos_y>, mesh1)")
        DefineScalarExpression("z" + str(i), "conn_cmfe(<[" + str(i) + "]i:nodpos_z>, mesh1)")
        DefineVectorExpression("nodpos_" + str(i), "{x" + str(i) + ", y" + str(i) + ", z" + str(i) + "}")
        DefineVectorExpression("displacement_" + str(i), "displacement(mesh1, nodpos_" + str(i) + ")")

RegisterMacro("displace ref state", user_macro_ref_state)

# We can set VisIt up such that the macro window appears on launch

# =================================================

# For Macros, we will want to go to the Command Window (Ctrl+Shift+C if the GUI
# is in focus or Controls/Command) and find the Macros tab. We can paste the
# above code (the two function definitions and the two calls to RegisterMacro())
# into that window and click "Update Macros". That will then populate the Macro
# window with our new macros. Go to Controls/Macros to open the Macros window,
# where you should be able to click the new buttons there to run the macros.

# If you want the Macros window to be open by default when you launch VisIt, you
# you can have it open and then select Options/Save Settings.


OCPBUGS-29225: SCC user update should work correctly

also added test case to avoid regression

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

Project coverage is 77.92%. Comparing base (f13ee72) to head (e8f810c).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #587      +/-   ##
==========================================
+ Coverage   77.46%   77.92%   +0.46%
==========================================
  Files          27       27
  Lines        1948     1948
==========================================
+ Hits         1509     1518       +9
+ Misses        322      316       -6
+ Partials      117      114       -3

see 2 files with indirect coverage changes

/test precommit-check

/override ci/prow/snyk-deps

/lgtm


Update Get started page

This PR contains a proposed update to the Get started page.
The target audience is Kotlin developers who want to manipulate data in their Kotlin projects.
The objective of the page is to help developers start using the DataFrame library as quickly and easily as possible before converting them to other learning materials within the site.

Hi, @sarahhaggarty , I suppose it could be merged


add language-specific rules (for e.g. Turkish) to Utf8String casing

Turns out that having a map of upper to lower case unicode glyphs, even taking into account asymmetrical operations, isn't enough. A good example of this is Turkish.
Turkish uses what looks pretty much just like some letters from the Latin alphabet with a few variants with diacritics.
https://unicode-table.com/en/alphabets/turkish/
And indeed, these are all just using the same glyphs as the various european alphabets do. Same exact unicode points. BUT, the rules for Turkish are subtly different.
Notably, Turkish has dotted and undotted i's, in both lower and upper case.
Capital I: https://unicode-table.com/en/0049/
Small dotless I: https://unicode-table.com/en/0131/
Capital dotted I: https://unicode-table.com/en/0130/
Small dotless I: https://unicode-table.com/en/0069/
The tricky bit is, that the "i" and "I" characters are shared with standard latin alphabets and it's impossible to tell from text alone whether the user wants the Turkish capitalization rules or not.
The only solution for this, is for the user to be able to tell the system which language rules they intend to use.
So this proposed change adds an optional parameter to the Utf8String toUpperCase() and toLowerCase() functions, which allows the user to specify the language. For now I'm just adding "TURKISH" and "STANDARD" (everything else), and Turkish technically only has the one case to take care of properly.
Technically you only need it going from lower case to upper case to make sure that a dotted lowercase i becomes a dotted capital I, because a dotless lowercase I is already mapped to a dotless capital I, and a dotted capital I is already mapped to a dotted lowercase I, but I put both cases in explicitly for Turkish since I figure there will be other language-specific gotchas in the future, and it helps to have the symmetrical structure already in place.

Do you use UTF8String directly, or would this need to be implemented behind the OpenFL TextField somehow?

I use UTF8String directly. It's not just about displaying the text correctly on screen, it's about handling the data value itself (such as e.g. writing to a file, passing on to other functions/libraries/etc). I just need a proper locale-aware API that can properly do the transformation at the data level.


wadm observer can't add event consumer due to "consumer not unique on workqueue stream, error code 10100"

I'm following https://wasmcloud.com/docs/deployment/k8s/ on a local kind cluster and have made it just about to the end of the tutorial, but the hello-world Application I'm trying to deploy is stuck in the Undeployed state:
$ kubectl get app -n wasmcloud
APPLICATION        DEPLOYED VERSION   LATEST VERSION   STATUS
rust-hello-world   v0.0.1             v0.0.1           Undeployed

I kind of suspect it's due to this error I see repeated in the wadm logs:
2024-07-26T03:30:08.115939Z ERROR observe{subscribe_topics=["wasmbus.evt.*.>"]}: wadm::observer: Couldn't add event consumer. Will retry on next heartbeat error=JetStream error: 400 (code filtered consumer not unique on workqueue stream, error code 10100) lattice_id=83a5b52e-17cf-4080-bac8-f844099f142e

I could be totally wrong about what's causing the Application to remain undeployed as I'm completely new to wasmcloud and nats, but this seemed like it might be a bug.
From inside nats-box, I can see that there's already an intersecting consumer (assuming subscribe_topics=["wasmbus.evt.*.>"] means that wasmbus.evt.*.> is the filter) on the workqueue stream, which doesn't appear to be allowed by nats.
~ # nats stream find --subject="wasmbus.>"
╭────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│                                                 Streams matching wasmbus.>                                                 │
├─────────────┬───────────────────────────────────────────────────────┬─────────────────────┬──────────┬──────┬──────────────┤
│ Name        │ Description                                           │ Created             │ Messages │ Size │ Last Message │
├─────────────┼───────────────────────────────────────────────────────┼─────────────────────┼──────────┼──────┼──────────────┤
│ wadm_mirror │ A stream that publishes all events to the same stream │ 2024-07-21 04:42:02 │ 0        │ 0 B  │ 17.57s       │
╰─────────────┴───────────────────────────────────────────────────────┴─────────────────────┴──────────┴──────┴──────────────╯

~ # nats stream info wadm_mirror
Information for Stream wadm_mirror created 2024-07-21 04:42:02

           Description: A stream that publishes all events to the same stream
              Subjects: wasmbus.evt.*.>
              Replicas: 1
               Storage: File

Options:

             Retention: WorkQueue
       Acknowledgments: true
        Discard Policy: Old
      Duplicate Window: 1m10s
     Allows Msg Delete: true
          Allows Purge: true
        Allows Rollups: false

Limits:

      Maximum Messages: unlimited
   Maximum Per Subject: unlimited
         Maximum Bytes: unlimited
           Maximum Age: 1m10s
  Maximum Message Size: unlimited
     Maximum Consumers: unlimited

Cluster Information:

                  Name: nats-cluster
                Leader: nats-cluster-1

State:

              Messages: 0
                 Bytes: 0 B
        First Sequence: 1,891
         Last Sequence: 1,890 @ 2024-07-26 03:26:08 UTC
      Active Consumers: 1

~ # nats consumer ls
[default] ? Select a Stream wadm_mirror
Consumers for Stream wadm_mirror:

        wadm_mirror-83a5b52e-17cf-4080-bac8-f844099f142e

~ # nats consumer info
[default] ? Select a Stream wadm_mirror
[default] ? Select a Consumer wadm_mirror-83a5b52e-17cf-4080-bac8-f844099f142e
Information for Consumer wadm_mirror > wadm_mirror-83a5b52e-17cf-4080-bac8-f844099f142e created 2024-07-21T04:54:36Z

Configuration:

                    Name: wadm_mirror-83a5b52e-17cf-4080-bac8-f844099f142e
             Description: Durable wadm mirror consumer for 83a5b52e-17cf-4080-bac8-f844099f142e
               Pull Mode: true
          Filter Subject: wasmbus.evt.83a5b52e-17cf-4080-bac8-f844099f142e.*
          Deliver Policy: All
              Ack Policy: Explicit
                Ack Wait: 2.00s
           Replay Policy: Instant
      Maximum Deliveries: 3
         Max Ack Pending: 1,000
       Max Waiting Pulls: 512

Cluster Information:

                    Name: nats-cluster
                  Leader: nats-cluster-1

State:

  Last Delivered Message: Consumer sequence: 1,891 Stream sequence: 1,891 Last delivery: 2.44s ago
    Acknowledgment Floor: Consumer sequence: 1,891 Stream sequence: 1,891 Last Ack: 2.44s ago
        Outstanding Acks: 0 out of maximum 1,000
    Redelivered Messages: 0
    Unprocessed Messages: 0
           Waiting Pulls: 1 of maximum 512

Thank you for this issue @mtaufen ! I'm going to double check, but I'm fairly sure we resolved this issue in https://github.com/wasmCloud/wadm/pull/310 when we switched to a better consumer architecture. I should have a 0.13.0-beta.1 version of wadm for you to try out later today to see if it resolves the issue!
In the meantime, for more information on the bug, this is actually a race condition between wadm and the wasmcloud-operator. You should be able to try to provision again and if you don't hit the race it will deploy properly.

@mtaufen we just published a new version of the helm chart updated to reference the latest available version of wadm (v0.12.2) that includes a few for the issue you're experiencing.
Would you mind doing a helm upgrade or helm install using --version 0.2.3 that was just released: https://github.com/wasmCloud/wadm/pkgs/container/charts%2Fwadm

Thanks for the quick fix! It works! :D

@mtaufen thanks for the confirmation, I'm glad to hear you got it working!


Create a French translation of the curl REST API guide

Based on the English version of the guide (https://github.com/devadvance/terminalcheatsheet/blob/staging/guides/curl-rest-api.md), create a French translation in https://github.com/devadvance/terminalcheatsheet/blob/staging/i18n/fr/guides/curl-rest-api.md.
It is OK to use the English images/GIFs.
Please comment on this issue before starting work so people are informed that you are working on it.

Hello @devadvance I can help you with this issue. Would you mind assigning it to me?

@ArnolFokam fantastic! I assigned it to you.


Corporate theme's glitches

I'm submitting a ...

[ ] bug report

What is the current behavior?
Using http://vuestic-admin-staging.sub.asva.by/#/admin/dashboard?theme=corporate link, makes a glitch with 'original' theme's styles

What is the expected behavior?

Using a loading screen could be a solution

Works correctly for dashboard links


Adding audio stream

🚀 Feature Request

Is it possible to add audio, either to recv_video_data or maybe add another method?
🔈 Motivation

Potentially lots of reasons e.g. baby monitor, child watching
🛰 Alternatives

📎 Additional context

Yeah, it definitely is, though we would either have to access it in a separate thread, or interleaved video and audio...  this is definitely something worth prioritizing.

After seeing the (really cool) new Wyze Bridge Docker container, I'd really love to see this get figured out so that he can implement it as well :+1:

Came here to add a request for this as well!


Service ports have changed in HDP 2.2

While testing hannibal on HDP 2.2, I noticed that hbase region server ports (60020, 60030) have changed to (60200, 60300) respectively. This breaks hannibal. Need to evaluate the changes in all the core component ports and how to handle them.

Hortonworks hasn't changed the ports in 2.2 according to their documentation
https://github.com/cbaenziger/chef-bach/blob/master/cookbooks/bcpc-hadoop/templates/default/hdp_hbase-regionserver-initd.erb#L83-L92

Fix merged. Closing this issue.

@kiiranh Again, HBase ports changed in HDP2.3 as part of HBASE-10123.


recently view product heading is overlapped in RTL

Bug report
Title
recently view product heading is overlapped in RTL
Issue Description
recently view product heading is overlapped in RTL
Preconditions
Please provide as detailed information about your environment as possible.
1. framework Version- 1.1.0

Steps to reproduce
1. step1- Convert RTL
2. step2- Check recent view product

Expected result
fix design
Actual result

fixed


Default "Test Sample" video

The Test Sample is currently a 2min video. Can we use a 45min video instead? that would contains way more events than in 2 min, so we can filter the most confident one only.

We can actually use the 45min video I uploaded in the GDrive form here and process it in the Google Colab in here to get the predictions, that we can then visualize in the "Test Sample" section of the front end website.

It would be great to use that video for the Test Sample: https://drive.google.com/file/d/1VTqrEERMsPX0fOwlL0-KX_qrLwAatNJJ/view?usp=sharing It works very well. Not sure how to update it

Updated it 2015-02-21 - 18-00 Chelsea 1 - 1 Burnley_2_017.mp4 as the test sample.


Devops: Add Codecov token to CI

After merge got this error
Error: Codecov: Failed to properly create commit: The process '/home/runner/work/_actions/codecov/codecov-action/v4/dist/codecov' failed with exit code 1

https://github.com/aiidateam/aiida-restapi/actions/runs/9188834086/job/25269509068
Not sure why this did not appear during PR. Hope this fixes it
EDIT:
I see it did not fail because of

Tokenless uploading is unsupported. However, PRs made from forks to the upstream public repos will support tokenless (e.g. contributors to OS projects do not need the upstream repo's Codecov token). For details, see our docs

https://github.com/codecov/codecov-action?tab=readme-ov-file#breaking-changes
I will create nonupstream branch to test

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

Project coverage is 93.39%. Comparing base (3f14ea2) to head (a6744e9).
Report is 8 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master      #67   +/-   ##
=======================================
  Coverage   93.39%   93.39%
=======================================
  Files          28       28
  Lines         999      999
=======================================
  Hits          933      933
  Misses         66       66

Flag
Coverage Δ

pytests
93.39% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

Hi @agoscinski , thanks for the PR!
Since @unkcpz mentioned wanting to take responsibility for the aiida-restapi in the aiida meeting, I added him as the reviewer here. For the future PR, you can also add him as the reviewer.


RT tracker dismantling plan

The document describes the steps to be taken regarding the old RT issue tracker.
Resolves https://github.com/perl6/problem-solving/issues/49.
See rendered version here.

@jnthn I had to add another commit that mentions the possibility that perl6 org will possibly be rakulang (or something similar) later.

Please leave your reviews!
@JJ @jnthn @lizmat @maettu @masak @MasterDuke17 @rba @samcv @timo @tony-o


Operator Helm Chart

Hey all,
I'm using charts-clickhouse as part of the Posthog installation.
Currently, all the dependencies are imported as sub chart except clickhouse-operator.
The method Clickhose is implementing now is to generate the manifest from this repo and add it under the Helm chart templates folder.
Is there any plan for an official Helm chart?
I saw @ganievs PR #925 is merged and I'm wondering what is the next step.
Thanks.

the next step use this script in github actions and test generated helm chart, but we have not dead line for this task
feel free test generator and generated helm chart
after it make pull request

Hey @Slach thanks for your reply.
Do you have a reference or any specific instructions to do so?
I've never contributed to an open-source repo.

https://artifacthub.io/packages/helm/altinity-clickhouse-operator/altinity-clickhouse-operator


fix(gravsearch): Prevent duplicate results

fixes #1588
a simple query in the available anything data set:
PREFIX knora-api: <http://api.knora.org/ontology/knora-api/v2#>
PREFIX anything: <http://<IP_ADDRESS>:3333/ontology/0001/anything/v2#>
CONSTRUCT {
    ?thing knora-api:isMainResource true .
    ?thing anything:hasInteger ?int .
} WHERE {
    ?thing a knora-api:Resource .
    ?thing a anything:Thing .
    {
        ?thing anything:hasRichtext ?richtext .
        ?richtext knora-api:valueAsString ?richtextLitteral
        FILTER knora-api:match(?richtextLitteral, "test")

		?thing anything:hasInteger ?int .
		?int knora-api:intValueAsInt 1
    }
    UNION
    {
        ?thing anything:hasText ?text .
        ?text knora-api:valueAsString ?textLitteral
        FILTER knora-api:match(?textLitteral, "test")

		?thing anything:hasInteger ?int .
		?int knora-api:intValueAsInt 1
    }
}
order by (?int)

gives a match count of one with the route: /v2/searchextended/count
gives a result set of two with the route: /v2/searchextended

the in and outs of this have been discussed in the above mentionned #1588
if ever it helps, here are the generated sparql requests, for the  count:
SELECT DISTINCT (COUNT(DISTINCT ?thing) AS ?count)
WHERE {
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/knora-base#Resource> .
    GRAPH <http://www.ontotext.com/explicit> {
        ?thing <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
    }
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/0001/anything#Thing> .
    {
        ?thing <http://www.knora.org/ontology/0001/anything#hasRichtext> ?richtext .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtext <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?richtext <http://www.knora.org/ontology/knora-base#valueHasString> ?richtextLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtextLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    } UNION {
        ?thing <http://www.knora.org/ontology/0001/anything#hasText> ?text .
        GRAPH <http://www.ontotext.com/explicit> {
            ?text <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?text <http://www.knora.org/ontology/knora-base#valueHasString> ?textLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?textLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    }
}
LIMIT 1

for the search:
SELECT DISTINCT ?thing (GROUP_CONCAT(DISTINCT(?text); SEPARATOR='') AS ?text__Concat) (GROUP_CONCAT(DISTINCT(?int); SEPARATOR='') AS ?int__Concat) (GROUP_CONCAT(DISTINCT(?richtext); SEPARATOR='') AS ?richtext__Concat)
WHERE {
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/knora-base#Resource> .
    GRAPH <http://www.ontotext.com/explicit> {
        ?thing <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
    }
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/0001/anything#Thing> .
    {
        ?thing <http://www.knora.org/ontology/0001/anything#hasRichtext> ?richtext .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtext <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?richtext <http://www.knora.org/ontology/knora-base#valueHasString> ?richtextLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> ?int__valueHasInteger .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtextLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    } UNION {
        ?thing <http://www.knora.org/ontology/0001/anything#hasText> ?text .
        GRAPH <http://www.ontotext.com/explicit> {
            ?text <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?text <http://www.knora.org/ontology/knora-base#valueHasString> ?textLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?textLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    }
}
GROUP BY ?thing ?int__valueHasInteger
ORDER BY ASC(?int__valueHasInteger) ASC(?thing)
LIMIT 25

so for now, this is only the test case demonstrating the bug of the issue #1588
Sorry @benjamingeer, I assign this to you as you are also the assignee on #1588

@loicjaouen What would you like to change in the generated SPARQL SELECT?
We need the GROUP_CONCAT for each variable whose values you want to receive in the API response.

there were several proposition in the issue #1588
but one way of solving the bug was to avoid the unbound variables...
so maybe we could add them to all the legs of the unions?
taking the previous example, we get:
diff version
➜  ~ diff Downloads/select_original.rq Downloads/select.rq
9a10
>         ?thing <http://www.knora.org/ontology/0001/anything#hasText> ?text .
25a27
>         ?thing <http://www.knora.org/ontology/0001/anything#hasRichtext> ?richtext .

full text:
SELECT DISTINCT ?thing (GROUP_CONCAT(DISTINCT(?text); SEPARATOR='') AS ?text__Concat) (GROUP_CONCAT(DISTINCT(?int); SEPARATOR='') AS ?int__Concat) (GROUP_CONCAT(DISTINCT(?richtext); SEPARATOR='') AS ?richtext__Concat)
WHERE {
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/knora-base#Resource> .
    GRAPH <http://www.ontotext.com/explicit> {
        ?thing <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
    }
    ?thing <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.knora.org/ontology/0001/anything#Thing> .
    {
        ?thing <http://www.knora.org/ontology/0001/anything#hasRichtext> ?richtext .
        ?thing <http://www.knora.org/ontology/0001/anything#hasText> ?text .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtext <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?richtext <http://www.knora.org/ontology/knora-base#valueHasString> ?richtextLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> ?int__valueHasInteger .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?richtextLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    } UNION {
        ?thing <http://www.knora.org/ontology/0001/anything#hasRichtext> ?richtext .
        ?thing <http://www.knora.org/ontology/0001/anything#hasText> ?text .
        GRAPH <http://www.ontotext.com/explicit> {
            ?text <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?text <http://www.knora.org/ontology/knora-base#valueHasString> ?textLitteral .
        ?thing <http://www.knora.org/ontology/0001/anything#hasInteger> ?int .
        GRAPH <http://www.ontotext.com/explicit> {
            ?int <http://www.knora.org/ontology/knora-base#isDeleted> "false"^^<http://www.w3.org/2001/XMLSchema#boolean> .
        }
        ?int <http://www.knora.org/ontology/knora-base#valueHasInteger> "1"^^<http://www.w3.org/2001/XMLSchema#integer> .
        GRAPH <http://www.ontotext.com/explicit> {
            ?textLitteral <http://www.ontotext.com/owlim/lucene#fullTextSearchIndex> "test"^^<http://www.w3.org/2001/XMLSchema#string> .
        }
    }
}
GROUP BY ?thing ?int__valueHasInteger
ORDER BY ASC(?int__valueHasInteger) ASC(?thing)
LIMIT 25

which now returns only one line.
but I have no clue of the complexity of the implementation!

it also might be a special case (what happens when there are multiple matches?)

I have another idea about how to solve this problem, will try it later today.

A slight modification to the Gravsearch query (moving the ?int pattern out of the UNION) produces the result you want:
PREFIX knora-api: <http://api.knora.org/ontology/knora-api/v2#>
PREFIX anything: <http://<IP_ADDRESS>:3333/ontology/0001/anything/v2#>

CONSTRUCT {
    ?thing knora-api:isMainResource true .
    ?thing anything:hasInteger ?int .
} WHERE {
    ?thing a knora-api:Resource .
    ?thing a anything:Thing .
    ?thing anything:hasInteger ?int .
    ?int knora-api:intValueAsInt 1 .

    {
        ?thing anything:hasRichtext ?richtext .
        ?richtext knora-api:valueAsString ?richtextLitteral
        FILTER knora-api:match(?richtextLitteral, "test")
    }
    UNION
    {
        ?thing anything:hasText ?text .
        ?text knora-api:valueAsString ?textLitteral
        FILTER knora-api:match(?textLitteral, "test")
    }
}
order by (?int)

That isn't a bug fix (which I'm still working on), but it could at least be a workaround for you at the moment.

@tobiasschweizer Currently the prequery returns IRIs of values that are in the Gravsearch WHERE clause but not in the Gravsearch CONSTRUCT clause. These values are then queried in the main query, then filtered out after permission checking. But since we've changed our policy on permission checking, I think this isn't necessary anymore. The prequery could just not return these value IRIs at all (?text and ?richtext in the examples above). Then there would be no need to filter them out of the main query results. That would probably make the whole thing more efficient, too.
As for the bug fix, I'm thinking that we can just unify duplicate results when processing the prequery result. This would be simpler than trying to analyse the graph patterns in the UNION.
What do you think?

Currently the prequery returns IRIs of values that are in the Gravsearch WHERE clause but not in the Gravsearch CONSTRUCT clause. These values are then queried in the main query, then filtered out after permission checking. But since we've changed our policy on permission checking, I think this isn't necessary anymore. The prequery could just not return these value IRIs at all (?text and ?richtext in the examples above). Then there would be no need to filter them out of the main query results. That would probably make the whole thing more efficient, too.

The thing that is no longer needed is the check for the full graph pattern (we removed that already). Before we suppressed a resource if the user did not have sufficient permissions to see any of the values or dependent resources contained in the input query's WHERE clause.
Now with that having been changed, I think there is no need to get any values or dependent resources in the main query that are absent in the input query's CONSTRUCT clause. So yes, the prequery would only need to return the IRIs present in the input query's CONSTRUCT clause. Values or dependent resources only present in the input query's WHERE clause will only be necessary in the prequery's WHERE clause but do not have to be returned in its SELECT clause simply because the user does not want to see them.
Then the main query would just request those value IRIs, remove the values the user cannot see, and return the result. There would be no need for MainQueryResultProcessor.getRequestedValuesFromResultsWithFullGraphPattern anymore, which makes the whole thing easier.

As for the bug fix, I'm thinking that we can just unify duplicate results when processing the prequery result. This would be simpler than trying to analyse the graph patterns in the UNION.

Do you intend to fix that in scala by comparing entries in a collection?

Then the main query would just request those value IRIs

OK, great, thanks. I think this work will depend on PR #1615, since I've already refactored the Gravsearch code there. Should I:

Do this work in #1615
Wait till it's merged
Make a new PR with a branch from #1615's branch

Do you intend to fix that in scala by comparing entries in a collection?

That's what I was thinking.

I would opt for 3, so you are not blocked.
However, I had some issues of resetting the branch to develop on github once the PR was merged. It messed up the files diff.

OK, I've merged #1615's branch into this one, I'll fix the bug here and change the query processing at the same time.

@tobiasschweizer I managed to change things so that the prequery doesn't get values that the user doesn't want. I wanted to remove MainQueryResultProcessor completely, but I had to keep MainQueryResultProcessor.getRequestedValuesFromResultsWithFullGraphPattern, because otherwise, in a query like this, there would be extra incoming links:
PREFIX incunabula: <http://<IP_ADDRESS>:3333/ontology/0803/incunabula/simple/v2#>
PREFIX knora-api: <http://api.knora.org/ontology/knora-api/simple/v2#>

CONSTRUCT {
    ?region knora-api:isMainResource true .
    ?region knora-api:isRegionOf ?page .
    ?page knora-api:isPartOf ?book .
    ?book incunabula:title ?title .
} WHERE {
    ?region a knora-api:Region .
    ?region knora-api:isRegionOf ?page .
    ?page a incunabula:page .
    ?page knora-api:isPartOf ?book .
    ?book a incunabula:book .
    ?book incunabula:title ?title .
    FILTER(?title = "Zeitglöcklein des Lebens und Leidens Christi")
}

It seems that we need getRequestedValuesFromResultsWithFullGraphPattern so that the links from ?page to ?book aren't interpreted as incoming links and included in each ?book. But I don't understand why, because I thought ConstructResponseUtilV2 figured out which links were outgoing and which were incoming.

@loicjaouen Do you want to try this branch and see if it does what you need?

thanks @benjamingeer ! I surely will and let you know

It seems that we need getRequestedValuesFromResultsWithFullGraphPattern so that the links from ?page to ?book aren't interpreted as incoming links and included in each ?book. But I don't understand why, because I thought ConstructResponseUtilV2 figured out which links were outgoing and which were incoming.

I think I would need some time to dive into this again. Maybe I can take some time next week, but unfortunately I don't manage to do this today.

I think I would need some time to dive into this again. Maybe I can take some time next week, but unfortunately I don't manage to do this today.

Next week is fine.

@loicjaouen Do you want to try this branch and see if it does what you need?

sure, as the test case passes, local run looks good too and the match count and result list show the same number items: thanks @benjamingeer

Thank you @loicjaouen !

I think I would need some time to dive into this again. Maybe I can take some time next week, but unfortunately I don't manage to do this today.

Next week is fine.

I will look at this in the afternoon, I didn't forget about it ;-)

@tobiasschweizer I managed to change things so that the prequery doesn't get values that the user doesn't want. I wanted to remove MainQueryResultProcessor completely, but I had to keep MainQueryResultProcessor.getRequestedValuesFromResultsWithFullGraphPattern, because otherwise, in a query like this, there would be extra incoming links:
PREFIX incunabula: <http://<IP_ADDRESS>:3333/ontology/0803/incunabula/simple/v2#>
PREFIX knora-api: <http://api.knora.org/ontology/knora-api/simple/v2#>

CONSTRUCT {
    ?region knora-api:isMainResource true .
    ?region knora-api:isRegionOf ?page .
    ?page knora-api:isPartOf ?book .
    ?book incunabula:title ?title .
} WHERE {
    ?region a knora-api:Region .
    ?region knora-api:isRegionOf ?page .
    ?page a incunabula:page .
    ?page knora-api:isPartOf ?book .
    ?book a incunabula:book .
    ?book incunabula:title ?title .
    FILTER(?title = "Zeitglöcklein des Lebens und Leidens Christi")
}

It seems that we need getRequestedValuesFromResultsWithFullGraphPattern so that the links from ?page to ?book aren't interpreted as incoming links and included in each ?book. But I don't understand why, because I thought ConstructResponseUtilV2 figured out which links were outgoing and which were incoming.

I remember that in getRequestedValuesFromResultsWithFullGraphPattern I had to begin with the main resource and then traverse the graph from there:
https://github.com/dasch-swiss/knora-api/blob/c41bce78750f2a565b5d994763327c78bb8c5125/webapi/src/main/scala/org/knora/webapi/responders/v2/search/MainQueryResultProcessor.scala#L276-L283
Since our response format is hierarchical, you have to start with the main resource and see how everything relates to this.

I can confirm that omitting MainQueryResultProcessor.getRequestedValuesFromResultsWithFullGraphPattern before returning the Gravsearch results leads to the presence of knora-api:hasIncomingLinkValue.
This is the simplified JSON for the first resource:
{
  "@graph": [
    {
      "@id": "http://rdfh.ch/0803/2e0252679a35",
      "@type": "knora-api:Region",
      "knora-api:isRegionOfValue": {
        "@id": "http://rdfh.ch/0803/2e0252679a35/values/498d07ec-dddb-4051-bfd1-62626f282fc5",
        "@type": "knora-api:LinkValue",
        "knora-api:linkValueHasTarget": {
          "@id": "http://rdfh.ch/0803/3f89a693a501",
          "@type": "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#page",
          "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#partOfValue": {
            "@id": "http://rdfh.ch/0803/3f89a693a501/values/133ea4ce-b9a5-4c66-a3ab-38be07ccd201",
            "@type": "knora-api:LinkValue",
            "knora-api:linkValueHasTarget": {
              "@id": "http://rdfh.ch/0803/ff17e5ef9601",
              "@type": "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#book",
              "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#title": {
                "@id": "http://rdfh.ch/0803/ff17e5ef9601/values/d9a522845006",
                "@type": "knora-api:TextValue",
                "knora-api:valueAsString": "Zeitglöcklein des Lebens und Leidens Christi",
              },
              "knora-api:hasIncomingLinkValue": [
                {
                  "@id": "http://rdfh.ch/0803/6240ce899801/values/e29da7bf-bfa5-4842-a4fc-e455c72dbb0a",
                  "@type": "knora-api:LinkValue",
                  "knora-api:linkValueHasSource": {
                    "@id": "http://rdfh.ch/0803/6240ce899801",
                    "@type": "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#page",
                    "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#partOfValue": {
                      "@id": "http://rdfh.ch/0803/6240ce899801/values/e29da7bf-bfa5-4842-a4fc-e455c72dbb0a",
                      "@type": "knora-api:LinkValue",
                      "knora-api:linkValueHasTargetIri": {
                        "@id": "http://rdfh.ch/0803/ff17e5ef9601"
                      }
                    },
                    "rdfs:label": "a3v"
                  }
                },
                {
                  "@id": "http://rdfh.ch/0803/c568b7239a01/values/46951e64-8f06-47fb-a07a-c8b19c146447",
                  "@type": "knora-api:LinkValue",
                  "knora-api:linkValueHasSource": {
                    "@id": "http://rdfh.ch/0803/c568b7239a01",
                    "@type": "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#page",
                    "http://<IP_ADDRESS>:3333/ontology/0803/incunabula/v2#partOfValue": {
                      "@id": "http://rdfh.ch/0803/c568b7239a01/values/46951e64-8f06-47fb-a07a-c8b19c146447",
                      "@type": "knora-api:LinkValue",
                      "knora-api:linkValueHasTargetIri": {
                        "@id": "http://rdfh.ch/0803/ff17e5ef9601"
                      }
                    },
                    "rdfs:label": "a7r"
                  }
                }
              ],
              "rdfs:label": "Zeitglöcklein des Lebens und Leidens Christi"
            }
          },
          "rdfs:label": "d8r"
        }
      },
      "rdfs:label": "DEMOX"
    }
  ],
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "knora-api": "http://api.knora.org/ontology/knora-api/v2#"
  }
}

I think this means that a region points to a page that points to a book which is referred to by the page it's pointed to.
Still trying to figure out why there are two incoming links ...

After talking with @tobiasschweizer, we decided to handle further refactoring in a separate PR (see issue #1632).

@benjamingeer I will review this PR today in the afternoon.

Doing this review will also help to understand our own paper :-)

Here's the diff you asked for:
prequery.diff.zip

I would appreciate if I could talk to you on video chat some time next week to make sure I understand the changes introduced by this PR.

No problem. I'll take a couple of days of holiday next week. How about we talk on Friday 16 April?

I would appreciate if I could talk to you on video chat some time next week to make sure I understand the changes introduced by this PR.

No problem. I'll take a couple of days of holiday next week. How about we talk on Friday 16 April?

Works for me. I would prefer to have an online meeting before 12. Would 10 o'clock work for you?

Would 10 o'clock work for you?

Perfect!

Would 10 o'clock work for you?

Perfect!

The appointment you created is a Thursday, but that's also ok for me.

Thanks for the review!


easyconfig that is installed doesn't seem to be the correct one?

ynam --quickstart
Traceback (most recent call last):
  File "/home/pi/ynam/bin/ynam", line 5, in <module>
    from ynam.main import main
  File "/home/pi/ynam/lib/python3.9/site-packages/ynam/main.py", line 5, in <module>
    from .mint_api import dispenseMints
  File "/home/pi/ynam/lib/python3.9/site-packages/ynam/mint_api.py", line 2, in <module>
    from .utils import recent
  File "/home/pi/ynam/lib/python3.9/site-packages/ynam/utils.py", line 2, in <module>
    from easyConfig.main import Configer
ModuleNotFoundError: No module named 'easyConfig'

Pull again from pypi and give it a try.

Hmm. I'll take another look at this.

Awesome! Seems the arg flow in main is maybe not picking up the quickstart logic.

Everything seems to be working now. I tested it with and without the files in place, and both were able to log in and import transactions.
There's also an update to snowskeleton/mintapi that you'll need to pick up.

Thanks for looking into this….I updated and re-ran. Entered mint username, mint password, skipped mfa, then entered ynab api key, and get this:
Default to only option
Traceback (most recent call last):
  File "/home/pi/.local/bin/ynam", line 8, in <module>
    sys.exit(main())
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/main.py", line 18, in main
    handleArgs()
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/main.py", line 37, in handleArgs
    run()
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/quickstart.py", line 49, in run
    stash.update('budget_id', usersChoice(ynapi.getBudgets())['id'])
TypeError: 'NoneType' object is not subscriptable
pi@raspberrypi:~ $

I should add, there wasn’t a prompt for Budget Id.

The way it chooses a budget ID is by querying YNAB for what budgets you have available. Do you have any budgets set up in YNAB yet? If you don't have any, it might have returned 0 and I was expecting more than 0.

I do actually - have one named “My Budget”. I tried renaming it to just one word, no spaces, but same error.

I would double check your API key then (it's stored in ~/.ynamrc), and maybe generate a new one to see if that works.

So, I created a new one and the error goes away and it shows me a choice of 2 budgets  now. It doesn’t seem to like you just having the 1 default budget? Anyhow it seems to be working now I think. Thanks for your help and for creating this! I’m sure it’ll be a big time-saver until Apple/Goldman do something useful about it.

Still having more issues when running ynam to get txns, I’ll post error below when at laptop.

Here goes…fwiw, I’m running the pi in headless mode;  not using MFA with Mint.
Enter 0–7: 7
selected: Apple Card
pi@raspberrypi:~ $ ynam --days 1
Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/mint_api.py", line 41, in key
    with open(self.keypath, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/.mintapi/api_key'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/.local/bin/ynam", line 8, in <module>
    sys.exit(main())
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/main.py", line 23, in main
    mints = mapi.dispenseMints()
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/mint_api.py", line 17, in dispenseMints
    key = self.key()
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/mint_api.py", line 44, in key
    self.updateAuth()
  File "/home/pi/.local/lib/python3.9/site-packages/ynam/mint_api.py", line 49, in updateAuth
    bowser = self.browser(
  File "/home/pi/.local/lib/python3.9/site-packages/mintapi/browser.py", line 55, in __init__
    self.login_and_get_token(
  File "/home/pi/.local/lib/python3.9/site-packages/mintapi/browser.py", line 110, in login_and_get_token
    self.driver = driver or _create_web_driver_at_mint_com(
  File "/home/pi/.local/lib/python3.9/site-packages/mintapi/signIn.py", line 313, in _create_web_driver_at_mint_com
    driver = Chrome(
  File "/usr/local/lib/python3.9/dist-packages/seleniumrequests/request.py", line 144, in __init__
    super(RequestsSessionMixin, self).__init__(*args, **kwargs)
File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/chrome/webdriver.py", line 69, in __init__
    super().__init__(DesiredCapabilities.CHROME['browserName'], "goog",
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/chromium/webdriver.py", line 89, in __init__
    self.service.start()
  File "/usr/local/lib/python3.9/dist-packages/selenium/webdriver/common/service.py", line 71, in start
    self.process = subprocess.Popen(cmd, env=self.env,
  File "/usr/lib/python3.9/subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.9/subprocess.py", line 1823, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/pi/chromedriver'
pi@raspberrypi:~ $

The last line OSError: [Errno 8] Exec format error: '/home/pi/chromedriver' seems to indicate there's a problem with your chromium installation. Do you have the most recent version of chrome with apt install chromium-browser chromium-chromedriver, or whatever the pi equivalent is?

Figures. I assumed that was for —graphics only, obviously assumed wrong. Will check.

I can see how you'd make that assumption.
For future reference, Selenium is used for the first login every hour or so. If we've logged in recently with Selenium and saved the cookies and api_key, then we can send REST calls without using Selenium.
As ynam is currently configured, it will always try the REST call first. If that fails (such as with FileNotFoundError: [Errno 2] No such file or directory: '/home/pi/.mintapi/api_key', because you haven't logged in yet), then ynam tries to take the browser through the login process to get new cookies and api_key.

Got it. Thanks for the explanation and your efforts to build this!

I'm glad it's working! I'll go ahead and close this issue now, but feel free to open if you find anything else.

So I do actually have the chromium packages installed, but running ynam seems to install a rogue chromedriver in the home dir not for this arch, hence the exec format error.  Opened as a separate issue, so no need to reopen this.


Revert "Temporary disable non required deletions"

This reverts commit 359e048a5ce92cac2e9fff901fda1293e381deac.

Task linked: QF-2431 Reenable versions cleanup by reverting the commit that temporarily disabled it


Add env vars for request sizes

Description
This PR includes the following proposed change(s):
Add env vars for request sizes
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Refactoring / Documentation

does this need an update to the .env.template file? or readme?
No shouldn't since they are defaulted. This is primarily for openshift so we tune it there if needed.


Setting up clean notebook with generative modeling to use tng100 dataset

Let's use this issue to talk about what we want to see in the first "clean" notebook.

This is one the last notebooks that I had I think: https://github.com/EiffL/sfh-inference-hackathon/blob/main/notebooks/PixelCNN_experiments_EiffL.ipynb
Did you guys have other notebooks? It'd be good to list them all to see what we had and combine into one baseline model and notebook, from which we can then build several variants.

To condition with images we would need to replace sed_net with network using Conv2D, maybe tf.keras.applications.resnet50 could be a good candidate, as well as implement some preprocessing to the images?
Is there anything beyond this to be done?


Managed unit tests fail with Newtonsoft.Json 6.0

There are a number of tests that fail due to serialization issues with Newtonsoft.Json v6. These issues do not appear with V5.
In addition to correcting the tests, the NuGet package of the SDK should be updated to exclude version 6 from the dependencies until the issues can be resolved.

This was fixed ages ago and just never closed.


Fixes to Dockerfile for OracleDatabase RAC

These two fixes define missing environment variables which prevented image from building.

Thanks. Yes, these env variables are required.

@psaini79 as the code owner, you need to approve this pull request before I can merge it.

Approved


BT AVRCP

Hello!
Is AVRCP configured in your project?
Can you control volume by means of buttons on your speaker or whatever you have?

My device using Lingo 0x04 Extended Interface. Seems that some speaker using Lingo 0x02 Simple Remote not implemented in the code.


New tests for the Pangram problem

We have found that the Pangram tests miss edge cases allowing students to pass all of the current tests with an incorrect implementation.
To cover these cases we have added new tests to the Pangram test set. Those new tests were added in this commit
Since this track implements Pangram, please take a look at the new pangram.json file and see if your track should update its tests.
If you do need to update your tests, please refer to this issue in your PR. That helps us see which tracks still need to update their tests.
If your track is already up to date, go ahead and close this issue.
More details on this change are available in x-common issue 222.
Thank you for your help!

As of today, the Java track is the ONLY track which hasn't implemented this adjustment.  That makes this high priority among the exercise-maintenance type issues.

@jtigger I'd be happy to pick this up if you're not already working on it.  LMK.

I am not.  Fire away!

When I actively start working on an issue, I've begun moving those cards into the "Current" column in the Maintainer project.

Fixed by: https://github.com/exercism/xjava/pull/146
Issue can be closed.


Overdrag triggering constantly when middle mousebutton pressed to the side

When holding down the middle mouse button in one direction this unpleasant behavior occurs:

The desired behaviour would be for the content to stay in the slightly over-dragged position as long as the button is pressed, instead of snapping back.

Do you mean touch pad gesture? If so, the scrolling gesture is just to emulate wheel buttons event, plus a factor according to gesture movement. It might not be possible to achieve what you said "stay in the slightly over-dragged position as long as the button is pressed, instead of snapping back.", because it is the same case as keeping scrolling to go out of boundary using mouse wheel button. This issue is probably similar to #40 . There is no way in Godot to recognize whether input event mouse wheel buttons or touch pad gestures.
I think multiplying a factor might alleviate the problem, although it still exists.
MOUSE_BUTTON_WHEEL_XXXX:
	if event.pressed:
		last_scroll_type = SCROLL_TYPE.WHEEL
		if event.shift_pressed or not should_scroll_vertical():
			if should_scroll_horizontal():
				# velocity.x -= speed
				velocity.x -= speed * event.factor
		else:
			if should_scroll_vertical():
				# velocity.y -= speed
				velocity.y -= speed  * event.factor
		scroll_damper = wheel_scroll_damper
		kill_scroll_to_tweens()

Do you mean touch pad gesture? If so, the scrolling gesture is just to emulate wheel buttons event, plus a factor according to gesture movement. It is not very likely to achieve what you said "stay in the slightly over-dragged position as long as the button is pressed, instead of snapping back.", as it is the same case as keeping scrolling to go out of boundary using mouse wheel button. This issue is probably similar to https://github.com/SpyrexDE/SmoothScroll/issues/40 . There is no way in Godot to recognize whether input event mouse wheel buttons or touch pad gestures.

I was already aware of that but what I described is present with just a real mouse and pressing the middle mouse button to the left or right. I think that's something that could be checked easily due to being a physical button emitting the same signals as the for example left mouse button.

Ahh, I see, mac. Sadly I haven't got the chance to use it. Try to print input event, I guess it sends scroll button event, which suits the case I mention above.

The gif was recorded on Windows 10.

That's weird. Pressing middle mouse button does not do anything when I test it on my device.
https://github.com/SpyrexDE/SmoothScroll/assets/80692930/62d96ef6-4f36-4631-be96-d0a4047c118a
I wonder what I misunderstand.

Not every mouse is capable of this but this image shows what I mean:

Could you record a video of printing input event, it might help out to figure out the problem.

MOUSE_BUTTON_WHEEL_LEFT prints
InputEventMouseButton: button_index=6, mods=none, pressed=false, canceled=false, position=((734, 327)), button_mask=0, double_click=false

MOUSE_BUTTON_WHEEL_RIGHT prints
InputEventMouseButton: button_index=7, mods=none, pressed=true, canceled=false, position=((734, 327)), button_mask=64, double_click=false

I think my guess is correct. The special buttons on your mouse send wheel button left/right events frequently to emulate horizontal scrolling. It is the same as you scroll wheel buttons vertically by multiple times. That might not be a bug, it is how it work.

The difference between those two mouse buttons is that for every wheel up/down event you have to actuate the mouse wheel. The wheel left/right controls for horizontal scrolling should behave differently because in most programs you just keep the wheel pressed in one direction to scroll at a constant speed and it stops when it hits the content end.
In the following demo, I only use my middle wheel button to scroll. While this does not have any over-drag functionality, I suppose we could implement that too by using the buttons' pressed and released events instead of just the pressed signal that is being fired frequently by Godot when holding down a button.
https://github.com/SpyrexDE/SmoothScroll/assets/57133330/c64ceeae-782f-45c5-abba-ad73bedfa16f
Demo from this codepen: https://codepen.io/nadeen/pen/ZEQYbeL

I suppose we could implement that too by using the buttons' pressed and released events.

I 'm quite doubtful if we could know when horizontal scroll button is pressed or released, as you can see:

Godot send both pressed and not pressed event at the same time.
I guess you want velocity.x = speed rather than velocity.x += speed? I 'm curious if there are some mouses that can scroll in any direction.

Would that change might break these mouses' experience?

I think such mice are quite uncommon and shouldn't be minded until someone requests it.

I 'm quite doubtful if we could know when horizontal scroll button is pressed or released, as you can see
Godot send both pressed and not pressed event at the same time.

I think that's a bug in Godot, or at least a missing feature.
Input.is_mouse_button_pressed(MOUSE_BUTTON_LEFT) works perfectly fine while
Input.is_mouse_button_pressed(MOUSE_BUTTON_WHEEL_LEFT) is never returning true.
I'm probably gonna open a new issue in the Godot repository for that.


meta.xml invalid xml

Please see http://tools.gbif.org/dwca-validator/ and http://tools.gbif.org/dwca-reports/231-4079204705948353109.html . Same pattern was observed in the neon archive.
I'll try to add some meaningful error messages in jenkins logs.

Hmm... well, there was another odd quotation mark (apparently I introduce them. The fixed ones were still fixed; this one was for a new column). I fixed that, but it's still failing- now upon "unpack"
http://tools.gbif.org/dwca-validator/ now says:
Archive could not be read
org.gbif.dwca.io.UnkownDelimitersException: Unable to detect field delimiter org.gbif.io.CSVReaderFactory.buildArchiveFile(CSVReaderFactory.java:129)
org.gbif.io.CSVReaderFactory.build(CSVReaderFactory.java:46)
org.gbif.dwca.io.ArchiveFactory.readFileHeaders(ArchiveFactory.java:396)
org.gbif.dwca.io.ArchiveFactory.openArchiveDataFile(ArchiveFactory.java:301)
org.gbif.dwca.io.ArchiveFactory.openArchive(ArchiveFactory.java:320)
org.gbif.dwca.action.ValidateAction.validateArchive(ValidateAction.java:902)
No further reference to line 3, column 91, etc.
I thought I delimited with tabs, and my mere mortal skills cannot detect the difference between these characters and the ones in the NEON archive, which is now working.
It's a shame about the character sensitivity. Not sure who invented different kinds of tabs and quotation marks. Those of us who write for human consumption can only detect one of each in our keyboards, and they only make life difficult for writers for machine consumption...

Bummer! If you attached the current meta.xml, I'll have a look and  suggest a "fixed" version.

oops, darn. That was extra clumsy of me. Fetching the file from my dropbox I had given it something odd rather than a zip file (a textclipping? Never heard of them.) Anyway, I zipped the files afresh, they are here: https://www.dropbox.com/s/1bt80109923z89l/reeflifesurvey.zip?dl=1
and they're back to the original error. I reopened the archive to inspect the meta, and the quotes do all seem to be fixed now. The changes I made from NEON (my template) are in the new Family term (field index=10) and a different made up URI in field index=0

you had a malformed meta.xml . . . I fixed the malformedness it by adding fieldsEnclosedBy="" .
See attached meta.xml.txt and rename to meta.xml (github doesn't like xml).
meta.xml.txt
better?

Arg! Better but failing on dwc2parquet. Validator says success, but no metadata description found, if that matters?
http://tools.gbif.org/dwca-reports/231-7851024029041127190.html
https://www.dropbox.com/s/oa7cji06c2stcrf/reeflifesurvey.zip?dl=1

Our friendly validator said The data file contains 422,946 rows with 1 columns. which made me wonder . . . and found that the value of the delimiter attribute in meta.xml /t should be ```\t```` .
xml is fun right?

I'm at a loss. Latest fixes are in, validating, failing at unpack.
http://tools.gbif.org/dwca-reports/231-6471616325711396872.html
https://www.dropbox.com/s/faxqx2bqf1up1sg/reeflifesurvey.zip?dl=1

@jhammock the error you saw was not related to the reeflifesurvey archive. The weather looks pretty good today at http://archive.effechecka.org :


Add a WYSIWYG text editor.

A text editor is important. There are so many editors in vue but all are heavy or lightweights are not so efficient.
Text editor maybe content all like GitHub text editor and image may convert base64/upload option and importantly a table.
I see some editor like Vue2Editor but there is no support for the table.

I discussed about it with @astagi and probably we are going to develop it (low priority at the moment).
We are not sure if add it as "pro" components anyway.

I agree with @rubjo and the linked project looks really good 😉


Changes in README.md file of hummingbird

Replace the images made by hands with the digital ones.
Hope you like it!

Thanks for the thought, but the images we had weren't made by hand, they were custom styled that way and we picked those images because we really liked the artwork.

Thanks for the thought, but the images we had weren't made by hand, they were custom styled that way and we picked those images because we really liked the artwork.

Okay @ksaur
Sorry for changing the images.