Getting started

Hey!
I've compiled it using
cmake .
make

Then tried to run fcc --help and it ended up with the following:
File examples/foam/sdl.fc has no roots, skipping
No output found for examples/stars/main.fc
Adding info from examples/stars/main.fc
Adding info from examples/stars/sdl.fc
Building examples/stars/main.fc...
examples/stars/main.fc:62:25: error: 'renderer' was not declared in this scope
   62 | SDL::SDL_RenderFillRect(renderer, rect(x, (Height - height) + y, current.width, height));
      |                         ^~~~~~~~~

Unfortunately I have no Idea what is the right behavior and where to start...
What I am doing wrong?

I think not all examples compile, because of changes to the compiler. I will have a look at updating them ASAP!
Thanks for reporting.

I now realize that you attempted to run fcc from its build directory. So, the thing is, fcc does not yet have any --help parameter.
What happens when running fcc, is that it will look for .fc files, recursively, starting from the current directory. All .fc files with "roots" (exported functions, exposed using C ABI) will be built. In addition, it will try to build a dependency tree based on the use statements, starting from the root .fc files.
I think some kind of help section in the project's README.md about how to get started with a new project would be a nice addition. I just haven't gotten around to doing it, since there are still some bugs remaining that keeps the language from being viable for general use.
If you have any questions though, feel free to ask me, and I will try to explain. Your questions could even help shape the contents of the README.md :)

Actually - my recommendation for you, if you want to discover the language, would be to have a look at examples/ttt (a veeeery rudimentary tic-tac-toe game). Go into the folder and run make. You should hopefully find yourself with a binary that can be executed.
The code is fairly limited in scope, and should be useful for getting a feeling of the language :)


BUG: Crash when opening or closing a window past Unity 2021.3.2f

Tried a fresh project same thing. Not sure why my editor crashes. Nothing to do with this though.


Changing topology and custom clusters in integration tests

Problem
Currently all our integration tests are executed on the same 3-node cluster.
That means we are not testing topology changes at all.
Side note: I think that we are also not adequately testing schema changes - there are 5 occurences of ALTER statement and 6 occurences of DROP statement in tests. We should add more integration tests for this too.
There is an issue for using SCT to test Rust Driver but it doesn't fully address the problem:

Any SCT run takes a loot of time and resources and is not easy to set up. That means it can't be used locally by developers - tests to run locally must finish quickly and be easy to run.
It uses cql-stress: it won't t thoroughly test drivers APIs correctness like in-repo tests can.
Being out of repo means it is harder to edit / fix: you need to makes changes here, in cql stress and in sct. That's a lot of friction.

For those reasons I mostly view SCT tests as benchmarks (which is something we severely miss!) and as a guard against some regressions.
What I propose is to have in-repo topology tests, using ccm for cluster management.
As a prerequisite for that we should finish moving tests that need Scylla from unit tests to integration tests. This step may require exposing more private stuff in test_utils module. To avoid having it compiled in user code (and to prevent users from accidentally using it) we should move it behind a feature - or even better, a cfg, like Tokio does: https://docs.rs/tokio/latest/tokio/#unstable-features
Naive approach
The most obvious solution is to have some "Cluster Manager". Test would call this manager with a configuration of a cluster that it needs, and the manager would set up the cluster and return it.
There are significant issues with this approach which in my opinion disqualify it.

The cluster setup time would be included in the test time - which is a problem for timeouts.
There is no good way to reuse clusters because the manager has no knowledge about what clusters will be needed by test that were not yet run.

For the second issue, the best that the manager could do is to cache clusters. If a test finished, don't destroy the cluster until some other test needs different cluster and we don't have spare capacity to keep both.
If some test requests the cluster, and the requested configuration fits the cached cluster, then we can reuse it.
This heuristic is obviously bad, and fails even in simple cases, increasing the amount of cluster setups required. This in turn increases the runtime of the tests. We need to keep the tests quick to not discourage contributors from running them locally. Currently it takes ~3 minutes on my machine to run all the tests, so I have no problem doing that even for each commit. Python driver is the opposite. Running its tests is hard and takes, IIRC, over 1 hour (!) on my machine. It hinders productivity significantly.
Note: afaik rstest, a crate providing fixture capabilities to Rust test, could only help us implement this naive approach, and is thus insufficient here.
Better approach
What we need is to separate a cluster configuration required by test from the test function. Then, the test runner will know in advance all the required configurations and will be able to schedule cluster setups more efficiently, minimizing the amount of them.
The exact algorithm for determining best order of tests and deciding when to run each of them  is purposefully not discussed here. We can start with something simple and improve later if needed.
How to do this? We will need custom test harness utilizing inventory crate. Here's a nice article about writing such harness: https://www.infinyon.com/blog/2021/04/rust-custom-test-harness/ . Test would describe the config they need, harness would then collect those and decide on the execution order. As a nice addition, test could also describe the keyspaces / tables it needs. Separating this information would significantly de-clutter test code (currently most of it is ks / table / session setups).
How would the test describe the cluster / ks etc? The specifics of that are not really important here, but I see two potential options, both using a proc macro.

Desribing them inline. It would look a bit like this:

#[scylla::integration_test(cluster=Cluster(nodes=3, tablets=off, exclusive=true), ks=( parameters for created keyspace), table=(parameters for created table), session = (parameters for created session))]
test_fn(cluster, session, ks_name, table_name) {

}

Using a function for this (which is very similar to how typical fixtures work)

fn cluster_4_nodes() -> ClusterConfig {
	return ClusterConfig {
		tablets: false,
		nodes: 3
		....
	}
}

fn keyspace_rf_3() -> KeyspaceConfig {
	return KeyspaceConfig {
		...
	}
}

#[scylla::integration_test(cluster=cluster_4_nodes, ks=keyspace_rf_3, table=..., session = ...)]
test_fn(cluster, session, ks_name, table_name) {

}

First approach alone would probably quickly become ugly because of long macro incantations.
Second approach is imo better, but even better would be having both - it would allow a one-off configs without separate functions while still providing cleanliness of the second solution where needed.
Config items
How should a cluster / ks / session configuration look?

It should allow "don't care" values. Many tests don't really care what about some parameters of the cluster / keyspace (for example, they don't care if tablets are enabled, what is the cluster size, or what is RF of the keyspace). This should be possible to describe in the config, to allow re-using more resources. Apart from "don't care" we could allow ranges (e.g. "cluster with at least 3 nodes").
All the important properties must be present (like amount of nodes/DCs or tablets enablement for clusters, or replication config for keyspace).
For clusters, "exclusive" and "destructible" properties should be present. Former tells if test can use the cluster concurrently with other tests, latter tells if the cluster will be usable after the test finishes.
Using our proxy should also be possible.

Relevant links
https://www.infinyon.com/blog/2021/04/rust-custom-test-harness/
https://crates.io/crates/inventory
https://github.com/infinyon/fluvio/tree/master/crates/fluvio-test/src
https://github.com/infinyon/fluvio/blob/6635b8aae20df796604d60d2706289984bcc8da4/tests/runner/src/fluvio-integration-derive/src/lib.rs

@dkropachev I updated the description.


⚠ Mobitopup has degraded performance

In 85abb3e, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3530 ms

Resolved: Mobitopup performance has improved in 65622b5.


Getting namespaces without customFields

How can one go about getting namespaces without using customFields. Currently, I'm having to hard code the namespace fields as follow:
const parser = new Parser({
    customFields: {
    item: [
      ['event:parkids', 'event:parkids'],
      ['event:parknames', 'event:parknames'],
      ['event:startdate', 'event:startdate'],
      ['event:enddate', 'event:enddate'],
      ['event:starttime', 'event:starttime'],
      ['event:endtime', 'event:endtime'],
      ['event:contact_phone', 'event:contanct_phone'],
      ['event:location', 'event:location'],
      ['event:categories', 'event:categories'],
      ['event:coordinates', 'event:coordinates'],
      ['event:image', 'event:image'],
    ]
  }
});

This currently works for the following page:
{ title: 'Farmhouse Family Day',
  link:
   'http://www.nycgovparks.org/events/2019/10/19/farmhouse-family-day',
  pubDate: 'Fri, 10 Aug 2018 10:14:53 EDT',
  'event:parkids': 'B376',
  'event:parknames': 'Fidler-Wyckoff House Park',
  'event:startdate': '2019-10-19',
  'event:enddate': '2019-10-19',
  'event:starttime': '11:00 am',
  'event:endtime': '3:00 pm',
  'event:contanct_phone': '(718) 629-5400',
  'event:location': 'Wyckoff Farmhouse Museum (in Fidler-Wyckoff House Park)',
  'event:categories':
   'Arts & Crafts | Education | Nature | Art | History | Best for Kids | Tours | My Summer House NYC',
  'event:coordinates': '40.64431762695312500, -73.92077636718750000',
  'event:image': '',
  content:
   '
Date: October 19, 2019

Drop in every third Saturday of the month between 11:00 a.m. and 3:00 p.m. to explore New York City’s oldest house together. Arrive by 1:00 p.m. for a unique hands-on making activity each month.
\n\n
Seasonal activities inside the historic house and around the gardens include scavenger hunts, artifact investigation, gardening, self-guided exploration, and hands-on activities.
\n\n
Family Day is open to everyone. Activities are designed for families with kids ages 4 to 10. Children must be accompanied by an adult. No reservation required.

Start time: 11:00 am

End time: 3:00 pm

Contact phone:<PHONE_NUMBER>

Location: Wyckoff Farmhouse Museum (in Fidler-Wyckoff House Park)
',

But what about if theres multiple or if there are different RSS feeds with different namespaces, I wouldn't want to hard code those fields. How can one go about capturing the namespaces from the XML?

Is the desire here to grab every field within the event namespace? You could create a new option like customNamespaces that would achieve this, happy to accept a PR there.
If you're parsing feeds with lots of custom fields like parknames etc, which aren't really part of RSS, you might also want to consider just treating it as XML and using xml2js directly.

Closing due to inactivity


Fixed chapters 0-4

Hello,
During this bunch of commits, I have made these changes:

Minor changes in notebooks of chapters 0-2 (text direction, fonts, boxes,  etc.).
Formatted the notebooks of chapters 3 and 4 except 3.3 (equations, text direction, fonts, codes, etc.).
Fixed and rewrote ambiguous content of chapters 3 and 4 except 3.3.
Added LICENSE and README.md.

Note: I added LICENSE and README.md based on your other repositories with the least change. Please review and modify them as necessary.

Salam
Sounds great, I've invited you as a collaborator.
On Fri, Jul 21, 2023 at 2:00 AM Kazem Forghani @.***>
wrote:

Hello,
During this bunch of commits, I have made these changes:

Minor changes in notebooks of chapters 0-2 (text direction, fonts,
boxes, etc.).
Formatted the notebooks of chapters 3 and 4 except 3.3 (equations,
text direction, fonts, codes, etc.).
Fixed and rewrote ambiguous content of chapters 3 and 4 except 3.3.
Added LICENSE and README.md.

Note: I added LICENSE and README.md based on your other repositories
with the least change. Please review and modify them as necessary.
You can view, comment on, or merge this pull request online at:
https://github.com/asharifiz/DS_Jupyter/pull/3
Commit Summary

ca75c53
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/ca75c53ec93451ad8e5b885228dca20319ac61e5
Recleaned chapters 0-2
8d73faf
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/8d73fafc541c71b9927df211c1bb27405c1e98c7
Cleaned section 3.1
58a24d4
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/58a24d4166574a45573fc388faeb6852961ebb6e
Minor changes in section 3.1
d0353d3
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/d0353d344fd437a6519d2160be15b0d605781a2e
Fixed section 3.2
f34bdb7
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/f34bdb75b96d05fc724115bf3b5d3c6860fe4834
Added LICENSE and README.md
6b33c16
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/6b33c164025b6fa854f70ff49c30c4a008ace535
Fixed chapter 4
e261b51
https://github.com/asharifiz/DS_Jupyter/pull/3/commits/e261b519d71b90b4a402ced33faf91dc1c6c5715
Recleaned chapters 1-4

File Changes
(11 files https://github.com/asharifiz/DS_Jupyter/pull/3/files)

M 00_Course_Introduction/00_Course_Introduction.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-e3b0db94ed262fd213c7e08f84d290ad3ca71c6d17a4d9f82fdbcf70bb5d5941
(2)
M 01_Python/01_Python.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-cec5cb83a724e8e894e054859fd664f219d4adf0caaf148d89c9ad61c62a225f
(4)
M
02_Sorting/02_01_Sorting_Algorithms/02_01_Sorting_Algorithms.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-f02b50e5731f9c3c12328264e3283f3b0961acd372a037ae2d5c2f34e8b23c18
(60)
M
02_Sorting/02_02_Comparison_of_Sorting_Algorithms/02_02_Comparison_of_Sorting_Algorithms.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-94bce8446df21a7cf58d31c0c704c20e76fe8b379953659de65b349e689e2784
(45)
M
03_Complexity_Analysis_of_Algorithms/03_01_Basics_and_Defenition_of_Algorithms_Complexity/03_01_Basics_and_Defenition_of_Algorithms_Complexity.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-3ee3193907a017a31e1f00680003e5d1db6e3f0f58387af33a3a3b60c84bf7de
(654)
D
03_Complexity_Analysis_of_Algorithms/03_01_Basics_and_Defenition_of_Algorithms_Complexity/Untitled.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-0d17e10a5563105e15adaeedf10a65de3496ddbd167db5a7b853c54c74cfb34e
(6)
M
03_Complexity_Analysis_of_Algorithms/03_02_Complexity_of_Recursive_Algorithms/03_02_Complexity_of_Recursive_Algorithms.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-ee3f1f595b5eab93cb9d10c04203c3611a744db13f14dc7f019e1b102f538414
(307)
M 04_Basic_Data_Structures/04_Basic_Data_Structures.ipynb
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-05df220679a7d54d887a58bb5f464aff7900f87337dd562b39fbc280a3192533
(364)
R 04_Basic_Data_Structures/src/images/deque.gif
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-4e2b6387416e7bb80bf36021b0776219990169703462e3dfad44c27ac116554c
(0)
A LICENSE
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-c693279643b8cd5d248172d9c22cb7cf4ed163a3c98c8a3f69c2717edd3eacb7
(121)
A README.md
https://github.com/asharifiz/DS_Jupyter/pull/3/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5
(11)

Patch Links:

https://github.com/asharifiz/DS_Jupyter/pull/3.patch
https://github.com/asharifiz/DS_Jupyter/pull/3.diff

—
Reply to this email directly, view it on GitHub
https://github.com/asharifiz/DS_Jupyter/pull/3, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPFU3JIEYWZXEM55Q55QOLXRGWPHANCNFSM6AAAAAA2SBV534
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Thanks!


PMID:32361273

PMID:32361273
I need a new descendant of
FYPO:0005097 | abnormal cell cycle arrest in mitotic G1 phase
but I don't know how to name it.

How about "decreased duration of cell cycle arrest in mitotic G1"? ... defined as arrest that would otherwise be normal, but doesn't last as long as normal.

yep!

decreased duration of cell cycle arrest in mitotic G1 phase FYPO:0007476


benchmark comparison between tide and actix-web

I make a simple benchmark for actix-web and tide.
The client and server are placed on separate machine, which has 2 CPU.
The client runs wrk:
wrk -c100 -d60s http://test_server:8080

tide:
source code:
use async_std::task;

fn main() -> Result<(), std::io::Error> {
    task::block_on(async {
        let mut app = tide::new();
        app.at("/").get(|_| async move { "hello" });
        app.listen("<IP_ADDRESS>:8080").await?;
        Ok(())
    })
}

result:
160% CPU

  2 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     0.98ms  232.59us   7.82ms   84.98%
    Req/Sec    51.18k     0.94k   53.76k    73.75%
  6111056 requests in 1.00m, 815.91MB read
Requests/sec: 101840.52
Transfer/sec:     13.60MB

actix-web:
source code:
use actix_web::{get, middleware, web, App, HttpRequest, HttpResponse, HttpServer};

#[get("/")]
async fn no_params() -> &'static str {
    "hello"
}

#[actix_rt::main]
async fn main() -> std::io::Result<()> {
    std::env::set_var("RUST_LOG", "actix_server=info,actix_web=info");
    env_logger::init();

    HttpServer::new(|| {
        App::new()
            .service(no_params)
    })
    .bind("<IP_ADDRESS>:8080")?
    .workers(2)
    .run()
    .await
}

result:
150% cpu

  2 threads and 100 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency   535.53us  386.02us   9.49ms   87.82%
    Req/Sec    89.62k    27.92k  128.04k    38.00%
  10698218 requests in 1.00m, 1.21GB read
Requests/sec: 178283.33
Transfer/sec:     20.57MB

It looks like tide runs most slower than actix-web and uses more CPU.
From high level vision, could anybody explain the possible reason?

@kingluo But as for productivity, isn't that what rocket.rs have been targeting? Similarly, their main target is not performance too IIRC.


laplace: default prediction settings

[This is a re-post of a question I had in a Helmholtz-internal UQ channel, where Nina Maria Gottschling made us aware of this package.]
In the docs you mention that Given posterior distribution during inference on unseen data, we cannot compute the full posterior predictive distribution but instead resort to sampling ... to approximate the predictions. I guess that would be true for something like
# Laplace from MAP model
la = Laplace(model, likelihood="regression")
la.fit(train_loader)

# ... optimize prior precision and sigma using empirical Bayes, skipped ...

# predict
samples_mean, samples_std = la(X_test, pred_type='nn', link_approx="mc")

However, the default setting when calling a fitted Laplace instance is, as I understand, the one from https://arxiv.org/abs/2008.08400 where
mu, cov = la(X_test, pred_type='glm', link_approx="probit")

where mu is the prediction of shape (N, dim_out) if X_test.shape = (N, dim_in) and cov is the full covariance of shape (N, dim_out, dim_out), so one cov matrix cov[i,...] of shape (dim_out, dim_out) per point X_test[i,...]. Since I can't see pred_type='nn', link_approx="mc" in the code, I wonder whether you really use sampling.

Hi @elcorto, thanks for your comment. You are definitely correct, we are not being precise here. In the docs we are mainly trying to give an intuition of how the method works as "originally" proposed, and we did not go into all the details of different prediction schemes with the Laplace Approximation. Hence, as you point out correctly, we are not actually sampling.
Would you be willing to open a PR to improve the docs statement? And additionally, I suppose it would be worthwhile to add arguments that give the user control over the prediction type. That could be included in the PR as well. If not I am happy to do it and get your feedback if possible.

Thank you for trusting my ability to improve the package docs and code :) However, I tend to not send PRs over to packages which I do not use in production. I am however more than happy to review a PR and help to improve it that way.
In terms of API, one could add keywords to predict_step() which would be passed to forward() where users can specify pred_type=..., link_approx=..., so kwds which are passed down to laplace.baselaplace.ParametricLaplace.__call__(). I'm not sure if predict_step() is the correct user-facing place to put this, since I don't use Lightning myself, which is also why I'm hesitant to send a PR. Another thing to consider is that the output is different (covariance when using pred_type="glm" or samples when pred_type="nn", link_approx="mc"). One can of course generate samples given a mu and cov and one can estimate a cov given just samples, I just don't know if lightning-uq-box can handle that transparently or if some refactoring is needed to support that.
In terms of docs, I'd basically add that the default prediction setting is the laplace package's default (as stated above) which is the one from https://arxiv.org/abs/2008.08400 (wouldn't hurt to double-check that) and which you already document here. If users have the ability to select pred_type, then the sampling part of the docs can also be kept, but updated by the Laplace kwds needed to switch that on.
Side note: Please do not read my comments as critique of the work that went into this package -- I very much appreciate the effort to provide people with access to such a wide range of UQ methods behind a, as much as possible and reasonable, unified API. I am doing similar work in a different project (focus is "just" on Laplace and deep ensembles) and I am therefore aware of the challenges. This package is a valuable resource, even if I don't use it in production (yet). Also I appreciate the fact that you implement and clearly distinguish between "Deep Ensembles" (what we came to term  "simple ensembles", since the method is general ensembling independent of the fact that the model is a NN) and "Deep Ensembles GMM" as described in the deep ensemble paper.


ARROW-4127: [Documentation][Python] Add instructions to build with Docker

Fix indentation in the dockek instructions (was https://github.com/apache/arrow/pull/3274)

@cav71 it is preferable to have a single PR for each change (this is the 3rd PR for this one), and if you need to make changes that you either force-push the branch (which automatically updates the PR) or push new commits. This helps the maintainers stay organized. If you need help with git workflows please don't hesitate to ask

Hi @wesm sorry for the confusion, yes I'm new to the git workflows too. If I understand it right I'll have to force push changes into this PR to avoid further confusion: I hope I've done right this time.

Hi @wesm,
I've updated building.rst with docker instructions and the development.rst so point to the building.rst so we won't have duplicate documents.
I've rebased to master, but for some reason the PR seems catching also changes from upstream/master. The git diff --name-only upstream/master..origin/documentation shows only building.rst and development.rst as changes (as it should be): does the github computes the difference from master at branch creation? I'm baffled here.
Thanks

Codecov Report

Merging #3281 into master will increase coverage by 0.01%.
The diff coverage is 92.18%.

@@            Coverage Diff             @@
##           master    #3281      +/-   ##
==========================================
+ Coverage   88.53%   88.54%   +0.01%
==========================================
  Files         539      540       +1
  Lines       72988    73036      +48
==========================================
+ Hits        64618    64670      +52
+ Misses       8267     8259       -8
- Partials      103      107       +4

Impacted Files
Coverage Δ

cpp/src/parquet/bloom_filter.h
72% <ø> (ø)
:arrow_up:

cpp/src/arrow/array/builder_nested.h
100% <ø> (ø)
:arrow_up:

cpp/src/arrow/buffer-test.cc
100% <ø> (ø)
:arrow_up:

cpp/src/arrow/array/builder_binary.h
97.33% <ø> (ø)
:arrow_up:

cpp/src/arrow/util/thread-pool-test.cc
98.14% <ø> (-0.78%)
:arrow_down:

python/pyarrow/array.pxi
68.98% <0%> (+0.29%)
:arrow_up:

cpp/src/arrow/io/readahead.cc
93.81% <100%> (+0.13%)
:arrow_up:

cpp/src/arrow/buffer.h
100% <100%> (+5.94%)
:arrow_up:

cpp/src/arrow/test-util.cc
71.77% <100%> (+0.7%)
:arrow_up:

cpp/src/arrow/array-test.cc
100% <100%> (ø)
:arrow_up:

... and 38 more

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 71ccba9...e09f114. Read the comment docs.

I've rebased to master, but for some reason the PR seems catching also changes from upstream/master

It looks like you have a mix of rebases and merges in this branch, which is going to cause issues. I'd recommend never using git merge for this project unless you are doing git merge -ff-only


Add reflected XSS PxL script

Detect reflected XSS attacks by looking for an attack string that appears both in the request and the response.

@nserrino The intention here is that users have control over what regular expressions they use. This will:

Enable users to control what gets flagged in case one of the regexes produces a false positive on their specific application.
Prevent hackers from using a posted list of regexes to avoid detection.
Make it easier to add to this list overtime since it is not a comprehensive list of all possible injections but a starting point from which to improve upon.


ERIP - Only one of Phone number or Email required

AC

[ ] Only one of Phone number or Email is required i.e Both Phone number AND email should not be empty
[ ] If email is not provided, email confirmation need not be sent to applicant

Error message

Please provide either a 'Phone number' or an 'Email' to facilitate communication during the processing of the form.

Error message says both are required, we should use "Please provide either a 'Phone number' or an 'Email' to facilitate communication during the processing of the form."

It is ready to test again.


Pie, Donut & Guage Chart Examples broken

see: https://assets.ctl.io/cyclops/1.8.5/charts.html#pieChart
Uncaught TypeError: Unable to process binding "chart: function (){return {type:'Pie',data:data} }"
Message: Cannot create property 'right' on number '5'
    at Object.c.extend (chartist.min.js:8)
    at Object.c.extend (chartist.min.js:8)
    at f [as constructor] (chartist.min.js:9)
    at Object.f [as Pie] (chartist.min.js:8)
    at HTMLDivElement.<anonymous> (cyclops.min.js:1)
    at Function.each (jquery-2.1.4.min.js:2)
    at n.fn.init.each (jquery-2.1.4.min.js:2)
    at n.fn.init.a.chartist.i.fn.chart (cyclops.min.js:1)
    at init (cyclops.min.js:1)
    at knockout-3.3.0.js:65

Not just the documentation that was broken. It was broken by https://github.com/CenturyLinkCloud/Cyclops/commit/b2fdd67b681671eba16b6a9228d040caeade4f03. Fixed in #163.


Not compatible with np.tensordot

Environments:

jaxlib: 0.1.61+cuda110
jax: 0.2.10
dm-haiku: 0.0.4.dev0
numpy: 1.19.5

To reproduce the bug:

code is given as bellow
you might need to run it multiple times

import jax
import haiku as hk
import numpy as np

def net(x):
  torso_net = hk.Conv2D(32, kernel_shape=[8, 8], stride=[4, 4], padding='VALID')
  return  hk.BatchApply(torso_net)(x)

def main():
  init_fn, apply_fn = hk.without_apply_rng(
    hk.transform(lambda obs: net(obs))
  )

  # Uncomment can also reproduce the bug
  # @jax.jit
  def initial_params(rng_key):
    _ = np.tensordot(np.zeros((84,84,3)), [0., 0., 0.], (-1, 0))
    return init_fn(rng_key, np.zeros((1,1,84,84,4)))

  rng_key = jax.random.PRNGKey(428)
  params = initial_params(rng_key)

if __name__ == '__main__':
  main()

The full error messages/tracebacks.

with @jax.jit

Segmentation fault (core dumped)

without @jax.jit

/usr/local/lib/python3.6/dist-packages/jax/_src/numpy/lax_numpy.py:2970: UserWarning: Explicitly requested dtype float64 requested in zeros is not available, and will be truncated to dtype float32. To enable more dtypes, set the jax_enable_x64 configuration option or the JAX_ENABLE_X64 shell environment variable. See https://github.com/google/jax#current-gotchas for more.
  lax._check_user_dtype_supported(dtype, "zeros")
Segmentation fault (core dumped)

Thanks for the question!
Actually, JAX transformations like jax.jit aren't compatible with any numpy functions. You need to import jax.numpy as jnp and then use jnp for operations you want to transform or stage out, e.g. jnp.tensordot.
Perhaps take a look at the JAX 101 Tutorial and How to think in JAX if you haven't already.
(Usually a better error message prints here (not a segmentation fault), but unfortunately I wasn't able to reproduce the issue on my machine.)

Here's a version of the code using jnp:
import jax
import haiku as hk
import jax.numpy as jnp

def net(x):
  torso_net = hk.Conv2D(32, kernel_shape=[8, 8], stride=[4, 4], padding='VALID')
  return  hk.BatchApply(torso_net)(x)

def main():
  init_fn, apply_fn = hk.without_apply_rng(
    hk.transform(lambda obs: net(obs))
  )

  @jax.jit
  def initial_params(rng_key):
    _ = jnp.tensordot(jnp.zeros((84,84,3)), jnp.array([0., 0., 0.]), (-1, 0))
    return init_fn(rng_key, jnp.zeros((1,1,84,84,4)))

  rng_key = jax.random.PRNGKey(428)
  params = initial_params(rng_key)

if __name__ == '__main__':
  main()

Hi @mattjj, thank you very much for your quick reply!
But, actually, when<EMAIL_ADDRESS>is not used, the code can also cause core dumped.
Could you please explain why is that?

BTW, for the hardware, I am using DGX A100. And I just tried to set JAX_PLATFORM_NAME=cpu, the bug is gone.

Hm, that is weird. Sorry I didn't glean that from your first message. Maybe there is a real bug here, and we need to run on XLA:GPU to see it.
@bingykang any chance you can reproduce the bug without using haiku, and just using pure JAX? This isn't critical to do, but it can be helpful to simplify as much as possible.
@zhangqiaorjc any thoughts on what could cause a segfault?

@bingykang on GPU, does the version using jnp instead of np also segfault, or is it only when using raw np?

Hi,
I have tried the following things,

Replacing np with jnp on GPU, the bug is gone.
OR
Replacing np.tensordot with np.dot as follows, the bug is gone.

_ = np.dot(np.zeros((84,84,3)), [0., 0., 0.])

BTW, I am using the following Dockerfile to build the environment
FROM tensorflow/tensorflow:2.4.1-gpu

# Install dependencies
RUN apt-get update && apt-get install -y tmux ffmpeg libsm6 libxext6 libxrender-dev git vim

# Install JAX
RUN pip3 install --upgrade pip
RUN pip3 install --upgrade jax jaxlib==0.1.61+cuda110 -f https://storage.googleapis.com/jax-releases/jax_releases.html

# Install Haiku
RUN pip3 install absl-py numpy tabulate \
    dm-env>=1.2 \
    dm-tree>=0.1.1 \
    packaging>=20.9 \
    tensorflow-datasets>=4.2.0
RUN pip3 install git+https://github.com/deepmind/dm-haiku
RUN pip3 install git+git://github.com/deepmind/bsuite.git
RUN pip3 install git+git://github.com/deepmind/optax.git
RUN pip3 install git+git://github.com/deepmind/rlax.git

# Install Atari environment
RUN pip3 install gym[atari]
RUN pip3 install atari-py
RUN pip3 install tensorflow_probability==0.11.0

# Copy SEED codebase and SEED GRPC binaries.
ADD . /impala/
WORKDIR /impala
ENTRYPOINT ["python3"]

Can you try this again on the latest jaxlib==0.1.64? I think you can just write pip install --upgrade jaxlib==0.1.64+cuda110 -f https://storage.googleapis.com/jax-releases/jax_releases.html to use the same cuda110 version you have now.

Looks like the bug is gone.


Python no-codegen API example extension

Is your feature request related to a problem? Please describe.
We're currently trying to move our python code-base to the experimental no-codegen API using the commodity function:
grpc.protos_and_services(protobuf_path)

There's already a basic example covering the usage of this API (here in the python examples)[https://github.com/grpc/grpc/tree/master/examples/python/no_codegen]. However, we've found it not sufficient as it's not covering all of the import cases.
Describe the solution you'd like
The no-codegen example should include these two cases:

import of another protobuf file in the same directory
import of a message from the google standard protobuf library like "google/protobuf/timestamp.proto".

Imports, transitive imports, and well-known types should all be handled. In an earlier version, there was an issue with importing well-known types, but this should be resolved now. What version of grpcio-tools are you using?
As for imports, can you please describe your file layout as well as your sys.path? Note the comment here for the relationship between protos and sys.path:
# NOTE: The path to the .proto file must be reachable from an entry
# on sys.path. Use sys.path.insert or set the $PYTHONPATH variable to
# import from files located elsewhere on the filesystem.

To add some more detail, when compiling protobufs ahead of time, one or more root directories must be provided, from which any imported ".proto" file is accessible. The same is true in the runtime-generated case. sys.path will be searched for ".proto" files.


it doesnt work says cannot que

please fix this im making a prison serve and i cant if the main plugin doesnt work please gert this fixed

Can you download the latest build on poggit and run the command "mine report" in your console? It will prompt you to create a new GitHub issue, with more information. https://poggit.pmmp.io/ci/Falkirks/MineReset/MineReset


Security: Sign payload of watcher requests

Description
The SKR watcher as externally running component has to communicate to the KCP listener endpoints. This could lead to several risks like DOD-attaches or man-in-the-middle attacks.
To authenticate the incoming requests, they need to have a digital signature.
Steps to exploit
Use Kyma SKR Watcher or a botnet to cause a service degradation or interruption of the KCP endpoints by applying a DOD attack on an KCP endpoint.
Proposed mitigation

[ ] Payload of incoming watcher requests has to be protected for modifications by applying a digital signature.

Proposed workflow:

Different Proposal:
// TODO - Workflow diagram

Validation webhook checks for private Key, stored in a secret

If yes, then use private Key to sign the request and send it to KCP
If no, then send a request to a key-request endpoint of KCP. KCP generates new Key pair as proposed in previous comment.

Problem:
Anyone can request a new Key.

I have a few questions here:
Sending a Request from Watcher (SKR) to KCP:

Request will be signed using Private Key stored in Secret
=> the private key secret could be reused by anyone within the same cluster, is this known @TorstenD-SAP
If Private Key does not exists
a. Log error
b. Do not send request
Signed request will be send to the Gateway of the KCP using encrypted mTLS
VirtualService will forward already decrypted request to lifecycle-manager
=> it will not send the request fully decrypted but again encrypted with istio (inside service mesh we also have mtls), why cant we just forward the MTLs Certificate from the gateway and use this for the verification that the cluster is authorized to trigger a reconciliation (with XFF headers in the clusters)? @TorstenD-SAP
Lifecycle-Manager checks the body of the request and fetches the corresponding KymaCR
Using the fetched KymaCR, the corresponding Public Key will be fetched
Using this Public Key, the signed request will be verified
a. If request could be verified: Sender is authorised to trigger a reconciliation for the stated KymaCR in the request body → Reconciliation will be trigger
b. If request could NOT be verified: Sender is not authorised to trigger a reconciliation for the stated KymaCR of the request body → Reconciliation will not be trigger and request will be dropped

TLDR: I think we could simply reuse the MTLs certificate if its forwarded via header from the gateway, instead of proxying it every time for requests, especially since we anyhow want to use the same keys.

the private key secret could be reused by anyone within the same cluster

This is something which cannot be avoided because we have to store this private key somewhere in the SKR cluster of the customer. We should ensure, that by default the secret is secured and can only be used by the watcher.

it will not send the request fully decrypted but again encrypted with istio (inside service mesh we also have mtls), why cant we just forward the MTLs Certificate from the gateway and use this for the verification that the cluster is authorized to trigger a reconciliation (with XFF headers in the clusters)? @TorstenD-SAP I think this was recently added in the Istio component with X-Forwarded-Cert

I understand the comment in that way, that the idea is to forward the SKR clusters certificate, which is used by the Gateway to establish the mTLS connection with the watcher on the SKR cluster, from the Gateway to the lifecycle manager by using the  X-Forwarded-Client-Cert header (https://istio.io/latest/docs/ops/configuration/traffic-management/network-topologies/#configuring-x-forwarded-client-cert-headers). This certificate can then be used by the lifecycle manager to uniquely identify the SKR cluster. From my point, it is not enough to just check if the SKR cluster is authorized to trigger a reconciliation. We also have to ensure, that only the authorized SKR cluster is reconciled by this request in order to ensure, that the reconciliation request cannot be misused to reconcile other SKR clusters. But if we can ensure this and the used keys and certificates are unique for each SKR cluster, it should be possible to use the existing keys and certificates which are used for mTLS too.

Ticket description has been updated with the agreed solution

To introduce this feature two PRs have been opened -  Please review in stated order:

https://github.com/kyma-project/runtime-watcher/pull/89
https://github.com/kyma-project/lifecycle-manager/pull/321

If you need help testing, please ping me - I can help with setting up a cluster with needed certificates, VirtualService, etc.
By default the Domain-Name-Pinning has been turned off, but can be enabled using a flag.


isValid returns true when model is invalid

Hi,
When using backbone.validation in conjunction with Derick Bailey's backbone.modelbinding plugin I seem to be having a similar problem to the one described in issue #21. I've put together a jsFiddle example (http://jsfiddle.net/simax/bEqnZ/)  to try and demonstrate the issue.
When I unset a model property, by removing the firstname or lastname in the example the isValid(true) call still returns true. This doesn't appear to be correct, can you help?
TIA,
Simon

Ok, the I should have set forceUpdate: true during the bind process. Backbone.Validation.bind(this, {forceUpdate: true});

Sorry for not being able to respond any sooner. Glad you figured it out:)
-Thomas


IGNITE-14469 Add test that ensures correctness of sequential call index_force_rebuild, some refactoring

Thank you for submitting the pull request to the Apache Ignite.
In order to streamline the review of the contribution
we ask you to ensure the following steps have been taken:
The Contribution Checklist

[ ] There is a single JIRA ticket related to the pull request.
[ ] The web-link to the pull request is attached to the JIRA ticket.
[ ] The JIRA ticket has the Patch Available state.
[ ] The pull request body describes changes that have been made.
The description explains WHAT and WHY was made instead of HOW.
[ ] The pull request title is treated as the final commit message.
The following pattern must be used: IGNITE-XXXX Change summary where XXXX - number of JIRA issue.
[ ] A reviewer has been mentioned through the JIRA comments
(see the Maintainers list)
[ ] The pull request has been checked by the Teamcity Bot and
the green visa attached to the JIRA ticket (see TC.Bot: Check PR)

Notes

How to Contribute
Coding abbreviation rules
Coding Guidelines
Apache Ignite Teamcity Bot

If you need any help, please email<EMAIL_ADDRESS>or ask anу advice on http://asf.slack.com #ignite channel.

Closing in favor for #9061 (wrong branch name in this)


Update skr-flow-confidential-containers-azure-container-instance.md

Fixed typo by adding a space.

@aprilbrinkmeyer - thanks. we'll merge this change.
That said, because you are a Microsoft content contributor, you should be using the private repo (azure-docs-pr) for changes. Please make future updates that way. thanks!


soc: riscv: priv: call __reset during boot

Call __reset instead of directly calling __initialize from the common RISC-V privileged SoC vectors __start. This allows injection of SoC specific reset code just after setting up the machine trap vector.
RISC-V privilege SoCs without the need for custom reset code can set CONFIG_INCLUDE_RESET_VECTOR=y to include a __reset stub which simply calls __initialize.
Fixes: #38396
Signed-off-by: Henrik Brix Andersen<EMAIL_ADDRESS>

I have tested the two QEMU boards with these changes, but I do not have access to the other affected hardware. I have verified the listings (zephyr.lst) output manually for all affected SoCs, though.
If anybody can provide further testing and verification on hardware that would be much appreciated.

The issue of leaving out __reset in the common boot code is a show stopper for an as of yet out-of-tree SoC port.

I should be able to test using beaglev_starlight_jh7100.
Actually, just reading the docs, I didn't realize an external script was necessary for modifying the .bin prior to flashing. Seems like something that should be in tree. Will file an issue.

I've tested these changes on litex-vexriscv board. The change in this SoC's Kconfig doesn't seem to have any negative impact.

I'll check on HiFive1 and HiFive Unmatched, please give me a moment.

It works correctly on HiFive1 rev.B and HiFive Unmatched.

beaglev_starlight_jh7100 was ok


chore(main): release 0.4.46

:robot: I have created a release beep boop
0.4.46 (2024-04-10)
Continuous Integration

build: Fix archive for multi bins (73913a8)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/linrongbin16/cargo-ci-template.rs/releases/tag/v0.4.46 :sunflower:


bug: All about double tap zoom #IONIC 4.11.5

Bug Report
Ionic version:
Ionic:
Ionic CLI                     : 5.4.6 (/node_modules/ionic)
Ionic Framework               : @ionic/angular 4.11.5
@angular-devkit/build-angular : 0.801.3
@angular-devkit/schematics    : 8.1.3
@angular/cli                  : 8.1.3
@ionic/angular-toolkit        : 2.1.1
Cordova:
Cordova CLI       : 9.0.0<EMAIL_ADDRESS>Cordova Platforms : android 8.1.0, browser 5.0.4
Cordova Plugins   : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 3.1.2, (and 30 other plugins)
Current behavior:
Before updating to 4.11.5 Double tap zoom was working fine in Modal controller,after upgrading double tap zoom is not working
Expected behavior:
Expecting to perform Double tap Zoom
Related code:
followed this tutorial previously!
https://www.youtube.com/watch?v=yHDnVarTr2E

Thanks for the issue. Can you provide a repo with the code required to reproduce this issue?

 oenGallery(index, main_index) {
    this.modalController
      .create({
        component: GallerySliderModalComponent,
        cssClass: "app-gallery-slider-modal",
        componentProps: {
          imagesList: this.detailObj.gallery[main_index],
          index: index,
          imagePath: this.webServiceUrl.imagePathPropertyOriginal
        }
      })
      .then(a => {
        a.present().then(() => {
          console.log("presented");
          a.onDidDismiss().then(data => {
            //  }
          });
        });
      });
      console.log("The Live Value Of The Image"+this.imagePath);
  }

And this is the modal controller
{
    this.imagesList = navParams.get("imagesList");
    console.log('this.imagesList length: ', this.imagesList.length);
    this.index = navParams.get("index");
    this.type = navParams.get("type");
    this.displayName = navParams.get("displayName");
    this.is_customized = navParams.get("is_customized");
    console.log(" this.index: ", this.index);
   // console.log("type", this.type);
    console.log("displayName", this.displayName);

    this.imagePath = navParams.get("imagePath");
    console.log('this.imagePath: ', this.imagePath);

    if (this.type === undefined || this.type === "undefined") {
      console.log(
        "this.imagePath: ",
        this.imagePath + this.imagesList[0].image_name
      );

      setTimeout(() => {
        if (this.imagesList.length === 1) {
          console.log("swipe locked");
          this.lockSwipe();
        } else {
          console.log("Swipe not Locked")
          this.goToSlide();
        }
      }, 500);
    }
    //because event_registration && && "event_redeemption" always contain single image
    else {
      console.log("this.imagePath: ", this.imagePath + this.imagesList);
      setTimeout(() => {
        this.lockSwipe();
      }, 500);
    }
  }

Thanks for the follow up. Please provide the full app reproduction -- I am typically not able to reproduce the issue using a code snippet. An easy way to do this is to create a blank Ionic starter app and then copy over the required code.

Thanks for your time,i've already provided the URL link up I've followed the same but now i can't get the double tap zoom if you got time go thru the link

Is there a finished project .zip I can download?

Sorry i can't do that! I will do the thing you asked me previously will create a blank project and i will send the zip to you....asap!

thank you for your assistance i've done with my error after adding zoom in sliderOpts every thing is working fine!


V2 images

check it and critique.
I've added a sprites directory to data/v2 which is organized  for use in the build script which no dynamically builds out pokemon, pokemon form and item sprite models. The models are not complex. They just reference a foreign key and have a single field called 'sprites' that contains a stringified list of image paths.
I've updated the tests and documentation.
pokemon sprites field
sprites: {
		"back_female": "http://localhost:8000/media/sprites/pokemon/back/female/12.png",
		"back_shiny_female": "http://localhost:8000/media/sprites/pokemon/back/shiny/female/12.png",
		"back_default": "http://localhost:8000/media/sprites/pokemon/back/12.png",
		"front_female": "http://localhost:8000/media/sprites/pokemon/female/12.png",
		"front_shiny_female": "http://localhost:8000/media/sprites/pokemon/shiny/female/12.png",
		"back_shiny": "http://localhost:8000/media/sprites/pokemon/back/shiny/12.png",
		"front_default": "http://localhost:8000/media/sprites/pokemon/12.png",
		"front_shiny": "http://localhost:8000/media/sprites/pokemon/shiny/12.png"
	}

pokemon form sprites field
sprites: {
		"back_default": "http://localhost:8000/media/sprites/pokemon/back/12.png",
		"back_shiny": "http://localhost:8000/media/sprites/pokemon/back/shiny/12.png",
		"front_default": "http://localhost:8000/media/sprites/pokemon/12.png",
		"front_shiny": "http://localhost:8000/media/sprites/pokemon/shiny/12.png"
	}

item sprites field
sprites: {
		"default": "http://localhost:8000/media/sprites/items/great-ball.png",
	}

Woof. I'm sorry about the number of files changed. It's the sprites.

Haha lol

@zaneadix If we merge this in and get it up on beta.pokeapi.co is that the best way to test this?

@zaneadix can't see any software tests in this PR?

@phalt yeah it looks like the tests diff is getting truncated by the sprite hell. I could always remove the sprites from the commit and just pass the directory to you. They would just need to be stored in '/media/sprites'. I'm fairly confident things will work well if the changes we're pushed up to beta.pokeapi.co

@zaneadix commit just enough to make the tests pass and so we can review them, and make a separate PR with all the images. Or do it the other way around: commit the images first, merge it, then we can review the code after.

@phalt I removed the images from the commit. Once we're good on the code changes I can add them back in before we merge.

@phalt Have you had a chance to check out the source since I removed the images? Any changes you would recommend?

@zaneadix yeah this is all good, but I can't merge as there is a conflict?


Add support for Subblocks

Schemata - https://github.com/SurveyMan/Schemata/blob/gh-pages/survey_block.json. Subblocks can be nested arbitrarily.

Approach
As per the underlying Flux philosophy, the SurveyStore is the one source of truth for all data. It is responsible for maintaining its state and carrying out all mutations as dictated by the order of Actions that are dispatched to it.
All data in the store is in the form of Immutable.js Maps which means that we need to use the API that the Map interface exposes in order to efficiently query and mutate the data. To this end, there are 3 main methods using which data is mutated - setIn, updateIn and deleteIn. These methods provide an easy way to make deep persistent changes.
The API for these functions looks like this -
Map.setIn([.. array of indices], value)
Map.updateIn([... array of indices], (value) => newValue)
Map.deleteIn([... array of indices])

In order to construct these arrays, the SurveyStore has it's own suite of helper functions. These helper functions relied on the assumption that blocks are top-level and questions are the immediate children for the block.  For example
getQuestionIndex(questionId, block) {
   return block.get('questions').findIndex(q => q.get('id') === questionId);
},

Challenge
The challenge now is to rewrite these helpers (& and its calling functions) making no such assumptions of the structure i.e. blocks, questions & options can be nested arbitrarily. Ideally, the signatures of these functions can be like so -

/**
* Returns an array of indices that can be directly go in first arguments to Immutable deep persistent functions.
* @param blockId - id of the block who's index is required
* @param parentBlock (optional) - The parent block at which to begin the search. If left out, the search starts from the top of the survey
*/
function getBlockIndex(blockId, parentBlock = 'top') {
  // recursively build the array
}

These functions can then be used like so -
// when adding a new block
let newSurvey = survey.updateIn(this.getBlockIndex(blockId), list =>
   list.splice(0, 0, newBlock)
);

// when deleting a block
let newSurvey = survey.deleteIn(this.getBlockIndex(blockId));

// when toggling params
let newSurvey = survey.updateIn(this.getBlockIndex(blockId), b =>
   b.set(toggleName, !b.get(toggleName))
);

Similar functions for Questions & Options can be written which expose the same API.
Todo
List of tasks required to complete this feature

[ ] Rewrite getBlockIndex to handle nested survey
[ ] Refactor logic for the following

[ ] Block add
[ ] Block delete
[ ] Block toggle param

[ ] Rewrite getQuestionIndex to handle nested survey
[ ] Refactor logic for the following

[ ] Question add
[ ] Question edit
[ ] Question delete
[ ] Question toggle param

@etosch - The last part pending in this feature is the ability to allow items to be dragged and dropped on subblocks. I wanted to quickly clarify on what all kinds of interactions should I work on. I have started with an example below -

Questions inside subblocks should be draggable (outside the block) and droppable (inside the block).

 Reordering questions inside a block should have no effect (since they are randomized).
Perhaps have some way to freeze blocks (both top-level and sub). Sub blocks can float, and it follows from the randomization-first philosophy that we should assume they are floating by default. If someone "freezes" a block, it should be in relation to other blocks within that block's parent.


bpftrace: add to debug container

add bpftrace-aotrt to the debug container

it tried to copy an empty directory on riscv64; I hope it builds now successfully.

build failures:
Error: error building "lfedge/eve-debug:21943b9096888218a689ada1e1fa9a2fb4a42e79": error building for arch riscv64: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c su builder -c 'cd /musl && abuild checksum && abuild -r'" did not complete successfully: exit code: 1
2024/07/15 10:54:36 error during command execution: error building "lfedge/eve-debug:21943b9096888218a689ada1e1fa9a2fb4a42e79": error building for arch riscv64: failed to solve: process "/dev/.buildkit_qemu_emulator /bin/sh -c su builder -c 'cd /musl && abuild checksum && abuild -r'" did not complete successfully: exit code: 1
make: *** [Makefile:1035: eve-debug] Error 1

and
eve-build-ubuntu docker container is ready to use
Cloning into '/tmp/linuxkit'...
error: 4504 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
make: *** [Makefile:941: /home/ubuntu/actions-runner/_work/eve/eve/build-tools/bin/linuxkit] Error 128

IMO both are unrelated to this PR.

Trying something out regarding these build errors ...

That seems to have fixed it. Now need a DCO fix.

This appears to be building now. Any reason to keep it as a draft?

No, I was just pessimistic ;-)


Biopar masklayer

Updated the masking function in the Biopar process graph.
However, there still seems to be unittest failure, particularly in the following files:

apex_algorithms/algorithm_catalog/combi_expressions/sar_water_mask.json
apex_algorithms/algorithm_catalog/sar_coin.json
apex_algorithms/algorithm_catalog/advanced_band_combination.json

@jdries, do you suggest waiting for the above files before merging this PR? So that I can pull from the main again.
Please kindly let me know if I missed any points to correct 😅

For spatial filtering, is there a reason not to follow this guideline?
https://esa-apex.github.io/apex_documentation/guides/udp_writer_guide.html#spatial-filtering

That suggestion was indeed confusing, but let's use the guidelines as reference. If there are reasons to change it, we should update that first.

thought to stick to this suggestion: https://github.com/ESA-APEx/apex_algorithms/pull/37#discussion_r1799341965 , no other specific reason

FYI: in that comment I just wanted to mention that "polygon" is not an argument name we use in standard processes, but "geometries" is (e.g. in filter_spatial, aggregate_spatial)
About the guidelines on spatial filtering: I think there is room for clarification:

In other openEO processes, the spatial filtering is called spatial_extent,

spatial_extent is only used in load_collection and load_stac, and there it accepts: bbox construct, inline geojson and vector cubes
In the use case here (openeo_udp/biopar/biopar.json), the parameter spatial_extent is defined as geojson-only (no bbox-support) and is passed to filter_spatial process (which also doesn't support bbox filtering).
Wouldn't it be better to define the spatial_extent parameter as bbox+geojson+vectorcube and pass it to load_collection (instead of filter_spatial?

Wouldn't it be better to define the spatial_extent parameter as bbox+geojson+vectorcube and pass it to load_collection (instead of filter_spatial? The guidelines also recommend this

Yes, @Pratichhya  the idea is that you don't have to use filter_spatial anymore, parameter goes straight into load_collection.
I also suggest to use this convenience method to declare the parameter in Python:
https://open-eo.github.io/openeo-python-client/api.html#openeo.api.process.Parameter.spatial_extent

ahh, ok, will do that; directly load the extents in load_collection. Indeed, it is an easier solution. However, for Biopar in CDSE, it was suggested that the data be clipped to the spatial extent rather than bbox (remain the same as the VITO version), so I assumed the same might be expected here.

@Pratichhya that's exactly what this parameter allows: clipping to bbox, geometry, vector cube, or even nothing at all and leaving it open to further downstream processing.

Here's a PR for that spatial_extent confusion:
https://github.com/ESA-APEx/apex_documentation/pull/66

Thank you, @jdries and @soxofaan ; I just made updates as suggested above.

about the failing tests: I already fixed some things on master branch, so I would merge master in this feature branch

yes that wouldn't hurt to verify where test failures originate from (e.g. they might already be fixed in master)

The unittest seems to fail for:

algorithm_catalog/sar_water_mask.json
algorithm_catalog/snap_insar_sentinel1_iw_slc.json
algorithm_catalog/sar_coin.json
algorithm_catalog/gep_bas.json

also it shows some partitioning error not sure exactly.

I'm not seeing those, what do you mean with that?

Sorry, I realised late that they were caused in my local settings and not related to the repo itself. When running the pytest locally.


Don't autoscroll with one image

I am using the code below. It works fine with my dynamic gallery's. However some of the gallery's have just one image and it scrolls that image as well. Is it possible to start scrolling when there are two images? Since the content is dynamic, some pages happen to have just one image.
jQuery.noConflict();
(function($) {
$(function() {
jQuery(".slider").jCarouselLite({
btnNext: ".next",
btnPrev: ".prev",
scroll: 1,
visible: 1,
auto: 2700,
speed: 700
});
});
})(jQuery);

You're using jCarouselLite not jCarousel ;-)


Window Issue

The window is tranceparent
The app run on RTL mode cus my system language is arabic

Thanks for the report, I'll set up a Windows machine and investigate.


MSWebView.MSWebViewNavigationCompleted

Additional details and sample code for MSWebViewNavigationCompleted

Fantastic! Thank you @david-risney.


Question: relating entities

If i have an Users and Posts I have in core two folders by each entity; how about if Post is related to User
type User struct {
    posts []Posts
}

where should I put my queries in the store of User and make the join in the userdb.go?
I'll be relating a model from core/post in core/user is this ok?

You can't have joins at the storage layer, you want to keep the User and Posts domains separated. Believe that each domain stores its data in a separate unknown database running in some unknow location. Believe that each business core API is something you don't own, and need to use to get the data for that specific domain. At the app layer you can join all the data you want.
If you use joins between domains at the storage or business layer, you are merging those domains, essentially creating a single domain of many different pieces of data.  Work hard to make things easy to understand, not easy to do.
Looking at your example I think you have it wrong. A Post should probably have a UserID, not the other way around. No User model can have a concept of a Post, but a Post can have the concept of a User.
I imagine something like this.
Storage Layer For User
CREATE TABLE Users (
  id    UUID  NOT NULL
  name  TEXT  NOT NULL
)

Storage Layer For Post
CREATE TABLE Posts (
  id       UUID  NOT NUL
  user_id  UUID  NOT NULL
)

Business Core Layer For User
core/user/model.go

type User struct {
  ID    uuid.UUID
  Name  string
}

Business Core Layer For Post
core/post/model.go

type Post struct {
  ID     uuid.UUID
  UserID uuid.UUID
}

Now at the App layer you can create models with mixed fields.
app/services/api/handlers/v1/postgrp/model.go

type App struct {
    ID        uuid.UUID
    UserID    uuid.UUID
    UserName  string
}

In the Handler function you would make the business call to query the posts and then call into the User domain core API to get the name for each unique ID in the result.
The Post Domain can use the User Domain API because of the relationship with the UserID being in the model. The User Domain can't use the Post Domain API. Plus Go won't allow cross imports, so the data is telling you what is the right direction for the imports.
In the end, you can only order and filter data at tha domain level. A domain can only access another domain if there is a relationship in the data. This access is NEVER at the storage layer.  At the App layer you have a lot of flexibility.

You need to pretend the data is not all in the same database where a join is even possible. What if the data for User and Post were in different databases on different servers? How would you handle that situation? That is what I'm describing here.
In the end, if you store this data in the same place, then all this data represents the domain, and you can do joins. But you are losing the ability to scale in different ways. So fight that and work towards treating each piece of the data model as separate data stores.


⚠ GitLab Server has degraded performance

In 0ea6f0e, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 11753 ms

Resolved: GitLab Server performance has improved in 0ee68ba.


Recording - User/ iOS - Nick name & profile image

Create a user ‘Emily’
Login with user ID
From home screen, on bottom right click ‘Setting’
Click ‘Edit User Profile’
Click image icon, select ‘Choose from Library’ & select a photo
Click on the name of user ‘Emily’, change it to Em
Select ‘Done’
Open existing open channel conversation, see that the user’s name & photo is now updated

@justinbaldwin
https://drive.google.com/file/d/1pQt30yh5_LuGzi2k_v2CmRpYRl9L8e8C/view?usp=sharing

@petru-gherghel trim video to 0:22

@justinbaldwin video cut off before finishing script steps: Select ‘Done’.
Open existing open channel conversation, see that the user’s name & photo is now updated

@justinbaldwin
https://drive.google.com/file/d/1Yay8-MOaI9GqCY1mGeUS7YqOZVRcDQDA/view?usp=sharing

@justinbaldwin
https://drive.google.com/file/d/1aF6tik0BygJ3EtrKEpv4ajiiB23kZARP/view?usp=sharing

@justinbaldwin
I made two videos:
I decreased the speed with 15%, until 14, but the text input and profile image loading time is has the same pace
https://drive.google.com/file/d/19QxshuiDkI2wtawLx47w_YKz6VnbyMo-/view?usp=sharing
this one, is as required
https://drive.google.com/file/d/1R3Ad8mrd1dPLfXEuv8CoVZqipYff6NSc/view?usp=sharing

@petru-gherghel I prefer the first example you made, thanks a ton Petru!


Failed to pull docker image - supabase/postgres:<IP_ADDRESS>

Describe the bug
failed to pull docker image: Error response from daemon: manifest for public.ecr.aws/supabase/postgres:<IP_ADDRESS> not found: manifest unknown: Requested image not found
System information

Ticket ID: 8af4e9f503d8424faed3b7f20168d3fa
Version of OS: Fedora Linux 41 (Workstation Edition)
Version of CLI: 2.0.0
Version of Docker: 27.4.0
Versions of services:

Hi @jamesfeeder, our postgres team will work out the issue with Postgres image on ECR.
Meanwhile the workaround is to delete the local version file.
rm supabase/.temp/postgres-version

Thank you 🙏
While I'm using this workaround, Is it able to 'db push' to remote?
Just my curiosity, I don't have any plan to do it right now.

I'm also having this issue, but deleting that temp file doesn't work for me, it just creates it again with the same version: <IP_ADDRESS>

I have the same issue, there is no tag in the registry https://gallery.ecr.aws/supabase/postgres

Ok, I guess my script was calling supabase link which was re-creating the version file. If I delete the file and then run the db pull --linked command, it works for me

same issues with different version
failed to pull docker image: Error response from daemon: failed to resolve reference "public.ecr.aws/supabase/postgres:<IP_ADDRESS>": public.ecr.aws/supabase/postgres:<IP_ADDRESS>: not found

Hi @jamesfeeder, our postgres team will work out the issue with Postgres image on ECR.
Meanwhile the workaround is to delete the local version file.
rm supabase/.temp/postgres-version

Hi @jamesfeeder, our postgres team will work out the issue with Postgres image on ECR.
Meanwhile the workaround is to delete the local version file.
rm supabase/.temp/postgres-version

After I do this, supabase start fails to start:
"supabase/postgres:<IP_ADDRESS> => <IP_ADDRESS>"
Using the --ignore-health-check produces the same error.

After I do this, supabase start fails to start

I forgot to mention that you also need to delete any backup volumes before restarting, ie. supabase stop --no-backup

This problem with upstream postgres image has been fixed. https://github.com/supabase/postgres/pull/1372


Validate cookie name prefixes

Validates cookie names with prefixes as per https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-rfc6265bis-05#section-4.1.3.
I'm also not really sure why the other name/value validation raises an IO::Error?  Seems more appropriate as an ArgumentError.

I would suggest to add a dedicated method to validate the entire cookie. This validation could be applied automatically in parse_set_cookie.

@straight-shoota parse_set_cookie wouldn't handle all the ways you could create a cookie, e.g. when creating it via .new or using the name setter.

This creates some implicit restrictions when using the API in a builder flow, enforcing a specific order of property assignments.

I don't see how this could be avoided.  Otherwise you could "build" an invalid cookie and wouldn't even know it.

The answer is that in order to validate the cookie value, you need to validate explicitly when building an instance. I don't think a setter should apply implicit validation on an incomplete cookie.

@straight-shoota Oh I see.  You were proposing this method be public, then just also call it in the constructor.  What are your thoughts on how it should work then?  Like .valid? : Bool, or .validate! : Nil | NoReturn, or?

Prob. both?


Move OOTB Connectors to plugins directory

Ideally dropins directory should be used to configure new features / external artifacts. We need to move the set of connectors that are shipped in the OOTB product from dropins to plugins directory.

[x] TOTP
[x] Email OTP
[ ] SMS OTP
[ ] Social Login Connectors
[ ] Basic authenticator

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


OutOfMemory Exception

Hi Andrei,
Thank you for your fantastic plugin but I wonder if you could help me?
I have two devices that I am playing with, one API 19 and the other API 27.
I am using your CarouselView with FFImageLoading and have just recently switched my PNGs to SVGs because of scalability.
My problem is that each card consumes 8MB of memory when creating the bitmap for the SVG. On the older device this seems to hit both the heap and total memory whereas the heap on the newer device remains untouched. (On more complicated cards which switches between 2 SVGs it uses around 16MB)
After about 30 swipes on the old one I get the exception. The newer device hasn't had one yet but I am wary about the fact that the memory consumption does not drop.
I have the CacheType set to None on SvgCachedImage but the memory consumption still goes up. I use InvalidateCacheAsync in TrimMemory as suggested by FFImageLoading which periodically returns some of the memory.
Please can you advise?
Many thanks,
Tom

Hi @garnelsoftware seems it's FFImage issue something is not disposed

Thanks Andrei.
I have put an invalidatecache & GC collect in the card disappearing & back/home navigate and it stops the OOM.
A lot of internet searches on ffimageloading seems to imply that the carousels in use aren't attempting to dispose/destroy the images.
Do you have any advice on necessary cleanup when using the carousel? (i.e. which method to override etc) I feel that my approach is currently ineffecient and wasteful.

No, better approach would be:
class BackProcessor: BaseBackCarouselViewProcessor {
    override HandleCleanView(...) { // overrirde this method and
        base.HandleCleanView(); // call base method
// here your code
 }
}

And try
var carousel = new PanCardView.CarouselView(new BaseFrontCarouselViewProcessor(), new BackProcessor()) { IsViewReusing = false }

Great! Thanks Andrei, I'll try that later! I really appreciate your help, thank you again.


docs: run docgen and make upgrade guide update v1.0.x

Fixes #N/A
Description
Updates docs for upgrade guide
How was this change tested?
make docgen
Does this change impact docs?

[x ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

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

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

Totals

Change from base Build<PHONE_NUMBER>7:
0.01%

Covered Lines:
5922

Relevant Lines:
7464

💛  - Coveralls


feat: new option to control how staged highlights are derived

Commit message:
Colors for staged states derives from regular states (e.g: a hunk that is
added and staged has a color which derives from the color a hunk has if it
added and not staged).
This commit adds a parameter to determines the derivation factor.
For context (not included in the commit message):
Staged highlight are unreadable. They derive from my colors
highlight GitSignsAdd guifg=#4d783f
highlight GitSignsDelete guifg=#79323d
highlight GitSignsChange guifg=#9c9d0d
These colors are inspired from catppuccin but less flashy (because it's annoying to have brightful colors on dark theme) but as you can see the derived highlights are way too dim. So I use my PR to have a factor of 0.7 and now it looks cool
Before

After

Fixed lua style
Don't know why doc-check fail check https://github.com/lewis6991/gitsigns.nvim/actions/runs/11986453933/job/33419513593?pr=1148. It says I cannot import config but it works locally and the rest of the codebase import config like I do...
As for the failing test I cannot reproduce in local so it's random I think https://github.com/lewis6991/gitsigns.nvim/actions/runs/11986453933/job/33419514194?pr=1148

No features please.

Please document clearly that PR for features are rejected so we don't waste our time.
The current design is not acceptable according to me. You create a lot of highlight for staged states and I don't think it's documented (or I didn't find where). And as it's not currently configurable users can end up with unreadable colors like I do. So it's technically a feature but I consider it as fixing a previously majorly flawed design. So from a UX it's more of a fix than a brand new feature.
So might you reconsider your stance ?

No.

Ok then please consider document it in the readme because we know before wasting our time coding.
I don't understand why you prefer your project not improved but it's your choice anyway. Like it's your choice to talk without trying to be polite.


When Log does not exist, XmlOut is null

#684 is related issue
UPDATE: This is ready for merging. I am working on card with <IP_ADDRESS> fixes, and will release this card and the <IP_ADDRESS> fixes together.

This issue is fixed in container 0.19.1, closing the card


Python Interpreter: Show in the CodeCompletion window all names containing the given string

My suggestion is to extend the completion functionality to include all names that contain the entered string, not just those that start with it. Essentially like all IDEs and text editors do nowadays.

I find the code completion feature in IDEs a generally good way to learn and discover new APIs. It saves me from having to look into the actual documentation. But for that to work best, the suggested code completions should not be restricted to those that strictly start with any particular string. Silly example: I want to get the current address, but I don't know its specific name. Currently, the code completion will only tell me the answer when I enter "current", but then I should already know the first part of the name (i.e. 'current'). Ideally, I could just type "address" and it would show me the desired variable name.
There is a couple of important points:

I use bold to highlight the matching part of the entered string in the CodeCompletion window.
That could be achieved with Html. But the problem is that Html is very slow. It takes about ten times longer to create than a simple JLabel. These numbers don't mean much, but creating 300 JLabels takes about 35 ms on average without Html and 200-250 ms with Html, which is unacceptable.
So I've implemented a new small label class with the paintComponent() method overridden.
While I was trying to mimic the standard Look&Feel settings, I discovered a related problem that can be addressed as well.

The code completion entries look almost unreadable with some Look&Feels because of the color choices. Since I had already implemented my own label class, I decided to fix it a bit and add some code to change the text color to white or black at runtime, in case the current color's not contrasting enough. The approach is very crude, as the originally selected colors are mostly erased in the process, but I couldn't think of anything better.  I've tested it with all look&feels available to me. The before/after results are below.

Look and Feel tests
The popup with the list selection background color is shown at the top row (painted specifically for the demonstration), and without it at the bottom. The latter turned out to be meaningless, though, since there are no changes.
GTK+ (on KDE Plasma)

Metal

Nimbus
This one has a different selection color, but that's what getBackground() gives us. Funnily enough, I've stumbled upon one stackoverflow post that actually described this behavior as a bug. In that case, my version is supposed to be the correct one.

CDE/Motif
Anti-aliasing wasn't enabled on the "before" one. And now it is.

Windows (on Windows 10)

Windows Classic (on Windows 10)

GTK+ with GNOME 4
Gnome provides the ability to change the system theme (to dark or light) and select so-called accent colors. These options affect the background and list selection colors in the GTK+ look&feel. I haven't noticed similar behavior in Windows 10 and KDE Plasma, even though they also allow us to change these settings. Here is an example with a pink accent color:

IDEs usually have some sort of completion prioritization feature, where the most useful suggestions may end up at the top of the list. In this PR, similar thing is accomplished by separating completions logically into two groups: those that strictly (letter case matters) start with the entered string, and all others.

Currently, the completion generation code is called twice for every input change. Once from the functions "insertString", "replace" and "remove", that cover cases like character insertion, deletion and copy/pasting. That part is okay.  What's not okay is the second call that comes from the "keyPressed" listener function. I've failed to comprehend the reason behind it. I believe it's a bug, since there's no reason to update completions literally every time any key is pressed (ctrl, alt, f2, num lock, ...). The only visible change after removing it is that completions are no longer updated when I move the caret with the arrow keys. To remedy this I moved that functionality to a separate switch-case statement.

What's not okay is the second call that comes from the "keyPressed" listener function. I've failed to comprehend the reason behind it. I believe it's a bug, since there's no reason to update completions literally every time any key is pressed

It does seem unnecessary to update so frequently.   It seems like this code could be a bit more robust in terms of how it handles different types of input.  Also, we typically buffer input like this so that if the user types fast, there will not be many updates, but 1 update after the events are detected (or after some timeout period).
As far as the overall PR, I haven't reviewed the details, but it seems that if this is a substantial change in behavior, then this feature could be made optional.  Thus, users who prefer the old way of completions can still use that style.

I added an option to the settings to restrict the list of completions. It's On by default. With it, the list will contain the same entries as before.

I'm going to close out this PR because they Jython support is fading, and it doesn't seem worth the effort to try to get this up to date with the latest code base.


Validate overrides for attr accessors and T::Struct props

Closes #4094
Closes #4100
Closes #1694
This PR proposes a few changes to type check attr_accessors and props that implement abstract methods. The implementation consists of doing the following:

Sorbet was not trying to check overrides for methods with isRewriterSynthesized true. I've removed those checks to let it type check overrides for any method. Please, let me know if this is okay or if there are other consequences I'm unaware about
The type signature for props are generated internally by Sorbet, using the arguments passed to prop. Therefore, I don't see a way of indicating that a prop is an override other than adding another option. This one a bit odd, since the option does nothing in runtime, but allows us to mark the prop as an override and correctly type check

Please, let me know if this is the right direction to fix this issue and if I am missing something. The example below displays the new override option (which again does nothing in the runtime).
module Interface
  extend T::Sig
  extend T::Helpers

  sig { abstract.void }
  def foo; end
end

class A
  include Interface

  sig { returns(Integer) }
  attr_reader :foo # error Integer doesn't match void
end

class B < T::Struct
  include Interface

  prop :foo, String, override: true # error String doesn't match void
end

Motivation

Sorbet should be able to type check overrides implemented in attributes or props.
Test plan

See included automated tests.

Please, let me know if this is the right direction to fix this issue and if I am missing something.

Heads up that this is likely to cause a ton of errors on Stripe's codebase. Please let us know as early as possible once you have something worth running over our codebase, because it could easily be the case that this introduces thousands of errors for us to fix.

@jez yes, every attribute or prop that implements abstracts will - at least - alert that the implementation is not marked as override (there could be more errors if there are type mismatches of course).
Do you believe the general idea of the implementation is correct and worth pursuing? If that's the case, I'll check if all tests are passing and test it on our code base as well, before asking for formal reviews.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_JPwkOGGfPEn2wT
→ https://go/builds/bui_JPwk6qLe6doCXf

Thanks. It looks like this introduces ~200 errors on Stripe's codebase. That's not impossible to fix, but it will require some dedicated time to fix.
Another question raised by this PR: sorbet-runtime currently does not do the same variance checks for override that would be done for normal methods:
https://github.com/vinistock/sorbet/blob/26f2472b8eaf43a4ae325198006dd9156385d370/gems/sorbet-runtime/lib/types/props/decorator.rb#L48-L52
I wonder if we should:

add the runtime variance checks here, like would be done for sigs.
allow the prop DSL to accept an allow_incompatible flag, like is possible for sig {override(allow_incompatible: true)...} to skip the variance checks in the runtime / statically.

I agree that we should add the runtime checks and add an allow_incompatible option. But before I even take a stab at it, I'd like your thoughts on another issue.
This implementation breaks certain tests. For example, def_delegator will now trigger errors when overriding methods that exist somewhere in the hierarchy.
class EnumerableUsage
  include Enumerable

  def_delegator :thing, :each # implements an abstract method but is not marked as override
end

This is happening because I removed the check for synthesized methods. I think that in order to fix this in a deterministic way, we'd need the rewriters to include a special flag indicating whether we need to check for overrides or not (e.g.: skipOverrideChecks), which can then be used in validator.cc to not throw errors.
What do you think?

The two latest commits implement:

a way of skipping override checks for synthesized methods, so that we don't validate overrides in places where it does not make sense, such as in delegators
the implementation of allow_incompatible for props in the static analyzer

I am only missing the runtime validations for prop overrides.

I've finished adding runtime checks for prop overrides. It was messier than I anticipated. Let me know if you have concerns and how we can address them. I did leave a few comments in the code to try to explain my rationale.

I'm going to go ahead and reassign this to @jez since it looks like you guys have already had some discussion and I don't think I have enough context to review this in a timely fashion.

Thanks for the update @vinistock
I'm out today, and monday is a US holiday. I'll get to this some time next week.


It's a managed identity... what do you mean by User ID?

Shouldn't that value be derived from the token?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 3a306eb6-f721-1911-0b9f-c7d5c5de47d9
Version Independent ID: db7b5e6c-2e4b-74db-dd90-ed0b1ffb5a54
Content: Connect with Managed Identity - Azure Database for PostgreSQL - Single Server
Content Source: articles/postgresql/single-server/how-to-connect-with-managed-identity.md
Service: postgresql
Sub-service: single-server
GitHub Login: @sunilagarwal
Microsoft Alias: sunila

@DennyWebb
Thanks for your feedback! We will investigate and update as appropriate.

@DennyWebb
In Azure Database for PostgreSQL, you can use both system-assigned and user-assigned managed identities to authenticate. When using a managed identity, you need to create a user in the database that represents the managed identity. The user ID is the name of the user that you created in the database.
When you retrieve the access token from the Azure Instance Metadata service, you pass the client ID of the managed identity as a parameter. You then use this token to authenticate with the database, passing the user ID as the username and the token as the password.
So, to answer your question, the user ID is not derived from the token. It is the name of the user that you created in the database to represent the managed identity.


[BUG:MAC] Swapping ERC-20 blocks changing to asset

Describe the bug
On Mac: When opening the swap view and trying to swap from an ERC-20, tried with USDT and USDC, to another available route it is not possible to change the to asset until switching the assets or the input. See video for reference
To Reproduce
Steps to reproduce the behavior:

Go to Swap view
Select USDT or USDC
Select available swap route
See error

Expected behavior
Able to change To asset
Screenshots
https://github.com/vultisig/vultisig-ios/assets/167348323/b2651ecb-acf4-45c7-ac52-965e5887c49b
Desktop (please complete the following information):

OS: 14.5
Version 30

fixed by https://github.com/vultisig/vultisig-ios/pull/704


ITMS-90809: Deprecated API Usage - New apps that use UIWebView are no longer accepted. Instead, use WKWebView for improved security and reliability

If you are creating an issue for a BUG please fill out this information. If you are asking a question or requesting a feature you can delete the sections below.
Failure to fill out this information will result in this issue being closed. If you post a full stack trace in a bug it will be closed, please post it to http://gist.github.com and then post the link here.
Bug Information
After using this plugin am getting bellow attached issue and my app rejecting from Test-flight IOS
Version Number of Plugin:2.2.1
Device Tested On:
Simulator Tested On:
Version of VS: 16.8.5
Version of Xamarin:5.0
Versions of other things you are using:
Attached screen more info about versions
Steps to reproduce the Behavior
Install plugin and upload build to Test-flight
Expected Behavior
Actual Behavior
Code snippet
Screenshotst

Any solution?

Have you tried this with the 3.0.7 beta nuget?


building described in readme not working for new go versions

Tried to run go get as described in the readme, but it fails:
go get github.com/G-Research/thanos-remote-read

go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.

go install github.com/G-Research/thanos-remote-read@latest works
go version go1.18 linux/amd64

Thanks for spotting; this is a general problem with Go, see https://utcc.utoronto.ca/~cks/space/blog/programming/GoAndDeprecatingGoGet for some commentary. Will update the readme as this needs >=1.17 now (sadly there's not a single backwards compatible command that also works on Go versions older than 1.16).


add block_group_id to trips.txt and deadheads.txt

This is a proposal to add block_group_id to trips.txt and deadheads.txt, and block_id to deadheads.txt. The intention to is to handle the need to group blocks together when you are using EV's. Traditionally, a block_id can cover either the entire string of trips for a specific vehicle over a day or model the peak work. It does not have to show what 1 vehicle will do for an entire day. This becomes important when trying to keep track of the amount of energy in a battery for a given vehicle.
block_id
Add to deadheads.txt to keep trip of which block is part of a deadhead.
block_group_id
A unique integer value per service_id, which helps group together all events that 1 physical vehicle does on a single service day.

(3) would satisfy the use case here, and I believe could be valuable. The rail side often primarily matches trips to equipment in "cycles," which are often combinations of blocks in scheduling systems (i.e. the same as the block_group_id proposed).
I'm fine adopting ods_block_group_id as a standard ODS field for trips — the alternative being that we each use our preferred nomenclature e.g. "ods_cycle_id" on our end with the same functionality across producers.


Fix typos

Great work @pbelcak!

Thanks for merging! I look forward to see training a foundational generative model with your method.


feat: benchmarker make targets [DTSS-488]

What this PR does / why we need it:

Adds benchmarker make targets to bootstrapped repositories

JIRA ID: DTSS-488

Notes for your reviewer:

:tada: This PR is included in version 1.13.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Purchase History Graph not displaying

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
When viewing pricing for a given part the purchase history section's graph does not display the bars properly. All the other pricing graphs appear fine but all the purchase history graph stay blank. The labels for each record are made on the graph but the values are non-existent.
Here are 3 examples from the demo site:

And one from the site I am working on

Steps to Reproduce

Go to any part with purchase order history
Look at pricing
Purchase history appears blank

Expected behaviour
I expect the graph to display properly. The bars should be non-zero and display past cost information
Deployment Method

[X] Docker
[ ] Bare metal

Version Information
Version Information:
InvenTree-Version: 0.12.2
Django Version: 3.2.19
Commit Hash: 1d51b2a
Commit Date: 2023-07-25
Database: postgresql
Debug-Mode: False
Deployed using Docker: True
Platform: Linux-4.18.0-477.10.1.el8_8.x86_64-x86_64-with-glibc2.36
Installer: DOC
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.0.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}, {'name': 'AVL Demo', 'slug': 'companyavldemo', 'version': '0.1.0'}]
Please verify if you can reproduce this bug on the demo site.

[X] I can reproduce this bug on the demo site.

Relevant log output
No response

@Elitearcanist thanks for reporting :)


Issue when using ts-mixer with Objection.js

Hi:
I recently notice when I use ts-mixer (https://www.npmjs.com/package/ts-mixer) to construct the Model with a trait, eg:
class ModelBase extends Model {...}
class ModelTrait {...}
class User extends Mixin(ModelBase, ModelTrait) {...}

this line will throw error: https://github.com/Vincit/objection.js/blob/master/lib/model/Model.js#L866. The reason is because for Mixin, somehow the modelType.prototype can be undefined in this case, which throws 'Cannot convert null or undefined to object' error.
An easy fix is to add one check here (https://github.com/Vincit/objection.js/blob/master/lib/model/Model.js#L861) so we have:
if (modelClass === Model || modelClass.prototype == undefined) {
    // Stop recursion to the model class or its prototype is null or undefined
    return [];
  }

Is this a reasonable ask?

I see no harm in adding that check. Feel free to create a PR and I'll merge it.

I see no harm in adding that check. Feel free to create a PR and I'll merge it.

thx for the prompt response. Here is the PR: https://github.com/Vincit/objection.js/pull/2153

PR merged.


Drag & Drop in EXPLORER pane

Is it possible to add Drag & Drop feature in EXPLORER pane?

I submitted a feature request to vscode a while ago that would enable this feature: https://github.com/Microsoft/vscode/issues/24846
Right now vscode doesn't expose the ability to do this with their API.


Sharpsploit clipboard monitor

Monitors clipboard for a set amount of time and returns any text data found.
Covenant task to follow.

Meaning to PR to dev....


Implement dynamic parameter encoding. New simple Keyboard and Buttons system.

Still a WIP. These commits are to show how I thought about implementing the way many different parameters through-out the SDK need to be json_encoded.
Originally it was only ever reply_markup, but as the API has grown, there are now over 6 or 7 different methods that need specific parameters encoded.
I think I have done this in a backward compatible way.
The second commit is for the new Keyboard and Button system.
The older system just did not seem to follow any of the same names or objects compared to the docs. Whilst this is still just a glorious array building wrapper, the new system allows anyone to read the docs and then attempt to pass in an object with exactly the same name.
The only exception to this rule is that the ->row() method doesn't exist in the docs, but is very intutive when it is being used building up a keyboard.
The fluent system has also been tweaked so that IDE's will only allow one optional item to be set and not continue chaining etc.
Looking forward to feedback! Go easy on me!

PS.
I give up with style ci. No idea what it wants sometimes. Very annoying.

I forgot to add an example of the keyboard in use.
The following is all done in the IDE really quickly because the autocomplete works. You can either use the fluent method to make each button, or if you need to...use the create method to put all the data in the button via an array....personally I think it's better to delete the create method on a
button - what do you think (the yes button below)?
ReplyMarkupKeyboard::create()
            ->row(
                KeyboardButton::text('MyPhone#')->setRequestContact(true),
                KeyboardButton::text('MyLocation')->setRequestLocation(true)
            )
            ->row(
                KeyboardButton::text('No'),
                KeyboardButton::create(['text' => 'Yes', 'request_location' => true])
            )
            ->row(
                'Simple',
                KeyboardButton::text('Make Poll')->setRequestPoll(KeyboardButtonPollType::setAsQuiz())
            )
            ->row(
                KeyboardButton::text('All by myself 😞')
            )
            ->setResizeKeyboard(true);

Of course, we can always do it the manual way, but this I think is so easy to mess up with the nested arrays:
ReplyMarkupKeyboard::create(
            [
                'keyboard'          => [
                    [['text' => 'one'], 'two', 'three'],
                    [
                        'four',
                        ['text' => 'contact', 'request_contact' => true],
                        ['text' => 'Make Poll', 'request_poll' => ['type' => 'quiz']],
                    ],
                    ['seven'],
                ],
                'resize_keyboard'   => true,
                'one_time_keyboard' => false,
            ]
        );

That type of code freaks me out! So messy.

This is good and I like the approach you've taken.
I noticed the naming doesn't match the docs, tho.
Docs: ReplyKeyboardMarkup
SDK: ReplyMarkupKeyboard
And yeah we can remove the create method from the button objects.


.builds: test is failing

Ebitengine Version
2bad1b928fc043b9205554be4388d61ed73fb06e
Operating System

[ ] Windows
[ ] macOS
[ ] Linux
[ ] FreeBSD
[ ] OpenBSD
[ ] Android
[ ] iOS
[ ] Nintendo Switch
[ ] PlayStation 5
[ ] Xbox
[ ] Web Browsers

Go Version (go version)
n/a
What steps will reproduce the problem?
Run Sourcehut tests by having .builds directory.
What is the expected result?
The test passes
What happens instead?
The test fails

builds.sr.ht — failed to submit sr.ht job: gqlclient: HTTP server error (403 Forbidden): gqlclient: server failure: Authentication error: Invalid or expire

Anything else you feel useful to add?
The plugin is broken now?

Suspended the bridge.


Audio or Video Support for campaigns

Please don't review this PR.

@RajasekharBa-Kore @VenkateswararaoVe-Kore @KambagiriswamyBo-Kore Please review this PR.

@VenkateswararaoVe-Kore @RajasekharBa-Kore Can you please review.


Refactor helpers

@src-code

CLA is valid!

Coverage remained the same at 100.0% when pulling 560e2182f58a1699b701888815939e46db2a5af4 on refactor-helpers into c11fa7969c01634250c518fc123add756b5b5236 on refactor.


Step towards automation

The following changes are a suggestion on how to automate pull requests, and thus minimizing management time, and approval time for pull requests.
A GitHub Action has been set up to run tests and approvalTests when pushing a branch. Note; currently any pushed branch will start this Action. Tests will run on Ubuntu 18.04, Windows Server 2019 and macOS 10.15, all on both JDK 8 and 11.
Some tests have been corrected, in order for all tests to succeed on all above mentioned platforms and Java versions.

@Rune-Christensen somehow the code you are referencing got included in an attempt to sign off a commit. I'll be deleting this pull request and create a new one.


Adds support for specifying objectEncoding for secrets

Reason for Change:
Some secrets are stored encoded in KeyVault (for example, retrieving a pfx certificate from the secrets endpoint returns the base64 encoded certificate).  Many applications will be looking for or expecting the unencoded binary file.
This change adds support for specifying the objectEncoding of a secret.  The supported options are 'hex', 'base64' and 'utf-8'.  The default if not specified is 'utf-8' as that is the current behavior (value from KeyVault is written straight to a file).  If either 'hex' or 'base64' are specified, the secret string will first be decoded before being written to the file.
Requirements

[x] squashed commits
[ ] included documentation
[ ] added unit tests and e2e tests (if applicable).

Issue Fixed:
Fixes #89
Please answer the following questions with yes/no:

Does this change contain code from or inspired by another project? If so, did you notify the maintainers and provide attribution?
No

Special Notes for Reviewers:
Docs and e2e tests will be coming, but I wanted to get this part out for review while I work on that

@aramase thanks for the review, I've added the e2e tests and updated the readme.
Prior to rebasing this change ontop of the latest changes I had the e2e tests passing locally.  However after rebasing (due to merge conflicts) I'm hitting some errors with the e2e tests.  Specifically the 'csi-csi-secrets-store-provider-azure' pod is crashing on startup with the message:
unknown flag: --endpoint
Usage of /bin/secrets-store-csi-driver-provider-azure:
      --attributes string     volume attributes
      --context-timeout int   context timeout in seconds for provider calls (default 110)
      --debug                 sets log to debug level
      --permission string     File permission
      --secrets string        node publish ref secret
      --targetPath string     Target path to write data.
      --version               prints the version information

This doesn't look directly related to my changes, but I'm out of time investigating today.    Otherwise I'll look into it more tomorrow.

@aramase thanks for the review, I've added the e2e tests and updated the readme.
Prior to rebasing this change ontop of the latest changes I had the e2e tests passing locally. However after rebasing (due to merge conflicts) I'm hitting some errors with the e2e tests. Specifically the 'csi-csi-secrets-store-provider-azure' pod is crashing on startup with the message:
unknown flag: --endpoint
Usage of /bin/secrets-store-csi-driver-provider-azure:
      --attributes string     volume attributes
      --context-timeout int   context timeout in seconds for provider calls (default 110)
      --debug                 sets log to debug level
      --permission string     File permission
      --secrets string        node publish ref secret
      --targetPath string     Target path to write data.
      --version               prints the version information

This doesn't look directly related to my changes, but I'm out of time investigating today.  Otherwise I'll look into it more tomorrow.

Ignore this, I got it figured out.  Didn't do a full build after the rebase :)

/azp run pr-e2e-azure

/azp run pr-e2e-azure