text:
♻ Refactor rebalance API endpoints

Generated summary (powered by Graphite)

Description for Pull Request
TL;DR

Added freezegun library to pre-commit-config.yaml
Updated OrderPlacementResult to Order in main.py
Added new endpoints for preparing and placing orders in main.py
Added tests for preparing and placing orders in test_api.py
Added OrdersPlaceResponse model in main.py
Added test for stopping rebalancing with insufficient funds in test_cli.py

What changed

Added freezegun library to pre-commit-config.yaml for testing purposes
Updated OrderPlacementResult to Order in main.py for consistency and clarity
Added new endpoints for preparing and placing orders in main.py to handle order operations
Added OrdersPrepareResponse and OrdersPlaceResponse models in main.py to handle responses for order operations
Added tests for preparing and placing orders in test_api.py to ensure functionality
Added test for stopping rebalancing with insufficient funds in test_cli.py to handle edge case scenario

How to test

Run the application and make a GET request to /strategies/all-weather-kr/orders to prepare orders
Make a POST request to /strategies/all-weather-kr/orders with the prepared orders to place orders
Check the response for successful placement of orders
Run the test cases in test_api.py and test_cli.py to ensure functionality and edge case handling

Why make this change

Added freezegun library for testing to improve test coverage and accuracy
Updated OrderPlacementResult to Order for consistency and clarity in the codebase
Added new endpoints and models for preparing and placing orders to enhance order management capabilities
Added tests to ensure proper functioning of order preparation and placement
Added test for stopping rebalancing with insufficient funds to handle edge case scenarios and improve robustness of the application.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#106
#105  👈
#104
#103
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @mingi3314 and the rest of your teammates on  Graphite

Merge activity

Mar 17, 11:23 AM EDT: @mingi3314 started a stack merge that includes this pull request via Graphite.


text:
🛑 [MineVN] Maven repo & resource pack server is down

In aa74fff, [MineVN] Maven repo & resource pack server (https://pack.minevn.net) was down:

HTTP code: 403
Response time: 68 ms

Resolved: [MineVN] Maven repo & resource pack server is back up in 3d4329e after 1 hour, 44 minutes.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
Remove stale uid code handling and cleanup code a bit.

Additionally log the errors returned from rpc Calls
only when DSYNC_LOG=1 env is set.

LGTM

source: gharchive/pull-request

authors: fwessels harshavardhana

repo: minio/dsync


text:
Broken DB?

Whenever I run the migrations this column gets added!
I can see that it was added in
20150508131347_add_fields_to_dwp_check.rb the commit is 9a2a8399.
Could it be that this was omitted during one of the merge
fiestas/fiascos?
Creating this so that we can discuss it!

Removing this as it was only opened to start a discussion...

repo: ministryofjustice/fr-staffapp

license: mit

license_source: bigquery


text:
Add decision fields to application

This will allow new code to set the values.
Meanwhile, a separate PR will be added to
migrate the data for existing, complete, records.

good to go

authors: colinbruce dotemacs


text:
SAA-997: Limit appointment occurrence allocations

Overview
Adds validation to prevent creation of extremely large repeat appointments

Codecov Report
Patch coverage: 83.33% and project coverage change: -0.01% :warning:

Comparison is base (8e1f42b) 84.60% compared to head (32e8ac4) 84.60%.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #495      +/-   ##
============================================
- Coverage     84.60%   84.60%   -0.01%
- Complexity     2257     2261       +4
============================================
  Files           292      292
  Lines          8431     8436       +5
  Branches        525      528       +3
============================================
+ Hits           7133     7137       +4
  Misses         1043     1043
- Partials        255      256       +1

Files Changed
Coverage Δ

...ivitiesmanagementapi/service/AppointmentService.kt
94.64% <83.33%> (-0.45%)
:arrow_down:

... and 1 file with indirect coverage changes

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

authors: codecov-commenter leejacobson-moj


text:
Add wiremock for new RoSH risk ratings (R10.6) endpoint

The data from this endpoint is used to build the risk widget we show in the sidebar.
We've been getting these ratings from ARN (/risks/crn/$crn) in the ARN client's getRoshRisks function via the OffenderService
https://github.com/ministryofjustice/approved-premises-api/blob/f089b31a34e4bf734657f16491f6207a57dbeb38/src/main/kotlin/uk/gov/justice/digital/hmpps/approvedpremisesapi/service/OffenderService.kt#L277-L292
So that we are sure to be using data from the same OASys assessment throughout the AP service we need to refactor this code to use the new ap-and-aoays/rosh endpoint which provides these ratings from the latest layer 3 assessment regardless of its status -- rather from the latest complete assessment, as is the case with ARN.

Changed roshRatings -> rosh after looking at the integration service repo

authors: brownbearsoftware edavey


text:
APS-1029: Iterate CRU Staff Role (redone)

Ru-submission of work done in PR 2080 which was reverted due to failure in the end to end tests.
The issue was the 'Legacy Manager' user in the Dev database (AP_USER_TEST_3) was missing the required 'CAS1_CRU_MEMBER' role, with associated permissions introduced as part of this PR.
The Jira Ticket contains a spreadsheet highlighting differences in roles between the local and DEV databases.
'AP_USER_TEST_3' in Dev has had the 'CAS1_CRU_MEMBER' role added.
Utilise added permissions for CRU, Janitor and Future Manager roles to provide / allow role-specific functionality within the UI. The CRU and Janitor roles have the same permissions, the Future Manager role has permissions relating to out of service beds, to maintain consistency with current functionality.
New permissions added to control displaying of tiles on CAS1 Dashboard :
CAS1_VIEW_CRU_DASHBOARD - display the 'CRU Dashboard' tile
CAS1_VIEW_MANAGE_TASKS - display the 'Manage task Allocations' tile
CAS1_VIEW_OUT_OF_SERVICE_BEDS - display the 'view out of service beds' tile
New permissions governing permitted behaviour within the application :
CAS1_ADHOC_BOOKING_CREATE - user will be able to create an ad-hoc booking
CAS1_BOOKING_CREATE - user will be able to create a booking
CAS1_BOOKING_WITHDRAW - user will be able to withdraw a booking
CAS1_OUT_OF_SERVICE_BED_CREATE - user will have access to forms allowing creation of out of service beds
Jira Ticket
Changes in this PR
Implementing changes to permissions which incorporated tiles being displayed / not displayed in the CAS1 Dashboard as outlined above.
Additionally, action options were removed and also changed to authentication which takes place as part of the routing. Instead of checking for roles, some routes are now checking for permissions.
##E2E Tests running locally
The tests required a manual change to the 'assessor' user in the DB who needed to have the 'CAS1_CRU_MEMBER' role added. This shouldn't affect the e2e tests in dev as the corresponding user - AP_USER_TEST_1 has the 'CRU Member' role
Screenshots of UI changes
Restricted tiles (missing permissions for user)

Tiles displaying when permissions are present (CRU-Member role shown)

Permission allowing creation of booking is missing

Permission allowing creation of bookings is present

Permission for creation of ad-hoc bookings is missing

Permission for creation of ad-hoc bookings is present

Permission for withdrawing placements is missing

Permission for withdrawing placements is present

@RobBoothMOJ looks good one minor change

authors: RobBoothMOJ vubalasu


text:
Please define outside collaborators in code

Hi there
We now have a process to manage github collaborators in code:
https://github.com/ministryofjustice/github-collaborators/blob/main/README.md#github-outside-collaborators
Please follow the procedure described there to grant @duncancrawford access to this repository.
If you have any questions, please post in #ask-operations-engineering on Slack.

Outside collaborator not required

authors: AntonyBishop petergphillips

repo: ministryofjustice/hmpps-circleci-orb


text:
Ic 1833/associate action plan sessions with referral

What does this pull request do?
Moves action plan sessions to be held on the referral, rather than the action plan. Lots of test fixes as a result.
Update the url of the pp session feedback page to be consistent with the others.(referencing the referral) [Not yet applied to the UI]
This pr does not add the handling of approving new action plans. That will be followed up in a new pr.
What is the intent behind these changes?
To be able to store the action plan sessions against a referral, rather than an individual action plan. This means that sessions will not have to be duplicated or moved over to new action plans. This will help retain the history of all sessions easier going forward.

Looks good. Should we also change all references/names from ActionPlanSession to ReferralSession. Also in terms of migration, how does the rollout / switch over work.

I think DeliverySession would be more appropriate ?

please can we squash out the WIP commit at some point too?

with regards to the roll out we have to do our usual 'seperate schema migrations from data migrations'. i guess we have to stage it like this?

add the new field to the session. and have the service start populating it alongside the action plan id in the codebase.
update all existing records to associate the referral id with the sessions. and stop using the action plan ids in the codebase. mark action_plan_id field in the sessions as deprecated.

with regards to the roll out we have to do our usual 'seperate schema migrations from data migrations'. i guess we have to stage it like this?

add the new field to the session. and have the service start populating it alongside the action plan id in the codebase.
update all existing records to associate the referral id with the sessions. and stop using the action plan ids in the codebase. mark action_plan_id field in the sessions as deprecated.

That's sounds good to me.

authors: mahalrmoj rgforsyth tomsmyers


text:
Admin Command - HMCTS Guidance Opt-in

@ollietreend please review

Looks good @RobertWDLowe 👍

authors: RobertWDLowe ollietreend

repo: ministryofjustice/mojintranet-theme


text:
Smoke test for staging and production servers

Story 328
Set the following environment variables:

HOST - the root of the server to be tested, e.g. http://example.com/
EMAIL_ADDRESS - the email address to sign in with
EMAIL_PASSWORD - the IMAP password

Google Apps IMAP is assumed, and the account must have IMAP access configured. For the password, generate an app-specific password (this is necessary if two-factor authentication is enabled).
Run the test:
$ bundle exec ./smoke_test

Successful output will look like this:
Request token ... OK
Fetch token email ... wait 2s ... OK
Sign in ... OK
Edit profile ... OK
Search for profile ... wait 2s ... OK

On success, the return code is zero. Failure will result in a non-zero return code.

There is an email account specifically for the smoke test to use. Contact me for credentials.

Looks great. I'm going merge this then add another another task for me and @kyriakosoikonomakos to add it to the production post deploy task.

authors: jaikoo threedaymonk

repo: ministryofjustice/peoplefinder


text:
Saga Process return a timeout

Describe the bug
the Saga Process return the following error
 eboutique-cart-1        | 2022-02-18 19:26:05 [T:MainThread] ERROR:minos.networks.rest.handlers: Raised a system exception: SagaFailedExecutionException(message='There was a failure while \'SagaStepExecution\' was executing: MinosHandlerNotFoundEnoughEntriesException(message="Timeout exceeded while trying to fetch 1 entries from \'04283213e2e04d6583bd835b335083da\'.")')
To Reproduce
this is a Command Handler for CartItem POST
@enroute.rest.command("/cart/{uuid}/item", "POST")
    async def create_cart_item(self, request: Request) -> Response:
        """Create a new ``Cart`` instance.

        :param request: The ``Request`` instance.
        :return: A ``Response`` instance.
        """
        data = await request.content()
        params = await request.params()

        saga_execution = await self.saga_manager.run(
            ADD_CART_ITEM, context=SagaContext(cart_uid=params['uuid'], product_uid=data['product'],
                                               quantity=data['quantity'])
        )
        return Response({"saga_uid": saga_execution.uuid})

this is the SAGA process
def _raise_error():
    return ValueError("The Product uid does not exist")

ProductGet = ModelType.build("ProductGet", {"uid": str})

def _get_product(context: SagaContext):
    # check if the product exist
    return SagaRequest("GetProductById", ProductGet(context['product_uid']))

async def _get_product_success(context: SagaContext, response: SagaResponse) -> SagaContext:
    content = await response.content()
    return context

async def _add_item_to_cart(context: SagaContext):
    cart = context['cart_uid']
    product = context['product_uid']
    quantity = context['quantity']
    cart_obj = await CartAggregate.addCartItem(cart, product, quantity)
    return SagaContext(cart=cart_obj['uuid'])

ADD_CART_ITEM = (
    Saga().remote_step(_get_product).on_success(_get_product_success).commit(_add_item_to_cart)
)

this is the test

@pytest.fixture
def add_product():
    add_p_response = requests.post('http://localhost:5566/product', json={
        "title": "Product For Cart",
        "description": "Product used during Cart Test",
        "picture": "images/product.jpeg",
        "categories": [
            {
                "title": "tshirt"
            },
            {
                "title": "casual"
            }
        ],
        "price": {
            "currency": "EUR",
            "units": 59
        }
    })
    content = add_p_response.json()
    return content['uuid']

@pytest.fixture
def add_cart():
    add_c_response = requests.post('http://localhost:5566/cart', json={
        "user": "a6ef81f1-8145-46e3-bd54-52713958cae3",
    })
    content = add_c_response.json()
    return content['uuid']

def test_add_item_to_cart(add_product, add_cart):
    product_uid = add_product
    cart_id = add_cart
    add_c_i_response = requests.post('http://localhost:5566/cart/{}/item'.format(cart_id), json={
        "product": product_uid,
        "quantity": 2
    })
    assert add_c_i_response.status_code == 200

the docker logs return:
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.networks.rest.handlers: Dispatching '<Request POST /cart/c04e766e-b742-4744-8f85-6d316860975f/item >' from '172.19.0.9'...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.common.setup: Building a 'BrokerClient' instance from config...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.common.setup: Setting up a 'BrokerClient' instance...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.common.setup: Setting up a 'QueuedBrokerSubscriber' instance...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.common.setup: Setting up a 'InMemoryBrokerSubscriberQueue' instance...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.common.setup: Setting up a 'KafkaBrokerSubscriber' instance...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.plugins.kafka.subscriber: Creating {'04283213e2e04d6583bd835b335083da'} topics...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: <BrokerConnection node_id=bootstrap-0 host=kafka:9092 <connecting> [IPv4 ('172.19.0.5', 9092)]>: connecting to kafka:9092 [('172.19.0.5', 9092) IPv4]
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Probing node bootstrap-0 broker version
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: <BrokerConnection node_id=bootstrap-0 host=kafka:9092 <connecting> [IPv4 ('172.19.0.5', 9092)]>: Connection complete.
eboutique-product-1     | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.networks.brokers.dispatchers.impl: Dispatching 'BrokerMessageV1(topic='ProductCreated', identifier=UUID('c1f045b8-eb39-4334-897f-42040267128b'), reply_topic=None, strategy=<BrokerMessageV1Strategy.MULTICAST: 'multicast'>, payload=BrokerMessageV1Payload(content=Event(uuid=UUID('f8c26802-cfdc-42f0-810a-6fa05896ca6a'), name='src.aggregates.Product', version=1, action=<Action.CREATE: 'create'>, created_at=datetime.datetime(2022, 2, 18, 19, 25, 5, 134637, tzinfo=datetime.timezone.utc), fields_diff=FieldDiffContainer(title=FieldDiff(name='title', value='Product For Cart'), description=FieldDiff(name='description', value='Product used during Cart Test'), picture=FieldDiff(name='picture', value='images/product.jpeg'), price=FieldDiff(name='price', value=Price(uuid=UUID('37aa637b-03ec-4075-ace7-ed295ea34825'), currency='EUR', units=59)), categories=FieldDiff(name='categories', value=ValueObjectSet(data={Category(title='casual'), Category(title='tshirt')})))), status=<BrokerMessageV1Status.SUCCESS: 200>, headers={}))'...
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Broker version identified as 2.5.0
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Set configuration api_version=(2, 5, 0) to skip auto check_version requests on startup
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Probing node bootstrap-0 broker version
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Broker version identified as 2.5.0
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Set configuration api_version=(2, 5, 0) to skip auto check_version requests on startup
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: <BrokerConnection node_id=1001 host=kafka:9092 <connecting> [IPv4 ('172.19.0.5', 9092)]>: connecting to kafka:9092 [('172.19.0.5', 9092) IPv4]
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Probing node 1001 broker version
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: <BrokerConnection node_id=1001 host=kafka:9092 <connecting> [IPv4 ('172.19.0.5', 9092)]>: Connection complete.
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: <BrokerConnection node_id=bootstrap-0 host=kafka:9092 <connected> [IPv4 ('172.19.0.5', 9092)]>: Closing connection.
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Broker version identified as 2.5.0
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:kafka.conn: Set configuration api_version=(2, 5, 0) to skip auto check_version requests on startup
eboutique-kafka-1       | [2022-02-18 19:25:05,786] INFO Creating topic 04283213e2e04d6583bd835b335083da with configuration {} and initial partition assignment HashMap(0 -> ArrayBuffer(1001)) (kafka.zk.AdminZkClient)
eboutique-zookeeper-1   | 2022-02-18 19:25:05,788 [myid:] - INFO  [ProcessThread(sid:0 cport:2181)::PrepRequestProcessor@648] - Got user-level KeeperException when processing sessionid:0x17f0e4b133f0000 type:setData cxid:0xf6 zxid:0x168 txntype:-1 reqpath:n/a Error Path:/config/topics/04283213e2e04d6583bd835b335083da Error:KeeperErrorCode = NoNode for /config/topics/04283213e2e04d6583bd835b335083da
eboutique-kafka-1       | [2022-02-18 19:25:05,854] INFO [ReplicaFetcherManager on broker 1001] Removed fetcher for partitions Set(04283213e2e04d6583bd835b335083da-0) (kafka.server.ReplicaFetcherManager)
eboutique-kafka-1       | [2022-02-18 19:25:05,863] INFO [Log partition=04283213e2e04d6583bd835b335083da-0, dir=/kafka/kafka-logs] Loading producer state till offset 0 with message format version 2 (kafka.log.Log)
eboutique-kafka-1       | [2022-02-18 19:25:05,868] INFO Created log for partition 04283213e2e04d6583bd835b335083da-0 in /kafka/kafka-logs/04283213e2e04d6583bd835b335083da-0 with properties {} (kafka.log.LogManager)
eboutique-kafka-1       | [2022-02-18 19:25:05,871] INFO [Partition 04283213e2e04d6583bd835b335083da-0 broker=1001] No checkpointed highwatermark is found for partition 04283213e2e04d6583bd835b335083da-0 (kafka.cluster.Partition)
eboutique-kafka-1       | [2022-02-18 19:25:05,872] INFO [Partition 04283213e2e04d6583bd835b335083da-0 broker=1001] Log loaded for partition 04283213e2e04d6583bd835b335083da-0 with initial high watermark 0 (kafka.cluster.Partition)
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:aiokafka.consumer.subscription_state: Updating subscribed topics to: frozenset({'04283213e2e04d6583bd835b335083da'})
eboutique-cart-1        | 2022-02-18 19:25:05 [T:MainThread] INFO:aiokafka.consumer.group_coordinator: Metadata for topic has changed from {} to {'04283213e2e04d6583bd835b335083da': 1}.
eboutique-product-1     | 2022-02-18 19:25:05 [T:MainThread] INFO:minos.networks.brokers.dispatchers.impl: Dispatching 'BrokerMessageV1(topic='GetProductById', identifier=UUID('4b49a0ab-8464-4fdd-8513-6c7f66737095'), reply_topic='04283213e2e04d6583bd835b335083da', strategy=<BrokerMessageV1Strategy.UNICAST: 'unicast'>, payload=BrokerMessageV1Payload(content=ProductGet[DTO](uid='f8c26802-cfdc-42f0-810a-6fa05896ca6a'), status=<BrokerMessageV1Status.SUCCESS: 200>, headers={'saga': 'c1a5ac6c-dbd0-4ab1-a0e8-9f79123a5021', 'transactions': 'c1a5ac6c-dbd0-4ab1-a0e8-9f79123a5021'}))'...
eboutique-product-1     | 2022-02-18 19:25:59 [T:MainThread] INFO:minos.aggregate.snapshots.services: Performing periodic Snapshot synchronization...
eboutique-cart-1        | 2022-02-18 19:25:59 [T:MainThread] INFO:minos.aggregate.snapshots.services: Performing periodic Snapshot synchronization...
eboutique-product-1     | 2022-02-18 19:26:00 [T:MainThread] INFO:minos.aggregate.snapshots.services: Performing periodic Snapshot synchronization...
eboutique-cart-1        | 2022-02-18 19:26:00 [T:MainThread] INFO:minos.aggregate.snapshots.services: Performing periodic Snapshot synchronization...
eboutique-cart-1        | 2022-02-18 19:26:05 [T:MainThread] INFO:minos.saga.executions.commit: Successfully rejected!
eboutique-cart-1        | 2022-02-18 19:26:05 [T:MainThread] ERROR:minos.networks.rest.handlers: Raised a system exception: SagaFailedExecutionException(message='There was a failure while \'SagaStepExecution\' was executing: MinosHandlerNotFoundEnoughEntriesException(message="Timeout exceeded while trying to fetch 1 entries from \'04283213e2e04d6583bd835b335083da\'.")')
eboutique-cart-1        | Traceback (most recent call last):
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/clients.py", line 164, in _get_many
eboutique-cart-1        |     async for message in self.subscriber:
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/subscribers/abc.py", line 53, in __anext__
eboutique-cart-1        |     return await self.receive()
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/subscribers/abc.py", line 60, in receive
eboutique-cart-1        |     message = await self._receive()
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/collections/queues/abc.py", line 47, in dequeue
eboutique-cart-1        |     message = await self._dequeue()
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/collections/queues/memory.py", line 48, in _dequeue
eboutique-cart-1        |     message = await self._queue.get()
eboutique-cart-1        |   File "/usr/local/lib/python3.9/asyncio/queues.py", line 166, in get
eboutique-cart-1        |     await getter
eboutique-cart-1        | asyncio.exceptions.CancelledError
eboutique-cart-1        |
eboutique-cart-1        | During handling of the above exception, another exception occurred:
eboutique-cart-1        |
eboutique-cart-1        | Traceback (most recent call last):
eboutique-cart-1        |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 490, in wait_for
eboutique-cart-1        |     return fut.result()
eboutique-cart-1        | asyncio.exceptions.CancelledError
eboutique-cart-1        |
eboutique-cart-1        | The above exception was the direct cause of the following exception:
eboutique-cart-1        |
eboutique-cart-1        | Traceback (most recent call last):
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/clients.py", line 152, in receive_many
eboutique-cart-1        |     messages = await wait_for(self._get_many(count, **kwargs), timeout=timeout)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/asyncio/tasks.py", line 492, in wait_for
eboutique-cart-1        |     raise exceptions.TimeoutError() from exc
eboutique-cart-1        | asyncio.exceptions.TimeoutError
eboutique-cart-1        |
eboutique-cart-1        | During handling of the above exception, another exception occurred:
eboutique-cart-1        |
eboutique-cart-1        | Traceback (most recent call last):
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 234, in _get_response
eboutique-cart-1        |     message = await broker.receive(**kwargs)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/clients.py", line 142, in receive
eboutique-cart-1        |     return await self.receive_many(*args, **(kwargs | {"count": 1})).__anext__()
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/brokers/clients.py", line 154, in receive_many
eboutique-cart-1        |     raise MinosHandlerNotFoundEnoughEntriesException(
eboutique-cart-1        | minos.networks.exceptions.MinosHandlerNotFoundEnoughEntriesException: Timeout exceeded while trying to fetch 1 entries from '04283213e2e04d6583bd835b335083da'.
eboutique-cart-1        |
eboutique-cart-1        | During handling of the above exception, another exception occurred:
eboutique-cart-1        |
eboutique-cart-1        | Traceback (most recent call last):
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/rest/handlers.py", line 137, in _wrapper
eboutique-cart-1        |     response = await response
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/middleware.py", line 42, in transactional_command
eboutique-cart-1        |     return await inner(request)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/decorators/builders.py", line 170, in _wrapper
eboutique-cart-1        |     response = await response
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/networks/decorators/callables/handlers.py", line 112, in _wrapper
eboutique-cart-1        |     response = await response
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/src/commands/services.py", line 59, in create_cart_item
eboutique-cart-1        |     saga_execution = await self.saga_manager.run(
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 134, in run
eboutique-cart-1        |     return await self._run_new(
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 154, in _run_new
eboutique-cart-1        |     return await self._run(execution, **kwargs)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 176, in _run
eboutique-cart-1        |     raise exc
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 172, in _run
eboutique-cart-1        |     await self._run_with_pause_on_memory(execution, **kwargs)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 227, in _run_with_pause_on_memory
eboutique-cart-1        |     raise exc
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 220, in _run_with_pause_on_memory
eboutique-cart-1        |     response = await self._get_response(broker, execution, **kwargs)
eboutique-cart-1        |   File "/usr/local/lib/python3.9/site-packages/minos/saga/manager.py", line 237, in _get_response
eboutique-cart-1        |     raise SagaFailedExecutionException(exc)
eboutique-cart-1        | minos.saga.exceptions.SagaFailedExecutionException: There was a failure while 'SagaStepExecution' was executing: MinosHandlerNotFoundEnoughEntriesException(message="Timeout exceeded while trying to fetch 1 entries from '04283213e2e04d6583bd835b335083da'.")
eboutique-apigateway-1  | 172.19.0.1 [18/Feb/2022:19:25:05 +0000] "POST /cart/c04e766e-b742-4744-8f85-6d316860975f/item HTTP/1.1" 500 196 "-" "python-requests/2.27.1"

Solved in #220

Related to #229

authors: andrea-mucci vladyslav-fenchak

repo: minos-framework/minos-python


text:
🛑 Matrix is down

In 41f5636, Matrix (https://matrix.mint.lgbt:8448/_matrix/federation/v1/version) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Matrix is back up in d470e9f after 6 minutes.

repo: mint-lgbt/status


text:
🛑 Matrix is down

In 35c01fc, Matrix (https://matrix.mint.lgbt:8448/_matrix/federation/v1/version) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Matrix is back up in 250bfbf.


text:
opam: remove the 'build' directive on dune dependency

This directive results in failure when downgrading Dune versions, due to version-specific functionality in the Dune language. See https://github.com/ocaml/opam/issues/3850 for more details.

thanks!

authors: CraigFe hannesm

repo: mirage/mirage-random

license: ISC


text:
Add MixAudit security scanning

📖 Description
This pull request adds MixAudit (mix deps.audit) to check for security vulnerabilities in hex.pm dependencies.

🦀 Requesting reviewers for this pull request:

@gcauchon (contributor with 1 commits in the last 90 days and 26 commits overall)
@alarochelle (expert reviewer for the elixir stack)

authors: mirego-builds remi

repo: mirego/elixir-boilerplate


text:
Fix typo in process_payload method name

Fix typo in process_payload! method name.

:+1:

:+1: There’s no tests that need to be fixed because it’s an internal method, correct?

@remiprev exactly

authors: charlesdemers jfcartkeep remiprev

repo: mirego/encore


text:
1720 - update order details view for refunds

I want to merge this change because... it updates order details view for refunds.
Feature branch: https://github.com/mirumee/saleor-dashboard/pull/870

PR intended to be tested with API branch:  SALEOR-1723/4-refund-order-lines
https://github.com/mirumee/saleor/pull/6530
Screenshots

Pull Request Checklist

[ ] All visible strings are translated with proper context.
[ ] All data-formatting is locale-aware (dates, numbers, and so on).
[ ] Translated strings are extracted.
[ ] Number of API calls is optimized.
[ ] The changes are tested.
[ ] Data-test are added for new elements.
[ ] Type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Test environment config

API_URI=https://master.staging.saleor.rocks/graphql/

Task linked: SALEOR-1723 resolver for available lines to refund

Task linked: SALEOR-1720 Update Order Details view for refunds

authors: orzechdev patrys

repo: mirumee/saleor-dashboard


text:
Dashboard Product Price Field Not Accepting Floats

What I'm trying to achieve
Trying to set a float value such as 29.99 as a product price on the dashboard (1.0). I get the following error message right below the field Ensure that there are no more than 0 decimal places.. I came across https://github.com/mirumee/saleor/issues/355 from many years ago, but I'm not sure if it's the same error message.
Steps to reproduce the problem

Add a float value to the product price field on the dashboard. I haven't tested with other price fields

What I expected to happen
I expected the dashboard to accept the float. It is common after all to have floats as product prices.
Screenshots

System information
Operating system: Windows 10
Browser: Firefox

Are you using the latest version of Saleor?

Do Mauritian Rupees have any denominations below 1 MUR?

My last pull was about a week ago. Just to be certain, I deployed a new saleor app on heroku just now. It surprisingly didn't have the same issue. I'll update my deployment to see if it solves it.

This has been fixed now. It works correctly on both the old and new dashboards. Thanks.

authors: Pacu2 khalibloo patrys

repo: mirumee/saleor


text:
move extracting requester to utils

service account can be None
but user will always be set (user or anonymous)
previous info.context.user or info.context.service_account always returned user
Pull Request Checklist

[x] Privileged views and APIs are guarded by proper permission checks.
[x] All visible strings are translated with proper context.
[x] All data-formatting is locale-aware (dates, numbers, and so on).
[x] Database queries are optimized and the number of queries is constant.
[x] Database migration files are up to date.
[x] The changes are tested.
[x] GraphQL schema and type definitions are up to date.
[ ] Changes are mentioned in the changelog.

Here is the report for 07c977be21bc735e045b817581e0c903bdc312be (kswiatek92/saleor @ move-getting-requester-to-utils)
Base comparison is a0c379ef7a81073c509d11907b2bef341eb12da2.
No differences were found. (click me)

# api.benchmark checkout
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  add billing address to checkout            	         34	         34	             20
  add shipping to checkout                   	          7	          7	              0
  checkout payment charge                    	         10	         10	              0
  complete checkout                          	          8	          8	              0
  create checkout                            	         50	         50	             24

# api.benchmark homepage
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  retrieve main menu                         	          5	          5	              0
  retrieve product list                      	          4	          4	              0
  retrieve secondary menu                    	          5	          5	              0
  retrieve shop                              	          2	          2	              0

# api.benchmark product
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product details                            	         14	         14	              2
  retrieve product attributes                	          9	          9	              0

# api.benchmark variant
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  product variant bulk create                	         51	         51	              3
  retrieve variant list                      	         16	         16	              6

# api product sorting attributes
  test name                                  	left count 	right count	duplicate count
  -------------------------------------------	-----------	-----------	---------------
  sort product not having attribute data     	         21	         21	              0


text:
Custom mode

Implements a custom mode in which the user is allowed to provide its own prerprocessing fuction allowing operation such as discading unwanted data, sanitization, enrichment and any type of transformation before building the prompt for the llm

Good change, I like it. Thank you so much 🙏

authors: lamoglia mishushakov

repo: mishushakov/llm-scraper


text:
🛑 La bonne alternance is down

In 806e1f9, La bonne alternance (https://labonnealternance.apprentissage.beta.gouv.fr/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: La bonne alternance is back up in c3c6eff.

repo: mission-apprentissage/upptime


text:
S3 to Hive operator. New PR for cleaner history

@krishnabhupatiraju @mistercrunch
Alright, I did this to clean up the history of the branch. Too many merge conflict even with trying to rebase...

I added the ability to store the credentials inside the db, instead of pointing to a file.

Tested locally. Merging.

repo: mistercrunch/Airflow


text:
Exception occurred when pip install panoramix

when I pip install panoramix,I got some exceptions:
Installing collected packages: panoramix
Running setup.py install for panoramix
changing mode of build/scripts-2.6/panoramix from 644 to 755
SyntaxError: ('invalid syntax', ('/usr/lib/python2.6/site-packages/panoramix/forms.py', 206, 52, "        field_css_classes = {k: ['form-control'] for k in px_form_fields.keys()}\n"))
SyntaxError: ('invalid syntax', ('/usr/lib/python2.6/site-packages/panoramix/viz.py', 57, 15, '            for k in form_data.keys()\n'))

SyntaxError: ('invalid syntax', ('/usr/lib/python2.6/site-packages/panoramix/models.py', 361, 40, '        cols = {col.column_name: col for col in self.columns}\n'))

SyntaxError: ('invalid syntax', ('/usr/lib/python2.6/site-packages/panoramix/views.py', 401, 40, "                int(o['slice_id']):o for o in json.loads(dashboard.position_json)}\n"))

changing mode of /usr/bin/panoramix to 755

And what's you advise here?Thanks

Can you try with python2.7?

I added a note in the README about python version support. We're adding in python 3 support soon, no one should be using 2.6 anymore.

authors: mistercrunch wangmuling

repo: mistercrunch/panoramix


text:
Question about FP16 training

In line 399-400 of https://github.com/mit-han-lab/efficientvit/blob/master/efficientvit/models/nn/ops.py ,
it seems that we convert back to FP32 during training. Why would this be the case? Does training that part with FP16 significantly cause low accuracy?

checkout #15

repo: mit-han-lab/efficientvit


text:
[BUG]: ZPA : Service Edges - 404 - No handler found

Describe the bug
Same issue as https://github.com/mitchos/pyZscaler/issues/85 but for Service Edges now
Expected behavior
We would expect to have the list of service edges
Screenshots
OS: Windows 10
Browser [e.g. chrome, safari]: Not a browser, it's using the requests library of Python
Version [e.g. 22]: 2.27.1

Additional context

Hi @LetMeR00t I've tried to replicate the issue but I'm unable to get any errors.
My Steps:

Link a new service edge and create a service edge group.
Run code
Both service edge and service edge group were output

My code:
from pyzscaler import ZPA, ZIA
from pprint import pprint

zpa = ZPA()

for edge in zpa.service_edges.list_service_edges():
    pprint(edge.to_json())

for edge in zpa.service_edges.list_service_edge_groups():
    pprint(edge.to_json())

Did you receive an exception or just no output at all?

Hi @mitchos,
Sorry for the late answer,
I have this error on my side:
Traceback (most recent call last):
...
  File "......", line 212, in collect_events
    all_data = zpa.service_edges.list_service_edges()
....
restfly.errors.NotFoundError: [404: GET] https://config.private.zscaler.com/userconfig/v1/customers/xxxxxxxx/serviceEdge?page=1 body=b'{\n  "exception" : "No handler found",\n  "id" : "resource.not.found"\n}'

ERROR [404: GET] https://config.private.zscaler.com/userconfig/v1/customers/xxxxxxxx/serviceEdge?page=1 body=b'{\n  "exception" : "No handler found",\n  "id" : "resource.not.found"\n}'

I'm not using the v1.0.0 but the latest code from your main branch.

Aha got it.
I hit this bug earlier when I implemented the SCIM Attributes module. Looks like I didn't bring the change over to the SCIM Groups module.
Basically what's happening is I overrode the base URL for the ZPA API calls in the ZPA object, rather than in the module itself. This breaks all subsequent API calls after zpa.scim_groups.list_groups() or zpa.scim_groups.get_group() are invoked. I would bet my money that you are making one of these calls earlier on in your script.
Fix will be out in a few hours in 1.0.2. Thanks for your patience.

Hi,
and you’re right, here is the piece of code using it : https://github.com/LetMeR00t/TA-zscaler-api/blob/main/TA-zscaler-api/bin/input_module_zscaler_zpa_configurations.py
Of course it depends which parameters you select but indeed I’m using this just before
Thank you

repo: mitchos/pyZscaler


text:
adding dataXoffset and dataYoffset

I'd like to walk around within my scene. Now I could update the xyz coordinate of every object manually, but there is already a dataZoffset variable that only lets me move every item on the Z axis. Why isn't there a corresponding offset variable for the other two coordinates?
Let me know what you think 🙂

Hey this looks pretty awesome! I'll review this as soon as I can.

I figured out that I should rather use camTx, camTy and camTz for that 😅

nah, it turns out offsetting the data has a different effect than translating the camera (one might say I should be familiar to three dimensionality at this stage of my life 😅). I would at least ask, why it is only the z axis that can be offset.

nah, it turns out offsetting the data has a different effect than translating the camera (one might say I should be familiar to three dimensionality at this stage of my life 😅). I would at least ask, why it is only the z axis that can be offset.

I didn't need them at that time 😅. I use dataZoffset because I wanted to control how the rotation (in the x, y, z axes) worked with respect to the data 😄

I'd like to walk around within my scene. Now I could update the xyz coordinate of every object manually, but there is already a dataZoffset variable that only lets me move every item on the Z axis. Why isn't there a corresponding offset variable for the other two coordinates?
Let me know what you think 🙂

Hey, you didn't give me permission to edit your pull request. Please allow maintainers to edit your pull request! Thanks!
➜  bare-minimum-3d git:(feat/PR-023) git push PR-023 feat/PR-023 --force
Enumerating objects: 11, done.
Counting objects: 100% (11/11), done.
Delta compression using up to 4 threads
Compressing objects: 100% (8/8), done.
Writing objects: 100% (8/8), 14.83 KiB | 1.24 MiB/s, done.
Total 8 (delta 6), reused 0 (delta 0)
remote: Resolving deltas: 100% (6/6), completed with 3 local objects.
To https://github.com/fuddl/bare-minimum-3d.git
 ! [remote rejected] feat/PR-023 -> feat/PR-023 (permission denied)
error: failed to push some refs to 'https://github.com/fuddl/bare-minimum-3d.git'

Yes, of course. I apologize

Yes, of course.

Awesome! 😃

authors: fuddl mithi


text:
Support websockets

Prints websocket server connection address

Thanks for the PR. We'll soon ditch the extra WebSocketFlow class for HTTPFlow (#4425), so I'm closing this here. 😃

repo: mitmproxy/mitmproxy


text:
Make futures small again

https://github.com/mitmproxy/mitmproxy/pull/7165 - It turns out the clippy lint is not catching everything. 🫠
/cc fyi @decathorpe

For future reference: Debugged with https://github.com/tokio-rs/tokio/compare/master...mhils:tokio:future-size-debug?expand=1


text:
Google Drive integration

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[ ] Desktop screenshots
[ ] Mobile width screenshots

[ ] Migrations

[ ] Migration is backwards-compatible with current production code

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

[ ] Settings

[ ] New settings are documented and present in app.json
[ ] New settings have reasonable development defaults, if applicable
[ ] Opened issue for DevOps regarding necessary configuration changes to deployed environments

What are the relevant tickets?
(Required)
What's this PR do?
(Required)
How should this be manually tested?
(Required)
Where should the reviewer start?
(Optional)
Any background context you want to provide?
(Optional)
Screenshots (if appropriate)
(Optional)
What GIF best describes this PR or how it makes you feel?
(Optional)

Codecov Report

Merging #431 (5957232) into master (5a01895) will increase coverage by 4.80%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #431      +/-   ##
==========================================
+ Coverage   90.25%   95.05%   +4.80%
==========================================
  Files         138       72      -66
  Lines        4588     1842    -2746
  Branches      708      397     -311
==========================================
- Hits         4141     1751    -2390
+ Misses        401       89     -312
+ Partials       46        2      -44

Impacted Files
Coverage Δ

content_sync/__init__.py

content_sync/backends/base.py

ocw_import/tasks.py

fixtures/common.py

websites/serializers.py

main/admin.py

main/s3_utils.py

content_sync/apis/github.py

websites/views.py

websites/signals.py

... and 53 more

Continue to review full report at Codecov.

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

Does this close #408 ?

@abeglova would you mind taking another look? I made changes to avoid repeated S3 uploads if the checksums are identical.  Also made changes to the initial migration so you'll need to run manage.py migrate gdrive_sync zero followed by manage.py migrate gdrive_sync

authors: codecov-commenter mbertrand pdpinch

repo: mitodl/ocw-studio


text:
Update DEDP program certificates model to not use hard-coded program name

Description/Context

There will be a new DEDP Program "Public Policy" launches on 6/28, and the existing DEDP program name will likely be changed as part of the launch. https://github.com/mitodl/hq/issues/1662
There are some hard-coded program names Data, Economics and Development Policy in the intermediate MicroMasters program certificate model. That logic will break once the course team updates the existing DEDP program name, so we need to update that to use dedp_micromasters_program_id (2) and dedp_mitxonline_program_id (1) since the primary ID will unlikely be changed
Plan/Design

Update the hardcoded DEDP program title in the intermediate MicroMasters program certificate model

https://github.com/mitodl/ol-data-platform/pull/747 is merged and code is deployed

repo: mitodl/ol-data-platform


text:
Relationship with pylti/lti

As the current primary maintainer of pylti/lti, what is your thought about the relationship between this project and that project / organization? What is the key value that you're targeting here, and is there a collaboration that may be useful to both of us?
I would love to see others interested in improving the pylti/lti codebase. There are lots of things I don't like about it (I didn't write most of it), but I really haven't been able to give it much attention myself. I'd be happy to be a part of helping shepherd work there, or if it's better for everyone, here.
I'd appreciate your thoughts on where you'd like to see the state of LTI libraries in Python heading. Thank you for any feedback you can give.

Thanks for asking. As you have no doubt noticed, we don't give this library a lot of attention. However, it's a key library for faculty-written tools at MIT and the number of those tools is increasing. I expect that MITODL will be spending more time with this in the coming months.
The two major shortcomings with this library that I'm aware of is lack of Python 3 support and lack of Django support. Are there others?
When we wrote this library pytli/pylti didn't exist (as far as I know), so we didn't evaluate it. What are the differences between pylti/pylti and this library?
I believe Harvard has a python LTI library (or libraries) as well. The last time I checked, they lacked python 3 support as well and although they worked with django they didn't have Flask support. Flask has been particularly useful for our faculty coders.

The lti library (https://github.com/pylti/lti) is forked from dce_lti_py (From Harvard DCE), which itself was forked from ims_lti_py (Top Hat Monocle), and the folks that are behind those are members of that organization, though with similar participation as I've been giving to it, and that has been given as well to this library.
lti does use oauthlib, which IMO is a significant benefit to using it. I'm biased, though, I wrote the patch that added SignatureOnlyEndpoint to oauthlib. There is also a contributed Flask tool provider, though I haven't used it personally, and can't attest to its suitability for your purposes. lti is also Python 3 compatible, to the extent that it's tested (and if you find Python 3 bugs, I'll be happy to work on them).
What I'm hoping is that we can work together to try and avoid some duplication of labor, given the relatively small amount any of our libraries are getting, and hopefully have a bit more fault-tolerant maintainership. There are lots of improvements that can be made to lti, and the more actionable an issue, the more likely I am to jump in and fix it (just speaking for myself).
If we could find a way to merge these two libraries, I think that would be excellent, especially if in the process we can end up combining our small amounts of maintainer time to get something that is better maintained for us all.
I'm partial to the name of lti and the pylti organization, but really I'm wondering with this issue less about a name, and more about if a shared organization and/or library would be something that everyone would be on board with. If so, I'd like to see us compare the use-cases of both libraries, and see what a shared path forward might look like.
Is that something you're on board with looking at?

@pdpinch : Just wondering if you have any response to that. If it were me in your position, it's likely that a conversation like this might be abandoned not out of disinterest, but just because of  distractions and scatterbrainedness, so I wanted to make sure that's not the case.
Of course, feel free to tell me that it's not a great time to look at a shared effort, that's perfectly appropriate too ;-)

@ryanhiebert the answer is yes, of course, we would like to collaborate. Any thoughts on how do we do  that ?

authors: Ferdi pdpinch ryanhiebert

repo: mitodl/pylti


text:
🛑 Vividcraft is down

In 0e623fc, Vividcraft (https://vividcraft.com.au) was down:

HTTP code: 530
Response time: 275 ms

Resolved: Vividcraft is back up in f5e82ca after 20 hours, 15 minutes.

repo: mitrasheamuskhanal/INS-Tracker


text:
recommended updates

JHU/APL has requested:

an implemented Aircraft::operator=
cleaner concepts in AirborneApplication. Particularly related to the concept of own_intent

Response. Note that the equals operator is not actually needed in Aircraft as the class is empty. Essentially abstract. But, I'll make sure our next release keeps this in mind.

repo: mitre/FMACM


text:
Single-character wrapped lines with long options

When I run the script at the bottom I get the following output. I would, obviously, expect ALSOLONG to be all together on the second row.
Usage: example.py relatively_long example [OPTIONS] FIRST SECOND LONGISH
                                          A
                                          L
                                          S
                                          O
                                          L
                                          O
                                          N
                                          G

Error: Missing argument "first".

--
import click

@click.group()
def foo():
    pass

@foo.group()
def relatively_long():
    pass

@relatively_long.command()
@click.argument('first')
@click.argument('second')
@click.argument('longish')
@click.argument('alsolong')
def example():
    pass

foo()

Hello.  I was just wondering if there is any progress on this bug?  My options are wrapping very far.
T
h
a
n
k
s
!
:)

I have an open PR for this. I might pull that out into some code that can be applied in projects using click if the PR doesn't get reviewed.

@untitaker Are you able to look at #240?

I don't think it's the correct solution. I'm at a loss why Click wants to indent all options to match up with the command name... generally this is not going to fly on smaller terminals.

so you would suggest just wrapping to the next line, maybe with a small indent (4-8 spaces)?

Does anyone have a suggestion for how to get around this issue in the most efficient way possible?  I used Python 2.7, but if I switch to 3.0 will that fix it?  Or anything less time intensive?  Thank you for any pointers!

I haven't looked into the issue properly. #240 is a workaround, but a proper fix is needed.

Okay, I see #240 changes formatting.py but i figured this was something that needed to be done in Click and then I'd reinstall Click.  Is this something I can change locally?  Thanks for your time.  I'm new to software development (I generally do scripting/bioinformatics).  If you are too busy, no worries!  Thanks!  @sjagoe

If you want to try #240:
git clone https://github.com/mitsuhiko/click
cd click
git fetch origin pull/240/head:tmp
git checkout tmp
python setup.py install

sorry, I haven't had time to come back to this yet. I'll try to revisit it this week for another fix.

authors: JTFouquier OddBloke sjagoe untitaker

repo: mitsuhiko/click


text:
Feature: allow user to specify the download location of 7z archives

Adds the option --archive-dest <path>.
For convenience/readability, this will also turn any reference to the downloaded file in helper.py and installer.py into a pathlib.Path object. This makes it easier to ensure that the file ends up in the right location.
This also adds items in settings.ini that control the default behavior of --keep and --archive-dest.
Fix #421

LGTM. When test passed, I'd like to merge.

authors: ddalcino miurahr

repo: miurahr/aqtinstall


text:
weapp-sdk报签名校验失败

在SDK中，有检查签名校验，这里过不了，怎么解决？如果注释掉了可能安全下降。
            $data = $body['data'];
            $signature = $body['signature'];

            // 校验签名
            if (!Signature::check($data, $signature)) {
                throw new Exception('签名校验失败');
            }

            $data = json_decode($data, TRUE);
            $tunnelId = $data['tunnelId'];

代码中有做签名计算
https://github.com/miwoy/weapp-node-tunnel/blob/75b9c309cd6fdbecfa6db95b7ec0ace458050f78/tunnelStore.js#L76
不过这个信道服务是三年前编写的，对应的wafer2版本是v1.3.2，而且只对接过nodejs的sdk。
我由于没有再做小游戏开发，这个项目就没有维护了。可能对新版本的wafer2支持并不好，建议只在平时调试使用，生产环境还是使用腾讯官方的信道服务比较好。

代码中有做签名计算
https://github.com/miwoy/weapp-node-tunnel/blob/75b9c309cd6fdbecfa6db95b7ec0ace458050f78/tunnelStore.js#L76
不过这个信道服务是三年前编写的，对应的wafer2版本是v1.3.2，而且只对接过nodejs的sdk。
我由于没有再做小游戏开发，这个项目就没有维护了。可能对新版本的wafer2支持并不好，建议只在平时调试使用，生产环境还是使用腾讯官方的信道服务比较好。

一般的签名校验应当是三个参数，（数据，签名，tcKey），你检查一下是不是少传了一个参数tcKey

一般的签名校验应当是三个参数，（数据，签名，tcKey），你检查一下是不是少传了一个参数tcKey

authors: miwoy rayyzhong

repo: miwoy/weapp-node-tunnel


text:
底层的设备接入

你好，我想具体了解一下如果我要使用这个框架，底层的设备采用哪种协议接入这个系统

底层设备是不是一定要接入到mixIOT系统，才可以和FIDIS对接，作数据展示和交互

是的，FIDIS是应用层，设备相关数据的来源就是MixIOT系统，所有底层设备需要先接入到MixIOT系统。

authors: liaoyinyu qinguoqing

repo: mixlinker/fidis


text:
Add uc browser

Added support for recognizing UC Browser.
https://en.wikipedia.org/wiki/UC_Browser
I used their user agent documentation here: http://www.ucweb.com/download/UCBrowser_User_Agent_en.pdf
The UC Browser user agent often includes 'Safari', 'Mobile Safari', so the library currently recognizes UC Browser users as such.
For example:
Mozilla/5.0 (Linux; U; Android 2.3; en-US; MI-ONEPlus) AppleWebKit/534.13 (KHTML, like
Gecko) UCBrowser/8.6.0.199 U3/0.8.0 Mobile Safari/534.13

Thanks for the update. It looks like some user agent strings identified out in the wild as UC Browser don't contain "UCBrowser", for instance UCWEB/8.8 (iPhone; CPU OS_6; en-US)AppleWebKit/534.1 U3/3.0.0 Mobile from http://www.webapps-online.com/online-tools/user-agent-strings/dv/browser212364/uc-browser. Do we care about those?

Good catch! I'm not sure if it's necessary but I made a change to look for UCWEB as well.

Hey @tdumitrescu - just wanted to check in and see if you had a chance to look at this. Thanks!

@kathmath we'll cut a release today!

v2.10.0 has been released with these changes

Thank you @jbwyme @tdumitrescu !!!

authors: jbwyme kathmath tdumitrescu

repo: mixpanel/mixpanel-js


text:
Tracking and Identifying Oh My!

I am confused!
I have read this: https://help.mixpanel.com/hc/en-us/articles/115004497803-Identity-Management-Best-Practices
And I'm trying to understand something:
I have a user that is using the app for the first time(or logged out)
I'm assuming from the docs that when they started the app, they receive a uniques identifier that is being used to send events

If they tap login- easy peasy I'm login them in and call identify -done we know who the user is
If they register, I should call mixpanel.alias("some_user", user.id). Why not call here identify?
Then upon login after register i need to call identify? What if on my app upon registration completion, the user is logged in? Should the process then be: alias() ------> and then identify() immediately?  This is not coherent from the docs

Thanks in a advance

Hi @eladgel , I'm so sorry for the late response.
If you enable Mixpanel ID Merge, just call identify with your chosen identifier as soon as you know who the user is to merge anonymous and identified distinct_ids.  Calling alias on sign up is no longer required. Here is the doc on how to enable ID Merge. https://help.mixpanel.com/hc/en-us/articles/360039133851-Moving-to-Identity-Merge
Previously before ID Merge introduced, Mixpanel could only map pre-sign up activity back to a user who was later identified by calling alias. Any activity a user did anonymously before signing in again could not be attributed to that user without calling alias. In the old system, what you described in no.3 is correct. The key is register= alias(should only be called once) and login = identify
I'm closing it now but please feel to continue the conversion if needed.

authors: eladgel zihejia

repo: mixpanel/mixpanel-react-native


text:
64bit version ? :) thx

i'm not a good compiler Xcode :)

is the plugin useful?
please try 2.0.1

Hi,
2.0.1 works well in Catalina, except it asks 4x for security in first 4 launches of the base, after it's ok.
After test, it's incomplete because tables are not converted in HTML :( like some line command "markdown-to-html"
I found one which works well in line command (with tables…) but (so sad) not inside 4D, i explain :

npm install markdown-to-html -g
"markdown /Users/olivier/WiseDyn/Web/noma/trainings/linux/linuxGuidePractice.md" (exemple)
and terminal display good result :)

In 4D, the same command just output an error : env: node: No such file or directory
even if i put the complete path of the command and complete path of the file :( if you have an idea…
i tried too to pass the path in Environnement variable with 4D without success.
thx anyway :)
Olivier Faure
Responsable Développements
41 rue Yves Montand, 34080 Montpellier
www.noma.fr
olivier@noma.fr
04 67 75 44 62

Le 13 déc. 2019 à 05:45, Keisuke Miyako notifications@github.com a écrit :
is the plugin useful?
please try 2.0.1 https://github.com/miyako/4d-plugin-cpp-markdown/releases/tag/2.0.1
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/miyako/4d-plugin-cpp-markdown/issues/1?email_source=notifications&email_token=AANV4CIPEW6T35ZNQG4S2MTQYMHOJA5CNFSM4JZQHI62YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGY4KOY#issuecomment-565298491, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANV4CP5QAESWPKRTBJK5GTQYMHOJANCNFSM4JZQHI6Q.

different libraries support .md to different degrees.
https://github.com/miyako/4d-plugin-discount
is another example.

for the record, after I posted 2.0.1, I updated my comment with 2.0.3.
2.0.1 is notarised but not stapled, meaning, if you run on a Mac disconnected from the network,
it will not be able to check if the app is notarised by Apple.
maybe that explains the 4 dialogs.
maybe you won't have that issue with 2.0.3.

discount supports tables
$in:="aaa | bbbb\r\n-----|------\r\nhello|sailor"
$err:=Markdown ($in;$out)

authors: miyako olivierfaure


text:
Clean up tracal dev site

Need to delete the site and cleanup all reference to it

done

repo: mjeffe/trackaler


text:
Oracle thread started but not stopped, causes classloader leak

After using your excellent library we (unfortunately) had a new Oracle thread start running. This thread did not get shutdown on reload, thus causing a classloader leak.
We have the Oracle JDBC driver in our TOMCAT_HOME/lib (though we're currently not using the Oracle JDBC driver). I'm not sure if this is relevant.
I must confess I don't understand why the oracle thread's context classloader should be the System classloader. Does that prevent stopThreads() from stopping it?
Work around
I extended ClassLoaderLeakPreventor and overrode contextInitialized(), skipping the code that spins up the Oracle thread.

Having some time to contemplate on this now. What do you think about keeping initOracleJdbcThread(), but after loading the class (and thus spawning the thread) finding the oracle.jdbc.driver.OracleTimeoutPollingThread and setting its inheritedAccessControlContext to new AccessControlContext(null, false)?

That might help. I do worry about the case where an application that doesn't use Oracle but finds the Oracle jar in its classpath (which would be the case for an app running in Weblogic that didn't use Oracle) since a thread is being spawned that otherwise wouldn't be spawned. It might be worth adding a configuration parameter that allowed someone to turn off the Oracle check if they choose.
ClassLoaderLeakPreventor.disableOracleChecks (not sure what the default should be, false may be OK b/c for many users (of Tomcat, Jetty, etc) the existence of the Oracle class in the classpath is probably a reasonable indicator they are using Oracle).

I spent some more time with this and I believe I found a more proper workaround, hopefully also covering more similar cases. At the same time I introduced a setting for the spawning of the Oracle timeout thread in question, ClassLoaderLeakPreventor.startOracleTimeoutThread which defaults to true.
I don't have the time to test right now, so if anyone would care to help me out - especially with the Oracle cases - that would be appreciated. You'd need to pull the AccessControlContext branch and compile from there.
Just reviewing and commenting on the changes would also be appreciated.

I added the listener from the AccessControlContext branch to one of the applications I work on and deployed it to Weblogic 12 and Jetty 9.0.5 (from Maven). I deployed to Weblogic several times to see if it leaked but it wasn't a good test b/c I hadn't checked this application to see if it leaked recently and there are other applications deployed to the server. I didn't see any errors logged by the listener on deploy or undeploy except for:
Internal registry of java.beans.PropertyEditorManager not found
I like the changes.

Version 1.11.0 that includes these changes have now been released.

Sorry, I don't believe this issue has been fixed.  As far as I can see there is still a leak that causes webapp classloaders not to be garbage collected.
Courtesy of JVisualVM, here's a path from a (destroyed) Tomcat WebappClassLoader to a GC root:
this     - value: org.apache.catalina.loader.WebappClassLoader #1
 <- <classLoader>     - class: example.ClassLoaderLeakPreventor$2, value: org.apache.catalina.loader.WebappClassLoader #1
  <- <class>     - class: example.ClassLoaderLeakPreventor$2, value: example.ClassLoaderLeakPreventor$2 class ClassLoaderLeakPreventor$2
   <- combiner     - class: java.security.AccessControlContext, value: example.ClassLoaderLeakPreventor$2 #1
    <- inheritedAccessControlContext (thread object)     - class: oracle.jdbc.driver.OracleTimeoutPollingThread, value: java.security.AccessControlContext #27

Secondly, if you're using ojdbc7.jar, there is now another class that needs to be initialized in the same way that oracle.jdbc.driver.OracleTimeoutThreadPerVM is initialized.  This additional class is  oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser.  Like OracleTimeoutThreadPerVM, this class is a Thread.
In case it helps, I'm using JDK1.8.0_45 on Windows 10 x64, the Oracle JDBC driver jar is in <TOMCAT_HOME>/lib, not in WEB-INF/lib, and the driver JAR is being used by a test web application I've knocked up to reproduce this problem (i.e. it's not sitting around idle as it was in the initial comment on this issue).

Hi Luke and thanks for the report. Your trace made me realize that the DomainCombiner I created to avoid the initial ProtectionDomain issue, itself implied a reference... I have pushed changes that I hope will fix that, and also the oracle.jdbc.driver.BlockSource$ThreadedCachingBlockSource$BlockReleaser problem. Could you please build the library from latest sources and try it out?

Sorry Mattias, I'm afraid that your latest change doesn't fix the problem.  I've had a brief look into why.
Each of the two threads that the Oracle JDBC driver creates has a different AccessControlContext, nos 26 and 27 in the image below:

Neither 26 nor 27 is the one that the ClassLoaderLeakPreventor has a reference to (no 23). However, nos 26 and 27 both reference no 23 via a privilegedContext field:

Your code nulls out the combiner field in no 23, but it's nos 26 and 27 that you would want to do this to instead.

Thanks Luke. I forgot about the inheritance of AccessControlContexts. I hope to have found a way around that too now. (Created a test case to look specifically at the Oracle JDBC case and it looks good). Would you care to give the version on the 'AccessControlContext' branch a spin?

@mjiderhamn: the version on your AccessControlContext branch works for me.  I can now reload a test web app that talks to an Oracle database without it leaking any classloaders.

Thanks for verifying @LukeWoodward. Version 1.14.0 of the library should propagate to Maven Central shortly.

authors: LukeWoodward bradcupit hdeadman mjiderhamn

repo: mjiderhamn/classloader-leak-prevention


text:
Font name in the screenshot?

The result screen in the README (Now check the gen/ folder...) has a nice font. Could you tell its name please?

It’s been a while since that screenshot was taken but I believe the font is Monoid.

repo: mjswensen/themer


text:
Running network manager in python 3

I'm trying to convert your code in python3. I replaced bencode module with json for encoding and decoding and its working fine with python2. But I'm getting an error in twisted module while running it on python3.

I'm trying to solve it from many days but couldn't find a solution. Please help me to fix this.

self.cache = json.loads(self.cache_src) #I changed line no 27 in secrets.py to convert it for json
cache_dst = json.dumps(self.cache) #I changed line no 30 in secrets.py to convert it for json

I replaced bencode module with json for encoding and decoding

Iirc it's used to get stable id/hash from a data structure, you can't just literally replace two lines and expect same result - json is not bencode, and doesn't provide same kind of stable output as bencode does.
Which obviously can be solved in many ways (like picking pre-exising id from the data in question, generating/storing id somehow, pre-sorting keys for forcing constraints on json emitter, etc), but not simply replacing one with the other without any thinking about what you are doing there at all.

and its working fine with python2

Sure, but python2 is very different from python3, that's probably why you're doing the "converting", no?

Please help me to fix this.

Haven't used NM since shortly after implementing this project really, and don't have any kind of testing setup to quickly run and check things on, so can't even reproduce this error easily.
Output above is almost completely useless and truncated, but I'd suspect either twisted might've changed its APIs since ten years ago and/or might expect proper async functions there, not inlineCallbacks hacks.
Don't know though.
You seem to be blatantly asking me to debug your code here after it fails to run in a rather different environment with just a bogus changing of two random lines without thinking - it's not supposed to "just work" after that, and not an issue here at all.
Pretty sure python2 -> python3 conversion should involve A LOT more changes than that, likely 100s or 1000s of lines, and even more testing than that, so please don't ask me such stupid questions after every two and do your work yourself.

repo: mk-fg/NetworkManager-WiFi-WebUI

license: WTFPL


text:
How to continue the training process from a checkpoint

Hi @mkshing,
Your work is amazing, and I have tried to experiment with SVDiff on Google Colab with your repo.
But I actually got a little problem. Because the time for a Google Colab session is very limited, so I can not complete the training process in one Google Colab session. When I tried to resume the training process with "--resume_from_checkpoint", I coped with the following error:
FileNotFoundError: [Errno 2] No such file or directory: /path/to/checkpoints/pytorch_model.bin
If I understand correctly, your repo only saves spectral_shifts_te information, but accelerator.load_state() needs more (u-net/text encoder weight). Any solution for that?
Btw, thank you again for your repo. It is great when you publicize the repo.

@LeCongThuong yeah unfortunately —resume_from_checkpoint is not supposed now and waiting until the training finishes is only you can do atm.
I’ll fix it asap.

Maybe this helps:
    if args.resume_from_checkpoint:
        path = os.path.basename(args.resume_from_checkpoint)

        if path is None:
            accelerator.print(
                f"Checkpoint '{args.resume_from_checkpoint}' does not exist. Starting a new training run."
            )
            args.resume_from_checkpoint = None
        else:
            # accelerator.print(f"Resuming from checkpoint {path}")
            # accelerator.load_state(os.path.join(args.output_dir, path))
            global_step = int(path.split("-")[1])

            resume_global_step = global_step * args.gradient_accumulation_steps
            first_epoch = global_step // num_update_steps_per_epoch
            resume_step = resume_global_step % (num_update_steps_per_epoch * args.gradient_accumulation_steps)

    if args.train_text_encoder:
        if args.resume_from_checkpoint:
            text_encoder, trained_token_embeds = load_text_encoder_for_svdiff(args.pretrained_model_name_or_path,
                                                        subfolder="text_encoder", revision=args.revision,
                                                        spectral_shifts_ckpt=args.resume_from_checkpoint)
        else:
            text_encoder, trained_token_embeds = load_text_encoder_for_svdiff(args.pretrained_model_name_or_path, subfolder="text_encoder", revision=args.revision)
    else:
        text_encoder = CLIPTextModel.from_pretrained(args.pretrained_model_name_or_path, subfolder="text_encoder", revision=args.revision)

    vae = AutoencoderKL.from_pretrained(args.pretrained_model_name_or_path, subfolder="vae", revision=args.revision)
    if args.resume_from_checkpoint:
        unet = load_unet_for_svdiff(args.pretrained_model_name_or_path,
                                    subfolder="unet", revision=args.revision, low_cpu_mem_usage=True,
                                    spectral_shifts_ckpt=args.resume_from_checkpoint)
    else:
        unet = load_unet_for_svdiff(args.pretrained_model_name_or_path, subfolder="unet", revision=args.revision, low_cpu_mem_usage=True)

Thanks @dome272 !
Could you possibly make a PR for it? Then, I will merge it.

Hi, @dome272
Thank you for proposing the solution. But I have 2 questions

Firstly, what is the meaning of the "trained_token_embeds" variable? In the original code, the load_text_encoder_for_svdiff() function only returns CLIPTextModel, why do you need that variable?
Secondly, after removing the "trained_token_embeds" variable, I coped with another error:
RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and CPU! at the following line:
encoder_hidden_states = text_encoder(batch["input_ids"])[0]
I have not known much about the Accelerate library, but I think that the cause of the error is switching the loading models with Accelerate.load_state() into the custom load. So, I try to add ".to(accelerator.device, dtype=weight_dtype)" into Unet, TextEncoder, and AutoencoderKL but the OOM error happens. Might you have the same problem?

Thank you!

Sorry this took so long. I actually wanted to make a pull-request and add all my changes. But I'm quite busy atm and my codebase became very different from this one here. I've just uploaded all my stuff from my hacked repo here https://github.com/dome272/SVDiff-pytorch. Feel free to take out the necessary stuff you need for loading a checkpoint. I'm also training a separate token embedding for the object that is finetuned. I think I'm getting better results than without. But I didn't do much tests, maybe it was just luck and it's not so important.

authors: LeCongThuong dome272 mkshing

repo: mkshing/svdiff-pytorch


text:
Fix doc typo

To fix CI error from https://github.com/mlco2/codecarbon/pull/371

Strange thing : I just re-run the tests to make them pass...


text:
MLPerf sdxl "not supported between instances of 'str' and 'int'"

Hello! I am trying to run MLPerf for sdxl, but I keep running into issues with a typing error within /root/CM/repos/mlcommons@cm4mlops/automation/script/module.py

Here is the command I ran:

Are there any flags to get around this issues, or do I manually have to edit the file within the container?

Hi @ChloeCrozier sorry for that. Can you please do cm pull repo and retry?

Yes, thank you, that fixed it!

authors: ChloeCrozier arjunsuresh


text:
Eco mode power is unavailable

In version 0.9.9.7 the Eco charge power setting is unavailable. Furthermore, Eco charge mode and Eco discharge mode cannot be enabled.
Version 0.9.9.6 is working properly
(On device goodwe gw10k-et)

Error message (Failed to call service select/select _option. "' not supported between instances of 'None Type' and 'int')

The individual items are enabled upon request to inverter (to check if it is supported by the inverter model/fw).
Since the UDP is unreliable, sometimes it happens that even after 3 retries the proper response is not received.
Could you restart the HA to ensure it was not case like this ?

Actually, there seems to be really a bug there ! Going to fix it.

Fixed in v0.9.9.8

authors: mletenay sotoniak

repo: mletenay/home-assistant-goodwe-inverter


text:
Nastavení Eco vybíjecí režim nereaguje na nastavení Grid export limit

cca 1 měsíc zpět mi při spuštění Eco discharge mode docházelo k vyšším hodnotám na výstupu než jsem měl nastaveno Grid export limit. Naopak výstupní hodnotu Active Power Total ovlivňuje zvyšování a snižování Eco mode Power.
Musím mít tedy neustále na měniči zapnuto Grid Export Limit? Nelze toto zapínání a vypínání Grid Export Limit řešit prostřednictvím této aplikace?
Děkuji

set_parameter service with parameter 'grid_export'

authors: hsjirka mletenay


text:
Missing scale configs?

Hi, team!
I am trying to run the training code, but it seems scale config files are missing. (https://github.com/mlfoundations/dclm/blob/fbb24afbc66abed64b5fefc16f12f3511138f05e/training/hyperparameters.py#L81)
Are these config files going to be uploaded later, or do we have to write it ourselves?

sorry about that! we just merged the configs used for the competition scales.

authors: ch-shin jeffreywpli

repo: mlfoundations/dclm


text:
Update documentation

Updates the documentation text and makes sure the contents are up to date with the latest changes on the compiler.

I mean, sure it could be merged without any problems, but I was still working on some related stuff that would fit in here before I marked this pr as ready to review and merge.

Sorry. I was not aware of this functionality and was surprised to see I did not merge it for 16 days, so I immediately proceeded merging it.

authors: JeanJPNM weisrc

repo: mlogjs/mlogjs


text:
Try to add cpp files for a reinforcement learning examples

This pull request tries to make reinforcement learning examples run without the need for cpp notebooks.
I am not sure if this should work, it is only an attempt to reach a working example on my machine.
@zoq I might need your help in understanding what is happening, or do I need to install the server directly on my machine.
This example compiles successfully.
I have copied the entire cpp directory from the gym_tcp_api environment,  I was not able to install the gym_tcp_api since there is not installing target.

You don't necessarily need to run your own instance of the server, you can use gym.kurg.org. https://github.com/zoq/gym_tcp_api/tree/master/cpp is header only, so no need to build it, you just have to link against pjson to encode the json messages. https://github.com/zoq/gym_tcp_api/blob/master/cpp/CMakeLists.txt should be helpful, happy to clarify anything further.

@zoq, Exactly all of that was completely clear, I was able to build the example perfectly, the only issue was the server, I was not able to connect to it.

@zoq To clarify better,  I did not receive any message or error from the server-side, so it was either blocking or training.

@zoq Actually it was training, We need to print a small cout telling this. I am not sure of the code yet, maybe we can use the callbacks.
I also got the video at the end, so I think I am going to continue will all examples tomorrow.
Do you think I have to include the headers in the repository here? otherwise, it would be complicated for users to know where the Environment is coming from.

Do you think I have to include the headers in the repository here? otherwise, it would be complicated for users to know where the Environment is coming from.

Agreed, either we include the header here or download the latest version, I think either works.

@zoq I will do the above modification as you have mentioned. I will add the repository gym in the RL repository.
I will send you a pull request in the mainstream to remove simple warnings.
In the meanwhile, I will convert it into a draft in order to finish it then we can review it.

@zoq I will do the above modification as you have mentioned. I will add the repository gym in the RL repository.
I will send you a pull request in the mainstream to remove simple warnings.
In the meanwhile, I will convert it into a draft in order to finish it then we can review it.

Sounds like a good plan.

@zoq  I think this pull request is ready for review.

@shrit should we merge this in?

Yes, you can merge this one

Super excited about this, thanks for putting this together.

authors: shrit zoq

repo: mlpack/examples


text:
StartTest input parameters

Hi,
the c_api (under the binfing direcrory) files StartTest has the following signature:
void StartTest(void* sut, void* qsl, const TestSettings& settings)
while the loadgen.cc
void StartTest(SystemUnderTest* sut, QuerySampleLibrary* qsl,
const TestSettings& requested_settings,
const LogSettings& log_settings);
it would be better to use the same signature as the loadgen.cc this will enable to set the application to set log level without recompiling the the loadgen library. other wise since default log setting structure is been used  we need to recompile the loadgen every time we need to change the log settings.
Thanks,
Reuven

Hi @sheferke. Feel free to update the bindings and upstream. The bindings aren't officially part of the loadgen and can be modified however you wish. They also aren't subject to the freeze restrictions.

authors: briandersn sheferke

repo: mlperf/inference


text:
How to change views

Hello
I have the default minimal mistakes setup.
I want my site to look like this one:
http://varianceexplained.org/theme-setup/
This one looks less zoomed, less padding on left and right, smaller font size
Also, the Toc is impressive, is it possible to have this toc movable ? which floats as the page is scrolled
Please guide. Thanks

This is my website. I wish that the space on the left of Author Profile is minimized, the white space in the right side is minimized. Also I want the toc_sticky to be sticky on top of image just like overlay title and excerp  on the right side and then as we scroll down the toc moves along
Can someone guide me how to do this?

http://varianceexplained.org/theme-setup/ is using a version of MM from years ago (version 2). You can go back and fork that version but it predates being a theme gem/remote theme and is missing pretty much every feature the theme supports now.

http://varianceexplained.org/theme-setup/ is using a version of MM from years ago (version 2). You can go back and fork that version but it predates being a theme gem/remote theme and is missing pretty much every feature the theme supports now.

Ok I don't want previous theme but the new theme looks so much zoomed in, how do I change it? And how to move sticky toc to the top?

There is no quick and easy answer to either of these inquiries. It will require knowledge of HTML and CSS to customize the theme to do what you want.

authors: TheSarfaraz mmistakes

repo: mmistakes/minimal-mistakes


text:
[Snyk] Upgrade @typescript-eslint/eslint-plugin from 6.17.0 to 6.18.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade @typescript-eslint/eslint-plugin from 6.17.0 to 6.18.0.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 3 versions ahead of your current version.
The recommended version was released 23 days ago, on 2024-01-06.

Release notes

Package name: @typescript-eslint/eslint-plugin

6.18.0 - 2024-01-066.18.0 (2024-01-06)
🚀 Features

eslint-plugin: [no-var-requires, no-require-imports] allow option (#7710)
typescript-estree: throw on invalid update expressions (#7202)
typescript-estree: throw error when CatchClause param contains initializer (#8183)

❤  Thank You

auvred @ auvred
Joshua Chen

You can read about our versioning strategy and releases on our website.

6.17.1-alpha.1 - 2024-01-06

6.17.1-alpha.0 - 2024-01-06

6.17.0 - 2024-01-016.17.0 (2024-01-01)
Bug Fixes

eslint-plugin: [no-restricted-imports] prevent crash when patterns or paths in options are empty (#8108) (675e987)

Features

eslint-plugin: [no-floating-promises] flag result of .map(async) (#7897) (5857356)
eslint-plugin: [switch-exhaustiveness-check] add an option to warn against a default case on an already exhaustive switch (#7539) (6a219bd)

You can read about our versioning strategy and releases on our website.

    from @typescript-eslint/eslint-plugin GitHub release notes

Commit messages

Package name: @typescript-eslint/eslint-plugin

21460ef chore(release): publish 6.18.0
b0d3d75 chore: verbose flag on canary release (#8200)
d0977ab chore: use nx release (#8194)
3d72930 chore: update sponsors (#8191)
544fd77 feat(typescript-estree): throw error when CatchClause param contains initializer (#8183)
ca00388 chore: fix configuration link to recommended prettier usage (#8184)
53f4c37 chore(typescript-estree): fix lint / CI (#8188)
684d626 docs(eslint-plugin): [switch-exhaustiveness-check] remove extra quotes in rule options headers (#8160)
7684837 chore: update contributors (#8009)
f7b5ca8 feat(eslint-plugin): [no-var-requires, no-require-imports] allow option (#7710)
1a8e0dc feat(typescript-estree): throw on invalid update expressions (#7202)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

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

Comparison is base (f54f397) 92.34% compared to head (7889c44) 92.34%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #59   +/-   ##
=======================================
  Coverage   92.34%   92.34%
=======================================
  Files           6        6
  Lines         418      418
  Branches       11       11
=======================================
  Hits          386      386
  Misses         32       32

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

authors: codecov-commenter mmomtchev

repo: mmomtchev/everything-json


text:
upload error - You will need to go to the Chrome Web Store Developer Dashboard and upload it manually.

why I am getting this error? can't find any info about this error

+1, the same

It could also be the case that the case that there's already an upload on your dashboard that is awaiting a review. You can't upload another release while you one is in review.

I had the same mistake as you, but I solved it!
I regenerated the refresh-token data and there is no longer this error.
You can try it.


text:
Container::make called on factory definition doesn't have a way to pass in overriden value

I'll admit that I'm probably doing something wrong here but....here's what I'm trying to do:
$this->container->make(PGC::class, ['db_name' => $data['db']]);

where the definition looks something like this:
\Database\PGC::class => \DI\factory(function(Container $c) {
    return new \Database\PGC($c->get('db_host'), $c->get('db_user'), $c->get('db_pass'), $c->get('db_name'));
})

Now, the problem here is that, well, the get call will get whatever the container current holds as the db_name value. Which works fine except for when I want it to be called via make, where I have no way of getting at that overriden parameter.
I'm honestly not sure what the nice way of handling this would be, but having some way of getting at the specified parameters in the factory function would be nice, maybe as a function argument passed to the factory function?

Yes make() takes an array of values to inject by the parameter name.
I realize this feature is not documented well enough, and people are often confused. I should probably improve this.
Here is an example:
class Foo {
    public function __construct(LoggerInterface $logger, $filename) {...}
}

In that situation, parameters passed to make() need to match the name of the parameters:
$container->make(PGC::class, [
    'logger' => new ...,
    'filename' => '',
]);

The array values are not meant to override container entries.
It's not the first time someone tries to override container entries, so I think I will keep this issue open and try to find a solution for v5.

Yeah I realize it's not really intended behaviour, but this isn't the first
time I've wanted to use value injection this way. To get around this I've
been thinking I'll need to define some sort of config container object (or
since I'm using Hack, more likely a shape) to pass in to this object given
the number of settings it requires.
Actually, that's probably a cleaner solution than finding a way to coerce
configuration variables into the make() method. It might be better not to
allow overriding of factory functions because I honestly can't think of a
way to pass that in given what I know of current PHP-DI architecture.
On Wed, Feb 25, 2015 at 5:54 PM, Matthieu Napoli notifications@github.com
wrote:

Yes make() takes an array of values to inject by the parameter name.
I realize this feature is not documented well enough, and people are often
confused. I should probably improve this.
Here is an example:
class Foo {    public function __construct(LoggerInterface $logger, $filename) {...}}
In that situation, parameters passed to make() need to match the name of
the parameters:
$container->make(PGC::class, [    'logger' => new ...,    'filename' => '',]);
The array values are not meant to override container entries.
It's not the first time someone tries to override container entries, so I
think I will keep this issue open and try to find a solution for v5.
—
Reply to this email directly or view it on GitHub
https://github.com/mnapoli/PHP-DI/issues/231#issuecomment-76079239.

Yes after thinking about it I'm not sure either it's a good idea to allow that. I'll update the documentation though to make it clear how this feature works and what it allows. Thanks.

authors: mnapoli moberemk

repo: mnapoli/PHP-DI


text:
Use two .bib files. One from MNE-Python, one for NIRS

To minimise work for me when new references are added. And easier to keep the existing references in sync with MNE as I can just copy and paste without edit.

Codecov Report

Merging #366 (2b645b1) into main (9e3eae6) will increase coverage by 1.99%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #366      +/-   ##
==========================================
+ Coverage   93.85%   95.84%   +1.99%
==========================================
  Files          49       49
  Lines        1757     1757
  Branches      229      229
==========================================
+ Hits         1649     1684      +35
+ Misses         67       30      -37
- Partials       41       43       +2

Impacted Files
Coverage Δ

mne_nirs/visualisation/tests/test_visualisation.py
100.00% <0.00%> (+19.14%)
:arrow_up:

...e_nirs/visualisation/_plot_nirs_source_detector.py
91.66% <0.00%> (+70.83%)
:arrow_up:

Continue to review full report at Codecov.

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

authors: codecov-commenter rob-luke

repo: mne-tools/mne-nirs


text:
BUG: Multiple ch types is an error

Should fix the failing example.

Previous and new look very similar, merging to get things green again.

repo: mne-tools/mne-python


text:
Text search

eg
https://github.com/lucaong/minisearch

and maybe
https://naturalnode.github.io/natural/tfidf.html


text:
Assert on audio functionality

Is there any way of asserting on audio functionality at the moment? I can't see anything in the docs - anything we can do to work around this for the time being?

Ah sorry...just found an existing request for this

repo: mobile-dev-inc/maestro


text:
Bring in MbedTls certificate verification

Add verification of x509 certificate chain.
This verification lacks CRL processing.

Motivation

Current dependencies on/for this PR:

main

PR #83

PR #84

PR #85

PR #86

PR #87

PR #48

PR #89

PR #90

@nick-mobilecoin started a stack merge that includes this pull request via Graphite.

@nick-mobilecoin merged this pull request with Graphite.

repo: mobilecoinfoundation/attestation


text:
Add github org, teams, and proj URL

Add repo_homepage parameter
Add github_org parameter
Add github_teams parameter
Don't require branches be up-to-date
Don't require last-push review

Motivation
Making things easier for other teams/orgs to use this repo, and relaxing some restrictions on PRs by default.

Current dependencies on/for this PR:

main

PR #63   👈

This comment was auto-generated by Graphite.

repo: mobilecoinfoundation/cookiecutters


text:
Gift code recoverable fee history

A proposal to introduce a recoverable fee history into FOG compatible gift codes.
Rendered Proposal

Couple offhand notes:

"FOG" is not an acronym, it doesn't need to be fully capitalized.
The name is super long, let's pick something shorter, e.g. gift-code-fee-memos or something
Please name the file using all lower case to match the existing stuff.
I'm dying to know how all of us looked at MCIP #3 and MCIP #4 and nobody asked why we're using big endian numbers? Why are we doing this?

I think it is a good idea to actually update the text of the earlier MCIPs?

Sure, I'm ambivalent. People directed me to make a fixer MCIP  to keep in line with past process (instead of making a direct commit to MCIP 32 or having PRs only be mcips) & to also give people a chance to comment, so I did that.
I'm ambivalent. Once people reach consensus here on whether it should be a fixer MCIP vs. changes to the existing MCIP, we'll go whatever route consensus here decides.

why we're using big endian numbers

This is a good point. It was kept consistent with the previous MCIPs but little endian would've been the better choice I think.

This is a good point. It was kept consistent with the previous MCIPs but little endian would've been the better choice I think.

It is simpler to be consistent everywhere in the memos.
I think the only reason was Koe had proposed that we use 7-byte numbers instead of 8-byte for the fee, to cram more data in there. It's easier to figure out what a 7-byte big endian number looks like than a 7-byte little endian number.

It's easier to figure out what a 7-byte big endian number looks like than a 7-byte little endian number.

Also a good point

Closing in favor of #32 changes.

repo: mobilecoinfoundation/mcips


text:
🛑 Mobility Solutions Web is down

In d704d9a, Mobility Solutions Web (https://mobilitysol.com) was down:

HTTP code: 403
Response time: 1056 ms

Resolved: Mobility Solutions Web is back up in 27691ec.

repo: mobilitysol/monitorweb


text:
🛑 PizzaTime Web is down

In 3304d06, PizzaTime Web (https://pizzatime.uy) was down:

HTTP code: 0
Response time: 0 ms

Resolved: PizzaTime Web is back up in e5eca39.


text:
Update scalafmt-core to 3.7.2

Updates org.scalameta:scalafmt-core from 3.7.1 to 3.7.2.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scalameta", artifactId = "scalafmt-core" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scalameta", artifactId = "scalafmt-core" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #112.