DEP: integrate: deprecate romberg and quadrature

Reference issue
Toward gh-18574
What does this implement/fix?
scipy.integrate.quadrature and scipy.integrate.romberg do not reliably meet the accuracy target and are often slower the scipy.integrate.quad with the default vectorized=False; see https://github.com/scipy/scipy/issues/18574#issuecomment-1703320598. This PR deprecates them in favor of scipy.integrate.quad.
Additional information
To do:

[x] Seek approval from mailing list
[ ] Update tutorial
[ ] Add to release notes
[ ] Add to gh-15765

I don't think there's a like to like equivalence for the replacement function. For example, I have a use case that requires adaptive quadrature. However, I want to start at an order of 20 and work upwards. I don't think I could do that with quad

Even without a use case, I think these still would still have value as reference implementations for classic algorithms.

@ev-br indicated +1 for deprecation.
Could we deprecate, but not remove?

Could we deprecate, but not remove?

I’d be ok with that. I think @mdhaber’s right that most users probably would be better served by using quad, and the deprecation warning could point them in the right direction. Someone who has a specific reason to use Romberg integration or Gaussian quadrature would still have the option at least and could just silence the warning.

Could we deprecate, but not remove?

I would be -1 on deprecating but not removing. It creates confusion and the warnings are just annoying. Instead can we not just add a warning to the docs saying in most cases you would be better served by xyz.

Even without a use case, I think these still would still have value as reference implementations for classic algorithms.

I have to admit personally I do not think this is hugely valuable, most guass quadrature methods are trivial to implement given the collection of orthogonal polynomials in special. Plus there are other classics we are missing eg. other than the interface to quadpack we don't have a Clenshaw–Curtis implementation.

Could we deprecate, but not remove?

Another option is to declare them "legacy". It has been suggested that "legacy" code would not be maintained and would be released once as a separate package alongside SciPy 2.0, from which it would be removed. Documentation would steer new users away from legacy functions, but I don't think legacy code would emit a warning until a SciPy 2.0 is planned.
@h-vetinari and I had discussed reclaiming the name quadrature before that, though. The interface of quad has become a mess  (gh-18574) and is difficult to fix in a backward compatible way, so we were looking for a new name.
I could live with declaring these as legacy if we can call a new function quadrate : )

Is it possible to add new keywords to quad? e.g. Can we specify the minimum and maximum orders it'll try? For my personal projects I know that using a minimum of e.g. 21 is required, so there's no point in searching lower.

That said, I would be surprised if there are many quadrature and romberg users out there. Otherwise, wouldn't we be flooded with bug reports about them and fewer about quad?

quad must get more use, but Romberg integration and fixed tolerance Gaussian quadrature are pretty straightforward algorithms, and they're written in clean Python, so I don't think they have the kind of error surface QUADPACK has.
Also, I saw in your benchmarks above that romberg isn't returning error estimates. I'd consider that a bug. The absolute value of the difference between the values at the current and previous iterations gives a good error estimate.

I could live with declaring these as legacy if we can call a new function quadrate : )

Why not rename quadrature, gaussian_quadrature_fixed_tol or something, and deprecate and them reclaim quadrature?

so I don't think they have the kind of error surface QUADPACK has.

Right, they just give incorrect output and the user doesn't know, so they don't report an error : ) I don't think that's a good thing.

The output is currently a NumPy float. We could add the error as an attribute (something I would actually like), but I get the impression that this would not be popular. So adding an error estimate would probably mean adding a keyword argument that changes the return type, and that's something we're trying to get away from.

I see. Having romberg integration not return an error estimate is kind of odd, since one of its advantages is the quality of its error estimates. I don't think testing romberg over a large set of integrals of varying complexity is a good measure of whether it's worth keeping around. What it's suited for is quickly integrating over a finite interval a function which is smooth and well behaved. It does not do well with spikes and messy behavior, and I don't think it can handle singularities at all. There are particular cases where it can be a good choice though.

I think @ilayn was interested in that eventually?

Yes, intention is no unmaintained F77 code eventually. But I'd be really happy to not to translate if things are already not up to production level. Already feeling dizzy from cross referencing crytic hyeroglyphs. There is no point providing low-quality options to the users. If needed, anyone can download from Netlib and use it. Or alternatively we can leave it in a separate package as is.
Hence my vote is going for writing a bit of meson magic on top of things we deprecate and separate, so the legacy stuff is still pip installable and but leaving everything in the past like we did with scipy-weave.
This is all contingent upon having a better alternative of course.

Oops @ilayn Fortran quad is still the best general-purpose option, so it would be good to maintain that. The idea here is to deprecate two less general-purpose functions.

It seems like the only objection is to deprecating quadrature not romberg. Could we not proceed with the deprecation of romberg and continue to discuss quadrature?

The idea here is to deprecate two less general-purpose functions.

With the help of Matt I've just been investigating the use of _tanhsinh for some of my personal projects. It's clear that that approach and indeed quad have much better than the existing quadrature. I'd like to change my -1 to +1 for deprecation, then reclaiming quadrature for a better performing algorithm.

I have no real objections to deprecating both since that seems to the consensus. I just want to make sure everyone’s aware that the benchmark set from https://github.com/scipy/scipy/issues/18574#issuecomment-1703320598 contains examples which violate the assumptions of Romberg integration, e.g. singularities, points that evaluate to nan, rapidly oscillating or spiky functions. For smooth, well behaved functions, it converges rapidly with good error estimates. I think there are cases where a good Romberg implementation could be useful, but if someone was using it for these targeted cases, they would probably have asked for the error estimates to be returned.

Thanks @andyfaff!

It seems like the only objection is to deprecating quadrature not romberg.

@j-bowhay I think @steppi had reservations about removing the Romberg algorithm, although IIUC you would be OK with the algorithm being available otherwise?
I thought about a possible compromise.

deprecate romberg
add a method argument to quadrature, and make 'Romberg', 'Gaussian', and 'tanh-sinh' available as methods. (This would allow the Romberg algorithm to return an error estimate.)
warn that we are changing the following things about quadrature:

all arguments after b would become keyword only
name of tol would become atol
we might want to change the names of maxiter/miniter (or make them part of an options argument)
default method would become 'tanh-sinh'

use make_tuple_bunch to turn the output tuple into a rich object in a backward-compatible way. New attributes would include iteration count, function evaluation count, and termination status.
add the additional functionality of _tanhsinh to the other algorithms (vectorized support for elementwise callables, infinite limits of integration, iteration and function evaluation counts, termination status, "log-integration", callback interface, respect dtype, eventual Array API compatibility so different backends can be used)
add adaptive subdivision of the integral

This might work, but I see a few issues:

It will be painful for us. The extra work tiptoeing around the existing interface may greatly exceed the reduction in impact to downstream users.
If we don't change the output to a regular object now, we will probably end up supporting tuple unpacking of the integral and error estimate forever.
(maybe most important) We will probably end up with bug reports from users expecting methods 'Gaussian' and 'Romberg' quadrature to work exactly as they have in the past. Try as we might, I don't think we will be able to move forward to improve these without little tweaks, accidental or desired.

Personally, I'd prefer a clean break, and once quadrature is available, we do all the good things with none of the downsides.

Personally, I'd prefer a clean break, and once quadrature is available, we do all the good things with none of the downsides.

I think I’m fine with the clean break then. There’d be opportunity cost with the extra work required. The effort would probably be better spent elsewhere.

As a aside: is there a write-up somewhere about interface differences/ target use cases of tanhsinh vs quad_vec?

Not yet. Depending on how you write the callable, you can do integrals of vector-valued functions with _tanhsinh, but currently it is geared toward "elementwise" functions. The difference is that in an "elementwise" integrand (as I'm using the term), the expression used to evaluate the integrand (c*x**d) should be the same for different outputs - but the parameters (c, d) are allowed to be arrays. For a vector-valued integrand, the outputs could be evaluated by completely different functions, e.g. ([c*x**d, sin(x)]). However, unlike quad_vec, _tanhsinh can handle array limits of integration. In any case, I plan to get rid of this limitations of _tanhsinh with an option. (Originally, it didn't have the limitations; I added it for performance in it's intended application.) It is also much, much faster, it is more reliable for general use, and it has ever either features mentioned in https://github.com/scipy/scipy/pull/19510#issuecomment-1811646259.

Thanks @j-bowhay. I merged main and added your suggestions:

I just wanted to express (as a user) my strong opposition to removing algorithms, exactly per @steppi's original comment:

Even without a use case, I think these still would still have value as reference implementations for classic algorithms.

I'm sure at some point in the future I will use them, whether for sanity checks or teaching purposes.
I love the direction to unify the quadrature interfaces (and add better algorithms) - does that have to come at the cost of dropping other, already-implemented methods? Even if making Romberg and fixed-tol Gaussian options for the future interface is not feasible, why not just keep the old functions, sans deprecation (even if quadrature has to be renamed)? I would presume keeping them as-is incurs little maintenance burden. (And of course it makes sense to seclude them in the API reference and admonish their usage for general purposes.)

@j-bowhay I added gauss_quad as a replacement for quadrature, deprecated quadrature, and made gauss_quad and romberg legacy. Questions:

Is the name gauss_quad OK? I considered gaussian to be like romberg, but went with gauss_quad along the lines of fixed_quad and qmc_quad.
I'm not sure the admonition is supposed to be the first line. I think it looks a bit funny to replace the description in the TOC with an admonition box that is slightly below center. What do you think about swapping the admonition back to be the second line, since I've added a section to the TOC for "Legacy and Deprecated API"?

@j-bowhay @steppi @andyfaff I added gauss_quad as a replacement for quadrature, deprecated quadrature, and made gauss_quad and romberg legacy. Questions:

I guess we should probably go back to the mailing list if we are going to add guass_quad to the public api

Sent

and the plan is to replace them with better versions of themselves.

I got the opposite impression from the above discussion - that the plan was to drop the algorithms permanently rather than to reimplement them in a new interface - apologies if my perspective was misinformed! My opposition was only to reducing the number of implemented algorithms (I'm generally amenable to adapting personal code to API changes), and I thought keeping the old methods hanging around with whatever names would be the least burdensome way to avoid doing so. I appreciate the consideration either way.


🐞 [Bug]: Backends column should not be sortable in deployment table

Is there an existing issue for this?

[X] I have searched the existing issues

which package/s did you face the problem with?
Dashboard
What happened?
the backends  column should not be sortable in deployment table
Steps To Reproduce

deploy a domains solution or attach a domain to a vm
try to click sortable arrow on backends column in table
observe order of entries in table not changing

which network/s did you face the problem on?
Dev
version
96e183a17f9ad9e662e8ba89dfa2da89d00b7a9e
Twin ID/s
No response
Node ID/s
No response
Farm ID/s
No response
Contract ID/s
No response
Relevant screenshots/screen records

Relevant log output
n/a

Verified on Dev,
Version: c3bfded
Currently Domains' Backends column is not sortable.

https://github.com/user-attachments/assets/3463d90f-5c23-4a7d-bf42-749269e9d2e9
Related Link:

https://app.testlodge.com/a/26076/projects/40893/suites/234374?expand_section=455301#case_4413834


Getting an error when installing coffee-script in ubuntu

npm ERR! couldn't read package.json in .
npm ERR! Error installing .
npm ERR! Error: ENOENT, No such file or directory 'package.json'
npm ERR! Report this entire log at http://github.com/isaacs/npm/issues
npm ERR! or email it to<EMAIL_ADDRESS>npm ERR! Just tweeting a tiny part of the error will not be helpful.
npm not ok

You're using an ancient version of npm.  Please install npm 1.x.


OneFuzz CLI fails to connect to repro VM

Using OneFuzz CLI and trying to create and connect to repro Windows VM never succeeds
INFO:onefuzz:failed to connect to debug-server trying again in 10 seconds...
DebugConnect failed, Win32 error 0n10061
No connection could be made because the target machine actively refused it.
The server was reached but it refused the connection attempt. Ensure that the server specified is correct and that it is listening at the specified port.

Using OneFuzz CLI when trying to connect directly to create repro VM fails
DebugConnect failed, Win32 error 0n10061
No connection could be made because the target machine actively refused it.
The server was reached but it refused the connection attempt. Ensure that the server specified is correct and that it is listening at the specified port.

Repro VM RPD works fine, also remote debugging with Windbg works.
AB#41837713

related to #2217.
The retry is timing out before the connection is ready.


[ADD] List of regex (regular expressions) ready to use

Please read the instructions for creating a new list, contributing guidelines and the awesome manifest.
Especially this part:

Wait at least a couple of weeks after creating a list before submitting to give it a chance to mature.

I highly doubt I will accept this anyways, though. A random list of regexes of unproven quality is not very useful and could rather be potentially harmful.


Ref to closed issue with dynamic update if css classes

Sorry for creating the new one, but prev. issue was closed
The question is not clear enough, so if you want to change className based on some criteria (model value) use expressionProperties here is an example which applies a background color to the field based on the selected value https://stackblitz.com/edit/angular-pscmpm?file=src/app/app.component.ts
Originally posted by @aitboudad in https://github.com/ngx-formly/ngx-formly/issues/2556#issuecomment-716139942
My reply link is https://github.com/ngx-formly/ngx-formly/issues/2556#issuecomment-716416644

No need to create a new issue, I rely on github notification to track issue comments


Script/Code Duplication in ROS/SITL install scripts

@AndreasAntener We need to find a way to have only one script for dependencies etc.
https://github.com/PX4/containers/tree/master/docker/ros-indigo/px4-ros-full
vs.
https://github.com/PX4/Firmware/tree/master/Tools/ros

Yeah that's a pity..
Maybe we can sync the scripts and I can reference them from the Docker installation. But I have to check how, because Docker only allows using stuff from sub directories (where the Dockerfile is located).

@thomasgubler I'll try move the install scripts into PX4/containers and reference it from there. So I can use them for the Docker installation. At the same time I'll try to switch to latest MAVROS because of #1979


Node 16

Node 16 was just released for general usage.
CFN Lint kicks off when using nodejs16.x in a template.

Included in #2261


Implement new App Source Component

New Source Component to enable client applications to insert data into a DSL Pipeline.
New callback typedefs
/**
 * @brief Callback typedef for the App Source Component. The function is registered
 * with the App Source by calling dsl_source_app_data_handlers_add. Once the Pipeline
 * is playing, the function will be called when the Source needs new data to process.
 * @param[in] length the amount of bytes needed.  The length is just a hint and when it
 * is set to -1, any number of bytes can be pushed into the App Source.
 * @param[in] client_data opaque pointer to client's user data.
 */
typedef void (*dsl_source_app_need_data_handler_cb)(uint length, void* client_data);

/**
 * @brief Callback typedef for the App Source Component. The function is registered
 * with the App Source by calling dsl_source_app_data_handlers_add. Once the Pipeline
 * is playing, the function will be called when the Source has enough data to process.
 * It is recommended that the application stops calling dsl_source_app_buffer_push
 * until dsl_source_app_need_data_handler_cb is called again.
 * @param[in] client_data opaque pointer to client's user data.
 */
typedef void (*dsl_source_app_enough_data_handler_cb)(void* client_data);

New Constructor and Methods
/**
 * @brief Creates a new, uniquely named App Source component to insert data
 * into a DSL pipeline.
 * @param[in] name unique name for the new Source.
 * @param[in] is_live set to true to instruct the source to behave like a
 * live source. This includes that it will only push out buffers in the PLAYING state.
 * @param[in] format one of the DSL_VIDEO_FORMAT constants.
 * @param[in] width width of the source in pixels.
 * @param[in] height height of the source in pixels.
 * @param[in] fps-n frames/second fraction numerator.
 * @param[in] fps-d frames/second fraction denominator.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_new(const wchar_t* name, boolean is_live,
    uint format, uint width, uint height, uint fps_n, uint fps_d);

/**
 * @brief Adds data-handler callback functions to a named App Source component.
 * @param[in] name unique name of the App Source to update
 * @param[in] need_data_handler callback function to be called when new data is needed.
 * @param[in] enough_data_handler callback function to be called when the Source
 * has enough data to process.
 * @param[in] client_data opaque pointer to client data passed back into the
 * client_handler function.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_data_handlers_add(const wchar_t* name,
    dsl_source_app_need_data_handler_cb need_data_handler,
    dsl_source_app_enough_data_handler_cb enough_data_handler,
    void* client_data);

/**
 * @brief Removes data-handler callback functions from a named App Source component.
 * @param[in] name unique name of the App Source to update
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_data_handlers_remove(const wchar_t* name);

/**
 * @brief Pushes a new buffer to a uniquely named App Source component
 * for processing.
 * @param[in] name unqiue name of the App Source to push to.
 * @param[in] buffer buffer to push to the App Source
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_buffer_push(const wchar_t* name, void* buffer);

/**
 * @brief Pushes a new sample to a uniquely named App Source component
 * for processing.
 * @param[in] name unqiue name of the App Source to push to.
 * @param[in] sample sample to push to the App Source
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_sample_push(const wchar_t* name, void* buffer);

/**
 * @brief Notifies a uniquely named App Source component that no more buffers
 * are available.
 * @param[in] name unique name of the App Source to notify.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_eos(const wchar_t* name);

/**
 * @brief Gets the current buffer-format setting for the named App Source Component.
 * @param[in] name unique name of the App Source to query.
 * @param[out] buffer_format one of the DSL_BUFFER_FORMAT constants.
 * Default = DSL_BUFFER_FORMAT_BYTE.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_buffer_format_get(const wchar_t* name,
    uint* buffer_format);

/**
 * @brief Sets the buffer-format setting for the named App Source Component.
 * @param[in] name unique name of the App Source to update.
 * @param[in] buffer_format one of the DSL_BUFFER_FORMAT constants.
 * The format to use for segment events. When the source is producing timestamped
 * buffers this property should be set to DSL_BUFFER_FORMAT_TIME.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_buffer_format_set(const wchar_t* name,
    uint buffer_format);

/**
 * @brief Gets the block enabled setting for the named App Source Component.
 * If true, when max-bytes are queued and after the enough-data signal has been
 * emitted, the source will block any further push calls until the amount of
 * queued bytes drops below the max-bytes limit.
 * @param[in] name unique name of the App Source to query.
 * @param[out] enabled current block enabled setting.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_block_enabled_get(const wchar_t* name,
    boolean* enabled);

/**
 * @brief Sets the block enabled setting for the named App Source Component.
 * If true, when max-bytes are queued and after the enough-data signal has been
 * emitted, the source will block any further push calls until the amount of
 * queued bytes drops below the max-bytes limit.
 * @param[in] name unique name of the App Source to update.
 * @param[in] enabled new block enabled setting.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_block_enabled_set(const wchar_t* name,
    boolean enabled);

/**
 * @brief Gets the current level of queued data in bytes for the named
 * App Source Component.
 * @param[in] name unique name of the App Source to query.
 * @param[out] level current queue level in units of bytes.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_current_level_bytes_get(const wchar_t* name,
    uint64_t* level);

/**
 * @brief Gets the maximum amount of bytes that can be queued for the named
 * App Source Component. After the maximum amount of bytes are queued, the
 * App Source will call the "enough-data-callback".
 * @param[in] name unique name of the App Source to query.
 * @param[out] level current max-level in units of bytes. Default = 200000.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_max_level_bytes_get(const wchar_t* name,
    uint64_t* level);

/**
 * @brief Sets the maximum amount of bytes that can be queued for the named
 * App Source Component. After the maximum amount of bytes are queued, the
 * App Source will call the "enough-data-callback".
 * @param[in] name unique name of the App Source to query.
 * @param[in] level new max-level in units of bytes.  Default = 200000.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SOURCE_RESULT otherwise.
 */
DslReturnType dsl_source_app_max_level_bytes_set(const wchar_t* name,
    uint64_t level);

Complete and merged into v0.26.alpha


__TS__Iterator is incorrectly used for LuaTables

Steps to reproduce:
const a = new LuaTable();
const entries = [...pairs(a)];

Here's a link to this code snippet on the TSTL playground: https://typescripttolua.github.io/play#code/MYewdgzgLgBAhjAvDMBTA7jAMgVzgFTgCMAbVACgEoBuAKFEllTCgCcBLVCJGAbQDpBABzjtWEcnEoBdOkA

After investigating this, this is a more tricky case than I first thought. The obvious Lua translation does not make sense here:
local tbl = {a=2,b=3}
local tbl2 = {pairs(tbl)} -- tbl2 is now { [1] = next, [2] = tbl }

Instead, we would have to consider translating to something like :
local tbl = {a=2,b=3}
local tbl2 = __TS__LuaIteratorToArray(pairs(tbl))

Which would mean we also have to distinguish between LuaIterator<LuaMultiReturn<>> and other LuaIterator<>, because one would lead to an array of arrays, while the other is just one flat array of items.
Or we could just disallow this case altogether, and just force users to use
Object.entries(tbl)


Error while creating owner side of many-to-many relationship

Hello
I am getting below error (relationshipNameCapitalized is not defined]) on generating owner side of many-to-many relationship:

events.js:292
throw er; // Unhandled 'error' event
^
Error: Copying template ./angular/src/main/webapp/app/entities/entity-management-update.component.html.ejs failed. [ReferenceError: /Users/shahzad/Shahzad/Personal/Projects/jhipster-primeng-blueprint/generators/entity-client/templates/angular/src/main/webapp/app/entities/entity-management-update.component.html.ejs:195
193|
194|                         <p-multiSelect id="field_<%= relationshipFieldNamePlural %>" name="<%= relationshipFieldNamePlural %>" formControlName="<%=relationshipFieldNamePlural %>"<% if(relationships[idx].pagination !== 'no') { %>

195|                                        [virtualScroll]="true" [lazy]="true" [rows]="10" (onLazyLoad)="on<%= relationshipNameCapitalized %>LazyLoadEvent($event)"<% } %>
196|                             [options]="<%= relationshipName %>Options" optionLabel="<%=otherEntityField %>">
197|
198| <%_ if (relationshipRequired) { _%>

relationshipNameCapitalized is not defined]
at Environment.error (/Users/shahzad/git/sibgo/fe/sibgo/node_modules/yeoman-environment/lib/environment.js:243:40)
at module.exports.error (/Users/shahzad/Shahzad/Personal/Projects/jhipster-primeng-blueprint/node_modules/generator-jhipster/generators/generator-base.js:1542:18)

Please test this in JhipsterV7 changes

@smunir v7 release


Enable date and time via logging

With these changes and modifications is possible to see in the logs both date and time based on the local time of the system where is running

#101


Hacky workaround to get token usage from chat completions api response

I am trying to get the token usage data from the response of a call to the OpenAI's chat completion api but it doesn't seem possible. Here are the details:
IChatCompletion.GetChatCompletionsAsync returns a list of IChatResult objects. It represents the response from OpenAI's chat completion API. The issue is that this interface does not have the ModelResult property which contains token usage data. Hence, there's no way to get the token usage data when using the chat completion api. In contrast, the ITextCompletion.GetCompletionsAsync returns a list of ITextResult objects which do contain the ModelResult property.
Looking deeper into the code, it looks like the concrete object type of IChatResult which is the internal class ChatResult has the ModelResult property. So then I was able to cast the IChatResult to a ITextResult and access that property:

There should be a simple fix for this.

@RogerBarreto any thoughts here?

@singhk97, Addressing the well spotted problem.


Implement patch dropout for eva / vision_transformer, refactor dropout args

add PatchDropout layer (FLIP), integrate into eva.py and vision_transformer.py
patch dropout works with ROPE for eva
make dropout args more consistent across all transformers

drop_rate - always (classifier) head dropout (this used to be used for proj_drop with no head drop in most transformers)
patch_drop_rate - patch dropout
pos_drop_rate - abs position dropout (used to be set via drop_rate)
proj_drop_rate - transformer projection dropout (MLP and after specific linear proj layers)
attn_drop_rate - attention dropout
drop_path_rate - stochastic depth dropout rate

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Modifiable client.id

When there are multiple consumers in the kafka broker, it helps differentiate with client names to see consumers and troubleshoot easily.

Hey @cragonnyunt I'm closing this now because it's becoming really hard to merge branches v1.13.x and v2.x. Since this is not a bug fix, please resubmit this PR to v2.x. Thank you!


[Login form] Cloudflare Turnstile captcha for login form

Implement Captcha for user login to avoid bruteforcing and enhance user's account security.

Done:
https://github.com/user-attachments/assets/de52b0df-da08-4a44-af0e-7d6389c93b2c
https://github.com/ita-social-projects/GreenCityClient/pull/3387


feat(firebase_crashlytics): Updates the Crashlytics plug-in to support on-demand exception.

Description
This feature allows Users to send crash reports without having to close/open their app.
Related Issues
None.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]).
This will ensure a smooth and quick review process. Updating the pubspec.yaml and changelogs is not required.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[ ] All existing and new tests are passing.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] The analyzer (melos run analyze) does not report any problems on my PR.
[ ] I read and followed the Flutter Style Guide.
[ ] I signed the CLA.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change.
[X] No, this is not a breaking change.

…orting

Holding out for the latest release of android sdk (>29.3.0) for this to work.

Copied to a new branch here: https://github.com/firebase/flutterfire/tree/crashlytics-eap-release since we need to revert changes back to how they were on this branch since the EAP folks were still using it (am reverting it myself now)


No superimposed PDB

Hi, I am very much interested in using this program in my project. I am trying to align 831 predicted structures, they are well analysed with sequence alignments in previous studies but I am having problems in aligning them with Caretta. The run finishes well without an error message, but I can't find superimposed PDB file but only cleaned_pdb and result_pdb, and the result_pdb is virtually identical to the cleaned_pdb. also, I see very high RMSD values and very low TM scores which is not the case if I align some of them in PyMOL. Could you please help me to find what I am missing? Thank you in advance!

I think you need to open/input all of the files in the result_pdb folder at once in PyMOL. Then you can see how they are aligned.

I am still puzzled with the results, the RMSD scores are around 2K and TM scores of 0.06-0.08, which does not make sense as the aligned structures are quite conserved, and the TM score from the mTM-align is around 0.8. What could be the reason for this difference?

This sounds like a bug. Could you give a small set of PDB/AFDB IDs so I can reproduce and debug?

Right! Okay, please find a small sample set of PDBs in the attachment. I ran Caretta and mTM-align with this set and similar results (reasonable results with mTM, but not with Caretta) came back. Thank you.
From: Jay @.>
Sent: 01 May 2023 12:27
To: TurtleTools/caretta @.>
Cc: Kim, Tom @.>; Author @.>
Subject: Re: [TurtleTools/caretta] No superimposed PDB (Issue #23)
This email from<EMAIL_ADDRESS>originates from outside Imperial. Do not click on links and attachments unless you recognise the sender. If you trust the sender, add them to your safe senders listhttps://spam.ic.ac.uk/SpamConsole/Senders.aspx to disable email stamping for this address.
This sounds like a bug. Could you give a small set of PDB/AFDB IDs so I can reproduce and debug?
—
Reply to this email directly, view it on GitHubhttps://github.com/TurtleTools/caretta/issues/23#issuecomment-1529604725, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A6DG4EJO5EUVEOBPFF3YW2DXD6MZDANCNFSM6AAAAAAVGZXXBI.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

Here is the file, thank you!
D1_sam.zip

Thanks! Will look into it asap

Hi @TomDongmin, I'm getting high tm-scores for your dataset - are you sure you used the github repo and not the pypi version? I think it's safest to install caretta by cloning the master branch and pip install .. We'll also try to update the pypi version soon.


Changed add_comment layout so that the observation notes and comments…

… fit in the column below the comment text area to the left of the images if there are a lot of images.    Also, instead of hiding the images for "xs" browsers, it moves them to the end.

Coverage remained the same at 92.633% when pulling 2174d8552477966247835f36687fc12f6a1d47a1 on tweak-add-comment-layout into 9467ff062cfd0d29f8b00c599f81ba065b975249 on master.

Looks good to me.


docs: update README.md

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

Project coverage is 99.94%. Comparing base (5488953) to head (22ace08).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #463   +/-   ##
=======================================
  Coverage   99.94%   99.94%
=======================================
  Files          42       42
  Lines        3697     3697
=======================================
  Hits         3695     3695
  Misses          2        2

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


chore: gh token for release

Description 📣
Fix attempt for auto npm release

:tada: This PR is included in version 1.1.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add PWA Article

Change 'Blazor Fire Calculators' description and add 'Create PWA using Blazor' article

Thank's for the submission.


LC-527: update jacoco version

Noting that the github passed running java 17, and I got a clean local build with openjdk version "19.0.1" 2022-10-18. Jacoco docs suggest that earlier java versions remain supported, so this upgrade looks safe to me. https://www.jacoco.org/jacoco/trunk/doc/faq.html


How to set bitrate?

Like the -b:v in ffmpeg

Would be useful

Seems AvContext takes it in: https://ffmpeg.org/doxygen/trunk/structAVCodecContext.html#a6b53fda85ad61baa345edbd96cb8a33c
But currently it is not supplied: https://github.com/ammen99/wf-recorder/blob/460d454b1efd380a3f732f6fd70c7a5e265381f6/src/frame-writer.cpp#L340
Will try and PoC if I can hardcode it to something and it works


Drop up when drop down will go bellow screen

The situation in the screenshot is a bit annoying. Could the drop down drop up in these situations (and only in these)?

@forteller You should just be able to scroll the sidebar up? We could possibly do this automatically. I'm not sure "dropping up" would be a great experience.

I could, but it's one more step. If I have to do this for many similar features in the same area having one more step for every single one of them might be the thing that makes me not bother doing it.

"Dropping up" is a common UI pattern. I think from a usability perspective, it is the expected behavior.
As a quick example - this is the hamburger menu in Chrome "dropping up" when the browser is near the bottom of the screen.

"Dropping up" is a common UI pattern.

@jgscherber Yes, it is common to position menus and popovers. But not for showing search suggestions in a text input, methinks.

Closing this for now as low-impact. You can just scroll down or type the value you want.

If I have to do this for many similar features in the same area having one more step for every single one of them might be the thing that makes me not bother doing it.

The next version of iD will have field editing for multiselection, so you can just select all these features and change the value for all of them at once. Try it out here.


Add support for embedding HTML strings without modifying the core

While ideally everything should be migrated to XHP, this is often not practically possible because of dependencies on third-party libraries (eg markdown renderers). This is usually done by both:

adding an HTML() function (or POTENTIAL_XSS_HOLE() if you're at Facebook :p )
patching XHP to understand how to render the result of that, and always allowing it as a child

Two main options come to mind:

actually fully support it in the core, preferably with an annoying-to-type and scary name that doesn't need someone to google it to be scared - eg XHP_XSS_SECURITY_HOLE_BUT_TRUST_ME()
patch the core to recognize marker interfaces - eg XHP\Renderable and XHP\AlwaysValidChild - and leave implementation of those to the end user

I'd prefer the latter - it keeps it discouraged by a high barrier to entry, but means that people can use the library verbatim, without having to maintain a fork.
cc @TJ09, @rdewilde, @Swahvay, @oyamauchi

I've done HTML strings in the past with a simple XHP Class: https://gist.github.com/TJ09/fff28ef37bc526b32238 But that's not actually always allowed as a child (and the name isn't particularly scary).
I like the idea of interfaces, though it does give people more tools with which to shoot themselves in the foot. What type of interaction were you thinking of? Add the interface to a Stringable class?

Yep, something like that, though not just allowing stringable to avoid accidental usage.
Personally I'd prefer something more restrictive than that XHP class, eg:
final class HTMLString implements XHP\Renderable, XHP\AlwaysValidChild {
  public function __construct($string) { /* ... */ }
  public function toString() { /* .. */ }
}

So, no way to do irrelevant stuff like setting XHP attributes on the raw string. That said, if it's interface-based, either approach would be possible in user code depending on developer preferences.

Example: http://codebeforethehorse.tumblr.com/post/87306947716/converting-a-project-to-xhp

I'd appreciate feedback on PR #95 - I plan to merge it on monday if there's no objections.

Also, I'm thinking of tagging 1.6 once this lands


Use extended article name in add article popup

The article name used inside the shopping basket is composed as articlename + additionaltext, where the additionaltext covers information about the variant-options. This name should also be used inside the add article popup.

Dear Contributor,
Thank you for your contribution to Shopware. We value your engagement.
Unfortunately we have to close all existing Pull Requests.
This is due to the new Shopware 5 Major Release and a restructuring of the branch names.
If your contribution is still relevant for Shopware 5, a new pull request is highly appreciated.
We are very sorry for this inconvenience.
Greetings from the Shopware Team.


Add check using staticcheck

Description
Add linting using staticcheck. This is added as a separate check from golangci-lint as we were running into memory issues when running it via golangci-lint.
Type of change

[ ] :sunflower: Feature
[ ] :bug: Bugfix
[ ] :world_map: Documentation
[ ] :robot: Test
[x] :computer: CI/Deployment
[ ] :hamster: Trivial/Minor

Issue(s)

https://github.com/alcionai/corso/pull/1634

Test Plan

[x] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

Looks like go-licenses started to error out in CI now. Let me look into it.


[Event Request] Report 12152 "Create Subcontr.Transf. Order" - OnAfterGetRecord

(For Italian Localization).
Please, can you add the event suggested below in order to add information to the transfer lines taken from the purchase lines? Thank you in advance.
trigger OnAfterGetRecord()
var
QtyToPost: Decimal;
begin
if not "WIP Item" then
CheckPurchLine("Purchase Line", true, QtyToPost)
else begin
CheckPurchLine("Purchase Line", false, QtyToPost);
if QtyToPost > 0 then begin
TestField("Location Code");
InsertTransferHeader("Location Code");
TransferLine.Init();
TransferLine."Document No." := TransferHeader."No.";
LineNum := LineNum + 10000;
TransferLine."Line No." := LineNum;
TransferLine.Validate("Item No.", "No.");
TransferLine.Validate("Variant Code", "Variant Code");
TransferLine.Validate("Unit of Measure Code", "Unit of Measure Code");
TransferLine.Validate("WIP Quantity", QtyToPost);
TransferLine."Subcontr. Purch. Order No." := "Document No.";
TransferLine."Subcontr. Purch. Order Line" := "Line No.";
TransferLine."Prod. Order No." := "Prod. Order No.";
TransferLine."Prod. Order Line No." := "Prod. Order Line No.";
TransferLine."WIP Item" := true;
TransferLine."Routing No." := "Routing No.";
TransferLine."Routing Reference No." := "Routing Reference No.";
TransferLine."Work Center No." := "Work Center No.";
TransferLine."Operation No." := "Operation No.";
TransferLine.Insert();
                       //New Event Code - Begin
                       OnAfterInsertTransferLine(TransferHeader, TransferLine, "Purchase Line");
                      //New Event Code - End

                    end;
                end;
            end;

[IntegrationEvent(TRUE, false)]
procedure OnAfterInsertTransferLine(var TransferHeader: Record "Transfer Header"; var TransferLine: Record "Transfer Line"; PurchaseLine: record "Purchase Line"): Boolean)
begin
end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Events

Probably the most challenging part of the site.

[ ] Should be a DOM site, not Static.
[ ] Ability to dynamically remove and add event cards

We won't need this since we repurposed the repo to host claritymoe.github.io


[QUESTION] Is it possible to run LightGBM in useSingldeDatasetMode with all cores allocated until the end of fitting?

Hello. I need to use parallel jobs in a single Spark application.
However, If I use lightgm with 'useSingleDataset=True' parameter it runs multiple tasks per executor (equal to a number of cores on it) and than all tasks except one will finish after data preparing.

The left one spawns several threads to execute training in parallel on the executor. But if there are another parallel job (or another instance of lightgbm), Spark would assign this parallel tasks on cores freed by the data preparation tasks. but still occupied by the lightgbm threads. It would lead to same cores being used by different tasks simultaneously which is not desirable.
I would like to know if there is a way to tell lightgbm not to free the cores until the training is ended?

I'm not quite sure what you are asking. In useSingleDataSet=true mode, only 1 Task per executor is left after the data preparation stage, and all other Tasks on the same executor are completed.  LightGBM does not use any thread directly except for that 1 Task per executor (besides any OpenMP parallelism that happens inside the native LightGBM library itself). That's what makes useSingleDataSet=true more efficient... LightGBM is given only 1 thread per executor and there is less network time communicating between "machines".  Can you explain why you think threads are still occupied?
You can set things like numTasks to make it so that there's only one Task/partition per executor, but that doesn't limit LightGBM training from OpenMP parallelism.
And no, we don't have any way to "hold on" to Task threads that I know of. You could potentially use some direct LightGBM params or environment vars to affect OpenMP multithreading, but let's no go there unless that's really what you want to do.
LightGBM native library was not really designed to run in an external multi-threaded environment (e.g., your parallel jobs). It's designed to take advantage of all threads it can internally. We have a new execution mode that fixes some multi-threaded issues (to be released very soon), but it just allows multiple Tasks on the same executor to load the Dataset in parallel. It doesn't constrain OpenMP thread usage directly.

I'm not quite sure what you are asking. In useSingleDataSet=true mode, only 1 Task per executor is left after the data preparation stage, and all other Tasks on the same executor are completed. LightGBM does not use any thread directly except for that 1 Task per executor (besides any OpenMP parallelism that happens inside the native LightGBM library itself). That's what makes useSingleDataSet=true more efficient... LightGBM is given only 1 thread per executor and there is less network time communicating between "machines". Can you explain why you think threads are still occupied?
You can set things like numTasks to make it so that there's only one Task/partition per executor, but that doesn't limit LightGBM training from OpenMP parallelism.
And no, we don't have any way to "hold on" to Task threads that I know of. You could potentially use some direct LightGBM params or environment vars to affect OpenMP multithreading, but let's no go there unless that's really what you want to do.
LightGBM native library was not really designed to run in an external multi-threaded environment (e.g., your parallel jobs). It's designed to take advantage of all threads it can internally. We have a new execution mode that fixes some multi-threaded issues (to be released very soon), but it just allows multiple Tasks on the same executor to load the Dataset in parallel. It doesn't constrain OpenMP thread usage directly.

I have met the same problems, and according to your reply I reset my cluster resource 「200cores = 50executor x 4 core」to 「200cores = 200executor x 1core」greatly accelerate the traning time. But now I get stuck in other things https://github.com/microsoft/SynapseML/issues/1595. And I'm testing update the version from 0.10.0 to 0.10.2.

I'm not quite sure what you are asking. In useSingleDataSet=true mode, only 1 Task per executor is left after the data preparation stage, and all other Tasks on the same executor are completed. LightGBM does not use any thread directly except for that 1 Task per executor (besides any OpenMP parallelism that happens inside the native LightGBM library itself). That's what makes useSingleDataSet=true more efficient... LightGBM is given only 1 thread per executor and there is less network time communicating between "machines". Can you explain why you think threads are still occupied?
You can set things like numTasks to make it so that there's only one Task/partition per executor, but that doesn't limit LightGBM training from OpenMP parallelism.
And no, we don't have any way to "hold on" to Task threads that I know of. You could potentially use some direct LightGBM params or environment vars to affect OpenMP multithreading, but let's no go there unless that's really what you want to do.
LightGBM native library was not really designed to run in an external multi-threaded environment (e.g., your parallel jobs). It's designed to take advantage of all threads it can internally. We have a new execution mode that fixes some multi-threaded issues (to be released very soon), but it just allows multiple Tasks on the same executor to load the Dataset in parallel. It doesn't constrain OpenMP thread usage directly.

I have met the same problems, and according to your reply I reset my cluster resource 「200cores = 50executor x 4 core」to 「200cores = 200executor x 1core」greatly accelerate the traning time. But now I get stuck in other things #1595. And I'm testing update the version from 0.10.0 to 0.10.2.

Update version to 0.10.2 solved the error mentioned in #1595, .

Hi, I'm confused by how useSingleDataSet works here and was wondering if anyone might provide any clarification.
For example, if we are running a 10 executors * 4 cores cluster, and we set useSingleDataSet to be true, will all cores be used for training after data preparation is done, or just 1 core from each 10 executors = 10 cores? I initially thought it's the former one, but based on @svotaw's explanation and @shexuan's example it seems to be the latter one?

If only one core per executor will be used, why would useSingleDataSet improve performance by using less computation resource? And in this case, is it recommended to use on core executors?
If not, why for @shexuan's case the performance was greatly improved? I also observed from Databricks metrics page that when using SingleDatasetMode the CPU usage was not even high when using 16 cores executors.

In general, when using SingleDatasetMode, what's the suggested configuration?

@sinnfashen
Basically, SynapseML turns Spark partition Tasks into LightGBM "machines" (the unit of execution in native LightGBM code, each with its own Dataset). The parameter "useSingleDataset" controls how that conversion happens.
If useSingleDataset=false, we will initialize LightGBM to run with numTasks "machines" (i.e., one per partition). Usually this will mean more than 1 LightGBM "machine" per executor. LightGBM threads on the same physical node will share cores, and use higher-latency network protocols to communicate between ones which are actually on the same physical Spark node.
If useSingleDataset=true, then we will initialize LightGBM to run with just 1 "machine" per executor, generally resulting in a smaller number of machines performing training.
Sorry, when I was using "task" in previous comments, I meant Spark Task, not any reference to process threads or cores. We don't control "core" usage. That's up to the OS and native LightGBM library. If a LightGBM training "machine" is run on a node with 4 cores, it will likely try and use all of them (because of OpenMP integration). Multiple "machines" on the same executor will share cores. More cores should always speed up training.
Note: unless you are using some custom configuration, usually 1 executor == 1 Spark node.
Example: 10 executors available with 4 cores/node (40 cores total); 50 data partitions
useSingleDataset=false: There will be 50 LightGBM "machines" created, 1 per partition (and run on the associated Spark Task). With only 10 executors (i.e., nodes), there will be 5 "machines" per executor and hence 5 LightGBM training threads sharing 4 cores for that executor (slower execution). Also, slower network protocols will be used between 50 machines, despite some of them being on the same physical node.
useSingleDataset=true: There will be only 10 LightGBM "machines" created, 1 per executor. On each executor, 5 partitions will be merged into 1 dataset (and hence 4 Spark Tasks will exit once Dataset is created, leaving 1 to be the "machine"). With only 1 LightGBM machines per executor, training on that machine can use all 4 cores. There are also only 10 training machines running, reducing overall network traffic to a minimum.
So, depending on how the cores/partitions/nodes are configured and related, useSingleDataset=true will USUALLY be faster. You can come up with some configurations where is doesn't help or is even slower.
As far as your example, it's hard to comment without knowing the number of partitions you are using.
I hope that helps. Feel free to ask more questions.


feat: merge jaas resources feature branch

Description
This PR merges the work from the feature branch jaas-resources into main. This PR includes #594 which is yet to land.
There is one additional piece of work for group data sources that will need to land after the code freeze or in addition to this PR.
Type of change

Add new resource
Other (merge feature branch)

/merge

/merge


Regarding the performance of tensorwise

I found out that tensorwise actually just runs a for loop over the nested tensors. I benchmarked tensorwise against map, list comprehension and for loop. (Un)surprisingly, tensorwise performs much slower than the others. Here is the benchmark
import torch as T
import nestedtensor as nt

crit = lambda x, y: T.mean((x - y) ** 2)

@nt.tensorwise()
def loss_nt(a, b):
    return crit(a, b)

def loss_map(a, b):
    return sum(map(crit, a, b)) / len(a)

def loss_for(a, b):
    return sum([crit(a_, b_) for a_, b_ in zip(a, b)]) / len(a)

def loss_expfor(a, b):
    loss = []
    for a_, b_ in zip(a, b):
        loss.append(crit(a_, b_))
    return sum(loss) / len(loss)

p1 = T.arange(64 * 5000 * 3).cuda().view(64, 5000, 3).float()
p2 = T.arange(64 * 5000 * 3).cuda().view(64, 5000, 3).float()

p1_list = list(p1[:, None])
p2_list = list(p2[:, None])

p1_nt = nt.as_nested_tensor(p1_list).cuda()
p2_nt = nt.as_nested_tensor(p2_list).cuda()

start = T.cuda.Event(enable_timing=True)
end = T.cuda.Event(enable_timing=True)

for i in range(100):
    start.record()
    loss_nt(p1_nt, p2_nt)
    end.record()
    T.cuda.synchronize()
    total_nt = start.elapsed_time(end)

    start.record()
    loss_map(p1_list, p2_list)
    end.record()
    T.cuda.synchronize()
    total_map = start.elapsed_time(end)

    start.record()
    loss_for(p1_list, p2_list)
    end.record()
    T.cuda.synchronize()
    total_for = start.elapsed_time(end)

    start.record()
    crit(p1, p2)
    end.record()
    T.cuda.synchronize()
    total = start.elapsed_time(end)

    start.record()
    loss_expfor(p1_list, p2_list)
    end.record()
    T.cuda.synchronize()
    total_expfor = start.elapsed_time(end)

    print(i, total_nt, total_map, total_for, total_expfor, total)

Is it because tensorwise is not in C++ yet?
If the implementation of tensorwise is final then I wonder if tensorwise is just for convenience, not for performance?

Thanks for posting this issue!
Indeed tensorwise is slow at the moment because it is not written in C++. I'm working on a C++ version that accepted a JIT-ed function and then executes efficiently, which will remove a lot of the overhead and help with performance.


Add custom privacy request support for consent requests

Description Of Changes
Adding custom privacy request field support for consent requests. Introducing a new disable_consent_identity_verification that defaults to true or false based on the value of subject_identity_verification_required to keep the current behavior intact but allow admins to selectively disable identity verification for consent requests.
This PR only handles the collection and association of custom privacy request fields with a consent request. The usage of this new association is handled in fidesplus.
Code Changes

[ ] Updated smoke_test.cy.ts to assert the new fields in a consent request
[ ] Updated the ConsentConfig and ConsentRequestForm.tsx to dynamically render and process CustomPrivacyRequestFields
[ ] Updated the /consent-request endpoint to persist the custom privacy request fields in the database
[ ] Database migration to add a reference between a ConsentRequest and CustomPrivacyRequestFields

There weren't any changes needed on the SaaS connector side of things, placeholder values (e.g. <custom_privacy_request_fields.first_name>) were already accounted for in the access/erasure phase of the custom privacy request work.
Steps to Confirm

[ ] E2E test must be completed in Fidesplus https://github.com/ethyca/fides/pull/4546

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
[ ] Issue Requirements are Met
[ ] Update CHANGELOG.md

@galvana finished testing on the plus side, to echo here, Old Consent doesn't seem to work, New Consent seems to have the pieces in place.
Are you sure there aren't any additional changes needed for the saas connectors - it all "just works" on the consent side?  I didn't verify this, just wanted to double check.

@pattisdr, I added the missing pieces for the old consent workflow plus some other misc fixes. I was wondering why I was so off and I realized that my instructions for setting FIDES_PRIVACY_CENTER__IS_OVERLAY_ENABLED were wrong, those need to be set in /clients or /clients/privacy-center. I was setting it in the root fidesplus .env file thinking I was actually toggling between old and new consent 😵💫. I tested this locally and updated the tests for the old workflow.

things are looking good in testing over here 👍 note that I just check as far as the privacy request gets created and is linked to this data.


fixing TextClassifier with load_from_checkpoint still downloads data

Fix for #984
Currently, I encountered a few issues trying to solve this problem.
My code
from flash.text import TextClassifier
model = TextClassifier(num_classes=2,local_files_only=True,backbone=LOCAL_FILEPATH).load_from_checkpoint("text_classification_model.pt")

LOCAL_FILEPATH consists of files from the default bert-medium
The issue:
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    model = TextClassifier.load_from_checkpoint("text_classification_model.pt")
  File "/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/pytorch_lightning/core/saving.py", line 134, in load_from_checkpoint
    checkpoint = pl_load(checkpoint_path, map_location=lambda storage, loc: storage)
  File "/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/pytorch_lightning/utilities/cloud_io.py", line 38, in load
    return torch.load(f, map_location=map_location)
  File "/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/torch/serialization.py", line 607, in load
    return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
  File "/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/torch/serialization.py", line 882, in _load
    result = unpickler.load()
  File "/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/torch/serialization.py", line 875, in find_class
    return super().find_class(mod_name, name)
AttributeError: Can't get attribute 'TextCSVDataSource' on <module 'flash.text.classification.data' from '/Users/abhigith.abraham/opt/anaconda3/envs/py/lib/python3.6/site-packages/lightning_flash-0.6.0.dev0-py3.6.egg/flash/text/classification/data.py'>

@ethanwharris  @Borda @rohitgr7

@SeanNaren for visibility ^^


remove and gitignore .sass-cache directory

.sass-cache contains generated content which changes every time jekyll serve runs locally, thus should not be committed into the repository

thanks for the update - appreciated.


bst workspace open dislikes git sources that have submodules

See original issue on GitLab
In GitLab by [Gitlab user @coldtom] on Nov 8, 2018, 10:41
Summary
Attempting to run bst workspace open caused me a stack trace, I think due to the submodules in a git element, but this may not be the case.
Steps to reproduce

Clone freedesktop-sdk
Run bst workspace open desktop/gst-libav gst-libav

What is the current bug behavior?
The following stack trace:
[--:--:--][][] START   Loading elements
[00:00:01][][] SUCCESS Loading elements
[--:--:--][][] START   Resolving elements
[00:00:01][][] SUCCESS Resolving elements
[--:--:--][][] START   Resolving cached state
[00:00:00][][] SUCCESS Resolving cached state
[--:--:--][][] START   Checking sources
[00:00:00][][] SUCCESS Checking sources
[--:--:--][d4ca660b][ main:desktop/gstreamer-libav.bst   ] START   Staging sources to here
[--:--:--][        ][ main:desktop/gstreamer-libav.bst-0 ] STATUS  Running host command

    /usr/bin/git show 1.14.0-0-g1830c75cd28fc68bd26f9530db18c2da474a4aa2:.gitmodules

[--:--:--][        ][ main:desktop/gstreamer-libav.bst-0 ] STATUS  Running host command

    /usr/bin/git ls-tree 1.14.0-0-g1830c75cd28fc68bd26f9530db18c2da474a4aa2 common

[--:--:--][        ][ main:desktop/gstreamer-libav.bst-0 ] STATUS  Running host command

    /usr/bin/git ls-tree 1.14.0-0-g1830c75cd28fc68bd26f9530db18c2da474a4aa2 gst-libs/ext/libav

[--:--:--][        ][ main:desktop/gstreamer-libav.bst-0 ] STATUS  Running host command

    /usr/bin/git ls-tree 1.14.0-0-g1830c75cd28fc68bd26f9530db18c2da474a4aa2 gst-libs/ext/gas-preprocessor

[--:--:--][        ][ main:desktop/gstreamer-libav.bst-0 ] START   Setting up workspace "/home/tom/.cache/buildstream/build/workspace-desktop-gstreamer-libavyrmfg9lh"
[--:--:--][][] BUG     Primary URL marked twice with different URLs

    Traceback (most recent call last):
      File "/home/tom/.local/bin/bst", line 8, in <module>
        sys.exit(cli())
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 722, in __call__
        return self.main(*args, **kwargs)
      File "/home/tom/Documents/work/buildstream/buildstream/_frontend/cli.py", line 162, in override_main
        standalone_mode=standalone_mode, **extra)
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 697, in main
        rv = self.invoke(ctx)
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 1066, in invoke
        return _process_result(sub_ctx.command.invoke(sub_ctx))
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 895, in invoke
        return ctx.invoke(self.callback, **ctx.params)
      File "/home/tom/.local/lib/python3.7/site-packages/click/core.py", line 535, in invoke
        return callback(*args, **kwargs)
      File "/home/tom/.local/lib/python3.7/site-packages/click/decorators.py", line 27, in new_func
        return f(get_current_context().obj, *args, **kwargs)
      File "/home/tom/Documents/work/buildstream/buildstream/_frontend/cli.py", line 705, in workspace_open
        force=force)
      File "/home/tom/Documents/work/buildstream/buildstream/_stream.py", line 513, in workspace_open
        target._open_workspace()
      File "/home/tom/Documents/work/buildstream/buildstream/element.py", line 1810, in _open_workspace
        source._init_workspace(temp)
      File "/home/tom/Documents/work/buildstream/buildstream/source.py", line 672, in _init_workspace
        self.init_workspace(directory)
      File "/home/tom/Documents/work/buildstream/buildstream/plugins/sources/git.py", line 408, in init_workspace
        mirror.init_workspace(directory)
      File "/home/tom/Documents/work/buildstream/buildstream/plugins/sources/git.py", line 220, in init_workspace
        url = self.source.translate_url(self.url)
      File "/home/tom/Documents/work/buildstream/buildstream/source.py", line 455, in translate_url
        self.mark_download_url(url, primary=primary)
      File "/home/tom/Documents/work/buildstream/buildstream/source.py", line 502, in mark_download_url
        "Primary URL marked twice with different URLs"
    AssertionError: Primary URL marked twice with different URLs

What is the expected correct behavior?
Workspace should open correctly.

BuildStream version affected: /milestone %BuildStream_v1.2

In GitLab by [Gitlab user @abderrahimk] on Nov 11, 2018, 16:00
This also happened with me with core/totem.bst from gnome-build-meta. Trying to debug it, I found that mark_download_url is called twice for totem, once with a url of gitlab_gnome_org:GNOME/totem and onec with a url of https://gitlab.gnome.org/GNOME/libgd.git which is a submodule.
So the problem happens only when there is a submodule.

In GitLab by [Gitlab user @abderrahimk] on Nov 11, 2018, 16:01
changed title from bst workspace open dislikes git sources {-sometim-}es to bst workspace open dislikes git sources {+that have submodul+}es


[Enhancement] EventMeshServer property management

Search before asking

[X] I had searched in the issues and found no similar issues.

Enhancement Request
I have seen multiple properties of EventMeshServer, such as Acl or MetaStorage, which are actually wrappers for declaring the cycle state of specific services. There are several properties that indicate the current state, such as initialized, started, etc. There are also methods for state transition, such as # init. So, I wonder if it's possible to change these classes to LifeCircle form for management, At that time, there will be a superclass such as AbstractEventMeshInitializerLifeCircle, which implements management of properties such as initiate and calls to # init. Therefore, EventMeshServer only needs to maintain one
我感觉英文有点词不达意
我看到 EventMeshServer 的多个属性，如 Acl 或 MetaStorage 等，其实都是对于具体服务附加声明周期状态的包装，会有几个标志当前状态的属性，如 inited、started等，还有有状态转换的方法如 #init 等，那我想可以不可以把这些类都改成 LifeCircle 形式管理，到时候会有一个比如AbstractEventMeshInitalizerLifeCircle 之类的超类，实现了对于inited等属性等管理和对#init的调用，那么  EventMeshServer  只需要维护一个 LifeCircleList 就可以管理这些对象了
Describe the solution you'd like
`
public abstract class AbstractDemoLifeCircle {
private final AtomicBoolean inited = new AtomicBoolean(false);

private final AtomicBoolean started = new AtomicBoolean(false);

private final AtomicBoolean shutdown = new AtomicBoolean(false);

public void init() throws Exception {
    if (!inited.compareAndSet(false, true)) {
        return;
    }
    componentInit();
}

abstract void componentInit();

public void start() throws Exception {
    if (!started.compareAndSet(false, true)) {
        return;
    }
    componentStart();
}
abstract void componentStart();
public void shutdown() throws AclException {
    inited.compareAndSet(true, false);
    started.compareAndSet(true, false);
    if (!shutdown.compareAndSet(false, true)) {
        return;
    }
    componentStop();
}
abstract void componentStop();

}
`
`
public class Acl extends AbstractDemoLifeCircle {}
`
`
public class EventMeshServer {
...
private List components;
...
public void init() throws Exception {
components.forEach(component -> component .init());
}
}
`
As for the special handling of EventMeshBootstrap, it is completely possible to wait for init before executing the original logic
至于 EventMeshBootstrap 这种特殊处理，完全可以等init之后再执行原逻辑
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[ ] I agree to follow this project's Code of Conduct *

The code block seems to be broken.

`
public abstract class AbstractDemoLifeCircle {
private final AtomicBoolean inited = new AtomicBoolean(false);

private final AtomicBoolean started = new AtomicBoolean(false);

private final AtomicBoolean shutdown = new AtomicBoolean(false);

public void init() throws AclException {
    if (!inited.compareAndSet(false, true)) {
        return;
    }
    componentInit();
}

abstract void componentInit();

public void start() throws AclException {
    if (!started.compareAndSet(false, true)) {
        return;
    }
    componentStart();
}

abstract void componentStart();

public void shutdown() throws AclException {
    inited.compareAndSet(true, false);
    started.compareAndSet(true, false);
    if (!shutdown.compareAndSet(false, true)) {
        return;
    }
    componentStop();
}

abstract void componentStop();

}
`

@Pil0tXia im build a demo pr later


allow setting colorbarVisible in loadVolumes

List of fixed issues (if they exist):

allow colorbarVisible property when using loadVolumes; closes #848

@cdrake or @neurolabusc , when you get a chance, please approve this PR.


include third .flow definition failed

my directory structure
my_proj
  node_modules
    @my_scope
      a_lib
        index.js
        index.js.flow
  src
    .flowconfig
    index.js

the content of .flowconfig:
[ignore]

[include]
../node_modules/@my_scope

[libs]

[lints]

[options]
module.system.node.resolve_dirname=../node_modules

[strict]

the content of src/index.js:
const alib = require('@my_scope/a_lib');

the Error is: can not resolve module @my_scope/a_lib.  So why? I jus want to use the third-party .flow defs.
Actually, I've used this method successfully, and it still work (flow 0.81.0~0.86.0); but in a new project, it failed.

There is not enough information to repro.


RxJava: evaluate switching from RxJava to RxAndroid

This is dependent on RxAndroid coming out of beta!

Closing in favour of removing RxJava entirely.


Fix up 1.3.x branch + update SNAPSHOT version + backport

As noted by @mkurz some of the 1.3.x changes had happened on the master branch instead of the 1.3.x branch. This PR fixes those, sets the current 1.3.x version to 1.3.15-SNAPSHOT and backports support for the latest Scala 2.13 milestone.
Before this change:

1.3.x and master were the same up to commit ae99b3b8b13d8835703a6ac4dc50c5f0a2cd2606.
1.3.x had no other commits
extra commits were made to master and a release of 1.3.14 was made from the master branch at commit 868b7321cacedb19bf95b2faf5b821f669918842.
the master branch was tagged as 1.4.0-SNAPSHOT after that and had another commit to add support for the latest Scala 2.13 milestone

This change:

makes the 1.3.x branch the same as master for several more commits, up to the release of 1.3.14 at commit 868b7321cacedb19bf95b2faf5b821f669918842. As of 1.3.14 both branches will be commit identical with the same sha1.
tags the 1.3.x branch as 1.1.5-SNAPSHOT (cherry-picked from @mkurz's PR #171). This is where 1.3.x diverges from master.
backports the commit to add support to the latest Scala 2.13 milestone

After this PR is applied we should make future 1.3.x release from the 1.3.x branch only.

I'm merging this one myself so I can do a release. Should be pretty safe...!

LGTM :wink:
So will you do a new release of the 1.3.x branch or the master branch? :stuck_out_tongue:


Add links to chromestatus.com, mozilla standards positions, and webkit standards positions

For features that are not yet implemented in all browsers, it can be useful for visitors to know why, or generally to know where a feature came from.
See https://github.com/web-platform-dx/web-features/issues/186.

Done! Examples:
https://web-platform-dx.github.io/web-features-explorer/features/webusb/

https://web-platform-dx.github.io/web-features-explorer/features/webtransport/

We now need to update these vendor positions automatically, and add more mappings.


Allow the usage of abstract parent classes in Models

Closes #13
Bumped version to 1.0.3-SNAPSHOT.
Added Unit test TableInfoTest

I would like to see a test for the error case where the parent is not abstract since this restriction is conciously put into place. Otherwise, looks good to me.

Approved, but I just noticed I don't have any permissions to merge anymore.

Approved, but I just noticed I don't have any permissions to merge anymore.

GitHub seems to only have a Member and Owner role. I didn't find any way to define more fine grained permissions and since the CI needs to have access to the sonatype credentials which are quite sensitive and could be used to upload arbitrary artifacts to our group on maven central (which can't be deleted in any way), I removed x7airworker and you from the Owner role for now. Julian still has access in case I am unavailable.


Work: Azure SDK for LogicApp + Integration Account

Adding support for integration accounts in the Logic App.

Can one of the admins verify this patch?

Hi @pankajsn, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (pankajsn). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


Okta provider

This implents Okta's OAuth and OIDC provider.
Important! This relies on an Oslo PR https://github.com/pilcrowOnPaper/oslo/pull/19, as this relies on the implementation of scopes when refreshing a token. See: https://github.com/pilcrowOnPaper/oslo/issues/18 for details.
Resolves #38

https://github.com/pilcrowOnPaper/oslo/issues/18 was merged and I updated Arctic to use the latest version of Oslo

Screwed up my branches and local git history, gonna have to redo my fork and open a new PR


Will be forced to run on node16: amancevice/setup-code-climate@v0

Specs with Coverage - Ruby 3.2
The following actions uses node12 which is deprecated and will be forced to run on node16: amancevice/setup-code-climate@v0. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

Oh, looks like I need to try v1.


Searching for affiliations of a given author

Is it possible to get the affiliations of an author via the api?

@flouland sorry for may late reply. I am going to check it and notify you

According to the article Expanding Affiliations in ORCID: An Update an affiliation in the context of ORCID means education and employment. Thus, I extended the library so it can use both as an affiliation. You need to update the library and then you can list the affiliations as follows:
    import pyorcid
    orcid = '<ORCID>'
    author = pyorcid.get(orcid)
    print(f'Affiliations : {author.affiliations}')

I hope, it will help you further @flouland


style scope to include only component

is there a way to use

I think [scopeSelector] is what you are looking for:
https://github.com/FormidableLabs/radium/tree/master/docs/api#scopeselector

I think scopeSelector will still help you with this problem:
https://github.com/FormidableLabs/radium/tree/master/docs/api#scopeselector

A good use case might be to generate a unique ID for a component to scope any styles to the particular component that owns the

@omryr as @mdekalka, the scopeSelector prop is what you need.  You can generate a unique ID for each component in the constructor and use that as your scopeSelector.


Where should we host the sphinx manual?

I'd like to move the sphinx manual. Where should we host it? Github? Readthedocs?

I prefer read the docs, but that's just a personal preference.  But not everyone knows about it, so perhaps both?

OK, let's go with read the docs. I assume we need to make some changes to bn to prepare it for read the docs. Anyone out there want to make a PR?

I decided against using readthedocs.org. They insert ads into the documentation. And there is no way to delete a user account (https://github.com/rtfd/readthedocs.org/issues/292).
I'll keep the docs where they are for now.

Note that you can opt out of ads in RTD, though I find them pretty non-obtrusive:
http://blog.readthedocs.com/ads-on-read-the-docs/

Good point. But I neither wanted ads nor wanted to opt out.
We'll see what happens when I have to renew my domain name and hosting. Bottleneck brings in $0. I'll probably be fine with ads once I have to cough up some cash.


Understanding the logic behind the dask graph

I am trying to find the getitems tasks from any dask graph.
But I don't understand how dask graph work I cannot find any logic in it. Every time I figured out a way to find the getitem tasks from a dask graph, another case arises where it does not work.
For example I created a dask array which is a subarray of another dask array and then I add some value to the subarray. It gives me this kind of dependencies in the high level graph:
>>> graph.dependencies
{'add-73acc6fa036316f013ef6dd6d183981c': {'getitem-e6c984dbea0a737e1d7806e6edec3280'},
 'getitem-e6c984dbea0a737e1d7806e6edec3280': {'array-67c15f6a82a6804f1a55818b002069d2'},
 'array-67c15f6a82a6804f1a55818b002069d2': set()}

But then in a task where I am storing data into a file, the dask graph states that there is no dependency at all:
>>> graph.dependencies
{140567086140704: set(),
<PHONE_NUMBER>93376: set(),
<PHONE_NUMBER>70496: set(),
<PHONE_NUMBER>52032: set(),
<PHONE_NUMBER>72256: set()}

So maybe there is no dependency between the store keys but at least there should be some dependency between the store task and the getitem task which requires the data.
Some help would be greatly appreciated.

@GTimothee could you provide a minimal example (https://blog.dask.org/2018/02/28/minimal-bug-reports) where you generate those graphs?

Sorry for the time before I answered. I was creating the code snippet because I am implementing a library so I have a lot of high level functions.
Please find below the link to a jupyter notebook with the sample code:
https://github.com/GTimothee/dask_io_experiments/blob/master/notebooks/Simple working example.ipynb

@GTimothee see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports for writing a minimal example.
HighLevelGraphs (which is your graph object) are documented at https://docs.dask.org/en/latest/high-level-graphs.html

Hi @TomAugspurger, can you be more clear about what you want me to do, please.
As you can see, @jrbourbeau already gave me the link to the minimal bug reports post. Also I already read the page about high level graph.
So I don't see why you give me those links again. Can you tell me what you want me to do instead? Do you want me to put the code directly here instead of providing a link? I thought it was simpler to download it directly to test it. I did not provide any data and I provided the minimal code to reproduce exactly the problem I was speaking about so I don't see what more I can do.

Posting code in the issue is better than linking to an external gist or repository. You might delete that repository, and future readers won't be able to follow the issue anymore (I thought that blog post linked to it, but apparently not).
I didn't see where you said you read the docs specifically about HLGs.

So here is the code:
import dask
import dask.array as da
import h5py

PATH = 'myfirstpath.hdf5'
DATASET_KEY = "/data"

def get_array():
    with h5py.File(PATH, 'r') as f:
        dataset = f[DATASET_KEY]
        return da.from_array(dataset, chunks=(100, 100, 100))

def create_array():
    random_array = da.random.random(size=(500, 500, 500))
    da.to_hdf5(PATH, DATASET_KEY, random_array, chunks=None, compression=None)

create_array()

# case 1:
arr = get_array()
arr = arr[slice(0, 400), slice(0, 200), slice(0, 100)]
arr = arr + 21
graph = arr.__dask_graph__()
print(graph.dependencies)

# case 2:
PATH2 = 'mysecondpath.hdf5'
arr = get_array()
arr_list = [arr[0:100, 0:100, :100], arr[100:200, 0:100, :100], arr[200:300, 0:100, :100]]

datasets = list()
with h5py.File(PATH2, 'a') as f:
    for i, a in enumerate(arr_list):
        key = '/data' + str(i)
        datasets.append(f.create_dataset(key, shape=a.shape))

arr = da.store(arr_list, datasets, compute=False)
graph = arr.__dask_graph__()
print(graph.dependencies)

I'm not sure what's up with the HLG graph structure of the store operation in particular (cc @jakirkham , who wrote most of that code).
@GTimothee I get the sense that mostly you're frustrated.  I'm sorry to hear that you've been having a hard time.  You've raised a number of specific questions here like "how do I find getitem tasks", "how do I remove unused tasks", as well as some general questions "please help me do the thing that I want to do".
I'm happy to help answer the specific ones:

There is no absolute standard on getitem tasks today, but generally looking for key.startswith("getitem") should be a good start.  I can't give you a more comprehensive solution unfortunately.
For removing unused tasks we use the cull optimization (see docs).

In general, it sounds like you're getting tripped up on high level graphs.  If you're making a custom optimization then you might not want to deal with high level graphs, but instead with lower level graphs.  These tend to be created about halfway through the optimization pipeline (again, see docs).  If you want to play around with things though, you can call dict on a high level graph.
dsk = dict(x.__dask_graph__())

I'm not sure how else to help you with your general problem.  Instead of raising an issue that says "I don't get how things work, they don't make sense" I recommend instead raising an issue explaining your overall goal

"I'm trying to query data as efficiently as possible from this particular data storage solution, but I find that things are slow.  Here is a minimal example."

This helps us to understand why your query is important, and why maintainers should devote time to it, which should help you to get time from a volunteer workforce.

Looking at the code above, I wouldn't expect this to work. The h5py.File object will be invalid by the time Dask uses it. We could probably walk through how to improve the code, but there are quite a few people that have already done this work and packaged it.
So would actually look to their solutions just to avoid further hang-ups. One option might be h5pickle, which gives you an object that should compose nicely with Dask and Dask Array. Another would be xarray, which actually is a full library that leverages Dask under-the-hood. Which choice would be reasonable is up to you.

Thank you for your answers, I will see what I can do with this information and I will come back with more precise questions, if any.


Get specific column and row value

Hello
I have 5 rows and 4 columns where 4th column is hidden
4th column contains ID's: 10,20,30,40,50
How to get ID from 4th column if I click anywhere (on any cell)?
With other words, if I click on A2, I need to get 20
If I click on C4, I need to get 40 etc.
Thank you.

Use the event, onselection.
Inside the event you can use getValue to get the forth column value, split by comman and you can use your value.

Thanks but what means "str compatible with excel, or as object"? Thank you.

sorry, I did not understand your question.

From the help:
getValue: get current cell value
@Param mixed cellIdent - str compatible with excel, or as object.
myTable.getValue([string]);
my question is - what I need to put instead of [string] to get fourth column value?
Thank you.

myTable.getValue('A1'); // for example

OK my fourth row is in D column so it would be
myTable.getValue('D1');
but how to get row ID (in your example it is 1)?

OK found it: console.log(table1.getValue('D'+y1));
Thank you.


Everything is super dark in epiphany

Describe the bug
The demo web app is super dark in epiphany. See screenshot below.
To Reproduce
Steps to reproduce the behavior:

Open the demo web app in epiphany.

Expected behavior
Should look like it does in other web browsers (e.g. Firefox).
Screenshots

Desktop (please complete the following information):

OS: Fedora 34
Browser: Epiphany
Version: 40.3

It seems to me using wrong surface format.
It occurs when surface format is not SRGB.

when i wrote vulkano backend it suffers color glitch on UNORM not on SRGB .
maybe your web backend painter is WebGL1?

No other GPU.

I fixed it by reapply sRGB correcting in post process
I will make PR to fix this problem.

I found midori also have this issue.
so I generalized to WebKitGTK.


404 at /get-involved/docs/communityleaders/eventhandbooks/java/

I found a broken link : https://docs.docker.com/get-involved/docs/communityleaders/eventhandbooks/java/
I arrived on this page through: https://docker.github.io/

Arrived via https://docker-community-leaders.github.io/dockercommunity/docs/communityleaders/eventhandbooks/

@rshn-dev, thanks for sharing the issue.
The correct link is probably https://docker-community-leaders.github.io/dockercommunity/docs/communityleaders/eventhandbooks/java/
If the link was found on an https://docker-community-leaders.github.io page, please report the issue on that site/repo.
Was the broken link found on an https://docker-community-leaders.github.io page or on an https://docs.docker.com page?

Closing this issue as stale. If the issue still persists, please provide more details.


don't honor the condition when checking the type availabilitiy

CloudFormation Lint Version
1.6.0
What operating system are you using?
Ubuntu
Describe the bug
When linting a crossing partitions template with below option
cfn-lint -i W3005 W2001 W3045 W8003 E1010 E1022 -e -r cn-north-1 --ignore-templates .. -t $TEMPLATE_ROOT/*.template.json

But I got the error,

E3006 Resource type 'AWS::GlobalAccelerator::Listener' does not exist in 'cn-north-1'

However, the template could be deployed in cn-north-1 without error due to the resource AWS::GlobalAccelerator::Listener having condition to exclude the creation regions, like cn-north-1.
Expected behavior
cfn-lint honors the condition while checking the resource availability.
Or have an option to suppress the certain error E3006 for resource 'AWS::GlobalAccelerator::Listener'.
Reproduction template
Below is template snippet,
    "IngestionCommonResourcesGlobalAcceleratorAB9F423D": {
      "Type": "AWS::GlobalAccelerator::Accelerator",
      "Properties": {
        "Enabled": true,
        "Name": {
          "Fn::Join": [
            "",
            [
              "clickstream-ingestion-service-",
              {
                "Fn::Select": [
                  0,
                  {
                    "Fn::Split": [
                      "-",
                      {
                        "Fn::Select": [
                          2,
                          {
                            "Fn::Split": [
                              "/",
                              {
                                "Ref": "AWS::StackId"
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  }
                ]
              },
              "-Accelerator"
            ]
          ]
        }
      },
      "Metadata": {
        "aws:cdk:path": "ingestion-server-v2-stack/IngestionCommonResources/GlobalAccelerator/Accelerator/Resource"
      },
      "Condition": "IngestionCommonResourcesacceleratorEnableCondition0F76B8A4"
    },
    "IngestionCommonResourcesacceleratorEnableCondition0F76B8A4": {
      "Fn::And": [
        {
          "Fn::Equals": [
            {
              "Ref": "EnableGlobalAccelerator"
            },
            "Yes"
          ]
        },
        {
          "Fn::Not": [
            {
              "Fn::Or": [
                {
                  "Fn::Equals": [
                    {
                      "Ref": "AWS::Region"
                    },
                    "cn-north-1"
                  ]
                },
                {
                  "Fn::Equals": [
                    {
                      "Ref": "AWS::Region"
                    },
                    "cn-northwest-1"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },

The original template is large. You could download the artifact from here.

Looking into this.  If I scan it with just the resource condition and the resource I don't get that result as we do apply condition logic when making this call.  Weirdly enough on the larger template this fails for some reason

Resolved locally PR coming shortly.

Fix in v1.6.1


remove the usage != None check for model generation

Fixes https://github.com/Azure/autorest.csharp/issues/3045
Description
Add your description here!
Checklist
To ensure a quick review and merge, please ensure:

[ ] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[ ] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[ ] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[ ] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

Close this since the changes are merged into @chunyu3 's PR: https://github.com/Azure/autorest.csharp/pull/3046/files


The getter 'targetingData' isn't defined for the type 'AppLovinMAX'.

Until yesterday I was able to generate the .ipa for my app but now I'm getting this error:
Error (Xcode): ../.pub-cache/hosted/pub.dev/easy_ads_flutter-2.4.4/lib/src/easy_ads.dart:241:17: Error: Member not found: 'targetingData'.
My Info.Plist contains this key
<key>AppLovinSdkKey</key><string>{my key}</string>
I'm not using app loving ads:
@override
AppAdIds? get appLovinAdIds => null;

I think it's related to this:

@wantroba this is fixed in new release

@wantroba this is fixed in new release

Thank you very much for resolving it so quickly @nooralibutt . Everything is working perfectly now!


Save scene when saving built-in resource

When saving a built-in script in script editor, the scene is saved instead.
When saving a built-in shader, an EditorFileSystemDialog appears.
I wanted to make shader editor's behavior match the script editor, but then I noticed that every resource is saved using EditorNode's save_resource() method, I thought "why not apply this to everything?". And so I did. Now if saving any built-in resource in any editor, its scene is saved. Previously it would bring up a file dialog, as if using the Save As option.

Thanks!


created solution for issue- Absolute Sum #147

Description
enter here if you have any details
Program Name -   Absolute Sum
Issue No.- #147

Type issue number after hash(#)

Checklist(self check)

[ ] Yes, this task assigned to me.
[ ] My code follows the style guidelines(Clean Code) of this project
[ ] I have performed a self-review of my own code
[ ] My Filename is in camelCase format
[ ] I have added Problem statement, Problem link in file.

sorry, unassigned task


Onboard DPG Libraries with sync stack integration

DPG SDK's to be onboarded:

Service
Library
Driver
Status
Release timeframe

Web Pub Sub
azure-webpubsub
@srnagar
Not Started

Anomaly Detector
azure-ai-anomalydetector
-
Not Started

Document Translator
azure-ai-documenttranslator
-
Not Started

@srnagar
Let us know if plan to switch DPG/Cadl to sync stack.
Sync stack could have some downside for client customization. Previously they can customize in async client, and add one line in sync client to call e.g. client.doLro().getSyncPoller(). <-- currently I guess only loadtesting did this

Done for all SDKs.


postMessage failed to execute

hello,
i have simple html for testing:
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>iFrame message passing test</title>
    <meta name="description" content="iFrame message passing test" />
    <meta name="viewport" content="width=device-width" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  </head>

  <body>
    <iframe id="myIframe" src="https://www.deubner-online.de/taxplain/videopages/iframe_inhalt.php?kdnr=XXXXXXXX" width="100%" ></iframe>

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script type="text/javascript" src="../js/iframeResizer.min.js"></script>
    <script>
     iFrameResize({ log: true }, '#myIframe')
</script>
  </body>
</html>

XXXXXX kdnr i have but it's not for public
in dev tools I have message like this:
Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.deubner-online.de') does not match the recipient window's origin ('null').
how to correct this and make it work
thx

Just to follow on from @davidjbradshaw's advice on this in the Troubleshooting guide, one approach to avoiding the error is to not invoke the iFrameResizer() call until the frame has loaded. To build on your example:
<script type="text/javascript" src="../js/iframeResizer.min.js"></script>
<script>
var frame = document.getElementById('myIframe');
frame.addEventListener('load', function () {
  iFrameResize({ log: true }, '#myIframe');
});
</script>


Validation of proxy model breaks OPNsense-devel on LAN-less OPNsense deployments

Hi.
My dev box is currently set up with a single WAN interface. This is an unusual but not illegal configuration.
Ever since f3aed56978d9dc9a8526de3b02b9e2ab8354c380, which causes migrations to run on the proxy code, this breaks a make upgrade, with output like this:
file sizes/checksums  [1127]: 100%
packing files         [1127]: 100%
packing directories      [0]: 100%
Successfully built opnsense-devel-17.1.a_219.txz
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        opnsense-devel-17.1.a_219

Number of packages to be removed: 1

The operation will free 21 MiB.
[1/1] Deinstalling opnsense-devel-17.1.a_219...
Resetting root shell
Updating /etc/shells
Updating /boot/loader.conf
Unhooking from /etc/rc
[1/1] Deleting files for opnsense-devel-17.1.a_219: 100%
Installing opnsense-devel-17.1.a_219...
Extracting opnsense-devel-17.1.a_219: 100%
Updating /etc/shells
Registering root shell
Hooking into /etc/rc
Updating /boot/loader.conf
Writing package version
Stopping configd...done
Starting configd.
Flush Phalcon volt templates
Execute model migrations
keep version OPNsense\CaptivePortal\CaptivePortal (0.0.0)
keep version OPNsense\Cron\Cron (0.0.0)
keep version OPNsense\Diagnostics\Netflow (0.0.0)
keep version OPNsense\IDS\IDS (0.0.0)

Fatal error: Uncaught exception 'Phalcon\Validation\Exception' with message '[forward.interfaces] please specify a valid interface
' in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php:468
Stack trace:
#0 /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php(562): OPNsense\Base\BaseModel->serializeToConfig()
#1 /usr/local/opnsense/mvc/script/run_migrations.php(49): OPNsense\Base\BaseModel->runMigrations()
#2 {main}
  thrown in /usr/local/opnsense/mvc/app/models/OPNsense/Base/BaseModel.php on line 468
Reloading GUI configuration
Message from opnsense-devel-17.1.a_219:
Thanks for all the fish...
Restarting webConfigurator...done.
root@OPNsense:~/core #

The forward.interfaces in the exception above refers to the proxy model.
In proxy.xml, forward.interface defaults to lan (source: https://github.com/opnsense/core/blob/master/src/opnsense/mvc/app/models/OPNsense/Proxy/Proxy.xml#L168)
This is a problem on deployments that don't have a LAN interface, as this exception is then thrown.

@pv2b thanks for reporting, the issue is in the defaults, it should skip saving now.


xsd:time not supported

https://github.com/elasticio/salesforce-component/blob/587b45de9f68b050c5d500f4f6826c97cba3ebea/lib/helpers/metadata.js#L6
We need to add additional type as xsd:time = string
https://github.com/elasticio/salesforce-component/blob/587b45de9f68b050c5d500f4f6826c97cba3ebea/lib/helpers/metadata.js#L28
This gives an error like:
Starting your Docker container ...
Starting application in apprunner
Starting slug download ...
Successfully downloaded and extracted slug file
Writing config vars to .profile.d/config_vars
Detected 256 MB available memory
Detected 0.1 CPU available
Starting the application with node ./node_modules/elasticio-sailor-nodejs/runService.js getMetaModel
Sending post request to https://login.salesforce.com/services/oauth2/token
Have got 200 response from post to https://login.salesforce.com/services/oauth2/token
Refreshed token from https://{{prodEnv}}.salesforce.com/services/oauth2/token
Sending get request to https://eu9.salesforce.com/services/data/v25.0/sobjects/Port_of_Call__c/describe
Have got 200 response from get to https://eu9.salesforce.com/services/data/v25.0/sobjects/Port_of_Call__c/describe
at _fieldToProperty (/app/lib/helpers/metadata.js:28:15)
Exception happened when passing data down the chain Error: Can't conver salesforce soapType xsd:time to JSON schema type
at addProperty (/app/lib/helpers/metadata.js:81:35)
at arrayEach (/app/node_modules/lodash/lodash.js:537:11)
at Object.buildSchemaFromDescription (/app/lib/helpers/metadata.js:79:7)
at buildMetadata (/app/lib/entry.js:57:53)
at Function.forEach (/app/node_modules/lodash/lodash.js:9359:14)
at Request.self.callback (/app/node_modules/request/request.js:188:22)
at Request.checkResponse [as _callback] (/app/lib/helpers/http-utils.js:76:21)
at Request.emit (events.js:191:7)
at emitTwo (events.js:106:13)
Starting application in apprunner
Starting slug download ...
Successfully downloaded and extracted slug file
Writing config vars to .profile.d/config_vars
Detected 0.1 CPU available
Detected 256 MB available memory
Starting the application with node ./node_modules/elasticio-sailor-nodejs/runService.js getMetaModel
Sending post request to https://login.salesforce.com/services/oauth2/token
Have got 200 response from post to https://login.salesforce.com/services/oauth2/token
Refreshed token from https://{{prodEnv}}.salesforce.com/services/oauth2/token
Sending get request to https://eu9.salesforce.com/services/data/v25.0/sobjects/Port_of_Call__c/describe
Have got 200 response from get to https://eu9.salesforce.com/services/data/v25.0/sobjects/Port_of_Call__c/describe
at _fieldToProperty (/app/lib/helpers/metadata.js:28:15)
Exception happened when passing data down the chain Error: Can't conver salesforce soapType xsd:time to JSON schema type
at addProperty (/app/lib/helpers/metadata.js:81:35)
at arrayEach (/app/node_modules/lodash/lodash.js:537:11)
at Function.forEach (/app/node_modules/lodash/lodash.js:9359:14)
at Object.buildSchemaFromDescription (/app/lib/helpers/metadata.js:79:7)
at buildMetadata (/app/lib/entry.js:57:53)
at Request.checkResponse [as _callback] (/app/lib/helpers/http-utils.js:76:21)
at Request.self.callback (/app/node_modules/request/request.js:188:22)
at emitTwo (events.js:106:13)
at Request.emit (events.js:191:7)

And maybe you could correct the spelling of the message as well :)