[Error] After update Backstage v1.20.3

After updating the Backstage version, we are receiving the following error after running yarn tsc:
packages/backend/src/plugins/announcements.ts:12:5 - error TS2322: Type 'DatabaseService' is not assignable to type 'PluginDatabaseManager'.
  The types returned by 'getClient()' are incompatible between these types.
    Type 'Promise<import("/home/padupe/acme/backstage/node_modules/knex/types/index").Knex<any, any[]>>' is not assignable to type 'Promise<import("/home/padupe/acme/backstage/node_modules/@k-phoen/backstage-plugin-announcements-backend/node_modules/knex/types/index").Knex<any, any[]>>'.
      Type 'import("/home/padupe/acme/backstage/node_modules/knex/types/index").Knex<any, any[]>' is not assignable to type 'import("/home/padupe/acme/backstage/node_modules/@k-phoen/backstage-plugin-announcements-backend/node_modules/knex/types/index").Knex<any, any[]>'.
        The types of 'raw(...).transacting' are incompatible between these types.
          Type '(trx: import("/home/padupe/acme/backstage/node_modules/knex/types/index").Knex.Transaction<any, any[]>) => import("/home/padupe/acme/backstage/node_modules/knex/types/index").Knex.Raw<any>' is not assignable to type '(trx: import("/home/padupe/acme/backstage/node_modules/@k-phoen/backstage-plugin-announcements-backend/node_modules/knex/types/index").Knex.Transaction<any, any[]>) => import("/home/padupe/acme/backstage/node_modules/@k-phoen/backstage-plugin-announcements-backend/node_modules/knex/types/index").Knex.R...'.
            Types of parameters 'trx' and 'trx' are incompatible.
              Type 'Transaction<any, any[]>' is missing the following properties from type 'Transaction<any, any[]>': comment, except, havingNull, havingNotNull, updateFrom

12     database,
       ~~~~~~~~

  node_modules/@k-phoen/backstage-plugin-announcements-backend/dist/index.d.ts:75:5
    75     database: PluginDatabaseManager;
           ~~~~~~~~
    The expected type comes from property 'database' which is declared here on type 'AnnouncementsContextOptions'

Found 1 error in packages/backend/src/plugins/announcements.ts:12

error Command failed with exit code 2.

More Info
O.S: Ubuntu 22.04
Backstage Version: 1.20.3
Node Version: 18.16.1
To reproduce

Update Backstage Version

yarn backstage-cli versions:bump

Update Announcements Version

yarn backstage-cli versions:bump --pattern '@k-phoen/backstage-plugin-announcements-backend'

PSC @claudinei-ferreira

Have same issue, but backstage version is 1.18.3.

We are also facing the same issue when bumped to 1.20.3.
Is there any plan to provide a patch?
@K-Phoen


bump sigstore/sigstore from 1.2.1 to 1.4.0

Signed-off-by: Kenny Leung<EMAIL_ADDRESS>
Summary

bump sigstore/sigstore from 1.2.1 to 1.4.0
Release Note

NONE
Documentation

Codecov Report

Merging #985 (cb861e4) into main (9625a89) will decrease coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #985      +/-   ##
==========================================
- Coverage   40.94%   40.88%   -0.07%
==========================================
  Files          69       69
  Lines        6496     6496
==========================================
- Hits         2660     2656       -4
- Misses       3554     3556       +2
- Partials      282      284       +2

Impacted Files
Coverage Δ

pkg/types/alpine/v0.0.1/entry.go
53.52% <0.00%> (-2.49%)
:arrow_down:

pkg/types/helm/v0.0.1/entry.go
48.29% <0.00%> (ø)

pkg/types/rekord/v0.0.1/entry.go
49.00% <0.00%> (+0.66%)
:arrow_up:

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


chore(deps): :arrow_up: update dependency html-webpack-plugin to ^5.6.0

This PR contains the following updates:

Package
Change
Age
Adoption
Passing
Confidence

html-webpack-plugin
^5.5.4 -> ^5.6.0

Release Notes

jantimon/html-webpack-plugin (html-webpack-plugin)
v5.6.0
Compare Source
Features

add @rspack/core as an optional peer dependency (#1829) (56ff3ae)
Added support type=systemjs-module via the scriptLoading option (#1822) (7effc30)

Bug Fixes

memory leak (#1836) (c79f2cf)

5.5.4 (2023-12-06)
Bug Fixes

avoid have undefined type for script tags (#1809) (9959484)
reemit assets from loaders (#1811) (a214736)
reemit favicon in serve/watch mode (#1804) (57c5a4e)

5.5.3 (2023-06-10)
Bug Fixes

don't add extra meta tag if it exists (#1802) (8f92788)
pass all Node.js globals to templates (#1796) (f269fc0)
types: fix type for chunkSortMode (#1798) (6ad0e55)

5.5.2 (2023-06-08)
Bug Fixes

compatibility with ES modules output (#1795) (eda853b)

5.5.1 (2023-04-15)
Bug Fixes

perf: defer loading of pretty-error to improve startup time (#1789) (988709d)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/@angular/core
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/@angular/animations
npm ERR<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-12-22T15_21_30_884Z-eresolve-report.txt

npm ERR!


remove unused function with reservetojudge SSCS-11395

https://tools.hmcts.net/jira/browse/SSCS-11395
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x] No

Keep this for https://tools.hmcts.net/jira/browse/SSCS-11496


Update footer to UI v3

This PR includes the HTML, SCSS, and themes for the footer component.

@tschaffter it is not used in the footer component; I mistakenly thought it was, so I prematurely added it.


Basis abi code generator

Codecov Report
Base: 60.65% // Head: 60.30% // Decreases project coverage by -0.35% :warning:

Coverage data is based on head (47d98ef) compared to base (310f24c).
Patch coverage: 15.21% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
- Coverage   60.65%   60.30%   -0.36%
==========================================
  Files          10       10
  Lines         849      854       +5
  Branches      111      111
==========================================
  Hits          515      515
- Misses        322      327       +5
  Partials       12       12

Impacted Files
Coverage Δ

src/quspin_core/includes/quspin/basis/basis.h
0.00% <0.00%> (ø)

.../quspin_core/includes/quspin/basis/bitbasis/dits.h
100.00% <ø> (ø)

src/quspin_core/includes/quspin/basis/space.h
0.00% <ø> (ø)

src/quspin_core/includes/quspin/basis/symmetry.h
64.00% <0.00%> (ø)

src/quspin_core/includes/quspin/utils/functions.h
75.00% <50.00%> (ø)

src/quspin_core/includes/quspin/operator.h
93.03% <83.33%> (ø)

.../quspin_core/includes/quspin/basis/bitbasis/bits.h
100.00% <100.00%> (ø)

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Test CI issue

A temporary PR to understand a CI issue.

Codecov Report

Merging #295 (4047d44) into main (6eeb8d4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #295   +/-   ##
=======================================
  Coverage   94.67%   94.67%
=======================================
  Files         312      312
  Lines       25308    25308
=======================================
  Hits        23961    23961
  Misses       1347     1347

Flag
Coverage Δ

unittests
94.67% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update app-insights-code-sample-export-telemetry-sql-database.md

indent changes

Hi @arunvinoth, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;

Hi @arunvinoth, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
We will now validate the agreement and then real humans will evaluate your PR.
TTYL, AZPRBOT;


Getting sane errors out of sprocs

Is your feature request related to a problem? Please describe.
I just want a sensible way/guidance to get errors out of procs. Throwing Error per the docs is fine and dandy, except now you've no practical way of switching on error codes or the likes from the client side. Throwing a JSON-formatted string and catching BadRequestException / DocumentClientException seemed promising, except both those exceptions are (inexplicably) internal types with no way of getting the Error object without reflection. Also, they get unwrapped into a CosmosException which throws away the Error property altogether and leaves you with little choice but to do string manipulation on its Message property.
Describe the solution you'd like
Make it practical to get errors out of sprocs and UDFs in such a way that the client can obtain information about what went wrong. Add relevant information to the docs.
Describe alternatives you've considered
As best I can tell, all alternatives are hacks. Reflection, string parsing etc. Yuck.

@kentcb can you please sent a mail to askcosmosdb[AT]microsoft.com? I will compile and put the summary on this thread.

From inside sproc you can throw new Error(errorCode, "Error message"), where errorCode is a number (short int) like 1234. On client side you can get this code from DocumentClientException as SubStatusCode which can be obtained from DocumentClientException.ResponseHeaders (e.g. see how to get it).

Thanks @mkolt - this is great.
Per my original request though, I don't think this issue should be closed until this information has been added to the docs. I just tried googling "Cosmos DB SubStatusCode errorCode" and can't find anything in the docs about this. Actually, one of the first results to come up is this user voice.

What's the status on this? I am unable to find any official information on the "x-ms-substatus" HTTP response header. I've been using Cosmos DB for some time now and am starting to write SPROCs using typescript (async/await for the win), and with that quickly came the requirement of relaying different error codes back to the caller.

I agree. This is poor or forced design.  I think the container client should parse the error codes, not the user


Results are empty

It seems Google changed structure, so this library is not working as before (master branch).
From example:
$simpsonPage1->getPositions() // return empty array
$simpsonPage1->getNaturals() // return empty object
$simpsonPage1->getAdword() // is working

Hello,
We just fixed an issue a few says ago : https://github.com/gsouf/google-url/issues/15
Did you update to the latest version ?

Yes I forgot to update repo, thanks for response, this issue can be closed.

Hello,
I have same issue results are empty and adWord works fine. Can you tell me where is wrong . It works fine yesterday but suddenly it stop working today.
I have natural query like NATURAL_QUERY="//div[@id = 'ires']/ol/descendant::*[self::div or self::li][@class='g']";
i download latest repo but still not working.
Plz suggest.

Ansewred


File download puts file in parent folder

I have a vault under .../Obsidian/Personal/
Given there is a file on the server called 'test.md', when it is downloaded, it gets downloaded into .../Obsidian/ instead of .../Obsidian/Personal.
Any workaround?

I have the same problem. Root level get placed in the parent folder.
My vault directory is ./Obsidian/, but a root level file Foobar.md is downloaded as ./ObsidianFoobar.md, so probably some path concatenation problem ...
OS is Windows


ETES System Design UI call back error

Describe the bug
Calculated values do not update on ETES System Design page in SAM 2022.11.21.
Note error in IDE script editor:

Workaround is to use SAM 2021.12.02 r2.

@cpaulgilman I recommend still using SAM 2022.11.21. The calculated values in the UI do not update, but the simulation will still properly handle user inputs.

@sjanzou I accidentally added an errant '0' to the end of the Equations code in the ETES System Design ui page. Paul's screenshot above shows that the IDE editor complains, but when I open the ETES technology model in SAM, the UI ignores the equations window without reporting the syntax error. Is there a way for the UI to catch and report this type of error?
https://github.com/NREL/SAM/commit/3027feebfdf3f8d794b9be8ad9b11fee1c110200

@sjanzou I accidentally added an errant '0' to the end of the Equations code in the ETES System Design ui page. Paul's screenshot above shows that the IDE editor complains, but when I open the ETES technology model in SAM, the UI ignores the equations window without reporting the syntax error. Is there a way for the UI to catch and report this type of error?
3027fee

It looks like the text file will have a 0 at the end, but the bug was that there was a space after the end of the equations code? I'm not quite sure how this works, but the commits appear to fix the issue.

@sjanzou I accidentally added an errant '0' to the end of the Equations code in the ETES System Design ui page. Paul's screenshot above shows that the IDE editor complains, but when I open the ETES technology model in SAM, the UI ignores the equations window without reporting the syntax error. Is there a way for the UI to catch and report this type of error?
3027fee

It looks like the text file will have a 0 at the end, but the bug was that there was a space after the end of the equations code? I'm not quite sure how this works, but the commits appear to fix the issue.

@tyneises, all of the uiforms are currently written as text files in main.cpp InputPageData::Write_text which includes the callbacks and equations. The way everything is written now is character by character. I think the 0 that got added was misinterpreted as a \0 (end of file marker and caused the callback syntax error but not picked up by the parser.
We are moving to JSON for the UI forms soon ((like the defaults), so these mysterious fixes and bugs should be minimized.
Your pull request 1312 seems to close this issue as far as I can tell. I will let you or @cpaulgilman do the official closing of this issue.

@sjanzou I accidentally added an errant '0' to the end of the Equations code in the ETES System Design ui page. Paul's screenshot above shows that the IDE editor complains, but when I open the ETES technology model in SAM, the UI ignores the equations window without reporting the syntax error. Is there a way for the UI to catch and report this type of error?
3027fee

It looks like the text file will have a 0 at the end, but the bug was that there was a space after the end of the equations code? I'm not quite sure how this works, but the commits appear to fix the issue.

@tyneises, all of the uiforms are currently written as text files in main.cpp InputPageData::Write_text which includes the callbacks and equations. The way everything is written now is character by character. I think the 0 that got added was misinterpreted as a \0 (end of file marker and caused the callback syntax error but not picked up by the parser.
We are moving to JSON for the UI forms soon ((like the defaults), so these mysterious fixes and bugs should be minimized. #504
Your pull request 1312 seems to close this issue as far as I can tell. I will let you or @cpaulgilman do the official closing of this issue.

Thanks, Steve. The JSON format for UI forms will be nice - it was tricky trying to auto-merge the UI page change into the mspt_no_finance branch...


Runner#stop raises an exception

Runner#stop calls server-engine's stop method. The latter expects graceful argument, which is not provided.
As a temp workaround I redefined as follows:
module Sneakers
  class Runner
    def stop(graceful=true)
      @se.stop(graceful)
    end
  end
end

@kleinron thanks for the suggestion. wanna open a PR? 🙏

Closed via #409


Run nnDetection on Cuda 12

:question: Question
I'm trying  to run nnDetection on a GPU-server with RTX 4090 and Cuda 12. Can anybody tell me is there any way to run nnDetection on that CUDA version. I'm not sudoer of the GPU-server thus I can not install other cuda version.  Thanks!

Hi,
The cuda code should be compatible with CUDA12. The rest of the code will depend on the compatibility with PyTorch (note: only PyTorch 1.XX supported right now).
Best,
Michael


gawk -i inplace '!a[$0]++' /etc/pihole/whitelist.txt not working on CentOS 7

I just tried running your script on a fresh CentOS 7 OS. This fails (or does not run de deduplication part of the script) because gawk is an old version on CentOS (and is not updated yet in the repositories). this means that gawk -i inplace '!a[$0]++' /etc/pihole/whitelist.txt will not run or work.
I have figured out that running awk '!seen[$0]++' /etc/pihole/whitelist.txt does work however. Maybe you can use this in the script for all distributions or add an if/switch for CentOs?

@Melantrix Thanks for bringing it to notice. It does need some testing on other ditros.

@Melantrix This issue is resolved in the latest version. Closing


Release Helm chart 0.9.3

hmm CircleCI is not able to fetch the go deps now 😢

@stefanprodan current build is now running the e2e so fingers crossed :crossed_fingers:


Rework guild configurations

This ties into #20 as if Margarine was to log actions via a channel, the guild conf would allow the admins to specify which channel it will be posted in.
Also, this will lead to much greater control over a few planned features later.

As of #35, this improvement has been completed.


app crash and examples with deprecated properties

It looks like the examples provided with the folder themes do not include the latest version of flutter' styles. For example: inside "big_red.json" there is the property "buttonColor" which is deprecated:
  "buttonColor": "#b71c1c",
If I define the following theme, the app crashes
  "buttonTheme": {
    "colorScheme": {
      "background":"#0d47a1"
    }
  },

Would it be possible to have an example of "elevatedButton" ?
Versions:
json_theme: ^3.0.1
flutter: 2.5.3
Thank you

The examples still work (which is intended) and they have the old and the current in there.  The issue with using colorScheme is that all attributes are required.  You cannot just define "background" in ColorSchema, you have to define them all per Flutter's specifications.

That's why you get this error when you try the above JSON:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: Null check operator used on a null value
#0      ThemeDecoder.decodeColorScheme (package:json_theme/src/codec/theme_decoder.dart:2193:10)
#1      ThemeDecoder.decodeButtonThemeData (package:json_theme/src/codec/theme_decoder.dart:1733:22)
#2      ThemeDecoder.decodeThemeData (package:json_theme/src/codec/theme_decoder.dart:9464:22)
#3      RootPage._onThemeSelected (package:example/main.dart:42:30)
<asynchronous suspension>

So for that one in particular, you just need to define all the required attributes.
Regarding your question about ElevatedButton, I suspect you're in the wrong place.  This repo is really just for ThemeData.  There's a sibling library you may want to look into called: json_dynamic_widget.  It is the one that can parse and render widgets and it uses this one.
A specific example for elevated_button can be found in it: here.
I'm going to close this issue.  Feel free to open a new one if you still have more problems.


Multipart form field not passing value in karate 1.0.1

When i am trying to use multipart and passing on value in that, it is not working. However, passing on file information in same works fine.
Code snippet:
Given path 'files'
* multipart file fileUpl = { read: 'img1.jpeg', filename: 'img1.jpeg' }
* multipart field destination = "posts"
When method post
Then status 200
Response Screenshot:

I have tried using multipart field and form field together but that is also not working.

@deepsmittal sorry, please follow this process: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
multipart questions are the hardest to provide a solution for because it depends on your server. my recommendation is you follow this guide and you should be able to figure out the solution for yourself: https://github.com/intuit/karate/issues/1645#issuecomment-862502881


genome groups in tree service

In the tree service submission app the genome groups dropdown doesn't work properly (doesn't auto fill genome group names, and I need to know where to go in the hierarchy to find my genome groups).
When I do find a genome group, clicking the + button doesn't do anything.

Are you reporting issue for below link?
https://www.alpha.patricbrc.org/app/PhylogeneticTree
This particular part works for my local copy which is written before the new workspace.
@nconrad @hyoo This problem probably is related to new workspace and how to use WorkspaceObjectSelector, I can see below pages on alpha have the same issue:
https://www.alpha.patricbrc.org/app/SeqComparison
https://www.alpha.patricbrc.org/app/ProteinFamily

should be addressed in https://github.com/PATRIC3/p3_web/pull/500 , but could maybe use some help testing, making sure entire form works.

Verified tree service page works as expected, but I did not submit it as I'm not sure whether the back-end is ready or not.
@olsonanl  I cannot reproduce the issue on + button for adding genome group, can you try again and let me know whether this issue is still there?

It worked for me just now; I'll try again today on my other system and see if it does it again.

Thanks Bob, if there's a problem, I will blame WorkspaceObjectSelector :)


Translations of dxdiag

Translations for dxdiag can be found in ./tools/dxdiag/locale. The only one that's complete is english.
To do it you can just copy the english version and translate from there.

Spanish (es_ES) added in #9. Thanks for your contribution @rroblf01

German (de_DE) added in #13. Thanks @raphipod
Italian (it_IT) was also added in #14 thanks to @albanobattistella


Sort With Blank Lines

Possible duplicate of sort by column*
If put the checkbox then press "sort" the plugin still sorting all lines instead of new sorting for each paragraph. There is strange use-case to sort text with blank lines preserved but still ignore the blank lines.
The example:

lang.ini

a:1
b:1
c:1

b:1
c:1
a:1

it should be
a:1
b:1
c:1

a:1
b:1
c:1

instead of
a:1
a:1
b:1

b:1
c:1
c:1

Same about sorting by column - sometimes we need to sort objects with tab/double space chars at line beginning, so we need then new sorting for each prefix.
I mean:
a
  c
  b
b
c

should be
a
  b
  c
b
c

instead of
a
b
c
  b
  c

So what you need is "Sort paragraphs", not "Sort lines".
Pull request welcomed.
Not sure what is the alghorithm in the second problem. Butt if you need sort by column, then use "sort by subselection" and select only rows in with the specific column.

Next time i would work with 2mb deep associative language file i, of course, will use my mouse to select each 12 lines to sort it with damn Shortcut + MouseClick combination.
I think, i will finish my work in next century then

You might easily do it with https://github.com/dkandalov/live-plugin

will try ty

Maybe it would be better to sort it like a tree.
Otherwise it won't sort this:
c
a
  c
  b
b

into:
a
  b
  c
b
c


Fix Build Error conforming protocol

Build Error

WebSocketDelegate protocol conforming error occured.

Hey hey! Thank you for the opening the pull request. Which version of the Starscream you are using? I have no problems with 4.0.4.
Also for Nova Wallet we are using https://github.com/ERussel/Starscream/tree/4.0.8 which contains important crash fixes on the transport layer.

Hello! Thank you for replying my PR. I want to ask the check when we follow your installation steps, we gets error.
After i added one line as your advice, i can build and run my project.
``

Hello! Thank you for replying my PR. I want to ask the check when we follow your installation steps, we gets error. After i added test project and one Podfile line as your advice, i can build and run my project.
pod 'SubstrateSdk', :git => 'https://github.com/nova-wallet/substrate-sdk-ios.git', :tag => '1.1.0'
pod 'Starscream', :git => 'https://github.com/ERussel/Starscream.git', :tag => '4.0.8'

I think i'll close the PR when our own project is well also. Thank you for some advice!

Great! In that case I will just update the requirement in the pod spec and installation guide.

We can handle the build issue using that Podfile lines!!
Thank you for mention that, I'll close the PR.

Close PR


use category features to train model and predict

What this PR does / why we need it:
when we train model by using category features, we need to pass cat_feature params.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

@planning018 Can you help provide more information on how this works and some documentation would be helpful

see https://github.com/kserve/kserve/pull/2208/files


Finding predecessor states

From the current state, is it possible to compute the predecessor state given some action?

What is your use case?
You might be able to get something close on a small timescale to that by reversing forces. However, picture the case of an object falling down and settling on the ground under zero control. Having this functionality would imply being able to suddenly predict that the object will penetrate the ground, then launch up.

If you set timestep to a negative value you can reverse the physics 🙂