New forecasting metrics

Reference Issues/PRs

Fixes #671. See discussion on closed PR #672 that this pull request will complete.
What does this implement/fix? Explain your changes.
Adds additional forecasting metrics as discussed in #671.
This is a draft pull request. I need to finish the docstrings (I'm adding examples to docstrings) and also write unit tests but wanted to give you a heads up of the functionality.
The pull request adds new forecasting performance metrics (see list below) that can each work with multivariate series (but default to work with univariate forecasts). Also changes naming conventions to align with scikit-learn (e.g. mean_absoluate_error rather than mae or mae_loss).
The end result would be the following performance metric functions (each with a corresponding class version for scoring):
relative_error,
mean_asymmetric_error,
mean_absolute_scaled_error,
median_absolute_scaled_error,
mean_squared_scaled_error,
median_squared_scaled_error,
mean_absolute_error,
mean_squared_error,
median_absolute_error,
median_squared_error,
mean_absolute_percentage_error,
median_absolute_percentage_error,
mean_squared_percentage_error,
median_squared_percentage_error,
mean_relative_absolute_error,
median_relative_absolute_error,
geometric_mean_relative_absolute_error,
geometric_mean_relative_squared_error
Does your contribution introduce a new dependency? If yes, which one?
Pins scikit-learn dependency to 0.24.* rather than 0.23.*
What should a reviewer concentrate their feedback on?

Focus on changes in ./performance_metrics/forecasting/_functions.py and ./performance_metrics/forecasting/_classes.py.
Finishing fixes elsewhere in module where old performance metric names (e.g. sMAPE) are imported.
Any other comments?
PR checklist

For all contributions

[X] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[X] I've added unit tests and made sure they pass locally.

For new estimators

[ ] I've added the estimator to the online documentation.
[ ] I've updated the existing example notebooks or provided a new one to showcase how my estimator works.

@mloning I just pushed an update I am hoping will fix the kernel issue I created in the example notebook. I'm running into an issue with the tests passing locally but failing here. The error appears related to median_absolute_errror as this is used in median_absolute_scaled_error that is also having an issue.
Errors indicate undefined sample_weight parameter being used. The function median_absolute_error is a wrapper around scikit-learn version that has that parameter (we've defined a horizon_weight parameter I pass to that one in the underlying scikit-learn function). I checked scikit-learn docs and everything seems to match up with the usage (Scikit-learn's median_absolute_error docs)
I thought I set scikit-learn to use vesrion 0.24 onward. How can I see what version is being used in the build? Any other thought besides that on what could be happening there?

Hi @RNKuhns, yes you're right, it's still using scikit-learn version 0.23 - I suggest to create a separate PR to bump up the scikit-learn version as we may have to make a few additional adjustments. We describe some of the things that need to change here: https://github.com/alan-turing-institute/sktime/blob/c2d754f38228c9d426983f8adb26cd76900b6976/CONTRIBUTING.md#dependencies

I've created one here: https://github.com/alan-turing-institute/sktime/pull/810

@mloning thanks for opening up the PR for the update of the scikit-learn. I think I've taken care of the things we've talked about and the build appears to be working. I'll switch this over to ready for review.

@mloning I updated the PR to fix the docs stuff we talked about but now it isn't building successful. Examples error seems to be related to NumPy array error related to AutoArima and Pyramid' arima soft dependency. Seeing similar error messages in a forecaster's in the regular build.
Didn't change anything that would affect that on my end.

@RNKuhns main should now be fixed after merging #828

LGTM - @fkiraly @aiwalter let us know if you still want to review

@fkiraly want to make sure I'm following on the class design part, so thanks in advance for putting up with all my questions!
For the _classes.py versus _functions.py I maintained the separation there so I'll defer to @mloning or you about what led to that setup to start; likewise, I'll defer to @mloning on the name part being completely determined (we could probably do that pretty easily, but I don't know the backstory of why the current setup was decided on).
You mention that that per sklearn convention that named arguments are hyper-parameters and tags are not constructor arguments but class attributes. I want to clarify your meaning there.

In terms of tags being class attributes and not constructor arguments, I've got a couple follow-up questions:

Which arguments are you referring to beyond greater_is_better and name?
Since the classes themselves  redefine __init__ and don't include greater_is_better and name aren't we effectively excluding these from the user-facing constructor arguments?

The way its set up a metric like MeanSquaredScaledError (see below) only has square_root as user facing constructor arg, but has greater_is_better and name as attributes since they aren't exposed to end-user but passed to constructor of the underlying ScaledSquaredMetricFunctionWrapper.

Note that Scikit-learn looks like it is passing sign variable as argument to the underlying scorer constructors in make_scorer and it is derived from greater_is_better parameter in make_scorer.
class MeanSquaredScaledError(ScaledSquaredMetricFunctionWrapper):
    """Mean squared scaled error (MSSE) `square_root` is False or
    root mean squared scaled error (RMSSE) if `square_root` is True.
    MSSE and RMSSE output is non-negative floating point. The best value is 0.0.
    """

    def __init__(self, square_root=False):
        name = "MeanSquaredScaledError"
        func = mean_squared_scaled_error
        greater_is_better = False
        super().__init__(
            func=func,
            name=name,
            greater_is_better=greater_is_better,
            square_root=square_root,
        )

In terms of the hyper-parameter part of your question, what are we considering a hyper-parameter? Things like square_root control the returned metric in so far as the parameter affects the returned value. Does that make it a "hyper-parameter" even though it isn't something that one would reasonably tune?
On a seperate but related note, do we want to make the underlying different MetricFunctionWrapper classes private? For instance _ScaledSquaredMetricFunctionWrapper  instead of since ScaledSquaredMetricFunctionWrapper we aren't really expecting these to be user facing?

Thanks for the review @fkiraly!
Having classes and functions comes from scikit-learn I think, where all performance metrics are principally functions, but you wrap them in a scorer when passing them to higher-level functionality like model evaluation or tuning.
In terms of software design, even if we only expose classes, it still makes sense to encapsulate performance metrics in functions I think, and then wrap them in classes to attach additional information like greater_is_better. This seems to be the common pattern in other libraries like pytorch too.
Having said that, MetricFunctionWrapper should be private and only used internally for constructing classes. We should provide a public make_scorer (or some other name) function to allow users to construct classes out of functions.

Having classes and functions comes from scikit-learn I think, where all performance metrics are principally functions, but you wrap them in a scorer when passing them to higher-level functionality like model evaluation or tuning.

I do agree with that, but I feel they are not homogenously exposed - which contributes to interface inhomogenity.

Having said that, MetricFunctionWrapper should be private and only used internally for constructing classes.

That's indeed an instance of what I mean above.
Template metrics can be public, but factories should probably be private. There should also be public classes corresponding to concrete metrics - for every function as well, no?

In terms of software design, even if we only expose classes, it still makes sense to encapsulate performance metrics in functions I think, and then wrap them in classes to attach additional information like greater_is_better. This seems to be the common pattern in other libraries like pytorch too.

Also agreed, but properties shouldn't be constructor parameters (it's not something you can choose/set, but an intrinsic property - a static class variable).

Nice!
I have a few comments:

the non-optional call signature of the functions is inconsistent and violates the "uniformity" pattern - some functions require y_pred_benchmark. I would recommend to let all functions to accept this as an argument (e.g., by using a kwargs catch argument), and simply ignoring it.
I would strongly suggest to loop multioutput and sp parameters through to the class constructors - otherwise you can't use classes with multi-output metrics; perhaps even horizon_weight (though I'm not sure about that one)
I would suggest that classes inherit from sklearn BaseEstimator, otherwise you can't tune parameters in metrics, e.g., when using regularization or penalty parameters in the metric to tune for the same, unregularized/unpenalized metric as a generalization criterion

Minor issues:

strange capitalization of mixin (should be Mixin not MixIn)
sp appears in docstrings but not in constructor

@fkiraly thanks for the feedback. I've made most of the changes you've discussed.

Good catch on sp in docstrings and not constructor. I've got that updated in the 4 scaled metrics that use it.
I'm updating the mixin capitalization now (I was thinking 2 words like mix in are MixIn per CapWords Python class naming conventions, but I see that Scikit-learn uses Mixin).
_MetricFunctionWrapper is already setup to inherit from BaseEstimator. The other metrics inherit from _MetricFunctionWrapper, so they should all have its attributes/methods built-in.

I haven't made the update with y_pred_benchmark because Markus and I are planning to discuss how to deal with y_train and y_pred_benchmarkas a follow-on PR (see #712, I believe we notedy_pred_benchmarkin the discussion even though the title just mentionsy_train`).
We could also include the potential  inclusion of multioutput and horizon_weight in this PR; however, I'm open to adding them to each functions constructor since they are parameters of all the underlying functions. It would be really quick to do that (but for the time being we aren't actually using that functionality so that could also be a future PR to add it).

@fkiraly any more comments? Otherwise I'll merge this tomorrow :)

Now merged @RNKuhns - thanks again 🎉 👍

@jerronl smape_loss was renamed to mean_absolute_percentage_error

Perhaps we should add deprecation warnings for the old loss functions?


pkg/alertmanager: increase terminationGracePeriod to 120

Increase terminationGracePeriod to 120 seconds as it cannot be 0. More in statefulSet docs: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#deployment-and-scaling-guarantees
Bug was discovered in openshift when trying to apply taints and tolerations and alertmanager pods spec weren't updated with config from statefulset spec.
/cc @brancz @s-urbaniak

lgtm on green

lgtm :+1:


Duplicate entries getting created for static DNS.

Currently, we store the dbus DNS values in a vector that causes duplicate entries and due to those duplicate entries created.
With this commit, we are removing the duplicate value from vector before writing dns value to configuration files.
Tested By: PATCH -d '{"StaticNameServers":["<IP_ADDRESS>", "<IP_ADDRESS>"]}'
https://${bmc_ip}/redfish/v1/Managers/bmc/EthernetInterfaces/eth0
UpStream Commit: https://gerrit.openbmc.org/c/openbmc/phosphor-networkd/+/61743

Can one of the admins verify this patch?

do we have upstream commit for this one? please paste

add to approvelist

do we have upstream commit for this one? please paste Gerrit link

Updated


Fails to decode struct if field is missing

The library fails to decode a struct if field is missing.
E.g. I do have a struct
type TokenExchange struct {
  Type string `form:"grant_type"`
  Code string `form:"code"`
}

The input string to parse
grant_type=authorization_code&code=xxx&client_id=xxx

The library fails to decode string with an error
client_id doesn't exist in main.TokenExchange

I would expect that library skips client_id.

If you can set ignoreUnknownKeys to true and you won't have this problem anymore. https://github.com/ajg/form/blob/523a5da1a92f01b01f840b61689c0340a0243532/decode.go#L59


[$250] Settings - Infinite loading on Private section if notification is received

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Found when validating PR : https://github.com/Expensify/App/pull/37967
Version Number: <IP_ADDRESS>
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:
Precondition: Notifications should be enabled.

Log out and close all Chrome windows
Open Chrome and log in with a new expensifail user
Navigate to Account settings - Profile

Expected Result:
The section should load.
Actual Result:
Infinite loading on Profile - Private section if notification is received from Concierge. It loads at first but starts spinning after receiving the notification.
I'm unable to check prod as I'm not getting a notification there.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/9708e3e6-ed5d-4882-83f2-05d0818ec9f2

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011ce0234e9c243c7c
Upwork Job ID:<PHONE_NUMBER>283810816
Last Price Increase: 2024-04-04

We think this issue might be related to the #collect project.

Proposal
Please re-state the problem that we are trying to solve in this issue.

Settings - Infinite loading on Private section if notification is received

What is the root cause of that problem?

When signing in the app, the API OpenApp is called. It returns private_personalDetails: [].
Then if we open the setting profile, the API OpenPersonalDetailsPage is called. It returns:

{
  "legalFirstName": "",
  "legalLastName": "",
  "dob": "",
  "address": {
    "street": "",
    "city": "",
    "state": "",
    "zip": "",
    "country": ""
  },
  "isLoading": false
}

If the API OpenPersonalDetailsPage is called successfully before the other one, OpenApp, the bug will occur. Because:
In the ProfilePage, we use the below logic to decide whether we should display the loading indicator or not:
https://github.com/Expensify/App/blob/51ef6c1bd1cd3d981db744bff1fcff9e7c670c0c/src/pages/settings/Profile/ProfilePage.tsx#L73
and in this case, isLoadingPersonalDetails is always true because privatePersonalDetails: []

What changes do you think we should make in order to solve the problem?

We already have logic to call the OpenPersonalDetailsPage again if privatePersonalDetails is not available as below:
https://github.com/Expensify/App/blob/82065804528dc66daaa6ba652ab2dea84684c619/src/hooks/usePrivatePersonalDetails.ts#L11-L18
but it is not called again when the privatePersonalDetails is changed.
So the solution is that we should add the privatePersonalDetails to the above useEffect 's dependencies.
For example, instead of using usePrivatePersonalDetails like here, we can use:

  useEffect(() => {
        if (network?.isOffline || (Boolean(personalDetails) && personalDetails?.isLoading !== undefined)) {
            return;
        }

        PersonalDetails.openPersonalDetails();
    }, [network?.isOffline, personalDetails]);

Note: the above is just a quick code change to test.

What alternative solutions did you explore? (Optional)

NA

👋 I see this one was added to Hot Picks. Is it a backend issue, or is it frontend and can go External?

I think it is FE issue based on RCA here

Cool, let's send it External!

I can reproduce with the steps

Logout
Try to open profile link directly(eg. https://staging.new.expensify.com/settings/profile)
Login with the account where private details haven't been updated yet
infinite loading can be observed for the private section

RCA mentioned by @nkdengineer looks correct where private_personalDetails merged with [] with the later call of OpenApp api.
I think the issue is with the OpenApp API private_personalDetails return type, it should be consistent by providing the object {} instead []. With that, I believe this should require a BE fix. @isabelastisser @trjExpensify Can we add engineering label here to confirm?

Video
https://github.com/Expensify/App/assets/14358475/a7c65a92-37f9-4532-ad72-dd92d0cffcae

@Pujan92 I think if we just "providing the object {} instead []", the issue is not fixed

It will be fixed @nkdengineer as merging empty object won't overwrite the existing data which implies there isn't anything to update. So isLoading will remain available with the respective bool value.
https://github.com/Expensify/App/assets/14358475/ca461dc3-8187-46f8-9585-c1d8bf99bbd8

Yeah that make sense @Pujan92

Just confuse about why the key name is private_personalDetails but not private_personalDetail

Do we still need clarification here?

No @trjExpensify, it is a BE issue and we need to assign internal engineer.

@trjExpensify Can you help confirm why the key name is private_personalDetails (multiple elements) but not private_personalDetail (single element)? Can we have more than one perrsonal detail data?

Not overdue.

@Pujan92 please provide an update. Thanks!

@isabelastisser needs to assign an internal engineer as change is required in the backend.

HOT PICK label has been added already. We are waiting for an engineer to be assigned to this issue. cc @trjExpensify

Issue not reproducible during KI retests. (First week)

Not overdue.

Yeah, more accurately we need an engineering volunteer as we don't auto-assign issues out anymore. ;) It's being called out in Hot Picks. I'll drop this to Weekly for yah. 👍

I'm happy to jump in here, not sure the #wave-collect priority 😅

@Beamanator Wondering if I(c+) need to stay assigned for the issues that are internal and changes needed in the backend?

Good call @Pujan92 , probably not :D
FYI the fix went to prod 1 week ago - @Expensify/applauseleads can we get this retested please? 🙏

FYI the fix went to prod 1 week ago

@Beamanator What is the output after fixing? The private_personalDetails is always object {} instead of [] in OpenApp API, right?

@nkdengineer exactly, technically private_personalDetails should include your private personal details IF set, but if you haven't set any, it should return {} instead of []

Adding retest-weekly to hopefully get applause's attention to retest! 🙏

Issue not reproducible during KI retests. (First week)

Not overdue.

Niiiice, maybe we wait till 1 more retest then close if it's fixed 👍

Bump @mvtglobally

Issue not reproducible during KI retests. (Second week)

Looks like we'll close this this week 🙏

Issue not reproducible during KI retests. (Third week)

Nice, closing!


Using aws-lambda-image with different regions

Hello there I'm struggling to use this function since my bucket is on the eu-west-1 region (I'm from Portugal so...).
Tried to update configs for aws-sdk using aws.config.update({region: 'eu-west-1'}); on the S3.js file just after your aws require but with had no luck whatsoever... lambda still gives me {   "errorMessage": "Woops, image process failed: S3 getObject failed: PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint." }
Any help you could get me is extremely appreciated!
Edit: I also tried getting a region: "eu-west-1" onto your const client var definition... again with no luck...

Hi there,
I'm having the same problem but S3 and Lambda are on same region. Any ideas what I'm doing wrong? I do have error message:
  "errorMessage": "Woops, image process failed: S3 getObject failed: PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint."
Thanks,
Alen

I encountered the same issue which appeared to be test file problem. You need to update bucket name in few places (use as a ref: http://stackoverflow.com/questions/28022803/what-is-wrong-with-my-aws-lambda-function)

following


Enable new pygrep-hooks rules

Description
Enable new pygrep-hooks rules
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library
[ ] Bump-up library or tool used for development (does not change the final image)

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

Project coverage is 95.42%. Comparing base (047ee0f) to head (1c88581).
Report is 15 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #1197   +/-   ##
=======================================
  Coverage   95.42%   95.42%
=======================================
  Files          56       56
  Lines        2381     2381
=======================================
  Hits         2272     2272
  Misses        109      109

Files
Coverage Δ

ols/src/rag_index/index_loader.py
92.72% <ø> (ø)

Given there are no changes in the code after enabling, do we need it?

/lgtm

/approve


Plots of the avg daily growth rate for each WI county.

If possible, the plot could be initialized with any counties with a growth rate below a threshold (e.g. 10%) be grayed out. As of 4/18, there are 11 counties with a growth rate > 10%. That’s a workable number of counties to view

add_trace(..., visible = "legendonly")

updated dev-ver.
update gunderson and marshfield soon.
update metro area if necessary.

updated metro area and published.


Is it compatible with Expo SDK 39 + React native 0.63.3?

Hello, I tried to use this lib with Expo SDK 39 + React native 0.63.3 and when trying to start the app, the errors appear:
`TypeError: null is not an object (evaluating 'react_native_1.NativeModules.RNIpSecVpn.prepare')
Invariant Violation: "main" has not been registered. This can happen if:

Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
A module failed to load due to an error and AppRegistry.registerComponent wasn't called.`

Does anyone know how to tell me it is compatible? I am in urgent need of a VPN client for react native.

Sorry for late answer but this plugin is not expo ready, I'll check for it but I don't have free time right now.
However any contribution is welcome

Many thanks for the reply.


Feature/audio streaming

Manually merged master into feature/audioStreaming

Needs to be tested - if this affects external usage, worksheets will need to be updated (and backwards compatibility supported)


fix ccsmcds-212 to use new vsac codes for cervical cancer

VSAC updated the codes used in the Cervical Cancer value set (2.16.840.1.1137<IP_ADDRESS>2.244.xml)
The tests for cervical cancer in ManagementSpecialPopulation iterate over an entry in the resources.yml file that enumerated all the codes in .244.xml. Since this file has been updated with some new codes added and some old codes removed, several of the test cases were failing.
This updates the resources.yml file to use the latest SNOMED codes in 244.xml

Will review these changes within https://github.com/ccsm-cds-tools/ccsm-cds-with-tests/pull/147, since this commit is incorporated there.

This PR can now be closed, since https://github.com/ccsm-cds-tools/ccsm-cds-with-tests/pull/147 was just merged, containing the commit in this branch.


log4j-layout-template-json Add support to Compact Log Event Format

Warning!
It is highly recommended to discuss feature requests in the mailing lists first.
[A clear and concise description of the feature requested.]
The Problem
Currently log4j2 provides several JSON templates at:

https://github.com/apache/logging-log4j2/tree/2.x/log4j-layout-template-json/src/main/resources

All of current template will generate log files with long key name, which produces bigger log output.
The Request
We deliver a compact JSON format, like CLEF or similar, to make the log output smaller.
Example: CLEF format could be 47% smaller than the default EcsLayout.json.
Reference

https://clef-json.org
https://github.com/serilog/serilog-formatting-compact

Seems interesting,
I would be curious to know, how this is implemented, or looked into. I am getting familiar with the repoo, this looks like an interesting feature for people.

@amosshi, @jaykataria1111, would you mind providing a JSON Template Layout event template for CLEF and publishing it as a part of the CLEF project with a Apache 2 License compatible license, please? If the CLEF community provides such an integration, we would be happy to point to it in the Log4j manual.

Hi @vy , https://github.com/serilog/serilog-formatting-compact/issues/69 created for CLEF side.


Shorten Subject primary key length

In a meeting about another project, @dimitri-yatsenko commented that varchar(32) was longer than it should be for a primary key across the whole framework. Some documentation suggests limiting this value to 8 characters, if possible. Should the element reflect that?
subject: varchar(8)
Is there a process for determining backwards compatibility for existing use cases?

yes please. Some fields propagate down to every element, including cells, model fits, etc. These should be short ids.

Thanks @CBroz1.  I agree with this decision.  We do not currently have a process for determining backwards compatibility but this would be a good opportunity for creating such a process.  We can document the process in Issue #22.


Add settings for kover

This PR allows a user to easily set up kover in an Amper project. Many projects benefit from coverage reports, so there is value in adding support for kover without needing to configure gradle interop.
I created a new project in the examples folder that showcases coverage. I don't see the script for updating versions mentioned in some comments, so to test the coverage project, I've been publishing to maven local and updating the settings.gradle.kts file. I've tested the coverage project on my Linux X64 machine.
I tried to match the style of this codebase as closely as possible, but let me know if any changes are requested. I've updated the DSLReference with the new properties.
As I have time, I'll add the XML, log, and verify configs, but I wanted to start with HTML.

Thanks for the contribution, @LandryNorris. We are reviewing the PR to include in the main codebase.

Parser tests now are failing:
You need to update them, take a look for this

I fixed the parser tests, and added a couple new parser tests.

Couple of tests are still failing, but I gonna fix them after rebase

@LandryNorris We have released 0.1.3 with your changes. Thanks for your contribution!


[process] commit title guidelines

I've noticed a few commits recently that don't follow the style guide (package: description of change)
https://github.com/GoogleCloudPlatform/golang-samples/commit/b38f4a5a7e04170a3d1b60543f3419f784c7e633
It's probably about time to add a GitHub action that checks.
Does the PR title itself also need to be checked, in the case of multiple commits that'll get squashed?
Also, squashed messages are frequently low quality, but GitHub doesn't give the opportunity to check them with a bot before submitting.
We could only allow submission by the automerge bot? I think the PR body is used as the commit body?
Sorry this isn't very concrete, I'm hoping others will have some ideas. Maybe the solution is to remove this from the style guide?
/cc @tbpg

Looks like we're moving toward conventional commits.
cc @codyoss

The node repos have a status check for conventional commits: https://github.com/googleapis/nodejs-storage/pull/1216/checks?check_run_id=800853820. (I have not looked into it yet)

Status check for conventional commits is active and being followed.


Add overflow panic in path retrieval for CFF Font "DIN Alternate"

Compare https://github.com/drott/fontations/tree/cffAbrt
Font copyright:
"© Dutch Design: Albert-Jan Pool, 1995. Published by FontShop International FontFont release 15"
#15 0x7f70b815abe8 core::panicking::panic_const::panic_const_add_overflow::hce83bca72fd72e30
#16 0x7f70b6d8adf4 read_fonts::tables::postscript::stack::Stack::apply_delta_prefix_sum::h81fd966ef69e45bd
#17 0x7f70b6d8bfee read_fonts::tables::postscript::dict::parse_entry::hc425cef37d28a96c

This looks like an overflow in the
sum += ...delta...

accumulation in apply_delta_prefix_sum.

Reproduction in https://github.com/drott/fontations/tree/cffAbrt with subsetted font.

Subsetted font
subsetted.zip

Stack trace of the error points to:
        BlueValues => {
            stack.apply_delta_prefix_sum();
            Entry::BlueValues(Blues::new(stack.fixed_values()))
        }

FontTools dumps the CFF PrivateDict as:
      <Private>
        <BlueValues value="-6 0 521 527 712 718 -32768 -32768"/>
        <BlueScale value="0.363636"/>
        <BlueShift value="7"/>
        <BlueFuzz value="1"/>
        <StdHW value="117"/>
        <StdVW value="131"/>
        <StemSnapH value="117"/>
        <StemSnapV value="131"/>
        <ForceBold value="1"/>
        <LanguageGroup value="0"/>
        <ExpansionFactor value="0.06"/>
        <initialRandomSeed value="0"/>
        <defaultWidthX value="543"/>
        <nominalWidthX value="551"/>
      </Private>

❯ cargo run --release -p fauntlet -- compare-glyphs ~/dev/cffAbrt/DIN_Alternate.otf
[...]
   Compiling fauntlet v0.1.0 (/usr/local/google/home/drott/dev/fontations/fauntlet)
    Finished `release` profile [optimized] target(s) in 20.89s
     Running `target/release/fauntlet compare-glyphs /usr/local/google/home/drott/dev/cffAbrt/DIN_Alternate.otf`

Fauntlet completes without errors.

If I read https://adobe-type-tools.github.io/font-tech-notes/pdfs/T1_SPEC.pdf right, this probably means that the 4th pair in the BlueValues array is invalid, which shoud describe cap height and cap-height overshoot - if I counted correctly.

Confirmed that we match FreeType in both hinted and unhinted modes when debug assertions are disabled which means that FreeType simply allows these overflows.
Note that replacing the += with wrapping_add in Stack::apply_delta_prefix_sum prevents that crash, but causes further overflow panics in HintState::capture when values that are derived from the overflowing blues (here specifically, the fuzz value) are used in addition/subtraction operations.
FreeType doesn't do any checked arithmetic so to maintain a match, I see two options:

Replace operators with wrapping_add and wrapping_sub at all call sites that are known to panic. We are likely to encounter further panics down the line.
Change Fixed::add and Fixed::sub to always use wrapping arithmetic. Note that our multiply and division operators already effectively do this.

For context
https://github.com/googlefonts/fontations/pull/966
https://github.com/googlefonts/fontations/pull/967
Are also relevant, in particular, adding clippy::arithmetic_side_effects might help in pointing out locations and going case by case? In the cursor case we used saturating math and do not completely ignore font bugs.
For this particular broken font to pass and to match FT behavior, we need FT-like overflow behavior here, but we could discuss what other locations clippy::arithmetic_side_effects points out and how we want to treat them? On the other hand I seem to remember that clippy did not find all locations. Might have to do with how we use the Fixed type and whether the compiler can spot the situations.


geometrical map access

Hello, thanks for making this dataset and toolbox available!
Is it possible to retrieve also the geometrical map file of a specific house (e.g., sarmis), as opposed to the individual laser scans?
Many thanks

To clarify: I understand that to retrieve the point measurements in the 2D map it suffices to do something like the following:
def get_maps(rh):
      """
      Return a dataframe with geometrical map info
      """
      sql_str = ('select * from rh_twodgeomap;')
      return rh.query(sql_str)

similarly to the other methods in the RobotAtHome class. However, how does one go from these pointfiles to a standard ROS map? (e.g., pgm image + yaml)


Correct use of AsRef.

This allows passing &[PathBuf] and &[&Path].

Thanks!

Pushed to crates.io in version 0.2.5.


CesiumPolygonRasterOverlay Can not Clip VectorTileMap in v1.11

it has no problems in v1.10.1，but in v1.11，it dont work any more

Can you please describe the problem in more detail? I'm not quite sure what you mean by "VectorTileMap".

what I exactly mean was that:
the tutorial Hiding Parts of Tilesets with Cartographic Polygons don't work in version v1.11，but it work well in v1.10.1

Hey @thindev, is this still an issue with the latest release of Cesium for Unity?

Closing this issue due to inactivity. If this is still a problem for you, please reopen with more information so we can help troubleshoot. Thanks!


Add layer transforms, interaction in layer

⚠ Removes Context::translate_layer, replacing it with a sticky set_transform_layer
Adds the capability to scale layers.
Allows interaction with scaled and transformed widgets inside transformed layers.
I've also added a demo of how to have zooming and panning in a window (see the video below).
This probably closes #1811. Having a panning and zooming container would just be creating a new
Area with a new id, and applying zooming and panning with ctx.transform_layer.
I've run the github workflow scripts in my repository, so hopefully the formatting and cargo cranky is satisfied.
I'm not sure if all call sites where transforms would be relevant have been handled. This might also be missing are transforming clipping rects, but I'm not sure where / how to accomplish that. In the demo, the clipping rect is transformed to match, which seems to work.
https://github.com/emilk/egui/assets/70821802/77e7e743-cdfe-402f-86e3-7744b3ee7b0f

@emilk Thank you for all the detailed comments and advice! I've taken some time and (hopefully) addressed all of them, could you take another look?

I added a few doctests, switched the transform order as you suggested, and completed the small refactoring tasks.
I think all the tests should be passing as well. Let me know if there's any other changes you'd like me to make. (I'm not sure if you meant for me to add doctests or a test module, I went with doctests for now)

@emilk Could you take a look at the updates when you have a chance? I'd love to get this merged (and avoid merge conflicts 😛 )

@emilk I fixed up those doc comments on transform order (got myself confused last time, oops!), and added the Arc galley optimization and the simplification for pan and zooms (really neat, thank you!). I also added the inverse doc test like you suggested, and scaled the thickness of strokes.
There're two videos above showing the effects of scaling the thickness, and I noted in a doc comment that PaintCallbacks just have their boxes scaled.

I've started messing around with this in the node editor I'm making, and first I'd like to say thank you so much @Tweoss, this makes my life so much easier. In my messing around, I have noticed a few things I'd like to comment on.

In the new pan_zoom demo, there is this section:
        // Uncomment to allow dragging the background as well.
        // self.transform.translation += response.drag_delta() / self.transform.scaling;

That is how I want my app to behave, however the self.transform.scaling desyncs the mouse movement from the world movement. I think it should just be self.transform.translation += response.drag_delta(), since that keeps the movement of the PanZoom contents moving 1:1 with the dragging of the mouse.

At very close zoom levels, the button text will disappear early when going off the top/left sides of the container. On further testing, the more zoomed in you are, the more down left the disappearance point moves. However, at no level of zoom could I get the text to disappear early off the bottom/left sides of the screen. This can also be seen at 6 seconds into the first recording posted.
https://github.com/emilk/egui/assets/107241144/a0fb68f2-1848-4be1-ab07-eb7ca610acfc

When zoomed in/out, the movement rate of dragging the buttons desyncs from the movement rate of the mouse. This is probably because the windows that display the buttons use their own drag-handling code, so they don't get their drag deltas transformed. This is probably the most annoying issue here, since I don't know if it is solvable without changing how Window or InputState work, or using a custom Window-like implementation.

Thanks again for the amazing work.

@MeGaGiGaGon Thanks for the feedback! You are correct, the translation should be without the scaling.

I took a look at the disappearing text (and other shapes) and have reproduced it like you say. I can't figure out exactly what clipping / other mechanism is causing this.

I'm not clear on what behaviour you're describing. I whipped up an example below, and corrected for the pointer position in crates/egui/src/response.rs to get the bottom video. Is this what you're looking for?
https://github.com/emilk/egui/assets/70821802/5a279859-3bd6-43d5-a90a-9205b9315827
https://github.com/emilk/egui/assets/70821802/d591652a-b70b-4ccf-af75-9bd37b2a689f

@Tweoss Thanks for the fix, I hadn't noticed that either. What I was referring to is how the Area dragging isn't synced, which sadly wasn't fixed, since it looks to access the InputState directly instead of through a Response.
if movable && move_response.dragged() {
    state.pivot_pos += ctx.input(|i| i.pointer.delta());
}

https://github.com/emilk/egui/assets/107241144/d564abf7-44db-4256-a0e5-dbdc6681fe97
Hopefully it is fixable inside of InputState/PointerState, since if not any custom widget that accesses the pointer position through ui/ctx .input would also be broken.

The text clip bug is quite annoying.
It would also be good if the demo/example has a description in the UI (e.g. a label at the top, that isn't zoomed/panned)

The two other biggest annoyances I've seen are that remain are the internal Areas not moving with the outer Window's movement, and the layering issues. I tried looking into both, but got stumped on changing an Area's pivot_pos since it is in State which is private. I also couldn't find any method of getting the ordering of the window containing the ui, though since Areas stores that in order: Vec<LayerId> then you'd just have to ensure the windows in the PanZoom are directly after the location of the containing window. This seems to more be a symptom of there not being a good interface for setting the ordering of areas/paintings, but that's probably something for a separate issue/pull.
https://github.com/emilk/egui/assets/107241144/21401034-7811-4cca-8381-20de29100293
It would also be nice if there was an example of painting a shape onto the transforming layer, since painting onto the top level ui just makes it not zoom/pan, and having to make a static area to paint on/for every paint seems clunky.

@MeGaGiGaGon Is this the behaviour you're referring to where the inner windows should have their transformation match the outer demo window?
https://github.com/emilk/egui/assets/70821802/06d1d151-36cc-4ee6-a5ae-ee08af8f7cec

Unfortunately, I'm also not sure of a good solution to ensuring that the inner windows stay atop the demo window but not other demo windows.

@Tweoss Yep, that's it :)
I think it would be possible, if not for two things:
Areas.order is private, otherwise you could edit it to make the order correct using ui.ctx().memory_mut
I have no clue how to get the LayerID of the window containing the PanZoom, especially with just access to the ui

Regarding the text disappearing, I've finally discovered that it is the initial text boxes' bounding box that goes beyond the clip rectangle, causing the whole text to disappear. I'll try to transform that bounding box as well.

Yay!

It's probably better to have the smiley be on it's own un-interactable area, since otherwise odd things happen with the widget it's painted on

It would also be nice to have an example painting that also moves with a draggable area

I did even more thinking, and sadly my idea wouldn't work. Getting the LayerId of the window isn't too bad if some spaghetti is allowed, here's my flavor:
pub struct PanZoom {
    transform: TSTransform,
    drag_value: f32,
    window_layer_id: Option<egui::LayerId>,
}
// ...
// inside impl super::Demo for PanZoom inside fn show
self.window_layer_id = window.show(ctx, |ui| self.ui(ui)).and_then(|x| Some(x.response.layer_id));
// ...
// inside fn ui
if self.window_layer_id.is_none() {
    return;
}

However the issue is still the Area ordering. As far as I can tell, the only tool that can inspect the Area.order is
ui.ctx().memory(|mem| mem.areas().top_layer_id(egui::Order::Middle))

This is sadly not powerful enough, since the only tool for manipulating the order is
 ui.ctx().move_to_top(layer_id)

Which also affects the top most Area. The only two things I can think of that would make it possible are having Areas.order be public, or having a Context::move_to_bottom method, which would still cause a lot of spaghetti in this code, but wouldn't expose Areas's internals.

Something else I just noticed is that things start glitching out if you zoom in far enough. I'd suspect this is due to floating point imprecision, so meh.
https://github.com/emilk/egui/assets/107241144/f29607c0-eb13-4fdc-aa83-f9f911cd5584

I also also just noticed that while the translation is saved on close and open, the scale isn't

Some widgets may need their mouse input coordinates to be reverse transformed, like in the panels.

What I'm mostly thinking about is if this were to be separated into it's own container/widget struct. I imagine most people making a PanZoom would just copy all the complex internal logic into their own struct (like I am) and have a few fns for their own specific use case. Granted, I have absolutely no clue how to make a good interface, and it looks like a lot of works that might be better suited for a later PR so that the actual TSTransform can make it into egui sooner rather than later.
Also on more thinking, one of these days there should also be a PR for making Areas.order more accessible, since that's the main issue that's being run into, and is probably outside the scope of this one. With what I've seen on how Memory added move_to_top, I might make a stab at it.

This seems to be working quite well now.
The layering issue is difficult, and I think should be fixed in a separate PR.
Potential solutions include:

Add a good API for reordering layers, so we can tell the scroll-pan-layer to always be just on top of the demo window.
Add sub-layers, so each window can have multiple layers that are always connected to each other. This could also be the solution for https://github.com/emilk/egui/issues/1516

Oops - unfortunately this broke the drag-and-drop preview code. I'll see if I can fix it.

Thank you @emilk for taking the time to review and add changes!
Also, thank you @MeGaGiGaGon for the suggestions and noticing those bugs.

set_transform_layer messes up text selection:
https://github.com/emilk/egui/assets/46897578/4cba62df-9f7c-49ab-99d4-2338118ebef7


added modified bubble sort using c

Have you read the Contributing Guidelines on Pull Requests?
(Write your answer here.)
yes
Description
(Write your answer here.)
In the existing bubble sort ,if the array is already sorted then also the time complexity will be O(n^2) but in modified bubble sort if the array is already sorted then time complexity will be O(n) .
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
(Write your answer here.)
issue #5088

@ankitaggarwal23 please merge this PR .

@ankitaggarwal23 existing bubble sort which  is written in c is not the efficient one  . In the existing bubble sort ,if the array is already sorted then also the time complexity will be O(n^2) but in modified bubble sort if the array is already sorted then time complexity will be O(n) .

@prashant7139 You can modify the existing code

Open a new issue and the issue no which you want to modify

Ok .
Thank you.


Water Artichokes/Water Pads not behaving very... >fluid. ha...haha...

water pad not allowing solid water source blocks parallel (flowing parallel to water pad)

water artichoke still working vanilla witchery style

Also this, taking a wild guess AquaTweaks did this, or AgriCraft just does, but I'm no modder.

Water Artichoke needs a Source next to it, but on a Water Pad, why not just on a water pad?

Also this, taking a wild guess AquaTweaks did this, but I'm no modder.

Only added mod is JourneyMap, I'd be lost without it. I really need to cut it out with the puns.


Feature/login dialog

Log in dialog UI
TODO:

call server to authenticate
replace log-in and sign-up buttons with username when authenticated

 Create Login dialog


corrupted data again? (FMC2)

Hi kazk,
I believe there might be a DB trouble behind this:

kata: Full Metal Chemist #2: parse me...
in the lists, I see this message below it: "Status:Waiting for issues to be resolved"
tho, there isn't any issue opened (or even suggestion) in the discourse.

Since some comments of the last cheater/hater where removed from the discourse (possibly posted as an issue, I'm not sure anymore), I suspect there might be a problem lying under.
Could you check, please?
thx,
B4B

(note: if so, that means the other betas where he posted will surely suffer of the same problem)
(I cannot edit my previous message, from the place where I'm posting...)

Full Metal Chemist 2 is fixed. Maybe removing a comment didn't trigger updating the status.
I might just run a script to update all betas.

Updated the state of all beta kata just in case.

Thank you! :)

Maybe removing a comment didn't trigger updating the status.

Yes it has always been the case. It turns out that I haven't raised an issue about this particular behaviour yet because similar ones exists, like #1088 and #1470.


Request: show add user to lists.. button on profile header space and on tweets

Request: show add user to lists.. button on profile header space and on tweets

These are already in context menus in those places, we don't need a separate button for them


Ability for a branch to be deployed to different appname through .yml file

Right now, if you deploy a branch of an app, and a .yml file in the repo, the branch will overnight this, instead you should be able to specify an appname for any branch other than master

E.g. the yaml file would be:
deploy:
    heroku:
        master: (ref the branch)
            appname: foobar-123
        new-feature:
            appname: fooo-feature
        other: (fallback for all branch names)
            appname: foo-fallback


Hitting an error while downloading at same point each time

Attempting to download videos for the free AWS Certified Solutions Architect Course for reference.
INFO     Skipping already existing file /root/git/16 - RDS (Relational Database Service)/1 - RDS Essentials.mp4
INFO     Logged Out!
ERROR    Unknown Exception
ERROR    list index out of range
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/cli.py", line 206, in main
la.download()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/linux_academy.py", line 155, in download
self._course.download()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/course.py", line 102, in download
asset.download()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 140, in download
self.analyze()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 136, in analyze
self._resources = self.get_resources()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 133, in get_resources
return processor()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 108, in call
return self.process()
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 71, in process
play_list_url = self.get_m3u8_playlist_url(lesson_page_source)
File "/usr/local/lib/python2.7/dist-packages/linuxacademy_dl/assets.py", line 64, in get_m3u8_playlist_url
return LessonProcessor.m3u8_grabber.findall(lesson_page_source)[0]
IndexError: list index out of range
INFO     Please report this issue on https://github.com/vassim/linuxacademy-dl/issues. Make sure you are using the latest version. Be sure to call linuxacademy-dl with the --debug flag and include its complete output.

Any chance on this receiving a fix before the AWS course rotates out at the end of the month? Thanks!

Hi @sheepdog817, Thank you for reporting this issue. I think this issue is beyond the scope of this project. The course you are referring here had some missing videos before ("RDS Essentials" was one of 'em) and this problem was happening because of that.
It seems like the Linux Academy team has already fixed the issue and re uploaded the video. If you are facing similar kind of issues in future, please make sure that the videos are playable on-line, if not, please report the issue there!
(Duplicate of #29)

Thanks for the reply @vassim! Attempted to pull again and am still coming across the same issue. It may be a good idea to add a small bit of logic to skip over broken videos. It may be an issue with Linux Academy videos, but your program fails if everything is not 100% correct on their end. I am going to attempt to debug this myself and add the code necessary to skip over broken videos.


Marker text not showing, size not changing.

Marker Image
candleS.setMarkers([
  {
    time: history[index][history[index].length - 1].time,
    position: "belowBar",
    color: "orange",
    shape: "circle",
    id: "id4",
    text: "example",
    size: 4,
  },
]);

The marker shows, but size seems doesn't work, I tried different values, the size of the marker stays the same. Then the text doesn't show as well, I was expecting the text would be displayed inside the marker, isn't that how it suppose to be?
I mostly copied the sample code from the documentation was testing the feature out and wasn't getting expected results, thought of it might be a bug or something, thanks.

Hello!
Well, I see that text does not appear too. So I suppose you use old version of the library

@Dwyte what version do you use? Can you provide link to jsfiddle-like sample?

@timocov, @eugene-korobko  I use the latest version, 2.0.0 available from npm. Oh is this feature yet to be released?

I use lightweight charts with react.js, but here https://jsfiddle.net/raybdmef/ trying in jsfiddle, the marker doesn't show anything. Not sure what I'm doing wrong here.

but here jsfiddle.net/raybdmef trying in jsfiddle, the marker doesn't show anything. Not sure what I'm doing wrong here.

There is used 1.0.0-rc.3 version, it's far away from 2.0.0 :)
The issue #207 where was added support for text in markers is assigned to 3.0 milestone, which isn't released yet.


Exit binding mode by pressing a non-defined key in that mode

It would be helpful if there was the (configurable?) option to exit a binding mode when pressing any key that is not defined in that mode.
I've had a few cases where I got stuck in the (service) binding mode when misspressing a key, after which I'm mentally back in the main binding, but aerospace is waiting for a service command.

+1 for this.
It also happens to me that I'm in, for example, move.binding, forget that I'm there, start writing and all windows move around :/


Update os_image for rubygems workflow

Description
Same change as #267, but ported to the rubygems.yml configuration.
Documentation
Does this require changes to the WorkOS Docs? E.g. the API Reference or code snippets need updates.
[ ] Yes

If yes, link a related docs PR and add a docs maintainer as a reviewer. Their approval is required.

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

Project coverage is 96.79%. Comparing base (2a1e8ba) to head (b8bcaeb).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #271   +/-   ##
=======================================
  Coverage   96.79%   96.79%
=======================================
  Files          58       58
  Lines        1403     1403
=======================================
  Hits         1358     1358
  Misses         45       45

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


pd: index cometbft block data

In Penumbra, chain upgrades are performed via "genesis migrations". The chain state is exported, and node operators produce an upgraded genesis file that specifies the new application hash and starting height for the post-upgrade chain.
Unfortunately, this process requires cometbft to delete all of the block data preceding the upgrade height. This is problematic because Penumbra clients require access to historical block data in order to synchronize their view service, or query transactions.
In particular, Penumbra clients need to:

query transactions by block height ("fetch all txs that are present in block $h$")
query transactions by tx hash ("fetch the transaction data corresponding to tx_hash")

To solve this, we need to index block data directly into the application, and make the TendermintProxy service route queries to this new local block storage.
In order to do this, we should:

Figure out a storage strategy and schema for the full block data

The general schema of our indices should allow for retrieval by block height (frequent) and retrieval by tx hash (sparser):

block_height -> Vec<block_data>
tx_hash -> (block_height, position_in_block)

In pseudo-code:
fn get_tx(tx_hash) -> Tx {
    let (height, position) = lookup_index(tx_hash);
    let tx = get_block(height)[position];
    tx
}

Pull transactions handled in ProcessProposal and store them in pd block db
Modify the TendermintProxy service  to route get_tx and get_block RPCs to the local block store

This is part of #1804, and blocking for #3408

Re: storage. For now we can simply store the block data in a prefixed substore, this means that we will need to:

Add cometbft_data to the list of substore prefixes in the application crate (rg SUBSTORE_PREFIXES)
When processing ProcessProposal message, peek the block data to get the raw transactions (see ProcessProposal::txs)
Store the transactions by height in nonverifiable storage at key cometbft_data/block/{height:020}
Add a get_transactions_by_height to the TendermintProxy service

Two points:

We shouldn't use the TendermintProxy service for this, since we're not proxying the requests to Tendermint/Comet.  Stepping back a bit and questioning the requirement: what Penumbra clients need is a way to get the set of transactions in the block at some height, so that they can scan them locally. The only reason they're using the TendermintProxy RPC is for convenience -- there was already a way to get the literal block, so that seemed easier. But given that the block data isn't retained through upgrades, it turns out not to be. Instead of spending effort on intercepting requests etc., we should just define an RPC that has the behavior we want.

I don't think it's necessary to store the transactions individually, i.e., multiple k/v pairs, we can store one big proto blob at each height, using the response message type we define as part of (1).

Re #2: agreed, that's what I was suggesting


Spreadsheet update, gui update.

Sorry, I did a thing, and it's gonna be a sight to see. Especially when it's done.
Adds the newest version of the results spreadsheet. Also adds step dividers with quirky little text.
Changes the style sheet a little while I work on a little GUI upgrade to make it a little stylish.

It's gonna need someone else to test it, I am not able to, as I don't know how to deploy it to a server to run it properly.

i can try and test it

i get;
TypeError: NetworkError when attempting to fetch resource.

when i click the button

btw you just double click the index.html under public

spun up a quick python web server and the error went away.

its very purple

its very purple. I hope the fashion police don't come and break your door down lol

I hope not, probably gonna update it to change the colors to make it a little less purple.

I am all for purple but that will scare people away. I'd be open to merging if the color is changed and the font is removed from the results! @MinoDab492

@MooNag Hey! Thanks for the feedback, what if I make it not ALL purple, but still keep the very background purple? I can remove the font from the results for the pull request, I'll try to push it later tonight if I can.

I am all for purple but that will scare people away. I'd be open to merging if the color is changed and the font is removed from the results! @MinoDab492

Alright, I fixed it. Check it out whenever you can and let me know anything more I need to do.


条件分支节点bug

*For better global communication, please give priority to using English description, thx! *
1.3.3 Conditional branch has a bug where even if execution fails, the successful branch will be executed

1.3.3 版本条件分支有一个bug，就算执行失败，也会执行成功的那一个分支

Take a screenshot to see the configuration of your DAG condition node, whether the custom parameter is configured with the pre-node state
Use condition node refer to #2652

please update the title in English

hi, is your problem solved?

Close the question since it has been replied


Please note the output Starting tmp-mysql     ... failed.
No idea how to debug this, any pointers appreciated.

Sorry about the delay in followup here. Busy week for me. I don't see it in the output above, but it looks like warden env up -d hasn't been run since the .env file change was made (this is the only command you should need to run after making the edit to update the  containers).
When setting WARDEN_TEST_DB=1 a new container is added to the mix, so warden env up -d needs to be run to create it, whereas stop/start control containers that have already been created and would be akin to running systemctl stop/start on services running natively on Linxu.
In the below I can reproduce the "failed" message (which I admit, is not very obvious, but is unfortunately how docker-compose messaging sits right now), and once I run the warden env up -d command it does in fact come up.


Replica (re)creation process ordering and completion

Hi,
I was following https://kb.altinity.com/altinity-kb-setup-and-maintenance/altinity-kb-data-migration/add_remove_replica/#using-altinity-operator, with operator v0.23.7, after losing a replica to an upstream bug (details not very relevant to this issue).
Anyway, trialing the process in our dev environment, I was surprised by 2 specific aspects:

The new replica does not get non-operator-managed users added to it
The new replica is immediately added to the cluster service endpoint

This causes a couple of issues if the initialization process is not extremely fast (in my cases, with 400+GB of data it's far from immediate...), as clients end up routed to an incomplete replica against which they can't even authenticate, while live replicas still exist.
Maybe this is expected behaviour, but it seems like it would be an improvement to address these 2 concerns, or at least document them in some way. Especially if there are other non-schema elements than users which I'm not thinking of but matter.
Thanks

The new replica does not get non-operator-managed users added to it

do you mean RBAC SQL users?
for replicate RBAC SQL created users over Zookeeper use following approach
spec:
  configuration:
    files:
     config.d/replicated_user_directories.xml: |
     <clickhouse>
       <user_directories replace="replace">
         <users_xml>
           <path>users.xml</path>
         </users_xml>
         <replicated>
             <zookeeper_path>/clickhouse/access</zookeeper_path>
         </replicated>
       </user_directories>
     </clickhouse>

I thought rbac was just not replicated at all in ClickHouse and you needed ON CLUSTER shenanigans when working with it… huh…

Operator does not know passwords, for example. That's why it is hard to replicate users w/o zookeeper

The thing is that it may take a long time for replica to get in sync, especially on big clusters. But we may add a switch for that, it is not that difficult to do.
As a workaround, you may use distributed table (even with a single shard) and 'max_replica_delay_for_distributed_queries' .

The thing is that it may take a long time for replica to get in sync, especially on big clusters

That is exactly what brought me to ask this yes :slightly_smiling_face:

you may use distributed table

Hmmm that does seem a bit cumbersome, but it also seems like the right approach long-term indeed...
Well, if the switch is easy to add, it would be neat, and if not I can live without it. I figured since it's something the operator tracks already anyway it would be trivial-ish (ie: chi_clickhouse_metric_ReplicasMaxRelativeDelay metric)


Fix hidden case for FocusableElementNotVisibleNotAriaHidden

@ckundo PTAL

LGTM! Was the original test passing because it was not running in the browser?

The original test wasn't running at all because it wasn't included in the non-browser tests.


Missing name in tracing

Bug description:
In https://github.com/openservicemesh/osm/blob/main/pkg/injector/envoy_container.go#L43 the --service-cluster parameter is set based on ServiceAccount and pod.Namespace.
As a result for a simple deployment all services in a mesh are identified as "default.".

The name component could be based on some other parameter, e.g. deployment name
The namespace component of name is always missing, even in example tracing documentation https://release-v0-11.docs.openservicemesh.io/docs/guides/observability/tracing/

Affected area (please mark with X where applicable):

Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [ ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [X ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
Demo                       [ ]
CI System                  [ ]

Expected behavior:

Services are easily distinguishable in Jeager tracing by providing proper argument to --service-cluster parameter into Envoy.
There is a documentation describing how to modify the naming pattern

Steps to reproduce the bug (as precisely as possible):
Install OSM
How was OSM installed?:
As AKS add-on
Anything else we need to know?:
Bug report archive:

Environment:

OSM version (use osm version):
Kubernetes version (use kubectl version):
Size of cluster (number of worker nodes in the cluster):
Others:

Thanks for raising these issues @piotrgwiazda! @whitneygriffith I'm assigning this to you to make sure our tracing works as expected. Feel free to use this issue to gather any more context you need

@piotrgwiazda we were able to fix the missing name in tracing and have updated the docs which will be available in our next release which will be out in <2 weeks! If you need this fix before then feel free to build the latest OSM


Patient records: Types of input for Patient Vital Input Page

Issue:
Inputs should allow float/decimal point numbers:
Patient Record > Vital Signs

Temperature (impt, at least one dp)
Height, Weight
BP
Blood Glucose (impt, at least one dp)

https://t.me/c/2042968232/768/777
Some devices may not be able to record decimal place, like BP.
The rest should have decimal place'

Issue: Able to enter anything in Left/Right eye vitals field
Fix: Possibly use regex to allow numerals and single slash. Or can have 2 input box for each with a pre-rendered slash.
Todo:

Check with medicine what kind of input do they want their field to be? does it tally with what is currently present?

fixed with #262


Page build warning for missing theme

Looks like doc theme we're using isn't supported by GH Pages:

The page build completed successfully, but returned the following warning for the master branch:
You are attempting to use a Jekyll theme, "just-the-docs", which is not supported by GitHub Pages. Please visit https://pages.github.com/themes/ for a list of supported themes. If you are using the "theme" configuration variable for something other than a Jekyll theme, we recommend you rename this variable throughout your site. For more information, see https://docs.github.com/en/github/working-with-github-pages/adding-a-theme-to-your-github-pages-site-using-jekyll.
For information on troubleshooting Jekyll see:
https://docs.github.com/articles/troubleshooting-jekyll-builds

It looks like we can either a) fork a theme and specify its repo with remote_theme in the page's yaml config or b) change to one of the supported themes.

IDK that we need to fork a repo etc, we are specifying the remote_theme, maybe we can just delete the "theme"  line?
@gcgbarbosa are you up for checking? i forgot how to build it locally to check that it still looks right if i delete the "theme" line and just leave the "remote_theme"

in the meantime, it works fine, just issues a warning by email

Sure.  I didn't know you were specifying remote_theme already (I hadn't looked at the docs config).
The only real advantage to forking the theme is if you want control over what happens to it.
I get emailed the warning every time a new commit is made to master, so I'd prefer to get rid of it (or disable notification of the warning).

Idk what the warning looks like, but we might be getting the error bc I am specifying the theme twice, once remote and once normally, so that the person does not have to change anything when working offline.
I did not know this was causing a warning.
I guess we can just comment out the second and it should work, but then we would have to re-enable it to see the theme when working offline.

This is the line I am talking about: https://github.com/lum-ai/odinson/blob/04760b07e7c8c6c60d9c61234f5a41c92c8257c3/docs/_config.yml#L3

@gcgbarbosa , you can't pull in a remote theme when working locally?

Let me test...

Based on this SO response, I'm thinking we just need to add gem "jekyll-remote-theme" to this section:

https://github.com/lum-ai/odinson/blob/04760b07e7c8c6c60d9c61234f5a41c92c8257c3/docs/Gemfile#L13-L19

It seems to be working without the line. Can you check if you are still getting the warning?

any chance we can "check" by merging this and quickly seeing that (a) we don't get the warnign email and (b) the docs still look pretty?

they're still pretty, thanks @gcgbarbosa  and @myedibleenso !


Feature request: Add mode argument to discriminator function in tfgans GANEstimator

Can we add mode as an optional argument to the discriminator function in the tfgan GANEstimator? This would allow the discriminator function to perform batch normalisation and dropout.
Posted this on stack overflow:
https://stackoverflow.com/questions/48837537/why-cant-i-pass-mode-to-the-discriminator-function-in-tensorflows-ganestimator

Sorry just saw this feature has been completed


Improve typing for inferred project

Porting #13641 and bringing it up to date so that pull request can be closed, as it was old and unmergable, and Zhengbo is no longer on the team. I've done little testing or in depth reviewing yet.
Details from that pull request:
Fixes a VSO issue.
Background:
Currently for an external project that contains tsconfig files, we put files included by the tsconfig file in a configured projects, and the rest of files in the miscellaneous context. This behavior caused problems for type acquisition, because:

the project specific types are not used for these misc files, for example cordova and sharepoint typing files;
these misc files do not have a "project root" for type discovery purpose.

Two fix these two issues, I have made the following changes in this PR:

Added an API called "setTypeAcquisitionForInferredProject", which can add all the project specific types to the inferred project;
Added some logic so that during type discovery, if no "project root path" is provided, try to go up and guess the first possible project root path.

Closing due to inactivity. Seems like recent work in this area has addressed most of the original issues.


[Bug]: TSML-UI: ICS export, VCALENDAR Not Setting Time Correctly

Discussed in https://github.com/code4recovery/12-step-meeting-list/discussions/1487

Originally posted by furick1 August  9, 2024
Contact Details
<EMAIL_ADDRESS>Website With Issue
https://recoverydharma.org/meetings/?meeting=rd-chicago-above-and-beyond-family-recovery-center
What happened?
The add to calendar feature on meeting details seems to generate an incorrect time within the .ics file. When users try and add to calendar it isn't aligned with what shows on the website and is causing confusion. I have included some examples below using the latest plugin running on the Recovery Dharma website. The meeting timezone data is set at the meeting level with the global meeting timezone setting blank. The site is using the TSML UI plugin theme.
This issue was initially reported by user on Mac. Issue confirmed and calendar file examples generated by me on Windows in Virginia. @joshreisner I assume this is related to the recent timezone feature additions and the add to calendar function needs updated.
https://recoverydharma.org/meetings/?meeting=rd-chicago-above-and-beyond-family-recovery-center
Friday 1:00 PM – 2:00 PM EDT
(Friday 12:00 PM – 1:00 PM CDT)
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
SUMMARY:RD Chicago @ Above and Beyond Family Recovery Center
DTSTAMP:20240809T170000Z
DTSTART;TZID=America/Chicago:20240809T130000
DTEND;TZID=America/Chicago:20240809T140000
LOCATION:Lake & Sacramento\n2942 W Lake St, Chicago, IL 60612, USA
DESCRIPTION:Above and Beyond Family Recovery Center @ Lake & Sacramento\n2942 W. Lake. Chicago, IL 60612
END:VEVENT
END:VCALENDAR
https://recoverydharma.org/meetings/?meeting=rd-wenatchee
Friday 3:00 PM – 4:00 PM EDT
(Friday 12:00 PM – 1:00 PM PDT)
BEGIN:VCALENDAR
VERSION:2.0
BEGIN:VEVENT
SUMMARY:RD Wenatchee
DTSTAMP:20240809T190000Z
DTSTART;TZID=America/Los_Angeles:20240809T150000
DTEND;TZID=America/Los_Angeles:20240809T160000
LOCATION:RD Wenatchee\n10 Orondo Ave Suite C, Wenatchee, WA 98801, USA
DESCRIPTION:RD Wenatchee @\n10 Orondo Ave, Suite C. Wenatchee WA 98801\n(within Wenatchee Community Acupuncture - Located inside the Mid Town Building. Entrance is in the alley.).\nMeeting with meditation, reading + share.\nLocated inside the Mid Town Building. Entrance is in the alley.
END:VEVENT
END:VCALENDAR
What browsers are you seeing the problem on?
Chrome
Relevant log output/errors
No response

thanks @gkovats ! i'm seeing this issue as fixed now, going to close.


How to reset all content from command line?

Which service(blob, file, queue, table) does this issue concern?
All of them
Which version of the Azurite was used?
3.14.1
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)`
Visual Studio Code Extension
I would like to know if is possible to reset all content by any parameter on initialization of azurite.exe inside Visual Studio extensions folder.

@sergiojrdotnet
For "reset", do you mean clean all storage data in Azurite?
If so, we already have an issue to track it: https://github.com/Azure/Azurite/issues/588

Yes, that's it

@sergiojrdotnet
I will close this issue as it's dup with #588.
I have provided a script to clean up Azurite storage data. You can see it in #588.
Feel free to contact us again if you need any further assistance on Azurite.


Allow passing $true/$false as parameter to script using -File

Using powershell.exe to execute a PowerShell script using -File currently provides no way to pass $true/$false as parameter values.  Current behavior is that -File accumulates passed parameters as strings only.
Fix is to special case this based on discussion with PS-Committee to support $true/$false as parsed values to parameters.  Switch values is also supported as currently documented syntax doesn't work.
Fix https://github.com/PowerShell/PowerShell/issues/4036
Doc change is https://github.com/PowerShell/PowerShell-Docs/pull/1430

The commits has changes in src/Modules/Shared/Pester which should not be included. I think you need to run git submodule update to resolve it.

@daxian-dbw fixed

@lzybkr if you get a chance, can you review this?  thanks

@lzybkr feedback addressed

@lzybkr any other concerns?

C:\Temp>type test.ps1
Param( [bool] $test )
Echo $test
C:\Temp>pwsh.exe -file test.ps1 -test $false
test.ps1: Cannot process argument transformation on parameter 'test'. Cannot convert value "System.String" to type "System.Boolean". Boolean parameters accept only Boolean values and numbers, such as $True, $False, 1 or 0.
C:\Temp>pwsh.exe -command $PSVersionTable
Name                           Value

PSVersion                      7.0.0
PSEdition                      Core
GitCommitId                    7.0.0
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

@ChristopherGLewis See #10838


[Bug]: Buffer is not defined while using request.respond in chrome extension(using pptr-core)

Minimal, reproducible example
cmdPage.on('request', interceptedRequest => {
		if (interceptedRequest.url().indexOf('main.js') > 0) {
			interceptedRequest.respond({
				body: mainReplacerFile,
			})
		} else
			interceptedRequest.continue()
	})

Error string
Uncaught (in promise) ReferenceError: Buffer is not defined
Bug behavior

[ ] Flaky
[ ] PDF

Background
No response
Expectation
Works fine with req.conitnue api but stucked on respond lol. Hope for supporting
Reality

Puppeteer configuration file (if used)
No response
Puppeteer version
22.12.1
Node version
18.17.0
Package manager
yarn
Package manager version
3.6.1
Operating system
Windows

@Lightning00Blade do you know if we can rewrite without using the Buffer API?

We should be able to move to Uint8Array as it will not be a breaking change interface Buffer extends Uint8Array
And Uint8Array is supported in the browser.

As a workaround, it should be possible to include https://github.com/feross/buffer into your build.


Authentication Error

[Enter feedback here]
my friend and I are trying to join each other but every time but when we try to join each other it always pops up "authentication error" please help

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

ID: ea21b40c-57fb-4b38-7d20-5a9db7cc5556
Version Independent ID: e33adae7-6790-6aa9-fb40-8f070a1c6da9
Content: Joining from the browser - Visual Studio Live Share - Visual Studio Live Share
Content Source: docs/quickstart/browser-join.md
Product: visual-studio-family
Technology: live-share
GitHub Login: @fishah
Microsoft Alias: fishah

Hey @slay3rr04 we apologize for this experience. Could you give us the following details about what you experienced so we can better assist you? Thank you!

Were you both using VS Code?
What version of Live Share were you using?
What OS are you on?
Are you able to join without signing in?
When you initiated a share, were you prompted to choose between GitHub/Microsoft AAD?
Could you please provide us logs from you session by going to the command palate and typing Live Share: Export Logs

Hey @slay3rr04 we apologize for this experience. Could you give us the following details about what you experienced so we can better assist you? Thank you!

Were you both using VS Code?
What version of Live Share were you using?
What OS are you on?
Are you able to join without signing in?
When you initiated a share, were you prompted to choose between GitHub/Microsoft AAD?
Could you please provide us logs from you session by going to the command palate and typing Live Share: Export Logs

yes
1.0.3449
windows 10
no
yes
Export Logs.zip
@fubaduba please help me

yes
1.0.3449
windows 10
no
yes
Export Logs.zip
@fubaduba please help me

We've changed our authentication service. See #4128 and if the new authentication is giving you an issue, please create a new issue. Thank you for your patience.


Composer gives a problem message

In composer.json i described your example require source.

"php-ews/php-ews": "dev-master"

But composer gives an error as below:

Problem 1
- Installation request for php-ews/php-ews dev-master -> satisfiable by php-ews/php-ews[dev-master].
- php-ews/php-ews dev-master requires jamesiarmes/php-ntlm ~1.0.0 -> satisfiable by jamesiarmes/php-ntlm[1.0.0-beta.1, 1.
0.x-dev] but these conflict with your requirements or minimum-stability.

This is a duplicate of #333.


JSON RateCard data - values in Meters/MeterRegion

I am reading Azure RateCard prices from JSON stream (https://docs.microsoft.com/en-us/previous-versions/azure/reference/mt219005(v=azure.100)). JSON contains info about region this way: "MeterRegion": "US West Central". My problem is related to these values in MeterRegion. It looks like some "display name", not region "id". How to pair this MeterRegions to other systems?
E.g.: When using Microsoft.Azure.Management.ResourceManager.Fluent.Core.dll (https://github.com/Azure/azure-libraries-for-net) they provide list of regions containing Name="westcentralus", DisplayName="West Central US".
As you can see, 3 different values.
It looks like there is nothing like global Azure region ID?
(I hope I am asking in right place, there is not much info about RateCard JSON format, documentation,...)
Thank You

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

ID: 5a56e729-7981-9a51-9c5c-00ea13a8d888
Version Independent ID: 01fb14e5-e8a4-49e0-5908-b6069566a8de
Content: Get Azure usage with Azure Billing APIs
Content Source: articles/billing/billing-usage-rate-card-overview.md
Service: billing
GitHub Login: @tonguyen
Microsoft Alias: banders

@MiroslavVanicky Thanks for the comment. We are actively investigating on the issue and will get back to you shortly with an update.

@MiroslavVanicky Unfortunately there isn’t a global region Id, as you've noted different systems are using different region Ids.

@MiroslavVanicky We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@SadiqhAhmed-MSFT If there are "different systems are using different region Ids." where we can find some mapping? Is there some documentation for it? Any mapping library?
I cannot believe that I should compare all these documentation and hard-code it.

What I have noticed is for 99% of cases, the "display name" of an Azure region (eg: "West US") is exactly the same as its region ID ("westus"). Simply remove all spaces from the display name and lowercase the result. You will get the region ID.
For somethings, you dont really need an API.
If you really want one, take a look at this:
https://docs.microsoft.com/en-us/rest/api/resources/subscriptions/listlocations
It returns both the region name and the region ID. So get that list, store it somewhere and use it to translate the names.

99% is still not systematic solution. If there is some global "region id" used it would be systematic. Otherwise you have to hardcode some logic of mapping "US West Central" VS "westcentralus" VS "West Central US". Also, new regions are being crated.

I dont see that as a show-stopper. The ListLocations API I linked to above already provides a display name to code mapping. It would be easy to extend that to map with strings with components switched around.

Thanks @sujayvsarma for proposing the above workaround. Super useful.
@MiroslavVanicky , @qub1n  - you both bring up very valid points on having a global region ID. The Feature team will love to hear your feedback directly using this link. I strongly recommend sharing your feedback below using the abovementioned link.
In Parallel, i'm checking internally for a supported systemic fix that requires little to no additional logic.
Stay tuned.

@MiroslavVanicky, @qub1n  - Got an update from the Subscription mgmt & billing support team. They will like to know more about your implementation details and have requested you please create a case for a deeper review which will hopefully yield a systemic solution. Use this link to create a case with the subscription mgmt. & Billing support team They are expecting you. :)

Moved to https://feedback.azure.com/forums/170030-signup-and-billing/suggestions/39895819-json-ratecard-data-values-in-meters-meterregion


Added bootstrap alert

Removed the old JavaScript alerts and replaced them with bootstrap alerts which looks better.

I have added alerts for both, the main page (index.html) and the file transfer page (file.html).


Revert "body factory does not respect runroot"

Reverts apache/trafficserver#8388

I'm reverting this because we've noticed internally that this breaks the use of proxy.config.body_factory.template_sets_dir to override the TS_RUNROOT configuration.

Cherry-picked to v9.2.x


[Doc] - Docs Search Engine (Algolia) not working on Epinio v1.7.1

Issue
The search Engine for documentation does not work with Epinio v1.7.1 (after 24 hours from release)

It does work in previous versions (ie: v1.7.0) and in Next version as well:

@mmartin24 hi, please note that Algolia re-indexes once a week and not per day. So this week, when the site will be reindexed, you'll see the results for 1.7.1

Thanks, @nunix. I was under the impression it should be ok after 24 hours, but it seems as you commented it may take 1 week.
It seems working now:


rpthermo: Query must be a string unless using sqlalchemy

An error is thrown by rpthermo
/usr/local/lib/python3.10/site-packages/equilibrator_cache/compound_cache.py:80: UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.
  self._synonyms = pd.read_sql(
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.10/site-packages/rptools/rpthermo/__main__.py", line 117, in <module>
    _cli()
  File "/usr/local/lib/python3.10/site-packages/rptools/rpthermo/__main__.py", line 45, in _cli
    results = runThermo(
  File "/usr/local/lib/python3.10/site-packages/rptools/rpthermo/rpthermo.py", line 103, in runThermo
    cc = initThermo(
  File "/usr/local/lib/python3.10/site-packages/rptools/rpthermo/rpthermo.py", line 604, in initThermo
    cc = ComponentContribution()
  File "/usr/local/lib/python3.10/site-packages/equilibrator_api/component_contribution.py", line 148, in __init__
    self.ccache = ccache or create_compound_cache_from_zenodo()
  File "/usr/local/lib/python3.10/site-packages/equilibrator_cache/api.py", line 70, in create_compound_cache_from_zenodo
    return create_compound_cache_from_sqlite_file(path)
  File "/usr/local/lib/python3.10/site-packages/equilibrator_cache/api.py", line 49, in create_compound_cache_from_sqlite_file
    return CompoundCache(create_engine(f"sqlite:///{path}"))
  File "/usr/local/lib/python3.10/site-packages/equilibrator_cache/compound_cache.py", line 80, in __init__
    self._synonyms = pd.read_sql(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 706, in read_sql
    return pandas_sql.read_query(
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2739, in read_query
    cursor = self.execute(sql, params)
  File "/usr/local/lib/python3.10/site-packages/pandas/io/sql.py", line 2671, in execute
    raise TypeError("Query must be a string unless using sqlalchemy.")

Reproduced locally
Related to https://github.com/brsynth/galaxytools/pull/180 and https://github.com/galaxyproject/tools-iuc/pull/5005

which version of rptools?
Installed how (conda, GitHub...)?
What is the command line used?

Can you describe how have you reproduced the error locally?

Sure
conda create -n rptools rptools
conda activate rptools

python -m rptools.rpthermo rp_013_0001.xml  output.xml --pH 7.5 --ionic_strength 0.25 --pMg 3.0

rp_013_0001.xml


Add support for REGISTRY parameter

lgtm.

As an aside, this rebuild of nodejs should pick up the fix for the npm lock bug, according to @eliskasl


Dymola Tests failing with new libraries

With libraries:
numpy 1.12.1
h5py 2.7.0
scipy 0.19.0
sklearn 0.18.1
matplotlib 2.0.0

The tests framework/CodeInterfaceTests.DymolaTestTimeDepNoExecutableEnsembleModel and framework/CodeInterfaceTests.DymolaTestNoExecutable fail.
framework/CodeInterfaceTests.DymolaTestTimeDepNoExecutableEnsembleModel FAILED (In DMInterfaceTestTimedep/testDummyStep/BouncingBall++1/out~dsin.csv: The values in column "e" don't match
	rel diff:  0 ~ 0.699999988079 = 1.0
In DMInterfaceTestTimedep/testDummyStep/BouncingBall++1/out~dsin.csv: The values in column "g" don't match
	rel diff:  9.0 ~ 9.81000041962 = 0.082568846582
In DMInterfaceTestTimedep/testDummyStep/BouncingBall++1/out~dsin.csv: The values in column "hstart" don't match
	rel diff:  3.0 ~ 3.53770232201 = 0.151991963445
In DMInterfaceTestTimedep/testDummyStep/BouncingBall++5/out~dsin.csv: The values in column "e" don't match
	rel diff:  0 ~ 0.699999988079 = 1.0
In DMInterfaceTestTimedep/testDummyStep/BouncingBall++5/out~dsin.csv: The values in column "g" don't match
	rel diff:  9.0 ~ 9.81000041962 = 0.082568846582
In DMInterfaceTestTimedep/testDummyStep/BouncingBall++5/out~dsin.csv: The values in column "hstart" don't match
	rel diff:  3.0 ~ 3.53770232201 = 0.151991963445
) (reprint)

From: https://hpcgitlab.inl.gov/idaholab/raven/issues/826
See also: https://hpcsc.inl.gov/ssl/raven_downloads/test_results/2017_Apr_05//log_Ubuntu_14.04_jjc-ubuntu-14-04-conda

The problem is scipy. They changed the scipy.io.readmat method that now it reads the values like they are "integers"....

This is not a bug of RAVEN but of the Dymola code interface (external entities)

I have to correct my self.
Strange. I tried to update the libraries and I do not get any failure...

See PR #232. I found the issue. The dtype of np.full is being set to integer in the following line in DymolaInterface.py:
Data1Array =  numpy.full((sizeParams,numOutputPts),1)

This can be avoided by suggesting the datatype more explicitly with:
Data1Array =  numpy.full((sizeParams,numOutputPts),1.)

Notice the period enforces that 1 will be treated as a float not an integer.

Issue Closure
This review should occur when the issue is imminently going to be closed.

[x] 1. If the issue is a defect, is the defect fixed?
[x] 2. If the issue is a defect, is the defect tested for in the regression test system?  (If not explain why not.)
[ ] 3. If the issue can impact users, has an email to the users group been written (the email should specify if the defect impacts stable or master)?
[x] 4. If the issue is a defect, does it impact the latest stable branch? If yes, is there any issue tagged with stable (create if needed)? n/a
[x] 5. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?

@bobkinl @maljovec does closing this issue warrant an announcement to the Dymola users, or can we push without additional notification?

As @AaronEpiney says this change is not disruptive to the current dymola users, we can merge without notification.


NoneType in await and many more problems with example code

Latest update broke something :sweat_smile:
work machine: 3.7.x, pip install rich, textual, pyfiglet
home machine: 3.7.10, 3.9.6, pip install rich, textual, pyfiglet
Downloaded yesterday, everything works fine (work machine, don't have access at the moment, will update this tomorrow), downloaded again tonight on personal machine and I cannot get example code to run. constant expects 1 argument but 2 were given across almost all examples, including the base Beeper app, and the background color switcher spits out object NoneType can't be used in 'await' expression. I know rich is still working, because the output is colored:

I pulled the code and built myself with poetry install and used that for the examples (I think I did it correctly) and still no-go.

Hi @octoshrimpy Can you double check you have the repo version installed. You may need to do pip uninstall textual prior to doing poetry install.

Closing this, reopen if it doesn't solve the problem

Does it need to be installed within the project folder? I'm new to manually installed dependencies on python. After uninstalling through pip and running poetry install (successfully), the code now complains about missing textual dep.
projects
    textual
        src
        ...
    current_project
        main.py

That is my current folder structure.

@octoshrimpy textual doesn't need to be cloned at all. you just need to add textual as a dependency in your pyproject.toml file, or do pip install textual inside the current project's virtualenvironment. To learn more about virtualenvironments, check here


[Button] Use align_to_largest_stylebox for min. size calculation.

Fixes https://github.com/godotengine/godot/issues/93437

The description of align_to_largest_stylebox should be updated I think.

Thanks!


RequestFailedException(message: Invalid type for 'messages[1].content[1].image_url': expected an object, but got a string instead., statusCode: 400)

When trying the chat example, I get:
RequestFailedException(message: Invalid type for 'messages[1].content[1].image_url': expected an object, but got a string instead., statusCode: 400)
#0      OpenAINetworkingClient.post (package:dart_openai/src/core/networking/client.dart:332:7)
<asynchronous suspension>
#1      OpenAIChat.create (package:dart_openai/src/instance/chat/chat.dart:87:12)
<asynchronous suspension>
#2      run (package:qa/qa.dart:68:46)
<asynchronous suspension>
#3      main (file:///Users/lhutchison/qa/bin/qa.dart:8:3)
<asynchronous suspension>

Same.. it's because of image_url .  please fix thanks ..

I fixed it.. try to make a pr.
i changed the content.dart line 55 from
  Map<String, dynamic> toMap() {     return {       "type": type,       if (text != null) "text": text,       if (imageUrl != null) "image_url": imageUrl,     };   }
to
  Map<String, dynamic> toMap() {     return {       "type": type,       if (text != null) "text": text,       if (imageUrl != null)         "image_url": {           "url": imageUrl,         },     };   }

as I see on the latest pr, it's fixed but still not updated on the pub.dev


Getting "Undefined" text when Using the Azurer Cognitive Speech to Text Service

Hi All,
I am trying the integrate the Speech to Text azure service in my node js code. While testing I am getting the following error,
RECOGNIZED: Text=undefined
please find below the code snippet, which will give you clear idea on how we are using the azure speech to text service. Search couple of blogs but couldn't able to find out the solution. if you guys point out in the right direction that will really  helpful.
Could able to find out the reason behind this.
  const fs = require('fs');
  const sdk = require("microsoft-cognitiveservices-speech-sdk");
  const speechConfig = sdk.SpeechConfig.fromSubscription("<paste-your-subscription-key>", "<paste-your-region>");

let pushStream = sdk.AudioInputStream.createPushStream();
Convert audio chunk into Raw buffer######
const muLawDecoder = (muLawByte) => {
    muLawByte = ~muLawByte;
    const sign = muLawByte & 0x80;
    const exponent = (muLawByte & 0x70) >> 4;
   let data = muLawByte & 0x0f;
     data |= 0x10;
     data = data << 1;
     data = data + 1;
     data = data << (exponent + 2);
     data = data - 0x84;
     const r = sign === 0 ? data : data * -1;
    return r;
};

  function mulawToPcm(muLawBuffer) {
    const outBuffer = Buffer.alloc(muLawBuffer.length * 2);

     let i = 0;
    for (const b of muLawBuffer) {
    outBuffer.writeInt16LE(muLawDecoder(b), i);
     i = i + 2;
  }
     return outBuffer;
 }

    #########

   //Using websokeck to get the Live Text in UI

    wss.on("connection", function connection(ws, req) {

    // On incoming message to websocket, in this case it's assuming Twilio
      ws.on("message", function incoming(message) {
      const msg = JSON.parse(message);

    switch (msg.event) {
      case "connected":
         console.log(`A new call has connected.`);
        //End
          break;
     case "start":
       ################################# Azure Speech to text Code #################
     let audioConfig = sdk.AudioConfig.fromStreamInput(pushStream);
    let recognizer = new sdk.SpeechRecognizer(speechConfig, audioConfig);
    recognizer.recognizeOnceAsync(result => {
    console.log(`RECOGNIZED:AZURE  Text=${result.text}`);
    const text = result.text
    wss.clients.forEach((client) => {
       if (client.readyState === WebSocket.OPEN) {
        if (prefix === "recognized") {
        client.send(
          JSON.stringify({
            event: "interim-transcription",
            text,
          })
        );
      }
    }
   });

});

      break;
    case "media":

      if (msg.media.track == "outbound") {
		  // msg.media.payload will be base 64 endcode and this function "mulawToPcm"
		  //will convert base64 into raw buffer and this raw buffer we are passing to the audio //Config
        const raw = Buffer.from(msg.media.payload, "base64");
        pushStream.write(mulawToPcm(raw), null, () => {});
      }

      break;
    case "stop":
	   pushStream.close();
      break;
    }
  });
     ws.on("close", function close(event) {
     wsMap.set(ws.worker, null);
  });

Note : - I am Using Twilio service to get the Outbound Call in my application.
Angular 9 : Frontend .
Nodejs : Backend.
Like using as reference for this code -
https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/get-started-speech-to-text?tabs=windowsinstall&pivots=programming-language-nodejs#recognize-from-in-memory-stream
And Following this Topic :--  Recognize from in-memory stream
Thanks in advance!

Something (unknown) is likely going wrong with the recognizeOnceAsync() call if you're getting an empty text back.
To check, the result object returned from recognizeOnceAsync will have a reason field and possibly an errorDetails populated.
 console.log(RECOGNIZED:AZURE  Reason=${sdk.ResultReason[result.reason]}); console.log(RECOGNIZED:AZURE  ErrorDetails=${result.errorDetails});

Thanks for your response  @rhurey,
I will try to populate the error details by using your suggestion and will notify you on this.

Hey @rhurey ,
I tried your suggestion and I am getting the following error :-
RECOGNIZED:AZURE Reason=Canceled
RECOGNIZED:AZURE ErrorDetails=Unable to contact server. StatusCode: 500, undefined Reason: TypeError [ERR_INVALID_URL]: Invalid URL: wss://EastUS.stt.speech.microsoft.com/speech/recognition/interactive/cognitiveservices/v1?language=en-US&format=simple&Ocp-Apim-Subscription-Key=XXXXXXXXXXXXX-ConnectionId=53XXXXXXX2CB
RECOGNIZED:AZURE Text=undefined
Kindly request you to provide some thoughts on this.
Thanks.

@vinay047 Are you still able to reproduce this with version 1.19? Does this happen with a different key/region?

Closed as no customer update, please open a new issue if more support is needed.


Automatically push, but don't automatically pull/sync.

Summary
I use gopass from one primary machine, and use a mobile device as a "read-only client". Because of this workflow, I like the automatic push functionality provided by core.autosync, but I do not like the automatic syncing with all remotes feature provided by the same configuration option.
I propose splitting core.autosync into two configuration options:

core.autopush to control whether or not to push after a new commit is made
core.autosync to control whether or not to automatically sync with all remotes

I forgot to mention that I know this can currently be accomplished through setting core.autosync = false and configuring {create,delete,edit}.hooks, but this feels non-optimal due to the configuration overhead.

IMHO this should be configurable per mounted store.


Provide a Way to Edit AndroidManifest.xml

This is just a feature request based on some of the difficulties I have had lately working with Android modules.
It would be interesting to have a way to edit the entire AndroidManifest.xml file and not just some specific fields (package name, some permissions, etc) as it does today. This way, the user can have more control over more specific cases that which were not initially foreseen.
Today, modules like GPGS need to be recompiled for every app because it has to have the app id inserted on the AndroidManifest and it's a real pain to maintain serveral apps this way.
I'm unable to update the Admob module because in the Google SDK latest versions a provider authority is auto inserted in the final AndroidManifest:
<provider android:authorities="com.godot.game.mobileadsinitprovider" android:exported="false" android:initOrder="100" android:name="com.google.android.gms.ads.MobileAdsInitProvider"/>
Which is a problem, because two apps can't have the same value, but it's impossible to change it without hack the gradle build files. Even if it was a easy way to edit the gradle files before compiling the template, we would be in the same situation as GPGS, one compilation per app.

This is now possible in the new Android exporting system, closing. See Custom builds for Android in the docuimentation.
See also #6800.