Incorrect earning values for default selected time range

Describe the bug
For a selected hotspot default selected time range is 14 days, but earning values displayed for this hotspot or network average are the one for 7 days.
To Reproduce
Steps to reproduce the behavior:

Open the app
Select an hotspot
Scroll down to see earnings
By default selected time range is 14D. Note "Your Earnings" and "Network avg" values.
Select 7D timerange. Values are not changing.
Select back 14D timerange. We now can see normal 14D time range values.

Expected behavior
14D is the default time range, so displayed earnings should also be the ones from 14D time range.
Screenshots
Not possible as application prevent this.
Smartphone (please complete the following information):

Device: Poco F3
OS: Android 11
App Version: 3.10.0

Additional context
This behaviour seems not occuring if i switch from one of the hotspot to another one.
So to reproduce this we need to have the app not running at the begining.

Thanks for the report! This will be fixed in next release, app version 3.11.0.


4 String Algorithms in Python

PR Contents

4 Programs for String algorithms (Password Checker, Morse Code, Rabin Karp algorithm, Anagram Search)

Reason for Implementation

As a part of #2 (Algorithm implementations in Python)

@abranhe I have added 4 string algorithms. Can you please have a look?


Module_19_QuoteImage

Pictures are blurry.

We use mobile pictures for desk and lap. So they were cropped and transformed,
but we have 3 assets for 3 breakpoints.

User
Estimation

@username
time

Also the credit text style is wrong, it has to be Maison light /white as all credits on all levels.
wrong

right


First class results error using remote ray

I checked out https://github.com/PrefectHQ/prefect/pull/6908 branch on both local and remote machine, then ran this code (if address is omitted, it works). Any ideas @madkinsz?
from typing import List

from prefect import flow, get_run_logger, task
from prefect_ray.task_runners import RayTaskRunner
from prefect.settings import temporary_settings, PREFECT_LOCAL_STORAGE_PATH

# from prefect_dask.task_runners import DaskTaskRunner

@task
def say_hello(name: str) -> None:
    logger = get_run_logger()
    logger.info(f"hello {name}")

@task
def say_goodbye(name: str) -> None:
    # logs not currently working see https://github.com/PrefectHQ/prefect-ray/issues/25
    logger = get_run_logger()
    print("print goodbye")
    logger.info(f"goodbye {name}")

# run on an existing ray cluster
@flow(
    task_runner=RayTaskRunner(
        # <IP_ADDRESS>:10001 is port-forwarded to the remote ray cluster
        address="ray://myaddress",
    )
)
def greetings(names: List[str]) -> None:
    for name in names:
        say_hello.submit(name)

if __name__ == "__main__":
    greetings(["arthur", "trillian", "ford", "marvin"])

Results in:
15:29:39.838 | INFO    | prefect.engine - Created flow run 'wakeful-condor' for flow 'greetings'
15:29:39.839 | INFO    | prefect.task_runner.ray - Connecting to an existing Ray instance at ray://<IP_ADDRESS>:10001
15:29:43.498 | INFO    | prefect.task_runner.ray - Using Ray cluster with 1 nodes.
15:29:44.509 | INFO    | Flow run 'wakeful-condor' - Created task run 'say_hello-811087cd-0' for task 'say_hello'
15:29:46.272 | INFO    | Flow run 'wakeful-condor' - Submitted task run 'say_hello-811087cd-0' for execution.
15:29:46.366 | INFO    | Flow run 'wakeful-condor' - Created task run 'say_hello-811087cd-2' for task 'say_hello'
15:29:46.458 | INFO    | Flow run 'wakeful-condor' - Submitted task run 'say_hello-811087cd-2' for execution.
15:29:46.461 | INFO    | Flow run 'wakeful-condor' - Created task run 'say_hello-811087cd-3' for task 'say_hello'
15:29:46.553 | INFO    | Flow run 'wakeful-condor' - Submitted task run 'say_hello-811087cd-3' for execution.
15:29:46.554 | INFO    | Flow run 'wakeful-condor' - Created task run 'say_hello-811087cd-1' for task 'say_hello'
15:29:46.647 | INFO    | Flow run 'wakeful-condor' - Submitted task run 'say_hello-811087cd-1' for execution.
15:29:46.728 | INFO    | Task run 'say_hello-811087cd-0' - Crash detected! Execution was interrupted by an unexpected exception.
15:29:46.849 | INFO    | Task run 'say_hello-811087cd-1' - Crash detected! Execution was interrupted by an unexpected exception.
15:29:47.005 | INFO    | Task run 'say_hello-811087cd-2' - Crash detected! Execution was interrupted by an unexpected exception.
15:29:47.134 | INFO    | Task run 'say_hello-811087cd-3' - Crash detected! Execution was interrupted by an unexpected exception.
15:29:48.747 | ERROR   | Flow run 'wakeful-condor' - Finished in state Failed('4/4 states failed.')
Traceback (most recent call last):
  File "/Users/andrew/test2.py", line 40, in <module>
    greetings(["arthur", "trillian", "ford", "marvin"])
  File "/Users/andrew/Applications/python/prefect/src/prefect/flows.py", line 390, in __call__
    return enter_flow_run_engine_from_flow_call(
  File "/Users/andrew/Applications/python/prefect/src/prefect/engine.py", line 152, in enter_flow_run_engine_from_flow_call
    return anyio.run(begin_run)
  File "/Users/andrew/mambaforge/envs/ray310/lib/python3.10/site-packages/anyio/_core/_eventloop.py", line 70, in run
    return asynclib.run(func, *args, **backend_options)
  File "/Users/andrew/mambaforge/envs/ray310/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 292, in run
    return native_run(wrapper(), debug=debug)
  File "/Users/andrew/mambaforge/envs/ray310/lib/python3.10/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/Users/andrew/mambaforge/envs/ray310/lib/python3.10/asyncio/base_events.py", line 646, in run_until_complete
    return future.result()
  File "/Users/andrew/mambaforge/envs/ray310/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 287, in wrapper
    return await func(*args)
  File "/Users/andrew/Applications/python/prefect/src/prefect/client/orion.py", line 86, in with_injected_client
    return await fn(*args, **kwargs)
  File "/Users/andrew/Applications/python/prefect/src/prefect/engine.py", line 232, in create_then_begin_flow_run
    return state.result()
  File "/Users/andrew/Applications/python/prefect/src/prefect/client/schemas.py", line 116, in result
    state.result()
  File "/Users/andrew/Applications/python/prefect/src/prefect/client/schemas.py", line 102, in result
    raise data
TypeError: missing a required argument: 'result_factory'

My mistake; didn't pull the latest main on my local machine.


Start testing on Python 3.5

This should work now that py.test 2.7.3 is out.
Ping @Carreau

:cake:


feat(routing): add reconnection parameters to module config

To be consistent with other parameters in Mediation Recipient module, baseMediatorReconnectionIntervalMs and maximumMediatorReconnectionIntervalMs in AgentConfig are marked as deprecated and added to RecipientModuleConfig.
Default values and reconnection logic remain identical to 0.2.x.

Codecov Report

Merging #1070 (d5540c3) into main (7f37a62) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main    #1070   +/-   ##
=======================================
  Coverage   88.22%   88.22%
=======================================
  Files         680      680
  Lines       15903    15907    +4
  Branches     2570     2572    +2
=======================================
+ Hits        14030    14034    +4
  Misses       1865     1865
  Partials        8        8

Impacted Files
Coverage Δ

packages/core/src/agent/AgentConfig.ts
95.45% <ø> (+6.06%)
:arrow_up:

packages/core/src/agent/AgentModules.ts
100.00% <ø> (ø)

packages/core/src/modules/routing/RecipientApi.ts
61.81% <0.00%> (ø)

.../core/src/modules/routing/RecipientModuleConfig.ts
73.33% <0.00%> (-26.67%)
:arrow_down:

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


Create set-shortcut.ps1

Function which is meant to be creating "malicious" shortcuts locally. It was not decide how it will be invoked.
Proposed Changes

Existing repo contains a static shortcut which could be interpreted as "malicious" and people could freak out.
I added set-shortcut function which could allow us to replace that static shell link binary file with alternative created locally during deployment of WAU

Related Issues

https://github.com/Romanitho/Winget-AutoUpdate/issues/519

usage

example of usage has been appended to function file in non-active code block.

fair.
Either way at least one of those groups will be complaining about LNK file :/


Date line grid issues

From feature/new-grid-system branch.
Grid is being filled in along the date line but errors when selecting:

cc @danielfdsilva

When zoomed out you can see the world multiple times. The system tried to paint squares over all of them. Since we are limiting the bounds we can just paint the squares over one of the worlds and that solves the problem.
If we absolutely need to have the squares repeat on all worlds we need to use a different approach.


request: push entr pkg to kiss-community/community

if you are able to maintain it of course.
if you don't want to, i can try to maintain.

Done: https://github.com/kiss-community/community/pull/1186


odb: adding support to serialize and de-serialize std::unordered_map

This is based on the already existing case for std::map

We already have dbHashTable that supports serialization.  Is there a reason to add unordered_map?

So, I was looking at dbHashTable.h and dbHashTable.hpp and it seems to be a custom implementation of a hash table, I would say that it is better to just use the standard implementations and reduce the surface for possible bugs, unless they have some feature that would be useful when dealing with db objects.
We already have std::map in the serialization code, so there is at least some use case for the standard containers.
Would you recommend me to use dbHashTable instead?


More mp4 codec support + more CDN regions (Asia)

What's the problem? (required) Describe the problem or need in exactly 1
sentence. Ex. "I'm unable to [...]", or "I am confused by [...]"
Sasi from Lenstube:

some of the videos that uploaded using URL is failed.  Currently only allowing .mp4 videos to upload, it might failed because it was not H264 , im not sure how many other codecs available in mp4.
The video served from livepeercdn url takes long to load in client (atleast for me from India)
Only concern for me is, uploads without any failure and seemless playback via CDN thats it.

What's the current behavior? (required) A clear and concise description of
the current behavior of the DApp or package (or lack thereof).

Upload to Arweave and ingesting URL to Livepeer fails at times due to other formats other than H.264 + AAC
Experiencing long load time from serving Livepeer cdn URL

slow loading in client is likely cause of using download URL, not playback URL. should be instructed about using an HLS player like lvpr.tv
the error might not really be about codecs. nevertheless, we will fix both the codecs and this issue that we think is happening here in less than 1 month (with migration to Catalyst VOD)


[FEATURE] Add Search Capablity to Garvitino Docs

Describe the feature
As a developer, I would love to search through the docs on the website https://gravitino.apache.org/docs/0.7.0-incubating/
but I couldnt find a search bar, it would be super helpful if we could have that.
Motivation
No response
Describe the solution
No response
Additional context
No response

for https://datastrato.ai/docs/0.5.1/ it does have search capability, could we use the same solution? is it allowed/made exceptions by ASF?


Create PostController.php

Description

Related Issue (Link to Github issue)

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate - Postman, etc):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

There's no route, no tests, no documentation. The response doesn't follow the correct format. Fix your code.


fix(route): Fixing routes

:tada: This PR is included in version 1.3.0 :tada:
Your semantic-release bot :package::rocket:


Optimization: Limit max depth in searching for arbs

_get_shortest_route in arbitrages can be optimized to only search down to a max depth of the current shortest route (since anything longer will be discarded)

This was fixed in https://github.com/flashbots/mev-inspect-py/pull/212


o1VM: prefix columns vars with N and suffix with COLS

To be consistent.

Nice! in https://github.com/o1-labs/proof-systems/pull/2186 the current format is as follows:
    const N_COL: usize,
    const N_REL: usize,
    const N_DSEL: usize,
    const N_FSEL: usize,

Ah, the PR should not have been merged as it contained changes from other PRs. I was fixing this.
I am reverting in a follow-up PR @volhovm


[CLOSED] Create a place-my-order server.

Issue by justinbmeyer from Tuesday Jun 02, 2015 at 22:18 GMT
Originally opened as https://github.com/donejs/donejs/issues/2

Comment by daffl from Thursday Jun 11, 2015 at 17:35 GMT

This has been released as https://github.com/bitovi/place-my-order-api


[<IP_ADDRESS>] Background Literature

Issue Details
Description
This Sub Issue is about documenting a sub section of the Introduction called the "Related Background Literature".
Goals
To include research you have done about the domain that your project is in here. Also, any materials you read to help you with the project, and any competing methods/APIs/software.
Success or Completion Criteria
To have our Project Brief, a short portion of Existing Solutions and a guideline style for our User Interface.
Allocated Time
4 Days
Start Date: 04/09/23, 1730
End Date: 07/09/23, 1200

Issue Comments
Description
Having extensively researched our project's domain, I've reviewed numerous materials and references to aid our progression. Additionally, I've analyzed various competing methods, APIs, and software to ensure our solution is both innovative and competitive.
Changes to success or completion criteria? y/n (if y, describe)
n
Start Date: 19/09/23, 0900
End Date: 20/09/23, 2359


Update SQL Report ID Spreadsheet

Report IDs to be updated on spreadsheet for tracking

SQL report ID updated with use cases assigned to me

Reviewed with team Feb 19/22. All queries have been captured.


$update not fired when components have a $init defined

Hi guys,
I've faced the following problem, the function $update is not fired in all subcomponents when they have a $init function defined, maybe i did something wrong:
First case (that works):
var test = {
    _date: null,

    $cell:true,

    $init: function() {
        this._d1 = this.querySelector('div');
        this._d2 = this.querySelector('div:last-child');

        this._date = new Date(Date.now());
        this._date.setHours(0);
        this._date.setMinutes(0);
        this._date.setSeconds(0);
        this._date.setMilliseconds(0);
    },

    $update: function() {
        this._d1._date = new Date('2017-11-08');
        this._d2._date = new Date('2017-11-09');
    },

    $components: [
        {
            _date: null,

            $update: function() {
                console.log('from d1', this._date);
            }
        },
        {
            _date: null,

            $update: function() {
                console.log('from d2', this._date);
            }
        }
    ]
};

Here everything is fine it logs 'from d1' and 'and from d2'
but with this one things don't work the same way:
var test = {
    _date: null,

    $cell:true,

    $init: function() {
        this._d1 = this.querySelector('div');
        this._d2 = this.querySelector('div:last-child');

        this._date = new Date(Date.now());
        this._date.setHours(0);
        this._date.setMinutes(0);
        this._date.setSeconds(0);
        this._date.setMilliseconds(0);
    },

    $update: function() {
        this._d1._date = new Date('2017-11-08');
        this._d2._date = new Date('2017-11-09');
    },

    $components: [
        {
            _date: null,

            $init:function() {},

            $update: function() {
                console.log('from d1', this._date);
            }
        },
        {
            _date: null,

            $init:function() {},

            $update: function() {
                console.log('from d2', this._date);
            }
        }
    ]
};

In this example it only pass in the 'from d2'
What am i getting wrong?
i include celljs from this link:
https://www.celljs.org/cell.js
Regards

Thanks for reporting, this was happening because of the order in which the nodes were getting initialized via $init. I fixed it so that the nodes get initialized in the order you would normally expect: https://github.com/intercellular/cell/pull/156
I also merged it to develop so please try using the latest develop branch version. (You can try this too: https://rawgit.com/intercellular/cell/develop/cell.js)
That said, I want to point out that you should avoid all these $inits and $updates as much as possible. The whole point of Cell is that it gets rid of all the boilerplate code that you're forced to write in other "reactive" frameworks. I say this because I see a lot of confused people trying to use Cell like they use other frameworks.
Here's what this means in practice:
if you want to build a node with a text "Hello world",
instead of:
var n = {
  $cell: true,
  $init: function() {
    this.$text = "Hello World"
  }
}

you should just do
var n = {
  $cell: true,
  $text: "Hello World"
}

This approach is native to how the DOM actually works. You're basically writing a blueprint JSON for your DOM tree, and this blueprint should not have all these complex $init() callbacks and $update() callbacks as much as possible.
So when do you use them?
In case of $init, you use it if you want to apply some logic AFTER the node is drawn to the screen. For example you may want to apply a jQuery plugin or some javascript library to your node. Here's an example: https://play.celljs.org/items/yqefWy/edit
In case of $update, you use it ONLY when you want to actually "update". I think this is much more intuitive and native way of building web apps, you don't need to write all the boilerplate code to make your app "reactive". With Cell, when it says "$update" it literally means update. Here's an example:
var caption = "Hello World";
var n = {
  $cell: true,
  $type: "a",
  _counter: 0,
  $update: function() {
    this.$text = "Clicked " + this._counter + " times";
  },
  $text: "Click me",
  onclick: function() {
    this._counter++;
  }
}

Notice how we're directly setting the $text attribute, no $inits necessary, and you only use $update to respond to actual updates of _variables.
In fact you don't even really need to use the $update callback, you can directly modify the node from any function if you want, like this (demo here https://jsfiddle.net/bnLw8htg/3/):
var caption = "Hello World";
var n = {
  $cell: true,
  $type: "a",
  _counter: 0,
  $text: "Click me",
  onclick: function() {
    this._counter++;
    this.$text = "Clicked " + this._counter + " times";
  }
}

Notice how there's no $init nor $update. This is a perfectly fine usage of Cell.
The reason we have $update() callback is because above approach doesn't scale for more complex apps, because then we would be making view updates everywhere and would be hard to keep track. The $update callback provides a nice interface where you can aggregate all view update related methods and update all at once in a single tick.
Hope this makes sense.

Anyway, closing this, since I think it's fixed. Please reopen if not. Thanks!


error with NPM start

I am having an issue running npm start on windows and am getting this error.
><EMAIL_ADDRESS>start F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server
> node ../../main

F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server\node_modules\fibers\future.js:280
                                                throw(ex);
                                                ^

Error: double colon in host identifier
    at module.exports (F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server\npm\node_modules\meteor\npm-mongo\node_modules\mongodb\lib\url_parser.js:91:13)
    at connect (F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server\npm\node_modules\meteor\npm-mongo\node_modules\mongodb\lib\mongo_client.js:266:16)
    at Function.MongoClient.connect (F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server\npm\node_modules\meteor\npm-mongo\node_modules\mongodb\lib\mongo_client.js:113:3)
    at new MongoConnection (packages/mongo/mongo_driver.js:174:11)
    at new MongoInternals.RemoteCollectionDriver (packages/mongo/remote_collection_driver.js:4:16)
    at Object.<anonymous> (packages/mongo/remote_collection_driver.js:38:10)
    at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
    at new Mongo.Collection (packages/mongo/collection.js:103:40)
    at AccountsServer.AccountsCommon (packages/accounts-base/accounts_common.js:23:18)
    at new AccountsServer (packages/accounts-base/accounts_server.js:18:5)

npm ERR! Windows_NT 10.0.14393
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v4.4.3
npm ERR! npm  v3.5.0
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>start: `node ../../main`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script 'node ../../main'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the meteor-dev-bundle package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ../../main
npm ERR! You can get their info via:
npm ERR!     npm owner ls meteor-dev-bundle
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     F:\Documents\Github\FEMA-SAH-WebApp\FEMA-SAH-WebApp\.demeteorized\bundle\programs\server\npm-debug.log

Any help is greatly appreciated, and I can provide more info on request.

This seems related: Error: “Double colon in host identifer”

@jkd65 Be sure that you are not including a trailing / when providing your ROOT_URL environment variable.
I'm closing this as it's not related to Demeteorizer, but feel free to re-open it or respond if you have additional questions/comments.


[RFC] Async Storage v2

Async Storage v2
Motivation
A few months back, due to the lean core effort, Async Storage was moved to a standalone repo, making it more open for bug fixes and feature implementations. By adding semantic-versioning, we've made sure that releases happen more often, keeping the library in a good shape.
One of the discussed topics among the community was adding support for out of the tree platforms, so in a case where you have multi-platform project (say, Web app and RN app, sharing components and/or business logic), you don't have to use two different libraries for persisting data.
In a new major release, I'd like to introduce a concept of replaceable storage backends, making Async Storage more open not only to other platforms but also to other storage implementations.
Main changes
Current Async Storage is strictly coupled with its storage implementation (SQLite for Android and serialized dictionary/files for iOS). The replaceable storage feature would give you the ability to use adequate storage for a given task - think of using Shared Preferences for simple key-values, while still being able to use SQLite database for larger data, using the same API.
Key benefits :

Use one or more storages that matches your application needs, using the same API
Support for out-of-the-tree platforms
Storages are developed independently

Implementation
There are three main parts of this feature:

Async Storage factory
Async Storage Public API
Storage implementation (using Common Storage API)

Async Storage Factory
This factory class creates an instance of AsyncStorage with selected storage set. You can pick storage used based on platform or other condition.
class AsyncStorageFactory {
  static create(storage: AsyncStorageBackend, opts?: FactoryOptions): AsyncStorage {}
}

Creation of Async Storage can be enhanced by passing FactoryOptions options. Features such as logging can be set up here (added later, over time).
type FactoryOptions {
	// use default or provide logger function
	enableLogging: (logger?: boolean | function): any
}

Public API
class AsyncStorage {

 /*
  * expected to return a value stored under 'key'
  * `null` when value not found
  */
  get(key: string, options?: AsyncStorageOptions): Promise<mixed> {}

 /*
  * expected to save `item`, using `key`
  */
  set(key: string, item: mixed, options?: AsyncStorageOptions): Promise<void> {}

 /*
  * expected to get a value for each passed key
  * returns array with retrieved items
  */
  getMultiple(
    keys: Array<string>,
    options?: AsyncStorageOptions,
  ): Promise<Array<mixed>> {}

 /*
  * expected to save key-values in storage
  */
  setMultiple(keyValueArray: Array<Object>, options?: AsyncStorageOptions): Promise<void> {}

 /*
  * expected to removed item, stored under `key`
  * returned value denotes success of operation ( true = success )
  */
  remove(key: string, options?: AsyncStorageOptions): Promise<void> {}

 /*
  * expected to remove multiple values
  */
  removeMultiple(keys: Array<string>, options?: AsyncStorageOptions): Promise<void> {}

 /*
  * expected to return all keys used to store values
  */
  getKeys(options?: AsyncStorageOptions): Promise<Array<string>> {}

 /*
  * expected to clear all stored data in storage
  */
  removeWholeDataFromTheStorage(options?: AsyncStorageOptions): Promise<void>

 /*
  * returns the instance of the storage backend. Useful if it has additional functionality not covered by public API
  */
  instance(): AsyncStorageBackend
}

Supported actions are write/update, read and delete.

Promise based API (no callbacks). This is mainly to focus on one API model and leverage Promise API  (callbacks could be implemented through AsyncStorageOptions).

AsyncStorageOptions is optional config passed down to storage implementation. Type is dependent on storage used.

type AsyncStorageOptions<T> = T;

Storage Backend API

interface AsyncStorageBackend<T> {

  getSingle<T>(key: string, opts?: T): Promise<T | null>

  setSingle<T>(key: string, value: T, opts?: T): Promise<void>

  getMany(keys: Array<string>, opts?: T): Promise<Array<any>>

  setMany(values: Array<{ [key: string]: any }>, opts?: T): Promise<void>

  removeSingle(key: string, opts?: T): Promise<void>

  removeMany(keys: Array<string>, opts?: T): Promise<void>

  getKeys(opts?: T): Promise<Array<string>>

  dropStorage(opts?: T): Promise<void>
}

AsyncStorageBackend interface (Common Storage API on the diagram) must be applied by any Storage Backend in order to be valid. Those methods are called by Public API, passing options down.
As an example, where's how Storage Backend would look for a Web (using localStorage):

class WebStorageBackend implements AsyncStorageBackend<OptionsType> {
  async getSingle(key: string, opts?: OptionsType) {
    return window.localStorage.getItem(key)
  }

  async setSingle(key: string, value: any, opts?: OptionsType) {
    return window.localStorage.setItem(key, value)
  }

  // ...
}

Other changes

Migration to Typescript (keeping support for Flow)

Monorepo (see questions below)

TBD.

Questions

API (both public and common storage)

Do we plan to maintain Storage Backends in the main repo? If yes, should we move to monorepo?

One feedback I have is that since the public API and the storage backend API have 1:1 mapping, it'll be better not to have different naming for them and have the same API.
Though it also begs the question, if the storage backend and the public API have the same methods, then what'll be the advantage of AsyncStorageFactory.create instead of using the storage backend directly? Will there be some additional functionality added by the factory?
Regarding the storage backend for web, instead of localStorage, I'd suggest using IndexedDB for the default implementation because localStorage is sync and doesn't work in web workers etc.

If we are going to completely break the public API, I would suggest that we look for API compatibility with the kv-storage proposal:
https://github.com/WICG/kv-storage

This sounds good! I have one question and a couple of comments:
Maintaining backwards compatibility
Could the new public API be implemented without completely breaking older code?
I did this with the NetInfo module by checking the type of the parameters and falling back to old behaviour if needed. This should help smooth out the adoption of the new version as it will be less of a problem if two libraries depend on AsyncStorage and one hasn't been updated.
It's more work to do this, but is much nicer for users of library. You can see a chunk of the NetInfo compatibility code here:
https://github.com/react-native-community/react-native-netinfo/blob/5dab2534d49b32ffdc386c807f6f3e077c644c6c/src/index.ts#L33-L94
Using kv-storage API as a base
I like the idea, but it seems like their API does not support getting and setting multiple keys at once. This is a really good optimisation for React Native due to the bridge and not something we should loose.

Thank you all for the comments and suggestions!
@satya164 I've left names different to explicitly distinguish public API from Backend API, for cases like calling Storage directly (not through AsyncStorage API).
Regarding mapping, I thought about adding options to the factory, to extends the AS instance (for example, adding fallback storage, in case your primary is not available or some kind of middleware extension, like a logger, to ease storage debugging).
@3rd-Eden As @matt-oakes said we have methods to do operations on more than one data (multi set/get/remove), for optimization reasons, which are not supported in kv-storage. I also think that more explicit names like getItem, are more self-explaining.
@matt-oakes  I think that adding the factory is already a big breaking change, but we could add support for old methods name (like getMulti/setMulti), by providing a flag to the factory (while creating an instance).
thanks.

Awesome idea! I would go with monorepo with current implementations for Android / iOS. We can let people create their own implementations, but let's provide bottom line for people who don't want to do this.
I agree with @satya164, making explicit distinguish sounds good, but why do we want to change public API? I would change the Backend API method names, not the Public API if they must be easy to differentiate.
Good direction for improvements! I will keep my fingers crossed.

I like the idea, tough I'm against having backward compatibility as a prime idea. We are talking about a new major version of Async Storage, so it is fine to change API. IMO the public API that kv-storage is better that the current Async Storage API - for instance setItem is no better than just set, like what else could I set except for item?
That being said backward compatibility is a important feature for some people, so IMO it is better to have it as a opt-in in factory - there could be create and createLegacy or just a flag in create.

I love the idea to use SharedPrefernces and NSUserDefaults. I really do not need SQLite to save key-value settings.
Also I think it is nice pointing out that with the Async Storage Factory, it should be easier to also access the data from native directly (useful for brownfield apps and others).

Do we plan to maintain Storage Backends in the main repo? If yes, should we move to monorepo?

In favour of having some storages available.

@pbitkowski @zamotany I want public API to be as clear as it can get. I'm fine with set/get/remove/multi*/ API.
@ferrannp I'm fine with getKeys, it's just a proposal. Regarding removeWholeDataFromTheStorage - more explicit name for irrecoverable action.
Regarding backward compatibility, I was thinking about providing LegacyStorage, which will use old storage location/files, with new API (so you're not giving up on your old data).
AsyncStorageFactory could be enhanced with options object. For example, a flag to enable logging, so it'd be easier to debug what's going in and out of storages.

Will the multi* functions still be relevant with the upcoming Fabric rewrite? If they're only there to reduce the number times you have to cross the bridge, I wonder if we have enough usage to warrant carrying it over to v2. I know we don't use them in our apps. I'd vote to have the API closer to kv-storage if that's what the community is moving towards.
Re: AsyncStorageBackend, I think another way to think about it is that it only provides the smallest building blocks for a storage. AsyncStorageFactory then gives us the ability to build things upon it, like logging as @Krizzu mentioned.

Great work on the RFC, I really like that.
One question - what do you think about supporting JavaScript objects by default and letting the backend to decide whether they want to serialise it entirely or not? Doing JSON.parse/JSON.serialise is not a big deal, but I feel like moving this responsibility over to storage backend would allow for more performant storage (if backend supports objects) and more expressive interface for setting and accessing values.

@grabbou The main assumption is to let Storage decide what to do with given data (serialize it or not, modify it somehow, etc.).
Thank you all for the feedback. I'll do adjustments to API and add necessary details so we could begin the work soon.
thanks.

I'd love to see two things:

A way to determine storage usage (bytes) via the API. There's a (lightly documented) method through the debugger, but the idea here would be to a. make this act a first-class citizen in the API, and b. allow programs to monitor themselves better (report it to QOS systems, log it to the console at app start, etc.)

Clarify the API around clearing the store. Right now there is a very convenient .clear() operation with specific instructions NOT to use it because an app can delete more than its own data. It's not clear at all what "other" data would be cleared here, or why the function is provided in the first place if it's so dangerous. The docs suggest clearing per key, but this is a nuisance for app developers to do and you can see how most might reach for the more convenient option.

Clearing the store is an operation nearly every app should include if there's any kind of logout function. It would be great to clean up how this operation is done.

I'd leave this as a storage backend feature. You'd be able to access it through its instance (see instance() method on public API).

This functionality is strictly connected to the current implementation of AS. All all data is saved to one file and clear is there to drop this file. I want to avoid having single storage for multiple apps in v2.

I've updated the API a bit. Going to create a GH Project, so progress can be tracked down.

Plan to start v2:

Move current master under LEGACY branch, to keep it in maintain mode ( + Disable semantic-releases)
Move to monorepo, using Yarn Workspaces:

core (public API)
storages to hold maintained storages implementation
docs where the whole API will be documented

Going to start working on this later this week.

Is there a plan/discussion of using CoreData's SQLite on iOS? (Worked in similar issue a few days ago and made me wonder about it)

@sidferreira 	The good thing about this RFC is that it allows you to create your own Storage solution and use it with Async Storage - you just need to apply an interface.

Is there any timeline in mind?

Doing this in my free time, so trying to squeeze in as much as I can. Sorry, no timeline in mind just yet

LMK how to help (I still have to read all issues about this, maybe I can figure out of it...)

Hello!
Great work on this RFC.
I've found an article about AsyncStorage Optimization: https://medium.com/@Sendbird/extreme-optimization-of-asyncstorage-in-react-native-b2a1e0107b34
Few things listed there:

Group items into a block for less disk operation
Batch write
Dump Promise
Memory caching

This list reminds me about Dataloader, which has browser support.
Any thoughts?

I'd suggest implementing / "subclassing" the public kv:storage API
See

https://wicg.github.io/kv-storage/
https://github.com/WICG/kv-storage
https://github.com/GoogleChromeLabs/kv-storage-polyfill

So that JS code can easily target both react-native and [react-native-]web .

Does v2 has any solution for 2mb cursor limit? I have tested in different android phones, I think the issue is only in devices with android < 8. Nexus 5 with android 6 has the issue and s9 with android 9 works fine.
#10

@gamingumar Plan is to move the current AsyncStorage implementation into v2 (named as Legacy storage), so you won't lose your data once you upgrade.
Reimplementing the Legacy storage is something that needs discussing, so that it would cover most of the cases other devs are facing.

Hi guys,
this discussion is very interesting and I would like to have your opinion about the wora/cache-persist  library that I used in react-relay-offline & wora/apollo-offline to manage persistence and offline capabilities.
In short, wora/cache-persist is an object that allows you to manage interfacing with storage (localStorage, sessionStorage, indexedDB, AsyncStorage & any custom storage) in "synchronous" mode and with the possibility of serializing and deserialization of keys and values in storage (used to filter keys, encription, compression ...)
This result is achieved by combining:

the initial restore of data persisted in an inmemory object (this is asynchronous, so either you perform the await on restore or perform the reconciliation between the initial state and the persistent state)
after restore, data is read and written synchronously in the inmemory object (optimizes performance)
each mutation of the object in memory is inserted in a queue managed asynchronously (the storage update interval is configurable, throttle default 500ms)
at the end of the interval a merge of the mutations is made in order to avoid repeated writing
the writes are grouped and the multiSet function of the storage is invoked
removals are grouped and the storage multiRemove function is invoked

Why not make getMultiple return an object instead of an array?
const {name, email} = await AsyncStorage.getMultiple(['name', 'email']);

I agree that set and get is simpler than setItem and getItem, but there's an argument to be made for conserving the existing API, since it allows for "plug and play" interoperability with a lot of libraries without having to wrap the new AsyncStorage yourself.

@Sofianio
Consistency. setMany accepts an array of key-values, to save value for given key. Similarly, getMany accepts an array of keys (strings) and retrieves values, returning an array of them.
You can use array destructuring to achieve similar output:
const [name, email] = await AsyncStorage.getMultiple(['name', 'email']);
@denkristoffer
That's interesting point. Can you elaborate bit more about it?
The point of v2 is to have a unified way of accessing persistent storage mechanism. This allows for different implementation of storage itself and support for other platforms than just Mobile, while using the same API.

@Krizzu I just think it might not be worth changing the method names for a slight API improvement if it means breaking compatibility with every library that works with the existing AsyncStorage implementation or window.localStorage 🙂 But if they are to be renamed, now's the best time to do it of course!

@Krizzu Then why not make setMany take an object and getMany return an object ?
seems easier to deal with than array of arrays

@Krizzu Can we set AsyncStorage location for iOS now? I didn't see anything on it in here or might have missed it out. Please suggest.

Can't use with redux-persist it expects getItem and not get, setItem and not set !!!!?

clearStorage will throw error

and the error points to here:

This still happens, and has not been fixed, it just doesn't show a "Red"/Error screen any longer. I see a warning being logged and a white screen. In the log it will say:
[TypeError: undefined is not an object (evaluating 'this.error')]

With a trace pointing to a library file. I'm only using .get at the moment. The second I comment out the line, it will render the app for me.

@kennetpostigo
Which line specifically?

const magic = await storage.get('@magic-link')

@kennetpostigo Could you open a new issue describing this problem with repro steps? Thanks in advance.
Thanks everyone for this conversation. It's been a long time since I started this and due to the fact that v1 also needs active attention for development, I'm putting v2 on hold. It's still open for PRs/suggestions, but I'm going to be less active for this part of AsyncStorage.


Fix enum switch for Kotlin 1.7.10

Describe the bug
Compilation issue with Kotlin 1.7.10.
/builds/projet-root/.pub-cache/hosted/pub.dartlang.org/device_calendar-4.2.0/android/src/main/kotlin/com/builttoroam/devicecalendar/CalendarDelegate.kt: (772, 9): 'when' expression must be exhaustive, add necessary 'DAILY', 'HOURLY', 'MINUTELY', 'SECONDLY' branches or 'else' branch instead
[282](https://gitlab.socrate.vsct.fr/projet-root/-/jobs/14970613#L282)FAILURE: Build failed with an exception.

Actual code
when (rfcRecurrenceRule.freq) {
            Freq.WEEKLY, Freq.MONTHLY, Freq.YEARLY -> {
                recurrenceRule.daysOfWeek = rfcRecurrenceRule.byDayPart?.mapNotNull {
                    DayOfWeek.values().find { dayOfWeek -> dayOfWeek.ordinal == it.weekday.ordinal }
                }?.toMutableList()
            }
        }
Proposed correction code
when (rfcRecurrenceRule.freq) {
            Freq.WEEKLY, Freq.MONTHLY, Freq.YEARLY -> {
                recurrenceRule.daysOfWeek = rfcRecurrenceRule.byDayPart?.mapNotNull {
                    DayOfWeek.values().find { dayOfWeek -> dayOfWeek.ordinal == it.weekday.ordinal }
                }?.toMutableList()
            }
            else -> null
        }
Let me know if you need more information.
Regards

The code change itself looks good.
Could you please open an identical PR to the develop-branch instead? develop is the main/master branch of this project.

Apparently something you fix in the develop branch already :
    val frequency = when (rfcRecurrenceRule.freq) {
        RruleFreq.YEARLY -> RruleFreq.YEARLY
        RruleFreq.MONTHLY -> RruleFreq.MONTHLY
        RruleFreq.WEEKLY -> RruleFreq.WEEKLY
        RruleFreq.DAILY -> RruleFreq.DAILY
        else -> null
    } ?: return null
    //Avoid handling HOURLY/MINUTELY/SECONDLY frequencies for now

Do you have any ETA for a new release or maybe push the fix on release ?
I can also use the fork in the meantime ;)

Unfortunately, I cannot give an ETA for the new release.
See https://github.com/builttoroam/device_calendar/pull/445 which tracks the progress. Looks like the only thing blocking a new release at the moment is achieving a bit more compatibility with the RecurrenceRule implementation of versions < 5.0.
Personally, I'm most likely not able to put enough work into this project to push the (pre-)release within two / three weeks. Early December I could have more time, no promises tho.

Closing this since apparently it's fixed
Also this is submitted to the wrong branch. Please submit PR to develop instead


Improve VCS waves performance by using vlsi-mem-gen for SimAXIMem

Issue:
Dumping the SimAXIMem to waves degrades VCS performance, incurs a ~30 second startup penalty to VCS simulations, and generates >800MB .vpds. Ideally, we would be able to specify a flag in VCS to not dump memories above a certain size, or annotate the memory in Chisel/Firrtl as DoNotCollectWaves. The first solution is impossible, and the second requires too much re-engineering.
However, the SimAXIMem is larger than the fixed VCS memory dump size limit when it is generated as a unified memory, rather than a banked memory.
For name mem_ext depth 33554432 width 64 ports mwrite,read mask_gran 8, we should emit
reg [63:0] ram [33554431:0];

vs
reg [7:0] ram [0:33554431];
reg [7:0] ram_1 [0:33554431];
reg [7:0] ram_2 [0:33554431];
reg [7:0] ram_3 [0:33554431];
reg [7:0] ram_4 [0:33554431];
reg [7:0] ram_5 [0:33554431];
reg [7:0] ram_6 [0:33554431];
reg [7:0] ram_7 [0:33554431];

When simulating the combined ram, VCS will decide that it is too large to dump, ignoring it. The simulation will then startup instantly and generate small waveforms (~30M).
Solution
There are two workarounds for this.
The first is to generate a larger SimAXIMem with the WithExtMemSize mixin. This is undesirable since we shouldn't have to mess with the config to get good simulation performance.
The second is to use vlsi_mem_gen in rocketchip, which correctly generates the combined memory.
This PR attempts the second approach. I understand that vlsi_mem_gen is deprecated in favor of macrocompiler, but it should be fine to use that script only for simulated TestHarness memories?

[ ] PR and bump barstools, since it needs to support repl-seq-mem in the generateHarness phase.
[ ] Verify verisim still works

Closed since Colin's BigInt fixes will coincidentally resolve this


[SST2 + RemixSite] Environment variables are not loaded

When running a RemixSite the variables provided to the construct are not present in the process.env. I have not had a chance to look yet but I bet when bind support was added the environment prop did not get its ENV variables merged into the new environment:

The environment prop is not being merged into the environment in favor of bind variables.

Unfortunately it is not possible to use Config in RemixSite construct yet as Config and other sst variables use top-level-await. This is not supported in Remix as a whole currently as Remix bundles targeting node version 14. It sounds like it will be planned to bump the node version in the future but until then us RemixSite users will need to pass in environment variables to get the SSM path of our secrets and manually read these from SSM.

https://github.com/remix-run/remix/issues/1355

Here is a small snipped how I have environment setup if that is helpful:
  const site = new RemixSite(stack, "web", {
    path: "packages/web/",
    environment: {
      SITE_URL_PARAM: `/sst/${app.name}/${app.stage}/RemixSite/Site/url`,
      DATABASE_URL_SECRET: `/sst/${app.name}/${app.stage}/Secret/DATABASE_URL/value`,
      GITHUB_CLIENT_ID_SECRET: `/sst/${app.name}/${app.stage}/Secret/GITHUB_CLIENT_ID/value`,
      GITHUB_CLIENT_SECRET_SECRET: `/sst/${app.name}/${app.stage}/Secret/GITHUB_CLIENT_SECRET/value`,
    },
  });

For anyone else encountering this issue, you can define any environment variables in your .env file temporarily. Typically these environment variables are available in the environment automatically when wrapper your development command in sst bind "remix dev" for instance.

Looks like we might be able to use either sst bind remix dev or sst env remix dev or potentially we can wrap both sst env 'sst bind remix dev'? As Remix does not support top-level await we cannot use Config yet, so we must use the sst env remix dev to get our environment variables during development. See Remix environment docs for more info.


Feature: Search suggestions

Why?
The search suggestions will get a redesign. The code related to our current views are located within the app today so I'm pulling it out into this lib.
TODO

[ ] Get design for user location permission cell.

What?

Added SearchSuggestionsView.
Added models for configuring the view.

Version Change
Patch – no breaking changes.
UI Changes

Suggestions
Landingpage

This work was continued and merged in https://github.com/finn-no/finnui-ios/pull/93


Provide example for parent component access to internally initialized selectize object.

Already fixed, requires example.

No longer think this is necessary.
.


Retain

Hello all,
Currently, I am not quite convinced that this upgrade is better than the previous shelly mqtt. But I definitely want to give it a try!
I have added shelly devices and they work.
In the trainer4domoticz settings.py "retain = true".
And in the mosquitto "persistence true" & "persistence_location /var/lib/mosquitto/" So this should all be fine.
After a reboot, the devices are still available in domoticz, but not functional. I certainly cannot control a switch or get data from my shelly em3 which is crucial for my home heating.
And power failures do happen sometimes and so does a reboot of me raspberyy pi.
What can I do about this.

I am using MQTT Autodiscovery since its appeared in 2022 to handle every Tasmota, zigbe2mqtt and Shelly devices on my network, and i haven't got any problem. Its the simplest and fastest solution as shelly devices communicates directly with Domoticz, without the need of a python plugin.
About domo python plugins: they are running inside a limited and modified python interpreter by Domoticz in a limited memory pool handled by Domo... it was never been stable, and it was a major headache to me.
https://www.domoticz.com/forum/viewtopic.php?p=288333#p288333
https://www.domoticz.com/forum/viewtopic.php?p=265591#p265591
https://www.domoticz.com/forum/viewtopic.php?p=225213#p225213
For the autodiscovery method there can only be one barrier between the enduser and the shelly devices: understanding the importance of retain, and setup it.
If your discovery MQTT prefix is "homeassistant/" please check if "homeassistant/" topic exists after a restart, with MQTT Explorer for example. If this topic does not exists, than retain is not working for some reason, advanced debugging needed on your installation.
Ensure that mosquitto has rights to write /var/lib/mosquitto, if the directory exists and isn't it a tmpfs partition - which will never be saved.
Some people uses containers/snaps other virtualized stuff to run services: they have to consult with the documentation of the specific container about mosquitto database settings, as it is possible that the specific container runs entirely from memory and does not save anything to disk...

Hi and thanks for the reply.
today, I took the time to make a completely new installation. Everything new and on a new sd card and now it works fine! I do still have the old sd card and could go trouble shooting but now that everything is working there is no point anymore to it.
No idea, the old install was on "buster" and now on "bullseye" maybe that makes a difference.
Again thanks!


mj-accordion only contain mj-accordion-text?

This is a question more than a bug report.  Looks to me from the docs and experimentation like the accordion can only contain mj-text, which means that I can't put rich content in there.  Have I understood correctly?

Nope as mentioned in the doc mj-accordion-text receive plain HTML so you can write anything you want inside it ( I think in demo we did put a span to showcase it )

On 6 May 2018, at 19:02, Edward Hibbert<EMAIL_ADDRESS>wrote:
This is a question more than a bug report. Looks to me from the docs and experimentation like the accordion can only contain mj-text, which means that I can't put rich content in there. Have I understood correctly?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks for your reply.
If I use this on try it live, I don't see the image.  What am I doing wrong?
<mjml>
  <mj-body>
    <mj-section>
      <mj-column>

        <mj-accordion>
          <mj-accordion-element>
            <mj-accordion-title>Why use an accordion?</mj-accordion-title>
            <mj-accordion-text>
              <mj-image src="https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" />

                Should see an image.

            </mj-accordion-text>
          </mj-accordion-element>
        </mj-accordion>
      </mj-column>
    </mj-section>
  </mj-body>
</mjml>

You have to use regular HTML not mjml

On 6 May 2018, at 20:43, Edward Hibbert<EMAIL_ADDRESS>wrote:
Thanks for your reply.
If I use this on try it live, I don't see the image. What am I doing wrong?

    <mj-accordion>
      <mj-accordion-element>
        <mj-accordion-title>Why use an accordion?</mj-accordion-title>
        <mj-accordion-text>
          <mj-image src="https://www.google.co.uk/images/branding/googlelogo/2x/googlelogo_color_272x92dp.png" />

            Should see an image.

        </mj-accordion-text>
      </mj-accordion-element>
    </mj-accordion>
  </mj-column>
</mj-section>

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Ah, I see.  That is a shame - doesn't it mean you can still only put pretty simple stuff inside the accordion, otherwise you'll have to figure out all the stuff that MJML normally does for you?
(Not complaining much, MJML is amazing.)

Well at this point everything is kinda safe. Section/column already do the hardest job for you.

On 6 May 2018, at 20:45, Edward Hibbert<EMAIL_ADDRESS>wrote:
Ah, I see. That is a shame - doesn't it mean you can still only put pretty simple stuff inside the accordion, otherwise you'll have to figure out all the stuff that MJML normally does for you?
(Not complaining much, MJML is amazing.)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

As @iRyusa said, you're pretty safe to put HTML inside the accordion as it's contained inside responsive containers (sections, columns, and the accordion-text tag).

OK. But it still seems a shame to me. It means that, for example, if I want a button inside there then I have to code the button manually inside an accordion, and try to make it consistent with an mjml button outside the accordion.
On 7 May 2018 08:42:09 BST, Nicolas Garnier<EMAIL_ADDRESS>wrote:

As @iRyusa said, you're pretty safe to put HTML inside the accordion as
it's contained inside responsive containers (sections, columns, and the
accordion-text tag).
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/mjmlio/mjml/issues/1183#issuecomment-386985365

Agreed it would be better to be able to render MJML.
It used to be impossible in MJML 3 to render MJML inside a custom component but as it's possible now in MJML v4, this feature should be doable. It's not something we'll be able to work on in a near future, but if you're interested in working on a fork (and better yet, a PR), you can check how to render MJML inside a component here: https://github.com/mjmlio/mjml-component-boilerplate/blob/master/components/MjLayout.js#L84-L98.
Not sure how being able to render both HTML & MJML should be handled though.

Thanks. I understand that the right answer for an open source project is to help improve it :).
On 7 May 2018 08:59:46 BST, Nicolas Garnier<EMAIL_ADDRESS>wrote:

Agreed it would be better to be able to render MJML.
It used to be impossible in MJML 3 to render MJML inside a custom
component but as it's possible now in MJML v4, this feature should be
doable. It's not something we'll be able to work on in a near future,
but if you're interested in working on a fork (and better yet, a PR),
you can check how to render MJML inside a component here:
https://github.com/mjmlio/mjml-component-boilerplate/blob/master/components/MjLayout.js#L84-L98.
Not sure how being able to render both HTML & MJML should be handled
though.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/mjmlio/mjml/issues/1183#issuecomment-386989365


Saving broke!

Hello
The new update doesn't seem to save/load properly, a colour seems to end up in the min1 box - on OSX at least.
Richard

Sorry, you're right.  I see the typo, and will fix it tonight - thanks again for the feedback!

Should be fixed in v0.5


Making HttpCall from Task which is not running on Regular interval

Please check all of the platforms you are having the issue on (if the platform is not listed, it is not supported)

[x] iOS
[x] Android
[] tvOS
[] macOS
[] .NET Standard
UWP IS NOT SUPPORTED DURING THE BETA PERIOD - ONLY PRs ARE WELCOME FOR NOW

Version of OS(s) listed above with issue
Android Version 9
iOS version 12.1
Version of Library
Version 2.0
Expected Behaviour
Created a Job and schedule it at every app start but when the app goes in the background it is not running at a regular interval (i.e. about 10 min in Android). It is not running at all both in Android and iOS
Actual Behavior
If applicable, please include entire exception - type, message, stacktrace
The task should make Http call every 10 - 20 mins in Android at least. In iOS my task is just making a call it is less than 30 seconds but the same issue in iOS also.
Already Check the source code for Android it is using JobService but not working in the latest version Don't know why?
Is there anything I am missing or missing in Android setup guide for the latest version of your plugin?
Checked logs from "CrossJobs.Current.GetLogs()"  also Task have status "Started" only.
Sometimes I get this error:-
"System.NullReferenceException: Object reference not set to an instance of an object\n  at Plugin.Jobs.AbstractJobManager+d__25.MoveNext () [0x00070] in <000912b4e06b48f195fffee1eb451875>:0 "
Code of Conduct

No Library Update Requests
No Timeline Requests
Please read through the documentation and FAQs
If you have a complaint about the docs, FIX IT - DO NOT FILE IT HERE!  I won't guarantee everything is always 100% up-to-date since I am just 1 person.
Please be respectful of my time. I put a lot of effort into my libraries.  I try to support the issue requests within a day.  I'm not psychic, so please take the time to fill out the above form as complete as possible

You have to give me some sort of reproducible example and/or the entire stack trace of that error.   Is the null reference exception on both Android & iOS?
If the jobs are starting, but not finishing, there is usually an error in the job itself.

No reply - closing


wip: use fungibles traits for treasury pallet

WIP

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2453859

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464069

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464065

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464122

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464118

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464317

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464313

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464367

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464363

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464417

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464413

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464467

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464463

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464516

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2464512

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2467987

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2467983

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2468732

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2468728

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469319

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469315

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469420

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469416

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469411

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469410

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2469409

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2475854

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2475853

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2475852

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2481120

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2481114

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2481115

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2481113

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2487220

Thanks! @tonyalaribe this is very helpful PR to understand the whole change going on with https://github.com/paritytech/substrate/pull/12951
Does this PR require any migration? like converting existing balances which has been set with lock()/reserve() to be compatible with freeze()/hold() ?

Thanks! @tonyalaribe this is very helpful PR to understand the whole change going on with #12951 Does this PR require any migration? like converting existing balances which has been set with lock()/reserve() to be compatible with freeze()/hold() ?

I believe so. But the need for migrations will be from the work on the balance pallet in #12951. So the migrations are more for the balance pallet than the treasury pallet.


SPIRV Validation error with ToT SPIRV-Tools: "Cannot store to OpTypeImage objects"

When tried to merge ToT of SPIRV-tools, slang-test started failing on two tests.
tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint.slang
tests/gpu-feature/texture/query/footprint/nv-shader-texture-footprint-simple.slang

The merging of SPIRV submodules is blocked by this problem.
This failure can be found from the CI of the following PR,
https://github.com/shader-slang/slang/pull/5815
The error message says:
error: line 324: [VUID-StandaloneSpirv-OpTypeImage-06924] Cannot store to OpTypeImage, OpTypeSampler, OpTypeSampledImage, or OpTypeAccelerationStructureKHR objects
  OpStore %17 %242

(0): internal error 99999: Validation of generated SPIR-V failed. SPIRV generated:

It turned out that SPIRV-Tool got a new validation check recently:
https://github.com/KhronosGroup/SPIRV-Tools/commit/7ba72f14f2f59a6f65465e5fb3e849dc81ae462d
The commit message says:
spirv-val: Disallow stores according to VUID 06924 (https://github.com/KhronosGroup/SPIRV-Tools/pull/5368)
Ensure that the validator rejects stores to objects of types
`OpTypeImage`, `OpTypeSampler`, `OpTypeSampledImage`,
`OpTypeAccelerationStructureKHR`, and arrays of these types, according
to `VUID-StandaloneSpirv-OpTypeImage-06924`.

Guard the check behind the before_hlsl_legalization option, as
sometimes we may have temporaries or local variables that are expected
to get optimized away.

I am not sure how much I can trust, but LLM suggested a solution as following:
Modify Your Code to Use the Opaque Variables Directly
Before Correction:
%242 = OpLoad %15 %entryPointParams_texture_2D
OpStore %17 %242
%resultVal_4 = OpImageSampleFootprintNV %_struct_9 %17 %40 %240 %true Grad %44 %48

After Correction:
%resultVal_4 = OpImageSampleFootprintNV %_struct_9 %entryPointParams_texture_2D %40 %240 %true Grad %44 %48


Add file order, fixes #178

Awesome 👍

Cool, I see that you already merged an deployed it - that was fast :)

Hah. You did all the work... I just tested it and pushed the button.


Fix types of PTHREAD_PROCESS_* constants

Somehow these ended up with wrong types in #633.

@bors: r+

:pushpin: Commit 3636d78 has been approved by alexcrichton

:hourglass: Testing commit 3636d783c7d771f6ab95c549fc5f90bce08de88f with merge 8ec65a1ae5551ac17307718cf5eca0a4c23a1d21...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 8ec65a1ae5551ac17307718cf5eca0a4c23a1d21 to master...


client: remove need for "test" tag to run tests

Because client tests imported a test file from another package, go test would not work without adding -tags=test. This is not the
correct invocation for regularly testing Go code and breaks simple runs
of go test working for the package. This moves the transport mock into
the package that actually uses it. Now, go test works properly in the
client package.
Signed-off-by: Stephen J Day<EMAIL_ADDRESS>

@stevvooe @calavera I kinda like that (I'm currently hacking around in my editor to run tests) but I wonder if we could make this mockClient available from outside (for example to be used for unit tests in libraries that uses engine-api).

@vdemeester The behavior in my editor was the forcing function of this PR. I think it could be made available but no reason to unless it's used, so I'd like to avoid it for this PR.

@stevvooe seems good to me ;-)
LGTM 🐯
/cc @calavera

LGTM


docs: update old doc links

Can we check on CI here so we can merge this?

Doc link updates are included in https://github.com/watson-developer-cloud/swift-sdk/pull/1020


[Easy Dictionary] Doesnt work any translation

Extension
https://www.raycast.com/isfeng/easydict
Raycast Version
1.82.3
macOS Version
14.6.1
Description
Installed this extension. Enter any word, press enter - nothing works. Just infinite load
Steps To Reproduce
In extension settings first language English, second is Russian, turned on only Google Translate and Detect Language Speed First. Everything else is unchecked
Current Behaviour
No response
Expected Behaviour
No response

Sorry, tested on my computer and everything runs fine, I can't reproduce the problem you mentioned.
Please try to turn on the Baidu language detection option.

Sorry, tested on my computer and everything runs fine, I can't reproduce the problem you mentioned.

I don't know how to reproduce it, it's just not working 🤔. Sometimes I write a word and it shows translation (1 try from 10-15). Tried with on and off VPN.
The thing is Translate extension is working with the same Google Translate seamlessly... Please take a look a video where I show your extension and iTranslate
https://github.com/user-attachments/assets/147b8f66-a7c0-42d6-8579-7e9b1df57694

It may be that the language detection API has encountered a malfunction. I will improve this part of the code later.
Please try enabling the Use System Proxy option, which may help.

Thank you. I tried Use system proxy option. The same result 😩 I just like your extension more than iTranslate, hope you can fix it 🙏

Yeah, now it works good! Thank you! Wait for Raycast release!

Feel free to open an issue if you have any problems. I'll check it out when I have some time.
Later, I will release a version update for Raycast.

PR https://github.com/raycast/extensions/pull/14448


[EndpointConnectionError] when downloading

Hello, when I excute ego4d --output_directory="./" --datasets full_scale annotations command, the program is terminated by such error.
Datasets to download: {'annotations', 'full_scale'}
Download Path: v2
Ego4D Metadata: ego4d.json
Checking requested datasets and versions...
Created download directory for version 'v2' of dataset: 'annotations' at: v2/annotations
Created download directory for version 'v2' of dataset: 'full_scale' at: v2/full_scale
Retrieving object metadata from S3...
100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9640/9640 [00:07<00:00, 1272.76object/s]
Checking if latest file versions are already downloaded...
  0%|▌                                                                                | 17/9640 [00:01<10:28, 15.31file/s]
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-consortium-sharing.s3.us-west-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-consortium-sharing.s3.us-west-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-consortium-sharing.s3.us-west-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-consortium-sharing.s3.us-west-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-consortium-sharing.s3.us-west-1.amazonaws.com. Connection pool size: 10
  0%|▉                                                                                | 30/9640 [04:07<21:59:22,  8.24s/file]
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
Traceback (most recent call last):
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/httpsession.py", line 465, in send
    urllib_response = conn.urlopen(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 798, in urlopen
    retries = retries.increment(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/retry.py", line 525, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 714, in urlopen
    httplib_response = self._make_request(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 403, in _make_request
    self._validate_conn(conn)
  0%|▉                                                                                | 30/9640 [04:07<21:59:22,  8.24[30/51]
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
WARNING:urllib3.connectionpool:Connection pool is full, discarding connection: ego4d-unict.s3.eu-central-1.amazonaws.com. Connection pool size: 10
Traceback (most recent call last):
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn
    conn = connection.create_connection(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection
    raise err
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection
    sock.connect(sa)
OSError: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/httpsession.py", line 465, in send
    urllib_response = conn.urlopen(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 798, in urlopen
    retries = retries.increment(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/util/retry.py", line 525, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/packages/six.py", line 770, in reraise
    raise value
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 714, in urlopen
    httplib_response = self._make_request(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 403, in _make_request
    self._validate_conn(conn)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connectionpool.py", line 1053, in _validate_conn
    conn.connect()
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connection.py", line 363, in connect
    self.sock = conn = self._new_conn()
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <botocore.awsrequest.AWSHTTPSConnection object at 0x7fe6180d6790>: Failed to establish a new connection: [Errno 101] Network is unreachable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/root/miniconda3/envs/ego/bin/ego4d", line 8, in <module>
    sys.exit(main())
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/cli.py", line 251, in main
    main_cfg(config)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/cli.py", line 154, in main_cfg
    active_downloads = filter_already_downloaded(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/download.py", line 247, in filter_already_downloaded
    to_download = list(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/tqdm/std.py", line 1178, in __iter__
    for obj in iterable:
  File "/root/miniconda3/envs/ego/lib/python3.9/concurrent/futures/_base.py", line 609, in result_iterator
    yield fs.pop().result()
  File "/root/miniconda3/envs/ego/lib/python3.9/concurrent/futures/_base.py", line 446, in result
    return self.__get_result()
  File "/root/miniconda3/envs/ego/lib/python3.9/concurrent/futures/_base.py", line 391, in __get_result
    raise self._exception
  File "/root/miniconda3/envs/ego/lib/python3.9/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/download.py", line 250, in <lambda>
    lambda x: x.s3_object and not already_downloaded(x) and x.s3_exists,
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/download.py", line 198, in already_downloaded
    skip_s3_checks or download.exists()
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/ego4d/cli/download.py", line 68, in exists
    self.s3_object.load()
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/boto3/resources/factory.py", line 564, in do_action
    response = action(self, *args, **kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/boto3/resources/action.py", line 88, in __call__
    response = getattr(parent.meta.client, operation_name)(*args, **params)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/client.py", line 535, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/client.py", line 963, in _make_api_call
    http, parsed_response = self._make_request(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/client.py", line 986, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/endpoint.py", line 119, in make_request
    return self._send_request(request_dict, operation_model)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/endpoint.py", line 202, in _send_request
    while self._needs_retry(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/endpoint.py", line 354, in _needs_retry
    responses = self._event_emitter.emit(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/hooks.py", line 412, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/hooks.py", line 256, in emit
    return self._emit(event_name, kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/hooks.py", line 239, in _emit
    response = handler(**kwargs)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 207, in __call__
    if self._checker(**checker_kwargs):
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 284, in __call__
    should_retry = self._should_retry(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 320, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 363, in __call__
    checker_response = checker(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 247, in __call__
    return self._check_caught_exception(
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/retryhandler.py", line 416, in _check_caught_exception
    raise caught_exception
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/endpoint.py", line 281, in _do_get_response
    http_response = self._send(request)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/endpoint.py", line 377, in _send
    return self.http_session.send(request)
  File "/root/miniconda3/envs/ego/lib/python3.9/site-packages/botocore/httpsession.py", line 494, in send
    raise EndpointConnectionError(endpoint_url=request.url, error=e)
botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL: "https://ego4d-unict.s3.eu-central-1.amazonaws.com/public/v1/full_scale/3e08beb0-9108-4e77-b2ae-80f91ceac474"

How can I do to deal with this error?

I have same question, do you slove it?

I have used VPN on the server and tried to connect many times. Finally, it succeeded.

I have same question, do you slove it?

I have used VPN on the server and tried to connect many times. Finally, it succeeded.

thank you

I have used VPN, but also failed. Can you explain in detial how you solved this problem,for example, did you configure aws region? thank you.


piaware v9.0: AttributeError: 'AdeptConnection' object has no attribute 'send_clock_jump'

This is using ghcr.io/sdr-enthusiasts/docker-piaware v9.0:
[piaware] 2023/11/19 21:28:42 mlat-client(174): outlier detected with ts: 34.368, last_ts: 99.340, ts_elapsed: -64.972, sys_elapsed: 2242.911 (values in seconds)
[piaware] 2023/11/19 21:28:42 mlat-client(174): Unexpected exception on connection to localhost:30005
[piaware] 2023/11/19 21:28:42 mlat-client(174): Traceback (most recent call last):
[piaware] 2023/11/19 21:28:42 mlat-client(174):   File "/usr/lib/python3.11/asyncore.py", line 88, in read
[piaware] 2023/11/19 21:28:42 mlat-client(174):     obj.handle_read_event()
[piaware] 2023/11/19 21:28:42 mlat-client(174):   File "/usr/lib/python3.11/asyncore.py", line 425, in handle_read_event
[piaware] 2023/11/19 21:28:42 mlat-client(174):     self.handle_read()
[piaware] 2023/11/19 21:28:42 mlat-client(174):   File "/usr/local/lib/python3.11/dist-packages/MlatClient-0.4.2-py3.11-linux-x86_64.egg/mlat/client/receiver.py", line 214, in handle_read
[piaware] 2023/11/19 21:28:42 mlat-client(174):     self.coordinator.input_received_messages(messages)
[piaware] 2023/11/19 21:28:42 mlat-client(174):   File "/usr/local/lib/python3.11/dist-packages/MlatClient-0.4.2-py3.11-linux-x86_64.egg/mlat/client/coordinator.py", line 328, in input_received_messages
[piaware] 2023/11/19 21:28:42 mlat-client(174):     handler(message, now)
[piaware] 2023/11/19 21:28:42 mlat-client(174):   File "/usr/local/lib/python3.11/dist-packages/MlatClient-0.4.2-py3.11-linux-x86_64.egg/mlat/client/coordinator.py", line 350, in received_timestamp_jump_event
[piaware] 2023/11/19 21:28:42 mlat-client(174):     self.server.send_clock_jump()
[piaware] 2023/11/19 21:28:42 mlat-client(174):     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[piaware] 2023/11/19 21:28:42 mlat-client(174): AttributeError: 'AdeptConnection' object has no attribute 'send_clock_jump'
[piaware] 2023/11/19 21:28:42 mlat-client(174): Lost connection to localhost:30005

the v9.0 tag hasn't been updated for about 13 days, which if memory serves was before we fixed the issue. Looks like piaware updated their software to 9.0.1 and we automatically generated a new tag for it. I would suggest latest as the tag you use.

Thanks, confirmed using :latest tag got me to 9.0.1:
2023/11/19 23:00:50 piaware version 9.0.1 is running, process ID 140
...
[piaware] 2023/11/19 23:11:25 1518 msgs recv'd from dump1090 (935 in last 5m); 1518 msgs sent to FlightAware
[piaware] 2023/11/19 23:15:53 mlat-client(174): Receiver status: connected

Awesome! I'm glad it is working, and thanks again for bringing the issue up so we could fix it.


Add support for Synthetics Labels support

Feature Description
In order to enable Synthetics Label management in TF, we first need some kind of Synthetics Label handling supported here.
The API docs look pretty simple to implement.
https://docs.newrelic.com/docs/apis/synthetics-rest-api/label-examples/use-synthetics-label-apis#examples
Several thumbs eagerly await in https://github.com/terraform-providers/terraform-provider-newrelic/issues/164

I've started this work in https://github.com/newrelic/newrelic-client-go/tree/syntheticsLabels


chore(deps): use central renovate config

See https://github.com/adobe/helix-shared/pull/230

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Contributor Console - Gerrit - Contributor Email is not displayed for selection When requesting accessing for Company that does not exist in the list

Background

Launch the Gerrit Contributor Agreement Link for Corporate
User is redirected to Contributor Console
Click on COMPANY NOT IN LIST? CLICK HERE
Click NO
Observed that Email of the contributor is not available to proceed further

@amolsontakke3576 the user's email should be in the LF login session info...

I have verified and seems working fine.

Verified that issue is fixed


Implement Mouse Interactions

Mouse Interactions
The following mouse interactions will be implemented:

Zooming with mouse wheel
Panning with click-and-drag

Additional functionality

Unit test all functionality that sets data or calculates values

Deadline:
First iteration: April 12th

No helper functions have been implemented for the first iteration, and all of the renderers are void, that's why no additional unit tests have been implemented now. Further redfactoring would be required to unit test the functionality.


Failed to run custom build command for mlua-sys v0.4.0

What system are you running Yazi on?
Linux Wayland
What terminal are you running Yazi in?
Kitty 0.28.1
Yazi version
yazi master
Did you try the latest main branch to see if the problem has already been fixed?
Tried, but the problem is still present
Describe the bug
cargo build --release is failing.
error: failed to run custom build command for mlua-sys v0.4.0`
note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
Caused by:
process didn't exit successfully: /home/zeus/code/yazi/target/debug/build/mlua-sys-c45bf365df33cc84/build-script-main (exit status: 101)
--- stdout
cargo:rerun-if-changed=build
cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-gnu
CC_x86_64-unknown-linux-gnu = None
cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_gnu
CC_x86_64_unknown_linux_gnu = None
cargo:rerun-if-env-changed=HOST_CC
HOST_CC = None
cargo:rerun-if-env-changed=CC
CC = None
cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("true")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-gnu
CFLAGS_x86_64-unknown-linux-gnu = None
cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_gnu
CFLAGS_x86_64_unknown_linux_gnu = None
cargo:rerun-if-env-changed=HOST_CFLAGS
HOST_CFLAGS = None
cargo:rerun-if-env-changed=CFLAGS
CFLAGS = None
running cd "/home/zeus/code/yazi/target/debug/build/mlua-sys-29e5f9e1412656c4/out/luajit-build/build/src" && BUILDMODE="static" STATIC_CC="/home/zeus/.nix-profile/bin/cc -O2 -ffunction-sections -fdata-sections -fPIC -gdwarf-4 -fno-omit-frame-pointer -m64" TARGET_AR="/home/zeus/.nix-profile/bin/ar rcus" TARGET_LD="/home/zeus/.nix-profile/bin/cc -O2 -ffunction-sections -fdata-sections -fPIC -gdwarf-4 -fno-omit-frame-pointer -m64" TARGET_STRIP="/home/zeus/.nix-profile/bin/strip" TARGET_SYS="Linux" XCFLAGS="-fPIC -DLUAJIT_ENABLE_LUA52COMPAT" "make" "-e"
--- stderr
thread 'main' panicked at /home/zeus/.cargo/registry/src/index.crates.io-6f17d22bba15001f/luajit-src-210.5.2+113a168/src/lib.rs:259:39:
called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
stack backtrace:
0: rust_begin_unwind
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/std/src/panicking.rs:597:5
1: core::panicking::panic_fmt
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/panicking.rs:72:14
2: core::result::unwrap_failed
at /rustc/79e9716c980570bfd1f666e3b16ac583f0168962/library/core/src/result.rs:1652:5
3: core::result::Result<T,E>::unwrap
4: luajit_src::Build::run_command
5: luajit_src::Build::build_unix
6: luajit_src::Build::build
7: build_script_main::find::probe_lua
8: build_script_main::main
9: core::ops::function::FnOnce::call_once
note: Some details are omitted, run with RUST_BACKTRACE=full for a verbose backtrace.
warning: build failed, waiting for other jobs to finish...`
Expected Behavior
build successful
To Reproduce
NixOS 23.05
git clone https://github.com/sxyazi/yazi
cd yazi
RUST_BACKTRACE=1 cargo build --release
or
cargo install --locked yazi-fm
Configuration
No response
Anything else?
No response

What's your Rust version? Please try to do a cargo clean and redo the cargo build --release again to see if the issue disappears.

I found an issue that may related to the problem, https://github.com/khvzak/luajit-src-rs/issues/2#issuecomment-865868419, have you make installed?
BTW you can use Yazi itself as the nix source, do something like nix run github:sxyazi/yazi, https://github.com/sxyazi/yazi/blob/main/flake.nix

ah ofcourse. thanks installing make fixed this.


Full localization support added

Added new properties and helper code which make possible to change all
button captions, messages etc. to language other than English.

Just thinking about localization requirement. How to vote for this request? :)

When will be this commit merged?

Merge please. I need this

:+1: it would be very useful for me as well

Merge please!

Merge please!

@T-o-m-a-s-z thank you for adding this! I will be releasing shortly


feat(menu): highlight childless items when path matches

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
New feature

What is the current behavior? (You can also link to an open issue here)
Url has to fully match for the element to get highlighted.

What is the new behavior (if this is a feature change)?
Childless menu items are highlighted when the beginning of the current url matches with their url.

Other information:
PR for issue #254. I changed the condition based on which the elements are highlighted.
I've done some testing. I removed all children from the UI Features menu item and it worked as intended - the element was highlighted when I accessed that route's children (/buttons, /grid, /typography).

As for the second change I mentioned in the issue, it isn't needed since RC5, as then you guys split routing and menu apart and now you can just remove children from pages.menu.ts, so no need for filtering.

I see, your point, but I think it's already solved.
If /parent/child/page is a child of /parent/child, it should work, because I added a check based on whether that element has children. If it does have children, then the URL has to fully match. If it doesn't, then it can partially match.
Given that /parent/child/page is a child of /parent/child, only the child will get highlighted, because it doesn't have children (at least in the menu). Its parent won't be highlighted, because it has a child, so the URL has to match fully, which it doesn't.

@nnixaa Did you read my explanation? Do you have any further issues with my implementation? I'd love to know and contribute.

Hi @Gelio, yep I sure did, I have one assumption though, which I haven't had time to check. So probably you have, let me explain it:
What if (in your example) /parent/child and /parent are two separates menu items? It's rare case but could occur, then I presume both /parent/child and /parent will be highlighted, right?

Yes, you are correct, both would be highlighted. I'm wondering how this should be implemented. Maybe we should introduce the same idea Angular 2 router implements, namely the path match strategy. The default would be what I described and when you need it, you can set pathMatch on a particular menu item to full, which would result in only strict whole URL matches.
What do you think? I believe this would solve the problem you presented, since we would be able to set /parent to pathMatch: 'full' and it won't get highlighted when accessing /parent/child.

@Gelio I guess you are right, this is a great idea.

I have added this functionality in the latest commit. I'm waiting for feedback.

Hi @Gelio, just thinking of it, probably it's better to set the behaviour to 'full' by default (as it is now)? So that users updating to a newer version won't get side affect/breaking change.

Sure thing, I will change it soon

I've changed it. The default path matching strategy is now full, which is what you wanted. Let me know if there are any other issues

@Gelio, Thanks for your work!


Solution displays joker in the wrong order

Thank you for this lovely program.

The third last line in the solution r1, r2, r4, j, r5 would be better displayed as r1, r2, j, r4, r5.

Yes, it'd be nicer if jokers were to be placed in 'order'. However, the way that possible sets are generated makes this a bit painful.
It probably can be fixed, but I'd have to find the time to come up with a better way to generate the joker placement options.


Add support for Polish characters in the custom fonts

Despite supporting Polish translation of the tool, the fonts used to render the actual cards do not support most Polish special characters other than Ó/ó and Ł/ł. The goal is to add Polish characters to all three custom fonts without modifying how the fonts are rendered in general in terms of the size, spacing, etc.

I haven't found a way to edit Berlin Sans so that the characters are not distorted. Perhaps a different tool could be able to do so, but fortunately it's not as crucial as the other fonts used for spell names and descriptions (English names can be preserved as-is).

Closing for now, will reopen if a better font editor is found.


Support ragged shards that have empty chunks

Suppose we had
frames of size (14192,10640) px
chunks of size (128,128) px
shards of size (1024,1024) px
14192/1024 = 13.85 so we can conclude the shards are ragged, something we want to support
Looking at the remainder
0.85*1024 = 871 which is larger than the chunk size.
So, not all chunks in the shard are "hit" by a frame.  Some are empty.
The Zarr v3 sharding specification should support this; not all chunks must be present.
However, the writer doesn't like that; the frame must partially hit each chunk.  We should change that behavior.  I suspect we can simply not emit those chunks.

Closed by #236


Apply shellcheck to all scripts

Ref: https://www.shellcheck.net

Fix issues
Check in GitHub Actions

After having used ShellCheck in my last PR and seeing great value in it I would like to work on this.
To me it'd makes sense to handle it similarly to how golangci-lint currently is, which means:

provide a make target for it
add it as a GitHub action as it can be seen in the marketplace

I also thought about combining both linters and have them both under the same make target lint and also to rename the current GitHub action golangci-lint.yaml to just lint.yaml and run both actions (golangci-lint & shellcheck) inside of it.
What do you think @michaelsauter?

Great!
I am fine with extending make lint to multiple linters, but I would welcome this target to be composed of separate lint targets (e.g. make lint-go and make lint-shell).


Hello Microverse

First pull request after project completion

Set up a linter for HTML and CSS
Add html file that includes a header with the text "Hello Microverse!"
Add css file that includes one class with styles for my header
Add test.md file
Add a .gitignore file and add node_modules and test.md the file
Add descriptive README file


refactor delete_xxx to share code

again, i've created near-duplicate code that could be extracted and shared.

actually ended up writing a generic+lightweight wrapper to implement delete_metab_run, but other delete_xxx functions don't use the wrapper yet.

should also update delete_xxx to make use of new sbtools functionality


Fix geometry compatibility with zsh 5.0.x [#40]

Use the explicit form to test whether the conditional expression
expands to a string of non-zero length.

Looking good! Thank you! :+1: