terrascan: 1.19.2 -> 1.19.8

Diff: https://github.com/accurics/terrascan/compare/refs/tags/v1.19.2...v1.19.8
Changelog: https://github.com/tenable/terrascan/blob/v1.19.8/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 341334 run on x86_64-linux 1

1 package built:

terrascan


CHEBI:59482 and 77598 look identical

Perhaps a candidate for merging?

Now merged. Thanks

Now merged. Thanks


android.security.keystore.AndroidKeyStoreSecretKey cannot be cast to java.security.PrivateKey

Upon calling any function inside the Asymmetric key generation screen it gives this error "android.security.keystore.AndroidKeyStoreSecretKey cannot be cast to java.security.PrivateKey" on all of the methods like "getOrCreateAsymmetricKey, isKeyExists" etc.

I couldn't reproduce it. Any detailed info to reproduce?


Add Multi-Session/Contrasts Support to Ivadomed

Checklist
GitHub

[X] I've given this PR a concise, self-descriptive, and meaningful title
[X] I've linked relevant issues in the PR body
[x] I've applied the relevant labels to this PR
[ ] I've assigned a reviewer

PR contents

[X] I've consulted ivadomed's internal developer documentation to ensure my contribution is in line with any relevant design decisions
[X] I've added relevant tests for my contribution
[ ] I've updated the relevant documentation for my changes, including argparse descriptions, docstrings, and ReadTheDocs tutorial pages

Description

This PR is the first attempt address multi-session and contrasts compatibility issue to the existing ivadomed process by significantly overhaul the
Preamble

This PR fundamentally change the nature of how indexing of the derivatives files work. Those changes are concentrated in the ivadomed/loader/bids_dataframe.py with its significantly revised multi stage filtering process for bids dataframes. Before examining the detailed changes, I recommend to review the new unit tests at test_loader_multi to see if those cases and the expected output (which you can get form the data_test_multi repo linked here:
https://github.com/MotionCorrect/data_multi-sessions-contrasts/archive/refs/tags/v2022-01-06.zip
Beside that, this PR also add a few minor things here and there that was used to help develop it

Add stepping debugging unit test to automate_training to enable step wise debugging by calling its core function directly instead of via CLI/API to enable easier debugging during development
Adopt pytest-cases for easier test case scenario management process. Another PR is being prepared by @konantian to revamp it for ALL unit/functional tests to streamline the adopt the pytest-cases. https://github.com/ivadomed/ivadomed/pull/1071
Adopt standardized input tracing to allow printing of loader parameter during development process WHILE showing nothing to end user without any code change by leveraging Loguru's environmental variable

Update to Download Script

Note that for this PR to be reviewed while minimizing interruptions to the data testing repos (both regular one at https://github.com/MotionCorrect/data-testing/archive/refs/tags/r20220116.zip and https://github.com/MotionCorrect/data_multi-sessions-contrasts/archive/refs/tags/v2022-01-06.zip release versions are used instead.
The download scripts have been temporarily updated to point to these two sources to enable download/testing. When PR is approved here before merging, those two data repos will be created and the download script URL will be updated accordingly.

How to test

Clone down the source branch
Reinstall requirement_dev.txt
Make sure all local unit test are passing
Review the newly added unit tests in the testing/unit_tests/test_loader_multi.py and see if those cases are providing expected output.
Discuss about what you like and what you don't like. ESPECIALLY CHECK IF THE TEST CASES behave not as you expected (i.e. no need to dig into the lower level code at implementation level if at behavioral level if you don't agree with it)
Bring any cause for concern to the ivadomed meeting

Major Components to Be Reviewed in Detail Once Indexing Behaviour is Agreed:

ivadomed/loader/bids_dataframe.py

Significantly refactored and updated.
create_bids_dataframe has been significantly changed  such that there are now THREE passes over the data set to refine the data frame:

first: self.first_inclusive_pass_data_frame_creation()
second: self.second_exclusive_pass_dataframe_creation_removing_subjects_without_derivatives(self.df)
third: self.third_exclusive_pass_df_creation_check_modalities_sessions_combinations(self.df)

ivadomed/loader/bids_dataset.py

Significantly refactored and updated.
Refactored and created: validate_derivative_path_to_update_target_filename function
Refactored and create_filename_pair() function

ivadomed/main.py

Session specific handling added from ~285 onwards

ivadomed/utils.py

adding similarity score metrics to help conduct string comparisons used to distinguish multiple similar ground truth files if they exist.

Testing Related Major Changes

ivadomed/scripts/download_data.py

Added data_testing and added data_multi_testing
To be updated in follow up PR to use official ivadomed data-testing and data-multi-session-contrasts testing releases once main master PR has been merged.

requirements_dev.txt

adding pytest-cases used in data_multi_testing related unit testing processes.

testing/common_testing_util.py

Add a common function to compare dataframe comparison frameworks
Add a generic method for generating common/default config FROM the config.json file via dictionary overloading to update the default template

testing/functional_tests/test_automate_training.py

Add an ability to step into the high level organized script and its underlying function calls of automated_training, enabling its step wise debugging functionalities (normal unit tests call a script via CLI and cannot be stepped into.

testing/unit_tests/test_loader_multi.py

Add pytest-case based case-specific driven testing for multi-contrast/multi-session unit testing for several major foreseeable scenarios with the varying inclusion of ground truth, sessions and contrast.

testing/unit_tests/cases_multi_ground_truth.py

Defining cases for single, multiple, null, undefined ground truth specification in loader parameters.

testing/unit_tests/cases_multi_sessions.py

Defining cases for single, multiple, null, undefined sessions specification in loader parameters.

testing/unit_tests/cases_multi_contrasts.py

Defining cases for single, multiple, null, undefined contrasts specification in loader parameters.

testing/unit_tests/t_utils.py

Add pytest fixtures to automatically download multi-session/contrasts related data.

Linked issues

Relevant issues:

#788
#808
#1009
and other issues listed under Project 5: https://github.com/ivadomed/ivadomed/projects/5

I have asked @konantian to do a first pass check to spot any major issues and improve readability and clarity before going further opening for wider reviews. Sorry this PR is rather large because many parts all have to be updated together in order for it to work.
I will provide more play by play explanation of the major changes to facilitate the review processes.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

292 of 352 (82.95%)  changed or added relevant lines in 8 files are covered.
5 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.6%) to 69.643%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ivadomed/loader/bids_dataset.py
77
91
84.62%

ivadomed/loader/bids_dataframe.py
197
212
92.92%

ivadomed/main.py
3
34
8.82%

Files with Coverage Reduction
New Missed Lines
%

ivadomed/main.py
1
15.31%

ivadomed/loader/bids_dataset.py
4
81.82%

Totals

Change from base Build<PHONE_NUMBER>:
0.6%

Covered Lines:
4212

Relevant Lines:
6048

💛  - Coveralls

Is the dataframe structure of BidsDataframe class defined anywhere? By structure, I mean the fields that have to be there and the ones that can optionally be present.
Could we allow the user to create that object by themselves from their dataset?
Do we have a function to combine 2 BidsDataframes?

If yes, to use multiple datasets, we could create the BidsDataframe for each dataset and combine them, before training on all the data.
If no, we could create it to use multiple datasets simultaneously.


Statement is not Send

Despite the use of Arc, the Statement struct cannot be sent between threads as it uses RefCell twice:
the trait bound std::cell::RefCell<std::option::Option<std::sync::Arc<tiberius::tokens::TokenColMetaData>>>: std::marker::Sync is not satisfied in tiberius::stmt::StatementInner
the trait bound std::cell::RefCell<std::option::Option<tiberius::stmt::StatementHandle>>: std::marker::Sync is not satisfied in tiberius::stmt::StatementInner

Let me know, if there are any further issues.
(Statement wasn't the only struct that was affected)

Thank you! Does it work properly if the same statement is used on different connections (probably in the same thread)?

It won't work for different connections in all cases right now.
That's still something I'll need to look into, before releasing a new version.

I wonder how it could be reflected in the API. Right now I don't use prepared statements at all since I run multiple concurrent connections (in the same thread).
BTW, I'd like to have my connection back in case of SQL syntax error or other SQL runtime error. Right now it is only returned in Ok().

It won't be any different in case of the API, just different internals binding a handle to a connection.

Do you mean binding to multiple connections at once?

@agalakhov
It's implemented in: eb20ac342b64f8f83924b9b1877c2b7229904a8d
Feel free to test!

Do you mean binding to multiple connections at once?

Prepared statements work lazily in tiberius.
If you prepare a statement, it actually does nothing.
On execution, it checks if a statement is prepared for that connection with the given query parameters.
If so, it reuses that handle, if not it does the acutal preparation (or a prepare_exec as an optimization, to be specific).
(If you pass a VARCHAR(10) as argument and one time an INT, tiberius needs to use different prepared statements under the hood, since the parameter types need to be specified when preparing)
So concluded: You can use statements across connections, threads, ... and tiberius will handle the preparation magically for you.

Thank you!
What I actually mean: if I do
let s1: Statement = s.clone();
let s2: Statement = s.clone();
conn1.query(s1, ...);
conn2.query(s2, ...);

I expect it to work.

Yeah sure. A statement is nothing connection-specific.
On execution it will check what needs to be prepared/used in the background, without
you needing to intervene, as expected.
So yeah, your example should work.


Redesign config file

Create a new issue to continue the discussion in https://github.com/openservicebrokerapi/osb-checker/pull/41.
I do think the config structure needs a redesign to make more sense, so that broker authors can customize it easier. The running order for these test cases is not obvious, e.g. deprovision is mixed into provisions in current config file but actually it runs after the binding cases below.
My proposal is that: each case focus on a service with a plan. Broker authors customize only a valid lifecycle and optional validations. For 4xx/5xx-code-expected cases, OSB checker should be able to generate them by itself e.g. the "conflict" scenario case in current config file -- it's not hard to generate invalid request body from an author-provided valid lifecycle.
Just draft a pseudo case for that:
{
  "name": "my abc service test",
  "service_id" :"blabla",
  "plan_id": "blabla",
  "organization_guid": "org-guid-here",
  "space_guid": "space-guid-here",
  "lifecycle": [
    {
      "operation": "provision",
      "async": true,
      "parameters": {
        "blabla": "blabla"
      },
    },
    {
      "operation": "update",
      "async": true,
      "parameters": {
        "blabla": "blabla"
      },
    },
    {
      "operation": "bind",
      "parameters": {
        "blabla": "blabla"
      },
      "expectedCredentialSchema": { // optional
        "blablakey": "<string>"
      }
    },
    {
      "operation": "unbind",
    },
    {
      "operation": "deprovision",
      "async": true
    }
  ]
}

More improvement can be done in this direction.
Of course test.js would need a big refactor to adjust these changes.

@mattmcneeney yes, I think service broker authors would be responsible for defining the configuration file, and the test suite would use the configuration file. At this point, it is the same to current design, isn't it?
Though getting catalog gives the schemas of the services, still we can't ensure we will input exactly valid provision parameters to create service instances. (Provision parameters could be required and complicated.) The configuration file is for the author to lead a successful provision. Then the checker can continue to test bind, unbind, update, and deprovision on the service instance just created. (At least the happy path lifecycle should succeed.) And different services provided by a service broker can behave different on all above. The authors can add cases for all the services if they like.
This is my understanding about OSB checker. And the redesign makes it easier to configure the checker to test against service brokers. Am I in the right direction?

This looks good to me. @kieron-pivotal - I know you tried to do this with the ODB broker. Do you have any thoughts top of mind as to what made this osb-checker difficult to integrate into your test pipelines?

@mattmcneeney - our main problem is the management of state on the broker in order for the test commands to act on real OD brokers / services. This means provisioning brokers and services and providing IDs to the osb-checker so that updates and deletes have the data required to provoke the correct response.
We would really need a comprehensive set of pre- and post- test hooks for setting up and tearing down the real broker side, which can also pass the required IDs into the tests dynamically.

I think this proposal would solve the questions, but it seems to missing the GetLastOperation test case. Like what #47 states, we should figure out how to guarantee the async operation be finished completely.

@leonwanghui it can be addressed by the flag async in the proposed example config. For example, if async is set to true in provision, OSB checker should expect response with 202 from the successful case, then it polls until getting state succeeded (or failed) to guarantee the async operation be finished completely.

@zhongyi-zhang I know the async flag would address the difference between sync and async operation, but what I mean is sometimes it would take mins to finish for async operation, and the test case should know when to execute next operation on the same service instance.

@leonwanghui I think that's what the test framework should solve, and the config file doesn't need to contain GetLastOperation (a.k.a. Poll). All the async operations can be always followed by poll in the test framework. It is an underlying test case for async operations.

Got it, thanks for your explanation : )

IMO it's time to close this issue : )


feat: named capturing groups

Summary
Implement named capturing groups.
API
capture('abc', { name: 'xyz' });

Test plan
Added relevant tests.

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

Comparison is base (8436953) 99.32% compared to head (a57f13c) 99.34%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #65      +/-   ##
==========================================
+ Coverage   99.32%   99.34%   +0.01%
==========================================
  Files          10       10
  Lines         149      152       +3
  Branches       40       41       +1
==========================================
+ Hits          148      151       +3
  Misses          1        1

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


Update to Scalafmt 2.0.0

Codecov Report

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

@@          Coverage Diff           @@
##           master    #131   +/-   ##
======================================
  Coverage    93.8%   93.8%
======================================
  Files           4       4
  Lines         113     113
  Branches        3       3
======================================
  Hits          106     106
  Misses          7       7

Impacted Files
Coverage Δ

...a/io/catbird/util/effect/RerunnableInstances.scala
96% <ø> (ø)
:arrow_up:

...il/src/main/scala/io/catbird/util/Rerunnable.scala
90.62% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Proposed statement condemning censorship

This is my own proposal.
If you agree to this being posted, please ""ACK 92228f2". If you would like to add your signature, please add your name + ACK in a comment i.e. "ACK 92228f2 (your name)"

ACK

ACK

Remember you need to add your names to the ACK if you want to add your name to the letter. Let's make it
"ACK statement 92228f2 (your name)"

ACK 92228f2488f8c9f3da8d284326ac12b1ec4d4f1e statement.

ACK 92228f2 (Johnson Lau, jl2012)

ACK statement 92228f2
https://github.com/bitcoin-core/website/commit/92228f2488f8c9f3da8d284326ac12b1ec4d4f1e
(Chris
Arnesen)
On Thu, Jan 21, 2016 at 8:35 AM ฿tcDrak<EMAIL_ADDRESS>wrote:

Remember you need to add your names to the ACK if you want to add your
name to the letter. Let's make it
"ACK statement 92228f2
https://github.com/bitcoin-core/website/commit/92228f2488f8c9f3da8d284326ac12b1ec4d4f1e
(your name)"
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-core/website/pull/57#issuecomment-173586369.

Being more specific on the behavior I think people I object to(as well as myself personally), as "censorship" is a misnomer to me in this case:
"Individuals in the Bitcoin community have the right in the proper venue to discuss civilly any and all changes to the system, and to critique these changes without silencing others."

Closing for alternative


Delete bower.io & some changes

Bower is dying:
https://github.com/bower/bower/issues/2298
and yarn remove its support:
https://github.com/yarnpkg/yarn/pull/1441
So we can simply include all from node_modules folder and get rid of bower 😉

You don't need to put all bootstrap js each line in gulpfile.js, just because bootstrap.js already contains all:
http://getbootstrap.com/javascript/#js-individual-compiled

jQuery need to be a first line to include in final compiled js to prevent this error:

Great work, thanks @Sogl ! 🍻


fix thumbnail mismatching problem when the player size changes especially in full screen

修复了播放器大小改变时缩略图错位的问题

I suggest that update barWidth in resize function.
offsetWidth is a low-performance api, and we don't need call it in every move, I think update barWidth only when we need it is a better idea.

…


Refresh BuildMessageCache

https://applab.atlassian.net/browse/NMS-209

lgtm. added alerts for empty message cache. will merge after build succeeds.


support the use of different C++ standard libraries

Please take a look of the issue in CI.

LGTM


rsmeter: distinguish between collectors and observers within recorder

What is changed and how it works?
ref #11691
close #11689
What's Changed:

Add as_observer as an argument to register Collector
Recorder as a runnable worker
Recorder runs only if existing Collector

Check List
Tests

Unit test
Integration test

Release note
none

/run-test

/cc @breeswish @mornyx

/merge

/merge

/merge


Scrollview invalidate visual while a pointer is pressed to avoid choppy behavior

When pointer input is uneven while scrolling, this would erraticaly flip caching preferences, leading to poor perceived performance in scrollviews. This fix makes sure visual is always invalidated while scrolling to keep cache preference consistent (and thus framerate consistent).
This PR contains:

[x] Changelog
[ ] Documentation
[ ] Tests

Is this the cause of the mysterious jump in the animation?
Perhaps that's why I couldn't reproduce it in simpler tests, it has to interact with caching in a particular way.

I don't think this one is the cause of the mysterious jump, this is to avoid unwanted caching on frames where you accidentially get no pointer events (although doing a smooth motion). this happens on Android and DotNet

@Duckers please fix the changelog, then we can merge this asap 🚨


Improve Google Analytics support

Backport of: https://github.com/apereo/cas/pull/5515

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

Thank you sir!


Addresses issue 3408 - Tween restart after completion bug

** >> Make sure you describe your PR to the README Change Log section! << **
This PR changes (delete as applicable)

Nothing, it's a bug fix

Describe the changes below:
Set the Tween back to active if it had already been removed, otherwise proceed as normal.

Squashed the commits and cleaned up the git log.


Version incompatibility when using custom FirebaseMessaging

SDK version: 1.0.0
Environment: Development
Are logs available?

No
Describe the bug
we are using the @react-native-firebase/messaging version ^15.7.0 for some custom push notifications. its not compatible with customerio-reactnative version ^1.0.0
error:
[!] CocoaPods could not find compatible versions for pod "FirebaseMessaging":
  In snapshot (Podfile.lock):
    FirebaseMessaging (= 10.0.0, ~> 10.0.0)

  In Podfile:
    CustomerIO/MessagingPushFCM (~> 1.2.5) was resolved to 1.2.5, which depends on
      CustomerIOMessagingPushFCM (= 1.2.5) was resolved to 1.2.5, which depends on
        FirebaseMessaging (~> 8.10.0)

    RNFBMessaging (from `../node_modules/@react-native-firebase/messaging`) was resolved to 15.7.1, which depends on
      Firebase/Messaging (= 10.0.0) was resolved to 10.0.0, which depends on
        FirebaseMessaging (~> 10.0.0)

You have either:
 * changed the constraints of dependency `FirebaseMessaging` inside your development pod `RNFBMessaging`.
   You should run `pod update FirebaseMessaging` to apply changes you've made.

also please note is had to use  pod "CustomerIO/MessagingPushFCM", "~> 1.2.5" since version 2 is not compatible with the v1.0.0 of the react-native SDK:
[!] CocoaPods could not find compatible versions for pod "CustomerIOTracking":
  In snapshot (Podfile.lock):
    CustomerIOTracking (= 1.2.7, ~> 1.2.0)

  In Podfile:
    CustomerIO/MessagingPushFCM (~> 2.0.0) was resolved to 2.0.0, which depends on
      CustomerIOMessagingPushFCM (= 2.0.0) was resolved to 2.0.0, which depends on
        CustomerIOMessagingPush (= 2.0.0) was resolved to 2.0.0, which depends on
          CustomerIOTracking (= 2.0.0)

    customerio-reactnative (from `../node_modules/customerio-reactnative`) was resolved to 1.0.0, which depends on
      CustomerIOMessagingInApp (~> 1.2.0) was resolved to 1.2.7, which depends on
        CustomerIOTracking (= 1.2.7)

    customerio-reactnative (from `../node_modules/customerio-reactnative`) was resolved to 1.0.0, which depends on
      CustomerIOTracking (~> 1.2.0)

You have either:
 * out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
 * changed the constraints of dependency `CustomerIOTracking` inside your development pod `customerio-reactnative`.
   You should run `pod update CustomerIOTracking` to apply changes you've made.

To Reproduce
Expected behavior
be able to install the MessagingPushFCM alongside FirebaseMessaging
Screenshots

Additional context

Hey @vanenshi, thank you for writing to us.
We have rolled out an alpha release for this.
Can you check if it resolves this issue.

Yes I just used the alpha release and it's working perfectly 🌹

Awesome, thanks for confirming, feel free to reach out in case you have more questions.


Convert family crest page

Add photo tables and pages.
Add sources.
Add translations.

Finished adding PDFs of sources, and images with separate pages.
Also added English translations of Dutch and German parts with help of deepl.


Runtime: add UnknownObject on non-ObjC builds

The UnknownObject type is used for the block convention block pointers.
This is used in libdispatch and we cannot build for Windows without it.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

CC: @jckarter @mikeash

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 5ee35666c4eb1b11f72070b162ab42f9e34623ff

This shouldn't be necessary. How does libdispatch work on Linux?

@jckarter pretty sure that it is getting away since not all symbols need to be fulfilled by default on ELF (-z defs is not the default).

FWIW, when I built the Swift Dispatch overlays on Windows against DrPizza's libdispatch port I didn't need to make any compiler changes, although I did need to enable support for and link in the Blocks runtime to the libdispatch library. I'm not sure what's different to cause you to need changes here.

@troughton this is specifically the SDK overlay which is not part of that port I believe.
@jckarter btw, this is a smaller reduced case:
class C {
  var _block: @convention(block) () -> Void
  init(block: @escaping @convention(block) () -> Void) {
    self._block = block
  }
}

You're correct in that Linux for some reason does not generate that reference!  The reference is generated in the type metadata completion function for C.  I don't see that being generated on Linux for some reason?

If it helps to narrow down the problem:
By the Dispatch overlays I mean that these files, along with the C stubs reimplemented in https://github.com/troughton/SwiftFrameGraph/blob/d008724c7fdc8af525d484ee074d855c2017676b/Sources/WindowsOverlays/CFoundationExtras/DispatchStubs.cc.
When linked against the Windows SDK and built for x64 Windows this did not require any compiler changes against a Swift 4.1 toolchain.

@jckarter I wonder if this is a result of the lazy initialized metadata ... which may now emit the completion function for the initialization?

@compnerd Are you sure it's not only looking for the value witness table?

I see. It would be nice to only include the value witness table, but that's splitting hairs a bit.

@swift-ci please test macOS platform

Build failed
Swift Test OS X Platform
Git Sha - 5ee35666c4eb1b11f72070b162ab42f9e34623ff

@swift-ci please clean test macOS platform


TypeError: 'NoneType' object is not subscriptable

Any insight in what is causing this error would be appreciated. Thanks,
Arkadiy
Command: python /data/MAB/bin/DeepMod2/deepmod2 detect-guppy --threads 24 --fast5 ../../../fast5_pass/single_barcode12 --ref assembly.fasta --bam assembly.bam

RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
2023-04-07 18:34:06.018981: Number of files: 110340

2023-04-07 18:34:06.078891: Processing BAM File.
2023-04-07 18:44:13.873240: Finished Processing BAM File.
2023-04-07 18:44:13.873400: Starting Per Read Methylation Detection.
2023-04-07 18:44:17.356034: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  SSE4.1 SSE4.2 AVX AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
  File "/data/MAB/miniconda3/envs/deepmod2/lib/python3.9/multiprocessing/pool.py", line 125, in worker
    result = (True, func(*args, **kwds))
  File "/data/MAB/bin/DeepMod2/src/guppy.py", line 176, in detect
    base_level_data, seq_len, mean_qscore, sequence_length = get_read_signal(read, params['guppy_group'])
  File "/data/MAB/bin/DeepMod2/src/guppy.py", line 121, in get_read_signal
    segment=read.get_analysis_attributes(guppy_group)['segmentation']
TypeError: 'NoneType' object is not subscriptable
"""

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/data/MAB/bin/DeepMod2/deepmod2", line 150, in <module>
    run(params)
  File "/data/MAB/bin/DeepMod2/deepmod2", line 11, in run
    read_pred_file=modDetect.per_read_predict(params)
  File "/data/MAB/bin/DeepMod2/src/modDetect.py", line 59, in per_read_predict
    file_list=[file_name for file_name in res]
  File "/data/MAB/bin/DeepMod2/src/modDetect.py", line 59, in <listcomp>
    file_list=[file_name for file_name in res]
  File "/data/MAB/miniconda3/envs/deepmod2/lib/python3.9/multiprocessing/pool.py", line 870, in next
    raise value
TypeError: 'NoneType' object is not subscriptable

You might want to check out https://github.com/WGLab/DeepMod2/issues/9

Hi,
It seems like your FAST5 files do not contain move tables. How did you basecall these files?


Insider Rel v1.6.1 may have broken the plugin

When resizing a pane, elements are stretched off the edge. If I switch off the plugin, the issue goes away

Can you upload a snapshot? It seems work in v1.6.3 for me.

I disabled it. I will re-enable and if it does it again I will do so
Thanks


progress-stacked classes missing

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
It looks like classes for multi progress bars are missing from 5.2.3.
https://getbootstrap.com/docs/5.3/components/progress/#multiple-bars
It looks like main has the missing classes.
Reduced test cases
Probably just a quick release to add missing classes.
What operating system(s) are you seeing the problem on?
Linux
What browser(s) are you seeing the problem on?
Chrome, Safari, Firefox, Microsoft Edge
What version of Bootstrap are you using?
5.2.3

Hey @jedgar1mx
The link you're providing is the v5.3-alpha1 so the doc is talking about the new way of handling multi-progress bars in this v5.3-alpha1: https://getbootstrap.com/docs/5.3/migration/#progress-bars.
So, indeed, classes are new and not in v5.2.3.

Ahh thanks for the clarification I see that now. It looks like the default docs on bootstrap.com are the 5.3 but the default package pulled with npm is 5.2.3. Just FYI

Yes, it's not very handy I agree. Unfortunately, we don't have another way of doing it for now when we have alpha versions. Sorry for the inconvenience :)
Closing this issue.


"Script plugin" is executed regardless of certificate receipt

"Script plugin" is always executed even when the certificate has not been received/renewed.
2019-10-18 09:00:17.496 +07:00 [INF] Software version <IP_ADDRESS>2 (RELEASE, PLUGGABLE) started
2019-10-18 09:00:27.341 +07:00 [INF] Renewing certificate for [Manual] example.com
2019-10-18 09:00:47.064 +07:00 [INF] Script D:\WEB\letsencrypt\win-acme\restart_service.cmd starting
2019-10-18 09:01:09.553 +07:00 [INF] Next renewal scheduled at "2019-12-12T09:00:45.8817262+07:00"
2019-10-18 09:01:09.693 +07:00 [INF] Renewal for [Manual] example.com succeeded

First running parameters:
wacs.exe --target manual --commonname example.com --host example.com,*.example.com --validationmode dns-01 --validation dnsscript --dnsscript D:\WEB\letsencrypt\win-acme\yandex\dns_acme-challenge2.bat --store centralssl,pemfiles --pemfilespath D:\WEB\letsencrypt\cert --centralsslstore D:\WEB\letsencrypt\cert --pfxpassword 1qazZAQ! --installation script --script D:\WEB\letsencrypt\win-acme\restart_service.cmd --emailaddress<EMAIL_ADDRESS>--accepttos

In the documentation it was written (as far as I understand) that the script is started only after the certificate has been updated/put out, but it is always started.

It seems to be solved in v2.1.0-beta3a


fix: update grouped expense on search page

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/44131
PROPOSAL: https://github.com/Expensify/App/issues/44131#issuecomment-2183951126
Tests

Open /search/shared?sortBy=date&sortOrder=desc
Verify:

[x] With the grouped expenses title: Don't use bold for the report title, use the same font as everywhere else
[x] With the grouped expenses title: There is no HR line that is above the expenses and below the title
[x] There is no X grouped expenses text
[x] The expense type icon is on the left of the row
[x] The View button has no background color and the text's color is link color.
[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Looks like we have some misalignment happening with the total column at the top:

For the blue-link style "View" buttons, we only want to use that style for the children expenses of a report grouping:

From the mocks:

@shawnborton to confirm, but I thought we would always use one of our standard buttons in the "report header" of the grouped expenses?

Like in this mock:

@dannymcclain I totally agree, that's what I tried to point out in my mock at the bottom of this comment.

View button still has hover background. @shawnborton can you confirm if that's what we want? I'd think we'd only change the text color on hover.

Good catch, I don't think it should have a background. This "link style" button should just get our link hover color for the button text on hover.

You should be able to find it easily, it’s the same variable we use for
when links are hovered.
On Wed, Jul 3, 2024 at 1:17 PM Dominic @.***> wrote:

Good catch, I don't think it should have a background. This "link style"
button should just get our link hover color for the button text on hover.
@shawnborton https://github.com/shawnborton Can you give me the hover
color for the text in this case?
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/44674#issuecomment-2205837023, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AARWH5TY4ADD5SS6PHBCIXLZKPMVFAVCNFSM6AAAAABKFKMFIGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBVHAZTOMBSGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

Check our theme files out - both themes have linkHover values.

Yeah, it might make more sense to make the "link button" style use regular weight font like most of our links do. Any strong thoughts there @Expensify/design? Quick comparison here:

I prefer the normal weight Label text quite a bit. I think it helps separate those actions from the button actions (which IMO is a good thing here) and since this page is so info-dense already, it feels like the less things trying to grab my eyes' attention the better.

Okay cool, @dominictb let's try with regular font weight and see how it feels. Thanks!

Not sure what happened but there seems to be a lot of extra space on the right side of each row?

The other changes are looking pretty good though! Going to run a test build as well.

Actually that extra space on the right is not related to this PR, I will follow up with a separate bug report for that.

We need to take a similar approach for "Paid" reports too - we should just have one "Paid" status at the very top row, and then all of the children rows would just get a "View" button:

Another small request: for the wrapper that wraps the top "header" content of a grouping, can we give that a minimum height of 40px so it keeps its vertical rhythm with the rest of the rows, which are 40px tall? So basically like this:

Nice, this is looking great! Going to spin up one last test build for us too.

Looks pretty good but why is the font size of the "View" link button 11px? It should be the same exact size as our other "normal" or "medium" buttons, which is 13px.

Yeah to echo some of Carlos's comments, the "link style" button should basically be similar to our default button component, but it just has:

transparent BG
different font weight

But ideally it works the same as the other buttons, meaning it might small (28px tall/11px font), medium (40px tall, 13px font), or large (52px tall, 15px font). Let me know if that makes sense.

That being said, it looks good from my testing - we just need to address the code comments.

@dominictb bump on the comments above and we also have conflicts

@sobitneupane did you get a chance to review this one yet?

@dominictb we have conflicts again

@dominictb Overall change is looking good. But looks like you have mistakenly removed the status like "Paid" and "Done" and View button from small screen.

We want the View button to be gone from small screens, but we don't want to remove the status (Paid, Done).

Icon in front of categories and probably tag are missing.
PR:
Staging:

We purposely removed the icons. I think we actually did that in a separate PR.

So, code looks good and tests well except this case. Once we add the status back, we should be good to merge the PR.

Feels good to me! Let's get this into final review!

Actually sorry, one thing I am noticing is that it seems like the checkboxes are aligned slightly differently when there is grouped expenses vs when there isn't. Can you take a look?

I think maybe the grouped expenses have 4px of extra horizontal padding?

I think we want 12px here so it matches the individual expense rows. Thanks!

Much better, thank you!

@dominictb we have conflicts again. @sobitneupane could you please review this one once conflicts are resolved? Let's try to get this one merged today.

Nice, this feels pretty good to me - hopefully we can get this merged today!

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/luacmartins in version: 9.0.7-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@dominictb @shawnborton @luacmartins Do we need to QA this PR? Can you pls provide QA steps if Yes

🚀 Cherry-picked to staging by https://github.com/thienlnam in version: 9.0.7-4 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.7-8 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 9.0.8-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


[Versioning] Set version to 0.0.1-alpha.

Description of changes
Set version to 0.0.1-alpha.
This is a required preliminary step to validate the release workflow.
Tests

Provider installed with version 0.0.1-alpha
Provider 0.0.1-alpha consumed by successfully executing end2end test creating a cluster.

Checklist
By submitting the PR you confirm that you are going to do what follows before merging your code.

I have read CONTRIBUTING.
I have made the PR point to the right branch.
I have added the right labels to the PR.
I have checked that all commits' messages are clear, describing what and why vs how.
I have successfully executed lint and tests to prove the quality and correctness of the change.
I have added tests to validate the proposed change.
I have added the documentation to describe my changes (if appropriate).
I have added the necessary entries to the changelog (if appropriate).
Any dependent changes have been merged and published in downstream modules.

Please review the guidelines for contributing and Pull Request Instructions.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Closed in favour of https://github.com/aws-tf/terraform-provider-aws-parallelcluster/pull/101


Docs: Clarify usage of Marketing button

We should add a description to our docs to explain when the marketing button should be used. We currently only mention the primary, secondary and danger
https://react-magma.cengage.com/version/3.1.2/design/button/#button_colors

Included these updates with the design docs for subtle button.


[k8s-runtime] Fix TypeError: 'NoneType' object is not callable error when deleting storage class

Fix k8s-runtime storage class deletion issue https://github.com/Azure/aaz-dev-tools/issues/331 by updating aaz-dev to https://github.com/Azure/aaz-dev-tools/pull/334 and regenerating commands.

This checklist is used to make sure that common guidelines for a pull request are followed.
Related command

General Guidelines

[x] Have you run azdev style <YOUR_EXT> locally? (pip install azdev required)
[x] Have you run python scripts/ci/test_index.py -q locally? (pip install wheel==0.30.0 required)
[x] My extension version conforms to the Extension version schema

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
You only need to update the version information in file setup.py and historical information in file HISTORY.rst in your PR but do not modify src/index.json.

Hello, is there anything I should do to get this PR merged?

please add a test for this fix to check if it could meet the expectation.

A test is added for the changed storage-class delete command.

Hello, is there anything I should do to get this PR merged?

Hello, is there anything I should do to get this PR merged?

Hello, is there anything I should do to get this PR merged?

Hello, is there anything I should do to get this PR merged?

/azp run


Add support for integrity and crossorigin attributes

The external_scripts and external_stylesheets arguments for Dash for R currently lack support for attributes permitted in Dash for Python:

integrity
crossorigin

These should be added for parity with the Python implementation of Dash. The HTML5 specification provides for a rich set of possible attributes for <link> and <script> tags:
<link> attributes:

as
crossorigin
disabled
href
hreflang
importance
integrity
media
referrerpolicy
rel
sizes
title
type
methods
prefetch
target

<script> attributes:

async
crossorigin
defer
integrity
nomodule
nonce
referrerpolicy
src
type

Closed by #226


Can not beautify selected PHP script

Can not beautify selected PHP script (only selection, not whole file)
but when I add <? to my selection, it will do
thanks

Could you run Atom Beautify -  Help Debug Editor on the file that is not working for you, without <?. Let me know results.
It is likely a problem with one of the PHP beautifiers, such as PHP-CS-Fixer. Which beautifier for PHP are you using? For PHP-CS-Fixer, I'd recommend talking to https://github.com/FriendsOfPHP/PHP-CS-Fixer

When I debug, Original File Contents: contains whole file instead of selected only
Yup, I'm using PHP-CS-Fixer

In a selection you would probably have to add php tags (<?php) - unless you do this it's not considered PHP code. Maybe that's also the reason why it works with <?, because this is the (not recommend) short style PHP tag.
Additionally php-cs-fixer does not seem to be intended to only fix a selection of a file as you can see from the reply there:

You could fix file, you cannot fix selected part of it.
We use tokenizer to analyse code, and it cannot work on random part of it.

I think this issue can be closed.


Rails 5, Devise 4.2.0 "undefined method" errors from config in devise.rb

I'm having an issue with 3 config options in my app. The following 3 config options cause "undefined method..." errors:
config.direct_otp_valid_for
config.direct_otp_length
config.second_factor_resource_id

Commenting out those three lines in my devise.rb initializer file allows the app to start, but I'm not sure if this breaks anything. Will look into it further.
Here's the full error message I get when starting the server:
=> Booting Puma
=> Rails <IP_ADDRESS> application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Exiting
/Users/dude/Work/myapp/config/initializers/devise.rb:338:in `block in <top (required)>': undefined method `second_factor_resource_id=' for Devise:Module (NoMethodError)
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/devise-4.2.0/lib/devise.rb:292:in `setup'
	from /Users/dude/Work/myapp/config/initializers/devise.rb:3:in `<top (required)>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:287:in `load'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:287:in `block in load'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:259:in `load_dependency'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:287:in `load'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:648:in `block in load_config_initializer'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/activesupport-<IP_ADDRESS>/lib/active_support/notifications.rb:166:in `instrument'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:647:in `load_config_initializer'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:612:in `block (2 levels) in <class:Engine>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:611:in `each'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:611:in `block in <class:Engine>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:30:in `instance_exec'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:30:in `run'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:55:in `block in run_initializers'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:226:in `block in tsort_each'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:348:in `block (2 levels) in each_strongly_connected_component'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:420:in `block (2 levels) in each_strongly_connected_component_from'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:429:in `each_strongly_connected_component_from'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:419:in `block in each_strongly_connected_component_from'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:44:in `each'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:44:in `tsort_each_child'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:413:in `call'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:413:in `each_strongly_connected_component_from'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:347:in `block in each_strongly_connected_component'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `each'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `call'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:345:in `each_strongly_connected_component'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:224:in `tsort_each'
	from /Users/dude/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/tsort.rb:203:in `tsort_each'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/initializable.rb:54:in `run_initializers'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/application.rb:352:in `initialize!'
	from /Users/dude/Work/myapp/config/environment.rb:5:in `<top (required)>'
	from /Users/dude/Work/myapp/config.ru:3:in `require_relative'
	from /Users/dude/Work/myapp/config.ru:3:in `block in <main>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/builder.rb:55:in `instance_eval'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/builder.rb:55:in `initialize'
	from /Users/dude/Work/myapp/config.ru:in `new'
	from /Users/dude/Work/myapp/config.ru:in `<main>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/builder.rb:49:in `eval'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/builder.rb:49:in `new_from_string'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/builder.rb:40:in `parse_file'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/server.rb:318:in `build_app_and_options_from_config'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/server.rb:218:in `app'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/server.rb:59:in `app'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/rack-2.0.1/lib/rack/server.rb:353:in `wrapped_app'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/server.rb:124:in `log_to_stdout'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/server.rb:77:in `start'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:90:in `block in server'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:85:in `tap'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:85:in `server'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:18:in `<top (required)>'
	from /Users/dude/Work/myapp/bin/rails:9:in `require'
	from /Users/dude/Work/myapp/bin/rails:9:in `<top (required)>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `load'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/client/rails.rb:28:in `call'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/client/command.rb:7:in `call'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/client.rb:30:in `run'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/bin/spring:49:in `<top (required)>'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `load'
	from /Users/dude/.rvm/gems/ruby-2.2.2/gems/spring-1.7.2/lib/spring/binstub.rb:11:in `<top (required)>'
	from /Users/dude/Work/myapp/bin/spring:13:in `require'
	from /Users/dude/Work/myapp/bin/spring:13:in `<top (required)>'
	from bin/rails:3:in `load'
	from bin/rails:3:in `<main>'

Any ideas? Or advice?
Thanks for your time!

I used the github repo in my Gemfile an these errors went away.


Files should not have colons in their filename

DocC currently generates filenames containing the Swift method names of the code that is being documented. These frequently contain the colon character.
This character is disallowed on Windows. Therefore, we should generate filenames with a different character in its place, and ensure all links/URLs throughout the generated documentation respect the new convention.
Expected behavior
All characters in filenames generated by DocC are valid characters on major filesystems used by Windows, MacOS and Linux.
Actual behavior
Filenames contain colons, which are not valid on Windows.
Steps to Reproduce
Generate DocC documentation, using transform for static hosting. Observe the filenames of files that document Swift methods that contain at least one parameter.
Swift-DocC Version Information
Swift-DocC version:
The version shipped with Xcode 13.4.0
Swift Compiler version:
swift-driver version: 1.45.2 Apple Swift version 5.6.1 (swiftlang-<IP_ADDRESS>3.66 clang-13<IP_ADDRESS>)
Target: x86_64-apple-macosx12.0

Thank you for filing this @amyworrall! Some additional context here: https://forums.swift.org/t/docc-colons-in-filenames/57917.

@ethan-kusters - this is now blocking progress on supporting Windows.  What would be the best place to perform the substitution?  FileSafeURL?  I am tempted with going with the simplistic approach of replacing invalid characters ([<>:"/|?*\\]) with _.

CC: @d-ronnqvist.
I think FileSafeURL is likely the right place but David has more context here. How are you thinking of implementing this? It's likely worth starting a new forums thread so we can discuss further.
I can imagine a handful of approaches:

Just enable this new mode when building on Windows.
Create a new flag that can be passed to docc convert to enable this new mode. (and maybe also enable it by default on Windows)
Make this the new way all DocC web urls are created – regardless of build/server platform

My concerns here are generally the same as before - I think the Web URLs are much more readable with the colons so I'd personally rather leave this as opt-in and likely enabled by default on Windows for local development builds. But it would be good to get the input of the community here.

I don't know anything about the Windows file system or how a web server on Windows handles requests but my main question to determine the right change would be:

is it only the file URL that need to change or does the path of the web URL also need to change so that the server can route the request and load the expected file?

If it's only the file URL that need to change then FileSafeURL is probably a good place for it. This is likely going to be small in scope.
If the web URL also need to change then there's both more places in the code that would need to be updated and there are new questions about the user experience that would need to be discussed in the Swift Forums. Readability of the web URLs is an important factor but there's also many thousands of documentation pages that have colons in their URLs today that would break—both to system that link directly to their web URL and to systems that inspect the DocC "linkable entities" file.

If it's only the file URL that need to change then FileSafeURL is probably a good place for it. This is likely going to be small in scope.

I think changing the file URL would also affect the web URL at least for deployments relying on static file server hosting.

@d-ronnqvist yes, the url path itself would have to change as the : would no longer be in the file name and the web server needs to route the request accordingly.
@ethan-kusters while I understand that it's easier url to read, having the additional path is something I would prefer to not have.  Perhaps an alternative would be to opt out of the unsafe character substitution by a flag?


error occurred: Failed to find tool. Is c++ installed?

There seems to be an error when attempting to build/run on Linux (Linuxmint 20) related to spirv-reflect. I have attached the output i'm getting when trying to run my project.
error.txt

Do you have a C++ compiler installed -- e.g., what is the output of g++ --version or clang++ --version?
If neither are found, sudo apt install g++ might be all that is needed. If that works, we can add a note to https://github.com/bevyengine/bevy/blob/master/docs/linux_dependencies.md

It builds after installing g++. Thank you for the help. I had assumed gcc would work, though i guess it doesn't.

Fixed in #1874, as @MinerSebas noticed <3


How to evaluate model with current weights?

Hi,
While I am running a pretrained CRDNN model, I finetune it on some data with .fit() method. Then, I would like to see its performance with .evaluate() function.
However, when I run the evaluate() function the log is something like this:
  0%|          | 0/16 [00:00<?, ?it/s]
  6%|▋         | 1/16 [00:22<05:42, 22.84s/it]
 12%|█▎        | 2/16 [00:29<03:03, 13.12s/it]
 19%|█▉        | 3/16 [00:54<04:04, 18.84s/it]
 25%|██▌       | 4/16 [01:21<04:23, 21.98s/it]
 31%|███▏      | 5/16 [01:47<04:18, 23.45s/it]
 38%|███▊      | 6/16 [02:17<04:17, 25.71s/it]
 44%|████▍     | 7/16 [02:43<03:50, 25.65s/it]
 50%|█████     | 8/16 [03:11<03:31, 26.41s/it]
 56%|█████▋    | 9/16 [03:20<02:27, 21.08s/it]
 62%|██████▎   | 10/16 [03:26<01:37, 16.31s/it]
 69%|██████▉   | 11/16 [03:40<01:17, 15.56s/it]
 75%|███████▌  | 12/16 [04:08<01:18, 19.58s/it]
 81%|████████▏ | 13/16 [04:38<01:08, 22.67s/it]
 88%|████████▊ | 14/16 [04:50<00:38, 19.27s/it]
 94%|█████████▍| 15/16 [04:57<00:15, 15.83s/it]
100%|██████████| 16/16 [05:35<00:00, 22.38s/it]
100%|██████████| 16/16 [05:35<00:00, 20.98s/it]
speechbrain.utils.train_logger - Epoch loaded: 15 - test loss: 1.50, test CER: 31.43, test WER: 37.69

As you can see, it seems that model is evaluated on Epoch 15 which probably indicates that it loads weights from that epoch instead of using the weights which have just been finetuned. Whenever I do this finetuning and then evaluate(), the scores are exactly the same (up to 8 decimal digits). How do I overcome that?
TLDR; I want to use current weights with .evaluate() function, not with weights loaded from best epoch. How do I achieve that?

Hi @TParcollet, do you perhaps know how to overcome that? :)

Hi @KacperKubara, yes I do. However, let me first redirect you to the corresponding tutorial as you could learn much more than just this feature from our checkpointer ;-)

Ok, nice thanks!

Alright, but I guess my questions is then how can I turn off the checkpoint loading when I trigger the evaulate() function from Brain class?
Should i delete the checkpointer with del brain.checkpointer, or do brain.checkpointer.delete_checkpoints(num_to_keep=0) ?

I will let our Master of checkpoints @Gastron answer here. I guess he is in vacation though.

(In practice, you can, I believe, just pass an argument that forces to use the latest instead of the best using the keys).

brain.checkpointer=None works.
I looked over the source code for  brain.checkpointer.delete_checkpoints(num_to_keep=0) but this delets the checkpoints from the directory which is not exactly what I want to do.


Deploy lecture

Did you mean to open this on the Fullstack repo? There are references to the 1706 repo in here.


Location cleanup for python conversion

Explicitly denoting new types
Removing in expression switch statements
Adding more named parameters

The first two are things that unfortunately the Roslyn conversion library I've been testing out with doesn't support, so I figured I'd make those changes and do a bit of updates to provide consistency with the named parameters.

Oh, don't forget about that .editorconfig change if that's possible. Having a IDE warning or error for this would be preferable to finding out the Python thing didn't work afterwards.

Sure thing. I'll see if it's something we can set in specific files/folders. Not sure if this is something we'd want globally or not as I'll only be converting region files and a few other specific files.
In the very least, I think I should be able to add some unit tests to be able to make sure that the Python conversion works successfully or not.

As it's feeling increasingly likely that Archipelago won't happen, I think it's good to go ahead and merge these changes. I think they're still useful as they introduce a bit more consistency and makes things more maintainable. But, since there are no hard requirements for a python conversion, I think we can forgo the editor configs to enforce things like not using new().

Agreed.


Is it possible to track app installation?

When user clicks/taps a Facebook ad, it will redirect to App Store/Playstore, is it possible to track the app installation using this plugin?

I have a PR that has deep links and deferred deep links working in my app. We track installations using those.

did you manage to make this plugin work on Nativescript 7? is this an active plugin?

Yes it's working in our app that has been upgraded to NS 7.


Forecaster interface: getting in-sample forecasts, getting residuals

Is your feature request related to a problem? Please describe.
I think there should be a method or property to obtain in-sample fitted value or residuals, which are important in many forecasting methods, such as forecast combination.
Describe the solution you'd like
Add a method or property to BaseForecaster and it should be implemented for every forecaster.
Additional context
A traditional forecast combination method based on variance of in-sample residuals.

Ok, I think there are two requests in there, and a proposed way of addressing these.
The two requests: residuals and in-sample values.
Regarding residuals, I fully agree that there should be an easy way to return them!
But, I don't think this is a concern of the BaseForecaster.
There also already is a way to obtain residuals from a forecaster, it's the Detrender - simply detrend with the forecaster you would like to get residuals of - it's a transformer, and the output gives you the residuals.
Perhaps we should say this in the forecasting tutorial, since it's not obvious from the name "detrender"?
Regarding in-sample fitted values: Is this not what you would get when you run predict at the values that have already been seen? Simply pass a fixed forecasting horizon with the indices that you've observed.
forecaster.fit(y).predict(fh=y.index) or forecaster.fit(y, fh=y.index).predict(). Does this work for you?
What I'm wondering, should there perhaps be a fit_predict(y), which, if fh is not passed, defaults to in-sample forecasts, i.e., fh=y.index?
Feedback on whether it is what you need, or whether it's "obvious" would be appreciated.

for forecast combination, you may like to look at the HedgeExpertEnsemble, it may do what you want, i.e., re-weight depending on errors or forecast residuals.
Would be nice to hear from you whether you think that's what you need or not, and whether it should be made clearer in the tutorial.

@fkiraly and @AngelPone outside of the forecast combination case, I could see it being useful to be able to expect the residuals from a model. For example, to see if they have a clear pattern (suggesting the model doesn't fit well) or run a statistical test on them (e.g. are they normally distributed in the case of models like Arima that make this assumption).
Adding a convenience method would be pretty straight-forward -- something like:
class BaseForecaster(BaseEstimator):
    def insample_residuals(self):
        self.check_is_fitted()
        if self.get_tag("requires-fh-in-fit", False):
             # Not sure if we should use `_fit` or `fit` here
             # Maybe `_fit` since it doesn't override the stored `fh`?
            return self._fit(self._y, fh=self._y.index).predict()
        else:
            return self.predict(fh=self._y.index)

Regarding residuals:
from a discussion on Slack with @ngupta23 : As some models e.g. from statsmodels have residuals internally calculated, the best would be to have a default function def _get_residuals(self) or sth in the parent fit() after _fit() was called that calculates residuals based on in-sample predictions. So we could overwrite this function in the child class for some models that provide this internally. So the parent class would get an additional attribute residuals_. Not sure if this should be optionally or always calculated. The reason for optionally would be that for large data sets, we maybe dont want to store the residuals in self.
What does everybody think?

alternative suggestion: a ResidualsTrafo transformer that wrape a forecaster? That way, it can be used as a transformer in pipelines.

I think you can just run:
transformer = Detrender(MyForecaster())
residuals = transformer.fit_transform(y)

oh yes, we already have the ResidualsTrafo and it's called Detrender.
Perhaps we should introduce an alias Residuals and/or add a "computing residuals" section to the tutorial?

So just to clarify, Detrender will give the true in-sample residuals (in-sample prediction MINUS in-sample actual)?

I think so, yes.

Perhaps we should introduce an alias Residuals and/or add a "computing residuals" section to the tutorial?

Yes, that will be a useful addition (from a clarity perspective) even though it will be an alias.

I think you can just run:
transformer = Detrender(MyForecaster())
residuals = transformer.fit_transform(y)

Hi @mloning , Would it be possible to store the residual information in the forecaster object when fit is called for it? This would be more efficient since usually, the residuals are called only after fitting the forecaster (for fit assessment). Having to call another fit after that in transformer.fit_transform would be doubling the fit effort in terms of time.
forecaster = ExponentialSmoothing(sp=12, seasonal="mul", trend="add")
forecaster.fit(y)  ## store residuals in the forecaster object when fit is called.

If we do not want to enforce this (due to storage overhead), then maybe adding an argument to fit called save_residuals: bool=False would be nice to have.
forecaster = ExponentialSmoothing(sp=12, seasonal="mul", trend="add")
forecaster.fit(y)                       ## Does not store residuals in the forecaster object when fit is called.
forecaster.fit(y, save_residuals=True)  ## Stores residuals in the forecaster object when fit is called.

@ngupta23, why would there be an additional call to fit? The Detrender calls fit_transform of the wrapped forecaster, which calls fit, and it happens only once?

@fkiraly, usually I would fit the model first and only then evaluate (optional). If someone already has a fitted model in the workflow, then having to wrap it in a Detrender to get the residuals (using fit_transform) would force another fit on that and would duplicate the effort.

Further, I don't think your suggestion works, since for obtaining residuals you need to not only fit but also predict.

@fkiraly maybe it was not explicitly stated, but in my suggestion, we would need to do insample prediction when save_residuals=True, somethig like what is done inside the detrender currently Link

If you don't want to fit again, you could also do:
f.fit(y)
residuals = y - f.predict(ForecastingHorizon(y_train.index, is_relative=False)

Hi @mloning ,
It is more than just computing the residuals. If we are working with multiple models, we want to keep track of the residuals for each model. The model object is the best place to store this in my opinion. So, I like your idea of adding a residuals_ property to the forecaster class.
I can also see why computing the residuals inside the fit method could be questioned. Maybe we can compromise and add a method called compute_residuals that can be called right after the fit by the end user if they choose to do so. This method would compute the residuals and store it in the residuals_ property.
Do you think this would be an acceptable compromise to implement?

I'd actually prefer compute_residuals over residuals_, that could be added to the BaseForecaster

How about predict_residuals, since it's a "prediction-like" method?

In any case, we need to be very precise what the methods are doing - in-sample, out-of-sample, etc.
I'd be in favour of fit_predict and fit_predict_residuals for in-sample prediction and in-sample residuals.
For out-of-sample residuals you could have predict_residuals?

I'd prefer keeping it simple and only provide a method for in-sample residuals, at least for now. Don't have preference over compute_residuals or predict_residuals.

So are we good with implementing compute_residuals or predict_residuals for in-sample residuals and storing the residual values in the model object?

Do you need to store them? I believe that if we store them, we need to handle that state properly, making sure in sync with the training data. Implementing compute_residuals as some form of y_train - f.predict(ForecastingHorizon(y_train.index, is_relative=False) sounds good to me.

yes, but let's write a short design doc before implementing anything, it's a core API change, so strictly speaking it needs a STEP.
At least, you should write down docstring and method signature.
I'd do predict_residuals(y: Series) -> Series, i.e., the fh is directly obtained from y.

I'd also add a fit_predict(y: Series) -> Series.

Do you need to store them?

@mloning , I think we should store this in the model object because when we work with multiple models for the same data, then storing this in the model makes most sense.

I believe that if we store them, we need to handle that state properly, making sure it's in sync with the training data.

Yes, that is why my original recommendation was to do this when doing fit (with an argument that has to be explicitly set to True to store this so it does not impact the default functionality).

@mloning @fkiraly @aiwalter Do we need to discuss this further? Any help in closing this would be appreciated as we need this functionality for pycaret development as well.

@ngupta23, I think the end state is not clear enough, e.g., what the design would be. See discussion above.

you say fit would be called twice if we want to compute residuals using the current interface. I don't see this, please explain.
among the different options, we haven't settled on one.
it's also not clear who would implement this.

@ngupta23, @AngelPone, we could add the functionality with our extension of the predict interface, see here?
https://github.com/alan-turing-institute/sktime/pull/1421

@fkiraly, @mloning   Sorry for the delayed response. I think there are a few requirements that I think came from this discussion:

residuals should be stored in the model object. Reason: It helps when we are building multiple models for the same data set and want to compare the results at the end. Without this, the onus will be on the downstream users of sktime to keep track of this separately.
If we keep track of the residuals in the model, we need to track there state properly. As per @mloning

we need to handle that state (training data used for residuals, etc.) properly, making sure it's in sync with the training data.

I think to satisfy these requirements, I would like to discuss my original proposal of doing this in the fit method
forecaster = ExponentialSmoothing(sp=12, seasonal="mul", trend="add")
forecaster.fit(y)                       ## Does not store residuals in the forecaster object when fit is called.
forecaster.fit(y, save_residuals=True)  ## Stores residuals in the forecaster object when fit is called.

Fit would look something like this then
def fit(self, y, X=None, fh=None, save_residuals: bool=False):
    # existing code ... fit happens here

    # new addition
    self.residuals = None
    if save_residuals:
        self.residuals = y - self.predict(ForecastingHorizon(y.index, is_relative=False)

Let me know what you think?

@ngupta23, I don't think it's a good idea to:

make changes to the core interface
add the "store residuals" concern to fit, because fit doesn't compute any predictions (which are needed for residuals)

I also think you should clearly verbalize your requirements before presenting a solution.
"residuals should be stored in the model object" is not a requirement - for one, the residuals being stored is not the "ultimate goal". Further, it's vague, since you don't say which residuals you need or want.
From your discussion, I gather you mean in-sample residuals for the same index that the model is fitted to?
Above you say that you would need to call fit twice, but your actual code addition does not seem to make a difference between (a) just calling fit and specifying an extra argument to it, or (b) calling fit and then predict on y.index.
I don't see why we would need to make major API changes, like adding a save_residuals argument, if all you would need to do is
y- self.fit(y, fh=fh).predict(y.index)

I.e., you propose to add a second, non-obvious way to do things, which does not seem to be that much quicker anyway.
As said, I'd be happy to define the above line as a shorthand fit_predict_residuals or similar, but you were not happy with it since you say you would "call fit twice", which I don't understand and you haven't explained.

@fkiraly
The title of the issue is referring to in-sample forecasts and residuals so I thought that was implicit. But maybe not. So yes, to clarify, I was indeed referring to in-sample residuals.
The reason why I said it would be calling fit twice was in particular reference to this comment (Link). Usually, one would fit the model first and then compute residuals
# Step 1: Fit the model
model.fit(y)

# Step 2: Compute residuals (in-sample)
transformer = Detrender(model)
residuals = transformer.fit_transform(y)

The above flow would call fit inside the fit_transform, hence the call to fit twice (once in the model.fit() call and then in the transformer.fit_transform() call.
But then @mloning clarified (Link) that we do not need to call this twice if we do something like this which is absolutely fine with me since it is not calling fit twice.
model.fit(y)
residuals = y - model.predict(ForecastingHorizon(y.index, is_relative=False)

If you want to encapsulate this whole thing in what you called fit_predict_residuals_insample(y) (Link) that is also OK with me.
The only question that remains from my side now is whether the residuals would be saved inside the model object or simply returned to the user where they would have to manage it themselves?
The reason for the above is that in pycaret, we can build multiple models first and then check goodness of fit later. If the residuals are not stored in the model objects, then we (and any other developers using sktime would need to manage these by themselves). That is why I feel storing them inside the model object is better since it avoids replication of work from multiple downstream users of sktime. I don't know if that answers your questions. Feel free to let me know if you need more clarification.

Ok, we're getting closer to the problem here.
I think you are mistaken about how scikit-learn like object oriented interfaces work, and that misunderstanding causes some incorrect reasoning down the line about what new interfaces we should add.
More precisely: your code
# model definition
model = Sth(params)

# Step 1: Fit the model
model.fit(y)

# Step 2: Compute residuals (in-sample)
transformer = Detrender(model)
residuals = transformer.fit_transform(y)

is incorrect, that's not how you would use the Detrender! Have a look at the forecasting tutorial.
The complete code to obtain residuals is
# model definition
model = Sth(params)

# compute residuals
transformer = Detrender(model)
residuals = transformer.fit_transform(y)

It calls the model's fit exactly once, so no double fitting is carried out.
I'd suggest you look at how sklearn and sktime composites work - first you construct them without fitting the components. then you can call the result with a single call to fit etc.
In a scikit-learn pipeline, you also don't fit the components individually before you plug them into the pipeline.
This is notably different from the "classical" design where you would have to control the data ingestion in each individual component.
Does this explanation help?

I see your point @ngupta23.
As we've discussed above, the main problem I see is that storing residuals in the model requires us to ensure that the state of the residuals attribute is consistent with the state of other model attributes (input data, etc). To me, this would add some complexity at this stage which I'd like to avoid.
So I'm in favour of adding a compute_residuals method for in-sample residuals which returns:
self._y - model.predict(ForecastingHorizon(self._y.index, is_relative=False). You could then handle residuals from different fitted models separately in your code similar to how you handle out-of-sample predictions and performance metrics for different fitted models.

Hi @mloning I went back and looked at sklearn and they also do not store the residuals in the model object so I am ok with your recommendation of providing the method to compute this as an alternate. I have temporarily added this to pycaret [Link]. I can switch to your method when it is available.
(Just my opinion) I do not necessarily like the idea of the Detrender Wrapper since the primary task of a forecaster is to forecast. Residual analysis is a post processing step to check goodness of fit. If we wrap the forecaster in a Detrender, then yes, we will get the residuals with a single fit call, but to get the model predictions, we may have to dig deeper into the Detrender object to do so. This seems a little round about to me and breaks many model development flows where models are fit first and then residual analysis is performed.

I do not necessarily like the idea of the Detrender Wrapper since the primary task of a forecaster is to forecast.

I don't get why this seems like a problem - the detrender is a transformer, not a forecaster.

Residual analysis is a post processing step to check goodness of fit.

And that's why it is a concern that sits with the evaluation machinery, not primarily with the forecaster.
The design principle here is "separation of concerns" or "decoupling".
You wouldn't want to attach everything that you can potentially do with results of a forecaster, to the forecaster - or the results themselves, that wouldn't be the sleek and lightweight design we are aiming for.
I know that pycaret follows more of a "god function" design around pre-defined workflows, but in sktime we are trying to stay modular and flexible... so packages like yours can get from sktime what they want easily.

but to get the model predictions, we may have to dig deeper into the Detrender object to do so

That I think is a valid argument - if you want an easy way to get predictions and residuals.
I still think that generic evaluation functionality and residual analysis needs to be in a place different from the forecaster - but residuals are not a big thing, assuming you want them retrieved and not stored in the object.

Hi @fkiraly , Understood your concerns. I am OK not saving the residuals in the forecaster and I think there is a way forward here. I have added the code from @mloning to pycaret for now. If a forecaster method to compute residuals (returned not stored) can be provded, we will use that, else we will continue using the code in pycaret as it stands now.
Thanks!


Project : Notepad

DESCRIPTION:  Make a notepad website that saves notes in localStorage.
GENERAL REQUIREMENTS:
Create a website with good design and visuals.
Add delete button for deleting notes from local storage.
USE CASE:
Users can create notes and delete them.
ADDITIONAL CHALLENGES :
Create a search button so that users can search notes.

Happy Hacktoberfest :tada:

Hey @Harshil-Jani I have created this project please assign it to me, so I can submit it :)

Hello, @soumik2012  and  @Harshil-Jani I have created a pull request, kindly see through it.


Update the component doc for pub/sub to capture all the metadata fields and have clearer examples

As part of this PR https://github.com/dapr/docs/pull/1069/files it was suggested to reformat all the component file to capture all the metadata fields and have clearer examples. This issue it to update the pub/sub components to follow this format

The PR above close this issue

The PR above close this issue


fix: infinite recursion is sqlite worker error handling

Description
This issue caused the from function to be infinitely called recursively
Risk

Deploy Plan

PMRW


Add api to control omp threads for all index

Signed-off-by: lixinguo<EMAIL_ADDRESS>issue: #374
What I had done
I added the file, Utils.h and Utils.cpp under the common folder. It invokes two functions to control the omp threads when build and query for all indexes we will use in the future.
The default parameters were set by omp_get_max_num() at the beginning.
At the function that may reduce multithreading problems in all indexes, it invokes SetXxxOmpThread() to control threads. You can set the value by adding the strings in config.

/lgtm
/approve


Remove redundant 'fonts change' message

This fontsChange message can now be removed
May help #81

I'm not sure what version of flutter has the update (so that this call is no longer necessary), but we should update pubspec.yaml file to pin our dependency on flutter to a certain version. Although, if the change is not in flutter stable yet, we should consider holding off on this PR.

Sounds good. We'll know when it makes it to stable with https://github.com/flutter/flutter/commit/fbb2f07497868a2b63c23abaa31aed02fc13d057 and https://flutter.dev/docs/development/tools/sdk/releases?tab=macos.
(It's currently on beta)

Looks good to merge


Please provide LoRA in a safetensors format

The crucial asset - LoRA - is in a bin/pickle format. This format is considered unsafe as arbitrary code can be executed this way. This, in turn, prevents Smooth-Diffusion from being adopted more widely.
Please provide the LoRA in a safe safetensors format.

Hi, @bkosowski, thanks for the valuable comment!
We have updated the assets and app.py to support .safetensors.

Thank you so much, @JiayiGuo821!


Do not show caret when placeholder is in an active state

Will be closed: #71
A new behaviour:

What do you think about adding a bool property to control the behaviour?
Just in case if someone prefer seeing a caret. It will also reduce count of breaking change.
Draft until getting feedbacks.
Also: thinking about appropriate test.

What do you think about adding a bool property to control the behaviour? Just in case if someone prefer seeing a caret. It will also reduce count of breaking change.

It should definitely not be caret + filled placeholder as it was before. That duplicates information.
Filled placeholder with no caret (which this PR implements) is the best option IMO and an unambiguous improvement. This is what Mathematica and the MS Office equation editor do.
Caret + all placeholders blank could also be an option. This is what MathQuill does by default. I think this is inferior as it doesn't show the structure and also a larger change to this library so I don't think this should be an option, so I don't think we need any options.
@Happypig375 do you agree?

@charlesroddie
Agreed
@FoggyFinder
The major component of CSharpMath's version is still 0. This means that we can still take breaking changes.

Just that the PR that changes the target to .NET Standard 2.0 is a bigger breaking change compared to others.

Also: thinking about appropriate test.

Should we introduce graphical tests? i.e. Comparison of rendered images, which can be done with CSharpMath.SkiaSharp.

Great then.

Should we introduce graphical tests? i.e. Comparison of rendered images, which can be done with CSharpMath.SkiaSharp.

It would be awesome. But I have never written graphical tests.
All UiTests that I wrote was for WPF apps.

You don't mind, if i try to make blinking cursor there and placeholder with dashed border ?

You don't mind, if i try to make blinking cursor there and placeholder with dashed border ?

I would suggest creating a separate issue and PR.
Small parts are really easier to review.


[BUG]: Europeans region not supported "Return to the Workplace solution"

Describe the bug
Not able to install preview on Europe instance, getting error that my region is not supported.
To Reproduce
Try to install from European instance
Expected behavior
Should be able to install in any instance region. Or At least documentation should be updated to warn that this is US only. We have happy to test customers outside US
Screenshots

Interface(please complete the following information):

tested in Chrome, Firefox, latest

I see that "Return to the Workplace solution" is not under apps yet, but it is about "Return to the Workplace solution" that was just released https://aka.ms/rtw-app


(BUG) #2360 IOS: The G$ amount isn't centered on the dashboard - react native

Description
Its a copy of #2383 PR for react-native branch.
About #2360

@yaroslav-fedyshyn-nordwhale
Approved & adjusted. Please, re-check

we dont need the layout event any more?

no, we don't need it, as onLayout works incorrect for ios 13.4 and lower version (triggered only once on first render, but should every time layout changes) - so now we will get the layout of balance block when balance is changed with native measure method

@sirpy i've checked - onLayout was also used in the AnimatedClaimButton in the react-native branch. I've pushed the fix to this PR: https://github.com/GoodDollar/GoodDAPP/pull/2390


Revert "Replace for loop with iterators"

Reverts rust-lang/cargo#3054

@alexcrichton: no appropriate reviewer found, use r? to override

I completely accidentally hit the merge button on the other one...


Fix nullable generated types

Description:

Fix nullable generated types

If a field is Optional[...], it should have nullable=True to tell the OpenAPI generator the value may be null.

Clean up remaining envs that have the default name as they have no effect.

Checklist:
You should check all boxes before the PR is ready. If a box does not apply, check it to acknowledge it.

[x] ISSUE NUMBER. You linked the issue number (Ex: Resolve #XXX).
[x] PRE-COMMIT. You ran pre-commit on all commits, or else, you
ran pre-commit run --all-files at the end.
[x] USER CHANGES. The changes are added to CHANGELOG.md and the documentation, if they impact
our users.
[x] DEV CHANGES.

Update the documentation if this PR changes how to develop/launch on the app.
Update the README files and our wiki for any big design decisions, if relevant.
Add unit tests, docstrings, typing and comments for complex sections.

Hey @JosephMarinier, I just noticed that pipelines could also be null. So, the generated type should accommodate that.

@Nandhini

pipelines could also be null

Very good catch! I had missed 3 fields that were not yet defined as pydantic Fields. I addressed those in my updated PR #376.


Add support for automatic persisted queries

I think yoga should support automatic persisted queries (https://github.com/apollographql/apollo-link-persisted-queries) out of the box. It's fully backwards compatible and doesn't require any server side configuration, so I believe it's safe to add this to the yoga core.

Sounds great! Will you open a PR?

I'm creating this as a separate package (graphql-persisted-queries-middleware). I will submit a PR to yoga as soon as it's finished.

Any update on this @kbrandwijk?

@schickling On my list for this weekend.

Any progress on this? :) @kbrandwijk

Any progress with this?