Rule engine for data transformation

Maintenance of taxonomies for data should ideally be done in some kind of standard format with the ability to build rules for data equivalence between different data formats. This would be useful in particular in the case of ESG taxonomies mapping. Without such an ability to have mappings maintained in a one dimensional format, a lot of maintenance is required for cross-mappings for example:
https://github.com/OS-SFT/Taxonomy-Mappings-Library
This issue is to investigate a better way to maintain mappings in order to support the taxonomy equivalence project run within OS-Climate.
@MichaelTiemannOSC

@sabrycito @jzwerg as discussed we can start by documenting some examples of taxonomy mappings with different degrees of complexity and attach them to this issue.

@caldeirav well noted - @sabrycito will share available taxonomies mappings today, together with the documentation explaining our methodology and findings.
These taxonomies will include:

2 global standards: SASB, GRI
2 disclosure templates from stock exchanges: HKEX, SGX
1 industry standard: EDCI

We are currently working on adding 1 global framework (TCFD), 1 global standard (ISSB), and 1 regulatory standard (EET) - which we will share as well in the following weeks.
We also encourage the broader OS-C community to contribute to this work stream with additional global, regulatory, exchange, or industry standards.

Disclosure Equivalence Levels
We've defined four different levels of similarities between disclosure requirements across frameworks:

Level 0 - Identical Disclosures: This level signifies an absolute match between two disclosures, where they request precisely the same information. For example, the phrase "Lost days due to work injury" in Framework A matches with "Days lost due to injury" in Framework B.

Level 1 - Subsets and Computable Disclosures: A level 1 equivalence means that a disclosure from Framework A contains all necessary information for a corresponding disclosure in Framework B, or that one disclosure can be calculated from another. For instance, "Total energy consumed, percentage grid electricity" from Framework A can provide the necessary data for "Energy consumed in gigajoules or multiple" from Framework B.

Level 2 - Partial Completeness: This level refers to instances where only part of a disclosure from one framework can fulfill a requirement from another, rather than 100% of it. This might also apply in reverse to Level 1 equivalences. For example, "Total turnover and a breakdown per gender" from Framework A partially satisfies "Annual turnover, when possible per employee category" in Framework B and vice versa.

Level 3 - Topic Relatedness: This level indicates that two disclosures cover the same subject but don't necessarily complement each other in content. For instance, "Significant risks related to corruption" from Framework A is related to, but does not fully align with, "Description of policies and practices for prevention of bribery and corruption" in Framework B.

Methodology for Equivalence Identification
The process involves pairwise comparison of each disclosure across all frameworks:

We prepare a separate file for each framework and compare its disclosures against those from all other frameworks.

When an equivalence is found, we note the level of equivalence and the unique identifier of the corresponding disclosure in a specific column.

If a disclosure has multiple equivalences at different levels, we create separate rows for each level.

We compile all these data into a mapping table that records the source framework, source unique ID, equivalence level, target framework, and target unique ID.

If a disclosure, such as SGX's 1-1b, has Level 1 equivalences with GRI's 305-4-a and 305-4-c, we would create two entries: SGX; 1-1b; 1; GRI; 304-4-a and SGX; 1-1b; 1; GRI; 304-4-b.

Currently, we employ a manual, straightforward approach. However, as we intend to expand our model with more disclosures, the number of comparisons will increase exponentially. Therefore, we're exploring automated solutions to reduce the need for exhaustive comparisons and instead focus on subsets with a higher likelihood of similarity.

Findings
Our study reveals the following key findings:

Regulatory frameworks usually present disclosures as bullet points in PDFs. Thus, there is a necessity to convert these into structured data tables.

Many of these frameworks lack a unique ID system, necessitating the creation or modification of identifiers for each disclosure.

The process of matching equivalences is subject to personal interpretation, leading to considerable variation. A review by ESG professionals will be invaluable to validate our findings as this falls outside our domain expertise.

Certain frameworks, such as SASB, require companies to disclose only industry-specific information, limiting the number of relevant disclosures. Other frameworks lack such specific guidelines, leaving the relevancy of disclosure to certain industries uncertain. This issue is unrelated to equivalence but is critical for the next stage of creating an effective reporting model.

Conditions Checking
Our analysis requires stringent checks to ensure reciprocal equivalences between all disclosure pairings:

Any existing equivalence between Disclosures A and B should have a corresponding equivalence between B and A. However, the equivalence level may not always be identical.

In most cases, if A is equivalent to B and A is equivalent to C, then B is likely to be equivalent to C. This pattern may not always hold but can assist in identifying missed equivalences.

Automation Efforts
Our current manual methodology requires comparisons between every new framework and all existing ones. Hence, we are looking into automation strategies to optimize this process:

We have employed an AI model developed by Google, called BERT, in its ESG-trained version (ESG-BERT). This model helps us classify disclosures across all frameworks into 26 labels, such as GHG Emissions, Supply Chain Management, and Labor Practices.

Additionally, we have utilized a sentence transformers model (all-MiniLM-L6-v2) to gauge the similarity between various disclosures. While currently used to verify the accuracy of our identified equivalences, scaling up this process to uncover new equivalences will require more computational resources due to the significant increase in one-to-one similarity checks.

The existing frameworks that we have converted into structured data tables:
edci.xlsx
gbp.xlsx
gri.xlsx
hkex.xlsx
issb.xlsx
sasb.xlsx
sgx.xlsx

The equivalence per framework, the 1 to 1 mapping table and the BERT classification results:
1_to_1_equivalence.xlsx
bert_label.xlsx
esg_cross_equivalence_edci.xlsx
esg_cross_equivalence_gri.xlsx
esg_cross_equivalence_hkex.xlsx
esg_cross_equivalence_sasb.xlsx
esg_cross_equivalence_sgx.xlsx

User Stories
• User Story 0-0
As a user, when I input either "report the percentage of total employees covered by collective bargaining agreements" or "Percentage of active workforce covered under collective bargaining agreements," I want the system to understand that these phrases express the exact same content in different wordings. This understanding is crucial because these instances are uncommon and represent perfect equivalence, minimising redundancy in the system.
• User Story 1-2 and (2-1)
As a user, when I input "(1) Total energy consumed, (2) percentage heavy fuel oil, (3) percentage renewable" or "Total energy consumption," I want the system to understand that the first phrase includes the entirety of the latter's information and partially vice versa. The system should be able to achieve this without requiring any additional computation. This helps in comprehending that sometimes all the data needed for a simpler disclosure can be found within a more detailed one and vice versa.
In another case, when I input "Total workforce by gender, employment type (for example, full- or part-time), age group and geographical region" or "Total number of employees, percentage contractors," I want the system to infer and compute the necessary information to fill in the gaps in the latter from the former, and understand the partial information from the latter in the former. This capability is key to understanding that some data may not be directly extracted but can be computed from existing information.
• User Story 1-3 (and 3-1)
As a user, when I input "Risks and opportunities posed by climate change that have the potential to generate substantive changes in operations, revenue, or expenditure, including a description of the risk or opportunity and its classification as either physical, regulatory, or other" or "TRANSITION RISK: Has the customer faced or expected to face any impact from policy and regulation risk?," I want the system to understand that the comprehensive answer to the former can accommodate a response to the latter, but the binary response (Yes/No) of the latter offers no insights for the former. This understanding helps the system distinguish between complex disclosures and simple, binary disclosures.
• User Story 2-2
As a user, when I input "report the total number of employees, and a breakdown of this total by gender and by region" or "Number of employees, number of truck drivers," I want the system to understand that each phrase has unique information missing from the other. This is critical for the system to comprehend that some disclosures may contain non-overlapping data, necessitating a level 2 equivalence.
• User Story 2-3 (and 3-2)
As a user, when I input "describe the process for designing its remuneration policies and for determining remuneration, including whether remuneration consultants are involved in determining remuneration and, if so, whether they are independent of the organization, its highest governance body and senior executives" or "Information on: the policies relating to compensation and dismissal, recruitment and promotion, working hours, rest periods, equal opportunity, diversity, anti-discrimination, and other benefits and welfare," I want the system to understand that the detailed disclosure can partially fulfil the requirements of the broader disclosure, but the broader disclosure may not contain specific details required for the former. This capability aids the system in distinguishing between detailed and general disclosures.
• User Story 3-3
As a user, when I input either "Discussion of engagement processes and due diligence practices with respect to human rights, indigenous rights, and operation in areas of conflict" or "describe its specific policy commitment to respect human rights, including the internationally recognized human rights that the commitment covers," I want the system to comprehend that both inputs contain overlapping information, but a full response to one may not completely fulfil the other. This understanding enables the system to gauge when some information overlap exists but complete fulfilment is not guaranteed.

As discussed during yesterday's meeting, please find the presentation attached.
ESG Equivalence - Explanation.pdf

Upon initial analysis we propose two possible approaches for rule-based integration to be demonstrated in a POC:

First approach would be to leverage DBT pipelines with added capabilities on lineage graphing such as ER Maps (https://medium.com/@nshivakumar/er-maps-for-dbt-users-cdb0df872d0b) for semantic analysis and visualisation. Advantage of this approach is that the rules can be captured as SQL code, integrate with existing data mesh architecture, and lineage can be produced by OpenMetadata.
Second approach would be to leverage a more powerful data mapper such as the one provided by Syndesis (https://syndesis.io/docs/connectors/datamapper/). With this approach we still manage the mapping as code (using Java) and we benefit from Camel integration that we could use to transform data via batch or real time through event processing (JSON). Also syndesis comes with a mapping tool for business users. Downside is additional integration with data pipelines (data needs to be loaded as JSON to get processes in the transformer) which is not overly complex but will create additional support.

We have decided with @sabrycito and @jzwerg to prototype the first solution with DBT based on data inputs / outputs provided by U-Reg.

@sabrycito / @jzwerg Could you provide some use-cases for us to prototype this please? Ideally let's keep this information as a link shared in this issue.

- Case 0-0:
As a user, I want to understand the equivalence between "Disclosure A: 'report the percentage of total employees covered by collective bargaining agreements'" and "Disclosure B: 'Percentage of active workforce covered under collective bargaining agreements'", recognizing that they represent identical semantics expressed with different linguistic constructions.
- Case 1-2 and (2-1):

Direct Sub-case:

As a user, I need to compare "Disclosure A: '(1) Total energy consumed, (2) percentage heavy fuel oil, (3) percentage renewable'" with "Disclosure B: 'Total energy consumption'", noting that A provides all necessary data for B, but B only partially satisfies A without the heavy fuel oil and renewable components.

Sub-case requiring computation:

As a user, I want to understand how to compute the data in "Disclosure B: 'Total number of employees, percentage contractors'" from "Disclosure A: 'Total workforce by gender, employment type (for example, full- or part-time), age group and geographical region'", and recognize that while B can be derived from A, A requires additional information not present in B.
- Case 1-3 (and 3-1):
As a user, I am interested in understanding how "Disclosure A: 'Risks and opportunities posed by climate change that have the potential to generate substantive changes in operations, revenue, or expenditure, including a description of the risk or opportunity and its classification as either physical, regulatory, or other'" compares to "Disclosure B: 'TRANSITION RISK: Has the customer faced or expected to face any impact from policy and regulation risk?'", and how the response to B does not provide insight for A, yet A's information can be used for B. Similarly, how "Disclosure A: 'Description of efforts in solar energy system project development to address community and ecological impacts'" relates to "Disclosure B: 'Focus areas of contribution (e.g. education, environmental concerns, labour needs, health, culture, sport)'", noting that B does not aid in fulfilling A.
- Case 2-2:

Direct sub-case:

As a user, I want to compare "Disclosure A: 'report the total number of employees, and a breakdown of this total by gender and by region'" with "Disclosure B: 'Number of employees, number of truck drivers'", acknowledging that A to B lacks information on truck drivers, and B to A lacks the breakdown by gender and region.

Sub-case requiring computation:

As a user, I aim to understand how "Disclosure A: 'Total fuel consumption within the organization from renewable sources, in joules or multiples, and including fuel types used.'" compares to "Disclosure B: 'Fleet fuel consumed, percentage renewable'", recognizing the need for computation to reconcile the differences in the data provided by each disclosure.
- Case 2-3 (and 3-2):
As a user, I need to understand the relationship between "Disclosure A: 'describe the process for designing its remuneration policies and for determining remuneration, including whether remuneration consultants are involved in determining remuneration and, if so, whether they are independent of the organization, its highest governance body and senior executives'" and "Disclosure B: 'Information on: the policies relating to compensation and dismissal, recruitment and promotion, working hours, rest periods, equal opportunity, diversity, anti-discrimination, and other benefits and welfare.'", acknowledging that A provides some but not all the information in B, and vice versa.
- Case 3-3:
As a user, I am interested in comparing "Disclosure A: 'Discussion of engagement processes and due diligence practices with respect to human rights, indigenous rights, and operation in areas of conflict'" with "Disclosure B: 'describe its specific policy commitment to respect human rights, including the internationally recognized human rights that the commitment covers'", recognizing that both involve human rights but focus on different aspects, leading to a possible but not guaranteed overlap.

Hi Vincent,
In addition to the methodology above, you can find below our implementation and observations. I have attached the SASB, GRI, and EDCI examples for reference.
Implementation
We initiated our solution by harvesting disclosure information from various ESG frameworks, often faced with unstructured data in the form of PDF files from framework websites. Leveraging Python PDF libraries, we have extracted and organized   this   data,   infusing   structure   by   introducing   unique   ID   for   each disclosure. (see "2. Structured ESG Standards" below)
U-Reg   endeavoured   to   group   these   disclosures   into   clusters   with   high equivalence   probability.   Utilizing   an   NLP-based   algorithm,   we   employed   a domain-specific BERT model, an innovation by Google, for text mining in the sustainable investing sector. This resulted in our ESG disclosures being classified into 26 distinct labels. (see "4. Exploration" below)
U-Reg adopted a multipronged approach for creating equivalence pairings, in alignment with our corporate philosophy to leverage open-source technologies whenever   feasible.   U-Reg   formulated   user   stories   to   define   4   levels   of equivalence. (refer to Sabry's paragraph above)
U-Reg is working on an algorithms to identify potentially equivalent disclosures, and sentence similarity algorithms to assess similarity between disclosure pairs on a scale of 0 to 1. (see "4. Exploration" below)
The culmination of these efforts will be an all-encompassing database (i.e., master model), each entry comprising the source and target framework, source and target disclosure code, and equivalence level. (see "3. Equivalence" below)
1. Original ESG Standards
SASB Standards https://sasb.org/standards/download/
GRI Universal Standards 1, 2, 3 https://www.globalreporting.org/how-to-use-the-gri-standards/gri-standards-english-language/
EDCI Data Submission Template https://www.esgdc.org/metrics/
2. Structured ESG Standards
SASB sasb.xlsx
GRI gri.xlsx
EDCI edci.xlsx
3. Equivalence
1-1 Equivalence 1_to_1_equivalence_GRI_SASB_EDCI.csv
Master Model master_GRI_SASB_EDCI.xlsx
4. Exploration
Text Similarity bert_similarity.xlsx
Clustering bert_classification_3_labels_1_to_1_GRI_SASB_EDCI.xlsx
Observations
Before initiating automation, U-Reg conducted a thorough manual equivalence mapping across seven different frameworks, identifying over 7,000 equivalence pairs. This extensive manual database serves as a robust training dataset for testing our various algorithm implementations.
Given the unique nature of our project, we acknowledge that data for testing our algorithms is finite – 7,000 data points might not be massive in traditional machine   learning,   but   for   our   context,   it   is   significant.   Data   augmentation through the creation of random ESG disclosures presents challenges, as does sourcing external equivalence data for testing our models - primarily since we pioneer   ESG   equivalence,   and   fellow   companies   rarely   share   their   results openly.
Nevertheless,   U-Reg   has   employed   this   training   set   to   test   the   developed technology. By comparing the results of our developed solutions with our training set, we can ascertain the effectiveness of our models. We opted for technologies
showing a high degree of alignment with our training dataset. For instance, with sentence   similarity,   we   favour   algorithms   that   assign   high   scores   to   our equivalence pairs and low scores for unrelated disclosures, thereby reducing false positives and false negatives.
Moreover, as less than 1% of disclosure pairs are truly equivalent, we've decided not to rely solely on accuracy as a success criterion. Instead, we've chosen to prioritize the reduction of false negatives over false positives. It's more beneficial to identify non-equivalent disclosure pairs and manually eliminate them, rather than miss pairs that are indeed equivalent.
For this reason, U-Reg seeks to maximize the Recall score over the Precision score   in   our   algorithm   evaluations.   We've   placed   greater   weight   on   the identification   of   true   equivalences   versus   non-equivalences   in   our   machine learning   explorations.   This   decision   will,   we   believe,   ultimately   prove   the effectiveness of our solution.


feat(react-ui): searchable fields

This introduces even more refactoring to allow the consumer of the views to deal with the events fired by the UI components without "magic" wrapper components.
Fields are now filterable, although the result seems buggy? @pleacu I'll need your eyes here.
Demo:

CC @dongniwang you might be interested in the gif


Update docker compose to run project in production mode

[x] I have reviewed my code in "Files changed" tab.
[x] I have re-read the issue and this PR fully resolves it.

remove docker_production
use env var for ssl
set url for database instead of name/password

I agree with your proposed changes

Let's try this

must try to connect to the external database
did not finish with setting sensitive variables via env

Let's try this

must try to connect to the external database (another server) did not finish with setting sensitive variables via env

ok, don't have database on external server, can't check it.
at least the error is the same with and without this configuration


[Bug] Column heading positioning is broken after toggling the sidebar

Bug report
What I did
Opened the table with 25 results per page on a Full HD (1920x1080) resolution. Closed the sidebar and scrolled down until column headings positioning changed.
What I expected to happen
Column headings correspond to the values in the table.
What happened
Column headings are shifted to the right and therefore do not correspond to the rest of the table.

What I've already tried to fix it
I tried updating Backpack and publishing assets using command php artisan vendor:publish --provider="Backpack\CRUD\BackpackServiceProvider" --tag=public --force. I figured out the shift came from the sidebar, so it assumes that the sidebar is still open. Therefore there is a vice versa situation when the page is being loaded with sidebar closed and then sidebar being opened (the shift would be to the left as when the sidebar is closed).
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug is still there.
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
PHP 8.0.1 (cli) (built: Jan 13 2021 07:32:23) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.0.1, Copyright (c) Zend Technologies
with Zend OPcache v8.0.1, Copyright (c), by Zend Technologies
LARAVEL VERSION:
v8.60.0@44f16a31a1d4ac8a51605550d7796e2273984a48
BACKPACK VERSION:
4.1.53@8698b8ed51e8b18e311f928f6f80a7161f1eb172

Hello @Cocker ! Sorry for taking time to get to this, and thank you very much for the report.
I could reproduce your issue, I will try to find a fix for it in the meanwhile!
Thanks,
Pedro

Hey @Cocker ! I took a bit but I was able to find what was causing it.
I think i've fixed it in #3846 ! If you want to add that code in your project to check if it fixes the problem for you, give us your feedback in the PR thread I mentioned.
I am closing this so we keep any discussion in this regard in the open PR #3846
Thanks for the report, I haven't noticed it yet!
Best,
Pedro


InputEventScreenTouch and InputEventMouseButton mismatch bug

Godot version
3.4.4 Flatpak, 4.0 alpha 10
System information
Fedora 35 Linux
Issue description
When i tried to create joystick for a mobile game i encountered issue with godot mismatching events in an if statement.

In this if statement i want to only run this code if the event is touch input related. Meanwhile godot passes mouse related events too, even with every emulation disabled. Resulting in instant crash when accessing index because (it is done on unwanted event in the first place).
Sadly this bug is impossible at least for my implementation to workaround and is critical for development because without touch control for debug on mobile i can't do much.
Steps to reproduce
Emulation from touch to mouse or other way around doesn't matter on or off. To reproduce try to filter in an if statement touch related events, you will notice that it doesn't work.
Minimal reproduction project
Godot 4.0 alpha 10 project Bug.zip

While the mouse part sounds like a bug (although maybe not if you are doing it on desktop...), you have an error in your code. You forgot is before InputEventScreenTouch.

lmao i'm going to sleep


Spherical polynomials and improved SampleImage

Here is an addition to abel.tools.polynomial, now implementing the analytical Abel transform of polynomials in spherical coordinates (bivariate polynomials in r and cos θ). A special case of them was already used for rBasex basis functions, but here they are generalized to arbitrary r powers and arbitrary radial limits.
This can be useful if somebody wants to model smooth VMI-like distributions, for example, by approximating them with cubic splines. But the main goal, also implemented here, was to provide high-accuracy Abel transforms of our sample images (abel.tools.analytical.SampleImage). The existing images are composed of Gaussian peaks, which don't have analytical Abel transforms, but they can be approximated by piecewise polynomials with any desired accuracy, and thus an arbitrarily accurate Abel transform can be obtained.
I've also added, for completeness, an isotropic Gaussian “blob” image (2D analog of abel.tools.analytical.GaussianAnalytical), which does have an analytical Abel transform. And an image resembling the “classic” calibration image for photofragment VMI (O+ from O2 4-photon photodissociation/ionization), familiar from the Eppink–Parker work. It is composed of polynomials peaks, with maybe less experimentally looking shapes, but having an exact Abel transform.
Partial backward-incompatible changes to SampleImage (discussed in #337):

.image attribute is deprecated in favor of .func (still works but prints a warning).
sigma parameter is changed to absolute value in pixels instead of something strange. Default values reproduce the old behavior.
Radial scaling is corrected: .r_max is now in pixels according to n, and all peaks radii scale proportionally to it (previously it was also doing something strange; see 8fb9b96e for old–new comparison, 39e39636 for the change). 'dribinski' at its default n=361 is not affected, 'Ominus' at its intended n=501 is also not affected but is slightly changed at other n values (I had to adjust the PES unit test slightly to account for this).

Hello @MikhailRyazanov! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file abel/tests/test_tools_polynomial.py:

Line 250:13: E201 whitespace after '['
Line 251:13: E201 whitespace after '['

In the file doc/transform_methods/rbasex-sim.py:

Line 20:1: E305 expected 2 blank lines after class or function definition, found 1

In the file examples/example_simple.py:

Line 2:9: E221 multiple spaces before operator

Travis complains about some deprecations in SciPy — I'll try to check whether they can be updated without breaking older versions... And it's probably time to update our outdated requirements in setup.py:
https://github.com/PyAbel/PyAbel/blob/e7e6b57ea1c6d679d67b3d0da4b5af45488c6910/setup.py#L104-L107

OK, I've updated the requirements to more reasonable versions — the last versions that support Python 2 or the oldest versions used in our tests (they all are at least 2 years old, so this shouldn't be a problem for anybody).
SciPy indeed had scipy.ndimage.interpolation.... functions moved to just scipy.ndimage.... a long time ago, so I've updated them everywhere (this also made that code slightly more compact).
(The PEP 8 warnings above are more or less irrelevant, so I'm going to ignore them unless somebody thinks different.)

I've added a forgotten test for even-sized sample images and also included a helper function to convert SciPy splines to polynomial parameters (“if somebody wants to model smooth distributions”).

(1) Pytest
Since you mentioned  pyest  I also checked.
E        y: array([5.317362e+01, 5.311457e+01, 5.293781e+01, 5.264453e+01,
E              5.223666e+01, 5.171690e+01, 5.108865e+01, 5.035601e+01,
E              4.952369e+01, 4.859703e+01, 4.758184e+01, 4.648445e+01,...

abel/tests/test_basex.py:190: AssertionError
=========================== short test summary info ============================
FAILED abel/tests/test_basex.py::test_basex_forward_gaussian_07 - AssertionEr...
================== 1 failed, 111 passed, 2 skipped in 28.12s ===================

(2) docs
Thanks for fixing livehtml. Make file requires the removal of ../ in the livehtml: command
[MBP:.+spolynomial/doc]$ diff Makefile oldMakefile
0a1
>
57c58
< 	sphinx-autobuild -b html --open-browser $(LIVEHTMLOPTS) $(BUILDDIR)/html
---
> 	sphinx-autobuild -b html ../ --open-browser $(LIVEHTMLOPTS) $(BUILDDIR)/html

This basex error looks very strange. I haven't changed anything related to basex itself, nor any code related to GaussianAnalytical. Neither can I reproduce it locally, even when reducing tolerances to atol=0.96e-3, rtol=0.96e-2, so it's not some edge case.
However, if I print func (the x array in the error message), I get
[5.33032149e+01 5.30440011e+01 5.29701365e+01 5.25234719e+01
 5.23703836e+01 5.16936728e+01 5.12506208e+01 5.03969673e+01
 4.94444211e+01 4.86415327e+01 4.73749931e+01 4.66711479e+01

which is slightly different from your printout (whereas ref — the y array — looks the same as yours).
Are your results reproducible? Could you check whether this test passes for the master branch?

Reproducible, and the same failure with master.
I will follow up once I return to my home, on Sunday.
This PR is good to merge.

@stggh, do you have any updates on that problem?

Sorry, for the delay. Life in retirement is busy.
The tests/test_basex.py only fails on my Macbook Pro (retina 13" late 2013), running Ubuntu 21.10, for both Ubuntu and Anaconda python 3.9.7. It passes on the same laptop under OSX (Anaconda python 3.9.7).
I will investigate further, later.

OK, interesting. :–) I'll then merge this PR, but please report when you find out — as a new issue/PR if it's important and can be corrected, or just comment here if it was some local glitch...


CoreDispatcherPriority::Idle

Hi,
I've encountered an error using this enum value as an argument to Dispatcher::RunAsync method.
Using latest cppwinrt for Win 10.0.14393 and VS2017.2. This code always throws. Is that defined behaviour?
dispatcher.RunAsync(CoreDispatcherPriority::Idle,       [=]()     {     });
Thanks for looking into it and great work overall.

This is not specific to C++/WinRT. The RunAsync method does not support the CoreDispatcherPriority::Idle value. Only Low, Normal and High are supported. Any other value will result in an hresult_invalid_argument exception.

Oh I see it now. Sorry for false alarm.


Generator fails with partial classes

Hi,
If your code has something like the following:
partial class MyPage
{
}

public partial class MyPage : ContentPage
{
}

The following warning is generated:
2>CSC : warning CS8785: Generator 'RouteGenerator' failed to generate source. It will not contribute to the output and compilation errors may occur as a result. Exception was of type 'ArgumentException' with message 'An item with the same key has already been added.'.

This should probably be an error though since no file is actually generated.

Fixed with 1.0.3

Sorry, one more thing was discovered once this issue was fixed.  Errors are generated for the following.
internal abstract class BaseContentPage<T> : ContentPage where T : BaseViewModel
{
    protected BaseContentPage(T viewModel, string pageTitle)
    {
        base.BindingContext = viewModel;

        Title = pageTitle;
    }

    protected new T BindingContext => (T)base.BindingContext;
}

I can work work around it temporarily by renaming the class.

Please open a separate issue for this including the error that you see.


support isInformational

Display informational widget and modal when it's merchant paid.
Widget reference
Modal reference
Property (default value)
isInformational: false,

@jasmineic Is it false by default? That means the fee label will be hidden as default?

Yes, false is the default value.
False mean that the widget is not informational and the fee is shown.


Not worked in QQBrowser for Android

it thows error in QQBrowser for Android. And worked normally in other browsers

i am debugging via QQBrowser for Android. how am i supposed to view the error message? please send me a snap of the error.
thanks

Related to #27 Fixed with 702a81497138d03eff631d07b12f1db785d0769c


Ran k3s-killall.sh once, it messed up my system, can't uninstall k3s anymore

I ran once k3s-killall.sh which led to an exit and then the system behaved weird, aliases were wrong until a reboot. Tried then to k3s-uninstall.sh which doesn't work anymore, I get always:
+++ id -u
++ '[' 1000 -eq 0 ']'
++ exec sudo -bash
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] [VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-T timeout] [-u user] file ...
Connection to s. closed.

All kubernetes resources keep running.
Can't and won't reproduce because my system needs a fresh reinstall, now I get why there's k3d...

somehow I tried to uninstall again as root and all worked fine, closed


Android Version

this app seems to be everything i would want in a IRL streaming app except its for IOS. I use and enjoy android much more than IOS. Is their any plans to make a Android fork?

No. I recommend IRL Pro for Android.


Dormant db resources reused when postgres resource is edited with anything.

Dormant database resources are reused when postgres resource, with the same name, is edited with anything. And, after reusing, the object of the Dormant database was not deleted.
Say there is a dormant database, p1.
I have created this dormantdb by these steps,
$ kubedb create -f https://raw.githubusercontent.com/k8sdb/cli/master/docs/examples/postgres/demo-1.yaml
validating "https://raw.githubusercontent.com/k8sdb/cli/master/docs/examples/postgres/demo-1.yaml"
postgres "p1" created

$ kubectl get pods -n demo
NAME                       READY     STATUS    RESTARTS   AGE
p1-0                       1/1       Running   0          11s
pgadmin-3504868301-dd1r6   1/1       Running   0          2h

$ kubedb edit pg p1 -n demo
postgres "p1" edited

$ kubedb delete pg -n demo p1
postgres "p1" deleted

$ kubectl get pods -n demo
NAME                       READY     STATUS        RESTARTS   AGE
p1-0                       1/1       Terminating   0          1m
pgadmin-3504868301-dd1r6   1/1       Running       0          2h

$ kubedb get drmn -n demo
NAME      STATUS    AGE
p1        Paused    1m

Now, if we create a new postgres object with the same yaml file we used before, the process will fail because the spec of the new object contains (spec.doNotPause: true) which conflicts with dormant database. But The problem is if we edit this new p1 object with anything (say, doNotPause: false, or storage: 51Mi), the operator creates a statefulSet reusing the resources of dormantDb p1 and the dormant db object was not deleted. The Next steps are:
$ kubedb create -f https://raw.githubusercontent.com/k8sdb/cli/master/docs/examples/postgres/demo-1.yaml
validating "https://raw.githubusercontent.com/k8sdb/cli/master/docs/examples/postgres/demo-1.yaml"
postgres "p1" created

$ kubedb get pg -n demo
NAME      STATUS    AGE
p1        Failed    24s

$ kubedb get drmn -n demo
NAME      STATUS    AGE
p1        Paused    2m

$ kubedb edit pg p1 -n demo
postgres "p1" edited

$ kubectl get pods -n demo
NAME                       READY     STATUS    RESTARTS   AGE
p1-0                       1/1       Running   0          4s
pgadmin-3504868301-dd1r6   1/1       Running   0          2h

$ kubedb get drmn -n demo
NAME      STATUS    AGE
p1        Paused    3m

The bugs I faced:
i. The dormant db object should be deleted when a statefulSet is created using its resources.
ii. The operator creates a statefulSet when it encounters an edit to postgres object, without checking dormant database object specs.

This issue was moved to kubedb/project#32


ack messages when processing state

hen a lot of messages are produced but only by changing state (no actual event in the service), we can see huge increase of uncommitted messages.
This would lead to inefficiency if the projection pod would restart/crash, by reprocessing those events again.

/cc @CrystalChun

/cc @adriengentil


Update concept-dev-box-network-requirements.md

The recommendation, of using the service tag AzureCloud do not make any sense from a security perspective. Allowing all IP's in Azure? It's includes also the hackers IP. The service tag Internet can't be used on the firewall.

@RoseHJM
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Hi @ri-we, thank you for your comments. I will consult with the product group and make the appropriate updates.

Hello @RoseHJM, thanks. This isn't the only Microsoft product documentation that uses overly broad service tags. These tags don't align with the Secure Future Initiative. Why aren't there more product-specific service tags or FQDN tags, or even a Microsoft namespace that isn't shared with Azure, like the new Microsoft Defender for Endpoint URLs (e.g., *.endpoint.security.microsoft.com)?


Create coin_change.cpp

You are given an infinite supply of coins of each of denominations D = {D0, D1, D2, D3, ...... Dn-1}. You need to figure out the total number of ways W, in which you can make a change for Value V using coins of denominations D.
Note : Return 0, if change isn't possible.
W can be pretty large so output the answer % mod(10^9 + 7)

Read rules & create  a pr again accordingly


[WIP] Allow SDK to read from a config service

NOTE: I haven't added any unit tests yet, and I actually commented some out. This is so I can get some feedback, and unblock William a bit. I will add new unit tests and put my old ones back, once I figure out how to mock a server in go.
This change allows the SDK to read configurations from a remote config service.
I just grabbed a copy of the grpc generated .go file. In the future, hopefully we can import it from the open-telemetry-proto github repo.
I also did a lot of refactor-y sort of changes:

I had been previously aliasing the dynamicconfig package as notifier in my old PRs. I switched back to dynamicconfig. This is because now the dynamicconfig package is composed of more than just the notifier, so it didn't seem appropriate to refer to is as "notifier".
I changed ConfigNotifier to just Notifier. This is because writing dynamicconfig.confignotifier everywhere seems redundant.
I took everything in exporters/otlp/internal/transform and made it public, moving it to exporters/otlp/transform. This is because I actually use some of the methods. I moved all of them from the internal directory, instead of just one of the files, because everything in the transform directory is highly coupled.

Future changes:
-The Dynamicconfig package is not really an exporter. I think I should eventually move it to the sdk/  directory.
-I should eventually move everything from the exporters/otlp/transform directory into the sdk/ directory too, to simplify dependencies. It used to only be used inside the exporters/otlp package, but now since it's used in more places, it should be put in a common directory.

I took everything in exporters/otlp/internal/transform and made it public, moving it to exporters/otlp/transform.

This sounds like it may be a little dangerous, since it exposes internal mechanics of the OTLP protocol to any application using the go sdk for instrumentation. If you're importing functions from internal/transform within the project, I believe that should still work fine? Otherwise internal/ packages block imports from projects that don't share a common root.

I should eventually move everything from the exporters/otlp/transform directory into the sdk/ directory too, to simplify dependencies. It used to only be used inside the exporters/otlp package, but now since it's used in more places, it should be put in a common directory.

It seems like the sdk directory may refer specifically to implementations according to the otel specs, rather than generally a common shared library. So if the transform package is made public, maybe it could remain in the otlp directory, in this way denoting its function as implementing otlp transforms?


Remote combat

DISSCUSSION NEEDED!

This feature requires a subset of additions/changes for this to be implemented effectively.

Currently we do not fight for remotes. We hope to use "Dynamic Squads" for this feature once its complete.
Defending of our remotes seems okay for now. But remote takeovers could be implemented too. That will most likely require moderation if this an auto behavior, as this could bully new players near to us in combination with 'autoAttack' which attacks player rooms.
Requirements for full implementation

[ ] Dynamic Squads (#729)

Some problems Remote Defense will solve

More stable economy from remotes.

Additions discussed to be needed so far

[ ] New combatRequest types related to remote combat

Implementation to be further discussed and added to this description later.

I think we need to figure out the detiaks of spawning, remote interaction and request assignment.
At what point do we spawn a dynamic squad instead of a single defender? At what point do we spawn multiple dynamic squads? How do we ensure they work together (imagine 3 dynamic squads entering a contested remote one at a time and all dying to an enemy that they could have beaten if they worked together).
Then with request assignment: can squads respond to multiple remote defence requests at once? If so, how do we ensure the best distribution of them? For example, if enemies keep showing up in 2 remotes and a dynamic squad is trying to defend both, how do we accurately determine that we need more creeps to defend both rooms?
Remote interactions: how do we determine a remote is safe for continued harvesting? How do we determine access to a remote is safe based on what remote defence requests are fulfilled?
I'm not expecting you to have answers, ad I don't either. But if there are points you want to deconstruct, please do and we can discuss/plan in detial


add depthwise convolution (expose feature_group_count in lax conv ops)

We should expose XLA's feature_group_count.
We might wait for people to +1 this issue though.
cc @jekbradbury @dmrd

@jheek added this to lax. If there is desire for this in stax too we can open a new issue for it.


Stating a body field as anyBoolean fails as it tries to compare strings

Using
response {         status 200         body([             first: $(anyBoolean())         ] }
Will produce
assertThatJson(parsedJson).field("first").isEqualTo("(true|false)");
Which fails as it performs string comparsion.
The fix should be probably soomething of the sort
 assertThat(parsedJson.read("$.first", String.class)).matches("(true|false)");

Ha! I know why you have this exception... The naming is bad from my side but I needed to be backward compatible.
There are methods coming from RegexPatterns and they just give you Strings.  There's a bunch of methods coming from PatternValueDslProperty. The latter are giving you proper values.
        T anyAlphaUnicode()
	T anyNumber()
	T aBoolean()
	T anyIpAddress()
	T anyHostname()
	T anyEmail()
	T anyUrl()
	T anyUuid()
	T anyDate()
	T anyDateTime()
	T anyTime()

Run this again with aBoolean() and it will work. I can't use anyBoolean() cause the name is taken and the change would be backward incompatible.

Ping @regevbr ?

Will check and let you know

Works perfectly, thanks!

No problem!


Field wrapper missing field-type class, causes gap breakages

The field wrapper for the telephone field (and I suspect other fields in this plugin too) is missing the field-type class, which causes the spacing between the field and other built-in fields to be incorrect. See screenshot:

Added the field-type to the main wrapper as well, fixed as of 1.2, will figure out a better solution for consistency


fix: Revert #1244 to address regression w/ Button and DropdownItem

In #1244, the return type of Button and DropdownItem was changed to ReactNode. This is not an acceptable return type for functional components. The correct return type is JSX.Element. This change fixes the regression from that PR (introduced in v0.7.3) by reverting that PR and accounting for related changes that followed that PR. Also fixes https://github.com/themesberg/flowbite-react/issues/962.
Perhaps there is a way to fulfill the goals of #1244 and solve this regression, but I wasn't able to find time to address that, and #1244 seems flawed enough that perhaps it just needs to be redesigned.

Summary by CodeRabbit

New Features

Enhanced button and dropdown components for better integration and usability.

Refactor

Improved Button and Dropdown components' structure and props handling.
Introduced a generic forward ref function to simplify component creation.

Bug Fixes

Corrected a typo in the dropdown component test description.

Documentation

Added notes for future fixes related to type inference issues in button and dropdown components when used with link components.

@coderabbitai review

Uh, whatever AI you’ve unleashed on this PR is pretty low-quality. All I’ve done here is ‘git revert’ 1 set of changes and partially revert another.

Uh, whatever AI you’ve unleashed on this PR is pretty low-quality. All I’ve done here is ‘git revert’ 1 set of changes and partially revert another.

Yep, I know that, but seems like the AI does not

@rnicholus AI is just an tool, we still reviewing as humans. 😁

Is there anything else i can do to ensure this change is merged & released?

@rnicholus please, no merge with main... rebase it instead!

@rnicholus please, no merge with main... rebase it instead!

this can all be squashed on merge, correct?

@rnicholus yes, but it is preferable to rebase with the main instead of merging it. But, anyway...
I'm wondering if this PR is actually fixing the issue, and not just reverting for some broken state. Isn't better if we could address the problem with a definitive fix? What would be the pros and cons of accepting this to fix #962 and reverting the fix for #1002 and #1107?

@rnicholus yes, but it is preferable to rebase with the main instead of merging it. But, anyway...
I'm wondering if this PR is actually fixing the issue, and not just reverting for some broken state. Isn't better if we could address the problem with a definitive fix? What would be the pros and cons of accepting this to fix #962 and reverting the fix for #1002 and #1107?

I'm not sure. My motivation here was to fix the typing issue without having to resort to ts-ignore in my project, and i suspect a bunch of other users are in the same boat.

Isn't better if we could address the problem with a definitive fix?

absolutely, but i'm not sure what that fix is as i don't really have the cycles to investigate

Closed in favor of #1308


R program to convert string to reversecase

📑 Description
R program to convert string to reversecase
🐞 Related Issue
Closes https://github.com/codinasion/codinasion/issues/3835
📋 Explanation of changes

Added R function (convert_to_alternating_case) to convert a string to alternating case.
Provided an example showcasing usage of the function.
Printed the updated string as the output.

@RiteshK-611 @0ME9A @victoriacheng15  @hi-Kartik2004 @anandfresh  Can you please review and merge this PR?


PRAW raises prawcore.exceptions.BadRequest when attempting to call send_removal_message()

Issue Description
Any time I try to use send_removal_message(), PRAW gives me a 400 error. Looking at the official Reddit API, it appears the endpoints for that function have been removed.
Attempt:
PS C:\Users\Michael\nobackup\Code\Projects\myproject> py
Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:06:47) [MSC v.1914 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import praw
>>> reddit = praw.Reddit(user_agent='[my user agent]')
>>> sub = reddit.comment('[a comment I have the ability to moderate]')
>>> sub
Comment(id='[same as before]')
>>> sub.body
'Test comment'
>>> sub.mod
<praw.models.reddit.comment.CommentModeration object at 0x00F20EF0>
>>> sub.mod.send_removal_message
<bound method ThingModerationMixin.send_removal_message of <praw.models.reddit.comment.CommentModeration object at 0x00F20EF0>>
>>> sub.mod.send_removal_message('hi')
{"item_id": ["t1_ew39cg7"], "message": "hi", "title": "ignored", "type": "public"}  # I added this for debugging
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Michael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\models\reddit\mixins\__init__.py", line 174, in send_removal_message
    return self.thing._reddit.post(url, data={"json": dumps(data)}) or None
  File "C:\Users\Michael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\reddit.py", line 523, in post
    "POST", path, data=data or {}, files=files, params=params
  File "C:\Users\Michael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\praw\reddit.py", line 577, in request
    method, path, data=data, files=files, params=params
  File "C:\Users\Michael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\prawcore\sessions.py", line 185, in request
    params=params, url=url)
  File "C:\Users\Michael\AppData\Local\Programs\Python\Python37-32\lib\site-packages\prawcore\sessions.py", line 130, in _request_with_retries
    raise self.STATUS_EXCEPTIONS[response.status_code](response)
prawcore.exceptions.BadRequest: received 400 HTTP response
>>>

System Information

PRAW Version: 6.3.1
Python Version: 3.7.0
Operating System: Windows 10 x64

Thanks for the clear example of your attempt!
I played around with your code, which reproduced the same results. Then I looked at the test for the method:
https://github.com/praw-dev/praw/blob/8674ed520652746e1495cfbeb37125761f500b20/tests/integration/models/reddit/test_comment.py#L300-L307
Based on this code, it looks like you cannot send a removal message for a comment that isn't removed. Therefore, you must call sub.mod.remove() before calling sub.mod.send_removal_message('hi'). Making this change allowed my code to run without error.

I consider the fact that both you and I spent a significant amount of time trying to figure this out a failure in our documentation. At the very least, we need to have a prominent note next to the method in our documentation. An example would be nice as well.
In addition, there may be a better way to handle the exception that is thrown in this case to make it more informative of exactly what went wrong.
@michaelkolber, would you like to make a PR to fix the documentation? Totally fine if you don't want to (I'm happy to do it myself), but you should if you'd like to.

Sure, I'd be happy to.

I'll update the documentation as it clearly has been forgotten.

I'm sorry, I totally lost track of this.

I'm sorry, I totally lost track of this.

It's not a problem. Life happens :).


Comments not correctly colorized

Seen in TypeScript's src/services.ts file:

No longer see this issue after upgrading the plug-in. I think this is a dupe of https://github.com/Microsoft/TypeScript-Sublime-Plugin/issues/265.


Published crates version is still 0.0.1

While 0.1.2 is available on crates.io, all tools including cargo still think "0.0.1" is the latest and install that.
You've successfully subscribed for updates on bevy (current version 0.0.1 [docs.rs] [crates.io] [lib.rs]) crate. Use /unsubscribe to unsubscribe.

^ bot using crates.io-index thinks latest is 0.0.1
❯ cargo add bevy
    Updating 'https://github.com/rust-lang/crates.io-index' index
      Adding bevy v0.0.1 to dependencies

Something is wrong.

Uh oh. Looking now

Any ideas what's happening? Probably re-release as new version to force crates-index update?

Is this fixed now?

This is fixed for me. This is probably some sort of caching issue thats out of our hands.


Hand Tracking: Does the result of desktop example and using the hand_landmark_3d.tflite only be the same?

Two ways:
1、get the hand landmarks by the desktop example of hand tracking;
2、run palm_detection.tflite, and hand_landmark_3d.tflite;
Are they same?

@Sara533 1) pls see the same discussion and sample code (object detection as a starting point) for issue #200
2) No palm detection.tflite is model for detecting palm only with output of 7 keypoints while hand_landmark_3d.lite is model for output of 21 hand keypoints


Can't drag to append to a block

You can't drag code to append to a block unless there's a blank line with the right amount of indent at the end of the block (unlikely).
It's ambiguous whether you are closing the block or continuing it but we bias towards ending it.
The Oxford group looked at the horizontal position to determine where to snap to and this seemed to work well. We should do likewise.

This is particularly unfortunate with an empty block. Perhaps there we should force the indent?

Confirmed that https://github.com/microbit-foundation/python-editor-v3/pull/1037 addresses this by:

Forcing the indent in this scenario
Allowing the x position to affect the indent where the user has a legitimate choice.


WIP reuse webview instance on Android

addressed by https://github.com/discord/react-native-webview/pull/11


Compiler: flatten types in errors

This is a tiny follow-up to the improved error message. You can see the added spec, but I'll explain it here too.
If you have code like this:
def foo(x : Int32 | String)
end

foo(true)

The error you got was:
In foo.cr:4:5

 4 | foo(true)
         ^
Error: expected argument #1 to 'foo' to be (Int32 | String), not Bool

Overloads are:
 - foo(x : Int32 | String)

Not bad, but here's how it looks with this PR:
In foo.cr:4:5

 4 | foo(true)
         ^
Error: expected argument #1 to 'foo' to be Int32 or String, not Bool

Overloads are:
 - foo(x : Int32 | String)

I think it reads better.
Also if for some reason you had code like this:
def foo(x : Int32 | String, y : Char)
end

def foo(x : Int32 | Char, y : Int32)
end

foo(true, 'a')

The error you got was this:
In foo.cr:7:5

 7 | foo(true, 'a')
         ^
Error: expected argument #1 to 'foo' to be (Char | Int32) or (Int32 | String), not Bool

Overloads are:
 - foo(x : Int32 | String, y : Char)
 - foo(x : Int32 | Char, y : Int32)

You can tell it's just listing the types of each overload the way they are.
With this PR, it looks like this:
In foo.cr:7:5

 7 | foo(true, 'a')
         ^
Error: expected argument #1 to 'foo' to be Char, Int32 or String, not Bool

Overloads are:
 - foo(x : Int32 | String, y : Char)
 - foo(x : Int32 | Char, y : Int32)

It makes more sense. No need for the user to flatten the types themselves (the overloads are an implementation detail.)

Should we introduce a label for compiler error messages, or error messages in general?

Should we introduce a label for compiler error messages, or error messages in general?

I requested this in Gitter some time ago (which would also include compiler warnings)

Should we introduce a label for compiler error messages, or error messages in general?

To me topic:compiler:semantic is close enough, quite frankly.

OK, if you two think it's reasonable, let's get one such label. topic:error-message and let topic:compiler:semantic distinguish that it's from the compiler?

I found the old behavior better, in which the type/union was reported literally.
It was easier to compare a type in code with a type in error message while they were in the same format.
Also, sometimes it was convenient to see the union of types printed as-is for copy-pasting back into the program.
With this change the information is not lost, but as mentioned comparing and copy-pasting becomes less convenient.

Could you explain where would you copy paste the resulting type? You specify values at the call site, not types.

@asterite
In the 1st example it's immediately visible what's the type restriction - Int32 | String
In foo.cr:4:5

 4 | foo(true)
         ^
Error: expected argument #1 to 'foo' to be (Int32 | String), not Bool

Overloads are:
 - foo(x : Int32 | String)

In the 2nd one, it's less discernible: Int32 or String vs Int32 | String
In foo.cr:4:5

 4 | foo(true)
         ^
Error: expected argument #1 to 'foo' to be Int32 or String, not Bool

Overloads are:
 - foo(x : Int32 | String)

Could you explain where would you copy paste the resulting type? You specify values at the call site, not types.

Yes, I mean, when you get an error and then decide that your call site is fine, and that you instead want to go and change the function definition.

and that you instead want to go and adjust the function definition.

If that's the case, the union will show up on the actual type, not the expected type. You can copy-past just fine here.

Let's consider this code:
def foo(x : Int32)
end

foo(1 || "a")

The error you get with this PR is:
Error: no overload matches 'foo' with type (Int32 | String)

Note that the union is not expanded here: that's the actual type given to the method. You want to update the method? No problem, you can copy paste.
My argument is that in no case you'd like to copy the union type from the method definition, because that union type is already there.

What happens to the list of types when they are not pairwise disjoint? For example:
class A; end
class B < A; end
class C < A; end

def foo(x : B); end
def foo(x : C); end

def bar(x : B); end
def bar(x : A); end

Does foo(1) say B or C instead of A, and does bar(1) say A instead of B or A?

@HertzDevil foo(1) says "B or C" and bar(1) says "A or B". The union types are just flattened, not merged. I guess we could merge the resulting types.
Which makes me think that maybe flattening at all might not be that useful after all...
I was just basing all of this on a Lucky error message that got improved. The error looked like this:

expected argument year_born to SaveUser.create to be (Avram::Nothing | Int16 | Nil), not String

I just think it reads better like this:

expected argument year_born to SaveUser.create to be Avram::Nothing, Int16 or Nil, not String

(no parentheses, no pipes, in conclusion: less noise)

Maybe we can close this one for now as it seems there's no consensus on whether doing this is desired or not.

Out of curiosity: what are the bigger fish to fry?

Improving other aspects of error messages that are more frequent? I just don't think this is a very common case.


How can I use animations?

I am simply trying to play an animation made in the animations tab. I add a keyframe, change position, and then I try to play but nothing happens. I understand how to add a keyframe, but how do I change the position's value at said keyframe? Is there a tutorial somewhere of how I can use this animation tab? I want to make an animation to move an object and use it in a script.

Hello
There is a more compreensive guide about animations in https://www.nunustudio.org/learn/basics/timeline.
Hope it can be of help.
Cheers


Topic of Recogntion 47322462

Overview:
This pull request introduces the Improved UNet Algorithm, designed for better segmentation of the ISIC 2017/8 dataset. The algorithm showcases enhancements over the classic UNet model, aiming for a higher Dice similarity coefficient.
File contain:
dataset.py:This module provides a tailored interface to the ISIC 2018 dataset. It contains functions and classes necessary for loading the dataset, preprocessing the images, and structuring them into batches suitable for training and testing
modules.py:This file houses the primary architecture of our neural network model. It defines the structure of the Improved UNet, detailing its layers, activation functions, and other essential components.
train.py:Serving as the core training script, this module orchestrates the learning process of our neural network model. It initializes the model, sets the optimizer and loss function, and manages the training loop.
predict.py:Post-training, this script is essential for deploying the trained model on new, unseen data.
utils.py:This is a collection of helper functions and utilities that support the main modules.
Commit Details:
Added the algorithm module for the Improved UNet model.
Introduced a test script for validation purposes.
Updated the README to reflect the algorithm's intricacies and usage details.
Request for Feedback:
While the algorithm shows promising results, I'm open to feedback and suggestions for further optimization. I look forward to the community's insights and will actively incorporate the recommended changes.
Author: Yiming Liu 47322462

Wrong files path. All student constructed document should be packed in one document under the ‘recognition’ document.
Algorithm roughly can solve the problem, but no evidence. Average Dice Coefficient in validating dataset: 0.8, but no evidence. No predicted mask output.
Try to use TensorFlow to construct the Improved U-Net model, but the model body is a U-Net-like model(filters start with 64 and end up with 512) instead of the improved U-Net one(filters start with 16 and end up with 256). Just train/validation datasets, rather than the train/validation/test datasets. No data augmentation. Using BCE loss function to train the model, though the dice loss was defined in the utils.py file, and the dice loss function wasn’t used in the code. Other parts are ok.
Intermediate coding design.
Sufficient comment in the code, but no docstring and need some references.
Easy difficulty problem, no higher difficulty marks.
Wrong pull request branch, from local: recognition to shakes76: main

Marking
Good Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation, but not correct model, not improved UNet -4
Good spacing and comments
Header blocks missing -1
Recognition Problem
Solves problem but no output or results to show if working -2
Driver Script present
File structure present but incorrect, needs to have a folder with your own project in it -2
Demo & Visualisation & Data usage not present -2
Module present
Commenting minimal -1
No Data leakage
Difficulty: Easy -10
Commit Log
Meaningful commit messages
Progressive commits used
Documentation
ReadMe acceptable, usage missing -1
Model/technical explanation missing -1
OK Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in InCorrect Branch) -2
Feedback required, fix paths by moving code into own folder and restoring repo README -2
Request Description OK

Correct the folder as requested above to recieve additional +2 feedback marks to allow merge.

Sir, I just made some adjustments and uploaded it. Tell me if this is any problem, thank you!!

Feedback attempt, but unsuccessful. Didn't correct the folder and didn't restore the Readme.md, as well as the pull request branch. Cannot get feedback granted.


external packages can't be added to backend

how to add  external jars to backend. Backend is not recognised as a java project in eclipse.

Hi, this project is based on Apache Maven. Just add your needed dependencies into the backend/pom.xml.

When added some external jars to backend, It working fine on eclipse but upon running the jar in the target folder. these external jars becomes inaccessible

Seems to be out of this projects' scope, try to file a question of stackoverflow instead :)


Using ms2pip from within python console or script

Hi all,
Thanks for the great tool!
I'd like to know if its currently possible to import ms2pip in a python script or the console, run the predictions and get the results in form of a pandas dataframe or similar?
Best,
Manuel

I guess from ms2pip.ms2pipC import MS2PIP was what I have been looking for

I guess from ms2pip.ms2pipC import MS2PIP was what I have been looking for

Hi! Indeed, you can make an ms2pip.ms2pipC.MS2PIP() instance:
from ms2pip.ms2pipC import MS2PIP

ms2pip_runner = MS2PIP(<options>)
ms2pip.run()

where <options> are about the same as the command line options: pep_file can be either the path to a PEPREC file or a pandas.DataFrame containing the PEPREC, and params is a dict with the same options as the ms2pip config file. Then you can call .run() on the ms2pip instance.
You can find an example in the tests:
https://github.com/compomics/ms2pip_c/blob/b7df0fccdc199f3a75b9580f14d9cd51f66d4517/tests/test_predictions.py#L11-L42
(Documentation should be improved on this: #131)
We do not use MS²PIP in this way very often, so do let us know if you run into any issues.
Thanks!

Hi! Indeed, you can make an ms2pip.ms2pipC.MS2PIP() instance:
from ms2pip.ms2pipC import MS2PIP

ms2pip_runner = MS2PIP(<options>)
ms2pip.run()

where <options> are about the same as the command line options: pep_file can be either the path to a PEPREC file or a pandas.DataFrame containing the PEPREC, and params is a dict with the same options as the ms2pip config file. Then you can call .run() on the ms2pip instance.
You can find an example in the tests:
https://github.com/compomics/ms2pip_c/blob/b7df0fccdc199f3a75b9580f14d9cd51f66d4517/tests/test_predictions.py#L11-L42
(Documentation should be improved on this: #131)
We do not use MS²PIP in this way very often, so do let us know if you run into any issues.
Thanks!

Perfect, thanks for the fast answer!
I'll play a bit around with that class next week, and let you know how it worked for me.
If I'm sure I understand all the parameters, I'd also be willing to contribute a docstring and a small example, if thats fine for you.

Perfect, thanks for the fast answer!
I'll play a bit around with that class next week, and let you know how it worked for me.
If I'm sure I understand all the parameters, I'd also be willing to contribute a docstring and a small example, if thats fine for you.

Sure, thanks! Contributions are always welcome!

Sure, thanks! Contributions are always welcome!


pre might be null or undefined

This PR fixes the fringe case where pre is undefined or null, in one of those cases calling .slice() will throw an error. This happened when using this library in tests that make use of jsdom.

+1 - causing me pain too - last working version against JSDOM was 0.8.1

Thanks for this, and @rm-hull for getting it back in my inbox - easy merge.


Fix bulk update action type

The update type for bulk inserts was incorrectly set to Delete, I switched it to update and after some local testing, it appears to work fine now.

Thank you!

Released as 0.1.17

Thanks! Glad I could help!


Remove BOM by default in Website Agent

When a response has a BOM the parse method of the Website Agent chokes - specifically the JSON.parse(data) call. Perhaps it would a good idea to remove the BOM (by default) before trying to parse it. This can either be done somewhere  in website_agent.rb e.g.:

#line 472
when "json"
        JSON.parse(data.sub!(/^\xEF\xBB\xBF/, ''))

or somewhere in web_request_concern.rb e.g.:

#line 43
when /\A\s*(?:text\/[^\s;]+|application\/(?:[^\s;]+\+)?(?:xml|json))\s*(?:;|\z)/i
            encoding = @default_encoding
            body = body.sub!(/^\xEF\xBB\xBF/, '')

As an aside, this is a scenario where it would be really useful for the Website Agent to have the ability to extract from an event payload (#1050). E.g. prior to parsing the response with JSONPath we would be able to remove the BOM with Regex and then pass the response back to the WebsiteAgent to make use of JSONPath. (While the Javascript agent can parse JSON - it doesn't have the full capabilities of JSONPath without writing a lot of code.)
Another idea would be to extract (pun!) the parsing aspect of the WebsiteAgent into its own agent - ParsingAgent. That way the WebsiteAgent would only have to do one thing - get the response of a url. And the Parsing Agent would have the various parsing responsibilities and capabilities - encoding etc., JSON, XML, HTML, text etc. This would have the added benefit of being able to use Nokogiri and JSONPath on arbitrary data (that isn't necessarily a direct response of a url request.)

While there's a room we may support it, I don't think JSON has ever allowed BOM since it's born, so any data source that serves JSON with a BOM should be fixed.  JSON was born as a subset of JavaScript, in which the existence of a BOM would simply make a snippet invalid as a program.  The very first RFC which most existing implementations still follow has no mention of BOM indicating there should be no BOM since the encoding of a JSON file can be determined by reading the first few bytes without the need for a BOM, and the latest RFC explicitly prohibits implementations for adding a BOM.

@knu Yup, that make sense. I guess having the ability to "pre-process" a response before sending it to Nokogiri and JSONPath would be the best way to tackle an issue like this. I had 2 idea (above) how to do this - either a new ParsingAgent or allow the WebsiteAgent to use an event payload. What do you think?

Perhaps the not so run-time efficient but easiest way to achieve it would be to add a Liquid function to compose a data URI from a Content-Type and data for use in url_from_event, and then add ability to scrape a data out of a data URI to WebsiteAgent.  This way WebsiteAgent would only have to deal with URLs as source of data.

Of course we could just add a content_from_event option instead and refactor check_urls and check_url.

This is done now, at least the part about adding data_from_event.


Lazy loading and 404 page on wrong url

Bug Report
Ionic Info
Ionic:

   ionic (Ionic CLI)  : 4.0.2 (/usr/local/lib/node_modules/ionic)
   Ionic Framework    : ionic-angular 3.9.2
   @ionic/app-scripts : 3.1.0

System:

   NodeJS : v8.9.3 (/usr/local/bin/node)
   npm    : 5.5.1
   OS     : macOS High Sierra

Describe the Bug
Hi everyone, I use lazy loading and IonicPage() for my navigation. It's works fine except when I declare a 404 page with segment **. It does not go on page 404 when I want it.
Steps to Reproduce
Case 1:

Enter in navigator mywebsite/#/dlfhjsdkjfslfjsldkj
It's redirect to my "rootPage" (Login page for example) declaration in "MyApp" principal module and not to my 404 Page.

Case 2:

Open app in navigator
Change url to mywebsite/#/dlfhjsdkjfslfjsldkj, I get Uncaught (in promise): invalid views to insert error.  It does not go on 404 page.

Related Code
NotFound404Page
@IonicPage({
    'name': '*',
    'segment': '**'
})
@Component({
    selector: 'page-404',
    templateUrl: 'not-found.page.html',
    providers: []
})
export class NotFound404Page implements OnInit, OnDestroy
...

NotFound404PageModule
import { NgModule } from "@angular/core";
import { IonicPageModule } from "ionic-angular";
import { TranslateModule } from '@ngx-translate/core';
import { NotFound404Page } from<EMAIL_ADDRESS>
@NgModule({
    declarations: [
        NotFound404Page
    ],
    imports: [
        IonicPageModule.forChild(NotFound404Page),
        TranslateModule.forChild()
    ],
    entryComponents: [
        NotFound404Page
    ]
})
export class NotFound404PageModule {}

Expected Behavior
I would like to display 404 page when a wrong URL is entered.
Thank's :)

Ionic 4 relies on angular router in order to implement navigation


[Feature-request] sidebar animation delay setting

I know there are many a lot of options and this package is already great but one little thing that annoys me is the delay for the sidebar animation on hover (when set to autohide).
Would be great if it was instantaneous, so a setting for animation delay below sidebar width would be awesome.

hey @monkeydri, thanks for the feedback. let me see if this is a quicky

check it out please

great ! thank you very much !


Add Text component to merge Typography, Markdown, Link

Closes #756
Closes #1310
Closes #1312

Holding off on adding HTML support currently

Visual demonstration

Update: Allowing shared state between "modes" and removing the separate section for Mode:
https://user-images.githubusercontent.com/19550456/202044224-b3efde5a-3bf2-4507-aba5-ead87503343e.mov

https://user-images.githubusercontent.com/19550456/201400638-d8f60f70-169a-45df-a454-9fd7f1ab884b.mov

Is there a case to be made to make the typography component support markdown? e.g. suppose I added a Typography component, wrote my text, and then decide I want a link on this text. Can I just "upgrade" my Typography, or do I have to restart with a Markdown component?

Is there a case to be made to make the typography component support markdown? e.g. suppose I added a Typography component, wrote my text, and then decide I want a link on this text. Can I just "upgrade" my Typography, or do I have to restart with a Markdown component?

In this case, should we then merge the Typography and Markdown components, and allow turning the Typography component into markdown through a setting?

and allow turning the Typography component into markdown through a setting?

Not that we necessarily need to copy it, but we noticed that's how dynaboard does it. Also mentioned by @apedroferreira before https://github.com/mui/mui-toolpad/pull/1234#pullrequestreview-1162339324.

For me, Link should remain separate while merging Markdown and Typography into a common "Text" component makes sense.

Just tested it, I was kind of expecting that we could write Markdown on an expandable text area, maybe in it's own separate modal?
About allowing writing HTML, that would be cool but maybe should be it should be a separate feature? I guess that if we used some library to escape the HTML we should be ok in terms of security.

After our yesterday's call, I realized that merging Typography and Markdown may make sense, but we can do this later. We can even look into other ways of reaching the same outcome. Like: https://github.com/mui/mui-toolpad/issues/568
Regarding supporting a better prop editor than a Textfield, I think we must do it, but separately.
Supporting HTML should also be a separate component. I'll create new issues and link them here.

It seems to have broken the existing apps, e.g<EMAIL_ADDRESS>

<EMAIL_ADDRESS>
It shouldn't have broken the existing apps, the migration should have made the previously created apps compatible


Internal server error when using 16+ columns in datatable

Its annoying. When i use 16+ columns in the datatable browser throws an 500 Internal Server Error. This happens only in the live site. It works perfectly on my local.
Any guides to sort out this issue will be highly appreciated.
Thank you.

Is it possible to dump the error? Maybe it's related to issue #74 since 16+ columns was used. You may have to reconfigure your production server too allow long URI request.

Thank you for the response. Once i changed it to the POST method, i get an error in Request.php Line 34.
Moreover this too happens only in live app. not in my local machine :(

Hi Arjay,
Is there any solutions for above issue?

Can you please dump the error on Request Line 34? BTW, were you able to update your server config to accept large URI request? I think this issue is related to this articles:
http://stackoverflow.com/questions/417142/what-is-the-maximum-length-of-a-url-in-different-browsers
http://stackoverflow.com/questions/1289585/what-is-apaches-maximum-url-length

There is a problem in your ajax code:
ajax: {
    url: 'chargeback/grid',
    method: 'POST',
    data: { _token: '{!! csrf_token() !!}' }
},
-----
... I think it should be:
----
ajax: {
    url: 'chargeback/grid',
    method: 'POST',
    data: function(data) {
    	data.token = '!! csrf_token() !!';
    }
},

Or better, follow the convention as advised in Laravel Docs
<meta name="csrf-token" content="{{ csrf_token() }}">

$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
});

There is a problem in your ajax code:
ajax: {
    url: 'chargeback/grid',
    method: 'POST',
    data: { _token: '{!! csrf_token() !!}' }
},
-----
... I think it should be:
----
ajax: {
    url: 'chargeback/grid',
    method: 'POST',
    data: function(data) {
    	data.token = '!! csrf_token() !!';
    }
},

Or better, follow the convention as advised in Laravel Docs
<meta name="csrf-token" content="{{ csrf_token() }}">

$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
});

Hi Arjay,
I have changed the token passing method as advised in Laravel. And i still get the same error:
500 Internal Server Error
ErrorException in Request.php line 45: Undefined index: value

This error occurs only when i put the files to live server. All working fine on local development server as expected. (both live and developing environment has same PHP/Apache/MySQL versions)

Hi Arjay,
I have changed the token passing method as advised in Laravel. And i still get the same error:
500 Internal Server Error
ErrorException in Request.php line 45: Undefined index: value

This error occurs only when i put the files to live server. All working fine on local development server as expected. (both live and developing environment has same PHP/Apache/MySQL versions)

Hi Arjay,
I have come to a conclusion that this error occurs on "PHP 5.5+" version. So i think package need to be updated (I am not sure though).
Thanks

@shafrazlk, sorry can't really think on what may have been causing the issue. But you have a point on the PHP version. ATM, the package requires at least PHP 5.5.9 to match Laravel 5.1 min requirements.

Hi Yajra,
I was able to do some tweaks to Request.php file and got it working for now.
Thanks for the support anyway.

Hi @yajra ,
When make a call to get list of users , it says cross origin request blocked , its showing only in live server.
It is working fine in local.
Please help ..

@sandeepv : See this thread here: http://stackoverflow.com/questions/37164753/laravel-datatable-invalid-json-response,
P.S: I have also encountered this problem, and I think, the only solution is to make the datatable disable the serverside: "serverSide: false". This is because of the bug of the datatables. Nextime, maybe I will create my own data tables..


Did a force push of latest commit and our CI/CD is failing. https://github.com/nltk/nltk/actions/runs/9822351687/job/27119009274
Also affecting any new PR, e.g. https://github.com/nltk/nltk/pull/3270/files (we might have to remove it to temporarily unblock us).

add --show-diff-on-failure and maybe it'll show what's up?

Thanks @asottile for the quick reply!
Is that a pyupgrade argument? Getting this locally
pyupgrade: error: unrecognized arguments: --show-diff-on-failure

and also in precommit runs https://github.com/nltk/nltk/actions/runs/9822501001/job/27119306847

This run showed something, https://github.com/nltk/nltk/actions/runs/9822519340/job/27119340852?pr=3274
pyupgrade................................................................Failed
- hook id: pyupgrade
- exit code: 1
- files were modified by this hook

Rewriting nltk/metrics/aline.py
Rewriting nltk/test/unit/test_corpora.py

But somehow my local environment isn't rewriting, I'll check further.
Thanks @asottile again for the quick reply!

@asottile I think I found the problem, you might want to look at pyupgrade using miniconda environment, somehow pyupgrade don't rewrite files in miniconda environments with conda 4.12.0.  Hope that info helps!

Thank you again @purificant @asottile for the help!
Resolved in #3280


Mc tools

added locate and volumn for monte carlo simulation

Codecov Report

Merging #29 (09dc2a3) into master (c64c55c) will increase coverage by 0.58%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
+ Coverage   45.50%   46.08%   +0.58%
==========================================
  Files           9        9
  Lines        1191     1202      +11
==========================================
+ Hits          542      554      +12
+ Misses        649      648       -1

Impacted Files
Coverage Δ

src/grid/interpolate.jl
62.02% <100.00%> (+1.25%)
:arrow_up:

src/grid/simple.jl
94.87% <0.00%> (+0.85%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Changing UI of Monthly View Calendar

Is there a way to change the colors of the monthly view? The DayView and WeekView have "backgroundColor" property, but there is nothing like this for MonthlyView. I tried using cell builder but i had further difficulties since there is no documentation about it. Is there any simple way to do this? I would greatly appreciate it.
DayView (what I want to achieve):

MonthView(I want to change, for example, the background colour and text colour):

Hi @MateuszPeryt, You can provide colours by using public class FilledCell to cellBuilder,
See below code :
MonthView<Event>(
      key: state,
      width: width,
      cellBuilder: (date, events, isInMonth, shouldHighlight) => FilledCell(
        date: date,
        events: events,
        backgroundColor: Colors.green,
      ),
    );

I am closing this issue for now. Feel free to open if not fixed.


Error: JAVA_HOME is not defined correctly.

When i build the project from jenkins iam getting the error.i didnot get what the issue is.
my ENVIRONMENT VARIABLES
root@ip-172-31-30-62:~# cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java"
M2_HOME="/usr/share/maven"
CONSOLE OUTPUT IN JENKINS
Started by user admin123
Building in workspace /var/lib/jenkins/workspace/daybuild

git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
git config remote.origin.url https://github.com/charan417/spring-petclinic.git # timeout=10
Fetching upstream changes from https://github.com/charan417/spring-petclinic.git
git --version # timeout=10
git fetch --tags --progress https://github.com/charan417/spring-petclinic.git +refs/heads/:refs/remotes/origin/
git rev-parse refs/remotes/origin/Dev^{commit} # timeout=10
git rev-parse refs/remotes/origin/origin/Dev^{commit} # timeout=10
Checking out Revision ab567242851166983e5f0140ab7593fd04c7d365 (refs/remotes/origin/Dev)
git config core.sparsecheckout # timeout=10
git checkout -f ab567242851166983e5f0140ab7593fd04c7d365
Commit message: "Remove redundant component scan filter"
git rev-list --no-walk ab567242851166983e5f0140ab7593fd04c7d365 # timeout=10
[daybuild] $ mvn package
Error: JAVA_HOME is not defined correctly.
We cannot execute /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java
Build step 'Invoke top-level Maven targets' marked build as failure
Finished: FAILURE

Hi Charan,
Did u check what is inside this path /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java/bin/java"
Here u r setting java Path not JAVA_HOME
Java Path is different JAVA_HOME is different
JAVA_HOME is, Where is ur java installed folder. That is JAVA_HOME
Java Path, Where is ur jdk binary(bin) files that is ur java Path
So, check ur JAVA_HOME
Is ur JAVA_HOME  r java path
Thq
VBReddy

Hi Charan,
After u set the JAVA_HOME  in /etc/environment, What is ur command
Tell me
Thq
VBReddy

source /etc/environment

After u run source /etc/environment, logout and login again from the machine. Bcz of some times not set after this (source /etc/environment).
After login update ur packages( apt update)

Iam getting the same error even after doing this

can u check
echo $JAVA_HOME
if u get output then u done
else
ur process was wrong from installation
Please make sure if u get error again
Install jdk again
Thq
VBReddy

please set env as
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
MAVEN_HOME="/usr/share/maven"
run command
source /etc/environment
then you check your variable is set properly or not
if your setting jenkins job then no need to give maven goal as mvn package just you give the package in maven goal section

will try installing one more time .I have already done twice.Let me do this one more time

Thanx for u r responses

Hi Charan
Can you check you security group. You need to open port 8080 and 22
Thanks

Hi,
I am getting a similar error, Can someone help.
root@ip-172-31-39-125:~# echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/bin/
root@ip-172-31-39-125:~# mvn -version
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
root@ip-172-31-39-125:~# source /etc/environment
root@ip-172-31-39-125:~# mvn -version
The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE


Remove install '-t' option

The script to setup sassc does not work on OSX because the '-t' option
isn't available.  Remove this option so that it's more generic.

 You should sign our Contributor License Agreement in order to get your pull request merged.

IMHO you don't want to use it on OSX at all because you should prefer homebrew.

Homebrew is not used or installed on all Macs. We should fix this rather
than make prescriptions on which package manager our users use.
LGTM. We had to yank -t at work, too.
On Mar 29, 2016 12:17 AM, "Thomas Boerger"<EMAIL_ADDRESS>wrote:

IMHO you don't want to use it on OSX at all because you should prefer
homebrew.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/drone/drone/pull/1548#issuecomment-202751145

Homebrew is not used or installed on all Macs. We should fix this rather
than make prescriptions on which package manager our users use.
LGTM. We had to yank -t at work, too.

Our general users are not building it on a mac. If the user wants to build it on a mac we can make some prescriptions for sure because those users are the exception.

Beside that officially supported is anyway only the docker version as far as I know.

I was just following the documentation.  If you don't want to change then maybe you should think about updating your docs to tell people to use a package manager instead? I'm refering to this,  https://github.com/drone/drone#from-source

@zaro0508 Since the section says "from source" and not "from package manager", I 100% agree. I haven't tried this without -t on Linux, but absolute worst case the shell script could be modified to not use the -t form on Mac OS (assuming yanking the -t causes issues on Linux, which may not be the case at all).

-t is required for linux installs and will otherwise error. I'm not opposed to a fix, but at the same time we are trying to remove libsass as a dependency so the useful life of such a script change will be short lived. Feel free to re-open a PR with a posix-compatible fix

closing because 0.5 no longer uses sassc and switches to a separate JS front-end using less. You can see the updated UI and repository at github.com/drone/drone-ui


Views should be shown on root/index page along with tables

At the moment the number of views is given on a datasette "homepage", but not links to any views themselves

I'll do this as part of #460


Command interface should define all methods for client

Command interface should define "unexecute" method also, plus added NotImplementedError to interface methods.

Thanks for the improvement!


Question...About Dimension

Can I create new dimensions in Addon?

No

Yes you can in an addon.  It is somewhat hard, but yes of course it is possible! :)


Reduce time for /events

After adding the new plugin for /events, I notice that in servers with many events & users, the command is slow.
Possibles causes:

https://github.com/en3sis/hans/blob/main/src/controllers/plugins/events.controller.ts#L11
https://github.com/en3sis/hans/blob/main/src/controllers/plugins/events.controller.ts#L15

Since the participants are not part of the GuildScheduledEvent and we need to fetch them for each event, that seems to be a heavy computation, we might be able to improve this by further checks and exceptions.

Some initial work was commited here


Upgrade to libcurl >= 8.4.0

https://github.com/curl/curl/discussions/12026

We are cutting the release cycle short and will release curl 8.4.0 on October 11, including fixes for a severity HIGH CVE and one severity LOW. The one rated HIGH is probably the worst curl security flaw in a long time.

The new version and details about the two CVEs will be published around 06:00 UTC on the release day.

CVE-2023-38545: severity HIGH (affects both libcurl and the curl tool)
CVE-2023-38546: severity LOW (affects libcurl only, not the tool)

There is no API nor ABI change in the coming curl release.

I cannot disclose any information about which version range that is affected, as that would help identify the problem (area) with a very high accuracy so I cannot do that ahead of time. The "last several years" of versions is as specific as I can get.

We have notified the distros mailing list allowing the member distributions to prepare patches. (No one else gets details about these problems before October 11 without a support contract and a good reason.)

Now you know. Plan accordingly.

Since we use Conan, we'll have to wait for the new release to percolate through, sometime after Oct 11 - hopefully it is quick. Version 8.2.1 is currently the latest available recipe.
https://conan.io/center/recipes/libcurl?version=8.2.1

https://daniel.haxx.se/blog/2023/10/11/how-i-made-a-heap-overflow-in-curl/

An attacker that controls an HTTPS server that a libcurl using client accesses over a SOCKS5 proxy (using the proxy-resolver-mode) can make it return a crafted redirect to the application via a HTTP 30x response.

If the libcurl using client has automatic redirect-following enabled, and the SOCKS5 proxy is “slow enough” to trigger the local variable bug, it will copy the crafted host name into the too small allocated buffer and into the adjacent heap memory.

A heap buffer overflow has then occurred.

Since we do not use the SOCKS5 protocol in this project, we are not affected by this vulnerability, but we should still update to the latest anyways.
Conancenter does not yet have the latest version.

There is an open PR to bump the libcurl version in Conancenter:
https://github.com/conan-io/conan-center-index/pull/19769

Fixed with the following dependency update:
https://github.com/Netflix-Skunkworks/spectatord/pull/82


[Bug report] Type 'import("/node_modules/@vuepress_core@2.0.0-beta.50-pre.1@@vuepress/core/dist/index").PluginObject' is not assignable to type 'import("/node_modules/@vuepress_core@2.0.0-beta.51@@vuepress/core/dist/index").PluginObject'.

Description
plugins: [
  registerComponentsPlugin({
      componentsDir: path.resolve(__dirname, './components')
  }),
  ...
]

Reproduction
https://stackblitz.com/edit/vuepress-2comzr
Used Package Manager
npm
System Info
TS2322: Type 'Plugin<PluginObject>' is not assignable to type 'Plugin<PluginObject> | Plugin<PluginObject>[]'.   Type 'PluginObject' is not assignable to type 'Plugin<PluginObject> | Plugin<PluginObject>[]'.     Type 'import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.50-pre.1@@vuepress/core/dist/index").PluginObject' is not assignable to type 'import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.51@@vuepress/core/dist/index").PluginObject'.       Types of property 'onInitialized' are incompatible.         Type '(app: import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.50-pre.1@@vuepress/core/dist/index").App) => PromiseOrNot<void>' is not assignable to type '(app: import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.51@@vuepress/core/dist/index").App) => PromiseOrNot<void>'.           Types of parameters 'app' and 'app' are incompatible.             Property 'layouts' is missing in type 'import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.51@@vuepress/core/dist/index").App' but required in type 'import("E:/code/wtkj/docfly2you/node_modules/_@vuepress_core@2.0.0-beta.50-pre.1@@vuepress/core/dist/index").App'.  index.d.ts(512, 5): 'layouts' is declared here.

Use beta.51

in my package.json
"@vuepress/plugin-register-components": "^2.0.0-beta.51"

but node_modules/@vuepress/plugin-register-components package.json
{
  "name": "@vuepress/plugin-register-components",
  "version": "2.0.0-beta.50-pre.1",
  "description": "VuePress plugin - register-components",
  "keywords": [
    "vuepress-plugin",
    "vuepress",
    "plugin",
    "component"
  ],
  "homepage": "https://github.com/vuepress",
  "bugs": {
    "url": "https://github.com/vuepress/vuepress-next/issues"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/vuepress/vuepress-next.git"
  },
  "license": "MIT",
  "author": "meteorlxy",
  "type": "module",
  "exports": {
    ".": "./lib/node/index.js",
    "./package.json": "./package.json"
  },
  "main": "./lib/node/index.js",
  "types": "./lib/node/index.d.ts",
  "files": [
    "lib"
  ],
  "dependencies": {
    "@vuepress/core": "2.0.0-beta.50-pre.1",
    "@vuepress/utils": "2.0.0-beta.50-pre.1",
    "chokidar": "^3.5.3"
  },
  "publishConfig": {
    "access": "public"
  },
  "scripts": {
    "build": "tsc -b tsconfig.build.json",
    "clean": "rimraf lib *.tsbuildinfo",
    "copy": "cpx \"src/**/*.{css,svg}\" lib"
  },
  "__npminstall_done": true,
  "_from": "<EMAIL_ADDRESS>  "_resolved"<EMAIL_ADDRESS>}

I don't think 2.0.0-beta.50-pre.1 is included by ^2.0.0-beta.51. You'd better make sure you have the correct lock file.

Try deleting any exisited lock file and rerun npm i

My \node_modules\vuepress version is 2.0.0-beta.51, but \node_modules\@vuepress  version is 2.0.0-beta.50-pre.1

Your reproduction is using an outdated lock file. Remove that and run npm i then provide me the new reproduction link.
I bet you just upload your files to stackblitz instead of actually having  a test on it.


Allow reading TimeSpan from INTEGER/REAL

This would make it easier to work with queries like the following.
SELECT julianday('now') - julianday('1776-07-04');

In hindsight, we probably should have stored them like this to begin with since working with the current format is difficult for values 25:00:00 and greater.

we probably should have stored them like this to begin with

I take it back. That would be lossy.


BLE deep sleep

I am using the BLE notify example. I want to deep sleep the ESP32 but it seems like it never goes to deep sleep (current consumption 60 ma). Is there a way to deinitialize the ble server ?
esp_bt_controller_disable();
delay(1000);
esp_sleep_enable_ext0_wakeup(GPIO_NUM_0,0);
delay(1000);
esp_deep_sleep_start();

Yes i can confirm it.I did it with the following :
esp_bluedroid_disable();
esp_bluedroid_deinit();
You need first to disable and then to free the resources thats why you deinit .

Currently I'm not even initializing Bluedroid, just enabling the BLE controller and then disabling it before going to deep sleep. Everything works fine except that the consumption stays high during deep sleep: 60 mA instead of 1-2mA (this is what I get if do not enable the BLE controller at all).  What kind of hardware platform do you use ?

Not sure if i am wrong but there is a similar function for the bluetooth controller  esp_bt_controller_deinit().
I have test it on ESP32-DevKitC V4 with ESP-WROOM-32

Not sure if i am wrong but there is a similar function for the bluetooth controller esp_bt_controller_deinit().
I have test it on ESP32-DevKitC V4 with ESP-WROOM-32

Can you share your BLE Notify code in combination with deep sleep?
Thank you so much.

can you share your code