Make VIEWPORT_RULER_PROVIDER importable from @angular/cdk

Bug, feature request, or proposal:
Make VIEWPORT_RULER_PROVIDER importable
What is the expected behavior?
The following import should work:
import { VIEWPORT_RULER_PROVIDER } from '@angular/material';
What is the current behavior?
Can import ViewportRuler, but can't import VIEWPORT_RULER_PROVIDER
What are the steps to reproduce?
import { VIEWPORT_RULER_PROVIDER } from '@angular/material';
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://goo.gl/DlHd6U
What is the use-case or motivation for changing an existing behavior?
While building components, there is still a use case for using VIEWPORT_RULER_PROVIDER as it is the case in radio module
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
2.0.0-beta.8
Is there anything else we should know?
No

FYI this will be moving to @angular/cdk soon

This seems to work now via @angular/cdk/scrolling.


fix(v2): pass all props to CodeBlock component

Motivation
Fixes  #5180
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
See reproducible steps from  #5180
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

👍


Goodbye MagicNumber

Sorry for the inconvenience, but could you please update the PR to match the most recent commits?

Np. I edited PR as requested. Please review again. Tks!


Add support for testing Keycloak extensions

This adds support for testing Keycloak extensions in the current
project that can be found in the project classes folder.
This enables extension testing with keycloak-testcontainers without
having to package the extensions first.
Fixes #13

Thanks @thomasdarimont !


Fixed #29396 -- Fixed crash when using __year lookup with OuterRef.

https://code.djangoproject.com/ticket/29396

This patch seems to fix my issue, thanks! :+1:

tests/lookup might be the place for the test. Try to reuse existing models if possible as adding models increases the time it takes to run all the tests.

@timgraham Thank you, please review the pr.

I don't know how to do with this code
`Author.objects.filter(date__year__gte=OuterRef("pub_date"))`

We only want to compare the year but we can't just get the year from pub_date with OuterRef,  right?

@Windsooon you could if the outer query annotated pub_date_year=TruncYear('pub_date') and you referred to it using (date__year__gte=OuterRef('pub_date_year')).

The test seems to pass without the fix?

Yes, because self.assertTrue(years.query) does not actually compile the query to SQL. @Windsooon You need to use any of methods evaluating the queryset, or assert str(years.query)

When I look at the sql, I found that the filter didn't work.

I do not understand what you are trying to achieve by putting the filter inside TruncYear. As far as I am aware, only the Count aggregate supports filter keyword.
I don’t think there is a way to make an alternative queryset to compare with. You can use TruncYear/ExtractYear to annotate the year, but it will still work only with the fix:
Author.objects.annotate(date_year=ExtractYear("date")) \
              .filter(date_year__gte=OuterRef("pub_date"))

is identical to
Author.objects.filter(date__year__gte=OuterRef("pub_date"))

Thank you @mitya57, so what we can do now is
 self.assertEqual(str(year.query) == SQL)?

self.assertEqual(str(year.query), sql) sounds fine as long as the test is only run on one particular DB backend.

I'd use an assertion for the results of the query (as the majority of Django's tests do) rather than the SQL.

I agreed with Tim. So I add another field for testing.

@timgraham anything I can do to speed up the merge? the checks didn't pass give 404 not found.

@timgraham anything I can do with the PR?

@Windsooon, Tim isn't available but I think you should start by addressing the comment he left back in November.
https://github.com/django/django/pull/10023/files#r252316281
https://github.com/django/django/pull/10023/files#r232433323

@charettes Thanks, I found I forget to submit my comments :<. Weird design by Github, right.

FWIW this issue doesn't have anything to do with subqueries/OuterRef. The __year lookups simply never added support for non-direct/expression values. The following test diff reproduces the issue without the use of subqueries
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index be1f36c89f..fe724ee41d 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -135,6 +135,10 @@ class DateFunctionTests(TestCase):
                 qs = DTModel.objects.filter(**{'start_datetime__%s__gte' % lookup: 2015})
                 self.assertEqual(qs.count(), 2)
                 self.assertEqual(str(qs.query).lower().count('extract'), 0)
+                qs = DTModel.objects.annotate(
+                    start_year=ExtractYear('start_datetime'),
+                ).filter(**{'end_datetime__%s__gte' % lookup: F('start_year')})
+                self.assertEqual(qs.count(), 2)

     def test_extract_year_lessthan_lookup(self):
         start_datetime = datetime(2015, 6, 15, 14, 10)

Superseded by #11393.


fix: add text to stop pipeline btn

During the previous office hours, we discussed having a text saying Stop Pipeline with the cross btn would be better for user exp,
Please review the screenshot

/cc @ankitm123

A red button with cross icon and stop pipeline text would be good!

Hello @ankitm123, is this good?

Looks good!


Wishlist: pointrange and ribbons

Especially for regression coefficients.
See the nice answer by @karoliskoncevicius here: https://stackoverflow.com/a/75971206/4115816
(HT @vincentarelbundock)

Thinking about this, the nicest user interface might be to enable NSE with a data argument. I'm not sure how this would interact (conflict?) with the existing plot2.default and plot2.formula methods. But this NSE style dispatch would be a cool alternative that provides a nice interface for  other plot types that don't take a "standard" set of arguments. (E.g. Density plots, where we've currently been discussing a one-side formula option #21).
Proof of concept:
pointrange = function(
    x,
    y,
    ymin,
    ymax,
    data
  ) {

  ## NSE ----
  nl = as.list(seq_along(data))
  names(nl) = names(data)
  x = eval(substitute(x), nl, parent.frame())
  if (is.numeric(x)) x = data[,x]
  x_seq = seq_along(x)
  y = eval(substitute(y), nl, parent.frame())
  if (is.numeric(y)) y = data[,y]
  ymin = eval(substitute(ymin), nl, parent.frame())
  if (is.numeric(ymin)) ymin = data[,ymin]
  ymax = eval(substitute(ymax), nl, parent.frame())
  if (is.numeric(ymax)) ymax = data[,ymax]

  plot.new()
  plot.window(xlim = range(x_seq), ylim = range(c(min(ymin), max(ymax))))
  grid()

  points(x_seq, y, pch = 16)
  segments(x_seq, ymin, x_seq, ymax)

  axis(1, at = x_seq, x)
  axis(2, las = 2)

  title(ylab = "Estimate")
}

Example use:
mod = lm(mpg ~ hp + factor(cyl), mtcars)
coefs = data.frame(names(coef(mod)), coef(mod), confint(mod)) |>
  setNames(c("x", "y", "ymin", "ymax"))

pointrange(x = x, y = y, ymin = ymin, ymax = ymax, data = coefs)

Not sure about introducing NSE. The base function doesn't have it, right?
Feels like this introduces code complexity and departs from the spirit of the original.
Isn't it easy enough to call with(plot2())?

Standard non-standard evaluation via formula+data interfaces is already messy enough. Non-standard non-standard evaluation without formulas is a can of worms, I would prefer to avoid. Otherwise you have to worry about transformed variables again, NA handling, etc.
Plus pointrange() would rather be helper function, wouldn't it? For the user something like plot2(tidy(...)) or plot2(coeftest(...)) or something like that would be easier, I guess. And then you can easily avoid using non-standard evaluation by computing the necessary variables explicitly in the plot2() method.

Isn't it easy enough to call with(plot2())?

The difficulty, at least as far as I can see, is that there's no sensible way to specify a self-contained formula syntax that allows ymin and ymax for the error bars.
Ofc vanilla plot() doesn't take ymin/ymax arguments either, though there's nothing stopping us from supporting them with plot2() (or some helper function like pointrange). But this isn't super user-friendly from my view:
plot2(x = dat$term, y = dat$term, ymin=dat$conf.low, ymax=dat$conf.high).
But I hear you both on the potential pitfalls of NSE, particularly when it comes to transformed variables. Let's revisit once we have the palette and legend defaults finalized, and also the faceting stuff.


File corruption and loss of data

I'm experiencing sporadic corruption of LibreOffice Calc ODS files when saved to google-drive-ocamlfuse. I can't determine any specific pattern that leads to the issue. I'd estimate it is occurring 1-5% of the time I save ODS files via LibreOffice. Below is a typical example:

Open the ODS file from mounted location.
Edit in LibreOffice.
Save every 10 minutes or so. Occasionally, LibreOffice will indicate the the file has been modified since it was opened and request confirmation that I still wish to save anyway. This is not accurate as the account is single user and no other machine is connected.
Close the file.

On reopening the file, LibreOffice indicates the the file is corrupted and asks if I wish to attempt a repair. If I choose yes, the file will open, but some sheets are missing etc.
I have managed to recover most of the lost data using the google drive web interface to revert to an earlier version of the files, but clearly it's a significant problem. Are there any updates in the 0.7.0 release that might solve this? I couldn't see any related issues that were addressed.
Environment:

Version 0.6.25
4.17.19-1-MANJARO
LibreOffice version <IP_ADDRESS> (Build ID: 6.0.6-3)

Are there any updates in the 0.7.0 release that might solve this? I couldn't see any related issues that were addressed.

Yes, I made some fixes that might solve your issue.

LibreOffice will indicate the the file has been modified since it was opened and request confirmation that I still wish to save anyway.

This shouldn't happen anymore. Let me know if you still experience this behavior.

That's great to hear. I'll update to 0.7.0 and report back after I've had some time to test.

Just to update, I've been using 0.7.0 for a few days now, and while I haven't yet encountered the corruption issue, the "This document has been externally modified. Do you want to continue saving?" notification is still an issue.
I haven't seen it in LibreOffice yet, but am seeing it in text files using Mousepad 0.4.1 (XFCE 4.12). Will continue testing.

I think you can close this issue. I've been using 0.7.0 for a couple of weeks on a number of machines and haven't encountered the corruption issue.
The "This document has been externally modified..." message I noted in my previous comment was only seen once, so I'm thinking it's possible the file truly wasn't closed properly on another machine.
I've seen some file cache/syncing issues with the new version, but I'll open a new issue if that persists.


Heroku

Herokuuuuuu
Closes #94

Codecov Report

Merging #96 (c6f9bb6) into dev (0d8aeae) will decrease coverage by 0.32%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##              dev      #96      +/-   ##
==========================================
- Coverage   97.29%   96.96%   -0.33%
==========================================
  Files          15       15
  Lines         296      297       +1
==========================================
  Hits          288      288
- Misses          8        9       +1

Impacted Files
Coverage Δ

api/mod/src/database/database.py
72.72% <0.00%> (-7.28%)
:arrow_down:

Continue to review full report at Codecov.

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

Yeah the changes to the load script are just for refactoring, which I recognized through doing this. I think its nothing very special so we can just keep it in here?


Assign any other text to a "default" token.

Basically, I was wondering if it's possible to have it so that when a piece of text doesn't match any other tokens, it is assigned a default token.
For example:
 #[derive(Logos, Debug, PartialEq)]
 #[logos(skip r"[ \t\n\f]+")]
 enum Token {
     #[token("fast")]
     Fast,

     #[token(".")]
     Period,

     #[default()]
     Text,
 }

And any text that isn't fast or . would be assigned to Text. I have tried doing this with a regex but it didn't work, perhaps I'm missing something? I'm new to using logos, so maybe I'm just thinking about this incorrectly, but this library has a shocking lack of examples (eg. I wasn't sure how to use a for loop with the lexer)

Hello! This used to be the case with prior version of Logos, but now the lexer returns an error Err(T::default()), instead of Ok(Token...). More about that here: https://logos.maciej.codes/attributes/logos.html#custom-error-type.
With the current Logos version, you could do something like this (not tested):
#[derive(Default, Debug, Clone, PartialEq)]
enum LexingError {
    /* Add any other variant */
    #[default]
    InvalidToken,
}

#[derive(Debug, Logos, PartialEq)]
#[logos(error = LexingError)]
#[logos(skip r"[ \t\n\f]+")]
enum Token {
    #[token("fast")]
    Fast,

    #[token(".")]
    Period,

    Text,
}

fn main {
    let mut lex = Token::lexer("Some random fast sentence.");

    lex.map(|res| {
        if Err(LexingError::InvalidToken) == res {
            return Ok(Token::Text);
        }
        res
    }).for_each(|res| { /* do stuff */ });
}

Could there be an option in the future where you can set a default/fallback?

Yes I think so :)
If you know how to create derive macros, I think you could easily implement this

If you know how to create derive macros, I think you could easily implement this

I'm actually still a bit of a beginner to rust, and I'm using logos for a project of mine (It was recommended to me by someone on a discord server)
But other than this bit this it's very nice, just a little confusing at times since there aren't many examples to follow for certain things.

Did you check the handbook? I tried to make the documentation a bit more comprehensive :)

Did you check the handbook? I tried to make the documentation a bit more comprehensive :)

It's much better, but the problem is when you try to use the slice method on the lexer, it works with the old example of spamming next but doesn't with a for loop since rust calls into_iter implicitly, so that's the problem I had.

What you did in the json example however is something I hadn't thought of:
while let Some(token) = lexer.next()

and while it isn't as readable as a simple for in which is the ideal scenario, it's not bad and does work for me.
Adding these examples really helped, thank you. :)

@jeertmans Would it be possible in the future to create a new macro where you have an option to set a default/fallback?

Hello! This used to be the case with prior version of Logos, but now the lexer returns an error Err(T::default()), instead of Ok(Token...). More about that here: https://logos.maciej.codes/attributes/logos.html#custom-error-type.
With the current Logos version, you could do something like this (not tested):
#[derive(Default, Debug, Clone, PartialEq)]
enum LexingError {
    /* Add any other variant */
    #[default]
    InvalidToken,
}

#[derive(Debug, Logos, PartialEq)]
#[logos(error = LexingError)]
#[logos(skip r"[ \t\n\f]+")]
enum Token {
    #[token("fast")]
    Fast,

    #[token(".")]
    Period,

    Text,
}

fn main {
    let mut lex = Token::lexer("Some random fast sentence.");

    lex.map(|res| {
        if Err(LexingError::InvalidToken) == res {
            return Ok(Token::Text);
        }
        res
    }).for_each(|res| { /* do stuff */ });
}

I tried this out of curiousity, and it doesn't work either because it will mark every single character as it's own token. So instead of something like [Text, Fast, Text, Period] it's [Text, Text, Text, Text, Text, ... Fast, Text, Text, Text, Text, Text, ..., Period]

Yes, this has to be expected somehow. Maybe you should implement your own iterator that takes a Lexer and "merge" consecutive InvalidToken errors into one token. You could do that very easily using the Peekable trait.


Improve documentation on longitudinal option.

Please describe how the documentation should be improved.
I recently ran smriprep with the longitudinal option, and I thought it would run freesurfer longitudinal full pipeline until I got the results.
Now I understand that it's only in the robust template creation that it makes a difference.
I think it would be great to expand a bit the documentation on that option to mention what it changes in the workflow.
I also wonder if a precomputed longitudinal freesurfer could be used as input for smriprep/fmriprep?

Maybe we should link to https://fmriprep.org/en/stable/workflows.html#longitudinal-processing in the CLI outputs? I'm not sure what else to say.
And #21 is a long-standing issue. If someone with experience working with longitudinal FreeSurfer data is willing to contribute the necessary patches, then we can support it. I don't know enough to know what that would look like.


incorrect xp to next level after skill level up in level path

when time_to_level list is updated, exp amount to next level is being up dated with the next level's total exp amount.

to be fixed in #2 - fix ttl list update function


Added commie

Requires the image I DM'd to Dove

image filter is at https://cdn.discordapp.com/attachments/511661082742358036/773985064337408030/commie.png
Will be pushed separately.


Change timedelta scalar to return ISO format

Currently the timedelta scalar serializer returns a float equivalent to the total amount of seconds.
https://github.com/reset-button/ariadne_django/blob/5a7c9d15a2b0e0baa8b7e7aad032c738a3dcd1fe/ariadne_django/scalars/timedelta.py#L10-L12
It could be an idea to return the ISO format for durations (see https://en.wikipedia.org/wiki/ISO_8601#Durations). Since python doesn't implement a way to do timedelta(days=1).isoformat(), we could use django duration_iso_string:
from datetime import timedelta
from django.utils.duration import duration_iso_string

timedelta_scalar = ScalarType("Timedelta")

 @timedelta_scalar.serializer
 def serialize_timedelta(value: timedelta) -> float:
     return duration_iso_string(value)

Also instead of Timedelta it could be called Duration

Happy to accept a PR for a new scalar.  Let's not be the type of folks that break backwards compatibility.


ImportError: DLL load failed while importing chamfer3D: The specified module could not be found.

ImportError: DLL load failed while importing chamfer3D: The specified module could not be found.

Hi @Marie0909 ,
Looks like a windows error, sorry I would not know how to help,
Best regards,
Thibault

ImportError: DLL load failed while importing chamfer3D: The specified module could not be found.

hi, i have same problem, did you solve it??


[WIP] debug: 1026

Please provide a description of this PR:

@zirain: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test release-notes

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

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test release-notes

integ-pilot-istiodremote-mc_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-pilot-istiodremote-mc

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

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test release-notes

integ-pilot-istiodremote-mc_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-telemetry-mc

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

@zirain: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

release-notes_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test release-notes

integ-pilot-istiodremote-mc_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-pilot-istiodremote-mc

integ-telemetry-mc_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-telemetry-mc

integ-security-multicluster_istio
8baf78fda7b2312ff7b242bcb9938144dd60ec76
link
true
/test integ-security-multicluster

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


GNOME Preferences - Turn off Desktop Icons

Closed by successful merge of https://github.com/iancleary/personal-ansible/pull/69


Validating device id when you have multiple versions

Hello,
Correct me if I am wrong but I have the following example:
var id = new DeviceIdBuilder()
    .AddMachineName()
    .AddMacAddress(excludeWireless: true)
    .OnWindows(windows => windows.AddMachineGuid());

var idManager = new DeviceIdManager()
    .AddBuilder(1, builder => builder
        .AddMacAddress(excludeWireless: true)
        .OnWindows(windows => windows.AddMachineGuid()))
    .AddBuilder(2, builder => builder
        .AddMachineName()
        .AddMacAddress(excludeWireless: true)
        .OnWindows(windows => windows.AddMachineGuid()));

If I were to run the following
var isValid = idManager.Validate(id.ToString());
I get a failed result when I expected this to pass.
If I was to comment out the .AddMachineName() and then run it, version one of the ID Manager would then say it is valid.
When I dived into validate method of the ID Manager, it looks like I am expecting to send a string of the following format: ${version}${deviceId}
This seems counter-intuitive as the DeviceIdBuilder does not output a version.
Looking into your other methods in DeviceIdManager, you have an override for ToString which basically does the exact same thing as the builder but it includes the version number in.
Should I be using the manager instead?

Hello. Yep, you should be using the manager. DeviceIdBuilder knows nothing about versions. You need to use DeviceIdManager to generate your versioned device ID, using the DeviceIdManager.GetDeviceId method.


Update troubleshoot-dbcc-errors.md

The change has been discussed internally with the PG as well and they approved the language used there.

@setanike-msft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@HaiyingYu : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Filter schemas

Is your feature request related to a problem? Please describe.
I want to be able to filter schema list. I have a database instance with hundreds of schemas, and when I have to query some data on a specific one I have to scroll until I find the correct schema.

Describe the solution you'd like
Similar to the existing filter on query editor should be enough

Describe alternatives you've considered
Additional context


DB terminology and consistency

Suggestion (please comment below):

rename "_ID" in all fieldnames to lowercase "_id"
rename table "keywords" to "topic_recommendations" (the list of topics will be in table "topics")
rename table "keyword_feedback" to "topic_feedback"

the value of feedback should be an ENUM (APPROVE, REJECT) instead of a VARCHAR

rename table "system_recommendations" to "article_recommendations"
rename table "user_recommendations" to "article_feedback"
drop table "user_webpages" and have dedicated fields for each type of webpage in the "users" table

rename "_ID" in all fieldnames to lowercase "_id"

Probably smart will do.

rename table "keywords" to "topic_recommendations" (the list of topics will be in table "topics")

Topics have changes so much since the initial implementation that it will probably be easier to drop the topic related tables and recreate them with the correct columns, as even if we kept the current data, there would be so many empty or wrong fields that it would only make a mess, we haven't even collected any topics yet on gustav.

rename table "keyword_feedback" to "topic_feedback"

The same as with the table above.
the value of feedback should be an ENUM (APPROVE, REJECT) instead of a VARCHAR

Should use enums, may be some other places where we could benefit from enums too.

rename table "system_recommendations" to "article_recommendations"

Will do.

rename table "user_recommendations" to "article_feedback"

Will do.

drop table "user_webpages" and have dedicated fields for each type of webpage in the "users" table

Was the plan with the changes to how webpages work.

OK, regarding dropping the old "keyword*" tables and creating new "topic*" tables.
Yes, generally use ENUMs instead of VARCHARs where there is a small set of possible values.

Let's keep this issue open until all these changes have taken place.

When doing the renaming of "_ID" fields, it would also be good to check the indices on all tables (and make sure that fields that are present in WHERE clauses of SQL queries are indexed).

also add timestamp to feedback


Add Drivers for Confio Devices

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


Contact Customfield page - Records not showing if we add space in name textbox and filter

Describe the bug

If there is some some in name search textbox then data is not showing, trim search text while search data

https://www.berrycast.com/conversations/80058dbd-e0d6-5d97-a66e-c1f25aac2aca


Escaping values in generated YAML

This change wraps the YAML passed to AWS in single quotes. This is important due to special characters and globs embedded in the OTP.
otp: 123456
to
'otp': '123456'

Codecov Report

Merging #87 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #87   +/-   ##
=======================================
  Coverage   16.43%   16.43%
=======================================
  Files          49       49
  Lines        2336     2336
  Branches      255      255
=======================================
  Hits          384      384
  Misses       1932     1932
  Partials       20       20

Impacted Files
Coverage Δ

lib/python/treadmill_aws/hostmanager.py
31.57% <ø> (ø)
:arrow_up:

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 c220f87...cfb2e19. Read the comment docs.


How to do range selection in this calendar?

Hi WenchaoD,
Thank You for providing this awesome library. i'm using this library in my app. Now in app i want to select range selection like (Ex: 2016-04-12 to 2016-04-20, 2016-05-10 to 2016-05-15). will you provide this features also. because i want don't to use other calendar for range selection.
so** will you provide this features?**

Hi @pradeep-chauhan Thanks for liking this library. I'm afraid what u r requesting is not a short-term work.

I know that we need to use this features to next month. so will you provide that features or not


Concurrency issues with scaled agent deployments.

When thee are multiple agent instances accessing the same wallet (e.g.: kubernetes deployment of multiple aca-py agents using the same postgresql wallet), concurrency issues appear as 2 or more instances try to update the same non-secret record.
This happens, as an example, when issuing credential that support revocation: multiple agents would read the current state of the revocation registry, find that it is full and try to update the non-secret records to "rotate" the registry to a new one.
This appears to be an issue with the underlying indy-sdk, as reported here and therefore depends on a fix at the sdk layer.
c.c.: @swcurran

Closing this. We'll deal with new issues in the Askar context.


Is there a way in CVAT Grafana Dashboard to view number of Images annotated by Annotators vs assigned

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
No this is not related to a problem, I want to track annotation speed and followup with Annotators
Describe the solution you'd like
A Dashboard to show number of Images annotated by Annotators vs assigned
Describe alternatives you've considered
No response
Additional context
No response

No, there is not.
What is "annotated" image?
Is image having one object annotated? Two objects? Three objects? 10 objects?
Why image having zero objects may not be considered as annotated?


Assigning orders to customers

Is there a way to assign orders to customers?
I know customers can either sign up for an account or log in to (if they already have an account) on the checkout-success page.
Assign a guest order to an already existing account or create an account for a guest order. Is it possible to do this from the dashboard? If not, then how would one go about doing it? Has anyone built something similar for their application?

That's not possible. It would be easy to add this feature if someone wants to pick this up. But we need to make sure it doesn't alter any data of the order, the order data in itself should remain unchanged (all the data used in the invoice).


#197 Invoke actions via ActionInvoker

Description
Introduces ActionInvocation data object for storing more details about invoking action (duration, errors, cause of completion).
Provides ActionInvoker interface as a single point of invoking actions, providing race prevention, time measurement and basic error handling (see JavaDoc for details).
Introduces additional fields in ActionInvocationLog in order to pass on information about invoked actions.
Motivation and Context
It is a milestone to implement #197. Also, it fixes some potential race issues not tracked directly in Knot.x GitHub.
Upgrade notes (if appropriate)
It is advised to switch from direct action calling to using ActionInvoker utility class.
This ensures that the execution will not halt for some of the known issues in Vert.x and Knot.x implementations.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I hereby agree to the terms of the Knot.x Contributor License Agreement.

Please check https://www.codefactor.io/repository/github/knotx/knotx-fragments/pull/203.


the use of X.ravel()

Chapter 5 ML has many use of .ravel(). For example: p367 make_data(),  plt.scatter(X.ravel() ..., and several follow on pages. This seems not particularly necessary for 1-d array. Is there a particular reason this has to be done?

For a n-dimensional array to convert into 1-d array then we use X.ravel().
Essentially in the function you have mentioned i.e., plt.scatter(X.ravel(), y) expects input as two single dimensional array to plot it in scatter plot.
In make_data() we'll get a n-dimensional y-array by calculating it with X.ravel()


Fix typing

This PR adds a small typing fix that makes installs with python 3.8 easier

Can we revert our min version requirement to 3.8 then?

@SchrodingersGat I would rather not do that. It works with the standard tests on 3.8 but I have not extensively tested InvenTree with 3.8 and we do not have full tests coverage.
This mainly fixes an error that I discovered replicating #3965


real time low latency stream with ROS

Issue description
A description of the issue you encountered or the feature you're requesting.
Hello. I'm trying to establish a vehicle platform with ROS for autonomous driving. I've successfully used  OpenCV to access the RTSP stream. But it has an unacceptable long latency (around 5 seconds).  I need a low latency real-time stream.
Is there any way that can help me access the stream? It must be c++ or python.
Thanks!
System setup

*AXIS product/device: P1375E
Device firmware version (e.g., 10.5):
SDK version (e.g., ACAP SDK 3.3):

While this seems like a very interesting feature, the RTSP API is not a part of the ACAP platform so if you want to put forward this as a feature request you will have to use the reglar Axis support channels.


Swift Package Manager support?

Hey EG team,
Are there any plans to provide swift package manager support? I feel like it would make it much easier to consume EG compared to direct project copy.

Still no SPM support?

Bump. Any plans for adding SPM support? We're not using Cocoapods in our project and adding the Xcode project is a bit messy.

Bump. Any plans for adding SPM support? We're not using Cocoapods in our project and adding the Xcode project is a bit messy.

Bump. Would also be interested.

+1 / Bump :)

+1

4 years passed since the first feature request appeared... Do you really still believe in cocoapods? Most projects have already migrated from cocoapods to SPM...

@bingosoft Project looks dead anyways. Last commit 3 years ago...

@tychop the project is being developed in the earlgrey2 directory which has commits each week. Please look at the deprecation warning in the README in the master directory.
@bingosoft We'd be glad to have SPM support. We do not have it as a priority to add it at the moment. If you or someone else would like to contribute it or point us to what is needed, we'd be able to look into it.

I think you meant branch instead of directory.
Small tip. Do with it what you like: Put the deprecated code in another branch and have the active maintained code in the master branch. Because I'm not the only one that looks at the latest commit dates on the project's 'landing page'. That's why I dismissed this project without even looking further into it.

That's a good point. Thank you for the suggestion, @tychop.
We had planned to move the active branch into master in 2021, however we were told there were users pinning to it for EarlGrey 1.0 at that point. Since it has been a while and EarlGrey 1.0 hasn't been supported since then, we could look at this again in the future.

Is there any progress on SPM support?
If not do you have a public roadmap? At the moment, though there are semi-regular commits theres not been a release for 518 days, it feels as if the project is a bit dead.
The lack of SPM support, lack of releases, huge number of unresolved issues for some pretty big problems make it really hard to justify integration.
Which is a shame because EarlGrey has some great ideas.

sad to see this is still not prioritized


Discovery: Yellow info box in Visual Stories

The info box in the mockups is different from the current InfoBox we use. It also includes a Contact component.
Should this be a whole new component? A new option in the current InfoBox? Let's discuss and do a discovery piece.

We've decided to put this aside for now and use simple Rich Text + Contact component (the new version behind the toggle with icons). No yellow background for now - We'll be reviewing it holistically across and what it's relationship with InfoBox is.


PL-108: Refactor AuditRecord.entityType to be the name of the EntityType

Refactor the entityType in AuditRecord to be a string representing the name - instead of the entire object.
This moves the responsibility for choosing this name from the consuming service back to the PL itself.
Currently this is set to the EntityType name (always) - and in the next PR it will check the annotation to see if there is an override

retest this please

retest this please

retest this please


Sympy and ProjectQ simulators re-integration

Continuing from the now closed #425, this is an issue to keep track of the status of the Sympy and ProjectQ simulators - even if work is most likely needed to be implemented in their repositories, this is a meta issue for keeping track of the effort:
Remaining items:

[ ] Sympy: update for supporting Qobj
[ ] Sympy: create the pip package
[ ] ProjectQ: update for supporting Qobj
[ ] ProjectQ: create the pip package
[ ] terra: add them as dependencies (to be decided)

@yaelbh feel free to update and comment! Otherwise, I'll chase the repository changes myself :)
https://github.com/QISKit/qiskit-addon-sympy
https://github.com/Qiskit/qiskit-addon-projectq

@yaelbh do you think this is doable within a week or two to make it for the 0.6 release?

@ajavadia Yes. The main work is to finish and merge @diego-plan9's pull requests about 0.6 (https://github.com/Qiskit/qiskit-addon-sympy/pull/28 and https://github.com/Qiskit/qiskit-addon-projectq/pull/11). The merge by the way will probably be able to be carried out only after 0.6 is launched, because addons Travis will fail until then.
I'd like not to take a central role in this effort because I'm leaving on vacation next Wednesday until the end of August.

@ajavadia  @jaygambetta  are we going to release/announce JKU addon as part of 0.6? from code/wrappers/pip/benchmarking point of view I think we are all done (not including Windows which JKU don't support). If we are going to release, i'd like to first ask/inform our JKU partners so no surprises

Closing this issue, as the original plan has been changed.


add chart form Jmullaney

I was able to replicate most of the plot composition in R, with the exception of the leaflet map. For some reason this is not saving an image when I use mapshot and I cannot sort it out.
I made a few minor changes to the data processing steps. These changes were to use the %>% to string together multiple steps in sequence for a more streamlined process when creating saldat and saldat_ol.
At the end I added a new chunk to compose the plots with cowplot and add a title, annotations, and the usgs logo. There is some code to include the map png ct_map <- magick::image_read('CTRiver_map.png') however I was unable to save this from the script so it is currently not included in the map. The final plot (with map added in illustrator):

Ok, I was able to run your updates locally, and ran into a bunch of problems.  I am not able to pull the map image in, even when I turn on the code. The markdown doesn't knit correctly anymore with the changes to fonts etc, so was thinking I should probably return it to being a regular R script?
the following lines need to be moved up a little higher in the script, because font_fam is called before it is defined.
Let me know how you want to proceed.
add font
font_fam <- 'Roboto'
font_add_google(font_fam, regular.wt = 300, bold.wt = 700)
using a second font to numbers that is monospaced
font_num <- 'Source Sans Pro'
font_add_google(font_num, regular.wt = 300, bold.wt = 700)


how to interpret V-plot

Hi Alicia,
I'm trying your nucleoATAC (thank you so much for make/maintain nucleoATAC so easy to use for biologist) for some of our ATACseq data from arabidopsis and I have two questions regarding the interpretation of the Vplot from nucleoATAC.  The fragment size distribution we got from ATACseq in is somehow hard to see the 'nucleosome bump'.

While I try nucleoATAC, I got really nice V-plot from those exact libraries as shown below.

Since I'm really interested in nucleosome pattern through ATACseq, I'm wondering what would be your interpretation from those data?  Do you think we indeed capture some nucleosome signal from our ATACseq library (even we didn't see the nucleosome bump from fragment size distribution?) that we may conclude something from it?
A second question is that we did ATACseq from wildtype and some mutants showed decompaction of heterochromatin (evidence from immunostaining and Hi-C), I saw from the Vplot that the pattern is somewhat 'fuzzy' in the mutant. But I'm not sure whether this is the correct way to interpret the data and if you could give some suggestions that would be awesome!

Looking forward to hear from you!
wanlu

If the fragment distribution does not show evidence of a nucleosome I would advise against using NucleoATAC or attempting to infer nucleosome positions...
(Re specific question about vplot, the outputs just show the result of the fragment size normalization for the core vplot used by nucleoatac -- meant primarily for QA purposes and not particularly meaningful on their own)

hi Alicia,
along the same line, my fragment size distribution looks like a single peak from 50 bp t0 350 bp with a peak in ~140 pb. Thus, there is not a secondary peak. we fixed and transposed the cells so i think that caused a little bit of over transposition.
question is : what would you advise to use from your program? do you think it is reasonable to look into NFRs? I have ton of 150 bp DNA fragments ( and many peaks around that sizes, if we assume they are correlated).
But I think the nucleosome phasing probably is lost, correct?
Thank you for your kind help
Bahareh


Move transport property from private to protected

This is a bugfix required for the Spanner GAPIC to expose the transport implementation (used by the session pool to trigger asynchronous delete until official support is built in).

Codecov Report

Merging #147 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #147   +/-   ##
=======================================
  Coverage   85.21%   85.21%
=======================================
  Files          46       46
  Lines        2448     2448
=======================================
  Hits         2086     2086
  Misses        362      362

Impacted Files
Coverage Δ

src/ApiCore/GapicClientTrait.php
89.9% <ø> (ø)
:arrow_up:

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 c16fe4f...eee2e62. Read the comment docs.


Support running on AWS

We wanna run on AWS! Specifically, I'm going to try demo this running on AWS at a NASA meeting on September 25, so that's the use case :)
On GCP, we have managed runner with DataFlow, and this solves our problem. nbd.
On AWS, I investigated possible managed beam runner options. The two were:

Spark Runner with AWS EMR
Kinesis Data Analytics with their managed Apache Flink

(1) is only kinda semi-managed - we'll still need to run some additional unmanaged infrastructure to run the Beam jobserver, and that sucks.
(2) is a bit of a mystery, from the inscrutable name (is it only meant for use with Kinesis?) to the complete lack of information on the internet about running beam pipelines with Python on top of this. From what I can gather, it can only run Java pipelines, and there isn't space for the portable runner that'll allow us to run Python.
The other option is to run Apache Flink on Kubernetes, with one of these two Flink operators (https://github.com/apache/flink-kubernetes-operator or https://github.com/GoogleCloudPlatform/flink-on-k8s-operator).
A few questions we need to answer before choosing:

How mature is the Spark Runner? Everyone I see seems to be mostly running on Flink if they aren't using Dataflow. I don't want us to use a runner others aren't using, especially one involving the hadoop / JVM / Spark ecosystem if I can avoid it. This is a huge -1 for the EMR + Spark based runner (along with needing to run our job server somewhere)
What's the deal with Kinesis Data Analytics? How tied is it to Kinesis (which we don't use at all)? Can it actually be configured to run Beam with Python? The docs seem to suggest otherwise.
If using k8s, why are there two operators? Which one do we use?

My current thinking is to disqualify the Spark Runner, try to validate my assumptions about Kinesis Data Analytics, and if not, run this on Flink on k8s (which seems to have decent support) on EKS.

👋 @charlesa101 @lerms we met at the Beam Summit in Austin this past July after I attended your talk Implementing Cloud Agnostic Machine Learning Workflows With Apache Beam on Kubernetes. As I mentioned then, we are currently running Beam on Dataflow, but would really like to support AWS as well. You two seemed to have this infra really dialed, so I thought I'd reach out in hopes that our team can learn from your experience.
Any insights you could offer would be greatly appreciated! 🙏 As one question to start, are there any particular open repos in https://github.com/MavenCode which would be helpful for us to take a look at?

@yuvipanda I did some initial research on option 2 and 3 when we began the Beam refactoring efforts.   To simplify development in the near term @cisaacstern wanted to initially focus efforts on ensuring that our Beam based recipes would work correctly with Dataflow so we paused our work on Beam executor "bakeries" for other cloud providers, but now looks like a good time to start revisiting this.
I agree that the documentation around Kinesis Data Analytics (KDA) as a Flink runner with respect to Python based Beam pipelines is quite sparse.  This presentation seems to claim that KDA is a fully featured managed Flink platform which should be capable of running our portable pipelines but I have not seen any tangible examples of this in the public space.  @batpad is planning on trying to investigate this option this week and the AWS folks we work with on the ASDI initiative are going to try to put us in contact with some of the KDA team.  With @batpad I proposed we

Verify if we can run the basic wordcount pipeline on KDA.
Then research if we can use our custom image to run recipe compiled to Beam.

The Flink on k8s landscape seems to be a bit fragmented as well.  To avoid complexity (as I'm not a deep k8s person 😄 ) I was hoping that I might find a straightforward helm chart, but the operators you listed above seemed to be the only publicly available repos and the architecture for flink-kubernetes-operator seemed somewhat intimidating for our usage.
If it functions for our use case, I like the simplicity and lack of infrastructure management of a fully managed service like KDA.  The one benefit of Flink on k8s is that we would also have a consistent Beam executor model for use on Azure as well.

@sharkinsspatial I think investigating KDA to see if it works, and falling back to a flink operator on EKS seems the right way to approach this.
Doing this with flink + k8s is definitely more complex than a fully managed service, but I want to reassure you that that architecture diagram isn't so bad - JupyterHub is probably about just as complex :)

@sharkinsspatial I was thinking what would we need to do to make sure it works on KDA:

Supports running Python with our custom container image (very important here!)
Logs are retrievable (Cloudtrail / cloudwatch ok)

So if we can get these two to work, then we can just use KDA!

Supports running Python with our custom container image (very important here!)

Spent a bit of time trying to figure out how this might work. I might be being a bit naive here, just coming into this situation and missing something, but I don't see any way we can run a custom container using KDA.
The way I'm understanding KDA:
You create a Kinesis stream and then setup a Kinesis Data Analytics Application on AWS. When setting this up, you pick a version of Apache Flink it will run. You configure this application by giving it a Kinesis stream to read events / data from, and a path to s3 that contains your application code in either Java or Python. Here is the example for a python application: https://github.com/aws-samples/amazon-kinesis-data-analytics-examples/tree/master/python . It looks like, for example, you need to specify the python packages your app needs with something like https://github.com/aws-samples/amazon-kinesis-data-analytics-examples/tree/master/python/PythonPackages .
With this configured, one could then send messages to the Kinesis stream, and the AWS managed service will run your code against data coming through the stream. I am seeing absolutely no way to do something like specify a custom container image / where exactly one would submit jobs similar to how we are using DataFlow.
I feel like I don't completely understand our setup and maybe missing something. I could go ahead and create a KDA on AWS and try doing things, but it does seem like a bit of work and currently I do not see any pathway at all to getting it to do what we need it to.
@sharkinsspatial let me know if it helps to chat.

@batpad That matches what my understanding is too from reading docs. But I think you and @sharkinsspatial have more AWS experience. If we can confirm to both your satisfaction that this isn't possible, we can tick that box and move on to EKS.

👋 @charlesa101 @lerms we met at the Beam Summit in Austin this past July after I attended your talk Implementing Cloud Agnostic Machine Learning Workflows With Apache Beam on Kubernetes. As I mentioned then, we are currently running Beam on Dataflow, but would really like to support AWS as well. You two seemed to have this infra really dialed, so I thought I'd reach out in hopes that our team can learn from your experience.
Any insights you could offer would be greatly appreciated! 🙏 As one question to start, are there any particular open repos in https://github.com/MavenCode which would be helpful for us to take a look at?

Hi @cisaacstern
We ran our setup on Kubernetes with Spark Master/Worker containers created as Statefulsets and we had the Jobservice pod that connects to the Spark Master to submit our beam jobs.
SparkOperator on Kubernetes option worked as well but the version of Spark currently supported on SparkOperator won't work with the Jobservice because we wanted to use the PortableRunner
@lerms and I will open source what we have on our git repo https://github.com/MavenCode in the next few days, Sorry it's been a bit busy here

@charlesa101 thanks so much for these insights! I believe we will want to use PortableRunner as well, because we want to use our own Docker images (and I think that's how you do that in Beam).
Thank you so much for being willing to open source your work! If it's not too much to ask, could you post a link to the repo here once it's up? Again, can't thank you enough for sharing this experience. 🙏

Sure! You're welcome! we need more contributors and people to kick it around as well to make it better

Looping in @briannapagan.

Merged #21 that runs on AWS! Here's a tutorial on how to use it: https://pangeo-forge-runner.readthedocs.io/en/latest/tutorial/flink.html.
Need folks to try it out though.

Hey @KevinGG! @pabloem recommended that I reach out to you for questions on Beam's Flink runner for Python. @yuvipanda can probably recreate the problems we're facing better than I can, but to summarize:

When running a Beam pipeline on Flink (for this project), we notice that only one worker is ever used (parallelism=1)
We've noticed that the Apache Beam documentation for Flink says there is a parallelism argument we can set, but after investigating for a while, we've found that this isn't supported / respected in the Python Flink runner (which uses the Portable Beam Runner).
Our Beam pipeline runs in parallel on Dataflow. Here, it makes extensive use of Reshuffle() to specify parallel stages of execution (and to prevent operator fusion). Does Flink treat reshuffles in the same way? We recognize that the problem at hand could be that all operations are fused into one, and thus only one thread of execution is needed. If this is the case, what's the right way to restructure our pipeline?

When running a Beam pipeline on Flink (for this project), we notice that only one worker is ever used (parallelism=1)

This is true.  To be more precisely, one task per step.

We've noticed that the Apache Beam documentation for Flink says there is a parallelism argument we can set, but after investigating for a while, we've found that this isn't supported / respected in the Python Flink runner (which uses the Portable Beam Runner).

If the pipeline option is added (I'm doing it in https://github.com/apache/beam/pull/23271), it will be recognized by the Java job server (flink runner). But one caveat is that the parallelism is applied to the whole pipeline, so all the steps will share the same parallelism. Relatedly, there is also a max_parallelism option.

Our Beam pipeline runs in parallel on Dataflow. Here, it makes extensive use of Reshuffle() to specify parallel stages of execution (and to prevent operator fusion). Does Flink treat reshuffles in the same way? We recognize that the problem at hand could be that all operations are fused into one, and thus only one thread of execution is needed. If this is the case, what's the right way to restructure our pipeline?

Yes and you have to explicitly apply Reshuffle when using Flink, otherwise, elements fanned out will always stay on one Task Manager (worker); while in Dataflow, sometimes it knows how to rebalance data to more VMs without an explicit Reshuffle.

Looks like beam 2.42 was released in october, including the merged PR to support parallelism https://github.com/apache/beam/pull/23271

success!

Credit where credit is due: its you and @cisaacstern !!

@rsignell-usgs: I know it's been a couple months. I'm over on this side of town trying to reproduce your success and getting sorta/maybe close with the same recipe but never quite there.
A couple questions:

I see your pangeo-forge-runner command above is using --prune. Did you try it without --prune?
Did you validate that your zarr output in the s3 bucket was full and complete?

For me the task pods are never completing successfully (meaning I expect Python subprocess to exit with a status code of 0 and then quietly be killed without any traceback or error). Sometimes a job will create zarr output but my hunch is that StoreToZarr isn't completing successfully b/c tasks running the subcommand python -m apache_beam.runners.worker.sdk_worker_main give me the dreaded Python exited: <nil> with no good traceback info before some master process seems to disable them from communicating with the channel at which point the pod is killed.
I'm gonna do a longer write up on this ticket today to document what I'm seeing and some caching gotchas I've had to work around when using the pangeo-forge-runner@unpin-beam branch. My goals today:

get better job exception reporting happening (if things are truly failing)
see if my zarr output (when the job fully runs) is actually maybe complete

Sometimes a job will create zarr output but my hunch is that StoreToZarr isn't completing successfully b/c tasks running the subcommand python -m apache_beam.runners.worker.sdk_worker_main give me a potentially dreaded Python exited: <nil>

I realized after I wrote this from the perspective of the parent golang process <nil> might be the success status 🤔 So let me compare outputs

Just some notes about trying to get this recipe working on EKS and Flink from Oct 11th-17th that might be helpful for future humanoids ✨ 🤖
What's Worked and Hasn't Worked
Most of my time has been spent trying to understand if jobs/tasks are actually succeeding. The lack of clear job statuses
is surprising. Regarding my last comment Python exited: <nil> should convey success from the perspective of the Golang parent process. But even if that's returned there's no guarantee that it produced zarr output

produceszarr output
k8sflinkdeploymentstatus
pangeoforgerunnerbranch
flinkoperatorversion
flinkversion
apachebeamversion

no
JOB status empty
@main
1.5.0
1.15
2.42.0

yes
JOB status empty
@unpin-beam
1.5.0
1.15
2.[42-51].0(all versions listed https://shorturl.at/gBCU4)

Caching and Delays Oh My
When working with the pangeo-forge-runner@unpin-beam branch and experimenting with custom pangeo-forge-recipe upgrades and different apache-beam versions I've noticed the following things about caches and delays (delays in terms of the JobManager delaying kicking off the TaskManager):
Caching

you don't want to have multiple versions apache-beam pip installed or the apache-beam runner cli will choose the wrong jar (~/.apache_beam/cache/jars/*.jar) and SDK image

if you're playing with different dependencies and versions of pangeo-forge-recipes you also want to make sure the cache where the apache-beam runner cli temporarily downloads packages is clean otherwise EVERYTHING has to get uploaded to the flink server and then EVERYTHING gets staged on the workers and who knows what's actually running. In the runner output you can find the line below where the cache dir is located as the value of the --dest flag

Executing command: ['/Users/ranchodeluxe/apps/venv_py39/bin/python', '-m', 'pip', 'download', '--dest', '/var/folders/99/ts9mxkwx1n73mbwqvbjztfbh000
0gr/T/dataflow-requirements-cache', '-r', '/var/folders/99/ts9mxkwx1n73mbwqvbjztfbh0000gr/T/tmps3_6zbwx/tmp_requirements.txt', '--exists-action', 'i
', '--no-deps', '--implementation', 'cp', '--abi', 'cp39', '--platform', 'manylinux2014_x86_64']

Delays

some of the delay is b/c the JobManager needs a little more resource juice. Been running this override: --FlinkOperatorBakery.job_manager_resources='{"cpu": 1.0}'

other aspects of the delay seem to be related to the fact that the apache-beam runner cli has to load the job server jar and all our requirements to the flink server. Not sure if that can be mitigated


Add subway track listing for the subway quizzes that populates as you answer

This is done as of 577f1e3be513c1154bbe7b2d08c40030efd20fb0


Fixes invalid imports

Fixed invalid option component import error with ng-cli@beta18 (#72). Updated angular2-mdl SCSS import in README.md. Yarn lock updated itself.
EDIT:
Wrong issues number in the commit, is there need to revert ?

Coverage decreased (-0.09%) to 93.377% when pulling 2758a63b116c2eb399e6990c1b792215f408b00d on nikoTM:invalid-import into 41e093f5457481c95618335fa8dd5d75994fada2 on mseemann:master.

@mseemann looks good to me, will require version bump

done. @angular2-mdl-ext/select:0.4.2


feat(wip): implement TubeGeometry and start LineCurve3

WIP
This adds support for TubeGeometry, and has an ongoing change for Curves to support LineCurve3.
Would appreciate any assistance.
Should close #70, #88 when this is ready to merge.
TODO:

[x] Add TubeGeometry.dart
[ ] Refactor Curve to accept both Vector2 and Vector3
[ ] Implement LineCurve3

@wasabia I dont think this should have been merged. It is not ready and still contains errors.

Whoops, that went a bit to speedy >< Errors in the main branche have been fixed so that it keeps compiling.


Would you consider introducing MediatR to handle requests?

one of the motivations to create this library was to get rid of the extra layer of mediatr from my projects. now the two handler signatures are the same:
mediatr:
async Task Handle(MyRequest req, CancellationToken ct)
fastendpoints:
 async Task ExecuteAsync(MyRequest req, CancellationToken ct)
i'm planning to add notification functionality. so when a request comes in to the endpoint handler it will fire an event OnRequestReceived which the other parts of your application can subscribe to.
what other functionality of mediatr do you use regulary, that you'd like to see in this library?

just added in process pub/sub event notification system. see here for an example event handler. and this is how you publish an event. easy peasy japanesy ;-)

great job! cool!
I found another similar project : here
That's also a good way to write it
app.MapGet("/blogs",(string query)=>"all blogs.")
app.MapGet<GetBlogsRequest>("/blogs"),
app.MapGet<GetBlogRequest>("/blogs/{id}"),


OpenAI component doesn't setup telemetry correctly

I have been fiddling with the playground sample for the playground OpenAI component trying to get it to emit telemetry. I think the following things are missing;

Updating Directory.Packages.props to use beta3 for the Azure.AI.OpenAI package

<PackageVersion Include="Azure.AI.OpenAI" Version="2.0.0-beta.3" />

I also had to add a source to nuget as that version is pulling in a more recent OpenAI SDK version than is available internally at the moment

In the Aspire.Azure.AI.OpenAI component:

Update the activity source names to include OpenAI.*

protected virtual string[] ActivitySourceNames => new[] { $"{typeof(TClient).Namespace}.*", "OpenAI.*" };

Set the app context switch for the OpenAI instrumentation

        if (GetTracingEnabled(settings))
        {
            AppContext.SetSwitch("OpenAI.Experimental.EnableOpenTelemetry", true);
            builder.Services.AddOpenTelemetry()
                .WithTracing(traceBuilder => traceBuilder.AddSource(ActivitySourceNames));

        }

When these are all in place, we get the metrics and telemetry that @lmolkova added to OpenAI recently.

I believe we should include the app context switch - its there because the semanic conventions are not stable, but IMHO for Aspire we should be showing what's available rather than hiding it.

@eerhardt OpenAI is instrumented with OTel, but partially (not all APIs).
I was thinking about changing the approach slightly on how we let users opt into experimental semconv and wanted to get your  and @samsp-msft opinions.
So today OpenAI does what Azure SDKs do:  app context switch + AddSource(name).
What if we did AddSource("Experiemental.OpenAI") instead?
Pros:

it's one-step enablement instead of two
it's obvious and explicit that things are experimental

Cons:

code-change is necessary when telemetry goes stable, but we can enable both sources right away AddSource("Experiemental.OpenAI*").AddSource(OpenAI*)

wdyt?

What if we did AddSource("Experimental.OpenAI") instead?

It would definitely make it easier for us. And still keeps the signal to users that this is experimental. So I'd be supportive of the change.

I think it's one less thing that the user needs to configure. TBH, I think we may be being overly cautious - there are too many moving pieces to be able to enable telemetry that I wonder if we are just making getting it working too hard. Getting some telemetry that may change over time is probably better than not getting any because you didn't find the docs and therefore missed some semi-hidden configuration parameter.
For the above scenario, I only got it working because I know what @lmolkova had checked in, and followed the dependency graph to see what was actually being used. Most customer's won't do that, and they'll just assume that telemetry isn't enabled.
I almost wonder if the component should just emit a log message once per process about telemetry being preview and not having any flags at all.

As someone who gets "why this attribute on a span got changed 2 years ago" support tickets every once in a while, I want to have an explicit opt-in into experimental stuff. Also OTel has some opinions on what telemetry stability is (i.e. if I had a alert on  a stable thing it should keep working, if it was broken and I lost $10B because of it it's a terrible issue).
It sounds like you both support my proposal - I'll send the PR to OpenAI to change it and remove app-context-switch. We can totally keep a bigger discussion on what are stability guarantees open.

There is still work required in the Aspire component to pickup the new version and push the right strings for metrics and tracing.

Since this issue was create we now have telemetry supported by default in both Azure AI OpenAI and OpenAI client integrations. This still requires the app switch to be set (or ENV), but as soon as it's done the telemetry is flowing without any other intervention. This can then be disable using settings like any other OTEL integration in Aspire. https://github.com/dotnet/aspire/blob/main/src/Components/Aspire.Azure.AI.OpenAI/README.md#experimental-telemetry


Built-in GDScript functions

This is not a bug, just a question.
There are multiple issues about yield which has obviously a gdscript specific implementation, but what about others?
Almost one hundred useful methods that are currently unavailable for native bindings. Looking at C++ and C# adapters it seems like you have to write your own implementation to match the api...
(I guess for now i'll have to create some singleton that exposes all those methods (which do not have varargs) and then simply "call" them (not the most performant way, but something).)
How hard it would be to expose those methods and are there any plans to do so?

This was already changed for Godot 4.0 with most of these methods now being exposed in @GlobalScope instead of @GDScript.

Thanks.


check access token before API call

KENMBP:test kennethlimcp$ pwc patch.json
Error loading command /usr/local/lib/node_modules/particle-cli/commands/SerialCommand.js Error: Module version mismatch. Expected 48, got 47.
Using settings from the file  patch.json
Sending webhook request  { uri: '/v1/webhooks',
  method: 'POST',
  json:
   { },
  headers: { Authorization: 'Bearer' } }

! Please login - it appears your access token may have expired

Error Invalid token
KENMBP:test kennethlimcp$ p --version
1.19.0-libraries.20

This is a catch-22: there's no way to know that a token is expired before doing an API call, so the CLI has to go ahead and make the API call and reports the error if the token has expired.

I agree it's a catch 22 situation, although we may be able to offer a smoother experience.
How about this:  in interactive mode, the CLI could catch the authentication error when running a command, prompt the user to login and then rerun the command entered. This provides a smoother experience.
In non-interactive mode, it would fail as it does now.
Another alternative is that we save the login credentials (securely) and automatically obtain a new access token when we detect it has expired.  I see pros and cons with this (smoother, but hiding the fact the token has expired), just throwing it out there for discussion.


Multilingual survey causes traceback

Questions version: 0.5.0a2
Python version: 3.7.0
Operating System: Mac OS 10.13.6

Description
I try to use a multilingual SurveyJS form.
What I Did
Use this JSON:
{
 "pages": [
  {
   "name": "page1",
   "title": {
    "default": "Title",
    "fr": "Titre"
   }
  }
 ]
}

When displaying the form, I get this traceback:
  File "/Users/laurent/instances/questions/lib/python3.7/site-packages/questions/form.py", line 322, in js
    return self.required_js + self.extra_js
  File "/Users/laurent/instances/questions/lib/python3.7/site-packages/questions/form.py", line 292, in extra_js
    self._construct_survey()
  File "/Users/laurent/instances/questions/lib/python3.7/site-packages/questions/form.py", line 217, in _construct_survey
    self._add_elements(survey, self, top_level=True)
  File "/Users/laurent/instances/questions/lib/python3.7/site-packages/questions/form.py", line 238, in _add_elements
    page = Page(name=name, **element.params)
  File "pydantic/main.py", line 362, in pydantic.main.BaseModel.__init__

pydantic.error_wrappers.ValidationError: 1 validation error for Page
title
  str type expected (type=type_error.str)

The type hint configuration for the text properties was too strict. Fixed on master.


Add Mariner and SailsJS frameworks

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖
⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆

By submitting this pull request, I promise I have read the contribution guidelines twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖

You did not:

Make an individual pull request for each suggestion.

And:

If you just created something, wait at least 30 days before submitting. This is to give it some time to mature and ensure it's not just a publish-and-forget type of project.

I'm not interested in including SailsJS. It's not something I would recommend.
As for Mariner, I think it needs more time to mature and have some production usage.

@sindresorhus I definitely didn't read the contribution guidelines, I'm very sorry for that.
Sorry again for wasting your time.

Sorry, if it came out harsh. I just wanted to point it out. No hard feelings :)


Compass Inconsistent : Pixhawk4 + Here2

It looks like something break during the last 1 or 2 months on the compass driver/calibration.
No matter how many time I try to recalibrate the compass I always meet the compass inconsistent error when I try to arm the drone.
Tested on Pixhawk 4 + Here 2 gps antenna.
Here are some logs from boot to shutdown during two different calibration attempts:
https://review.px4.io/plot_app?log=82ca641f-166c-4e86-8080-1211799d6af0
https://review.px4.io/plot_app?log=59e34c45-1499-4092-b533-e50cfa0fcee7
https://review.px4.io/plot_app?log=28cdaabc-6c03-4015-9861-32adb561c7b6
https://review.px4.io/plot_app?log=cd98260a-2df1-48e2-8735-3c55b901525f

Could be related to #15312

@FlavioTonelli @dagar
I met this error, too. I found the reason is after recalibrate, the sensor_selection could select the compass - compass 1. After reboot the Pixhawk , i found there is no CAL_MAG1_XOFF、CAL_MAG1_XSCALE、CAL_MAG1_YOFF、CAL_MAG1_YSCALE、CAL_MAG1_ZOFF、CAL_MAG1_ZSCALE (they really be caculated by the calibrate, but not be used, just after recalibrate, we can found them)，and sensor_selection could not select the compass. When i trige a param update event, then the CAL_MAG1* be used, and the sensor_selection could select the compass -compass 1. I think the problem is the Here+ compass 1 update mag data too slow, missing the sensors update phase in the boot logic.
I think the problem is here.
https://github.com/PX4/Firmware/blob/master/src/modules/sensors/voted_sensors_update.cpp#L158

Hi,
A PR was merged to master: #15235
You can try to write master firmware to your board and see if that solves the issue. Of course master firmware is a developer version so use it at your own risk.
Regards.

Hi @nrogelio, I just tried a calibration with the last master and I'm right now able to arm the drone.
Here are the logs of the working test:
During calibration: https://review.px4.io/plot_app?log=e1decf84-6bdc-422b-8acf-70a3a4e8f701
After calibration: https://review.px4.io/plot_app?log=477a467e-2cbc-40ee-9789-07157729ed3b
@dagar may I ask the reason why https://github.com/PX4/Firmware/pull/15235 is not included in the upcoming release? This is preventing the future stable to work with my hw configuration.

@dagar may I ask the reason why #15235 is not included in the upcoming release? This is preventing the future stable to work with my hw configuration.

Because it's a huge change that needs time for testing. The intention is that it fixes and improves things, but there's always the potential for a regression.
For right now based on your logs you can simply increase COM_ARM_MAG_ANG to 45 degrees, which is one of the (many) changes in https://github.com/PX4/Firmware/pull/15235.

Hi,
same issue here.
Is there any workaround to use this hardware and the the version 1.11.1? What should I take in consideration?
Alternatively, which RTK do you recommend for the Pixhawk 4?

Is the new Holybro RTK plug & play?


Archive falcosecurity/template-repository

Describe the bug
I don't see the value of having a template repository, whose only guarantee is adding a default license and an inaccurate OWNERS file.
We normally create repositories, and before donating it to falcosecurity, make sure that the OWNERS and the LICENSE files are in place. The README should also be there with an explanation of the projects and a little overview.
Furthermore, most of the projects under this organization do not use it. It has never been used consistently, and it is not maintained anymore.
Proposal
Given the above, I propose to archive falcosecurity/template-repository repository.

Is the license the right one for potentially all projects of the organization?

Besides the content, I think the three files is important they're always in place. So I propose to revive the template repo and instead revisit the content where necessary. My 2 cents :-)

Hey @maxgio92

Is the license the right one for potentially all projects of the organization?

The license should be Apache2, but others are allowed :point_down:
https://github.com/cncf/foundation/blob/main/allowed-third-party-license-policy.md#cncf-allowlist-license-policy
So I don't find it so useful for that purpose.
Moreover, has no sense to me to inherit the OWNERS file from the template (and unfortunately we can't remove it from there, otherwise the repo won't work). I still believe keeping it has more cons than pros.
cc @falcosecurity/falco-maintainers wdyt?

+1 as long as we document the owners file expectations in our governance

That's a good point :+1:

+1 from me for archiving the repo.
The template repository has not been used consistently in the past, and I don't think that having default files for license and owners serves any purpose in the organization. Those are both repo-dependent things that should be evaluated case by case. At this point, I feel like having this repository just causes degrees of confusion when contributing new projects to the organization.

+1 as long as we document the owners file expectations in our governance

Totally agree!

Besides the content, I think the three files is important they're always in place. So I propose to revive the template repo and instead revisit the content where necessary. My 2 cents :-)

Hey @maxgio92
from the community call feedback and this issue comment, most folks agree on archiving the project. However, I understood you want to revive the repo. At this point, I'd propose to archive the project anyway and eventually unarchive it when we know how to use it and rework it. Meanwhile, users will not be confused by a template repository that has not been consistently used and is currently not up-to-date.
So, could we proceed with archiving it, or do you still have any concerns? Let us know!

Hi @leogr,
I like the approach and the mine wasn't a strong opinion. Please, go on with the archival :-)


#5147: Update ttnn.clamp_bw

Work Done :

Update clamp_bw golden function
Update rpow_bw, polygamma_bw, div_no_nan_bw documentation
Test File : tests/ttnn/unit_tests/operations/eltwise/backward/test_backward_clamp.py : PASSED

https://github.com/tenstorrent/tt-metal/actions/runs/11360152129 - passed

Do we also have a clip_bw which is the same or alias?

Will work on this here : https://github.com/tenstorrent/tt-metal/issues/13967

https://github.com/tenstorrent/tt-metal/actions/runs/11396934871 - passed


Not a issue but a few words of appreciation from me!

Hi!
This is not an issue.
It's a thank you post!
I just have to say thank you for making this, Why? Because it's rare people thank others when they use their software; if it's problems, one make issues, one rarely actually type thanks (at least, what I have seen)
so,
Thanks for making this repo!
It is, very very useful. And it has helped me, A LOT. Thank you to all contributors; very much.  ❤
Wishes & Saluting from Sweden!
I also always, always read this (Github Community Guidelines) to be sure I write good issues, (im trying to be open-minded and respectful, etc) (even if this is just a thank you word!)
Have a amazing week!

This can be closed by the way! Since I don't want to take up space, But the Appreciation will always be there!

Thank you very much for the message :) You've already made my week!

As I thought of closing this but, I guess it's always nice to hear that one is doing something good (something useful to others) I had to include Mandiant to my stuxnet repo as a "element of"  "thanks"  (at the Acknowledgments section)because it has been such a useful github project.
Now ill not make more comments here, as I am pretty sure you guys have lots to do
good luck!
Will.


Log Macros issues in if statements

Currently you can get some subtle bugs introduced when you do something like this
if (someTest)
  LOG(WARNING) << "Log issue";
else
   // do something

The else function will never be reached if someTest = false as the else is attached to the if from the Macro.
Some interesting things could happen as well if if(g3::logLevel(level)) returns false as the else will be called in that case.
There are also other ways to do it via do while or if (1) else.
I know I can use LOG_IF and then do something like if (!someTest) but this will cover all cases I think

Please put up a pull request if you know how to address it.

Well there are 3 ways to kind take care of it, none being nice !
#define FOO(X) do { code; } while (0)
#define FOO(X) if (1) { code; } else

These first one out of these 2 is more common as far as I am aware.
Both of these have no issue with adding a ';' after the Macro statement
Contrary just wrapping with curly braces does result in a compile error if you add a ';' after the Macro statement when an else statement is following. The issue only occurs when the if does not have any scope guard. In every other case it is fine...

In the first code snippet you had
LOG(WARNING) << "Log issue"
Are you saying that this occurs because the coder didn't add a ";" semicolon after the log statement?

No that was an oversight.
Here is the full expanded macro in such a case
if (boolean)
  if(g3::logLevel(level)) INTERNAL_LOG_MESSAGE(level).stream();
else
  foo();

As you can imagine the else foo clause in this case is matched to the if of your Macro so if boolean = false it will never be called.

One possible way format would be to use the ? operator instead of the if-cases. I see the issue here and I'm glad you brought it up.

Well the easy way is to always use scope guard in your if else when g3log is involved.
I had seen in the past but never mentioned it before. I was refactoring some code recently and wanted to add some logging and I found out that the actual code was always skipped due to that.
I had forgotten that I had seen in the past so I was bitten by it and wanted to make sure that this is somehow addressed but more importantly known.

having the semicolon at the end is not possible. The stream input cannot be captured if that is there.
if(g3::logLevel(level)) INTERNAL_LOG_MESSAGE(level).stream();
Likewise
if(g3::logLevel(level))  {INTERNAL_LOG_MESSAGE(level).stream();}
or
if(g3::logLevel(level))  {INTERNAL_LOG_MESSAGE(level).stream();}

@cstamatopoulos , I confirmed a suspicion that this is no simple task (Or I am just too tired now to code...)
Ref: http://ideone.com/tlphQ5
If you find a solution, feel free to play around with the ideone draft, then I will look into this some more. As it is now I am unfortunately forced to suggest that you use { around your if-statements.
I haven't been hit by this myself most likely since  I.M.O the most common c++ coding style is to always have { brackets for if-statements.
This is of course a terrible reply to the issue you opened and if you see a working solution (so far I have not seen one) then I would very much be interested.
Thanks


Remove jquery from required packages

Relates to #22194
jQuery should be removed from the mandatory dependencies for Bootstrap library.
Since Bootstrap is posioned as CSS framework (not JS one) and it is declared it can function without JQuery (even while it is limiting its features), there should be a way to install pure Bootstrap without JQuery from the repositories like Bower/Npm.
In particular, these lines should be removed:
https://github.com/twbs/bootstrap/blob/v4-dev/bower.json#L34-L35
In the modern web application development more and more projects relies on suhc JS libraries like AngularJS, ReactJs, EmberJS and so on, in pursuit for 'on-page-site' feature implementation.
If particular developer wishes to use AngularJS and Bootstrap, why should he install a 'jquery' package, which will lie as a garbage among the project source files?
Keeping 'jquery' as mandatory dependency looks unprofessional.
Ideally JS related code should be moved into a separated repository, which will depend on 'twbs/bootstrap' and 'jquery', while 'twbs/bootstrap' itself will be requirement free.
If this be a Composer installation, the quick solution will be move 'jquery' into suggest section, but for Bower/Npm - I can not say.

I'd have to talk to the @twbs/team—hi folks, please weigh in!—but you're initial premise is inaccurate. From our homepage, we say HTML, CSS, and JS framework. Part of the appeal (and criticism, I realize) is in the all-in-one nature of our project.

Also, this is a breaking change, so we have to decide now or wait until v5.

Currently Bootstrap depends on jQuery and it will be the case until we ship a new major release (v5).
But we already talked about that with @mdo to separate Bootstrap in different packages with Lerna, maybe that's something we can work on a beta 2 ?

I don't see any issue with switching jquery and popper.js to be peerDependencies instead, as long as we tweak the docs to remind people to include them separately if they want to use our JavaScript.

Yup, agreed with @bardiharborow. 👍

From our homepage, we say HTML, CSS, and JS framework.

For me such statemtn is not exacly correct. Term 'framework' usually used regardless libraries, which provide basic scaffolding for the actual solution composition. Speaking about Bootstrap related JS the only 'framework' would be JQuery itself, while all Bootstrap JS code is just a set of JQuery plugins, just as JQuery UI is.
This is debatable of course, but I think many developers sees it in this way.
Back in Bootstrap for Yii2 we do not include JS part unless some particular JS component is used:
https://github.com/yiisoft/yii2-bootstrap/blob/master/BootstrapAsset.php#L18-L24
https://github.com/yiisoft/yii2-bootstrap/blob/master/BootstrapPluginAsset.php#L18_L28

this is a breaking change, so we have to decide now or wait until v5

I understand that current development of v4 has already come too far to be rewritten without JQuery - I do ask for this. All I wish the mandatory dependency to be removed, so if developer chooses to use other JS framework he do not need to pull jquery files from Bower/NPM.

I don't see any issue with switching jquery and popper.js to be peerDependencies instead, as long as we tweak the docs to remind people to include them separately if they want to use our JavaScript.

Yes, this would be fine.

We will have a conflict here, because a lot of users want a release of Bootstrap bundled with Popper.js (see : https://github.com/twbs/bootstrap/issues/22783) and that's what I done on this PR https://github.com/twbs/bootstrap/pull/22888

@Johann-S this is about npm dependencies, and allowing downstream users to load our CSS without pulling all our JS dependencies. This doesn't stop us generating a Bootstrap + Popper.js bundle.
@XhmikosR The only concern I have is how does this affect our webpack strategy? I don't use webpack myself, so I'm really not sure how it all works.

I don't think it will change our webpack strategy here, user have to install jQuery and Popper.js packages if they want to use our JavaSript

Yeah, I think it shouldn't change anything; the user will still have to install jQuery and popper.js. That being said I don't use webpack myself...

How about creating a separate package (ex. bootstrap-css) that would contain only CSS part and have the existing package to depend on bootstrap-css?
This would give CSS-only people a streamlined package and keep the existing behaviour as-is.

For me such statement is not exacly correct.

My point wasn't in us being a framework, toolkit, or whatever other name you want. We're a project with HTML, CSS, and JS—it's all or nothing right now. As mentioned, we have talked about having something split up our mono-repo into a series of other repos so folks can easily include one or more without the bulk of the entire project.

Keeping 'jquery' as mandatory dependency looks unprofessional.

I don't see how having a dependency looks unprofessional. You don't need jQuery; that we do isn't not unprofessional. It's simply irrelevant to you.

Ideally JS related code should be moved into a separated repository, which will depend on 'twbs/bootstrap' and 'jquery', while 'twbs/bootstrap' itself will be requirement free.

This won't happen for a long time to come.

All that said, I'm going to stub out a PR that removes the dependencies and updates some docs to better illustrate how our code works. I imagine this will be the final potentially breaking change for us before we can launch the beta.
Also, see the new v4.3 project. It'll be a release solely geared towards integrating Lerna or something like it. Would love some thoughts if y'all have any.

The jQuery debate aside, even though it's part of the dependencies, I don't see how it affects people. My company uses Bootstrap through NPM and only imports the CSS required. The jQuery and JS components are never used. But I guess people are concerned about having it in their node_modules folder? Perhaps the peerDependency suggestion by @bardiharborow would be a good compromise. Or perhaps splitting the packages as suggested by @pkozlowski-opensource.
I'm thinking that unless the JS components are rewritten in VanillaJS, there might be no need to change anything. For version 5, the only suggestion I would make is to revisit some of these JS components and see if they could be implemented through CSS instead. A lot of cool effects can be achieved through a little markup and some checkboxes/radioboxes. But I'm sure this has already been suggested many times in the past.
Either way, I wish you luck in finding a good solution!

Opened #23244. Please jump in with reviews and any feedback.

About Lerna that's a very good things.
IMO a good a beginning should be to have two packages : bootstrap-css and bootstrap-js after that we can create a package for each JS plugins so we will have something like that :
And we they are the whole pack as currently bootstrap
.
+-- bootstrap-css
+-- bootstrap-js
|   +-- bootstrap-tooltip
|   +-- bootstrap-util
|   +-- bootstrap-carousel
|   +-- bootstrap-tooltip
Etc...

I don't see how having a dependency looks unprofessional. You don't need jQuery; that we do isn't not unprofessional. It's simply irrelevant to you.

The days of jQuery are passing: the common demand for the modern web application is to be 'one-page-site'. This is the demand of the business - it is not I who speaks it. jQuery is not suitable for 'one-page-site' project creation - this task is resolved by modern JS frameworks like AngularJS, RactJS, EmberJS and so on.
You an of course stay with the old technology as it is a part of your zone of confort - that is fine and natural for the human. However, the time is passing and more and more developers will have to abandon JQuery usage and move to 'one-page-site' solutions. It will take another several years to prepare Bootstrap 5.0, do they need to wait until then and struggling with JQuery installation?
At the present state, intalling Bootstrap via Bower, I need to waste time, network resources and disk space to fetch the JS libraries, which I do NOT need. This contradicts the idea of package intallation and package managers like Bower/NPM. If I need additional functionality - I should install additional package.

Great idea @klimov-paul. Would you be interested in taking a stab at it?

The days of jQuery are passing: the common demand for the modern web application is to be 'one-page-site'.

These may be the demands of a fair few non-IT people with developers in their staff, but this is not necessarily the demand of all web application developers, nor is it necessarily the right one. Single-page applications do well for certain things, but are inadequate for others.
Yes, you may technically do many things with a single-page application that are traditionally done with multi-page, but it's not always going to be the most stable and trustworthy, and will by definition be the least accessible since it depends on a technology that can totally break UX via different implementations in different clients and different environmental factors. I understand the appeal to fledgling developers to offload much of the workload to the client side, but having survived the browser wars, it's misguided to believe it's a solution to fit all projects.
On-topic: I second the request that it not necessarily depend on jQuery. I think it should still be discussed as a current feature since v4 is still in the alpha stages, but understand if workload is prohibitive for a change in v4.

It's in our TODO list with @Johann-S for the next major version. But let's not jump ahead, one step at a time. Unless someone wants to make a branch for this and we can all work together on it.

ng-bootstrap and ngx-bootstrap is indeed working with one-page-applications.

This is exactly what I am talking about: solutions based on Bootstrap CSSS should NOT mandatory bound to jQuery. ng-bootstrap is only one of the countless solutions, where developers replacing JQuery with other JS framework.

Bootstrap4 is not, as you said, out of date as framework for modern web technologies.

I have not said such thing. I was saying that mandatory usage of jQuery is an outdated practice and it is you who prove me right. It is @mdo's point that Bootstrap 4 is a whole solid frontend framework, where CSS and JS parts are bound together and are not meant ot be used separately. Maybe you should pass this statement to the ng-bootstrap team saying that using Bootstrap CSS without JQuery is actually incorrect and they should use both AngularJS and JQuery (loading both heavy libraries at page load) in thier project?
The Bootstrap team is doing well ignoring such projects as ng-bootstrap pretending that problem of usage Bootstrap CSS without JQuery, but under different JS framework, simply does not exist.
The modern front-end complex solution as Bootstrap is should be more flexible in this matter. It MAY provide some default JS layer, but should make it flexible enough to be replaced.
It is sad that this will not be changed at Bootstrap v4 and should wait untill v5, as the problem itself will become more and more annoying with the passing time, while it will take several years to release new major version.

Things can move quickly @klimov-paul 😉 and if you don't think so you should follow the evolution of Bootstrap


Add fast O(1) param replacements

Low priority, because already fast.

Closing because no real benefit from further perf improvements, given current performance and the fact that a sitemap should use cache control headers of some duration anyway. The juice isn't worth the squeeze here.
We can re-open down the road if it seems useful for extremely large sitemaps.


Added support for multiple forms with the same formName

Description
Ticket link here

User feedback: "IRS926 – The dashboard correctly shows that there are 5 iterations of this form from the federal XML. However, each instance is a repeat of the first and does not show data from the correct iteration. So the second instance of IRS926 still shows data from the first iteration in the XML, the third instance shows data from the first, and so on. Can verify by looking at the unique values shown in IRS926\CashPropertyGrp\FairMarketValueAmt."

Investigation of ticket https://github.com/newjersey/taxation-mef-viewer/issues/17 revealed that there is a bug in the MeF viewer. When a tax form with multiple instances of the same form (e.g. multiple 926) is viewed, all forms display the data in the first instance of the form.

Approach
This solution requires two parts. First, the page must be updated to differentiate between each instance of a form. Currently, no distinction is made, as all forms are simply referenced by the formName (e.g. 926). This PR changes formId to include a disambiguator (e.g. IRS926_0) when multiple forms with the same name exist.
Second, the function that displays the form when selected must be updated to pull the correct information from the XML DOM. This is done by pulling the index of the form element from the formId disambiguator.

Steps to test
Tested by running locally and validating that I am able to see distinct forms for XML files with multiple 926 forms. Additionally validated that opening each form shows distinct data which matches the XML data.
Current site - note that the two 926 forms are incorrectly displayed as identical to the user:

Locally Hosted (with fix) - note that the two 926 forms are correct displayed as having unique data:

Notes

Note: I really want to add a testing framework to this package, especially as I start tinkering with the logic of the transform. Open question: Should that be done in a separate PR or do I bundle it into this one?

Appreciate the feedback from both of you! Looking to get another version out by EOD with all the changes you've mentioned, and I'll try to add some testing just for the feature I'm adding.


Code inset optimization

@jrieken The Python team was concerned that having a webview for each Jupyter notebook output is too heavyweight, since each webview runs in its own process. This PR introduces an optimization for code insets, which fixes this problem for the Python team and should be useful for many clients. If an inset's html is basic static content, then the inset's view zone includes that content directly; otherwise the content is placed in a webview, as before. The optimization uses a whitelisting approach, in the style of XSS sanitizing tools. In particular, if the html includes any kind of scripting, then the webview is used so that the scripts will be sandboxed. I've checked that the most common types of Jupyter output (print statements, panda tables, Mathplotlib plots) generate html that make it through the whitelist. So, with the optimization, most Jupyter sessions will show insets that do not create any webviews.

Overall, I'd prefer to sandbox the content in some way instead of inserting it directly into the dom. A few reasons:

Safer failure. I always assume that someone will be able to get past the sanitizer.
We don't want CSS or anything from VS Code effecting the webview content.
We don't want anything from the webview ever leaking into VS Code.

Webviews may be too heavyweight, but what about sandboxed iframes that uses srcdoc?
<iframe sandbox srcdoc="<html>...."></iframe>

We've also discussed only rendering webview insets that are visible. That way, at most one screen's worth of webviews should ever exist at time. We do similar list virtualization for many lists in VS Code, including for lines in the editor

@mjbvz Are you suggesting to use iframe sandbox for whitelisted html content or for all code insets? What are the security and performance differences between webview and iframe sandbox? (I'm scouring the web, but not finding much so far.)
If anyone's curious, I started down the whitelisting road after I read in Adam Rule's study of 1M+ Jupyter Notebooks that 68% of cell outputs are just text (e.g. output from print statements). Obviously it's a  shame to fire up a process just to render a string. I haven't measured the prevalence myself, but other common cases include Panda tables (which are rendered as vanilla table elements) and Plotly plots (which are rendered as script-free svg elements). These are really the three cases I care about.
I'm somewhat skeptical about managing webviews based on the scroll viewport. While I've been playing with Python, I've noticed about a one-second lag (perceived, not measured) between an output showing up in the existing Python Interactive web panel and it showing up in an inset. Hiding or mitigating that latency would be a problem. Also, there's the issue of managing the webview's state as they come and go. Extension writers have to think about this for dealing with different Code sessions, but demand-paging the webviews would require state management within a session.

Yes, sandboxed iframes have higher overhead than inline html, but as a matter of principal we do not want to allow any extension to break VS Code. Sandboxed iframes (or webviews) let us isolate the capabilities, layout, and styling of the provided inset.
As for list virtualization, we'll likely want to do that for any variety of the webview inset API. Hopefully we'll be able to hide most of the details of how this actually works from extensions however. See CodeLensProvider for an example of what a lazy resolving webview inset API could look like

OK, an optimization strategy based on content is too brittle and risky. The better approach is to manage the webview resources based on viewport visibility (like code lens), so I'll cancel this PR.


Visual Update for computeparticles

Instead of using a small amount of large textured particles, use a large
amount of small monochrome particles.
Which uses a new vulkanexamplebase functionality of creating and
updating a only device visible buffer via a temporary staging buffer.

Thx for this updated PR, I'll try to get to it after work :+1: