Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeferLoad class does not cache resolved classes as expected #3360

Closed
ff137 opened this issue Nov 28, 2024 · 0 comments · Fixed by #3361
Closed

DeferLoad class does not cache resolved classes as expected #3360

ff137 opened this issue Nov 28, 2024 · 0 comments · Fixed by #3361

Comments

@ff137
Copy link
Contributor

ff137 commented Nov 28, 2024

In testing out with some more logging added to the ClassLoader (#3332), I could see that /status checks would prompt the AskarStorage class to be reloaded each time. I noticed this comes from the DeferLoad class, so added logs as follows:

# Existing code, with extra debug log lines
class DeferLoad:
    """Helper to defer loading of a class definition."""

    def __init__(self, cls_path: str):
        """Initialize the `DeferLoad` instance with a qualified class path."""
        self._cls_path = cls_path
        self._inst = None

    def __call__(self, *args, **kwargs):
        """Magic method to call the `DeferLoad` as a function."""
        LOGGER.debug("Calling deferred class load for: %s", self._cls_path)
        return (self.resolved)(*args, **kwargs)

    @property
    def resolved(self):
        """Accessor for the resolved class instance."""
        LOGGER.debug("Resolving deferred class load for: %s", self._cls_path)
        if not self._inst:
            LOGGER.debug("Class not yet loaded, loading: %s", self._cls_path)
            self._inst = ClassLoader.load_class(self._cls_path)
            LOGGER.debug("Successfully loaded class: %s", self._cls_path)
        return self._inst

Results in logs as follows:

acapy_agent.admin.server DEBUG Incoming request: GET /status/live
acapy_agent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/live> -> <function liveliness_handler at 0x7f2b83f17a60>>
acapy_agent.admin.server DEBUG Body: None
acapy_agent.admin.server DEBUG Incoming request: GET /status/ready
acapy_agent.admin.server DEBUG Match info: <MatchInfo {}: <ResourceRoute [GET] <PlainResource  /status/ready> -> <function readiness_handler at 0x7f2b83f17ba0>>
acapy_agent.admin.server DEBUG Body: None
acapy_agent.utils.classloader DEBUG Calling deferred class load for: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Resolving deferred class load for: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Class not yet loaded, loading: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Successfully loaded class: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Calling deferred class load for: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Resolving deferred class load for: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Class not yet loaded, loading: acapy_agent.storage.askar.AskarStorage
acapy_agent.utils.classloader DEBUG Successfully loaded class: acapy_agent.storage.askar.AskarStorage

and repeats upon each status check.

This indicates that the self._inst = ClassLoader.load_class(self._cls_path) line does not persist the class for future re-use, and the load_class logic is executed each time.

This is presumably because a new instance of the DeferLoad class is created each time it is called. I can't be completely sure, but I guess it's that when a DeferLoad instance is called, a new one is being instantiated each time, and not being re-used. So the persistence to self._inst doesn't work as intended.

I found that adding class caching as follows is sufficient to solve this:

class DeferLoad:
    """Helper to defer loading of a class definition."""

    _class_cache = {}  # Shared cache for resolved classes

    def __init__(self, cls_path: str):
        """Initialize the `DeferLoad` instance with a qualified class path."""
        self._cls_path = cls_path

    def __call__(self, *args, **kwargs):
        """Magic method to call the `DeferLoad` as a function."""
        LOGGER.debug("Calling deferred class load for: %s", self._cls_path)
        return self.resolved(*args, **kwargs)

    @property
    def resolved(self):
        """Accessor for the resolved class instance."""
        LOGGER.debug("Resolving deferred class load for: %s", self._cls_path)
        if self._cls_path not in DeferLoad._class_cache:
            LOGGER.debug("Class not yet loaded, loading: %s", self._cls_path)
            DeferLoad._class_cache[self._cls_path] = ClassLoader.load_class(
                self._cls_path
            )
            LOGGER.debug("Successfully loaded class: %s", self._cls_path)
        return DeferLoad._class_cache[self._cls_path]

The above is applied in #3361 (without the debug logs)

ff137 added a commit to didx-xyz/acapy that referenced this issue Nov 28, 2024
ff137 added a commit to didx-xyz/acapy that referenced this issue Nov 28, 2024
@ff137 ff137 closed this as completed in 389e9d2 Dec 2, 2024
ff137 added a commit to didx-xyz/acapy that referenced this issue Dec 5, 2024
* ⬆️ Upgrade python-dateutil

Resolves calling deprecated `datetime.utcfromtimestamp` method

Signed-off-by: ff137 <[email protected]>

* 🎨 Rename class to resolve PytestCollectionWarning

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace deprecated `open_binary` method with `files`

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace deprecated `scope` keyword with `loop_scope`

Signed-off-by: ff137 <[email protected]>

* 🎨 Filter Aries RFC 0160 DeprecationWarning in tests

Signed-off-by: ff137 <[email protected]>

* 🎨 Filter Pydantic UserWarning in test

Signed-off-by: ff137 <[email protected]>

* ⬆️ Upgrade aiohttp to latest release and update lock file

Signed-off-by: ff137 <[email protected]>

* 🎨 Remove unnecessary asyncio pytest markers

Resolves unclosed event loop warnings.

Signed-off-by: ff137 <[email protected]>

* chore(deps-dev): Bump ruff from 0.7.3 to 0.7.4 (openwallet-foundation#3341)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.3 to 0.7.4.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.7.3...0.7.4)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump aiohttp from 3.11.0 to 3.11.2 (openwallet-foundation#3340)

Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.11.0 to 3.11.2.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](aio-libs/aiohttp@v3.11.0...v3.11.2)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump pyjwt from 2.9.0 to 2.10.0 (openwallet-foundation#3339)

Bumps [pyjwt](https://github.com/jpadilla/pyjwt) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases)
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst)
- [Commits](jpadilla/pyjwt@2.9.0...2.10.0)

---
updated-dependencies:
- dependency-name: pyjwt
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* did:tdw resolver (openwallet-foundation#3237)

* did:tdw resolver

Signed-off-by: jamshale <[email protected]>

* Update unit tests

Signed-off-by: jamshale <[email protected]>

* Update poetry.lock

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* chore(deps): Bump aiohttp (openwallet-foundation#3342)

Bumps the pip group with 1 update in the /scenarios directory: [aiohttp](https://github.com/aio-libs/aiohttp).


Updates `aiohttp` from 3.10.5 to 3.10.11
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](aio-libs/aiohttp@v3.10.5...v3.10.11)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: indirect
  dependency-group: pip
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamshale <[email protected]>

* 🎨 Refactor `register_plugin` steps for maintainability

Signed-off-by: ff137 <[email protected]>

* 🎨 improve logging in register_package

Signed-off-by: ff137 <[email protected]>

* 🎨 Rename method and remove redundant main call

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to Context Builder

Signed-off-by: ff137 <[email protected]>

* 🎨 Deduplicate registering list of plugins

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to init_context

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to load_protocol_version

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to load_protocols

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to register_admin_routes

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to register_protocol_events

Signed-off-by: ff137 <[email protected]>

* 🔊 Add debug logging to post_process_routes

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace print statements with info logs

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace almost all print statements with info logs

Signed-off-by: ff137 <[email protected]>

* 🔊 Expand logging for Conductor setup

Signed-off-by: ff137 <[email protected]>

* 🎨 Correct to uphold previous "Module doesn't exist" log behaviour

Signed-off-by: ff137 <[email protected]>

* ✅ Fix test by using assertLogs instead of capturing stdout

Signed-off-by: ff137 <[email protected]>

* Revert "🎨 Rename method and remove redundant main call"

This reverts commit 2f6526d.

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* ✅ Fix test by adding __name__ to mock object

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* ✨ Add custom trace log level

Signed-off-by: ff137 <[email protected]>

* 🎨 Ensure trace level can only be added once

Signed-off-by: ff137 <[email protected]>

* 🎨 Add Logger

Signed-off-by: ff137 <[email protected]>

* 🎨 Update newly added logs to be trace level instead of debug

Signed-off-by: ff137 <[email protected]>

* 🎨 Update newly added logs to be trace level instead of debug

Signed-off-by: ff137 <[email protected]>

* 🔊 Expand logging for Conductor start and stop

Signed-off-by: ff137 <[email protected]>

* ✅ Add unit tests for adding trace level functionality

Signed-off-by: ff137 <[email protected]>

* ✅ Reset the logging states before and after TestLoggingUtils is run

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* 🧪 Debug log assertion test failing sporadically

Filter the logs being read by module name, and add short sleep to allow log handlers to flush

Signed-off-by: ff137 <[email protected]>

* ✅ Modify log assertion to be more robust

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* 🐛 Handle case that load_module return type is Optional

Signed-off-by: ff137 <[email protected]>

* 🔊 Expand logging for ClassLoader

Signed-off-by: ff137 <[email protected]>

* 🔊 Log a warning if resource not found, instead of passing

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

* 🎨 Enable trace logs for remaining modules

Signed-off-by: ff137 <[email protected]>

* 🐛 Fix registering and loading of modules

Signed-off-by: ff137 <[email protected]>

* 🔊 Expand logging for Ledger Configuration

Signed-off-by: ff137 <[email protected]>

* Fix tails upload for anoncreds multitenancy

Signed-off-by: jamshale <[email protected]>

* Update unit test

Signed-off-by: jamshale <[email protected]>

* Make sonarcloud happy with https in test

Signed-off-by: jamshale <[email protected]>

* Add anoncreds issuance and presentation format (openwallet-foundation#3331)

* Add anoncreds issuance and presentation formats

Signed-off-by: jamshale <[email protected]>

* Fix unit tests

Signed-off-by: jamshale <[email protected]>

* Fix error in _formats_attach

Signed-off-by: jamshale <[email protected]>

* Fix AnoncredsDID validation pattern

Signed-off-by: jamshale <[email protected]>

* Fix name

Signed-off-by: jamshale <[email protected]>

* Fix scenario test

Signed-off-by: jamshale <[email protected]>

* Update demo with anoncreds format

Signed-off-by: jamshale <[email protected]>

* Fix the scenario test and add better description

Signed-off-by: jamshale <[email protected]>

* Add service_healthy check for indy agent

Signed-off-by: jamshale <[email protected]>

* Fix/update BDD tests

Signed-off-by: jamshale <[email protected]>

* Add issuer askar to holder anoncreds support

Signed-off-by: jamshale <[email protected]>

* Update BDD tests

Signed-off-by: jamshale <[email protected]>

* Remove commented code

Signed-off-by: jamshale <[email protected]>

* Expand scenario test

Signed-off-by: jamshale <[email protected]>

* Add better comments for format compatibilty imports

Signed-off-by: jamshale <[email protected]>

* Add anocnreds compatibilty bdd test to PR workflow

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* Fix handling of base_wallet_routes startup parameter in auth decorator

Signed-off-by: Emiliano Suñé <[email protected]>

* Restore --base-wallet-extra-routes argument functionality

Signed-off-by: Emiliano Suñé <[email protected]>

* Correctly handle null value for --base-wallet-routes

Signed-off-by: Emiliano Suñé <[email protected]>

* Fix typo

Signed-off-by: Emiliano Suñé <[email protected]>

* Fix subwallet anoncreds upgrade check (openwallet-foundation#3345)

Signed-off-by: jamshale <[email protected]>

* Fix/universal resolver (openwallet-foundation#3354)

* Update universal resolver response handling

Signed-off-by: jamshale <[email protected]>

* Update universal resolver unit test

Signed-off-by: jamshale <[email protected]>

* Add reverse compatibility handling

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* chore(deps-dev): Bump ruff from 0.7.4 to 0.8.0 (openwallet-foundation#3348)

Bumps [ruff](https://github.com/astral-sh/ruff) from 0.7.4 to 0.8.0.
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.7.4...0.8.0)

---
updated-dependencies:
- dependency-name: ruff
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamshale <[email protected]>

* chore(deps): Bump mkdocs-material from 9.5.44 to 9.5.46 (openwallet-foundation#3352)

Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.44 to 9.5.46.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](squidfunk/mkdocs-material@9.5.44...9.5.46)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump uuid-utils from 0.9.0 to 0.10.0 (openwallet-foundation#3351)

Bumps [uuid-utils](https://github.com/aminalaee/uuid-utils) from 0.9.0 to 0.10.0.
- [Release notes](https://github.com/aminalaee/uuid-utils/releases)
- [Commits](aminalaee/uuid-utils@0.9.0...0.10.0)

---
updated-dependencies:
- dependency-name: uuid-utils
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): Bump debugpy from 1.8.8 to 1.8.9 (openwallet-foundation#3350)

Bumps [debugpy](https://github.com/microsoft/debugpy) from 1.8.8 to 1.8.9.
- [Release notes](https://github.com/microsoft/debugpy/releases)
- [Commits](microsoft/debugpy@v1.8.8...v1.8.9)

---
updated-dependencies:
- dependency-name: debugpy
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): Bump aiohttp from 3.11.2 to 3.11.7 (openwallet-foundation#3349)

Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.11.2 to 3.11.7.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](aio-libs/aiohttp@v3.11.2...v3.11.7)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* ⏪ Revert `trace` log changes, and move to debug level

Signed-off-by: ff137 <[email protected]>

* ✨ Add caching to ClassLoader.load_module

Signed-off-by: ff137 <[email protected]>

* 🎨 Improve log

Signed-off-by: ff137 <[email protected]>

* 🎨 Sync Ruff version in configs and apply formatting (openwallet-foundation#3358)

* ⬆️ Upgrade ruff version in pre-commit config and lint workflow

Signed-off-by: ff137 <[email protected]>

* 🎨 Apply ruff formatting

Signed-off-by: ff137 <[email protected]>

* ⬆️ Upgrade pre-commit hook version

Signed-off-by: ff137 <[email protected]>

---------

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace deprecated ABC decorators (openwallet-foundation#3357)

Signed-off-by: ff137 <[email protected]>
Co-authored-by: jamshale <[email protected]>

* 🎨 Reduce log verbosity

Signed-off-by: ff137 <[email protected]>

* ✨ Add `lru_cache` to load_class and set maxsize

Signed-off-by: ff137 <[email protected]>

* ⚡ Add class caching to DeferLoad

Resolves openwallet-foundation#3360

Signed-off-by: ff137 <[email protected]>

* ⏪ Revert addition of lru caching

Signed-off-by: ff137 <[email protected]>

* 🎨 Update logs / reduce verbosity

Signed-off-by: ff137 <[email protected]>

* Revert "Don't pass rekey to sub_wallet_profile"

This reverts commit e59d275.

* Fixes openwallet-foundation#3202: new suppress banner and replace print by logging statements

Signed-off-by: Ricky Ng-Adam <[email protected]>

* 🎨 Print agent label and version even if banner suppressed

Signed-off-by: ff137 <[email protected]>

* ✅ Fix pagination assertions

Signed-off-by: ff137 <[email protected]>

* 👷 Upload Python Package to TestPyPI (#4)

* 👷 Upload Python Package to TestPyPI

Signed-off-by: ff137 <[email protected]>

* 👷 Update project name and version for testpypi

Signed-off-by: ff137 <[email protected]>

* 🎨

Signed-off-by: ff137 <[email protected]>

---------

Signed-off-by: ff137 <[email protected]>

* Version 1.1.1-20241115

Signed-off-by: ff137 <[email protected]>

* 🎨 Deprecate count/start query params and implement limit/offset (#6)

* art: Modify count/start query params to be Integers, not Strings

Signed-off-by: ff137 <[email protected]>

* memo: Update openapi spec

Signed-off-by: ff137 <[email protected]>

* rewind: Revert start/count field to remain String type; mark as deprecated

Signed-off-by: ff137 <[email protected]>

* sparkles: Implement limit/offset alongside deprecated count/start

Signed-off-by: ff137 <[email protected]>

* art: Standardise naming convention from count/start to limit/offset

Signed-off-by: ff137 <[email protected]>

* rewind: Revert start/count field to remain String type; mark as deprecated

Signed-off-by: ff137 <[email protected]>

* sparkles: Implement limit/offset alongside deprecated count/start

Signed-off-by: ff137 <[email protected]>

* art: Remove unused query string schema from `w3c_creds_list`

Signed-off-by: ff137 <[email protected]>

* art: Rename args

Signed-off-by: ff137 <[email protected]>

* memo: Update openapi specs

Signed-off-by: ff137 <[email protected]>

* white_check_mark:

Signed-off-by: ff137 <[email protected]>

---------

Signed-off-by: ff137 <[email protected]>

* sparkles: add `order_by` and `descending` options to query / scan and fetch_all methods

Signed-off-by: ff137 <[email protected]>

* sparkles: add `order_by` and `descending` options to PaginatedQuerySchema

Signed-off-by: ff137 <[email protected]>

* sparkles: modify `get_limit_offset` to `get_paginated_query_params`

Signed-off-by: ff137 <[email protected]>

* construction: test in-progress aries-askar PR: openwallet-foundation/askar#291

Signed-off-by: ff137 <[email protected]>

* arrow_up: Update lock file

Signed-off-by: ff137 <[email protected]>

* art: fix ruff warning

Signed-off-by: ff137 <[email protected]>

* white_check_mark: fix assertions

Signed-off-by: ff137 <[email protected]>

* construction: test aries-askar with TestPyPI package

Signed-off-by: ff137 <[email protected]>

* construction: test latest askar testpypi package

Signed-off-by: ff137 <[email protected]>

* art: Update order_by description and default value. Include in schema

Signed-off-by: ff137 <[email protected]>

* bug: fix deserialisation of descending: bool parameter

Signed-off-by: ff137 <[email protected]>

* rewind: revert to testing 0.3.3b0 askar test package

Signed-off-by: ff137 <[email protected]>

* fire: remove unnecessary record sorts (now that askar sorts by id == sorting by created_at)

Signed-off-by: ff137 <[email protected]>

* white_check_mark: fix test assertions -- wallet_list and connections_list no longer does additional sorting

Signed-off-by: ff137 <[email protected]>

* arrow_up: Update lock file

Signed-off-by: ff137 <[email protected]>

* art: Modify count/start query params to be Integers, not Strings

Signed-off-by: ff137 <[email protected]>

* memo: Update openapi spec

Signed-off-by: ff137 <[email protected]>

* rewind: Revert start/count field to remain String type; mark as deprecated

Signed-off-by: ff137 <[email protected]>

* sparkles: Implement limit/offset alongside deprecated count/start

Signed-off-by: ff137 <[email protected]>

* art: Standardise naming convention from count/start to limit/offset

Signed-off-by: ff137 <[email protected]>

* rewind: Revert start/count field to remain String type; mark as deprecated

Signed-off-by: ff137 <[email protected]>

* sparkles: Implement limit/offset alongside deprecated count/start

Signed-off-by: ff137 <[email protected]>

* art: Remove unused query string schema from `w3c_creds_list`

Signed-off-by: ff137 <[email protected]>

* art: Rename args

Signed-off-by: ff137 <[email protected]>

* memo: Update openapi specs

Signed-off-by: ff137 <[email protected]>

* white_check_mark:

Signed-off-by: ff137 <[email protected]>

* art: Update start/count keywords to offset/limit

Signed-off-by: ff137 <[email protected]>

* 🐛 Fix IndyVdrLedgerPool RuntimeWarning

Resolves openwallet-foundation#3328

Signed-off-by: ff137 <[email protected]>

* 🧪 Update tests

Signed-off-by: ff137 <[email protected]>

* Revert "did:tdw resolver (openwallet-foundation#3237)"

This reverts commit f5c49b0.

Signed-off-by: ff137 <[email protected]>

* 1.1.1b5

Signed-off-by: ff137 <[email protected]>

* 🎨 Propagate the async changes

Signed-off-by: ff137 <[email protected]>

* 🎨 Propagate the async changes

Signed-off-by: ff137 <[email protected]>

* Add test wallet config option (openwallet-foundation#3355)

* Add test wallet config option

Signed-off-by: jamshale <[email protected]>

* Change wallet test arg to store true / Fix tests

Signed-off-by: jamshale <[email protected]>

* Add unit test with test wallet config

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* Week 49 Library upgrades (openwallet-foundation#3368)

Signed-off-by: jamshale <[email protected]>

* ⚡ Add class caching to DeferLoad (openwallet-foundation#3361)

Resolves openwallet-foundation#3360

Signed-off-by: ff137 <[email protected]>
Co-authored-by: jamshale <[email protected]>

* fix: check routing keys on endpoint refresh

Previously we were only checking if the endpoint value had changed but
it is possible for the routing keys to update and not the endpoint. This
resulted in new attrib txns not getting published when there were new
routing keys.

Signed-off-by: Daniel Bluhm <[email protected]>

* 1.1.1rc0

Signed-off-by: Stephen Curran <[email protected]>

* Make vc libraries mandatory (openwallet-foundation#3356)

* Make vc libraries mandatory

Signed-off-by: jamshale <[email protected]>

* Make indy-vdr library required

Signed-off-by: jamshale <[email protected]>

* Update dockerfiles after removed extras

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* Update the PR for release

Signed-off-by: Stephen Curran <[email protected]>

* Repair release bdd tests

Signed-off-by: jamshale <[email protected]>

* Add in PR to Changelog

Signed-off-by: Stephen Curran <[email protected]>

* 🎨 Reduce repetition

Signed-off-by: ff137 <[email protected]>

* Fix for demo initial cred_type override (openwallet-foundation#3378)

Signed-off-by: Ian Costanzo <[email protected]>

* chore(deps): Bump dawidd6/action-download-artifact (openwallet-foundation#3370)

Bumps the all-actions group with 1 update: [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact).


Updates `dawidd6/action-download-artifact` from 6 to 7
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](dawidd6/action-download-artifact@v6...v7)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: all-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamshale <[email protected]>

* 🎨 Log warning when StorageNotFoundError encountered, instead of exception stacktrace

Signed-off-by: ff137 <[email protected]>

* 🎨 Set Shutdown log level to fatal, with exc_info

Signed-off-by: ff137 <[email protected]>

* 🎨 Log warning for bad credential format, instead of always exception stacktrace

Signed-off-by: ff137 <[email protected]>

* 🚧 Add exc_info to error log for debugging

Signed-off-by: ff137 <[email protected]>

* 🎨 Make `ensure_supported_did` method public

Signed-off-by: ff137 <[email protected]>

* 🐛 Ensure supported DID before calling Rotate

Resolves: openwallet-foundation#3379
Signed-off-by: ff137 <[email protected]>

* ✅ Fix existing tests

Signed-off-by: ff137 <[email protected]>

* ✅ Test coverage for new DID validation

Signed-off-by: ff137 <[email protected]>

* 🎨 Shorten config key

* 🎨 Fix lying method return type

Signed-off-by: ff137 <[email protected]>

* 🎨 Replace AskarError with ProfileError

Signed-off-by: ff137 <[email protected]>

* 🚧 Skip exception log for ProfileError

Signed-off-by: ff137 <[email protected]>

* 🐛 Fix message type class mapping

Signed-off-by: ff137 <[email protected]>

* 🚧 Debug message parse error

Signed-off-by: ff137 <[email protected]>

* 🚧 Log warning instead of error for MessageParseError

Signed-off-by: ff137 <[email protected]>

* ⬆️ Bump version

Signed-off-by: ff137 <[email protected]>

* ⬆️ Update lock file

Signed-off-by: ff137 <[email protected]>

* 🎨 Fix model name for consistency

From Anoncred to Anoncreds

Signed-off-by: ff137 <[email protected]>

* 🎨 Set wallet upgrade exception log to warning

Signed-off-by: ff137 <[email protected]>

* Update anoncreds format names (openwallet-foundation#3374)

* Update anoncreds format names

Signed-off-by: jamshale <[email protected]>

* Add a unit test

Signed-off-by: jamshale <[email protected]>

---------

Signed-off-by: jamshale <[email protected]>

* 🎨 Fix model name for consistency (openwallet-foundation#3382)

From Anoncred to Anoncreds

Signed-off-by: ff137 <[email protected]>
Co-authored-by: jamshale <[email protected]>

---------

Signed-off-by: ff137 <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: jamshale <[email protected]>
Signed-off-by: Emiliano Suñé <[email protected]>
Signed-off-by: Ricky Ng-Adam <[email protected]>
Signed-off-by: Daniel Bluhm <[email protected]>
Signed-off-by: Stephen Curran <[email protected]>
Signed-off-by: Ian Costanzo <[email protected]>
Co-authored-by: Daniel Bluhm <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: jamshale <[email protected]>
Co-authored-by: jamshale <[email protected]>
Co-authored-by: Stephen Curran <[email protected]>
Co-authored-by: Emiliano Suñé <[email protected]>
Co-authored-by: Ricky Ng-Adam <[email protected]>
Co-authored-by: Ian Costanzo <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant